Akış Şemaları (Karar Verme Yapıları)
Akış Şemaları Döngü Kullanımı
Ö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ı
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
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
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
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ı
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ı.
10- Klavyeden girilen Fahrenayt derecesini Cantigrad’a çeviren programın akış şemasını çizin.
11- ax²+bx+c=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış diyagramını çizin.
12-Bir ürünü alış fiyatı üzerinden klavyeden vergi oranı ve kar oranı eklenerek satış fiyatına hesaplayan programın algoritması ?
- Basla
- Sayısal ( vergi_oranı , kar )
- Ondalıklı alısfiyati
- Yaz ( ‘’ alışfiyatı nedir ?’’)
- Alişfiyat <- oku()
- Yaz (‘’vergi oranı nedir ‘’ )
- Vo <- oku()
- Yaz (‘’kar oranı nedir ‘’)
- Kar <- oku()
- Satış fiyatı = alış fiyatı + ( alış fiyatı * VO/100)+(alış fiyatı * kar/100)
- Yaz ( satış fiyatı )
- 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.
- Başla
- Sayısal ( vize ve final)
- Ondalıklı ( ortalama)
- Yaz ( vize notu nedir ‘’)
- VN <- oku()
- Yaz (‘’final notu nedir ‘’)
- FN <– oku()
- Ortalama = sınav notu ( vizenotu*30/100)+(finalnotu*70/100)
- Yaz (ortalama)
- Bitti
14-yükseklik ve taban uzunluğu klaveden girilen üçgenin alanını hesaplayan uygulamayı gerçekleştiriniz .
- Başla
- Sayısal ( yükseklik ve taban )
- Ondalıklı (alan)
- Yaz (‘’yükseklik nedir’’)
- Yükseklik <- oku()
- Yaz (‘’taban uzunluğu nedir ‘’)
- Taban <- oku()
- Alan = (yükseklik*taban) /2
- Yaz ( alan )
- 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ı ?
- Başla
- Sayısal ( V,I,R)
- Yaz (‘’akım nedir’’)
- I <- OKU()
- Yaz (‘’direnç nedir’’)
- R <- oku ()
- V = I*R
- Yaz (V)
- Bitir
16-Klavyeden girilen bir sayının pozitif ya da nagatif olduğunu ekrana yazdıran algoritması.
- Başla
- Sayısal (sayı)
- Yaz (‘’sayı nedir ‘’)
- Sayı <- oku ()
- Eğer (sayı>0)
- (‘’sayı pozitiftir’’)
- Değilse
- Yaz (‘’sayı negatiftir’’)
- Eğer bitti
- Bitti
17-Öğrencinin bir dersten aldığı not klavyeden girilerek başarı durumu ekrana geçti veya kaldı şeklinde yazan uygulamanın algoritması .
- Başla
- Sayısal (sayı ve not)
- Yaz (‘’not ‘’)
- Not <- oku ()
- Eğer (not>=50)
- (‘’geçti’’)
- Değilse
- Yaz (‘’kaldı’’)
- Eğer bitti
- Bitti
18-Bir öğrencinin derslerinden 2 not ve 1 sözlü klavyeden girilerek başarı durumu ekrana geçti ve kaldı şeklinde yazan algoritması.
- Başla
- Sayısal (not1, not2 ve sözlü
- Ondalıklı (ortalama)
- Yaz (‘’not1 nedir’’)
- Not1 <- oku()
- Yaz (‘’not2 nedir’’)
- Not2 <- oku ()
- Yaz (‘’sözlü nedir’’)
- sozlu <- oku()
- Ortalama = (not1+not2+sözlü /3 )
- Eğer (ortalama >=50)
- Yaz (‘’Geçti’’)
- Değilse
- Yaz (‘’kaldı’’)
- Eğer bitti
- Bitti
19-Kullanıcıdan alınan sayının tek ya da çift kontrol edip ekranda yazdıran algoritması.
- Başla
- Sayısal (sayı)
- Yaz (‘’sayıyı gir’’)
- Sayı <- oku()
- Eğer (sayı%2 ==0)
- Yaz (‘’sayı çift’’)
- Değilse
- Yaz (‘’sayı tek ‘’)
- Eğer bitti
- 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ı.
- Başla
- Sayısal ( vize ve final)
- Ondalıklı ( ortalama),
- Yaz (‘’vize notu’’)
- vize <- oku ()
- Yaz (‘’finalnotu’’)
- Final <- oku()
- Ortalama = vize *(30/100)+final*(70/100)
- Eğer ((ortalama > 50) && (final>=50))
- Yaz (‘’Geçti’’)
- Değilse
- Yaz (‘’kaldı’’)
- 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 ?
- Başla
- Sayısal (sayı)
- Yaz (‘’sayı gir’’)
- Sayı <- oku()
- Eğer ((sayı%3>==0)&&(sayı%5==0))
- Yaz (bölünüyor)
- Değilse
- Yaz ( bölünmüyor)
- Eğer bitti
- Bitti
22-Kullanıcının klavyeden girdiği sayı 0-100 aralığındaysa geçerli değilse geçerli yazan algoritma
- Başla
- Sayısal (sayı)
- Yaz (‘’sayı gir’’)
- Sayi <- oku()
- Eğer ( sayi >=0) && (sayı<=100)
- Yaz (‘’geçerli’’)
- Değilse
- Yaz (‘’geçersiz’’)
- Eğer bitti
- Bitti
23-Öğrencinin sınavdan almış olduğu puana göre notunu ekrana yazdıran programın sahte kodlarını yazınız ?
- Başla
- Sayısal ( sayı)
- Yaz (‘’puanınızı girin’’)
- Sayı <- oku ()
- Eğer ((sayı>=0)&&(sayı<50))
- Yaz (‘’1’’)
- Değilse eğer ((sayı>=50)&&(sayı<60))
- Yaz(‘’2’’)
- Değilse eğer((sayı>=60)&&(sayı<70))
- Yaz (‘’3’’)
- Değilse eğer ((sayı>=70)&&(sayı<85))
- Yaz (‘’4’’)
- Değilse eğer ((sayı>=85)&&(sayı<=100))
- Yaz (‘’5’’)
- Değilse
- Yaz (‘’hatalı puan girdiniz’’)
- Eğer bitti
- Bitti
24-Suyun sıcaklık derecesine göre katı sıvı gaz halinde olduğu bulan ve ekrana yazan algoritma ?
- Başla
- Sayısal (sayı)
- Yaz(‘’sayı gir’’)
- sayı <- oku()
- Eğer((sayı>0)&&(sayı<100))
- Yaz (‘’sıvı’’)
- Değilse eğer ((sayı<=0)
- Yaz (‘’buz’’)
- Değilse eğer (sayı>=100)
- Yaz (‘’gaz’’)
- Eğer bitti
- 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 ?
- Başla
- Sayısal(a,b,c,delta)
- Yaz (‘’a’yı gir’’)
- A <- oku()
- Yaz (‘’b’yi gir’’)
- B <- oku()
- Yaz (‘’c’yi gir’’)
- C <- oku()
- Delta = (b*b)-(4*a*c)
- Yaz (delta)
- Eğer (delta==0)
- Yaz (çakışık 2 kök var’’)
- Değilse eğer (delta<0)
- Yaz (‘’reel kök yok’’)
- Değilse
- Yaz (‘’reel 2 kök var’’)
- Eğer bitti
- Bitti
26-Klavyeden girilen 0 ile 99.999 arasındaki basamak sayısını ekrana yazdıran algoritma ?
- Başla
- Sayısal
- Sayı <- oku()
- Değilse Eğer (sayı>=0)&&(sayı<=9)
- Yaz (‘’basamak1’’)
- Değilse Eğer (sayı>=10)&&(sayı<=99)
- Yaz(‘’basamak2’’)
- Değilse Eğer (sayı>=100)&&(sayı<=999)
- Yaz(‘’basamak3’’)
- Değilse Eğer (sayı>=1000)&&(sayı<=9999)
- Yaz(‘’basamak4’’)
- Değilse eğer (sayı>=10.000)&&(sayı<=99.999)
- Yaz(‘’basamak5’’)
- Eğer bitti
- 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 ?
- Başla
- Sayısal (maaş , çocuk sayısı, sonuç)
- Yaz(‘’maaş gir’’)
- maaş <- oku()
- Yaz (‘’çocuk sayısı’’)
- çocuk <- oku()
- Eğer ( çocuk==0)
- Yaz(‘’maaş’’)
- Değilse (çocuk==1)
- Sonuç = maaş +(maas*5/100)
- Yaz (‘’sonuç’’)
- Değilse eğer (çocuk==2)
- Sonuç= maaş+(maas*10/100)
- Yaz (sonuç)
- Değilse
- Sonuç=maaş+(maaş*15/100)
- Yaz (sonuç)
- Eğer bitti
- 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ı.
- Başla
- Sayısal
- Yaz(‘’çalıştığı saat’’)
- zaman <- oku()
- Yaz(‘’ücret saat’’)
- saatücret <- oku()
- Eğer (zaman<40)
- Maaş = zaman* saatücret
- Yaz(‘’maaş’’)
- Değilse eğer (saat>=40)
- Sonuç = (saat*2)*saatucret
- Yaz(‘’sonuç’’)
- Eğer bitti
- Bitti
29- 2.Dereceden Denkelem köklerini bulan programa ait akış şeması örneği.
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.
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ı:
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:
Kaynak : http://www.ahmetcansever.com/uncategorized/algoritma-ve-akis-diyagramlari-ornekleri/