Verilen 1-9 arası değere göre elmas şekli çizen kod yazınız. 1 büyüklük:
2 büyüklük:
3 büyüklük:
9 büyüklük:
Not: Ödev sorusu değildir, egzersiz amaçlıdır. |
Elmas şekli çizen kod yazmak

-
-
int input = 4; int space = input - 1; int num_len = 1; for(int i = 1; i<=input*2-1; i++){ for(int j = 0; j<space; j++){ System.out.print(" "); } int num = 1; for(int j = 1; j<=num_len; j++){ System.out.print(num); if(num < input){ num++; }else { num--; } } if(i < input){ space--; num_len=num_len+2; }else{ space++; num_len=num_len-2; } System.out.println(); }
Kod
Yığını:Java'da şöyle bir şey yazdım hızlıca
Review'lara açığız.
< Bu mesaj bu kişi tarafından değiştirildi Therocqula -- 2 Ekim 2020; 16:47:12 > -
Bir 20 satır saydım orada. Raku programlama dili ile 3 satırda yapılabiliyor.
my $range = @*ARGS[0];
for 1..^$range { printf '% ' ~ $range - $_ ~ "s%s\n", "", (1..^$_).join ~ ($_...1).join }
for $range...1 { printf '% ' ~ $range - $_ ~ "s%s\n", "", (1..^$_).join ~ ($_...1).join }
Alttaki2 satır kolaylıkla 1 satıra indirilebilir cunku 2'si hemen aynı.
< Bu ileti mini sürüm kullanılarak atıldı > -
quote:
Bir 20 satır saydım orada. Raku programlama dili ile 3 satırda yapılabiliyor.
Java'nın "verbose" olması eleştirisine cevaben bir konferansta Mark Reinhold şöyle demişti: "we write programs for people to read, compile programs for machines to execute". Kurumsal yazılımda zaten esas budur.
Bir de böyle artistlik yapanlar var, kendinden başka kimse anlamaz (belki kendi de 6 ay sonra baksa anlamaz), Perl camiası işte tam da budur, o nedenle hiçbir ciddi kurumsal örnek yok.
< Bu ileti mobil sürüm kullanılarak atıldı > -
Keşke bu challengeler tek bir başlık altında toplansa da yazılım geliştirme bölümünde gereksiz konu fazlalığı olmasa. Zor bir şey değil.
-
Aynen okunabilirlik anlamında Raku hiçbir şey sunmuyor maalesef
-
perl Amazon, Craigslist, eBay gibi sirketlerde kullaniliyor ya da kullaniliyordu diye biliyorum.
-
tamam, Perl bilirim diye bir CV hazırla, yap iş başvuruları, sonra gel söyle kaç tanesinden iş teklifi aldın.. hadi bekliyorum.
< Bu ileti mini sürüm kullanılarak atıldı > -
Oradaki kod bence de pek iyi değil cunku onu bir tutorial'daki koddan alıp değiştirerek yazdım. Şimdi düzenledim ve cok temiz ve okunaklı oldu.
say " "x 9-$_, (1..^$_).join, ($_...1).join for 1…9…1
Açıklamalar:
say, satırbaşı yapan printf.
$_ for döngüsündeki sayaç/counter değişkeninin kısayol adı
" "x 9-$_ sola konulacak boşluk sayısı, oradaki x çarpı anlamında
(1..^$_).join, ($_...1).join ise örneğin $_=3 ise 12 ve 321 'in birleşimi yani 12321
1…9…1 ise kendi kendini açıklıyor. Raku'ya özgü döngü yazımı. Önce 1'den 9'a sonra yine 1'e doğru ilerleyen döngü, … tek karakter ile basılan üç nokta simgesi.
Üstteki kod gayet kısa ve okunaklı fakat bundan da kısa yazmak mümkün.
121 12321 1234321 ... serisi belli bir şekilde artıyor ancak neye göre arttığını bir türlü bulamadım, webte aradım ve 121 = 11², 12321 = 111², 1234321=1111² ... olduğunu buldum ki bu döngüdeki sayaç / counter değişkenini 1, 11, 111 ... seklinde ifade edebilirsek, satırları cok kısa yazdırabilmek demek ve Raku'da onun da yolu var: Sayaç değişkeninin başına x koyunca yani x$_ rakamı 1, 11, 111 formatına dönüştürüyor. bu durumda
say " "x 9-$_,(1 x$_)²for 1…9…1
şeklinde son derece kısa kod ile elmas çizdirmek mümkün.
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 8 Ekim 2020; 0:42:48 >
< Bu ileti mini sürüm kullanılarak atıldı >
-
Espri açısından güzel bir yorum fakat Perl işletme yazılımı geliştirme amaçlı hiçbir zaman olmadı. Perl 'i gerçek uygulamalarda kullanmaktan cok Python ve JavaScript gibi dilleri daha iyi öğrenme açısından iyidir. Raku ise C++ gibi zor dilleri öğrenme açısından iyidir.
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 8 Ekim 2020; 11:54:9 >
< Bu ileti mini sürüm kullanılarak atıldı > -
bunu 1.sınıf programlama dersi alıp yapmamış olan var mı derste
-
Konu sadece yapmak değil, nasıl yaptığınız önemli.
örneğin Leyland sayılarını C'de klasik döngü kurarak yapmak var C++17'deki fonksiyonel özellikler kullanarak C++17 ile yapmak var. Leyland sayıları 100'lerce basamaklı büyük sayılar olabiliyor, o büyük sayıları Python ile kolaylıkla cıkarmak var, C++'da BigNum (GNU Multiple Precision Library) kullanarak cıkarmak var.
< Bu ileti mini sürüm kullanılarak atıldı > -
yani hazır bir şeyi kullanıyor olmak seni iyi bir yazılımcı mı yapıyor?
-
"hazır bir şeyi kullanmak seni iyi bir yazılımcı yapar" gibi birşeyi nerde dedim?
yav, zaten konuda soru çözmeden yorum yapanların şu ana dek mantıklı birşey yazdığını henüz görmedim :)
< Bu ileti mini sürüm kullanılarak atıldı > -
attığın soru aldığım ilk programlama dersinde vize zamanı yapılan bir soru.
böyle bir şeyi dedin dediğim yer ise yapmak değil nasıl yaptığın önemli den sonra yaptığın açıklama da. Sen orada bir algoritmadan değil hazır olanı kullanmaktan övündün. ve başarı kıstasınında hız veya kaplama alanı değilde kod satır sayısı olması komik.
bir fonksiyon oluşturup başka bir yerde tutmak ve kendi programında bunu çağırmak kısa kod yazmak da olmaz.
-
Ne javayla ne de rakuyla proje geliştirdim. İkisine de eşit miktarda uzağım fakat okuduğumda java ile yazılan kodu ne yapacağı birebir aklımda canlanırken rakuyla yazılanı okuyunca "Bu ne abi?!" dedim
-
edit
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 24 Ekim 2020; 20:2:21 >
< Bu ileti mini sürüm kullanılarak atıldı > -
Raku, Perl'in yeni versiyonu. İlk başta Perl'deki eksikleri düzetip Perl 6 olarak cıkarmışlar ancak sonradan özellikle Damian Conway adında bir Bilg Müh tarafından birçok yeni özellik eklendikten sonra Perl 'den oldukça farklı olunca ismi değiştirmişler. Perl'in en büyük özelliği uzun işlemleri kısa kodlamayı sağlamasıydı. Raku, bunu bir adım ileri taşıdı. Raku bildiğinde öğrendiğin konseptler ve pratik kodlama deneyimi PHP Java Python vs diger dillerde kodlamaya yaparken de işine yarayacaktır.
< Bu ileti mini sürüm kullanılarak atıldı > -
dostum sen bu işin ne kısmındasın? mesleğin olmadığı belli.
En Beğenilen Yanıtlar

Java'nın "verbose" olması eleştirisine cevaben bir konferansta Mark Reinhold şöyle demişti: "we write programs for people to read, compile programs for machines to execute". Kurumsal yazılımda zaten esas budur.
Bir de böyle artistlik yapanlar var, kendinden başka kimse anlamaz (belki kendi de 6 ay sonra baksa anlamaz), Perl camiası işte tam da budur, o nedenle hiçbir ciddi kurumsal örnek yok. |
Benzer içerikler
- görüntülü sohbet
- armut benzeri uygulamalar
- vize final hesaplama
- bir metnin yapay zeka ile yazıldığını nasıl anlarız
- jnlp dosyası açma
- google güvenli arama kapatma
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X