Dosyayı İndir

BİLGİSAYAR

PROGRAMLAMAYA
GİRİŞ
 ALGORİTMA GELİŞTİRME (devamı)
Kaynak: Dr.Deniz DAL ders sunumları
BİLGİSAYARLA PROBLEM
ÇÖZÜMÜNÜN AŞAMALARI

PROBLEM
1. ANALİZ
2. ALGORİTMA GELİŞTİRME
3. AKIŞ ŞEMASI ÇİZİMİ
4. PROGRAMLAMA DİLİ SEÇİMİ
5. PROGRAMIN YAZILMASI
6. DERLEME/YORUMLAMA
7. ÇALIŞTIRMA
8. TEST/HATA AYIKLAMA
PROBLEMİ ÇÖZEN BİLG PROGRAMI
ALGORİTMA GELİŞTİRMEDE VE
BİLGİSAYAR PROGRAMLAMADA
KULLANILAN BAZI TEMEL KAVRAMLAR

1–Değişken
2–Atama
3–Fonksiyon
4–Sayaç
5–Döngü
DEĞİŞKEN

 Bir program içerisinde bilgileri geçici olarak
saklamak ve ihtiyaç duyduğumuzda bu bilgiler
üzerinde işlem yapabilmek için değişkenlerden
faydalanırız.
 Saklama kabı
ATAMA

 Herhangi bir değişkenin içerisine bir değeri veya
ifadenin/işlemin sonucunu aktarma operasyonu
 ‘’=‘’
 degisken=ifade
FONKSİYON

 Bir giriş parametresini belirli bir işlemden
geçirdikten sonra geriye bir çıkış parametresi
döndüren programlar
 kıyma makinesi
SAYAÇ

 Programlarımızda bazı işlemlerin belirli sayıda
yaptırılması veya işlenen/üretilen değerlerin
sayılması
sayac = sayac + 1

bilgisayar deyimi ile sayac adlı değişkenin eski
(önceki) değerine ‘1’ eklenmekte; bulunan sonuç
yine kendisine, yeni değer olarak aktarılmaktadır.
Bu tür değişkenlere, algoritmada “sayaç” veya
“sayıcı” (counter) adı verilir. Yani “sayaç” işlem
akışı kendisine her geldiğinde, belirtilen adım
değeri kadar artan/azalan değişkendir.
‘SAYAÇ’ KULLANIMINA ÖRNEK

sayac=sayac+3
Üçer üçer artan bir sayıcıdır
sayac=sayac-5
Beşer beşer azalan bir sayıcıdır
Örnek: Aşağıdaki algoritmada 1-5 arası sayılar (1 dahil, 5
hariç), sayaç kullanılarak ekrana yazdırılmaktadır.
Burada, sayac sayaç değişkenidir.

A1: Başla
A2: sayac=1
A3: Eğer sayac 5’e eşit ise adım 7 ye git
A4: sayac ı ekrana yaz
A5: sayac=sayac+1
A6: 3. adım’ a git
A7: Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
DÖNGÜ

 Birçok uygulamada bazı işlemlerin istenilen sayıda
tekrar ettirilmesi gereken durumlarda kullanılan
programlama yapıları
DÖNGÜ OLUŞTURMA KURALLARI

1- Döngü değişkeninin başlangıç değeri belirlenir.
2- Döngü değişkeninin bitiş değeri belirlenir.
3- Döngü değişkeninin bitiş değerine ulaşıp
ulaşmadığı test edilir.
4- İstenen işlem gerçekleştirilir.
5- Döngü değişkeni, döngü içinde adım miktarı
kadar artırılır yada azaltılır.
Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı
hesaplanmaktadır. (Aşağıdaki algoritmayı çift sayıların toplamına hangi
değişikliği yaparak dönüştürebilirsiniz?)
A1: Başla

A2: toplam=0
A3: sayac=1
A4: Eğer sayac>10 ise adım 8 e git
A5: toplam=toplam+sayac
A6: sayac=sayac+2
A7: Adım 4 e git
A8: toplam ı ekrana yaz
A9: Bitir
Döngü
2
Ax +Bx+C=0

 Adım 1: Başla
 Adım 2: A,B,C sabitlerini değişkenlere ata
 Adım 3: Deltayı hesapla
 Adım 4: Delta<0 ise Adım ..’e, değilse Adım ..’a geç
 Adım 5: Ekrana ‘’Kökler sanaldır’’ yaz Adım ..’a geç
 Adım 6: 1. kökü hesapla, x1 değişkenine ata
 Adım 7: 2. kökü hesapla, x2 değişkenine ata
 Adım 8: x1 ve x2 değişkenlerini ekrana yaz
 Adım 9: Bitir
AKIŞ DİYAGRAMI (FLOWCHART)

AKIŞ DİYAGRAMI SEMBOLÜ
KULLANIM AMACI
BAŞLANGIÇ VE BİTİŞ
BİLGİ GİRİŞİ
HESAPLAMA VE ATAMA
KARŞILAŞTIRMA
BİLGİ ÇIKIŞI
OKLAR
2
Ax +Bx+C=0
BAŞLA
A,B,C değerlerini al

Delta’yı hesapla
Delta<0
EVET
HAYIR
x1 kökünü hesapla
x2 kökünü hesapla
x1 ve x2 değerlerini
ekrana yaz
BİTİR
Ekrana ‘’Kökler
sanaldır’’ yaz
Örnek : Dışarıdan girilen iki sayının toplamını bulan
programın algoritması aşağıdaki gibidir.
A1 : Başla
A2 : sayi1 değerini gir
A3 : sayi2 değerini gir
A4 : toplam= sayi1+sayi2
A5 : toplam ı ekrana yaz
A6 : Bitir
Örnek : Dışarıdan girilen 3 sayıdan en büyüğünü bulan
algoritmayı geliştiriniz.
A1 : Başla
A2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan gir
A3 : enBuyuk=sayi1
A4 : Eğer sayi2>enBuyuk ise enBuyuk=sayi2 yap
A5 : Eğer sayi3>enBuyuk ise enBuyuk=sayi3 yap
A6 : enBuyuk değerini ekrana yaz
A7 : Bitir
Örnek: Verilen iki sayının ortalamasını hesaplayan programın
algoritmasını geliştiriniz ve akış diyagramını çiziniz.
Başla
Akış diyagramı:
sayi1=?
Algoritma:
A1 : Başla
A2 : sayi1 değerini gir
sayi2=?
ortalama=(sayi1+sayi)/2
A3 : sayi2 değerini gir
A4 : ortalama = (sayi1+sayi2)/2
ortalama
A5 : ortalama degerini ekrana yaz
A6 : Bitir
Bitir
Örnek: AX+B=0 şeklinde verilen 1. derece denklemin çözümünü
bulan programın algoritmasını geliştiriniz ve akış diyagramını
çiziniz. (A=0 girilmiş ise veri girişi yenilenecektir.)

 A1: Başla
 A2: A değerini giriniz
 A3: Eğer A 0’a eşit ise Adım 2’ye git
 A4: B değerini giriniz
 A5: X=-B/A
 A6: Yaz X
 A7: Bitir
Örnek: Verilen bir sayının faktöriyelini hesaplayan programın
algoritmasını yazınız. (Faktöriyeli hesaplanacak sayı negatif girilmişse
yeniden giriş istenmelidir.)
Değişkenler:
Sayının Faktöriyeli : faktor , Faktöriyel Değişkeni :sayac
Faktöriyeli Hesaplanacak Sayı :Y
Algoritma:
A1: Başla
A2: faktor =1; sayac =1
A3: Y’yi gir
A4: Eğer Y<0 ise 3. adima git
A5: Eğer sayac>Y ise adim 8 e git
A6: faktor=faktor*sayac
A7: sayac =sayac+1 yap ve adım 5 e git
A8: faktor degerini ekrana yaz
A9: Bitir
Örnek: 1’den 100’e kadar olan sayıların (100 dahil)
toplamını
ve
ortalamasını
bulan
algoritmayı
geliştiriniz.
Algoritma:
A1: Başla
A2: sayac=0
A3: toplam=0
A4: sayac=sayac+1
A5: toplam=toplam+sayac
A6: Eğer sayac 100’e eşit değilse Adım 4’e git
A7: ortalama=toplam/sayac
A8: Yaz toplam, ortalama
A9: Bitir
Örnek:
f(X) fonksiyonunun degeri X'in aldığı değerlere göre asağıda
verilmiştir. X'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre
her bir X degeri için f(X) fonksiyonunu hesaplayan programın akış
diyagramını çiziniz.
0<= X <= 2 f(X)=X
2< X <= 3
f(X)=X-X3-22
3< X <=4
f(X)=X2-2X+13
4< X
f(X)=X4-3X2-43
Akış Şeması

Örnek : Kenar uzunlukları dışarıdan girilen bir ABC
üçgenini kenar uzunluklarına göre inceleyen programın
algoritmasını kurunuz.
A1: Başla
A2: A,B,C değerlerini gir
A3: A=B ise A4’e git değilse A5’e git
A4: B=C ise A6’ya git değilse A8’e git
A5: A=C ise A8’e git değilse A7’e git
A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git
A7: B=C ise A8’e git, değilse A9’a git
A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git
A9: ‘Üçgen Çeşitkenardır’ yazdir
A10: Bitir
A1
A2
H
Eşkenar : A=B=C
Başla
A,B,C Gir
A3

A=B
A5
H
A=C
A7
H
İkizkenar: A=B veya
A=C veya
B=C
E
H
Çeşitkenar: A=B=C
E
A4
B=C
A6
E
Eşkenar
A8
B=C
E
İkizkenar
A9
Çeşitkenar
Bitir
A10
TEŞEKKÜR
Kitap ve ders notlarından yararlandığım Değerli Hocamız Dr.
Deniz DAL’a teşekkürlerimle…