ALGORİTMA NEDİR?
Verilen herhangi bir sorunun (problem)çözümüne ulaşmak için uygulanması gerekli adımların hiçbir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde ifade edilmesidir.
Örnek: Okula gitmeye hazırlanan öğrencinin izleyeceği yolun algoritmasını adım adım oluşturunuz.
1 |
Başla |
2 |
Yataktan kalk. |
3 |
Elini, yüzünü yıka. |
4 |
Kahvaltını yap. |
5 |
Hava sıcak mı? Sıcaksa ince giyin. |
6 |
Hava soğuk mu? Soğuksa kalın giyin. |
7 |
Hava yağmurlu mu? Yağmurluysa yanına şemsiye al. |
8 |
Çantanı yanına al. |
9 |
Evden yola çık. |
10 |
Okuluna doğru yürü |
11 |
Okula giriş kapısından içeri gir |
12 |
Sınıf arkadaşlarınla selamlaş |
13 |
Sırana otur Öğretmenini bekle. |
14 |
Dur |
Örnek: Trafik ışıklarından otomobille geçiş algoritmasını adım adım oluşturunuz.
1 |
Başla |
2 |
Trafik lambasına bak. |
3 |
Lamba Yeşil yanıyor mu? Yeşil yanıyorsa 6. adıma git. |
4 |
Lamba Sarı yanıyor mu? Sarı yanıyorsa 2. adıma git. |
5 |
Lamba Kırmızı yanıyor mu? Kırmızı yanıyorsa 2. adıma git. |
6 |
Geç. |
7 |
Dur |
Örnek: Çay demleme algoritmasını adım adım oluşturunuz.
1 |
Başla |
2 |
Çaydanlığa su doldur. |
3 |
Ocağı yak. |
4 |
Çaydanlığı ocağa koy. |
5 |
Bir süre suyun kaynamasını bekle. |
6 |
Su kaynadı mı? Kaynamadıysa 5.adıma git. Kaynadıysa 7.adıma git. |
7 |
Çayı demle. |
8 |
Çaydanlığa su ilave et. |
9 |
Çaydanlığı tekrar ocağa koy. |
10 |
Bir süre suyun kaynamasını bekle. |
11 |
Su kaynadı mı? Kaynamadıysa 10.adıma git. Kaynadıysa 12.adıma git. |
12 |
Bir süre çayın demlenmesini bekle. |
13 |
Çay demlendi mi? Demlenmediyse 12.adıma git. Demlendiyse 14.adıma git. |
14 |
Çayı bardaklara servis yap. |
15 |
Dur |
Örnek: İki sayıyı toplayan programın algoritmasını adım adım oluşturunuz.
1 |
Başla |
2 |
1.Sayıyı gir |
3 |
2.Sayıyı gir |
4 |
Sayıları topla. |
5 |
Sayıların toplamını görüntüle. |
6 |
Dur |
Örnek: İki sayının ortalamasını bulmak için gerekli algoritmayı oluşturunuz.
1 |
Başla |
2 |
1.Sayıyı gir |
3 |
2.Sayıyı gir |
4 |
Sayıları topla. |
5 |
Toplamı ikiye böl. |
6 |
Sayıların bölümünü görüntüle |
7 |
Dur |
Daha anlaşılır şekilde olması için kullanıcıdan alınacak ifadeler için bir ön tanımlama(DEĞİŞKEN) oluşturulup, tanımlamaları da matematiksel bir dil ile ifade edilmesi anlaşılır olmasını sağlayacaktır.
Yukarıdaki örneğimizi şu şekilde yapsak daha iyi olacaktır.
|
Birinci sayı için X İkinci sayı için Y TANIMLAMA Toplam adı için T Ortalama adı için O |
1 |
X değerini gir |
2 |
Y değerini gir. |
3 |
T = X + Y |
4 |
O = T/2 |
5 |
“O” değerini yaz |
6 |
Dur |
Daha okunaklı olması için aşağıdaki terimleri algoritma için kullanabiliriz;
Başla: Programın başladığını ifade eder.
Bitir: Programın bittiğini ifade eder.
Sayısal: Sayı saklayacak değişken tanımlamak için kullanılır.
Metin: Metin saklayacak değişken tanımlamak için kullanılır.
Oku: Kullanıcıdan veri almak için kullanılır.
Yaz: Kullanıcıya bilgi veya sonuç göstermek için kullanılır.
Eğer… İse: Şartlara göre akışın değiştirilmesinde kullanılır.
Git: İstenen adıma yönlendirilmesini sağlar.
Şimdi birkaç algoritmaya bakalım
Örnek 1; Klavyeden girilen iki sayının toplamını hesaplayan programın sahte kodlarla(algoritma) yazınız.
- Başla
- Sayısal; sayi1,sayi2,toplam
- Yaz; “Birinci sayıyı giriniz”
- Oku; sayi1
- Yaz; “İkinci sayıyı giriniz”
- Oku; sayi2
- toplam=sayi1+sayi2
- Yaz; “Sayıların toplamı”, & toplam
- Bitir
Örnek 2; Girilen iki sayının ortalamasını hesaplayıp ekrana yazdıran programın algoritmasını yazınız?
- Başla
- Sayısal; s1,s2,ortalama
- Yaz; “Birinci sayıyı giriniz”
- Oku; s1
- Yaz; “ikinci sayıyı giriniz”
- Oku;s2
- Ortalama=(s1+s2)/2
- Yaz; “ Sayıların ortalaması” , & ortalama
- Bitir
Örnek 3; Girilen iki sayıyı büyüklük olarak karşılaştıran algoritmayı yazınız.
- Başla
- Sayısal; Sayı1, Sayı2
- Oku; "Birinci sayıyı giriniz", Sayı1
- Oku; "İkinci sayıyı giriniz", Sayı2
- Eğer Sayı1 Sayı2'den büyük İse Yaz; "Sayı1 Sayı2'den büyüktür."
- Eğer Sayı2 Sayı1'den büyük İse Yaz; "Sayı2 Sayı1'den büyüktür."
- Eğer Sayı2 Sayı1'e eşit İse Yaz; "Sayı1 ve Sayı2 eşittir."
- Bitir
Örnek 4; Girilen 3 yazılı notuna göre öğrencinin geçip, kaldığını hesaplayan programın algoritmasını yazınız?
- Başla
- Sayısal;y1,y2,y3,ortalama
- Yaz;”1.yazılıyı giriniz”
- Oku;y1
- Yaz;”2. Yazılıyı giriniz”
- Oku; y2
- Yaz; “3. Yazılıyı giriniz”
- Oku ; y3
- ortalama=(y1+y2+y3)/3
- Eğer ortalama 50’den küçük ise (Eğer ortalama<45 ise) Yaz ; “Dersten Kaldınız”
- Eğer ortalama 50’ye eşit ve büyük ise (Eğer ortalama =>50 ise) Yaz; “Dersten Geçtiniz”
- Bitir
Örnek 5; Öğrencinin yılsonu notuna göre belge alıp almadığını hesaplayan programın algoritmasını yazınız?( Belge almadı, Teşekkür Belgesi, Takdir Belgesi)
- Başla
- Sayısal ; yılsonu
- Yaz; “Yılsonu ortalamasını giriniz”
- Oku;yılsonu
- Eğer yılsonu<70 ise Yaz; “Belge Alamadı”
- Eğer yılsonu>=70 ve yılsonu<85 ise Yaz; “Teşekkür Belgesi aldı”
- Eğer yılsonu>=85 ise Yaz; “Takdir Belgesi aldı”
- Bitir
Örnek 6; Girilen 10 sayının toplamını bulan programın algoritmasını yazınız?
- Başla
- Sayısal; sayi,toplam=0,sayac=0
- Yaz; “Sayıyı gir”
- Oku; sayi
- toplam=toplam + sayi
- Eğer sayaç<10 ise sayac bir arttır(sayac+1) Git Adım 3
- Yaz; “Sayıların Toplamı”, toplam
- Bitir
Ödevler
Ö1; Girilen sayının pozitif, negatif veya sıfıra eşit olduğunu gösteren algoritmayı yazınız?
Ö2; Girilen sayının faktöriyelini hesaplayan algoritmayı yazınız? (5! Faktöriyel 5*4*3*2*1)
Ö3; Girilen üç sayıdan en büyüğünü bulup ekrana yazdıran algoritmayı yazınız?
Ö4; Bir komisyoncu sattığı mallardan fiyatı 50 TL ve daha az olanlardan %3, daha fazla olanlardan %2 komisyon almaktadır. Klavyeden girilen 5 ürünün komisyon toplamlarını bularak ekranan yazdıran programın algoritmasını yazınız?
Yorum ekle