Auzef Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar)
https://lolonolo.com/2026/04/09/algoritmalar-ve-programlamaya-giris-2024-2025-vize-sorulari-bahar/
https://lolonolo.com
Show More Show Less View Video Transcript
0:00
Her gün kullandığımız uygulamaların web
0:02
sitelerinin kısacası tüm yazılımların
0:04
arkasında nasıl bir mantık var hiç
0:07
düşündünüz mü? İşte bu bölümde
0:09
programlamanın temel yapı taşlarını
0:11
mercek altına alarak bu gizemi birlikte
0:13
çözeceğiz. Hazırsanız kodun dünyasına
0:16
dalalım. Biliyor musunuz?
0:18
Telefonunuzdaki o karmaşık görünen
0:20
uygulamalardan devasa web sitelerine
0:22
kadar her şey aslında şaşırtıcı derecede
0:24
basit ve öğrenilebilir birkaç kural
0:27
üzerine kurulu. Bu kurallar adeta
0:29
bilgisayarlara ne yapmaları gerektiğini
0:31
söyleyen evrensel bir dil gibi. Evet,
0:34
aynen öyle. Bir program ne kadar
0:36
karmaşık görünürse görünsün temelinde
0:38
aslında bir avuç basit bileşen var.
0:40
Şimdi yapacağımız şey de tam olarak bu.
0:43
Bu bileşenleri alıp ne işe yaradıklarını
0:45
tek tek inceleyeceğiz. Peki yol
0:48
haritamız nasıl olacak? Önce bir kod
0:51
yazılmadan önceki o kritik planlama
0:53
aşamasına bakacağız. Sonra verilerin
0:55
nasıl saklandığını keşfedeceğiz.
0:58
Ardından kodların nasıl seçimler
1:00
yapabildiğini ve aynı işi defalarca
1:02
nasıl tekrar ettiğini göreceğiz. Ve en
1:04
sonunda bütün bu parçaları birleştirip
1:07
bir programın nasıl çalıştığını canlı
1:09
canlı izleyeceğiz. Unutmayın harika bir
1:12
program öyle pat diye yazılan kodlarla
1:14
değil her zaman sağlam bir planla
1:16
başlar. Bu bölümde programcıların
1:19
klavyeye dokunmadan önce zihinlerinde ve
1:21
kağıt üzerinde neler yaptığını
1:23
anlayacağız. İşte planlamanın en önemli
1:26
aracıyla tanışın kabaot yani İngilizce
1:29
adıyla pusuda kod. Bunu bir binanın
1:32
mimari çizimi gibi düşünebilirsiniz.
1:34
Yani bilgisayarın anlayacağı o katı ve
1:36
noktalı virgüllü kurallara takılmadan
1:38
önce mantığı ve adımları kendi
1:40
anlayacağımız bir dilde serbestçe
1:42
planladığımız yer burası. Farkı daha net
1:45
görelim. Kaba kod fikirlerimizi organize
1:48
ettiğimiz bir not defteri gibidir.
1:50
Esnektir, serbesttir. Program kodu isa
1:54
makineye verilen kesin ve net bir
1:56
emirdir. Her kuralına uyulması gerekir.
1:59
İşte bu ikisi arasındaki köprü
2:01
planlamanın ne kadar hayati olduğunu
2:03
gösteriyor. Peki bir planın iyi olup
2:06
olmadığını nasıl anlarız? İşte burada
2:09
zaman karmaşıklığı denen bir kavram
2:10
devreye giriyor. Aslında sorduğu soru
2:13
çok basit. Benim planım işler
2:15
büyüdüğünde yani programıma çok daha
2:18
fazla veri verdiğimde de hızlı çalışmaya
2:20
devam edebilecek mi? Verimli bir plan
2:23
devasa verilerle bile zorlanmadan
2:25
çalışabilen plandır. Tamam, planlamanın
2:28
önemini kavradık. Şimdi sırada bir
2:30
sonraki yapı taşı var. Veri depolama.
2:32
Peki programlar üzerinde işlem
2:34
yapacakları o bilgileri, o verileri
2:37
nasıl saklıyor ve nasıl sınıflandırıyor?
2:39
Gelin hep birlikte görelim. Programlar
2:41
bilgileri karıştırmamak için onlara
2:43
etiketler verir. Bunlara veri tipi
2:45
diyoruz. Bakın E harfi bir karakterdir.
2:48
205 bir tam sayıdır. 3.14 ondalıklı bir
2:52
sayıdır. True ise sadece doğru ya da
2:54
yanlış olabilen bir mantık değeridir.
2:57
Sanki her bir bilgi türü için farklı
2:59
şekilde kutularımız varmış gibi
3:00
düşünebilirsiniz. Verileri sakladığımız
3:03
bu kutuların da iki temel türü var.
3:05
Değişkenler ve sabitler. Değişkenlerin
3:08
içindeki değer program çalışırken
3:10
sürekli değişebilir, güncellenebilir.
3:12
Sabitlerse adından da belli olduğu gibi
3:15
bir kere belirlenir ve bir daha asla
3:17
değişmez. Tıpkı örnekteki gibi program
3:20
boyunca sabit kalması gereken %25'lik
3:22
bir oran için mükemmel bir seçim.
3:25
Planımızı yaptık. Verilerimizi nasıl
3:27
saklayacağımızı da öğrendik. Sıra geldi
3:29
programımıza adeta bir beyin takmaya.
3:32
Yani kodumuzun farklı durumlara göre
3:34
farklı tepkiler vermesine, akılca
3:36
kararlar almasını nasıl sağlarız? İşte
3:39
bu kadar basit. Günlük hayattaki bu
3:41
cümle programlamanın en güçlü
3:43
mantıklarından birini eğer o zaman
3:45
yapısını mükemmel bir şekilde özetliyor.
3:48
Ortada bir koşul var. Hava soğuk mu?
3:50
Eğer cevap evetse yapılacak bir eylem
3:53
var. Kalın bir kazak giy. İşte bu çok
3:56
kritik bir soru. Az önceki cümlemiz
3:58
havanın sıcak olması durumunda ne
4:00
yapılacağını söylemiyor. Yani bir
4:03
değilse durumu tanımlanmamış. Bu da bize
4:05
programlamada her ihtimali, her
4:07
senaryoyu düşünmenin ne kadar önemli
4:09
olduğunu gösteriyor. Yani kısacası bu
4:12
koşullu ifadeler kodumuza bir esneklik
4:14
katıyor. Bir seçim yapma yeteneği
4:16
veriyor. Mesela ekrandaki yaş kontrolüne
4:19
bakın. Eğer kişinin yaşı 65'ten küçükse
4:22
program o koşulla ilgili olan adımı
4:24
tamamen atlayıp yoluna devam eder. İşte
4:27
bu basit mantık sayesinde programlar
4:30
dinamik ve akıllı hale geliyor.
4:32
Düşünsenize aynı komutu 10 kere
4:34
yazdırmanız gerekiyor. 10 kere kopyala
4:37
yapıştır mı yapacaksınız? Tabii ki
4:39
hayır. Programcıların bunun için çok
4:41
daha akıllıca bir çözümü var. Döngüler.
4:44
For döngüsü bir işin en başından tam
4:47
olarak kaç kez yapılacağını bildiğimiz
4:49
durumlar için harikadır. Bu örnekte
4:51
program isim değişkenini tam olarak 5
4:54
kez yazdıracak. Burada çok önemli bir
4:57
detay var. I dediğimiz sayaç sadece
5:00
kaçıncı turda olduğumuzu takip ediyor.
5:02
Kendisi ekrana yazdırılmıyor. Tabii ki
5:05
tek döngü türü bu değil. Her durum için
5:07
farklı bir alet var çantamızda. Bazen
5:09
ikişer ikişer sayarız. Bazen bir koşul
5:11
sağlandığı sürece devam ederiz. Hatta
5:13
bazen programın ne zaman duracağına
5:14
tamamen kullanıcının karar vermesini
5:16
bile sağlayabiliriz. Her işe uygun bir
5:18
döngü mutlaka vardır. Evet, geldik en
5:21
heyecanlı kısma. Şimdiye kadar
5:23
öğrendiğimiz tüm o kavramları bir araya
5:25
getirme zamanı. Kendi beynimizi bir
5:28
kenara bırakıp bir bilgiseler gibi
5:30
düşüneceğiz ve bir kodun komutları nasıl
5:32
adım adım işlediğine şahit olacağız.
5:35
Önümüzde basit bir kod parçası var.
5:38
Şimdi yapacağımız tek şey her bir
5:40
satırın değişkenlerin değerlerini nasıl
5:42
etkilediğini yavaşça ve dikkatlice
5:45
izlemek. Tıpkı bir bilgisayar
5:47
işlemcisinin yaptığı gibi. Haydi
5:49
başlayalım. 1inci adım A'nın içine 2,
5:53
B'nin içine 10 koyuyoruz. Tabloda
5:55
değerler güncellendi. Şimdi 2inci adım.
5:59
A'nın mevcut değerini alıp ona 2
6:01
ekliyoruz. 2 + 2 = 4. A'nın yeni değeri
6:06
artık 4. Son olarak 3. adım B'nin
6:09
değerinden yani 10'dan 8 çıkarıyoruz ve
6:13
sonucu C'ye atıyoruz. C'nin değeri de
6:15
böylece 2 oluyor. Çok basit değil mi?
6:19
İşte her şey bu son adıma bağlı.
6:21
Elimizdeki son değerlere bakalım. A = 4,
6:25
C = 2. Peki bu formülün sonucu sizce ne
6:29
çıkar? Ve doğru cevap 64. Çünkü formülde
6:34
A yerine 4, C yerine 2 koyduğumuzda
6:37
parantezin içi 4 x 2'den 8 oluyor. 8in
6:42
karesi de bize 64'ü veriyor. İşte bu
6:45
kadar. Gördünüz mü? Başta belki biraz
6:48
karışık görünen bir program aslında
6:50
bilgisayarın sırayla ve hatasızca takip
6:52
ettiği basit adımlardan ibaret.
6:54
Programlamanın bütün sırrı da aslında
6:56
bu. Büyük problemleri böyle küçük ve
6:59
yönetilebilir adımlara bölmek. Artık bu
7:01
temel kuralları bildiğinize göre siz de
7:04
bir programcı gibi düşünebilirsiniz. Bir
7:06
düşünün. Sabah kahvenizi hazırlama
7:08
sürecini veya en sevdiğiniz yemeğin
7:10
tarifini bir algoritma olarak yani adım
7:13
adım planlayabilir misiniz? Deneyin
7:15
çünkü olasılıklar gerçekten sonsuz.
#Programming
#Computer Science
#Computer Education

