Buradasınız

2- Algoritma

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.

  1. Başla
  2. Sayısal; sayi1,sayi2,toplam
  3. Yaz; “Birinci sayıyı giriniz”
  4. Oku; sayi1
  5. Yaz; “İkinci sayıyı giriniz”
  6. Oku; sayi2
  7. toplam=sayi1+sayi2
  8. Yaz; “Sayıların toplamı”, & toplam
  9. Bitir

 

Örnek 2; Girilen iki sayının ortalamasını hesaplayıp ekrana yazdıran programın algoritmasını yazınız?

  1. Başla
  2. Sayısal; s1,s2,ortalama
  3. Yaz; “Birinci sayıyı giriniz”
  4. Oku; s1
  5. Yaz; “ikinci sayıyı giriniz”
  6. Oku;s2
  7. Ortalama=(s1+s2)/2
  8. Yaz;  “ Sayıların ortalaması” , & ortalama
  9. Bitir

 

Örnek 3; Girilen iki sayıyı büyüklük olarak karşılaştıran algoritmayı yazınız.

 

  1. Başla
  2. Sayısal; Sayı1, Sayı2
  3. Oku; "Birinci sayıyı giriniz", Sayı1 
  4. Oku; "İkinci sayıyı giriniz", Sayı2
  5. Eğer Sayı1 Sayı2'den büyük İse            Yaz; "Sayı1 Sayı2'den büyüktür."
  6. Eğer Sayı2 Sayı1'den büyük İse            Yaz; "Sayı2 Sayı1'den büyüktür."
  7. Eğer Sayı2 Sayı1'e eşit İse                      Yaz; "Sayı1 ve Sayı2 eşittir."
  8. Bitir

 

 

 

 

 

Örnek 4; Girilen 3 yazılı notuna göre öğrencinin geçip, kaldığını hesaplayan programın algoritmasını yazınız?

  1. Başla
  2. Sayısal;y1,y2,y3,ortalama
  3. Yaz;”1.yazılıyı giriniz”
  4. Oku;y1
  5. Yaz;”2. Yazılıyı giriniz”
  6. Oku; y2
  7. Yaz; “3. Yazılıyı giriniz”
  8. Oku ; y3
  9. ortalama=(y1+y2+y3)/3
  10. Eğer ortalama 50’den küçük ise                          (Eğer ortalama<45 ise)    Yaz ; “Dersten Kaldınız”
  11. Eğer ortalama 50’ye eşit ve büyük ise                 (Eğer ortalama =>50 ise)  Yaz; “Dersten Geçtiniz”
  12. 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)

  1. Başla
  2. Sayısal ; yılsonu
  3. Yaz; “Yılsonu ortalamasını giriniz”
  4. Oku;yılsonu
  5. Eğer yılsonu<70 ise                                  Yaz; “Belge Alamadı”
  6. Eğer yılsonu>=70 ve yılsonu<85 ise           Yaz; “Teşekkür Belgesi aldı”
  7. Eğer yılsonu>=85 ise                                Yaz; “Takdir Belgesi aldı”
  8. Bitir

 

Örnek 6; Girilen 10 sayının toplamını bulan programın algoritmasını yazınız?

  1. Başla
  2. Sayısal; sayi,toplam=0,sayac=0
  3. Yaz; “Sayıyı gir”
  4. Oku; sayi
  5. toplam=toplam + sayi
  6. Eğer sayaç<10  ise           sayac bir arttır(sayac+1)   Git Adım 3
  7. Yaz; “Sayıların Toplamı”, toplam
  8. 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?

Yorumlar

robotik kullanıcısının resmi
robotik

detaya indiğiniz için teşekkürler...

Yorum ekle

Konuyla İlgili Yazılar

c# dersleri

30-C#-25-For Döngüsü Sınav Soruları

For Döngüsü Çalışma Soruları 1) Klavyeden girilecek olan bir sayının tam bölenlerini bularak ekrana yazdıran C# uygulamasını yazınız. 2) 1-500 arasındaki çift... devamı...