Algoritma ve Akış Diyagramı Soruları ve Çözümleri

Akış Şemaları (Karar Verme Yapıları)

if1

Akış Şemaları Döngü Kullanımı

for1

Örnekler:

1- Birbirinden farklı olarak verilen iki adet sayıdan, büyük olanı bulup gösteren algoritma ve akış diyagramını tasarlayınız.

BAŞLA
OKU sayi1
OKU sayi2
EĞER sayi1> sayi2 İSE YAZ sayi1
DEĞİLSE YAZ sayi2
BİTİR

Akış Diyagramı

akis2

2- Girilen vize ve final notlarına göre öğrencinin dersten geçip geçmediğini bulan algoritma ve akış diyagramını tasarlayınız.

BAŞLA
YAZ (“Vize notunu gir”)
OKU vize
YAZ (“Final notunu gir”)
OKU final
ortalama=vize * 0.40 + final * 0.60
EĞER ortalama >= 60 İSE
YAZ “Öğrenci Dersten Geçti”
DEĞİLSE
YAZ “Öğrenci Dersten Kaldı“
BİTİR

akis3

3- Verilen tamsayının sıfır, pozitif ya da negatif olup olmadığını bulan algoritma ve akış diyagramını tasarlayınız.

BAŞLA
OKU sayi
EĞER Sayı>0 İSE YAZ “Bu sayı Pozitiftir”
EĞER Sayı<0 İSE YAZ “Bu sayı Negatiftir”
EĞER Sayı=0 İSE YAZ “Bu sayı Sıfırdır”
BİTİR

akis4

4- Ekrana 10 defa programcının adını yazan algoritmayı yapınız”.

1. BAŞLA
2. Sayac=1
3. YAZ “AHMET”
4. Sayac=Sayac+1
5. EĞER Sayac<=10 İSE GİT Adım 3
6. DUR

akis5

5- 1’den 100’e kadar tek sayıları yazdıran algoritma ve akış diyagramını yapınız.

1. BAŞLA
2. Sayac=1
3. Toplam=0
4. EĞER Sayac Mod2 != 0 İSE
5. YAZ Sayac
6. Sayac=Sayac+1
7. Eğer Sayac<100 İSE GİT Adım 4
8. BİTİR

Akış Diyagramı

akis6

7- Klavyeden girilen fiyatı, KDV(%18) ekleyerek ekrana yazdırın.

1. Başla
2. Sayısal Fiyat, Sonuc
3. Yaz; “Fiyat giriniz”
4. Oku; Fiyat
5. Sonuc = Fiyat * 1.18
6. Yaz Sonuc
7. Bitir

8- Beş sayının toplamını ve ortalamasını veren programa ait algoritmayı oluşturunuz.

A1 :T = 0, Sayac = 0
A2 :X’i gir
A3 :T= T+X
A4 : Sayac = Sayac +1
A5 :Eğer Sayac <5 ise A2’ye git
A6 :Ort= T/5
A7 :T ve Ort değerlerini yaz
A8 :Bitir

9- Klavyeden girilen sayı kadar (N) sayının faktoryelini alan programın akış şeması.

akis7

10- Klavyeden girilen Fahrenayt derecesini Cantigrad’a çeviren programın akış şemasını çizin.

akis8

11- ax²+bx+c=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış diyagramını çizin.

akis9

12-Bir ürünü alış fiyatı üzerinden klavyeden vergi oranı ve kar oranı eklenerek satış fiyatına hesaplayan programın algoritması ?

  1. Basla
  2. Sayısal ( vergi_oranı , kar )
  3. Ondalıklı alısfiyati
  4. Yaz ( ‘’ alışfiyatı nedir ?’’)
  5. Alişfiyat <-       oku()
  6. Yaz (‘’vergi oranı nedir ‘’ )
  7. Vo   <-       oku()
  8. Yaz (‘’kar oranı nedir ‘’)
  9. Kar <-    oku()
  10. Satış fiyatı = alış fiyatı + ( alış fiyatı * VO/100)+(alış fiyatı * kar/100)
  11. Yaz ( satış fiyatı )
  12. Bitti

13-Üniversite bir dersin başarı notu bir vize bir final sınav notu ile hesaplanır . vize notunun kat sayısı %30 final notunun kat sayısı %70’dir. Bir öğrencinin sınavda almış olduğu bu notlar neticesinde ders ortalaması bulan programın algoritmasını ve akış şemasını çiziniz.

  1. Başla
  2. Sayısal ( vize ve final)
  3. Ondalıklı ( ortalama)
  4. Yaz ( vize notu nedir ‘’)
  5. VN <-  oku()
  6. Yaz (‘’final notu nedir ‘’)
  7. FN     <–     oku()
  8. Ortalama = sınav notu ( vizenotu*30/100)+(finalnotu*70/100)
  9. Yaz (ortalama)
  10. Bitti

14-yükseklik ve taban uzunluğu klaveden girilen üçgenin alanını hesaplayan uygulamayı gerçekleştiriniz .

  1. Başla
  2. Sayısal ( yükseklik ve taban )
  3. Ondalıklı (alan)
  4. Yaz (‘’yükseklik nedir’’)
  5. Yükseklik <-     oku()
  6. Yaz (‘’taban uzunluğu nedir ‘’)
  7. Taban <-         oku()
  8. Alan = (yükseklik*taban) /2
  9. Yaz ( alan )
  10. Bitti

15-Bir iletkenin kutupları arasındaki gerilim (V) iletkenden geçen amper türünde akım (I) iletken üzerinde var olan direncin (R) çarpımına eşittir. V=I*R formülüyle gösterilir. Formülden faydalanarak kullanıcı tarafından girilen akım ve direnç değerlerine göre iletkenin kutupları arasındaki gerilimi hesaplayan programın algoritması ?

  1. Başla
  2. Sayısal ( V,I,R)
  3. Yaz (‘’akım nedir’’)
  4. I <-      OKU()
  5. Yaz (‘’direnç nedir’’)
  6. R   <-    oku ()
  7. V = I*R
  8. Yaz (V)
  9. Bitir

16-Klavyeden girilen bir sayının pozitif ya da nagatif olduğunu ekrana yazdıran algoritması.

  1. Başla
  2. Sayısal (sayı)
  3. Yaz (‘’sayı nedir ‘’)
  4. Sayı <-       oku ()
  5. Eğer (sayı>0)
  6. (‘’sayı pozitiftir’’)
  7. Değilse
  8. Yaz (‘’sayı negatiftir’’)
  9. Eğer bitti
  10. Bitti

17-Öğrencinin bir dersten aldığı not klavyeden girilerek başarı durumu ekrana geçti veya kaldı şeklinde yazan uygulamanın algoritması .

  1. Başla
  2. Sayısal (sayı ve not)
  3. Yaz (‘’not ‘’)
  4. Not <-    oku ()
  5. Eğer (not>=50)
  6. (‘’geçti’’)
  7. Değilse
  8. Yaz (‘’kaldı’’)
  9. Eğer bitti
  10. Bitti

18-Bir öğrencinin derslerinden 2 not ve 1 sözlü klavyeden girilerek başarı durumu ekrana geçti ve kaldı şeklinde yazan algoritması.

  1. Başla
  2. Sayısal (not1, not2 ve sözlü
  3. Ondalıklı (ortalama)
  4. Yaz (‘’not1 nedir’’)
  5. Not1 <-   oku()
  6. Yaz (‘’not2 nedir’’)
  7. Not2 <-   oku ()
  8. Yaz (‘’sözlü nedir’’)
  9. sozlu <-    oku()
  10. Ortalama = (not1+not2+sözlü /3 )
  11. Eğer (ortalama >=50)
  12. Yaz (‘’Geçti’’)
  13. Değilse
  14. Yaz (‘’kaldı’’)
  15. Eğer bitti
  16. Bitti

19-Kullanıcıdan alınan sayının tek ya da çift kontrol edip ekranda yazdıran algoritması.

  1. Başla
  2. Sayısal (sayı)
  3. Yaz (‘’sayıyı gir’’)
  4. Sayı <-    oku()
  5. Eğer (sayı%2 ==0)
  6. Yaz (‘’sayı çift’’)
  7. Değilse
  8. Yaz (‘’sayı tek ‘’)
  9. Eğer bitti
  10. Bitti

20-Üniversite için vize final notları yapılmaktadır. Bir öğrencinin dersten geçme şartı vizenin %30 ile final notunun %70 in toplamı 50 ve üzeri ve final notunun 50 ve daha yüksek olma algoritması.

  1. Başla
  2. Sayısal ( vize ve final)
  3. Ondalıklı ( ortalama),
  4. Yaz (‘’vize notu’’)
  5. vize <-     oku ()
  6. Yaz (‘’finalnotu’’)
  7. Final <-     oku()
  8. Ortalama = vize *(30/100)+final*(70/100)
  9. Eğer ((ortalama > 50) && (final>=50))
  10. Yaz (‘’Geçti’’)
  11. Değilse
  12. Yaz (‘’kaldı’’)
  13. Eğer bitti

21-Kullanıcının klavyeden girdiği sayı 3’ e ve 5’ e tam bölünüyorsa ekrana tam bölünüyor yazan bölünmüyor sa bölünmüyor yazan algoritma ?

  1. Başla
  2. Sayısal (sayı)
  3. Yaz (‘’sayı gir’’)
  4. Sayı <-    oku()
  5. Eğer ((sayı%3>==0)&&(sayı%5==0))
  6. Yaz (bölünüyor)
  7. Değilse
  8. Yaz ( bölünmüyor)
  9. Eğer bitti
  10. Bitti

22-Kullanıcının klavyeden girdiği sayı 0-100 aralığındaysa geçerli değilse geçerli yazan algoritma

  1. Başla
  2. Sayısal (sayı)
  3. Yaz (‘’sayı gir’’)
  4. Sayi <-  oku()
  5. Eğer ( sayi >=0) && (sayı<=100)
  6. Yaz (‘’geçerli’’)
  7. Değilse
  8. Yaz (‘’geçersiz’’)
  9. Eğer bitti
  10. Bitti

23-Öğrencinin sınavdan almış olduğu puana göre notunu ekrana yazdıran programın sahte kodlarını yazınız ?

  1. Başla
  2. Sayısal ( sayı)
  3. Yaz (‘’puanınızı girin’’)
  4. Sayı <-   oku ()
  5. Eğer ((sayı>=0)&&(sayı<50))
  6. Yaz (‘’1’’)
  7. Değilse eğer ((sayı>=50)&&(sayı<60))
  8. Yaz(‘’2’’)
  9. Değilse eğer((sayı>=60)&&(sayı<70))
  10. Yaz (‘’3’’)
  11. Değilse eğer ((sayı>=70)&&(sayı<85))
  12. Yaz (‘’4’’)
  13. Değilse eğer ((sayı>=85)&&(sayı<=100))
  14. Yaz (‘’5’’)
  15. Değilse
  16. Yaz (‘’hatalı puan girdiniz’’)
  17. Eğer bitti
  18. Bitti

24-Suyun sıcaklık derecesine göre katı sıvı gaz halinde olduğu bulan ve ekrana yazan algoritma ? 

  1. Başla
  2. Sayısal (sayı)
  3. Yaz(‘’sayı gir’’)
  4. sayı <-    oku()
  5. Eğer((sayı>0)&&(sayı<100))
  6. Yaz (‘’sıvı’’)
  7. Değilse eğer ((sayı<=0)
  8. Yaz (‘’buz’’)
  9. Değilse eğer (sayı>=100)
  10. Yaz (‘’gaz’’)
  11. Eğer bitti
  12. Bitti

25-Kullanıcıdan ax2+bx+c=0 şeklindeki ikinci derecede denkleme ait a,b ve c değerleri istenerek deltayı hesaplayan ve gösteren çıkan delta sonucuna göre denklemin köklerinin yukardaki tabloya göre gösterilmesi sağlanan algoritma ?

  1. Başla
  2. Sayısal(a,b,c,delta)
  3. Yaz (‘’a’yı gir’’)
  4. A <-     oku()
  5. Yaz (‘’b’yi gir’’)
  6. B <-      oku()
  7. Yaz (‘’c’yi gir’’)
  8. C <-      oku()
  9. Delta = (b*b)-(4*a*c)
  10. Yaz (delta)
  11. Eğer (delta==0)
  12. Yaz (çakışık 2 kök var’’)
  13. Değilse eğer (delta<0)
  14. Yaz (‘’reel kök yok’’)
  15. Değilse
  16. Yaz (‘’reel 2 kök var’’)
  17. Eğer bitti
  18. Bitti

26-Klavyeden girilen 0 ile 99.999 arasındaki basamak sayısını ekrana yazdıran algoritma ?

  1. Başla
  2. Sayısal
  3. Sayı <-    oku()
  4. Değilse Eğer (sayı>=0)&&(sayı<=9)
  5. Yaz (‘’basamak1’’)
  6. Değilse Eğer (sayı>=10)&&(sayı<=99)
  7. Yaz(‘’basamak2’’)
  8. Değilse Eğer (sayı>=100)&&(sayı<=999)
  9. Yaz(‘’basamak3’’)
  10. Değilse Eğer (sayı>=1000)&&(sayı<=9999)
  11. Yaz(‘’basamak4’’)
  12. Değilse eğer (sayı>=10.000)&&(sayı<=99.999)
  13. Yaz(‘’basamak5’’)
  14. Eğer bitti
  15. Bitti

27-Bir fabrikada sabit maaşla çalışan işçiler aile durumlarına göre ek maaş almaktadırlr. Çocuk sayısı 1 ise maaşının %5’i kadar , çocuk sayısı 2 ise %10’u 3 ve daha fazla ise %15’i kadar aile yardımı almaktadır. Buna göre kullanıcıdan işçinin maaşı ve çocuk sayısı istenerek gerekli hesaplamayı yapan algoritma ?

  1. Başla
  2. Sayısal (maaş , çocuk sayısı, sonuç)
  3. Yaz(‘’maaş gir’’)
  4. maaş <-    oku()
  5. Yaz (‘’çocuk sayısı’’)
  6. çocuk <-    oku()
  7. Eğer ( çocuk==0)
  8. Yaz(‘’maaş’’)
  9. Değilse (çocuk==1)
  10. Sonuç = maaş +(maas*5/100)
  11. Yaz (‘’sonuç’’)
  12. Değilse eğer (çocuk==2)
  13. Sonuç= maaş+(maas*10/100)
  14. Yaz (sonuç)
  15. Değilse
  16. Sonuç=maaş+(maaş*15/100)
  17. Yaz (sonuç)
  18. Eğer bitti
  19. Bitti

28-Bir fabrikada işçinin alacağı ücret hesaplanırken şu kraterlere uyulmaktadır ;

  • Eğer işçi 40 saatten az çalışmışsa çalıştığı saat ve saat ücreti çarpılarak alacağı ücret hesaplanıyor , eğer işçi 40 saat ve daha fazla çalışmışsa çalıştığı saat 2 saat olarak hesaplanacak buna göre bilgileri alınarak ödenecek tutarı yazdıran algoritması.
  1. Başla
  2. Sayısal
  3. Yaz(‘’çalıştığı saat’’)
  4. zaman <-     oku()
  5. Yaz(‘’ücret saat’’)
  6. saatücret <-     oku()
  7. Eğer (zaman<40)
  8. Maaş = zaman* saatücret
  9. Yaz(‘’maaş’’)
  10. Değilse eğer (saat>=40)
  11. Sonuç = (saat*2)*saatucret
  12. Yaz(‘’sonuç’’)
  13. Eğer bitti
  14. Bitti

29- 2.Dereceden Denkelem köklerini bulan programa ait akış şeması örneği.

akissemasi2derecedenklem

30- Bir ücretlinin sicil numarası, çalışma saati ve saat ücreti bilgisayara giriş olarak veriliyor.Ücretlinin bu bilgilerle maaşını hesaplayan algoritmayı ve akış şemasını çiziniz.

Başla
Sicilno., calsa, saucret oku
Maas= calsa x saucret
Sicilno, Maas yaz
Dur.

akis_sema_maas

31- İki sayının farkını bulan algoritmayı yapınız.

1.Başla
2.Sayısal sayi1,sayi2,fark
3.YAZ (“1. Sayıyı girin”)
4.sayi1 < — OKU()
5.YAZ (“2. Sayıyı girin”)
6.sayi2 sayi2)
8.fark=sayi1-sayi2
9.DEĞİLSE EĞER(sayi2>sayi1)
10.fark=sayi2-sayi1
11.DEĞİLSE
12.fark=0
13.EĞER BİTTİ
14.YAZ (fark)
15.Bitir


32.Klavyeden girilen N sayısına göre 1 den N ye kadar olan tek sayıların toplamı ve çarpımı çift sayıların ise karelerinin toplamını bulan programın algoritması

BAŞLA
SAYISAL TOPLAM,CARPIM,KARETOPLAM
TOPLAM=0
CARPIM=1
OKU N
DÖNGÜ I=1, N, 1
EĞER(N%2==1)
TOPLAM=TOPLAM+I
CARPIM=CARPIM*I
DEĞİLSE
KARETOPLAM=KARETOPLAM+(I*I)
EĞER BİTTİ
DÖNGÜ BİTTİ
YAZ TOPLAM
YAZ CARPIM
YAZ KARETOPLAM
BİTTİ

Akış Şeması:

akis_sema_32

33. Klavyeden girilen 10 sayıyı toplayan ve sonucu ekranda gösteren programın algoritmasını yazınız.

BAŞLA
SAYISAL TOPLAM
TOPLAM=0
DÖNGÜ i=1, 10, 1
YAZ(“SAYIYI GİR”)
SAYI<–OKU()
TOPLAM=TOPLAM+SAYI
DÖNGÜ BİTTİ
YAZ TOPLAM
BİTTİ

34.Klavyeden girilen a ve b sayıları arasındaki sayıları listeleyen Akış Şeması Örneği:

1_n_sayi_yazdir

 

Kaynak : http://www.ahmetcansever.com/uncategorized/algoritma-ve-akis-diyagramlari-ornekleri/

Bir cevap yazın