You are on page 1of 27

BİLGİSAYAR

PROGRAMLAMA

Hafta 2
PROGRAM NEDİR?
Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış
deyimler dizisi (KOD BLOKLARI). Bu kodlar işlemcide tanımlı kodlardır.

ALGORİTMA NEDİR?
Bir programın yapacağı işlem basamaklarının adım adım yazılmasıdır.

AKIŞ DİYAGRAMI NEDİR?


Bir programın yapması gereken işlemlerin çizgisel diyagramla
gösterilmesidir.
ALGORİTMA
•Problemin bilgisayarla çözdürülmesi için programcının problemi
yeterince anlamış olması gerekir.

•Bu durum ise bir dizi ön araştırma, işlem ve planlama demektir.

•Problemin çözümü ve çözüm metodunu planlamak ancak bir ALGORİTMA


hazırlamak ile mümkündür.

• Bu amaçla, problemin çözümünde kullanılacak yöntem ve çözümde takip


edilecek her adım belli bir sıra içersinde oluşturulmuş olur.

•Yapılan bu ön hazırlık programlamaya yardımcı olmak için gereklidir.

•Programcıya yön verecektir, bilgisayar için hiçbir önemi yoktur.


ALGORİTMA HAZIRLANIRKEN DİKKAT EDİLECEK HUSUSLAR

1. Algoritmada çözüm tam olarak ifade edilmelidir.

2. Algoritma basit olmalıdır. Karışık/Kompleks olmamalıdır.

3. Yapılmak istenenler belirgin ve açık olmalıdır.

4. İşlemler yapılma sırasına göre baştan sona doğru sıralanmalıdır.

5. Her türlü olasılık için algoritma sonlu adımda bitmeli.

6. En az Sıfır veya daha fazla değer dışarıdan giriş verilmeli ve çıktı

olarak en azından bir değer üretilmelidir.


Günlük yaşantımızda yaptığımız her işi belirli bir işlem sırası halinde
yaparız. Bu da bir algoritmadır.

Örnek: Çay Demlemek

1. Başla
2. Çaydanlığa su doldur
3. Çaydanlığı ocağa koy ve altını yak
4. Suyun kaynamasını BEKLE
5. Su kaynadıysa çayı demle
6. Çaydanlığa su ekle
7. Demlik ve çaydanlığı ocağa koy
8. Suyun kaynamasını BEKLE
9. Su kaynadıysa ocağı kapat
10. Dur
Günlük yaşantımızda yaptığımız her işi belirli bir işlem sırası halinde
yaparız. Bu da bir algoritmadır.
Örnek: Telefon Etmek

1. Başla
2. Ahizeyi kaldır
3. Sinyali kontrol et, sinyal yoksa arızaya haber ver ve 9. adım’a git
4. Eğer telefon numarası yurt dışında ise iki kere sıfır tuşuna basarak ülke
ve alan kodunu tuşla, 6. adıma git
5. Eğer telefon numarası şehir dışında ise bir kere sıfır tuşuna basarak
sadece alan kodunu tuşla
6. Telefon numarasını tuşla
7. Eğer hat meşgul ise ya da cevap vermiyorsa 9. adıma git
8. Telefon konuşmasını gerçekleştir
9. Telefonu kapat
10. Dur
Algoritmada kullanılan terimler
• Veri Tipi (programdaki değişkenleri,
sabitleri, kayıt alanlarını, özel bilgi
tiplerinin adlandırılması veya
belirlenmesi)
• Değişken (x, ad, tel_no, sayi1 vs. )
• Atama (tel_no = ifade)
• Sayaç (sayi1 = sayi1 + 1, x = x+3,
sayi2=sayi2-5)
ALGORİTMA ÖRNEKLERİ

İki Sayıyı Toplayan Algoritma


Klavyeden girilecek iki sayıdan büyük olanından küçük olanını çıkarıp
sonucu ekrana yazacak program için bir algoritma geliştiriniz.

Klavyeden girilen bir N değerine kadar sayıları toplayan ve sonucu ekrana


yazan bir algoritmayı geliştirelim.

Dikkat
7. adımdan 5. adıma
bir döngü var!
1-10 arası tek sayıların toplamını hesaplayan ve sonucu ekrana yazan
bir algoritma yazalım

I. Yol: II. Yol:


1) Başla 1) Başla
2) T=0 2) T=0
3) J=1 3) J=1
4) Eğer J>10 ise Git 8. adım 4) T=T+J Dikkat
5) T=T+J döngü var !
5) J=J+2
6) J=J+2 Dikkat 6) Eğer J<10 ise Git 4. adım
7) Git 4. adım döngü var!
7) Yaz T
8) Yaz T 8) Dur
9) Dur
Klavyeden girilen bir sayının pozitif, negatif veya
sıfıra eşit olma durumunu hesaplayıp yazdıran
algoritma hazırlayınız. (S : Sayı)

1) Başla
2) Oku S
3) Eğer S > 0 ise “Pozitif” yaz,
4) Eğer S < 0 ise “Negatif” yaz,
5) Eğer S = 0 ise “Sıfıra eşit” yaz,
6) Dur
Klavyeden girilen bir yazıyı 5 kez yazdıran bir
algoritma oluşturunuz.( Y : Yazı, S : Sayaç )

1) Başla
2) S=0
3) Oku Y
4) Yaz Y
5) S = S + 1
6) Eğer S < 5 ise 4. adıma git
7) Dur
AKIŞ DİYAGRAMI (Flowchart)
Bir algoritmanın adımlarını, mantıksal sırasını, adımların birbirleriyle bağıntısını, bir
işlemden diğerine nasıl geçileceğini belirten özel şekil ve sembollerle gösterimidir.

Semboller:

Algoritmanın BAŞLADIĞINI ya da SONA ERDİĞİNİ belirtmek için kullanılır.

Araç belirtemeden GİRİŞ ya da ÇIKIŞ yapılacağını gösterir.

Klavye aracılığı ile GİRİŞ ya da OKUMA yapılacağını gösterir.

HESAPLAMA ya da değerlerin değişkenlere aktarımını gösterir.

Kart okuyucu ARACILIĞIYLA GİRİŞ yapılacağını gösterir.


AKIŞ DİYAGRAMI (Flowchart)
Semboller:

YAZICI/PRINTER ARACILIĞI ile ÇIKIŞ yapılacağını gösterir.

DÖNGÜLÜ İŞLEMLERİN yapılacağını gösterir.

Aritmetik ve mantıksal İfadeler için KARAR VERME ya da


KARŞILAŞTIRMA durumunu gösterir.

Diskten OKUMA ve diske YAZDIRMA

AKIŞ YÖNLERİNİ gösterir

Büyük yazılımlarda bir sonraki sayfadaki işlemlerin hangi noktadan devam


edeceğini gösterir (BAĞLANTI NOKTASI).
Tekrarlı Yapı
Giriş Koşullu Yapı

Giriş
Döngü değişkeni :1…
N

İşlem1 Doğru Yanlış


İşlem2 KOŞUL

İşlem1 İşlem2
Çıkış

Çıkış

Koşullu Tekrarlı Yapı Giriş

Doğru Yanlış
İşlem1 KOŞUL İşlem2
Çıkış
AKIŞ DİYAGRAMI (Flowchart)
Başla
Örnek: Telefon Etmek
Ahizeyi kaldır

Sinyal Hayır Arızaya haber ver


var mı?

Evet
Şehir
Bir kere sıfıra bas Yurt İki kere sıfıra bas ve
ve şehir kodunu tuşla Evet dışı mı? Hayır Evet ülke , alan kodunu
dışı mı? tuşla

Hayır

Telefon numarasını
tuşla

Telefon konuşmasını
Meşgul/
gerçekleştir Hayır Evet Telefonu kapat
cevap yok? Dur
AKIŞ DİYAGRAMI (Flowchart) Örnekleri
‘Merhaba Dünya’ yazdırma İki sayının toplamının bulunması

1.Adım: Başla BAŞLA


BAŞLA
2. Adım: Sayıları veri
olarak alınız (X,Y),
X,Y

3. Adım: Sayıları
ÇIKTI ‘Merhaba Dünya’ toplayınız
Toplam=X+Y
4. Adım: Hesaplanan
değeri gösteriniz.

5. Adım: Dur Toplam


DUR

DUR
AKIŞ DİYAGRAMI (Flowchart) Örnekleri
Yarıçapı verilen bir dairenin İki sayıyı Çarpama ve Ekran
alanının bulunması Yazdırma
BAŞLA
1.Adım: Başla 1.Adım: Başla BAŞLA

2.Adım: Yarıçapı gir (R=3cm) 2.Adım: A ve B


Pi‘ yi tanımla (P = ) R=3cm sayılarını oku
P=3.14 A, B
3.Adım: Dairenin alanını 3.Adım: A ve B ‘ yi
hesapla (A = P * R ^ 2) çarp, C’ ye ata
A=P*R^2
4.Adım: Yarıçap ve alanı 4.Adım: C değerini C=A*B

göster yaz

5.Adım: Dur R, A
C
5.Adım: Dur

DUR
DUR
Akış Diyagramları
İki sayıyı Çarpan ve Ekran Yazan Programın Algoritması ve Akış
Diyagramı

Adım 1-Başla
Adım 2-A'yı oku
Adım 3-B'yi oku
Adım 4-C=A*B yi hesapla
Adım 5-C'yi yaz
Adım 6-Dur
Akış Diyagramları
Aşağıda dışarıdan girilen sayının tek veya çift olup olmamasına karar
veren bir akış diyagramı yer almaktadır.
Örnek: Klavyeden girilen 3 sayının aritmetik
ortalamasını bulan programın algoritma ve
akış şemasını yazın.

Algoritma; BAŞLA
1. Oku S1,S2 ve S3
Yerine
2. Toplam=S1+S2+S3
Ort = (S1+S2+S3)/3
3. Ort =Toplam/3
yazılabilir. S1,S2,S3
4. Yaz Ort
5. Dur
Toplam =S1+S2+S3
10,15,8 değerleri için bellekteki durum ve Ort = Toplam/3
ekran çıktısı:

S1 S2 S3 Toplam Ort Ort

10 15 8 33 11
DUR
Ekran Çıktısı
Ortalama=11
Örnek:Ekrana 5 defa “Pamukkale” yazdıran
programın algoritma ve akış şemasını yazın?
BAŞLA

Algoritma; sayac=0

1. Basla
2. sayac=0 Pamukkale
3. YAZ “Pamukkale”
4. sayac=sayac+1
5. Eğer sayac<5 ise GİT 3.adım sayac=sayac+1
6. DUR

E
sayac<5
mi?

H
DUR
Örnek: Klavyeden girilen 2 sayıyı
karşılaştırıp sonucu ekrana yazdıran
algoritma ve akış şemasını yazın?

Algoritma;

1. BAŞLA
2. OKU sayi1,sayi2
3. EĞER sayi1>sayi2 İSE YAZ “1.Sayı büyüktür”
4. Değilse EĞER sayi2>sayi1 İSE YAZ “2.Sayı büyüktür”
5. DEĞİL İSE YAZ “Sayılar eşittir”
6. BİTİR
Örnek: Klavyeden girilen 2 sayıyı karşılaştırıp sonucu ekrana
yazdıran algoritma ve akış şemasını yazın?
Başla

Sayi1, Sayi2

E
‘‘1. Sayı büyüktür’’ Sayi1>
Sayi2 mi?

E
‘‘2. Sayı büyüktür’’ Sayi2>
Sayi1 mi?

‘‘Sayılar eşittir’’

Bitir
Akış Diyagramları
Klavyeden girilen bir N değerine kadar sayıları toplayan ve sonucu ekrana yazan
bir programın algoritması ve akış diyagramı
Akış Diyagramları
Yanda dışarıdan girilen 5 sayının toplamını
bulan bir akış diyagramı yer almaktadır.
Akış Diyagramları

You might also like