Bilgisayarların çok iyi çözdüğü problemler, algoritmik yapıda olanlardır yani adım
adım işlemlerden oluşan yapılardır. Bu işlemler
bilgisayarın anlayabileceği biçimde ifade edilir ve bilgisayar bu satırları
sıra ile çalıştırır.
Evden okula gitmek, kütüphanede aradığın kitabı bulmak gibi
günlük işlerimizde dahi algoritmaları kullanırız.
ALGORİTMA
SİSTEMATİK PROBLEM ÇÖZME YAKLAŞIMI
> Girdi
> Çıktı
> Matematik
> Koşullu yürütme
> Tekrarlama
AKIŞ ŞEMASI
SİSTEMATİK PROBLEM ÇÖZME YAKLAŞIMI
> Girdi
> Çıktı
> Matematik
> Koşullu yürütme
> Tekrarlama
AKIŞ ŞEMASI
Herhangi bir problemin çözümüne dair adımları göstermeye algoritma denir.
Bilgisayar biliminde algoritma, bir programın ilerleyiş adımlarını göstermek için kullanılır.
Algoritmaları iyi bilmek, doğru şekilde ve doğru zamanda uygulamak ilginç ve önemli programlar yapmanızı sağlar.
Basit bir örnek (Girilen iki sayıyı toplayan algoritma)
1.Başla
2.Değişkenler
(toplam,s1,s2)
3.Birinci sayıyı gir
4.Birinci sayı = s1
5.İkinci sayıyı gir
6.İkinci sayı = s2
7.toplam=s1+s2
8.Sonucu (toplam) ekranda
göster.
9.Bitir
Algoritmaların daha anlaşılır olabilmesi için akış şemaları kullanılır.
Akış şemasına bakan insanlar, hangi kodları yazması
gerektiğini ve algoritmanın nasıl bir şekilde işlediğini anlamaktadırlar.
Akış Şeması Şekilleri
1. Elips
Algoritma her zaman "Başla" komutu ile başlar, "Bitir"
komutu ile biter.
"Başla" ve "Bitir"i belirtmek için "elips"i
kullanırız.
2. Paralelkenar
Programımıza klavye ile veri girişi yapılacağı ya da veri işlendikten sonra ekranda veri
çıkışı bilgisini veren
semboldür.
3. Dikdörtgen
4. Eşkenar Dörtgen
Programda bir karşılaştırma durumunun olduğunu,
yani programın "Evet" veya "Hayır" cevaplarına göre bir
yol izleyeceğini bizlere aktarır.
5. Yön Okları
Akış şemasının ilerlediği yönü gösterir.
6. Altıgen
Tekrarlanacak işlemler (döngü) için
kullanılır.
7. Yamuk Dörtgen
Ekrana yazdırmak için kullanılır.
8. Daire
Akış şemaları arasında bağlantı kurmak için kullanılır.
ÖRNEK 1

1.Başla
2.Değişkenler (toplam,s1,s2)
3.Birinci sayıyı gir
4.Birinci sayı = s1
5.İkinci sayıyı gir
6.İkinci sayı = s2
7.toplam=s1+s2
8.Sonucu (toplam) ekranda göster.
9.Bitir
ÖRNEK 2
-Doğum
yılına göre yaşını bulup hesaplayan ve 18 yaşından küçükse kayıt olmasına izin
vermeyen akış şemasını çiziniz.
1.Başla
2.Değişkenler (yas, dogumYili)
3.Doğum Yılını gir
4.dogumYili = Doğum Yılı
5.yas = 2019 - dogumYili
6.Yaşı (yas) 18 veya 18’den büyükse Adım 8'e git
7.Yaşı (yas) 18'den küçük ise Adım 9'a git
8.Yaşınız 18 veya 18'den büyük kayıt olabilirsiniz.
9.Yaşınız 18'den küçük kayıt olamazsınız.
10.Bitir
2.Değişkenler (yas, dogumYili)
3.Doğum Yılını gir
4.dogumYili = Doğum Yılı
5.yas = 2019 - dogumYili
6.Yaşı (yas) 18 veya 18’den büyükse Adım 8'e git
7.Yaşı (yas) 18'den küçük ise Adım 9'a git
8.Yaşınız 18 veya 18'den büyük kayıt olabilirsiniz.
9.Yaşınız 18'den küçük kayıt olamazsınız.
10.Bitir
ÖDEV
Bir
üniversite öğrencisinin dönem geçme notunu
hesaplayıp, bu nota göre geçme kalma
durumunu
ekranda gösteren akış şemasını aşağıdaki şartlara göre
yapınız.
•İki vize
ve bir final sınav notu vardır.
•Dönem geçme notu, vize notlarının %40'ı, final notunun
%60'ı alınıp toplanarak elde edilir.
%60'ı alınıp toplanarak elde edilir.
•Dönem geçme notu 50’dir.
Döngü Mantık Yapısı
Döngüler tekrarlayan bir yapıdır. Çoğu problem, aynı işlemi farklı verileri kullanarak tekrar etmeyi gerektirir. Bu yüzden bu yapı son derece önemlidir. 3 farklı döngü yapısı vardır.
1) While/While End Döngüsü:
Bu döngü yapısı bilgisayara koşul doğru olduğu sürece işlemleri tekrarlanmasını belirtir.
While <koşullar>
{
Yönerge
Yönerge
..........
}
While End
Döngünün başlangıcında, döngü içerisinde yer alan yönergelerin işlenip işlenemeyeceğine ilişkin karar vermek için koşul kontrol edilir. Eğer koşul yanlış olursa döngü içerisindeki hiçbir yönerge işleme alınmaz. Eğer koşul doğru ise döngü içerisindeki tüm yönergeler çalıştırılır ve tekrar döngünün başına dönülür. döngü koşul durumu yanlış olana kadar devam eder.
2) Repeat / Until Döngüsü:
Bu döngü bilgisayara, yönergeleri Repeat ve Until komutları arasında bir koşul doğru olana kadar yapmasını iletir. Bu yapı ile While yapısı arasında iki temek fark vardır.
1- While döngü yapısında döngü koşul doğru olduğu sürece çalışır, oysa Repeat yapısında koşul doğru olduğunda durur.
2- While döngüsünde koşul sürecin başında; Repeat yapısında ise döngünün sonunda kontrol edilir.
Repeat
{
Yönerge
Yönerge
.............
}
Until <koşullar>
3) Otomatik Sayaç Döngüsü:
Bu yapıda döngünün her tekrarında bir değişkenin değeri ya arttırılır ya da azaltılır. arttırma değeri yönerge tarafından belirlenir. Bu döngüyü tasarlayan programcı, döngü tekrar sayısını kontrol etmek için bir sayaç tutar. Döngü bu sayaç bitirme sayısından büyük olana kadar tekrar eder. Başlama ve bitirme değeri ile arttırma değeri sabittir.
Loop: sayac= başlangıcından bitişine kadar artacak değer
{
Yönerge
Yönerge
.............
}
Loop-End: sayac
ÖDEV
Bir sınıfta 20 öğrenci vardır. Bu öğrencilerin 1
sınavdan aldıkları notları tutup sınıf ortalamasını
hesaplayan programın algoritmasını ve akış şemasını
yazınız.
Hocam çok yararlı bir blog :)
YanıtlaSil