1 Kasım 2010 Pazartesi

ALGORİTMA ÖRNEKLERİ


ALGORİTMA ÖRNEKLERİ
YAZILIYA ÇALIŞMA SORULARI
ÖRNEK 1: Klavyeden okunan bir sayının 10 fazla ve 10 eksiğini bulup yazan programın algoritma ve akış şeması şöyledir.
Girdi    è Bir sayı (a)
Çıktı    è Sayının 10 fazlası (fazla), sayının 10 eksiği (eksik)
1.        BAŞLA
2.        OKU a
3.        fazla = a + 10
4.        eksik = a – 10
5.        YAZ fazla, eksik
6.        BİTİR

ÖRNEK 2: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması.(Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır)
Girdi:   Kısa kenar (a), Uzun Kenar (b)
Çıktı:   Alan
1.        BAŞLA
2.        OKU a
3.        a < 0 İSE GİT 2.Adım
4.        OKU b
5.        b < 0 İSE GİT 4.Adım
6.        Alan = a*b
7.        YAZ Alan
8.        BİTİR
ÖRNEK 3: Kenar uzunlukları verilen bir dik üçgenin hipotenüs uzunluğunu hesaplayan programa ait algoritmanın hazırlanması. (Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır)
Girdi:   Kısa kenar (a), Uzun Kenar (b)
Çıktı:   Hipotenüs (hip)
İşlem: kareler toplamı (a2 + b2) (karetop)

1.        BAŞLA
2.        OKU a
3.        a < 0 ise 2. adımı tekrarla
4.        OKU b
5.        b < 0 ise 4. adımı tekrarla
6.        karetop = (a*a) + (b*b)
7.        hip = karetop değerinin karekökü
8.        YAZ hip
9.        BİTİR
ÖRNEK 4: İki sayının toplamlarının karesini ve küpününü hesaplayıp yazan akış şeması şöyledir.
Girdi    è Birinci sayı (a), İkinci sayı (b)
Çıktı    è Toplam karesi(topkare), Toplam küpü(topküp)
İşlem è Toplam

1.        BAŞLA
2.        OKU a,b
3.        Toplam = a + b
4.        topkare = toplam*toplam
5.        topküp = topkare * toplam
6.        YAZ topkare, topküp
7.        BİTİR

ÖRNEK 5: Bir öğrencinin bilgisayar programlama dersinin 2 yazılı sınavından aldığı notları klavyeden okuyan, bu notların ortalamasını bulan, eğer ortalaması 45’e eşit veya 45’den büyükse “geçti”, aksi halde “kaldı” mesajı yazan programın algoritma şu şekildedir.
Girdi   è 1. sınav notu (s1), 2. sınav notu (s2)
Çıktı   è Sınav ortalaması (so)

1.       BAŞLA
2.       OKU s1,s2
3.       so = (s1 + s2) / 2
4.       EĞER so>45 veya so=45 İSE YAZ “Geçti”
5.       DEĞİLSE YAZ “Kaldı”
6.       BİTİR


 

ÖRNEK 6: Aracın otopark ücretinin hesaplanması. Araçların en fazla 24 saat kaldığını varsayın. (Ücretlendirme: 0 - 2 saat 150 bin,    2 - 8 saat 300 bin,   8-24 saat 500 bin)

1.       BAŞLA
2.       OKU saat
3.       EĞER saat>0 ve saat <= 2 ise ücret=150 TL.
4.       EĞER t<=8 ve t>2 ise ücret = 300 TL
5.       DEĞİLSE ücret = 500 TL
6.       YAZ ücret
7.       BİTİR


ÖRNEK 7: Beş sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulması.
Toplam adı için Top, Ortalama adı için Ort, Girilen sayılar için X, Arttırma için Sayac değişkenleri kullanılırsa.
  1. BAŞLA
  2. Top = 0, Sayac = 0
  3. OKU X
  4. Top= Top+X
  5. Sayac = Sayac +1
  6. EĞER Sayac <5 İSE GİT 3.Adım
  7. Ort= Top/5
  8. YAZ Top, Ort
  9. BİTİR

ÖRNEK 8: 20'den 50'ye kadar olan sayıların toplamını bulan algoritma yazınız.

1. BAŞLA
2. S=20,T=0
(Başlangıçta S=20 ve T=0 olsun )
3. T=T+S
(T ile S’yi topla ardından sonucu T’ye eşitle)
4.
S=S+1 (Sayıyı bir artır.)
5.
S<50 ise GİT 3.adım (Eğer sayı 50'den küçük ise 3.Adım’a git)
6.
YAZ T (T'nin değerini göster.)
7.
BİTİR

ÖRNEK 9: Girilen 3 tamsayıdan en büyüğünü bulan algoritma.
Enb ->en büyük sayı
1.       BAŞLA
2.       OKU a,b,c
3.       enb = a (klavyeden girilen a değerine enb varsayalım)
4.       EĞER enb < b  İSE enb = b (eğer varsayımımız yanlışsa b’yi enb’ye ata)
5.       EĞER enb < c  İSE enb = c (eğer varsayımımız yanlışsa c’yi enb’ye ata)
6.       YAZ enb
7.       BİTİR
ÖRNEK 10: Girilen bir tamsayının tek ya da çift olduğunu bulan algoritma.
(Tam -> parantez içindeki işlemi sonucunu tam sayıya çeviren özel fonksiyondur.)
1. BAŞLA
2. OKU a
3. b = tam (a/2)*2     ( (a/2) sayısının tam kısmını alır ve 2 ile çarpar)
4. EĞER b = a ise YAZ “sayı çift (eğer a çift ise, tam kısmı alındığında 3.adım sonucu b=a olur)
5. DEĞİLSE YAZ “sayı tek”
6. BİTİR

ÖRNEK 11: 1 ile 100 arasındaki tam sayılardan 2 katının 1 fazlası 5 ile tam bölünebilen kaç sayı bulunduğunu bulan algoritma.
i è sayılar,     sayac è şartı sağlayan sayıların sayısı.
1.        BAŞLA
2.        i = 1, sayac = 0
3.        k = i*2 + 1
4.        a = tam (k/5)*5
5.        EĞER a = k  İSE sayac = sayac + 1
6.        EĞER i = 100 İSE GİT 8.Adım
7.        i = i+1 ve GİT 3.Adım
8.        YAZ sayac
9.        BİTİR

ÖRNEK 12: Klavyeden girilen,bir öğrencinin numarasını,ismini ve programlama dersinin 3 yazılı sınavından aldığı notları okuyan, bu notların aritmetik ortalamasını bulan,eğer ortalaması 50'ye eşit veya 50'den büyükse ekrana numara,isim,notlar ve yazılı notlarının ortalamasını,küçükse numara,isim ve "tekrar" mesajı yazan programın algoritmasını yazınız.

Değişkenler
INO:öğrencinin numarasını,    AD:öğrencinin ismini,  VIZE1:1.vize sınavını, 
VIZE2:2.vize sınavını,VIZE3:3.vize sınavını,VIZORT:üç vize sınavının aritmetik ortalamasını
VIZTO:üç vizenin toplamını göstersin.


1-       BAŞLA
2-       OKU INO,AD,VIZE1,VIZE2,VIZE3
3-       VIZTO=(VIZE1+VIZE2+VIZE3)
4-       VIZORT=VIZTO/3
5-       EĞER VIZORT>=50 İSE GİT 6.Adım
6-       YAZ INO,AD,VIZE1,VIZE2,VIZE3,VIZORT
7-       DEĞİLSE YAZ INO, AD ve “TEKRAR”
8        BİTİR

ÖRNEK 13: Klavyeden girilen iki sayıdan en büyüğünü bulup gösteren algoritmayı yazınız.

1.       BAŞLA
2.       OKU S1,S2
(İlk sayıyı gir ; ;İkinci sayıyı gir.)3.       S1>S2 ise GİT 4.adım (Sayı 1 sayı 2'den küçükse Adım 4'e git.)4.       S2>S1 ise GİT 5.adım (Sayı 2 sayı 1'den küçükse Adım 5'e git.)5.       YAZ S1 (sayı 1 değerini göster)
6.       YAZ S2
(Sayı 2 değerini göster)7.       BİTİR

ÖRNEK 14: Bir tamsayının faktoriyelini hesaplayınız.

Girdi : Bir tamsayı
Çıktı : sayının faktoriyel
İlgili formul: Faktoriyel(n)=1*2*...*n
1.      BAŞLA
2.       OKU n (diyelim n=4 girilmiş olsun)
3.      F=1
4.  F=F*n (İlkdeğer=4 ikincideğer=4*3 ucuncudeğer=4*3*2)
5.  n= n-1 (ilkdeğer=3 ikincideğer=2 ucuncudeğer=1)
6.  EĞER n >1 İSE GİT 4.Adım (n 1’den büyük olduğu müddetçe 4.adıma git)
7.  YAZ F
8.  BİTİR


ÖRNEK 15: Bilgisayara girilen 50 öğrencinin adını, soyadını ve sınav notunu kullanarak en yüksek not alan öğrencinin adını, soyadını, en düşük not alan öğrencinin adını, soyadını yazan programın algoritmasını kodlayınız. (YN=Yüksek not, DN= Düşük not)

1. BAŞLA
2. I = 0
3. YN = 0
4. DN = 100
5. I = I + 1
6. Oku AD, SOY, NOTU
7. Eğer notu > YN ise YN = Notu, YAD = AD, YSOY=SOY
8. Eğer notu < DN ise DN= Notu, DAD= AD, DSOY=SOY
9. Eğer I<50 ise GİT 5.ADIM
10. Yaz YAD, YSOY, DAD, DSOY
11. BİTİR


ÖRNEK 16: 1-100 arasındaki çift sayıların toplamını bulan programın algoritmasını yazınız
1. BAŞLA
2. Sayac=2, Toplam=0
3. Toplam=Toplam+Sayac
4. Sayac=Sayac+2
5. EĞER Sayac<=100 İSE GİT 3.Adım
6. YAZ “1-100 Arası Çift Sayıların Toplamı=”, Toplam
7. BİTİR

4 yorum:

  1. Çok faydalı oldu hocam sağolun (:

    YanıtlaSil
  2. eweT qökhana katiLi0rum h0cam :)))

    ayseqL kamaT.))

    YanıtlaSil
  3. Algoritmalar basitim veya git gide zorlasiyormu bilgi versenize

    YanıtlaSil

Tavsiye ve eleştirileriniz bizim için önemlidir.Sayfalarımız ve bloğumuzla ilgili yorum yazınız