23
ALGORİTMA VE AKIŞ ŞEMALARI programlama dilleri 1 - 2. hafta - Araş. Gör. Nesibe YALÇIN BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Algoritma ve akış şemaları

Embed Size (px)

Citation preview

Page 1: Algoritma ve akış şemaları

ALGORİTMA VE AKIŞ ŞEMALARI

programlama dilleri 1 - 2. hafta -

Araş. Gör. Nesibe YALÇIN

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Page 2: Algoritma ve akış şemaları

2

Haftalık Ders Planı

― Genel Tekrar ― Sözde Kod- Akış Şeması ― Çok Boyutlu Diziler ― Dizgeler ― İşaretçiler ― Void İşaretçiler ― Dinamik Bellek Yönetimi ― Dosya İşlemleri ― Yapılar ― Yapı ve İşaretçiler ― Bitsel İşlemler

Page 3: Algoritma ve akış şemaları

3

Algoritma

― Algoritma, bir problemin çözümünde izlenecek yol anlamına gelir ve problemin çözümünün adımlar halinde yazılmasıyla oluşturulur.

― Algoritma, verilerin bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade edilmesidir.

― Algoritma, bir programlama dili değildir.

― Algoritma, genellikle matematikte ve programlamada bir işi yapmak için tanımlanan, belli bir başlangıcı ve sonu olan, açıkça belirlenmiş basamaklardır.

Page 4: Algoritma ve akış şemaları

4

Algoritma

Örnek: Çay demleme algoritması 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

Page 5: Algoritma ve akış şemaları

5

Algoritma

Örnek: Trafik ışıklarından otomobille geçiş algoritması 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

Page 6: Algoritma ve akış şemaları

6

Algoritma

Her algoritma aşağıdaki kriterleri sağlamalıdır: 1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli. 2. Çıktı : En azından bir değer üretilmeli. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar

içermemeli. 4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda

bitmeli. 5. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği

kadar basit olmalıdır.

―Bir program için 4. özellik geçerli değildir, işletim sistemleri gibi program sonsuza dek çalışırlar .

Page 7: Algoritma ve akış şemaları

7

Algoritma

Algoritmada 3 temel bileşen vardır: 1. Değişkenler: Dışarıdan girilen ve bizim oluşturduğumuz

değerleri tutan elemanlardır. 2. Algoritma: Gerekli adımların mantıksal bir sıra ile

yazılmasıdır. 3. Akış Diyagramı: Adımların geometrik şekillerle ve adımlar

arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir.

Page 8: Algoritma ve akış şemaları

8

Algoritma

― Örnek: Verilen bir sayının küpünün bulunmasının algoritması

Adım 1- Başla Adım 2- Sayıyı oku Adım 3- Sayının küpünü hesapla Adım 4- Dur

― Değişkenler: Sayımız= A Sayının küpü= B

Algoritma: Adım 1- Başla Adım 2- A’ yı oku Adım 3- B=A*A*A yı hesapla Adım 4- B’ yi yaz Adım 5- Dur

Page 9: Algoritma ve akış şemaları

9

Algoritma - Örnekler

― Vize ve final notu girilen öğrencinin başarı notunu, vize notunun %40 ve final notunun %60’ ını alarak bulan algoritmayı yazınız.

1. Başla 2. vize, final oku 3. basarinotu=(vize*40/100+final*60/100) 4. basarinotu’ nu yaz 5. Dur

― Fiyatı girilen ürüne %18 kdv ekleyerek son fiyatı hesaplayan algoritmayı yazınız.

1. Başla 2. fiyat oku 3. kdv=fiyat*18/100 4. sonfiyat=fiyat+kdv 5. sonfiyat’ı yaz 6. Dur

Değişkenler: Vize, final, basarinotu

Değişkenler: fiyat, kdv, sonfiyat

Page 10: Algoritma ve akış şemaları

10

Algoritma - Örnekler

― Karenin alan ve çevresini bulan algoritmayı yazınız.

1. Başla 2. kenar oku 3. alan=kenar*kenar 4. cevre=4*kenar 5. alan’ ı yaz 6. cevre’ yi yaz 7. Dur

Page 11: Algoritma ve akış şemaları

11

Algoritma - Örnekler

― Klavyeden girilecek iki sayıdan büyük olanından küçük olanını çıkarıp sonucu ekrana yazacak program için algoritmayı yazınız.

1. Başla 2. A sayısını oku 3. B sayısını oku 4. Eğer A büyüktür B ise sonuc=A-B 5. Değilse sonuc=B-A 6. sonuc’ u yaz 7. Dur

Page 12: Algoritma ve akış şemaları

12

Algoritma - Örnekler

― Klavyeden girilen doğal sayının (0-999.999 aralığındaki) basamak sayısını bulan programın algoritmasını yazınız.

1. Başla 2. 0-999.999 aralığında sayı oku 3. Eğer (sayı>=0) && (sayı=9) 4. Yaz (‘’1 basamaklı’’) 5. Değilse Eğer (sayı>=10) && (sayı=99) 6. Yaz(‘’2 basamaklı’’) 7. Değilse Eğer (sayı>=100) && (sayı=999) 8. Yaz(‘’3 basamaklı’’) 9. Değilse Eğer (sayı>=1000) && (sayı=9999) 10.Yaz(‘’4 basamaklı’’) 11.Değilse eğer (sayı>=10.000) && (sayı=99.999) 12.Yaz(‘’5 basamaklı’’) 13.Değilse eğer (sayı>=100.000) && (sayı=999.999) 14.Yaz(‘’6 basamaklı’’) 15.Dur

Page 13: Algoritma ve akış şemaları

13

Algoritma - Örnekler

― Klavyeden girilen bir N değerine kadar olan pozitif sayıları toplayan ve sonucu ekrana basan algoritmayı yazın.

1. Başla 2. N’ yi oku 3. toplam=0 4. X=1 5. toplam=toplam+X 6. X=X+1 7. Eğer X<=N ise 5. adıma git 8. toplam’ ı yaz 5. Dur

Page 14: Algoritma ve akış şemaları

14

Algoritma - Örnekler

― Klavyeden girilen 10 adet sayının tam bölenlerini bulup listeleyen bir algoritma geliştiriniz.

1. Başla 2. i=1 3. dizi(i)’ yi oku 4. x=1 5. Eğer dizi(i)%x=0 ise x’ i yaz 6. x=x+1 7. Eğer x<=dizi(i) ise 5. adıma git 8. i=i+1 9. Eğer i<=10 ise 3. adıma git 10.Bitir

Page 15: Algoritma ve akış şemaları

15

Akış Şeması

― Algoritma tanımlanırken, ya bir dil kullanılmalıdır ya da çeşitli sembolik gösterimlerden ve şemalardan yararlanılabilir.

― Algoritmayı ifade etmek için kullanılan simgesel gösterimlerin başında akış şeması gelmektedir.

― Akış şeması, tasarlanacak algoritmanı şekilsel olarak ortaya konulmasıdır.

Page 16: Algoritma ve akış şemaları

16

Page 17: Algoritma ve akış şemaları

17

Akış Şeması Simgeleri

Page 18: Algoritma ve akış şemaları

18

Akış Şeması Simgeleri

Page 19: Algoritma ve akış şemaları

19

Akış Şeması Simgeleri

Page 20: Algoritma ve akış şemaları

20

Akış Şeması Simgeleri

Page 21: Algoritma ve akış şemaları

21

10 öğrenci için girilen nota göre geçip kaldığını bulan programın akış şeması

Page 22: Algoritma ve akış şemaları

22

Uygulama Örnekleri

― Dik kenarları girilen dik üçgenin hipotenüsünü hesaplayan programın algoritma ve akış diyagramını oluşturunuz.

― Girilen işlem türüne (*, /, –, +) göre iki sayıyı işleme alıp sonucunu ekrana yazan programın algoritma ve akış diyagramını oluşturunuz.

― Klavyeden şifre olarak 123 girilene kadar kaç adet tahmin yapıldığını ekrana yazan algoritma ve akış şemasını geliştiriniz.

Page 23: Algoritma ve akış şemaları

23

Uygulama Örnekleri

― Bir n değeri için şeklindeki fonksiyonun

değerini hesaplayıp ekrana algoritma ve akış şemasını geliştiriniz.

― Bir okulda bulunan 20 sınıftaki 30'ar öğrencinin her birinin 8 dersten aldıkları notların ortalamasını bulan ve öğrenci ismi ile not ortalamasını ekrana yazan programın algoritması ve akış şemasını oluşturunuz. Kullanıcının girdiği 10 sayıdan sadece çift olanları toplayıp ekrana yazdıran algoritma ve akış diyagramını oluşturunuz.