Şimdi Ara

Elmas şekli çizen kod yazmak

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
23
Cevap
0
Favori
919
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Verilen 1-9 arası değere göre elmas şekli çizen kod yazınız.


    1 büyüklük:


    Kod

    Yığını:
    # 1



    2 büyüklük:


    Kod

    Yığını:
    #  1 # 121 #  1



    3 büyüklük:


    Kod

    Yığını:
    #   1 #  121 # 12321 #  121 #   1



    9 büyüklük:


    Kod

    Yığını:
    #         1 #        121 #       12321 #      1234321 #     123454321 #    12345654321 #   1234567654321 #  123456787654321 # 12345678987654321 #  123456787654321 #   1234567654321 #    12345654321 #     123454321 #      1234321 #       12321 #        121 #         1


    Not: Ödev sorusu değildir, egzersiz amaçlıdır.








  • 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.
  • Kod

    Yığını:
    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(); }



    Java'da şöyle bir şey yazdım hızlıca Elmas şekli çizen kod yazmak  Review'lara açığız.




    < Bu mesaj bu kişi tarafından değiştirildi Therocqula -- 2 Ekim 2020; 16:47:12 >
  • Therocqula kullanıcısına yanıt
    Bir 20 satır saydım orada. Raku programlama dili ile 3 satırda yapılabiliyor.

    Elmas şekli çizen kod yazmak


     
    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.

  • seyfi84 S kullanıcısına yanıt

    Aynen okunabilirlik anlamında Raku hiçbir şey sunmuyor maalesef

  • seyfi84 S kullanıcısına yanıt

    perl Amazon, Craigslist, eBay gibi sirketlerde kullaniliyor ya da kullaniliyordu diye biliyorum.

  • hynx kullanıcısına yanıt
    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ı >
  • Therocqula kullanıcısına yanıt
    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ı >




  • seyfi84 S kullanıcısına yanıt
    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

  • whatif kullanıcısına yanıt
    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?

  • whatif kullanıcısına yanıt
    "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 Elmas şekli çizen kod yazmak 

  • whatif kullanıcısına yanıt
    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ı >
  • Equaties kullanıcısına yanıt
    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.

  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.