← Tüm dersler
BST101 · Dr. Erhan Kutlucan · 1–6. hafta

Algoritma ve Programlamaya Giriş

Vize çalışma seti. Hocanın verdiği ipuçları en üstte; her ipucu ilgili konuya ve alıştırmaya bağlı. Sınav etiketi, hocanın “soracağım” dediği konuları gösterir.

Arkadaşının notuna göre

Hocanın ipuçları ve nereye çalışmalı

  1. 1. hafta, 11. sayfaya kadar: Tüm 1. hafta. Konuya git
  2. 2. hafta s.42, 6 ifadenin koda dönüşümü: Kurallar · 6 ifadenin çözümü
  3. 2. hafta s.43, taban yazma: Yöntem · Tablonun çözümü ve çevirici
  4. 2. hafta, değişkenler: Konuya git
  5. 3. hafta, algoritmaların özellikleri (tahmin): Özellikler · 3. hafta tahmini
  6. 4. hafta, akış şeması simgeleri: Simgeler
  7. 4. hafta, “bu algoritma ne işe yarar?” (s.17–18): 9 alıştırma
  8. 5. hafta (tahmin): Dillerin yazım kuralları
  9. 6. hafta, “bu kod satırı hangi dile ait?”: İpucu tablosu · Test sekmesinde “Hangi dil?” seti
  10. 5 ve 6 birlikte: 6 dilde örnek programlar
Hafta 1 Sınav · tamamı

Programlamaya giriş

Çalışma prensibi

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.
0 ve 1

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.

Tanım ve seviyeler

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

Hafta 2

Algoritma, değişkenler, operatörler, sayı sistemleri

Çevirmenler

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.
Tanım Sınav · olası

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.

Veriyi saklamak Sınav

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ı

KuralGeçersizGeçerli
Rakamla başlamaz5sayisayi5, s5ayi
Alt çizgi (_) dışında özel karakter olmazort%, a@b, $tutarortalama_not
Boşluk bırakılmazogrenci notuogrenci_notu, OgrenciNotu
Anahtar kelime olamazint, if, for, return, classsayac, toplam
Türkçe karakter yerine İngilizce karakter tercih ediliröğrenci_yaşıogrenci_yasi
Akışı değiştirmek

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.

Ortalama hesabı 1. Başla 2. Vize (V) ve Final (F) notunu gir 3. Ortalama = (V * 0.4) + (F * 0.6) 4. Ortalamayı ekrana yaz 5. Bitir
ATM'den para çekme 1. Başla 2. Şifreyi iste 3. Şifre 1234'e eşit (==) mi? 4. Eşitse 5'e, değilse 9'a (Bitir) git 5. Tutarı gir 6. Tutar <= bakiye mi? 7. Evetse parayı ver; değilse “Bakiye yetersiz” 8. Kartı iade et 9. Bitir
Karakter kodları ve hatalar

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.

3 grup işlem

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ırmaAnlamı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.

ABA VE BA VEYA BDEĞİL A
00001
01011
10010
11110

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.

Slayttaki örnek

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.

Matematik → kod Sınav · s.42

Aritmetik işlemler ve işlem önceliği

İşlemMatematikKod
Toplama / çıkarmaa+b, a−ba+b, a-b
Çarpmaa·b, aba*b
Bölmea/ba/b
Üsaᵇa^b
n. dereceden kökⁿ√xx^(1/n)
Öncelikİşlem
1Sayının negatifliği (−)
2Parantezler ( )
3Fonksiyonlar: cos, sin, ln, log, exp
4Üs alma ^
5Çarpma, bölme
6Toplama, çıkarma

Aynı öncelikteki işlemler soldan sağa yapılır. Ondalık ayırıcı virgül değil noktadır: 3.14

Koda çevirirken 4 altın kural
  1. Kesrin payını ve paydasını ayrı ayrı paranteze al: (pay)/(payda)
  2. Kökü kesirli üsse çevir ve kesri parantezle: x^(1/3), x^1/3 değil.
  3. Kökün içi birden fazla terimse tümünü parantezle: (a+b)^(1/2)
  4. 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−12a+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ı.

Parantezin önemi (s.38) · A = 6, B = 16
İfadeMatematiksel eşdeğeriSonuç
A+B^1/2A + B/26 + 8 = 14
A+B^(1/2)A + √B6 + 4 = 10
(A+B)^1/2(A+B)/222 / 2 = 11
(A+B)^(1/2)√(A+B)√22 ≈ 4.69
Taban dönüşümü Sınav · s.43

Sayı sistemleri ve taban yazma

SistemTabanRakamlar
Onlu (decimal)100–9
İkili (binary)20, 1
Sekizli (octal)80–7
Onaltılı (hexadecimal)160–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.

(25)₁₀ → (?)₂ 25 / 2 = 12 kalan 1 12 / 2 = 6 kalan 0 6 / 2 = 3 kalan 0 3 / 2 = 1 kalan 1 1 / 2 = 0 kalan 1 Ters oku → (11001)₂
(65,125)₁₀ → (?)₂ Tam kısım: 65 → 1000001 0.125 × 2 = 0.25 → 0 0.25 × 2 = 0.5 → 0 0.5 × 2 = 1.0 → 1 Düz oku → .001 Sonuç (1000001.001)₂
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.

Hafta 3 Sınav · tahmin

Algoritma hazırlama

3. haftadan ne gelebilir? (tahmin)
  • “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ı.
Descartes · 1637

Yöntem Üzerine Konuşma'nın 4 kuralı

  1. Doğruluğunu açık ve seçik bilmediğin hiçbir şeyi doğru kabul etme.
  2. Her sorunu mümkün olduğunca küçük parçalara ayır.
  3. En basitten başlayıp kademeli olarak en karmaşığa doğru ilerle.
  4. Hiçbir şeyin gözden kaçmadığından emin olacak kadar eksiksiz say ve tekrar et.
6 nitelik

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.

İfade şekilleri ve terimler

Algoritmayı yazmanın 3 yolu

Metin olarak 1. Başla 2. Birinci sayıyı gir 3. İkinci sayıyı gir 4. Sayıları çarp 5. Sonucu yazdır 6. Dur
Sözde kod 1. Başla 2. A oku 3. B oku 4. C=A*B 5. C yaz 6. Dur

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.
Yanlış / doğru

Algoritma hazırlama kuralları

KuralYanlış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ı yokHer değer ve alt program önceden tanımlanır
Tekrar eden işlemden kaçınılmalıOrtalama=(x+y)/2Ortalama=toplam/2 (toplam zaten hesaplandı)
Gereksiz ve etkisiz işlem olmamalı1'e bölmek, 0 ile toplamak, 1 ile çarpmakBu 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ı

  1. Problemin sınırlandırılması ve analizi: Tüm senaryolar ortaya konur, problem küçük parçalara ayrılır.
  2. Optimizasyon ve yol haritası: En az maliyetli, en kısa yol seçilir.
  3. Değişken ve tanımlayıcıların planlanması: Kurala uygun, anlamlı isimler önceden belirlenir.
  4. Numaralandırma ve akış düzeni: Her adıma numara verilir.
  5. Girdi akışının sağlanması: Dışarıdan alınacak veriler netleştirilir.
  6. Yönerge kesinliği: Tüm işlemler belirsizliğe yer bırakmadan yazılır.
  7. Sonuçlandırma ve çıktı raporlama: Sonuç anlaşılır bir biçimde sunulur.
Bir şart içinde başka şart

İç 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.

Sayının işareti 1. Başla 2. Sayi'yı al 3. Eğer Sayi > 0 → “pozitif”, 6'ya git 4. Değilse Sayi < 0 → “negatif”, 6'ya git 5. Hiçbiri değilse → “sıfır” 6. Bitir
Üç sayıdan en büyüğü 1. Başla 2–4. Sayi1, Sayi2, Sayi3'ü al 5. Sayi1>Sayi2 VE Sayi1>Sayi3 → Sayi1, 8'e git 6. Değilse Sayi2>Sayi3 → Sayi2, 8'e git 7. Hiçbiri değilse → Sayi3 8. Bitir
Hafta 4

Akış diyagramları

9 simge Sınav

Akış şeması simgeleri

Akış diyagramı, algoritmanın geometrik şekillerle çizilmiş gösterimidir. Her diyagram Başla ile başlar, Dur ile biter.

Başla / DurOval uçlu dikdörtgen. Programın başı ve sonu.
Veri girişiParalelkenar. İçine değişken adları yazılır: A, B, C
İşlem / atamaDikdörtgen. c=(a^2+b^2)^(1/3)
Karar (denetim)Eşkenar dörtgen (baklava). Koşul yazılır; evet/hayır çıkışı.
Çıkış / yazdırmaAlt kenarı dalgalı belge. Ekrana yazdırır.
DöngüAltıgen. i=1,20,3
Akış yönüOklar. İşlemin hangi yöne gittiğini gösterir.
Bağlantı (bağlaç)Daire. Dalları birleştirir; sayfaya sığmayan şemayı bağlar.
Önceden tanımlı işlemYanları çift çizgili dikdörtgen. Alt program/fonksiyon: b=isaret(a)
Çıktı yazımı
"Şarkışla" metni aynen yazar · x değeri yazar ve alt satıra geçer · y, değeri yazar, imleç aynı satırda kalır · "Sivas", a metni ve a'yı yazar
Döngü yazımı
i=1,20,3 1'den 20'ye 3'er artar · j=30,4,-2 30'dan 4'e 2'şer azalır · k=1,99 1'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
3 tür · 2 döngü

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 EndRepeat / Until
Koşul nerede?Döngünün başındaDöngünün sonunda
Ne zaman çalışır?Koşul doğru olduğu süreceKoşul doğru olana kadar (doğru olunca durur)
En az kaç kez?0: koşul baştan yanlışsa hiç çalışmazEn az 1 kez çalışır

Akış şemalarını okuma alıştırmaları: Pratik sekmesi → Bu algoritma ne işe yarar?

Hafta 5 Sınav · tahmin

6 dilin kod yazım kuralları

5. haftadan ne gelebilir? (tahmin)
  • 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.
Dil dil

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 #include ile ç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: Sayi ile sayi farklı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 import ile 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ı.
DilBlok sınırıNoktalı virgül (;)Tip bildirimiHarf duyarlılığıÖne çıkan
C{ }ZorunluZorunluVarDonanıma yakın, saf derlenen
C++{ }ZorunluZorunluVarC tabanlı, nesne yönelimli
C#{ }ZorunluZorunluKesin varNesne yönelimli, bileşen tabanlı
Java{ }ZorunluZorunluVarPlatform bağımsız, modüler
MATLABSatır bazlı (end)İsteğe bağlı (sonucu gizler)Gerek yokVarMatris odaklı, mühendislik
PythonGirinti (tab)Genellikle gerekmezGerek yokVarSüslü parantez yok, girinti kültürü
Hafta 6

Giriş, çıkış, döngü ve karar komutları

Kod satırını tanımak Sınav

Bu satır hangi dile ait?

DilGirişÇıkışEle veren ipuçları
Cscanf("%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)
Javaimport 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)
MATLABx = 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)
Pythonx = 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
end

Python 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.

5 + 6. hafta ortak Sınav · olası

6 dilde örnek programlar

Örnek 1 ve 2 slaytlardan; Ödev 4 ve 5 için çalışan kodlar.

2. hafta s.42 Sınav

6 ifadeyi koda çevir

Önce kâğıda kendin yaz, sonra cevaba bak. Parantezleri tek tek say.

İfade 1
a5+b3a+ca+e2+a2+c34
İfade 2
a2+b23+acda+ba−bc3
İfade 3
e+acd7−11+1b+1c+1e+1cde
İfade 4
b−c4a+c−bac53+11+11+1cde
İfade 5
a2+b+a−11+a31+a1+a45
İfade 6
a2+a+b+11+1aa3+b33

Altı cevap, matematik ifadeleriyle rastgele değerler üzerinde karşılaştırılarak doğrulandı.

2. hafta s.43 Sınav

Taban dönüşüm tablosu

Sayı2 tabanı8 tabanı16 tabanı
33???
99???
32.5???
14.25???
12.125???
8.0625???

Adım adım çevirici

Bir sayı yaz, tabanı seç. Defterine yazacağın bölme ve çarpma adımlarını gösterir.

4. hafta s.17–18 Sınav

Bu algoritma ne işe yarar?

Hoca bir algoritma verip ne yaptığını yazmanı isteyecek. Şemayı oku, cevabını kâğıda yaz, sonra karşılaştır.

4. hafta s.28–29

Akış diyagramının sonucunu bul

İz sürme 1
Başla → T=0 → Döngü I=1,2,1 → T=5 → Döngü J=1,3,1 → T=T+I*J → (iç döngü biter, dış döngüye döner) → Yaz T → Dur
İz sürme 2
Başla → T1=1, T2=2 → Döngü I=1,5,3 → Döngü J=3,-1,-3 → T1=T1+I+J → T2=T2+T1+I+J → Yaz T1, T2 → Dur

Klavye: Boşluk = çevir · → = sonraki · ← = önceki · K = biliyorum · T = tekrar

Puan
0 / 0