Bu soruyu soran kişi, sorusunu kaldırmış. soru şuydu: Kullanıcının girdiği 2 sayı arasındaki sayılar içinde 3'e eksiksiz bölünebilenleri büyükten küçüge doğru sıralayıp bas. Çözüm: Ne okunabilirlik ne de performanstan ödün vermeden yukardaki soruyu Raku (eski adıyla Perl 6) kullanarak tek sırada kodladım: say grep {$_ %% 3},[...] +<< prompt.split(" ").reverse Açıklamalar: grep {blok} içindeki koşulu karşılayan elemanları çeker ötekileri eler. [...] indirgeme / reduction '[]' operatörü altında seri / sequence (oluşturma) operatörü '...' dür. İndirgeme operatörü örneğin (1 5) gibi bir listenin elemanlarına '...' operatörünü uygulayarak indirger o da 1 ... 5 yapar, o da (1 2 3 4 5) listesi olur. +<< hyper operatör / hiper operatör olup string listesini tümsayı listesine çevirir. Yukardaki (1 2 3 4 5) listesi string'tir cunku kullanıcının girdiği verileri işleyen split fonksiyonu string cıktı verir. +<< listenin elemanlarına tek tek + (toplama) operatörünü uygulayınca otomatik olarak tür dönüşümü yapılır. prompt, split, reverse fonksiyonları ise öteki dillerden bildiğiniz gibi: prompt: Ekranda (opsiyonel) mesaj çıkararak kullanıcıdan dize / string türü veri almak, split: dizeyi verilen argümana göre bölme. Örneğimizde argüman " " i.e. boşluk reverse: diziyi terse çevirme. Örneğimizde string türü verilerden oluşan dizi terse çeviriliyor. |
uzun kod veya kısa kod diye bir şey yok ! programlama programının kütüphanesinin içine bak o senin 1-2 komutla çağırdığım kısa kod dediğin şeyin asm makine diline kayan ayağına bakacaksın. özetle bu mesajın haklılık payının herkes farkında bundan sonra bu konu başlığı artık işlevsizleşmiştir. yani canım sıkılıyor bir şeyler yazayım a sosyal bir tipim kodlar beni rahatlatıyor diyenlerin psikolojik kendilerince psikolojik terapisinden başka bir şey değildir. sistem mantık olarak çökmüştür. a keşke asm seviyesinden bir forum olsaydı. |
yahu ben elli satır kod yazmak istiyorum. şu yazdığın kod yüz satır koddan daha karışık uzun yaz ama düzgün yaz. ben bi kere elli satır yazarak zaman kaybedeyim. insanlar rahat anlasın tek satır yazarak insanlara anlamak için zaman harcatmaktansa |
Konumuz programcılık sorularını en pratik biçimde kodlamaya çalışmak, en hızlı algoritma implementasyonu yapmak değil. O konuya ilginiz varsa, konusunu açabilirsiniz. Pratik kodlamanın ne önemi olabilir sorusuna gelince, onu yanıtlamayı gereksiz buluyorum. |
Kısa kod olmasaydı; bioslara trojanları sokmak çok daha zor olurdu. Yaşasın kısa kod ![]() |
Şaka doğal olarak ancak gerçeklik payı var: Karışık dizi, yazı işlemlerini C ile programlayarak yeni programcılık yöntemlerini öğrenmek yada kullanmak cok zor. Gözünüze iliştiyse, Raku (eski adıyla Perl 6) for döngüsü kullanmadan dizileri işleyebiliyor de Haskell örnek alınarak eklenen yeni özellikler sayesinde dizi üzerinde en karışık işlemleri bile en kısa biçimde kodlayabiliyorsunuz. Bu özellikler Python'da yok. Perl (5) bilen biri olarak Raku'da dizileri virgülsüz tanımlama özelliği ilgimi çektiği için öğreneyim dedim, yeni özelliklerini öyle açımlamaya başladım. 2-3 haftadır Raku kullanıyorum. Perl 5'te ('Ertunc', 'Fatma', 'Hasan') biçiminde tanımlanabilen string dizisi, Raku 'da <Ertunc Fatma Hasan> olarak tanımlanabiliyor, bu hem kolay okunan bir görüntü hem de pratik programlama olanağı sağlıyor. |
Olmuş doğal olarak ancak kod biraz uzun. Raku ile özdeş işlemi tek sırada yapabiliyorum (açıklaması içinde) < Resime gitmek için tıklayın > |
hocam çok temiz olmuş :) Raku'nun ne olduğunu bilmiyorum ![]() |
Raku Perl 5'e Haskell özellikleri eklenerek geliştirilmiş yeni bir dil ben de geçen Ağustos'ta karşılaştım (Arapça: keşfettim) |
For olmadan daha tatlı durdu ![]() |
Bir el attım. Soru gönderilme an bilgilerini ekledim :) |
Raku'nun en büyük özelliği, JavaScript, Ruby, PHP, Python'daki en yeni özellikleri kapsaması, Java ile C++ ya benzer yazımı (sentaks) olması, JVM üzerinde de çalışabilmesi. Raku öğrendiğinde öteki tüm dil ile platformların temelini öğrenmiş olursun. Buna ek olarak Raku düzgün de kısa program yazmaya yönlendirir, bu da gerek Raku gerekse öteki dillerde cok daha verimli yazılım geliştirmeni sağlar. Verimli programcı olunca da projeleri öngörülenden daha kısa sürede bitirebilirsin, bu hem seni kolaylatır hem de ortalama bir programcıdan bir adım öne çıkmanı sağlar. Böylelikle örneğin AB'de iyi bir Python Developer remote-job projelerde €200 alıyorsa sen bu yeni edindiğin deneyimin üstüne Python bilgini katıp, o €200'ün üstünde kazanabilirsin. Bunu kim istemez :) |
O sürenin %99'u dosyaya yazarken geçmiştir. Hdd-ssd arasında çok fark olur. Cpu süresini ölçmek için oluşturduğun stringi sayıp çöpe atacaksın. Ekrana basmak bile ciddi zaman kaybı. |
http://www.usaco.org/index.php?page=viewproblem2&cpid=946 Bu soruyu açıklayabilir misiniz? |
O bir algoritma sorusu dolayısıyla (test, debug, optimizasyon de bunun gibi çevrimler ekli 5-10 anda çözülecek bir nes değil ki o yaprakta "olimpiyatlar" diyor. Burada konumuz temel yada orta düzey programcılık soruları örneğin alttaki program forumdaki 20 temel döngü ile koşul yapısı programlama sorusu (https://forum.donanimhaber.com/temel-programlama-sorulari-dongu-ve-kosul-yapilari--137712410) 17. soru, onu en kısa kaç sırada kodlayabilirsin? Kullanıcının girdiği Ocak gelir parası ile aylık gelir artış oranına göre yıl boyunca artan geliri yazdıran program Örnek: Ocak geliri ile aylık artış oranını girin: 4000 0.05 |
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-10#151518222
23- (bozuk para problemi / coin change problem) - özyinel (recursion) kullanarak çözmek 30.Eylül.2021
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-10#150695595
22- Verilen bir sayının 'Happy Number' olup olmadığını bulunuz 4.Eylül.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-9#145383351
21- Goldbach hipotezi kapsamında 28, 36, 52, 112, 442 'e bağlı olan 2 asal sayıyı bulunuz 12.Şubat.2020
https://forum.donanimhaber.com/mesaj/yonlen/141982182
20- Basamakları toplamının küpü kendisine eşit sayıyı bulmak 2.Şubat.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-8#141864146
19- k'lı euler sayısını buldurmak 25.Ocak.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-8#141759076
18- euler sayısı içindeki 21 basamaklı asal sayıyı bulmak 23.Ocak.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-7#141662776
17- euler sayısını buldurmak 18.Ocak.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-8#141666366
16- reddit'teki perfect substring iş görüşmesi sorusu 07.01.2020
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-7#141535375
15- 3 listenin transpozesini almak 16.12.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-7#141251974
14- 2000'e dek ayna sayıları bulmak 22.Kasım.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-6#140908947
13- hello yu h.e.l.l.o. biçiminde yazdırmak 19.Kasım.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-6#140860460
12- SS'te formulü verilen temel matematiksel seriyi buldurunuz 3.Kasım.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-6#140641767
11- 123456789 permütasyonlarından 111.111'nciyi bulmak 20.10.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-6#140456246
10- Cok büyük sayıların asal olup olmadığını denetlemek 19.10.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-6#140427054
09- sort kullanmadan bir serinin artıp artmadığını denetlemek 15.10.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-5#140394128
08- 1'den 10'a dek sayıların faktöryelini buldurmak 30.Eylül.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-5#140215118
07- 1 Milyonuncu fibonacci sayısını bulmak' 17.09.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#140034841
06- 'Dize (string) içindeki en uzun "a e i o u" serisini bulmak' 15.09.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#140003021
05- Formul kullanarak altın oranı buldurmak 11.Eylül.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#139953235
04- 'aylık kazanç ile kazanç artış oranı listesini çıkarmak' 19.08.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#139633625
03- Kullanıcıdan alınan sayıya dek paskal üçgeni yazdırmak 16.08.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#139593897
02- Kullanıcıdan alınan sayıya dek fibonacci sayısını yazdırmak 16.08.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-3#139586952
01- Paskal üçgeni yazdırmak 9.Ağu.2019
00- Kullanıcının girdiği 2 sayının arasındaki sayılardan 3'e eksiksiz bölünebilen sayıları büyükten küçüge sıralamak 7.Ağu.2019
https://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992#139479530
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 15 Eylül 2022; 0:34:21 >
Bu mesajda bahsedilenler: @burak jr