Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
22
Cevap
2250
Tıklama
0
Öne Çıkarma
Cevap: Yazılıma Nereden Başlanır? (2. sayfa)
T
6 yıl
Yarbay

@Oğuzhaan Çok zor bir soru mu sordum?




Bu mesajda bahsedilenler: @vonderplanitz @Oğuzhaan
H
6 yıl
Binbaşı

https://paste.ubuntu.com/p/PHZk3xXfQX/

dili hic bilmiyordum input almayi anlamadim 2 saatte ancak bunu yazabildim.
kor olmak icin ideal bir dil gibi geldi.


Bu mesaja 1 cevap geldi.

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

Programdaki comment ve boş satırları çeksek dahi 29 satır ayrıca hatalı ve eksiklerle dolu örneğin TL'yi hardcoded basıyor, fakat onu kullanıcıdan almalı. Kullanıcı belki u.arası para transferinde kullanılan TRY birimini kullanmak isteyecek.

Değişken ismi olarak l l1 l2 yerine list list1 list2 olmalı veya hadi li li2 li2 olsun.

len fonksiyonu külliyen yanlış. 'length' değişkeni tanımlanamaz cunku o Scheme de ön tanımlı bi fonksiyon örneğin (length '(a b c)) ; -> 3 döndürür.

len fonksiyonundaki (cdr list) '() ye eşitse değişken tanımlamak gereksiz. fonksiyonun altında (len 0 hebele) ile hebele nin uzunluğunu sıfırlamak da poor programming practice (tam türkçesi yok)

retn fonksiyonunu tanımlamak da gereksiz cunku Scheme'de o iş 'list-ref' fonksiyonuyla yapılıyor örneğin (list-ref l n) , l'deki n. indexteki elemana ulaşır (n 0 tabanlı)

printleyici fonksiyonu sonuçta list1 ve list2 deki karşılıklı degerleri çarparak basacak, bunu 'and' koşulu altında rekürsif şekilde yapmaya calışınca alttaki parantezleri son satıra alsak bile 12 satır uzunluğunda tam bir felaket. Scheme'in rekürsif özelliğini kullanmak istiyorsan programın genelinde kullanman daha iyi olur, şunun gibi:

(define (hesapla maaslar oranlar birim)
(if (null? maaslar)
'bitti
(begin
(format #t "Maaş:~a, Yeni: ~f0~a~n" (car maaslar) (round (* (* (car maaslar) 1) (car oranlar))) birim)
(hesapla (cdr maaslar) (cdr oranlar) birim))))



Bu programı (hesapla hebele hubele "TL") şeklinde çalıştırırsan çalışır. format içindeki ~f0 ifadesini sadece Cisco'nun Scheme yorumlayıcısı tanır. MIT Scheme veya başka bir yorumlayıcı kullanıyorsan onu ~a ile değiştir.

Rekürsif 6 satır süren bu programı iterasyon ile yazmak sadece 3 satır:

(define (hesapla maas artis birim)
(do ((x 0 (+ x 1))) ((equal? x (length maas)) 'ok)
(format #t "Maaş:~a Yeni:~a~a~n" (list-ref maas x) (* (list-ref maas x) (list-ref artis x)) birim)))

(hesapla '(2020 3400 5500) '(1.25 1.1 1.0) "TL") ; ->
;; Maaş:2020 Yeni:2525.0TL
;; Maaş:3400 Yeni:3740.0TL
;; Maaş:5500 Yeni:5500.0TL
;; ok


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @rekteo
H
6 yıl
Binbaşı

tesekkurler, + bile fonksiyon olunca dilde loop yok her seyi fonksiyonlarla yapmamiz gerek diye dusunmusum

isi bilince benim kod kadar kotu gozukmuyor ama uzun programlarda yine sytax yuzunden kor eder saniyorum.


Bu mesaja 1 cevap geldi.

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

+ bile fonksiyon olabiliyor cunku Scheme'de + C veya Python'daki gibi toplama operatörü olarak tanımlı değil. Kodda iterasyonu gerçekleştiren 'do' ise fonksiyon gibi görünmekle birlikte, fonksiyon değil. Scheme'de yeni syntax tanımlamayı sağlayan 'define-syntax' ile tanımlanmış bir makro :) Makro derken C'deki makrolar gibi sadece değişkenleri yerine koyan basit birşey değil, gerçekten dilin bir parçası gibi çalışan makro. do makrosu örneğin orada dilin bir parçası gibi çalışıyor.

Scheme'deki bu yapıyı bir kez öğrenince program yazmak cok kolaylaştığı gibi kısa ve öz programlar ortaya cıkıyor.




Bu mesajda bahsedilenler: @rekteo
D
3 yıl
Er

Hocam sıfırdan web tasarımına başlamak için ne öğrenmek lazım bazı kişiler direk başlangıç olarak html5 öğrenmemi söylüyorlar daha önce yazılıma dair bildiğim hiç birşey yok nasıl başlarım bir yol haritası arıyorum.



< Bu ileti Android uygulamasından atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Tuğkan-0153
T
3 yıl
Yarbay

HTML5 öğrenmekten cok HTML ile idealindeki bir tasarımı uygula, bunun için Static Site Generator (son yıllarda birçok değişik SSG geliştirildi) kullanabilirsin, ilk başta Django yada WordPress kasar. Sonuçta hiçten başlayarak tümünü kendin yaptığın bir referans projen olmalı.



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


Bu mesajda bahsedilenler: @salih.dgtkn
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.