Şimdi Ara

Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları (4. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
207
Cevap
17
Favori
11.878
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
6 oy
Öne Çıkar
Sayfa: önceki 23456
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • attigim kod pythonda 5 snde calisiyor ayni algoyi c++da yazsak 1 sn altina duser bence ama daha cirkin bir kod olur
  • @FatihAsl
    https://forum.donanimhaber.com/link-139633625
    'deki maaş artış hesapla problemi

    quote:


    Kullanıcı 2020TL, 3400TL, 5500TL gibi maaş listesi ve her bir maaşa uygulanacak artış oran listesi ve para birimi girecek.
    Örneğin kullanıcı şunları girdiyse

    maaş_listesi: (2020, 3400, 5500)
    artis_oran_listesi: (1.25, 1.1, 1.0)
    para_birimi: "TL"

    Program şunu basacak:

    Maaş:2020, Yeni: 2525.00TL
    Maaş:3400, Yeni: 3740.00TL
    Maaş:5500, Yeni: 5500.00TL


    Perl 6 ile tek satırda çözümü (forumdaki code etiketi kodu bozdugu için SS gönderdim)
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 27 Eylül 2019; 17:3:44 >
    < Bu ileti mini sürüm kullanılarak atıldı >




  • maalesef bu tek satır değil
  • Perl 6'da satır ayrımı ; ile yapılır. Hiçbir ; olmayan bir kod nasıl tek satır olmuyor onu merak ettim şimdi ::)

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Perl 6'da satır ayrımı ; ile yapılır. Hiçbir ; olmayan bir kod nasıl tek satır olmuyor onu merak ettim şimdi ::)
    bilmiyordum. bu durumda Perl6 yı hiç sevmedim. hiç okunaklı değil. bu satır sonsuza kadar uzar gider
  • Kodu tek satır iddiasıyla yazdığım için pek okunaklı değil. 2 veya 3 satıra yaysam Perl6 bilmeyen biri için dahi oldukça okunaklı olabilir fakat o zaman tek satır iddiası gerçekleşmemiş olur. Fakat buradaki asıl konu zaten, kodu tek satırda yazmaya calışırken dilin değişik özelliklerini öğrenmek.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Kodu tek satır iddiasıyla yazdığım için pek okunaklı değil. 2 veya 3 satıra yaysam Perl6 bilmeyen biri için dahi oldukça okunaklı olabilir fakat o zaman tek satır iddiası gerçekleşmemiş olur. Fakat buradaki asıl konu zaten, kodu tek satırda yazmaya calışırken dilin değişik özelliklerini öğrenmek.
    birde okunaklı versiyonu görürsek daha eğitici olur

    edit: ben ekleyim bari. işte tek satır denen şey aslında aşağıdaki gibi



    given my @a=prompt().split(', ')
    {
    for (@a[0].split(' ') Z* @a[1].split(' ')).kv
    {
    printf("%s yeni %.2f %s\", @a[0].split(' ')[$^a], $^b, @a[2])
    }
    }




    buda golang kodu

    package main

    import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
    )

    func main() {
    if scanner := bufio.NewScanner(os.Stdin); scanner.Scan() {
    grup := strings.Split(scanner.Text(), ", ")
    for i, element := range strings.Split(grup[0], " ") {
    maas, _ := strconv.ParseFloat(element, 64)
    oran, _ := strconv.ParseFloat(strings.Split(grup[1], " ")[i], 64)
    fmt.Printf("Maaş:%g, Yeni:%-6.2f%s", maas, (maas * oran), grup[2])
    }
    }
    }


    kodlar bozulduğu için buda goland ide ekran görüntüsü

    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları

    golang in C++ dan daha pratik olduğuna itiraz edenler lütfen bu örneği C++ ile yapabilir mi?



    < Bu mesaj bu kişi tarafından değiştirildi CleanCoders -- 27 Eylül 2019; 23:8:52 >




  • Süslü parantezleri yeni satırlara yayarak satır sayısı belirlenmez. Süslü parantezin tek amacı kod bloğunu görünür kılmaktır ve başladığı satıra ait syntax olarak kabul edilir yani süslü parantez içindeki kod bloğu, başladığı satıra aittir. O yüzden gönderdiğim Perl 6 kodu tek satır. İç içe geçmiş bloklar birbirine bağımlı tek satır.

    Ona bakarsan senin GOnzalez kodunda da bir satırlık ifadede 8 süslü parantez var, onları

    finput := [][]string
    {
    {
    "Maaş Listesi :", ""
    },
    {
    "Oran Listesi :", ""
    },
    {
    "Para Birimi :", ""
    }
    }

    şeklinde yeni satırlara yayarak 11 satır, tüm program ise 31 satır sayılır :)

    C++'da bu programı 14 satırda yaptım, GOnzalez ile kafa kafaya. Kodları göndermedim cunku Perl 6'da tek satırda yaptım zaten. GOnzalez 'de 19 satırda yaptığın şeyi 1 satırda hallettim. GOnzalez C++ dan daha az pratik demedim, sadece C++ varken GOnzalez gereksiz dedim yoksa pratiklik açısından GOnzalezle C++ kafa kafaya fakat tabi ki C++ GOnzalezle karşılaştırılamayacak kadar yaygın. OS'ler, sistem programları C++ ile yapılıyor. Mac'te sürücü yazacaksın diyelim, C++ kullanıyorsun. GNOME, KDE gibi masaüstü ortamları da C++ ile geliştiriliyor. GNOME un geliştiricileri aa GOnzalez diye bir dil çıkmış, C++'yi bırakıp artık GOnzalez kullanım demiyorlar cunku onu gerektirecek bir durum yok. Sistem programlarını geç, işletme & finans yazılımlarında yine C++ ve Python, Java, Scala ve Clojure kullanılıyor. Wall Street'te finans işlemleri için C++ ve Clojure kullanan adamlar aa GOnzalez cıkmış GOnzalez kullanalım demeyecekler. Web frameworklerde de PHP ve ES6'ya ek olarak Ruby ve Python yaygın. Web backend geliştiricileri aa hızlı GOnzalez cıkmış dur şu Ruby Rails framwork 'ü bırakayım demez cunku artık Ruby bile oldukça hızlı. Perl 6 JVM'de calışabiliyor, ona göre tasarlandı. JVM 'de calışmak demek hız demek. Gelişmiş bir web uygulaması yapacak kişi GOnzalez hızlı diye kulanmaz cunku artık hepsi hızlı.Bu durumda Gonzalezle 19 satırda kodlanabilen şeyi 1 satırda kodlama imkanı sağlayan Perl 6'ya sıcak bakar. Hadi Perl 6 biraz yabancı kalıyor diyelim, Ruby , Python falan kullanır, web için yine GOnzalez'i kullanmaz. Hiçbir özelliği olmayan fuzuli bir dil.

    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Süslü parantezleri yeni satırlara yayarak satır sayısı belirlenmez. Süslü parantezin tek amacı kod bloğunu görünür kılmaktır ve başladığı satıra ait syntax olarak kabul edilir yani süslü parantez içindeki kod bloğu, başladığı satıra aittir. O yüzden gönderdiğim Perl 6 kodu tek satır. İç içe geçmiş bloklar birbirine bağımlı tek satır.

    Ona bakarsan senin GOnzalez kodunda da bir satırlık ifadede 8 süslü parantez var, onları

    finput := [][]string
    {
    {
    "Maaş Listesi :", ""
    },
    {
    "Oran Listesi :", ""
    },
    {
    "Para Birimi :", ""
    }
    }

    şeklinde yeni satırlara yayarak 11 satır, tüm program ise 31 satır sayılır :)

    C++'da bu programı 14 satırda yaptım, GOnzalez ile kafa kafaya. Kodları göndermedim cunku Perl 6'da tek satırda yaptım zaten. GOnzalez 'de 19 satırda yaptığın şeyi 1 satırda hallettim. GOnzalez C++ dan daha az pratik demedim, sadece C++ varken GOnzalez gereksiz dedim yoksa pratiklik açısından GOnzalezle C++ kafa kafaya fakat tabi ki C++ GOnzalezle karşılaştırılamayacak kadar yaygın. OS'ler, sistem programları C++ ile yapılıyor. Mac'te sürücü yazacaksın diyelim, C++ kullanıyorsun. GNOME, KDE gibi masaüstü ortamları da C++ ile geliştiriliyor. GNOME un geliştiricileri aa GOnzalez diye bir dil çıkmış, C++'yi bırakıp artık GOnzalez kullanım demiyorlar cunku onu gerektirecek bir durum yok. Sistem programlarını geç, işletme & finans yazılımlarında yine C++ ve Python, Java, Scala ve Clojure kullanılıyor. Wall Street'te finans işlemleri için C++ ve Clojure kullanan adamlar aa GOnzalez cıkmış GOnzalez kullanalım demeyecekler. Web frameworklerde de PHP ve ES6'ya ek olarak Ruby ve Python yaygın. Web backend geliştiricileri aa hızlı GOnzalez cıkmış dur şu Ruby Rails framwork 'ü bırakayım demez cunku artık Ruby bile oldukça hızlı. Perl 6 JVM'de calışabiliyor, ona göre tasarlandı. JVM 'de calışmak demek hız demek. Gelişmiş bir web uygulaması yapacak kişi GOnzalez hızlı diye kulanmaz cunku artık hepsi hızlı.Bu durumda Gonzalezle 19 satırda kodlanabilen şeyi 1 satırda kodlama imkanı sağlayan Perl 6'ya sıcak bakar. Hadi Perl 6 biraz yabancı kalıyor diyelim, Ruby , Python falan kullanır, web için yine GOnzalez'i kullanmaz. Hiçbir özelliği olmayan fuzuli bir dil.
    Perl bilmiyorum. ama kesinlikle Perl kötü demem eminim çok iyi bir dildir. ama ihtiyacları karşılamıyorsa başka dile geçmek gerekir. ben gerekirse her dilde program yazarım.

    linkini veriyorum adamlar Perl den Go ya geçmişler. gerçek dünya çok farklı
    https://medium.com/@alvintz.v/how-we-migrate-from-perl-to-golang-1520a4951392




  • Benim kullandığım Perl değil, Perl 6. Bazen Perl kullandığım da oluyor fakat yukarda gördüğün tüm 'tek satır' kodlar hep Perl 6. İkisi arasında cok fark var. Perl 1987'de çıkmış, Perl 6 ise 2015'te piyasaya cıkmış (düzgün çalışan compiler olarak) Linkteki kişiler Perl 6 nedir bilmiyorlar, denize düşmüşler GOnzalez'e sarılmışlar :)

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Benim kullandığım Perl değil, Perl 6. Bazen Perl kullandığım da oluyor fakat yukarda gördüğün tüm 'tek satır' kodlar hep Perl 6. İkisi arasında cok fark var. Perl 1987'de çıkmış, Perl 6 ise 2015'te piyasaya cıkmış (düzgün çalışan compiler olarak) Linkteki kişiler Perl 6 nedir bilmiyorlar, denize düşmüşler GOnzalez'e sarılmışlar :)
    Perl6 yeni bir dil ise önce gerçek dünyada kendini kanıtlaması gerekecek.
  • Maaş oran hesapla programının daha okunaklı versiyonu. 3 satır:

    

    my @g= prompt('Maaş Listesi, Artış Listesi, Para Birimi gir: ').split(', ');
    my (@maaslar,@oranlar,$birim) Z= @g[0].split(' '), @g[1].split(' '), @g[2];
    for (@maaslar Z* @oranlar).kv {printf("%s yeni %.2f %s",@maaslar[$^k], $^v, $birim)}


    # 1.satır: 2200 3400 5500, 1.25 1.1 1, TL formatında girilen veriyi ', ' ile ayırıp dizi yap
    # 2.satır: Dizinin her bir elemanını Z= / zip eşittir metaoperatorü ile değişkenlere ata. Zip ismi zipper / fermuar dan gelmektedir ve bir dizinin her bir elemanını diger dizide karşılık gelen eleman ile belirtilen operatörü uygular, burada Z= olduğu için eşittir operatörü uygulanır.

    # 3.satır: zip çarpı metaoperatörü ile @maaslar dizisinin her bir elemanını @oranlar'da karşılık gelen eleman ile çarpararak yeni maaş degerlerin içeren bir liste oluştur. Her liste, dizide olduğu gibi bir key / anahtar ve value / değer dizisi olarak gösterilebilir bunun için Perl 6'da kv metodu kullanılır. kv metodu { } içindeki bloğa for'daki her bir döngü için key ve value değerlerini gönderir ve onları da sırasıyla $^k ve $^v konumsal / positional parametreleri tutar, bu durumda $^k (dizi endeksi 0'la başladığı için) 0 1 2 şeklinde artacaktır dolayısıyla printf içinde @maaslar[$^k] sırasıyla maasları, $^v de ona karşılık gelen maas * oran degerini (value) basacaktır, sona birimi ekleyince işlem tamamlanacaktır.


    $ perl6.exe maas-oran-hesapla_uzun.pl
    Maaş Listesi, Artış Listesi, Para Birimi gir: 2200 3400 5500, 1.25 1.1 1, TL
    2200 yeni 2750.00 TL
    3400 yeni 3740.00 TL
    5500 yeni 5500.00 TL



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 29 Eylül 2019; 13:3:26 >




  • "Perl" ile "Perl 6" arasında çok fark var ise bu durum hiç hoşuma gitmedi. ya "Perl 7" çıkarsa



    < Bu mesaj bu kişi tarafından değiştirildi CleanCoders -- 30 Eylül 2019; 10:14:59 >
  • quote:

    Orijinalden alıntı: CleanCoders

    "Perl" ile "Perl 6" arasında çok fark var ise bu durum hiç hoşuma gitmedi. ya "Perl 7" çıkarsa
    Ya "Perl 7" çıkarsa mı?
    Şöyle basit bir soru gelsin:
    1'den 10'a kadar sayıların faktöryellerini basan program yazınız.

    Perl 6 'da tek satırda yazılıyor.
    Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları


    Gördüğünüz gibi okunaklı ve açıklamalı tek satır. Perl 7 çıkıp tek satır değil de, 0 satırda yazılmasını mı bekliyordun
    Bu soruyu şu senin hızlı GOnzalez ile kaç satırda yazılabildiğini de görmek isteriz

    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Ya "Perl 7" çıkarsa mı?
    Şöyle basit bir soru gelsin:
    1'den 10'a kadar sayıların faktöryellerini basan program yazınız.

    Perl 6 'da tek satırda yazılıyor.


    Gördüğünüz gibi okunaklı ve açıklamalı tek satır. Perl 7 çıkıp tek satır değil de, 0 satırda yazılmasını mı bekliyordun
    Bu soruyu şu senin hızlı GOnzalez ile kaç satırda yazılabildiğini de görmek isteriz

    Alıntıları Göster
    Go ile tek satırda yazamam, saldırgan davranmanı anlayamıyorum. benim eleştirim şu; "Perl 6" diğer "Perl" den farklı ise yeni bir dil ise tıpkı eskisi gibi fişi çekilirse. yani "Perl 6" süper dil olabilir. ben Perl 6 bilmiyorum. eminim güzel bir dildir. ama sonuçta dediğine göre yeni bir dil. saman alevi gibi olmaz umarım. İnşallah gerçek hayat da başarılı projelerde kullanıldığını görürüz. Örneğin yerin dibine batırdığın Go nun "Docker" isimli çok başarılı bir projesi var. muhtemelen sende Docker kullanmışsındır.



    < Bu mesaj bu kişi tarafından değiştirildi CleanCoders -- 30 Eylül 2019; 14:3:30 >




  • Go ile tek satırda yazabilir misin diye sormadım ki? Sadece kaç satırda yazabilirsin diye sordum.

    Perl 'i eleştirmene gelince. Perl 5'i dahi bilmeden, Perl 6'yı hiç bilmeden "Perl 7 çıkarsa" yı konuşmak eleştirmek değil, başka birşey. Perl 6 süper bir dil demedim, sadece fonksiyonel özellikleri sayesinde karışık programlar cok daha kısa ve net yazılabiliyor dedim, ve temel / orta düzey programcılık sorularını coğu kez tek satırda kodlayarak bunun demosunu yaptım, süper dil diye birşey yok.

    Perl'in gerçek hayatta başarılı projelerde kullanıldığını inş görürüz demişsin, Perl birçok başarılı projede zaten kullanılıyor. Örnek ister misin. Amazon :)

    Docker hiç kullanmadım cunku gereksiz. Ancak ilerde bir proje sahibi kullanmamı isterse kullanırım o ayrı.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Go ile tek satırda yazabilir misin diye sormadım ki? Sadece kaç satırda yazabilirsin diye sordum.

    Perl 'i eleştirmene gelince. Perl 5'i dahi bilmeden, Perl 6'yı hiç bilmeden "Perl 7 çıkarsa" yı konuşmak eleştirmek değil, başka birşey. Perl 6 süper bir dil demedim, sadece fonksiyonel özellikleri sayesinde karışık programlar cok daha kısa ve net yazılabiliyor dedim, ve temel / orta düzey programcılık sorularını coğu kez tek satırda kodlayarak bunun demosunu yaptım, süper dil diye birşey yok.

    Perl'in gerçek hayatta başarılı projelerde kullanıldığını inş görürüz demişsin, Perl birçok başarılı projede zaten kullanılıyor. Örnek ister misin. Amazon :)

    Docker hiç kullanmadım cunku gereksiz. Ancak ilerde bir proje sahibi kullanmamı isterse kullanırım o ayrı.
    Go ile tahminen 10 satırda yazarım, Amazon perl6 mı kullanıyor. perl mi kullanıyor




  • Yaz o halde. 10 veya başka satır görelim.
    Amazon Ekim 1994 'te Perl 5 ile geliştirildi ve hala Perl 5 kullanıyor cunku Perl 6'ya terfi ettiğine dair hiçbir haber görmedim. Fakat Perl 5 te, Perl 6'da denenen bazı özellikler eklenerek iyileştirmeler yapıldığı için büyük firmalar dahil versiyon güncellemesi o kadar şart değil.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tuğkan-0153

    Yaz o halde. 10 veya başka satır görelim.
    Amazon Ekim 1994 'te Perl 5 ile geliştirildi ve hala Perl 5 kullanıyor cunku Perl 6'ya terfi ettiğine dair hiçbir haber görmedim. Fakat Perl 5 te, Perl 6'da denenen bazı özellikler eklenerek iyileştirmeler yapıldığı için büyük firmalar dahil versiyon güncellemesi o kadar şart değil.
    Perl6 ile yazmışsın ne gerek var birde Go ile yazmaya. diğer dillerin yapamadığı yerde Go nun görevi başlar. ne gibi görevler mi işte linkihttp://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/




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