Hocanın ipuçları ve nereye çalışmalı
- 1. hafta, 11. sayfaya kadar: Tüm 1. hafta. Konuya git
- 2. hafta s.42, 6 ifadenin koda dönüşümü: Kurallar · 6 ifadenin çözümü
- 2. hafta s.43, taban yazma: Yöntem · Tablonun çözümü ve çevirici
- 2. hafta, değişkenler: Konuya git
- 3. hafta, algoritmaların özellikleri (tahmin): Özellikler · 3. hafta tahmini
- 4. hafta, akış şeması simgeleri: Simgeler
- 4. hafta, “bu algoritma ne işe yarar?” (s.17–18): 9 alıştırma
- 5. hafta (tahmin): Dillerin yazım kuralları
- 6. hafta, “bu kod satırı hangi dile ait?”: İpucu tablosu · Test sekmesinde “Hangi dil?” seti
- 5 ve 6 birlikte: 6 dilde örnek programlar
Programlamaya giriş
Bilgisayar bir işi 3 aşamada yapar
1. Bilgi girişi
Örn: CD'deki Word dosyası okunur.
2. Bilginin işlenmesi
Okunan bilgi, yazıcının anlayacağı şekle çevrilir.
3. Bilgi çıkışı
Çevrilen bilgi yazıcıya gönderilir.
Bilgisayar parçalarının 5 ana grubu
- Girdi üniteleri
- Bilgiyi bilgisayara aktarır: klavye, fare, tarayıcı, kamera, mikrofon.
- Merkezi işlem birimi
- Veriyi işler. Bilgisayarda yalnızca 1 tane vardır: işlemci.
- Çıktı üniteleri
- Sonuçları dışarı aktarır: monitör, yazıcı, sürücüler, hoparlör.
- Hafıza birimi
- İşlenecek bilgi ve programları depolar: RAM, sabit disk, CD, DVD.
- Veriyolu
- Bir birimden diğerine veri taşır. Örn: klavyede basılan tuşun bilgisi işlemciye veriyoluyla gider.
Sayı sistemleri
Bilgisayar yalnızca 0 ve 1'den anlar. Program önce 0/1'e, sonra makine diline çevrilir. Bilgisayar “açık” ya da “kapalı” olabilen elektronik anahtarlarla çalışır. Bu iki durumdan her birine bit denir.
İkili (binary) taban 2
Sadece 0 ve 1 vardır.
11010 = 1·2⁴ + 1·2³ + 0·2² + 1·2¹ + 0·2⁰ = 26
Onaltılı (hexadecimal) taban 16
8 bitlik baytları kısa göstermenin yoludur. 16 sembol: 0–9 ve A–F.
Programlama dilleri
Programlama dili: Programcının bir algoritmayı ifade etmek için kullandığı standartlaşmış notasyon. Hangi veri üzerinde işlem yapılacağını, verinin nasıl saklanıp iletileceğini ve hangi koşulda hangi işlemin yapılacağını anlatır.
Alt seviye
Makine koduna çok yakın, makine hâkimiyeti yüksek. Mikroişlemci bilgisi gerekir.
Örn: Assembly
Orta seviye
Esnek; hem alt hem üst seviye programlama yapılabilir. Alt seviyeye göre daha anlaşılır.
Örn: C
Üst seviye
Olay tabanlı. Belirli fonksiyonlar etrafında çalışır; öğrenmesi en kolay, yeni başlayanlara en uygun.
Örn: Visual Basic, Pic Basic Pro
Algoritma, değişkenler, operatörler, sayı sistemleri
Derleyici ve yorumlayıcı
- Derleyici (compiler)
- C, C++. Kodun tamamı çalıştırmadan önce okunur, yazım denetlenir ve makine diline (.exe) çevrilir.
- Hibrit / ara kod
- C#, Java, MATLAB. Önce platformdan bağımsız ara koda (bytecode) çevrilir; çalışırken sanal makine bunu makine diline çevirir.
- Yorumlayıcı (interpreter)
- Python. Toplu derleme yoktur; kod satır satır okunup çalıştırılır.
Algoritma ve temel özellikleri
Algoritma: Bir problemi çözmek için tasarlanan, başlangıcı ve sonu kesin belli, mantıksal ve sıralı adımlar bütünü. Doğrudan kod değildir; Türkçe, matematik ya da akış şemasıyla kâğıtta tasarlanır, sonra herhangi bir dile çevrilir. Klasik örnek: kek yapma algoritması.
Giriş ve çıkış input / output
Dışarıdan alınan veriler ve üretilen net bir sonuç mutlaka olmalı.
Kesinlik ve netlik definiteness
Her adım açık olmalı, yoruma yer bırakmamalı. “Biraz tuz ekle” belirsizdir, “2 çay kaşığı tuz ekle” nettir.
Sonluluk finiteness
Sonsuz döngüye girmeden, belli bir adım sonunda mutlaka bitmeli.
Etkinlik ve verimlilik effectiveness
Gereksiz tekrar olmadan, en kısa ve optimum yoldan çözmeli.
Değişkenler ve sabitler
Programlar veriyi geçici bellekte (RAM), belirli adreslerdeki “kutucuklarda” tutar.
Değişken (variable)
Program çalışırken değeri değiştirilebilen, farklı türde veri atanabilen bellek gözü.
Örn: oyundaki oyuncu_can 100'den 80'e, 50'ye düşer. Kullanıcıdan okunan sayi1.
Sabit (constant)
Program başından sonuna değeri asla değişmeyen veri.
Örn: π = 3.14159, haftadaki gün sayısı 7, yerçekimi ivmesi. C/C++'ta const, C#'ta readonly veya const.
Değişken isimlendirme kuralları
| Kural | Geçersiz | Geçerli |
|---|---|---|
| Rakamla başlamaz | 5sayi | sayi5, s5ayi |
| Alt çizgi (_) dışında özel karakter olmaz | ort%, a@b, $tutar | ortalama_not |
| Boşluk bırakılmaz | ogrenci notu | ogrenci_notu, OgrenciNotu |
| Anahtar kelime olamaz | int, if, for, return, class | sayac, toplam |
| Türkçe karakter yerine İngilizce karakter tercih edilir | öğrenci_yaşı | ogrenci_yasi |
Algoritma yapıları ve sözel örnekler
Sıralı yapı: Adımlar yukarıdan aşağıya (1, 2, 3…) sırayla çalışır. Karar (dallanma) yapısı: Bir soru sorulur, sonuç Doğru ya da Yanlış'a göre akış A ya da B yolundan devam eder. Örn: Eğer Puan >= 60 ise geçer, değilse kalır. Döngü yapısı ise işlemleri tekrarlar.
ASCII ve programlama hataları
ASCII (American Standard Code for Information Interchange): Latin alfabesine dayalı 7 bitlik karakter kümesi. 1963'te ANSI tarafından standartlaştırıldı. 33 basılmayan kontrol karakteri (Enter, Esc, DEL…) ve 95 basılan karakter içerir. Her karakterin bir tamsayı karşılığı vardır: A=65, B=66, C=67, D=68.
Türüne göre
Yazım hatası: Dil kuralına uymama; derleyici yakalar. Örn: printf yerine prindf.
Mantık hatası: Kod kurala uygun ama çözüm yanlış; program çalışır, sonuç hatalıdır. Örn: y=3*x+1 yerine y=2*x+1.
Tespit anına göre
Derleme zamanı hatası: Derleyicinin derleme sırasında bulduğu yazım hataları.
Çalışma zamanı hatası: Program çalışırken çıkar. Örn: olmayan dosyayı açmak, olmayan değeri çağırmak, sıfıra bölme.
Karşılaştırma ve mantıksal işlemler
İşlemler üçe ayrılır: karşılaştırma (karar), mantıksal (lojik) ve matematiksel (aritmetik). Karşılaştırma hem sayısal hem alfasayısal veriye uygulanır.
Sayısal (numeric)
Yalnızca rakamlar; matematik işlemi yapılabilir. Örn: 1453, 3.14
Alfasayısal (alphanumeric)
Harf, rakam ve simge (@, $, *) bir arada; matematik işlemi yapılamaz. Algoritmada tırnak içinde yazılır: "2013"
| Karşılaştırma | Anlamı | Kodda (3. hafta) |
|---|---|---|
| = | Eşittir | == |
| <> | Eşit değildir | != |
| > < | Büyüktür, küçüktür | > < |
| >= veya => | Büyük eşittir | >= |
| <= veya =< | Küçük eşittir | <= |
Harfler ASCII koduna göre karşılaştırılır: B (66) < C (67). ANA ile ANKARA'da üçüncü harfe bakılır: A (65) < K (75), yani ANA önce gelir.
VE && · AND
Tüm şartlar doğruysa doğru. Biri yanlışsa sonuç yanlış.
Burs = (Ort > 80) VE (Ceza == 0)
VEYA || · OR
En az biri doğruysa doğru.
Onay = (Kart) VEYA (Nakit)
DEĞİL ! · NOT
Doğruyu yanlış, yanlışı doğru yapar.
ÖZEL VEYA: şartların farklı olması istendiğinde.
| A | B | A VE B | A VEYA B | DEĞİL A |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 |
Doğruluk tablosu satır sayısı = 2ⁿ (n: değişken sayısı). 1 değişken 2 satır, 2 değişken 4, 3 değişken 8, 4 değişken 16 satır.
Kargo bedava = (Sepet >= 500) VE (Üye VEYA Kupon). Müşteri 1 (600 TL, üye değil, kupon yok): yararlanamaz. Müşteri 2 (400 TL, üye, kupon var): yararlanamaz, sepet yetersiz. Müşteri 3 (750 TL, kupon var): yararlanır.
Aritmetik işlemler ve işlem önceliği
| İşlem | Matematik | Kod |
|---|---|---|
| Toplama / çıkarma | a+b, a−b | a+b, a-b |
| Çarpma | a·b, ab | a*b |
| Bölme | a/b | a/b |
| Üs | aᵇ | a^b |
| n. dereceden kök | ⁿ√x | x^(1/n) |
| Öncelik | İşlem |
|---|---|
| 1 | Sayının negatifliği (−) |
| 2 | Parantezler ( ) |
| 3 | Fonksiyonlar: cos, sin, ln, log, exp |
| 4 | Üs alma ^ |
| 5 | Çarpma, bölme |
| 6 | Toplama, çıkarma |
Aynı öncelikteki işlemler soldan sağa yapılır. Ondalık ayırıcı virgül değil noktadır: 3.14
- Kesrin payını ve paydasını ayrı ayrı paranteze al:
(pay)/(payda) - Kökü kesirli üsse çevir ve kesri parantezle:
x^(1/3),x^1/3değil. - Kökün içi birden fazla terimse tümünü parantezle:
(a+b)^(1/2) - Bitişik çarpımları
*ile aç:3abc→3*a*b*c; paydada çarpım varsa parantezle:b/(a*c)
| Slayt örneği (s.35) | Kod |
|---|---|
| a+b+c+3abc−12 | a+b+c+3*a*b*c-12 |
| a+b³−c²−d⁴ | a+b^3-c^2-d^4 |
| √(a+b) − 3ab/(b²−2ab) | (a+b)^(1/2)-3*a*b/(b^2-2*a*b) |
| (a²+b³)/(3ab) | (a^2+b^3)/(3*a*b) |
| b + (a+c²)/(c + (a−f)/(3b)) | b+(a+c^2)/(c+(a-f)/(3*b)) |
Slayttaki 3. satır a-b/c+4*a*c-3(a+b) olarak yazılmış; ifade a − b/c + 4ac − 3/(a+b) ise doğrusu a-b/c+4*a*c-3/(a+b). Ayrıca kodda 3(a+b) yerine 3*(a+b) yazılmalı.
| İfade | Matematiksel eşdeğeri | Sonuç |
|---|---|---|
| A+B^1/2 | A + B/2 | 6 + 8 = 14 |
| A+B^(1/2) | A + √B | 6 + 4 = 10 |
| (A+B)^1/2 | (A+B)/2 | 22 / 2 = 11 |
| (A+B)^(1/2) | √(A+B) | √22 ≈ 4.69 |
Sayı sistemleri ve taban yazma
| Sistem | Taban | Rakamlar |
|---|---|---|
| Onlu (decimal) | 10 | 0–9 |
| İkili (binary) | 2 | 0, 1 |
| Sekizli (octal) | 8 | 0–7 |
| Onaltılı (hexadecimal) | 16 | 0–9, A=10, B=11, C=12, D=13, E=14, F=15 |
Tam kısım: böl
Sayı tabana bölünür, bölüm 0 olana kadar devam edilir. Kalanlar sondan başa (ters sırada) yazılır.
Ondalık kısım: çarp
Ondalık kısım tabanla çarpılır, çıkan tam kısım basamak olur. Ondalık kısım 0 olana kadar devam edilir. Basamaklar baştan sona (düz sırada) yazılır.
| s.40 soruları | Cevap |
|---|---|
| (11)₁₀ = (?)₂ | 1011 |
| (25)₁₀ = (?)₂ | 11001 |
| (111)₁₀ = (?)₈ | 157 |
| (65,125)₁₀ = (?)₂ | 1000001.001 |
| (111,125)₁₀ = (?)₈ | 157.1 |
s.43 tablosunun çözümü ve adım adım çevirici Pratik sekmesinde.
Algoritma hazırlama
- “Algoritmaların özelliklerini yazınız”: Giriş/çıkış, kesinlik, sonluluk, etkinlik (2. hafta s.6) ve bu haftanın hazırlama kuralları.
- “Algoritmaların ifade ediliş şekilleri nelerdir?”: Metin, sözde kod, akış diyagramı.
- Terimler: tanımlayıcı, değişken, sabit, atama, sayaç, döngü, ardışık toplama.
- Yanlış yazılmış bir algoritmayı düzeltme: belirsiz ifade, sonsuz döngü, tanımsız değişken.
- Algoritma yazma kuralları ve avantajları.
- İç içe karar yapısı örneği: sayının işareti, en büyük sayı.
Yöntem Üzerine Konuşma'nın 4 kuralı
- Doğruluğunu açık ve seçik bilmediğin hiçbir şeyi doğru kabul etme.
- Her sorunu mümkün olduğunca küçük parçalara ayır.
- En basitten başlayıp kademeli olarak en karmaşığa doğru ilerle.
- Hiçbir şeyin gözden kaçmadığından emin olacak kadar eksiksiz say ve tekrar et.
Kaliteli bir programın nitelikleri
Doğruluk ve güvenilirlik
Her koşulda hatasız, doğru sonuç verir.
Performans ve hız
Optimize edilmiştir, kullanıcıyı bekletmez.
Bellek (RAM) verimliliği
Gereksiz bellek tüketmez.
Sistem kaynak dostu
CPU ve donanımı yormaz.
Sadelik ve bakım kolaylığı
Kod anlaşılırdır; güncelleme ve hata ayıklama kolaydır.
Modülerlik ve uyumluluk
Parçalara ayrılabilir, diğer sistemlerle veri alışverişi yapabilir.
Algoritmayı yazmanın 3 yolu
Akış diyagramı
Aynı adımların geometrik şekillerle çizimi (4. hafta).
- Veri
- Bilgisayarda işlenen tüm değerler. İkiye ayrılır: sayısal (2004, −555, 6.78) ve alfasayısal (Bursa, A, @,
"2013"; tırnakla gösterilir). - Tanımlayıcı
- Programcının isim verdiği değişken, sabit, kayıt alanı, fonksiyon vb.
- Değişken
- Program içinde farklı değerler alabilen bellek alanını gösteren tanımlayıcı.
- Sabit
- Değeri değişmeyen veri (Pi).
- Atama / aktarma (=)
- Bir değeri ya da işlem sonucunu bir değişkende saklamak:
x=x+1,T=T+A - Sayaç
- Akış her geldiğinde belirli adım kadar artan ya da azalan değişken:
S=S+1 - Döngü
- Belirli işlem bloklarını tekrar tekrar çalıştıran yapı.
- Ardışık toplama/çıkarma
- Döngü bitene kadar aynı değişkenin üzerine yeni değer eklemek:
T=T+A. Sayaca benzer, ama eklenen değer değişkendir.
Algoritma hazırlama kuralları
| Kural | Yanlış | Doğru |
|---|---|---|
| İhtimalli ifade olmamalı | “Kaynakta belki dosya vardır” | Dosya var mı kontrol et, yoksa uyarı ver |
| Adımlar kesin olmalı | “Biraz arttır”, “Hava sıcaksa”, “Miktar azsa” | “1 arttır”, “Sıcaklık 32°'den büyükse”, “Miktar 10 lt'den küçükse” |
| Belli koşulda sonlanmalı | k=k+1; z=z+k; Git 3 (sonsuz döngü) | Araya “Eğer k>58 ise Git 7” eklenir |
| Sıralı ve mantıklı olmalı | y=2*z ama z hiç tanımlanmamış; cikar() programı yok | Her değer ve alt program önceden tanımlanır |
| Tekrar eden işlemden kaçınılmalı | Ortalama=(x+y)/2 | Ortalama=toplam/2 (toplam zaten hesaplandı) |
| Gereksiz ve etkisiz işlem olmamalı | 1'e bölmek, 0 ile toplamak, 1 ile çarpmak | Bu adımlar çıkarılır; gereksiz değişken tanımlanmaz |
Algoritma yazma kuralları
- Satırlar 1'den başlayarak numaralanır
- Başla ile başlar, Dur ile biter
- Alt program ve fonksiyonlar isim ve parametreleriyle verilir
- Adımlar sınırlı sayıda, açık ve net olur
- İfadeler sade ve anlaşılır olur
- Hiçbir dile, işletim sistemine veya donanıma bağımlı olmaz
Algoritmanın avantajları
- Anlaşılması kolaydır
- Program yazmayı kolaylaştırır
- Sonradan düzenlemeyi kolaylaştırır
- Programlama dillerinden bağımsızdır
- Kodlamada hatayı azaltır
- Hata bulmayı kolaylaştırır
Algoritma hazırlama adımları
- Problemin sınırlandırılması ve analizi: Tüm senaryolar ortaya konur, problem küçük parçalara ayrılır.
- Optimizasyon ve yol haritası: En az maliyetli, en kısa yol seçilir.
- Değişken ve tanımlayıcıların planlanması: Kurala uygun, anlamlı isimler önceden belirlenir.
- Numaralandırma ve akış düzeni: Her adıma numara verilir.
- Girdi akışının sağlanması: Dışarıdan alınacak veriler netleştirilir.
- Yönerge kesinliği: Tüm işlemler belirsizliğe yer bırakmadan yazılır.
- Sonuçlandırma ve çıktı raporlama: Sonuç anlaşılır bir biçimde sunulur.
İç içe karar yapıları
Ana koşul sağlandıktan sonra ona bağlı ikinci bir koşul sorulması gereken durumlarda kullanılır. Örn: laboratuvar kapısı. Önce kart geçerli mi diye bakılır; hayırsa “Geçersiz kart” yazılır, ikinci soru hiç sorulmaz. Evetse rezervasyon var mı diye bakılır. Python'da iç içe bloklar girintiyle, C/C++/C#/Java'da süslü parantezle { } yazılır.
Akış diyagramları
Akış şeması simgeleri
Akış diyagramı, algoritmanın geometrik şekillerle çizilmiş gösterimidir. Her diyagram Başla ile başlar, Dur ile biter.
c=(a^2+b^2)^(1/3)i=1,20,3b=isaret(a)- Çıktı yazımı
"Şarkışla"metni aynen yazar ·xdeğeri yazar ve alt satıra geçer ·y,değeri yazar, imleç aynı satırda kalır ·"Sivas", ametni ve a'yı yazar- Döngü yazımı
i=1,20,31'den 20'ye 3'er artar ·j=30,4,-230'dan 4'e 2'şer azalır ·k=1,991'den 99'a artar. Adım belirtilmezse varsayılan 1'dir.- Çizim programları
- Word, PowerPoint, Visio, Google Docs/Slides/Drawings, Flowchart.com, Lucidchart, Draw.io, Mermaid.js
Akış diyagramı türleri ve döngüler
Doğrusal
Sıralı iş akışı; karar ve döngü yok. Tek başlangıç ve bitiş.
Mantıksal
Karar noktaları var; koşula göre (evet/hayır) farklı akışlar.
Döngü içeren
Bir koşul karşılanana kadar işlem tekrarlanır.
| While / While End | Repeat / Until | |
|---|---|---|
| Koşul nerede? | Döngünün başında | Döngünün sonunda |
| Ne zaman çalışır? | Koşul doğru olduğu sürece | Koşul doğru olana kadar (doğru olunca durur) |
| En az kaç kez? | 0: koşul baştan yanlışsa hiç çalışmaz | En az 1 kez çalışır |
Akış şemalarını okuma alıştırmaları: Pratik sekmesi → Bu algoritma ne işe yarar?
6 dilin kod yazım kuralları
- Karşılaştırma tablosundan: Hangi dil bloğu girintiyle belirler? Hangisinde noktalı virgül sonucu gizler? Hangileri tip bildirmez?
- Dillerin tanımları: “Bir kez yaz, her yerde çalıştır” hangi dil? Donanıma yakın olan hangisi?
- Ödev 4 (selamlama programı) bir dilde istenebilir. 6. haftayla ortak sorulursa bir kodun hangi dile ait olduğunu bu kurallardan bulursun.
Her dilin öne çıkan özelliği
- C
- Donanıma yakın, sistem programlamada güçlü, saf derlenen. Bloklar { }; satırlar ; ile biter (blok başlıkları hariç). Tüm değişken türleri (int, float) başta bildirilir. Kütüphaneler
#includeile çağrılır. - C++
- C'nin üzerine kurulu, nesne yönelimli (OOP). Sözdizimi C'ye çok benzer.
<iostream>kütüphanesi, sınıf ve namespace kullanır. - C#
- Microsoft ekosistemi; nesne yönelimli ve bileşen tabanlı. C/C++ soyundan gelir. Büyük-küçük harf duyarlılığı katıdır:
Sayiilesayifarklıdır. Ad alanları dosya başında tanımlanır (using System;). - Java
- “Bir kez yaz, her yerde çalıştır.” Platform bağımsız, nesne yönelimli, dağıtık sistemleri destekler. Güçlü tip güvenliği; paketler
importile eklenir. - MATLAB
- Mühendislik hesapları, matris işlemleri, veri analizi. Dinamik tipli, tür bildirimi gerekmez. Satır sonunda ; varsa sonuç ekranda gösterilmez, yoksa Command Window'a yazılır.
- Python
- Sade, açık kaynak, yorumlanan. Süslü parantez yok; bloklar girintiyle belirlenir, girinti hatası çalışma hatasıdır. Noktalı virgül genelde gerekmez. Dinamik tipli, büyük-küçük harf duyarlı.
| Dil | Blok sınırı | Noktalı virgül (;) | Tip bildirimi | Harf duyarlılığı | Öne çıkan |
|---|---|---|---|---|---|
| C | { } | Zorunlu | Zorunlu | Var | Donanıma yakın, saf derlenen |
| C++ | { } | Zorunlu | Zorunlu | Var | C tabanlı, nesne yönelimli |
| C# | { } | Zorunlu | Zorunlu | Kesin var | Nesne yönelimli, bileşen tabanlı |
| Java | { } | Zorunlu | Zorunlu | Var | Platform bağımsız, modüler |
| MATLAB | Satır bazlı (end) | İsteğe bağlı (sonucu gizler) | Gerek yok | Var | Matris odaklı, mühendislik |
| Python | Girinti (tab) | Genellikle gerekmez | Gerek yok | Var | Süslü parantez yok, girinti kültürü |
Giriş, çıkış, döngü ve karar komutları
Bu satır hangi dile ait?
| Dil | Giriş | Çıkış | Ele veren ipuçları |
|---|---|---|---|
| C | scanf("%f", &x); | printf("%.2f", x); | #include <stdio.h>, %d %f %s biçimleri, değişken önünde & |
| C++ | cin >> x; | cout << x << endl; | #include <iostream>, using namespace std;, >> ve << okları |
| C# | x = Console.ReadLine(); | Console.Write(x); Console.WriteLine(x); | using System;, Console., float.Parse(...), static void Main() (büyük M) |
| Java | import java.util.Scanner; x = scanner.nextFloat(); | System.out.print(x); System.out.println(x); | System.out, new Scanner(System.in), public static void main(String[] args) |
| MATLAB | x = input('mesaj'); s = input('mesaj','s'); | fprintf('biçim', x); disp(x); | Tek tırnak '...', disp, num2str, for i = 1:2:10, blok sonu end, mod(x,2) |
| Python | x = input("mesaj") x = int(input("mesaj")) x = float(input("mesaj")) | print("mesaj", x) | Satır sonunda ; yok, if x: iki nokta + girinti, for i in range(5):, tür bildirimi yok |
MATLAB ile Python'u karıştırma. İkisinde de input( var, ama MATLAB tek tırnak kullanır ve satırı genelde ; ile bitirir. Python çift tırnak kullanır, sayı için int() veya float() ile sarar ve ; koymaz.
Döngüler
// C, C++, C#, Java
for (baslangic; kosul; adim) { ... }
while (kosul) { ... }
do { ... } while (kosul);
% MATLAB
for i = baslangic:adim:bitis
...
end
while kosul
...
end
# Python
for i in sira:
...
while kosul:
...Kararlar
// C, C++, C#, Java
if (kosul) islem1;
else islem2;
switch (degisken) {
case 1: islemler; break;
default: varsayilan;
}
x = (kosul) ? deger1 : deger2;
% MATLAB
if kosul
islemler
elseif kosul2
islemler
else
islemler
endPython için 6. hafta slaytlarında for … else ve while … else yapıları da var. ? üçlü operatörü koşul doğruysa birinci, yanlışsa ikinci değeri değişkene aktarır.
6 dilde örnek programlar
Örnek 1 ve 2 slaytlardan; Ödev 4 ve 5 için çalışan kodlar.