Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md. - temeller/: tek konulu 12 başlangıç programı. - web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE önizlemesi 8080 verir), yoksa eski sabit port. - README: öğrenme bölümü, Online IDE bağlantısı.
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
# Değişkenler: sayı, ondalık, metin ve mantık türleri, dönüşümler ve aritmetik
|
||||
#
|
||||
# Değişken, bir değere verilen addır. "ad = değer" yazınca değer o ada bağlanır.
|
||||
# Türü yazmak gerekmez; KabaLang değere bakıp türü kendisi anlar.
|
||||
|
||||
# ── Dört temel tür ─────────────────────────────────────────────
|
||||
ogrenci = "Mehmet" # metin : tırnak içindeki yazı
|
||||
yas = 17 # sayi : tam sayı
|
||||
boy = 1.74 # ondalik : virgüllü sayı (Türkçedeki virgül yerine nokta yazılır)
|
||||
mezun = yanlis # mantik : dogru ya da yanlis
|
||||
|
||||
yazdir(f"Öğrenci: {ogrenci}, yaş: {yas}, boy: {boy} m, mezun: {mezun}")
|
||||
|
||||
# Değişkene yeni bir değer atanabilir; eski değer unutulur.
|
||||
yas = 18
|
||||
mezun = dogru
|
||||
yazdir(f"Bir yıl sonra: yaş {yas}, mezun: {mezun}")
|
||||
|
||||
# Uzun sayılarda basamakları _ ile ayırmak okumayı kolaylaştırır.
|
||||
nufus = 85_000_000
|
||||
yazdir(f"Nüfus: {nufus} (binlik ayırıcıyla: {nufus:,})")
|
||||
|
||||
# degismez ile tanımlanan değer bir daha değiştirilemez.
|
||||
# PI = 3 yazmaya kalkarsan derleyici programı çalıştırmadan durdurur.
|
||||
degismez PI = 3.14159
|
||||
yazdir()
|
||||
|
||||
# ── Aritmetik ─────────────────────────────────────────────────
|
||||
a = 17
|
||||
b = 5
|
||||
yazdir(f"{a} + {b} = {a + b}")
|
||||
yazdir(f"{a} - {b} = {a - b}")
|
||||
yazdir(f"{a} * {b} = {a * b}")
|
||||
yazdir(f"{a} / {b} = {a / b}") # / her zaman ondalık sonuç verir
|
||||
yazdir(f"{a} // {b} = {a // b}") # // tam bölme: küsuratı atar
|
||||
yazdir(f"{a} % {b} = {a % b}") # % bölümden kalan
|
||||
yazdir(f"2 ** 10 = {2 ** 10}") # ** üs alma
|
||||
yazdir()
|
||||
|
||||
# İşlem önceliği matematikteki gibidir; parantez önceliği değiştirir.
|
||||
yazdir(f"2 + 3 * 4 = {2 + 3 * 4}")
|
||||
yazdir(f"(2 + 3) * 4 = {(2 + 3) * 4}")
|
||||
|
||||
# Kısaltmalar: x += 5, "x = x + 5" demektir. -= ve *= de aynı mantıkla çalışır.
|
||||
puan = 10
|
||||
puan += 5
|
||||
puan *= 2
|
||||
yazdir(f"Puan: {puan}")
|
||||
yazdir()
|
||||
|
||||
# ── // ve % ile gerçek bir hesap ───────────────────────────────
|
||||
# Toplam saniyeyi saat, dakika ve saniyeye ayıralım.
|
||||
toplam_saniye = 10_000
|
||||
saat = toplam_saniye // 3600
|
||||
dakika = (toplam_saniye % 3600) // 60
|
||||
saniye = toplam_saniye % 60
|
||||
# {dakika:02} sayıyı iki basamağa tamamlar: 6 yerine 06 yazar.
|
||||
yazdir(f"{toplam_saniye} saniye = {saat} saat {dakika:02} dakika {saniye:02} saniye")
|
||||
|
||||
# Dairenin alanı: ondalık sayılarla hesap. {alan:.2f} virgülden sonra iki basamak yazar.
|
||||
yaricap = 2.5
|
||||
alan = PI * yaricap * yaricap
|
||||
yazdir(f"Yarıçapı {yaricap} olan dairenin alanı: {alan:.2f}")
|
||||
yazdir()
|
||||
|
||||
# ── Tür dönüşümü ──────────────────────────────────────────────
|
||||
# Türler kendiliğinden birbirine dönüşmez; dönüşümü açıkça yazarız.
|
||||
metin_sayi = "42"
|
||||
gercek_sayi = sayi(metin_sayi) # metinden tam sayıya
|
||||
yazdir(f"sayi(\"42\") + 8 = {gercek_sayi + 8}")
|
||||
|
||||
fiyat = ondalik("19.90") # metinden ondalığa
|
||||
yazdir(f"ondalik(\"19.90\") * 3 = {fiyat * 3:.2f}")
|
||||
|
||||
yazdir(f"sayi(3.99) = {sayi(3.99)} (küsurat atılır, yuvarlanmaz)")
|
||||
yazdir(f"ondalik(7) / 2 = {ondalik(7) / 2}")
|
||||
|
||||
# Bir sayıyı metne + ile eklemek için önce metin() ile çeviririz.
|
||||
yazdir("Sınıfta " + metin(24) + " öğrenci var.")
|
||||
|
||||
# Dikkat: sayıya benzemeyen bir metin hata vermez, 0'a dönüşür.
|
||||
# Kullanıcıdan gelen sayıları denetlemenin yolu bir sonraki derste.
|
||||
yazdir(f"sayi(\"on iki\") = {sayi('on iki')}")
|
||||
yazdir()
|
||||
|
||||
# ── Küçük bir alışveriş hesabı ─────────────────────────────────
|
||||
adet = 3
|
||||
birim_fiyat = 249.90
|
||||
kdv_orani = 0.20
|
||||
ara_toplam = adet * birim_fiyat
|
||||
kdv = ara_toplam * kdv_orani
|
||||
yazdir(f"Ara toplam : {ara_toplam:>9.2f} TL")
|
||||
yazdir(f"KDV (%20) : {kdv:>9.2f} TL")
|
||||
yazdir(f"Toplam : {ara_toplam + kdv:>9.2f} TL")
|
||||
Reference in New Issue
Block a user