Hoş geldiniz genç öğrenciler! Bugün bilgisayar programlamasındaki kontrol yapılarını öğreneceğiz. Kontrol yapıları bir bilgisayar programı için yol işaretleri gibidir. Hangi yöne gideceğini ve daha sonra ne yapacağını söylerler. Tıpkı evde veya okulda kurallara uyduğunuz gibi, bir bilgisayar da bir programı çalıştırdığında kontrol yapılarını izler.
Bir kontrol yapısı, bir programı yürütürken bilgisayara farklı adımlar arasında nasıl seçim yapacağını söyleyen bir dizi talimattır. Bilgisayarın aynı sırayla devam edip etmemesi veya farklı bir şey yapmaya karar vermesi gerektiğine karar verir.
Bir tarifi takip ettiğinizi düşünün. Tarif size her adımı söyler: önce unu ve suyu karıştırın; sonra bir yumurta ekleyin; sonra karıştırın; ve son olarak karışımı pişirin. Bir bilgisayarda, kontrol yapıları benzer şekilde çalışır. Bilgisayarın hangi talimatın geleceğini ve seçimler olduğunda hangi kararı vereceğini bilmesine yardımcı olurlar.
Bugün öğreneceğiniz üç ana kontrol yapısı türü vardır. Bunlar:
Sıralı kontrol yapıları bilgisayara talimatları sabit bir sırayla birbiri ardına takip etmesini söyler. Sıralı kontrolde karar alma yoktur. Her adım, basit bir dizi talimatı takip ettiğinizde olduğu gibi, sırayla gerçekleşir.
Örneğin, günlük sabah rutininizi düşünün:
Her aktivite açık bir sırayla birbiri ardına gerçekleşir. Programlamada buna ardışık yürütme denir. Bilgisayar ilk talimatı, sonra ikinciyi ve sonra üçüncüyü okur.
Bir sandviç yapmak için basit bir sözde program düşünecek olursak, şöyle görünebilir:
Adım 1: İki dilim ekmek alın.
Adım 2: Bir dilimin üzerine tereyağı sürün.
Adım 3: Peyniri tereyağının üzerine koyun.
Adım 4: İki dilimi birleştirin. Sandviçinizin tadını çıkarın!
Tıpkı yaptığınız sandviç gibi, bilgisayar da size verilen talimatları tek tek yerine getiriyor.
Seçim kontrol yapıları bilgisayarın seçimler yapmasına olanak tanır. Yol ayrımı veya "kendi maceranı seç" kitabı gibi çalışırlar. Bilgisayar bir koşula veya kurala bakar ve ardından hangi yolu izleyeceğine karar verir.
Örneğin, sabah ne giyeceğinizi seçmeyi düşünün. Şu kararı verebilirsiniz: "Yağmur yağıyorsa yağmurluk giyerim. Hava güneşliyse tişört giyerim." Bu, hava durumuna hazırlıklı olmanıza yardımcı olan bir karardır. Programlamada, bilgisayar karar vermek için if , else if ve else ifadelerini kullanır.
Basit bir kod benzeri örnek sade bir dille şöyle görünür:
Yağmur yağıyorsa "Şemsiye al" yazdırın .
Aksi takdirde "Şemsiyeye gerek yok." yazdırın.
Bu şu anlama gelir: Eğer koşul (yağmur) doğruysa, o zaman eylemi (şemsiye al) yap. Aksi takdirde, diğer eylemi yap.
Başka bir örnek kullanalım. Bir oyun oynadığınızı ve "10 puan alırsanız kazanırsınız!" diyen bir kural olduğunu düşünün. Bu kural bir seçim kontrol yapısı gibidir. Oyun puanlarınızın 10'a eşit olup olmadığını kontrol eder. Eğer öyleyse, sizi kazanan ilan eder. Değilse, oynamaya devam eder.
Seçim yapıları, bilgisayarların yalnızca birkaç olası cevabı olan kararları ele almasına yardımcı olur. Bilgisayara, "Doğruysa bunu yap, doğru değilse başka bir şey yap." derler.
Yineleme kontrol yapıları bilgisayara bir şeyi tekrar tekrar yapmasını söyler. Bu, döngüleme veya tekrarlayan eylemler olarak bilinir. Bir görevi birçok kez tekrarlamanız gerektiğinde yineleme kullanılır.
Bir sepetteki elma sayısını saydığınız zamanı düşünün. Sayabilirsiniz: 1, 2, 3, 4, 5, vb. Bir sayıdan başlarsınız ve sonuna ulaşana kadar saymaya devam edersiniz. Bu, bir bilgisayarın döngüleri nasıl kullandığına benzer.
Programlamada iki yaygın döngü türü vardır:
Bir şeyi kaç kez tekrarlamak istediğinizi bildiğinizde for döngüsü kullanılır. Örneğin, bir şarkının aynı dizesini 5 kez söylemek istiyorsanız, for döngüsü kullanabilirsiniz:
(1'den 5'e kadar sayın ) "Doğum Günün Kutlu Olsun!" dizesini söyleyin.
Bilgisayar "Doğum Günün Kutlu Olsun!" yazısını beş kez gösterecektir çünkü bu adımı 5 kez tekrarlamaktadır.
Bir while döngüsü, bilgisayarın bir koşul doğru olduğu sürece bir şeyi tekrarlamaya devam etmesi gerektiğinde kullanılır. Örneğin, bir balonu şişiriyorsanız, balon yeterince büyük olana kadar üflemeye devam edebilirsiniz. Kural şu olabilir: "Balon büyük olmasa da, içine hava üflemeye devam edin."
Bu, şunu söylemeye benzer: (Balon küçükken ) üflemeye devam et. Balon yeterince büyüdüğünde, döngüyü durdur.
İşte bir döngü fikri kullanan başka bir basit örnek: Ellerinizi çırpmayı sevdiğinizi düşünün. 10 kez çırpana kadar ellerinizi çırpmaya karar veriyorsunuz. Şöyle diyebilirsiniz: "Clap"ı 10 kez tekrarlayın . Bir programda, bilgisayar her bir çırpmayı sayacak ve 10 çırpmaya ulaştığında duracaktır.
Kontrol yapıları programlamada çok önemlidir. Bir programdaki görevlerin doğru şekilde çalışması için düzenlenmesine yardımcı olurlar. Bunlar olmadan bir bilgisayar nasıl karar vereceğini veya eylemleri nasıl tekrarlayacağını bilemezdi.
Kontrol yapılarının neden önemli olduğunu gösteren bazı nedenler şunlardır:
Programlamadaki kontrol yapılarını yansıtan günlük hayattan bazı örneklere bakalım.
Sıralı Kontrol Örneği:
Okula hazırlanıyor olduğunuzu hayal edin. Önce uyanırsınız. Sonra yüzünüzü yıkarsınız. Sonra kıyafetlerinizi giyersiniz. Son olarak kahvaltınızı yaparsınız. Bu, birbiri ardına gerçekleştirdiğiniz bir dizi eylemdir. Bilgisayar programlamada, her bir talimat koşulsuz olarak takip edildiğinde sıralı kontrol kullanılır.
Seçim Kontrol Örneği:
Giysilerinizi seçerken verdiğiniz kararı göz önünde bulundurun. Hava soğuksa, sıcak bir kazak giyersiniz. Hava sıcaksa, tişört giyersiniz. Bu karar verme süreci, bir bilgisayarın "eğer" ifadesini nasıl kullandığına benzer. Bilgisayar havayı (durum) kontrol eder ve ardından doğru giyim seçeneğini (eylem) seçer.
Tekrarlama Kontrol Örneği:
Kendinizi bir iş yaparken, örneğin oyuncaklarınızı kaldırırken hayal edin. Toplanacak çok sayıda oyuncağınız olabilir. Her oyuncağı tek tek düşünmek yerine, aynı eylemi tekrarlarsınız: bir oyuncağı toplayın, oyuncak kutusuna koyun ve hepsi toplanana kadar bir sonraki oyuncağa geçin. Bu, tıpkı programlamadaki bir döngü gibi tekrarlayan bir eylemdir.
Bazen, kontrol yapıları birbirinin içine yerleştirilebilir. Buna iç içe geçmiş kontrol yapısı denir. Bu, bir karar veya döngünün diğerinin içinde olması durumunda gerçekleşir. Birkaç adımda seçim yaptığınız bir oyunu hayal edin. Örneğin, önce sola mı yoksa sağa mı gideceğinize karar verebilirsiniz. Sola gitmeyi seçerseniz, daha sonra başka bir seçimle karşı karşıya kalabilirsiniz: "Tepeye tırmanır mısın yoksa etrafından mı yürürsün?" Her seçim küçük bir karardır ve birbiri ardına iç içe geçmiştir.
Kodlamada, yuvalama bilgisayarın daha karmaşık görevleri ele almasını sağlar. Basit bir oyun veya uygulama bile birkaç karar ve döngü katmanına sahip olabilir. Bu katmanlar birlikte çalıştığında, program daha akıllı kararlar alabilir ve daha heyecan verici şeyler yapabilir.
Örneğin, piknik planlamanıza yardımcı olan bir program düşünün. Önce "Hava güzel mi?" diye sorabilir. Cevap evetse, program daha sonra "Yeterince yiyeceğiniz var mı?" diye soracaktır. Tekrar evet cevabını verirseniz, "Harika! Pikniğe gitme zamanı!" diyecektir. Herhangi bir cevap hayırsa, başka bir plan önerecektir. Bu iç içe geçmiş karar verme, bilgisayarın seçimlerinizi daha iyi anlamasına yardımcı olur.
Bir bilgisayar programı çalıştığında, verdiğiniz talimatları belirli bir sırayla takip eder. Bilgisayar ekranında bir selamlama gösteren basit bir program düşünelim. Program şunları yapabilir:
Adım 1: Programı başlatın.
Adım 2: Günün saatini kontrol edin.
Adım 3: Eğer saat sabah ise, "Günaydın!" mesajını gösterin.
Adım 4: Eğer saat öğleden sonra ise, "İyi günler!" mesajını gösterin.
Adım 5: Eğer saat akşam ise, "İyi Akşamlar!" mesajını gösterin.
Adım 6: Programı sonlandırın.
Bu programda net bir sıra vardır. Ayrıca ekranda neyin gösterileceğine dair bir karar da vardır. Bilgisayar bu kararı vermek için bir seçim kontrol yapısı ( if-else ifadeleri) kullanır.
Sonra, jeton toplamanız gereken basit bir bilgisayar oyunu oynadığınızı hayal edin. Program, her jeton topladığınızda kontrol etmek için bir döngü kullanabilir. Jetonlarınızı topladıkça sayacaktır. Tüm jetonları topladığınızda oyun sona erer. Burada, döngü sayma sürecini tekrarlayan yineleme kontrol yapısıdır.
Kontrol yapıları yalnızca okul egzersizlerinde veya küçük programlarda kullanılmaz. Her gün gördüğümüz birçok gerçek dünya uygulamasında kullanılırlar. İşte bazı ilginç örnekler:
Bu örnekler, kontrol yapılarının her yerde olduğunu gösteriyor! Modern cihazların ve programların mümkün olduğunca sorunsuz çalışmasına yardımcı olarak hayatımızı daha kolay ve eğlenceli hale getiriyorlar.
Basit bir sözde kod örneği yazalım. Sözde kod, kod gibi görünen basit kelimeler kullanarak programlar planlamanın bir yoludur.
Örnek: Atıştırmalıklar İçin Basit Bir Karar Verici
Atıştırmalık olarak elma mı yoksa muz mu yiyeceğinize karar vermek istediğinizi düşünün. Kuralları şu şekilde yazabilirsiniz:
Eğer açsanız ve tatlı bir şeyler yemek istiyorsanız elma tercih edebilirsiniz.
Eğer açsanız ve yumuşak bir şeyler yemek istiyorsanız muz tercih edebilirsiniz.
Aksi halde oturun ve ne istediğinizi düşünün.
Bu sözde kod bilgisayara şunu söyler: Önce tatlı bir şey isteyip istemediğini kontrol et. Eğer bu doğruysa, bir elma seç. Eğer değilse, muz gibi başka bir şey olup olmadığını kontrol et. Eğer seçeneklerden hiçbiri eşleşmiyorsa, karar vermek için bir dakikanı ayır.
Kontrol yapılarını bir harita olarak düşünmek yardımcı olabilir. Basit bir hazine haritası hayal edin. Haritada, adımların sırayla yazıldığı işaretli bir yol vardır. Yol ayrımına geldiğinizde, harita hazineden gelen bir ipucuna dayanarak hangi yöne gideceğinizi söyler. Bazen, harita hazineye ulaşana kadar aynı yolu birkaç kez takip etmenizi söyler. Tüm bu talimatlar doğru yolu bulmanıza yardımcı olur.
Benzer şekilde, bir bilgisayar haritayı takip etmek için ardışık adımlar, çatallarda doğru yolu seçmek için seçim ve bir hedefe ulaşılana kadar görevleri tekrarlamak için yineleme kullanır. Kontrol yapılarını kullanarak, bir bilgisayara "hazinesine" - doğru sonuca - tam olarak nasıl ulaşacağını söyleyebiliriz.
Bugün öğrendiğimiz önemli fikirleri tekrar gözden geçirelim: