3.1. Programlamada Kullanılan İşlem ve Semboller
3.2. Veri Türleri
3.3. Farklı Veri Türlerinin Programda Kullanımı
3.4. Karar Yapıları
3.5. Döngü Yapıları
3.6. Döngü ve Karar Yapılarıyla Programlar
Günlük hayatta kullanılan teknolojik araçların genelinde bilgisayar yazılımları kullanılmaktadır. Hayat, yazılımlar sayesinde zaman ve mekân sınırlaması olmadan işlemlerin gerçekleştirilmesiyle kolaylaşır.
Konu ile ilgili alıştırma yapmak için aşağıdaki siteleri kullanabilirsiniz.
3.1 Programlamada Kullanılan İşlem ve Semboller
Bilgisayar, donanım ve yazılım olmak üzere iki temel unsurdan oluşur ve bu unsurlar birbirini tamamlar.
Donanım, bilgisayarın duyu organlarıyla algılanabilen fiziksel parçalarıdır. (Fare, Klavye, Ekran, Yazıcı, Anakart, İşlemci, RAM Bellek, Ekran Kartı, … gibi)
Yazılım, donanımın çalışmasını sağlayan ve bilgisayarda istenilen işlemleri yapabilmek için bilgisayara yüklenip silinebilen, kodlar ile yazılmış uygulamalardır. (Windows 11, Word, Excel, Oyunlar, Photoshop, Paint, … gibi)
3.1.1. Operatörler
Tek başına bir anlam ifade etmeyen programlama dillerinin çalışmasına katkıda bulunan özel karaktere veya karakter topluluğuna operatör denir.
Değişkenlere değer atamada, matematiksel ve mantıksal işlemlerde, karşılaştırma işlemlerinde operatörler kullanılarak programın işleyişi gerçekleşir.
Gerçekleştirdiği işlevlere göre en yaygın kullanılan operatörler aritmetiksel operatörler, karşılaştırma operatörleri ve mantıksal operatörlerdir.
Aritmetiksel Operatörler:
| OPERATÖRLER | OPERATÖR TANIMI | ÖRNEK | İŞLEM AÇIKLAMASI |
| + | Toplama | 10+5 | 15 |
| – | Çıkarma | 10-5 | 5 |
| * | Çarpma | 10*5 | 10×5=50 |
| / | Bölme | 10/5 | Bölüm hanesindeki sonuç=2 |
| ** veya ^ | Üs Alma-Kuvvet Bulma | 10**5 veya 10^5 | 10x10x10x10x10=100000 |
| % | Mod Alma (Bölme işleminde kalanı bulma) | 10%5 | 10/5 işlemindeki kalan hanesindeki sonuç=0 |
Örnek 1: a = 10 ve b = 5 değişken değerlerine göre Aritmetik Operatör sonuçları aşağıdadır.
Bu temel işlemlerin hangisinin daha önce gerçekleşeceğinin bilinmesi gerekir. Matematikte olduğu gibi programlamada da işlem önceliği aynıdır. İşlem önceliğine göre yapılacak işlemler aşağıda sırasıyla listelenmiştir.
- Parantez içleri ()
- Üs alma işlemi **, ^
- Mod alma, çarpma, bölme işlemi % , * , /
- Toplama ve çıkarma işlemi +, –
İşlemler sırasıyla gerçekleştirilerek problemin çözümü sağlanmış olur.
Karşılaştırma Operatörleri:
Belirlenen iki değerin karşılaştırılmasını sağlayan, sorulan sorulara verilen cevap “Doğru” ise “True (doğru)”, cevap “Yanlış” ise “ False (yanlış)” değerini sonuç olarak veren operatörlerdir.
| OPERATÖR | OPERATÖR TANIMI | ÖRNEK | İŞLEM AÇIKLAMASI |
| == | Eşittir | a==b | a ile b eşit mi? |
| != | Eşit değildir | a!=b | a ile b eşit değildir mi? |
| > | Büyüktür | a>b | a, b’den büyük mü? |
| < | Küçüktür | a<b | a, b’den küçük mü? |
| >= | Büyük eşittir | a>=b | a , b’den büyük veya b’ye eşit mi? |
| <= | Küçük eşittir | a<=b | a, b’den küçük veya b’ye eşit mi? |
Örnek 2: a = 4 ve b = 8 değişkenlerini kullanarak karşılaştırma işlemlerini gerçekleştiren program kodu aşağıdadır.
Mantıksal Operatörler:
İki veya daha fazla verinin birbiri ile kıyaslandığı durumlarda kullanılır.
| OPERATÖR | OPERATÖR TANIMI | ÖRNEK | İŞLEM AÇIKLAMASI |
| && (and) | Ve [and] İşlemi | a<15 && b==20 | İki şartın da sağlanması durumunda sonuç true olur. |
| || (or) | Veya [or] İşlemi | a>15 || b==20 | Şartlardan birinin sağlanması yeterlidir, sonuç true olur. |
| ^ (xor) | Özel Veya [xor] İşlemi | a==10 ^ b>25 | Şartların sonuçları farklı ise true olur. |
| ! (not) | Değil [not] İşlemi | !(a<b) | Verilen şart sonucunun tersini alır. |
Örnek 3: a = 10 ve b = 20 değişkenlerini kullanarak karşılaştırma işlemlerini gerçekleştiren program kodu aşağıdadır.
3.1.2. Değişkenler
- Programlama işlemlerinde kullanılan veriler (değerler), değişkenler ile isimlendirilerek kullanılır.
- Programlama dilinde kullanılan komutlar değişken ismi olamaz. (ÖR: print komutu)
- Değişkenler boşluk veya sayı ile başlayamaz.
- Bazı dillerin harf duyarlılığı vardır. Örneğin “isim” ile “İsim” aynı değişkeni ifade etmez.
- Türkçe karakterlerin (ç, ğ, ı, İ, ö, ş, ü) kullanılmaması daha uygundur.
- Özel karakterler ve boşluklar kullanılmaz ; sadece alt çizgi “ _” ve “$” karakterleri kullanılır.
- Değişken atamalarında metinsel diğer bir deyişle sözel veri ataması yapılırken metin çift tırnak (“…”) veya tek tırnak ( ‘ ….’ ) işaretleri arasında yazılır.
3.2 Veri Türleri
Bilgisayar işlemlerinde kullanılan en temel yapıya veri denir. Veriler, kullanılacak işlemlere göre türü belirtilerek değişkenler ile beraber tanımlanır.
- Sayısal bir veri tanımlanırken integer (tamsayı) türü belirtilir ve int sayi= 10; şeklinde kullanılır.
- Metinsel bir veri tanımlanırken string (dizi) türü belirtilerek string ders= “Programlamaya Giriş ve Algoritmalar”; gibi tanımlamalar kullanılır.
- Tür ile değişken değerleri birbiriyle uyumlu olmaz ise hata meydana gelir ve program çalışmaz.
- Bir kelime verisi ile sayı verisinin toplanması gerçekleşmez.
- Veri türlerinin tanımlamaları, kullanılan programlama diline göre değişiklik gösterebilir.
- Python dilinde metinsel verilerin tırnak işaretleri arasında belirtilmesi yeterlidir.
Örnek 4: Sayısal ve metinsel veri türü kullanılarak oluşturulan programın kodunu ve ekran çıktısını yazınız.
3.3 Farklı Veri Türlerinin Programda Kullanımı
Python Veri Tipleri
- Metin tipleri:
str - Sayısal tipler:
int,float,complex - Dizi tipleri:
list,tuple,range - Adresleme tipleri:
dict - Küme tipleri:
set,frozenset - Mantıksal tipler:
bool - Binary tipler:
bytes,bytearray,memoryview
- Byte: Bellekte 1 byte yer kaplar. Basit ve işlem sonuçlarının küçük kapasitelere ihtiyaç duyacağı durumlarda kullanılır. Byte veri türünün tanımlaması byte a=10; şeklinde yazılır.
- Integer: Yaygın kullanılan veri türüdür. 4 byte’ lık yer kaplar. Byte veri türüne göre daha karmaşık ve büyük verilerle çalışma imkânı sağlar. Integer veya kısaltması olan int kelimeleriyle belirtilir. Integer veri türünün tanımlaması int a=100000; veya a=100000; şeklinde yazılır.
- Long: Long (uzun), Integer veri türünden daha fazla kapasiteye sahiptir. 8 byte’ lık yer kaplar. Integer veri türüne göre daha karmaşık ve büyük verilerle çalışma imkânı sağlar. Long veri türünün tanımlaması long a=1000000; şeklinde yazılır.
- Float: Float (kesirli sayı), 4 byte’ lık yer kaplar. Ondalıklı sayı ifadelerin olduğu basit işlemlerde tercih edilir. Noktadan sonra altı karakter kullanımını sağlar. Bazı dillerde verinin sonuna “f” ya da “F” şeklinde belirtilerek kullanılır. Float veri türünün tanımlaması float a= 3.14f şeklinde yazılır.
- String: Karakter dizisi veri türü olarak bilinir. Karakterler birleşerek metinleri oluşturur. Metinsel veri türlerinde karakter, sözcük, tümce, paragraf gibi metinlerin kullanıldığı durumlarda bu veri türü kullanılır. Karakterden fazla olan metinler için bazı dillerde char veri türü de kullanılmaktadır. Genelde metinler, “ ” (çift tırnak) içinde gösterilir. Bu işaretler arasında yazılan her karakter metin olarak algılanır ve sadece metinsel işlemlerde kullanılır. Çift tırnak arasında belirtilen metin bir sayı olsa da bilgisayar onu bir metin olarak algılayacağı için sadece metinsel işlemleri gerçekleştirir.
- Boolean: “True” ve “False” şeklinde iki değer alabilen ve kullanılan dile göre bu değerlerin yerini “1” ve “0” değerinin alabildiği bir veri türüdür.
Örnek 5: sayi_1=20 ve sayi_2=30 değişkenlerini oluşturarak toplamını toplam değişkenine aktaran ve toplam değişkenini ekrana yazdıran, kelime= “Merhaba” metin değişkenini oluşturup ekrana yazdıran, sayi_1 ve sayi_2 değişkenlerinin birbirine eşit olmadığını kontrol eden ve bu kontrolün sonucunu (True veya False) ekrana yazdıran program aşağıdadır.
Örnek 6: Yarıçapı 10 cm, pi sayısı 3.14 olan dairenin alanını hesaplayan ve ekrana yazdıran programın kodunu ve ekran çıktısını yazınız.
Örnek 7: Bir öğretmen öğrencileri ile okul duvarını boyama etkinliği planlamıştır. Öğrencilerinin boyayacağı alanın eşit olmasını ve istedikleri resimleri yapmalarını istemektedir. Okul duvarının uzun kenarı 5 m, kısa kenarı ise 2 m’dir. Öğrenci sayısı 20 olduğuna göre bir öğrencinin duvarda resim yapabileceği alanı hesaplayan ve ekrana yazan programın kodunu ve ekran çıktısını yazınız.
Örnek 8: Bir öğrenci, ailesinden aldığı haftalık harçlığını bir plan doğrultusunda kullanmayı amaçlamaktadır. Harçlığının %5’ini biriktirmek, %5’ini yardımlaşmak için ayırmak ve geri kalanını haftanın günlerinde eşit şekilde harcamak istemektedir. Öğrencinin haftalık harçlığı 700 TL olduğuna göre günlük harcayabileceği miktarı hesaplayan programın komutlarını ve ekran çıktısını yazınız.
Örnek 9: Sayısal ifadelerin metinsel veri türü olarak tanımlandığı, sayısal işlemlerde de
metin gibi algılandığı programın kodunu aşağıdadır.
Diziler: Birden fazla aynı tür verinin sıralanarak tek bir isimle hafıza tutulmasını sağlayan yapılara dizi denir. Array (dizi) kelimesiyle de ifade edilir.
Farklı dillere göre sayi dizisi tanımlamaları değişiklik gösterebilir:
Integer [] sayi= new Integer[] {10,20,30,40}
int sayi[]={10,20,30,40}
sayi=[10,20,30,40]
Hepsinin eleman sayısı 4 olup indis numaralarına göre veriler aşağıdaki şekilde listelenir.
| İndis no | sayi [0] | sayi [1] | sayi [2] | sayi [3] |
| Değer | 10 | 20 | 30 | 40 |
Eleman sayısı belirtilerek tanımlanan bir “sayi” dizisi ise aşağıdaki şekilde de tanımlanabilir.
int[] sayi=new int[4];
sayi[0]=10;
sayi[1]=20;
sayi[2]=30;
Örnek 10: Diziler, birçok veri türüyle kullanıma uygun bir yapıya sahiptir.
integer[] dizi_i=new integer[]{10,20,30,40};
string[] dizi_s=new string[] {“Programlamaya ”, “Giriş ”, “Ve” ,“Algoritmalar”};
character[] dizi_c=new character[] {‘P’, ‘G’,‘V’,‘A’};
double[] dizi_d=new double[] {1.2,2.3,3.4}
Yukarıdaki örneklerin Python diline göre ve hepsinin ikinci elemanlarının ekrana yazdırılması için oluşturulan programın kodunu ve ekran çıktısını yazınız.
3.4 Karar Yapıları
Günlük hayatta karar verilmesi gereken durumlar sürekli yaşanabilir. Bir şart belirleyerek bu şartın gerçekleşmesi ya da aksi durumuna göre işlem seçenekleri oluşturularak karar verme işlemi gerçekleştirilir.
3.4.1. If-else Yapısı
If komutu ile belirtilen sorgu gerçekleştiğinde cevabın “true, evet” olması durumunda if karar yapısının blokları arasındaki işlemler gerçekleştirilir. Cevabın “false, hayır” olması durumunda else blokları arasındaki işlemler gerçekleştirilir. Birçok programlama dilinde işleyiş bu şekilde devam eder. Aşağıdaki görsel if-else yapısının çalışma mantığını temsil etmektedir.


Örnek 11: Bir basketbolcu, belirlediği iki zaman diliminde potadan geçirebildiği top sayılarının ortalamasını öğrenmek istemektedir. Basket sayılarının ortalamasının 60’a eşit ve yüksek olma durumunda ekrana “Performansınız çok iyi.”, aksi durumda “Performansınız için çalışmalısınız!” yazan programın kodunu ve ekran çıktısını yazınız.
Örnek 12: Programın açılması için gerekli şifreyi 7410 olarak belirleyiniz. Kullanıcıdan şifreyi girmesini isteyiniz. Şifreyi doğru girmesi durumunda “Program açılıyor” yazısını ekrana yazdırınız. Şifrenin yanlış girilmesi durumunda “Şifre yanlış, program kapanıyor” yazısını ekrana yazdırınız.
3.4.2. Else If Yapısı
If bloku ile başlayan sorgu, sonrası alınan cevabın “true, evet” olması ile if blokunun içindeki işlem gerçekleştirilir. Alınan “false, hayır” cevabı sonrasında da else if yapısı ile yeni bir sorgu oluşturulur. Sorgudan gelen cevaba göre işlem ya da gerekli ise yeni bir sorgu tanımlanarak çoklu seçim yapısı oluşturulur. Aşağıdaki görsel, else if yapısının çalışma mantığını temsil etmektedir.


Örnek 13: Kullanıcının girdiği sayının negatif, pozitif ya da sıfır olduğunu yazan programın kodlarını ve ekran çıktısını yazınız.
Örnek 14: Kullanıcının girdiği sayının negatif, pozitif ya da sıfır olduğunu yazan programın kodlarını ve ekran çıktısını yazınız.
sayi =int(input("Bir Sayı Giriniz : "))
if sayi>0:
print(“Pozitif Sayıdır.”)
elif sayi<0:
print(“Negatif Sayıdır.”)
else:
print(“Sayı Sıfırdır.”)
Örnek 15: Bir işveren, saygılı, dürüst, öz denetimi yüksek personeline çalıştıkları süreye göre zam yapmayı amaçlamaktadır. Personelin çalışma süresini ve maaş bilgilerini girdikten sonra alacakları zamlı maaş miktarını görebilecekleri bir program tasarlanmasını istemektedir. Aşağıda verilen sürelere göre maaş ve çalışma süresi bilgisinin kullanıcı tarafından girilmesini sağlayarak maaşa yapılacak zammı ve toplam zamlı maaşı ekranda gösteren programın kodunu ve ekran çıktısını yazınız.
Çalışma süreleri:
* Çalışma süresi olarak 11 yıl ve üzerinde ise %15 zam oranı uygulanacaktır.
* Çalışma süresi olarak 6-10 (6 ve 10 dâhil) yıl arasında ise ise %10 zam oranı uygulanacaktır.
* Çalışma süresi olarak 1-5 (1 ve 5 dâhil) yıl arasında ise %5 zam oranı uygulanacaktır.
Örnek 16: Bir öğrenci, özel yetenek sınavının yapıldığı bir üniversiteye gitmek istemektedir. Üniversite, girmek isteyen her öğrenciye yetenek sınavına girme imkânı sağlamaktadır. Yetenek sınavlarının geçerli olabilmesi için başvuru şartlarının da sağlanması gereklidir.
Başvuru şartları:
* Lise diploma puanı en az 60 olmalıdır.
* Üniversite TYT (Temel Yeterlilik Testi) puanı 150 veya daha fazla puan almış olan adaylar başvurabilecektir.
* Üniversitenin yabancı dil sınavına girmeli ve bu sınavdan en az 60 almalıdır.
* Üniversiteye girebilmek için aranan kriter, Yetenek sınavından en az 70 ve üzeri puan almalıdır.
Öğrencinin başvuru kriterlerini girmesini ve eğer şartları gerçekleştiriyor ise ekrana “Başvurunuz kabul edilmiştir.”, sağlamıyor ise “Başvuru kriterleriniz uygun değildir.” yazısının ekranda görünmesini sağlayan program kodunu yazınız.
3.5 Döngü Yapıları
Yazılan programlama komutlarının tekrarlı şekilde çalıştırılması gereken durumlar oluşabilir. Komutların tekrar yazılmadan çalıştırılıp programın işlevselliğini sağlamak için belirli şartlar oluşturulur ve komutların içinde döngüsel bir çalışma akışı sağlanır.
3.5.1. For Döngüsü
Bir şarta bağlı olarak tekrarlanma sayısının en başta tanımlandığı döngü yapısıdır. Tanımlamalar ilk satırda belirtildiği için şartın gerçekleşme durumu kadar for blokları arasında yazılan kodlar çalıştırılır. Python dilinde “for” döngüsü ile genelde range [reync (aralık)] deyimi kullanılarak döngünün tekrar etme sayısı belirtilir.
Örnek 17: Ekrana “Programlama” kelimesini 5 defa alt alta yazdıran programın kodunu for döngüsü kullanarak yazınız.
for i in range(5):
print(“Programlama”)
Örnek 18: 0’dan başlayarak 10’a kadar olan sayıları toplayan ve ekrana yazdıran for döngülü programın kodunu yazınız.
sonuc=0
for sayi in range(11):
sonuc=sonuc+sayi
print(“Toplam=”,sonuc)
3.5.2. While Döngüsü
Belirtilen şart sağlanana kadar döngünün tekrar edilmesiyle oluşan şartlı döngülerdir. Şart sağlandığı zaman
while blokları arasındaki işlemler bir defa gerçekleşir ve şart sağlandığı sürece bu işlem devam eder. Genellikle döngünün kaç defa gerçekleşeceğinin belli olmadığı durumlarda kullanılır
Örnek 19: Ekrana “programlama” kelimesini 5 defa alt alta yazdıran while döngülü programın kodunu yazınız.
isim = "programlama"
i=0
while (i<5):
print(isim)
i=i+1
Örnek 20: 0’ dan başlayarak 10’ a kadar olan sayıları toplayıp ekrana yazdıran while döngülü programın kodunu yazınız.
i=0
toplam=0
while (i<11):
toplam=toplam+i
i=i+1
print(“toplam =”, toplam)
Örnek 21: Kullanıcıdan 10 tane sayı girişi yapmasını isteyen ve bu sayıları “liste“ adında bir diziye atayan, Bu sayılardan çift olanları “cift“, tek olanları “tek“ adındaki listelere ekleyen, Bu üç listeyi ekrana yazdıran döngü yapılarının kullanıldığı ve kullanılmadığı programın kodlarını yazınız.
