Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
196
Cevap
12757
Tıklama
8
Öne Çıkarma
Cevap: Reddit, HN, Euler, DH gibi sitelerden iş görüşmesi soruları + ödev soruları (4. sayfa)
H
6 yıl
Binbaşı

attigim kod pythonda 5 snde calisiyor ayni algoyi c++da yazsak 1 sn altina duser bence ama daha cirkin bir kod olur




Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

@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)
< Resime gitmek için tıklayın >





< 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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

maalesef bu tek satır değil


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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


Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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ü

< Resime gitmek için tıklayın >

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 >
Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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


Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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.


Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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 >


Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

"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 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay
Konu Sahibi

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.
< Resime gitmek için tıklayın >

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ı >
Bu mesaja 1 cevap geldi.
C
6 yıl
Yarbay

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.
< Resime gitmek için tıklayın >

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 >
Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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


Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @FatihAsl
C
6 yıl
Yarbay

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/


Bu mesaja 1 cevap geldi.