ALGORİTMA VE AKIŞ ŞEMALARI
ALGORİTMA VE AKIŞ ŞEMALARI
İster bilgisay
İster bilgisayarla ister
arla ister bilgis
bilgisayar
ayarsız soru
sız soru çözm
çözmek
ek için belirli bir
için belirli bir yol vardır
yol vardır. Ancak bu
. Ancak bu yol ile
yol ile
sağlıklı bir çözüme ulaşılabilir. Bilgisayar kullanarak soru çözmek için sonuca giden yolun
sağlıklı bir çözüme ulaşılabilir. Bilgisayar kullanarak soru çözmek için sonuca giden yolun
tam olarak belirlenmesi gerekir. Doğru bir yol izleyebilmek için, çıkılan ve ulaşılan yer
tam olarak belirlenmesi gerekir. Doğru bir yol izleyebilmek için, çıkılan ve ulaşılan yer
tanımlanmalıdır. Aynı soru için değişik çözüm yolları geliştirilebilir. Eğer bilgisayara verilen
tanımlanmalıdır. Aynı soru için değişik çözüm yolları geliştirilebilir. Eğer bilgisayara verilen
çözüm yanlışsa, çıkan sonuç yanlış çözüm doğru ise çıkan sonuç da doğrudur.
çözüm yanlışsa, çıkan sonuç yanlış çözüm doğru ise çıkan sonuç da doğrudur.
Soru Çözme Adımları :
Soru Çözme Adımları :
Bilgisayar ortamında bir
Bilgisayar ortamında bir problem çözülürken aşağıdaki adımlara dikkat
problem çözülürken aşağıdaki adımlara dikkat edilmelidir
edilmelidir..
a-) Soru Tanımlama:
a-) Soru Tanımlama:
Her şeyden önce çözülecek soru tam olarak anlaşılmalıdır. Yanlış
Her şeyden önce çözülecek soru tam olarak anlaşılmalıdır. Yanlış
anlaşılmış bir
anlaşılmış bir sorunun çözümü yanlış olacak ve
sorunun çözümü yanlış olacak ve istenileni vermeyecektir
istenileni vermeyecektir.Bu adımda yapılacak
.Bu adımda yapılacak
en ufak bir hata
en ufak bir hata daha sonraki adımların yeni baştan yapılmasını
daha sonraki adımların yeni baştan yapılmasını gerektirebilir
gerektirebilir. Sorunun tanımı
. Sorunun tanımı
yapılırken var olan bilgiler, anlamları ve birbirleri ile ilişkileri tanımlanmalıdır. Daha sonra
yapılırken var olan bilgiler, anlamları ve birbirleri ile ilişkileri tanımlanmalıdır. Daha sonra
istenenler belirlenmeli ve bunların var olan bilgiler ile ilişkileri öğrenilmelidir. Son olarak
istenenler belirlenmeli ve bunların var olan bilgiler ile ilişkileri öğrenilmelidir. Son olarak
yyap
apıl
ılac
acak
ak iş
işle
leml
mler
er be
beli
lirl
rlen
enir
ir. . Mü
Mümk
mkün
ün is
ise
e ör
örne
nek
k ve
veri
rile
ler
r il
ile
e el
elde
de ed
edil
ilen
en so
sonu
nuçl
çlar
ar
değerlendirilmelidir.
değerlendirilmelidir.
b-)
b-) Algor
Algoritma
itma Geliş
Geliştirme
tirme::
Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.
Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.
Kısa
Kısaca algoritma
ca algoritma mevc
mevcut bilgilerd
ut bilgilerden istenile
en istenilenlere erişm
nlere erişme yöntemid
e yöntemidir
ir. Soru
. Soru tanım
tanımını tam
ını tam
olarak yaptıktan sonra, çözüm için yol aramak gerekir. Genellikle bir sorunun birden fazla
olarak yaptıktan sonra, çözüm için yol aramak gerekir. Genellikle bir sorunun birden fazla
çözüm yolu olabilir. Bunlardan en uygunu seçilmeye çalışılır. Soru ne kadar karışık olursa
çözüm yolu olabilir. Bunlardan en uygunu seçilmeye çalışılır. Soru ne kadar karışık olursa
olsun, alt birimlere bölünür. Her birimin çözümü ayrı, ayrı yapılır. Bu yapılırken birimler arası
olsun, alt birimlere bölünür. Her birimin çözümü ayrı, ayrı yapılır. Bu yapılırken birimler arası
ilişki sürekli
ilişki sürekli olarak korunur
olarak korunur..
c-) Girdi ve Çıktı Biçimi Belirleme:
c-) Girdi ve Çıktı Biçimi Belirleme:
Sonuçların dış ortama, dolayısıyla insana aktarımı
Sonuçların dış ortama, dolayısıyla insana aktarımı
düzgün bir biçimde yapılmalıdır. Programcı program çıktısı olarak almak istediği dökümün
düzgün bir biçimde yapılmalıdır. Programcı program çıktısı olarak almak istediği dökümün
biçimini tasarlar. Bir döküm biçimi tasarlanırken anlaşılır ve kullanılabilir olmasına özen
biçimini tasarlar. Bir döküm biçimi tasarlanırken anlaşılır ve kullanılabilir olmasına özen
gösterilmelidir
gösterilmelidir. Genellikle programa, çözdüğü soruna ilişkin
. Genellikle programa, çözdüğü soruna ilişkin bazı verilerin dışarıdan verilmesi
bazı verilerin dışarıdan verilmesi
gerekir. Örneğin bir denklem takımının kökleri bulunacaksa, ilgili katsayıların programa
gerekir. Örneğin bir denklem takımının kökleri bulunacaksa, ilgili katsayıların programa
verilmesi gibi.
verilmesi gibi.
d-) Akış Şemasını Çizme:
d-) Akış Şemasını Çizme:
Akış şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema
Akış şeması belirli bir işin yapılabilmesi için, basit işlemlerle şema
ha
halin
linde
de gö
göst
ster
eril
ilme
mesi
sidi
dirr. . Kı
Kısa
saca
ca al
algo
gori
ritm
tman
anın
ın şe
şema
mala
larla
rla gö
göst
ster
erilm
ilmes
esid
idir
ir. . Al
Algo
gorti
rtima
ma
geliştirildikten sonra, daha iyi anlaşılabilir olması ve programlama dillerine aktarımı daha
geliştirildikten sonra, daha iyi anlaşılabilir olması ve programlama dillerine aktarımı daha
kolay olması nedeniyle, akış şeması haline getirilir. Böylece sorunun çözüm basamakları,
kolay olması nedeniyle, akış şeması haline getirilir. Böylece sorunun çözüm basamakları,
birbirleri ile ilişkileri ve
birbirleri ile ilişkileri ve bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir.
bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir.
e-) Kodlama:
e-) Kodlama:
Akış şemaları çizildikten sonra, sorunu yapısına uygun bir programlama dili
Akış şemaları çizildikten sonra, sorunu yapısına uygun bir programlama dili
seçilir. Bu dil ile akış şemaları dilin kurallarına uygun olarak bilgisayarın anlayabileceği
seçilir. Bu dil ile akış şemaları dilin kurallarına uygun olarak bilgisayarın anlayabileceği
duruma getirilir.
duruma getirilir.
f-) Programı Sınama:
f-) Programı Sınama:
Program yazıldıktan sonra, sonuçları daha önceden bilinen veriler
Program yazıldıktan sonra, sonuçları daha önceden bilinen veriler
girilerek, eldeki sonuçlarla çıkan sonuçlar karşılaştırılır. Programın doğru çalışıp çalışmadığı
girilerek, eldeki sonuçlarla çıkan sonuçlar karşılaştırılır. Programın doğru çalışıp çalışmadığı
sınanır.
sınanır.
Şi
Şimd
mdi
i al
algo
gori
ritm
tma
a ha
hazı
zırl
rlam
ama
a iş
işle
lemi
mini
ni da
daha
ha ay
ayrı
rınt
ntıl
ılı
ı
olar
ol
arak
ak in
ince
cele
leyyel
elim
im..
ÇünküÇünkü programlamanın en önemli kısmı algoritma hazırlayabilmektir. Algoritma hazırlandıktan programlamanın en önemli kısmı algoritma hazırlayabilmektir. Algoritma hazırlandıktan sonra hazırlanan algoritmanın herhangi bir programlama dilinde kodlanması işin en basit sonra hazırlanan algoritmanın herhangi bir programlama dilinde kodlanması işin en basit kısmıdır. Bu yüzden kullanılan dilin basic ya da başka bir programlama dili olması hiçbir kısmıdır. Bu yüzden kullanılan dilin basic ya da başka bir programlama dili olması hiçbir şeyi değiştirmez. Yani burada önemli olan programlama dili değil problemin çözümü için şeyi değiştirmez. Yani burada önemli olan programlama dili değil problemin çözümü için algoritma geliştirebilmektir. Bu yüzden kullanılan programlama dilinin eski yada yeni bir algoritma geliştirebilmektir. Bu yüzden kullanılan programlama dilinin eski yada yeni bir programlama dili olması hiçÖrnek bir Algoritma
Örnek bir Algoritma
Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. tanımlamaktadır. Çözüm 1: Çözüm 1: Evden dışarıya çık Evden dışarıya çık Otobüs durağına yürü Otobüs durağına yürü
Durakta gideceğin yöndeki otobüsü bekle Durakta gideceğin yöndeki otobüsü bekle Otobüsün geldiğinde otobüse bin
Otobüsün geldiğinde otobüse bin Biletini bilet kumbarasına at Biletini bilet kumbarasına at
İneceğin yere yakınlaştığında arkaya yürü İneceğin yere yakınlaştığında arkaya yürü İneceğini belirten ikaz lambasına bas İneceğini belirten ikaz lambasına bas Otobüs durunca in
Otobüs durunca in İşyerine doğru yürü İşyerine doğru yürü
İş yeri giriş kapısından içeriye gir İş yeri giriş kapısından içeriye gir Mesai arkadaşlarınla selamlaş Mesai arkadaşlarınla selamlaş İş giysini giy
İş giysini giy
İşini yapmaya başla. İşini yapmaya başla.
1. Algoritma Hazırlanması: 1. Algoritma Hazırlanması:
Algoritmanın bir sorunun çözümü için izlenecek yolun tanımı olduğunu belirtmiştik. Bu
Algoritmanın bir sorunun çözümü için izlenecek yolun tanımı olduğunu belirtmiştik. Bu
yolu
yolun açıklana
n açıklanabilme
bilmesi için, algoritma
si için, algoritmada
da kulla
kullanılan bazı tanım ve kurallar vard
nılan bazı tanım ve kurallar vardır
ır. Şimdi bu
. Şimdi bu
tanım ve kuralları inceleyelim.
tanım ve kuralları inceleyelim.
1.1. Değişken Kavramı:
1.1. Değişken Kavramı:
Far
Farklı
klı zam
zaman
anlar
larda
da far
farklı
klı değ
değerl
erler
er ala
alabil
bilen
en bil
bilgi
gi sah
sahala
alarına
rına ver
verile
ilen
n se
sembo
mbolik
lik adl
adlard
ardır
ır..
Bilgi
Bilgisaya
sayar
r işlem
işlem yapa
yaparken
rken RAM
RAM belle
belleği(ge
ği(geçici
çici belle
bellek)
k) kulla
kullanır
nır. . İşte
İşte prog
program
ram yaz
yazılırken
ılırken
programcının Ram belleği kullanmasını sağlayan değişkenlerdir. Değişkenler Ram bellekte
programcının Ram belleği kullanmasını sağlayan değişkenlerdir. Değişkenler Ram bellekte
tahsis edilmiş odacıklar olarak düşünülebilir. Yani bir değişken tanımlandığında ram bellekte
tahsis edilmiş odacıklar olarak düşünülebilir. Yani bir değişken tanımlandığında ram bellekte
bi
bir
r oda
odacık
cık (bi
(bir
r böl
bölüm)
üm) aç
açılır
ılır ve
ve bu
bu böl
bölüm
üme
e de
değiş
ğişken
ken ism
ismiy
iyle
le ula
ulaşıl
şılır
ır. . Pro
Progra
gram
m içi
içinde
nde
kul
kullan
lanıla
ılaca
cak
k ola
olan
n değ
değişk
işkenl
enler
er pro
proble
blemin
min tan
tanımı
ımı ve
ve gir
girdi-ç
di-çıkt
ıktı ı bel
belirle
irleme
me aş
aşama
amalar
larınd
ındaa
belirlenmelidir.
belirlenmelidir.
Örneğin klavyeden girilen iki sayının toplamını bulan program yazılırken 3 tane değişken
Örneğin klavyeden girilen iki sayının toplamını bulan program yazılırken 3 tane değişken
tanımlanmalıdır. Çünkü klavyeden 2 tane sayı girilecek ve bu sayılar toplanarak 3. bir
tanımlanmalıdır. Çünkü klavyeden 2 tane sayı girilecek ve bu sayılar toplanarak 3. bir
değişkene aktarılacaktır.
değişkene aktarılacaktır.
Sor
Soru:
u: Kla
Klavye
vyeden
den gir
girile
ilen
n 3
3 say
sayını
ının
n ar
aritm
itmeti
etik
k ort
ortala
alamas
ması ı bul
bulunu
unurke
rken
n kaç
kaç değ
değişk
işken
en
tanımlanmalıdır.
tanımlanmalıdır.
1.2. Aktarma Deyimi:
1.2. Aktarma Deyimi:
Akta
Aktarma
rma deyi
deyimi
mi yada operatörü değişke
yada operatörü değişkenlere
nlere değe
değer
r akta
aktarmak
rmak için
için kulla
kullanılır
nılır..
A=5
A=5
yada
yada
A=A+1
A=A+1
şeklindeki bir yazılımda “=
şeklindeki bir yazılımda “
=” sembolü aktarma deyimi adını alır. Aktarma deyiminin
” sembolü aktarma deyimi adını alır. Aktarma deyiminin
sağ tarafındaki değer yada matematiksel ifadenin sonucu, sol tarafındaki değişkene aktarılır.
sağ tarafındaki değer yada matematiksel ifadenin sonucu, sol tarafındaki değişkene aktarılır.
Aktarma yapılırken değişkenin aldığı bir önceki değer kaybolur. Bu işlem matematiksel
Aktarma yapılırken değişkenin aldığı bir önceki değer kaybolur. Bu işlem matematiksel
mantıkla karıştırılmamalıdır. Matematikte
mantıkla karıştırılmamalıdır. Matematikte
A=A+1
A=A+1
yanlış olduğu halde, bilgisayar mantığında
yanlış olduğu halde, bilgisayar mantığında
doğrudur.
doğrudur.
Sayı1=9
Sayı1=9
Sayı2=6
Sayı2=6
Toplam=Sayı1+Sayı2
Toplam=Sayı1+Sayı2
Toplam=Toplam*2
Toplam=Toplam*2
Soru 1:
Soru 1:
Sayi1=1
Sayi1=1
Sayi2=1
Sayi2=1
Sayi3=Sayi1+Sayi2
Sayi3=Sayi1+Sayi2
Sayi4=Sayi3+Sayi2
Sayi4=Sayi3+Sayi2
Sayi5=Sayi4+Sayi3
Sayi5=Sayi4+Sayi3
Y
Yukarıdaki aktarma işlemlerinin
ukarıdaki aktarma işlemlerinin sonucunda değişkenlerin değişimini şema
sonucunda değişkenlerin değişimini şema halinde gösteriniz.
halinde gösteriniz.
Soru2:
Soru2:
Vize=60
Vize=60
Final=70
Final=70
Toplam=(Vize*40/100)+(Final*60/100)
Toplam=(Vize*40/100)+(Final*60/100)
Ortalama=Toplam/2
Ortalama=Toplam/2
Y
Yukarıdaki aktarma işlemlerinin
ukarıdaki aktarma işlemlerinin sonucunda değişkenlerin değişimini şema
sonucunda değişkenlerin değişimini şema halinde gösteriniz.
halinde gösteriniz.
1.3. Matematiksel Mantık ve
1.3. Matematiksel Mantık ve Karar Sembolleri:
Karar Sembolleri:
Algoritmada kullanılan karar sembolleri
Algoritmada kullanılan karar sembolleri aşağıdaki tabloda belirtilmiştir.
aşağıdaki tabloda belirtilmiştir.
-
+
*
/
=
-
+
*
/
=
Ç
Çııkkaarrm
maa
T
Tooppllaam
maa
Ç
Çaarrppm
maa
B
Bööllm
mee
A
Akkttaarrm
maa
<
<>
>
<
<
>
>
<
<=
=
>
>=
=
E
Eşşiit
t ddeeğğiill
K
Küüççüükkttüürr
B
Büüyyüükkttüürr
K
Küüççüük
k eeşşiitt
B
Büüyyüük
k eeşşiitt
Örnekler:
Örnekler:
Dyili=1977
Dyili=1977
Yas=2003-1977
Yas=2003-1977
1.Sayi=-5
1.Sayi=-5
2.Eğer Sayi<0
2.Eğer Sayi<0 ise
ise Y
Yaz “Sayı
az “Sayı Negatif”
Negatif”
3.Eğer Sayi>0 ise Yaz “Sayı Pozitif”
3.Eğer Sayi>0 ise Yaz “Sayı Pozitif”
4.Eğer Sayi=0 ise Yaz “Sayı Sıfırdır”
4.Eğer Sayi=0 ise Yaz “Sayı Sıfırdır”
Y
Yandaki işlemlerin
andaki işlemlerin sonucunda bellekteki
sonucunda bellekteki değişkenlerin
değişkenlerin
değerleri şu
değerleri şu şekilde değişir.
şekilde değişir.
Sayı1
Sayı2
Toplam
Sayı1
Sayı2
Toplam
99
66
115
5
3300
RAM BELLEK
RAM BELLEK
Y
Yanda
andaki
ki örnek
örnekte
te Sayi
Sayi değiş
değişkeni
kenine
ne -5
-5
değeri aktarılmıştır. Diğer satırlarda ise
değeri aktarılmıştır. Diğer satırlarda ise
Sayi değişkenin içeriğine bakılarak bir
Sayi değişkenin içeriğine bakılarak bir
m
meesa
saj
j vver
eril
ilm
meekt
kteedi
dirr.
. Bu
Bu ör
örne
nekkte
te
yaln
yalnızca
ızca 2. sa
2. satırdak
tırdaki şart
i şart sağl
sağlanır v
anır vee
ekrana “Sayı Negatiftir”
Bir veya birden fazla koşul bazı bağlaçlarla bir araya getirilerek daha karmaşık sorular
Bir veya birden fazla koşul bazı bağlaçlarla bir araya getirilerek daha karmaşık sorular
sorulabilir
sorulabilir. Örneğin yas (kişinin yaşı) değ
. Örneğin yas (kişinin yaşı) değişkeninin içeriği kontrol edilmek isten
işkeninin içeriği kontrol edilmek istendiğinde
diğinde şöyle
şöyle
bir şart cümlesi kullanılabilir:
bir şart cümlesi kullanılabilir:
Yas=-5
Yas=-5
Eğer yas<0
Eğer yas<0 V
Veya Y
eya Yas=0 ise Yaz “Y
as=0 ise Yaz “Yanlış
anlış Değer
Değer Giril
Girildi”
di”
Algoritmada kullanılabilecek bağlaçlar VE, VEYA, DEĞİL bağlaçlarıdır.
Algoritmada kullanılabilecek bağlaçlar VE, VEYA, DEĞİL bağlaçlarıdır.
VE Bağlacı:
VE Bağlacı:
Ve bağlacı ile söylenmek istenen her iki koşulun da sağlanmasıdır. VE bağlacı
Ve bağlacı ile söylenmek istenen her iki koşulun da sağlanmasıdır. VE bağlacı
ile bağlanmış önermelerden en az birinin
ile bağlanmış önermelerden en az birinin yanlış olması sonucu yanlış yapar.
yanlış olması sonucu yanlış yapar.
VEYA Bağlacı:
VEYA Bağlacı:
VEYA bağlacı ile bağlanan koşullardan en az birisi doğru ise sonuç doğrudur.
VEYA bağlacı ile bağlanan koşullardan en az birisi doğru ise sonuç doğrudur.
İkiden fazla önermeler için, önermelerden en az birinin
İkiden fazla önermeler için, önermelerden en az birinin doğru olması sonucu doğru yapar.
doğru olması sonucu doğru yapar.
DEĞİL Bağlacı:
DEĞİL Bağlacı:
DEĞİL bağlacı doğruyu yanlış, yanlışı doğru yapar.DEĞİL tek bir önerme
DEĞİL bağlacı doğruyu yanlış, yanlışı doğru yapar.DEĞİL tek bir önerme
veya koşul üzerinde uygulanır. VE, VEYA ise iki önerme veya koşul üzerinde uygulanır.
veya koşul üzerinde uygulanır. VE, VEYA ise iki önerme veya koşul üzerinde uygulanır.
Doğru=1
Doğru=1
ve
ve
Yanlış=0
Yanlış=0
tanımıyla, aşağıdaki tabloda bağlaçların x ve y’nin alacağı değerlere
tanımıyla, aşağıdaki tabloda bağlaçların x ve y’nin alacağı değerlere
göre sonuçları
göre sonuçları gösterilmiştir
gösterilmiştir..
X
X
Y
Y
X
X
V
VE
E
Y
Y
X
X
V
VE
EY
YA
A
Z
Z
Z
Z
D
DE
EĞ
ĞİİL
L
Z
Z
00
00
00
00
00
11
00
11
00
11
11
00
11
0
0
0
0
11
11
1
1
1
1
11
Örnek:
Örnek:
DEĞİl
DEĞİl
A=1
A=1
VE
VE
B=C
B=C
VEYA
VEYA
(D=2
(D=2
VE
VE
ADI=”AHMET”) önermesini A=
ADI=”AHMET”) önermesini A=5, B=4, C=4, D=3
5, B=4, C=4, D=3 ve
ve
ADI=”AHMET” için bulalım.
ADI=”AHMET” için bulalım.
DEĞİl
DEĞİl
A=1
A=1
VE
VE
B=C
B=C
VEYA
VEYA
(D=2
(D=2
VE
VE
ADI=”AHMET”)
ADI=”AHMET”)
11
VE
VE
11
VEYA
VEYA
(0
(0
VE
VE
1)
1)
11
VEYA
VEYA
0
0
00
1.4. Matematiksel İşlemler:
1.4. Matematiksel İşlemler:
Mat
Matema
ematik
tiksel
sel işl
işleml
emleri
eri alg
algori
oritma
tmada
da ayn
aynen
en kul
kullan
lanama
amayı
yız.
z. Bil
Bilgis
gisay
ayar
ar ma
mantı
ntığın
ğına
a gör
göree
matematiksel ifadelerin yeniden yazılmaları gerekir.
matematiksel ifadelerin yeniden yazılmaları gerekir. Algoritmada işlem öncelik
Algoritmada işlem öncelik sırası kuralları
sırası kuralları
aşağıda verilmiştir. Parantez kullanılarak işlem öncelik sıraları değiştirilir. İç içe kullanılan
aşağıda verilmiştir. Parantez kullanılarak işlem öncelik sıraları değiştirilir. İç içe kullanılan
parantezlerde öncelik en içtekindedir. Aynı işlem önceliğine sahip elemanlarda işlem soldan
parantezlerde öncelik en içtekindedir. Aynı işlem önceliğine sahip elemanlarda işlem soldan
sağa doğrudur.
sağa doğrudur.
İşlem öncelik sırası kuralları
İşlem öncelik sırası kuralları
S
Sıırraa
T
Taannıım
m
M
Maatteem
maattiikk
B
Biillggiissaayyaar
r
11
P
Paarraanntteezzlleerr
(((
( ))))
(((
( ))))
22
Ü
Üs
s
A
Allm
maakk
aa
nna^n
a^n
33
Ç
Çaarrppm
ma
a vve
e B
Bööllm
mee
aab
b aa//bb
aa**b
b aa//bb
44
T
Tooppllaam
ma
a vve
e Ç
Çııkkaarrm
maa
aa+
+b a
b a--bb
aa+
+b a
b a--bb
Örnek:
(C*D/(A*D))+B+C*D/A
(C*D/(A*D))+B+C*D/A
A A CD CD B B AD AD CD CD + + + +C+B*A/A-B^C*(B-C)^B
C+B*A/A-B^C*(B-C)^B
B BC C B B C C B B A A BA BA C C ++ −−((
−−))
2. Akış Şeması Hazırlama:
2. Akış Şeması Hazırlama:
Geliştirilecek olan yazılımın genel yapısının şematik gösterimine
Geliştirilecek olan yazılımın genel yapısının şematik gösterimine
akış şeması veya blok diyagramı adı verilir. Akış diyagramları, yazılımı oluşturacak program
akış şeması veya blok diyagramı adı verilir. Akış diyagramları, yazılımı oluşturacak program
parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler.
parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler.
Bir bilgisayar programının Bir bilgisayar programının oluşturulmasında akış diyagramlarının hazırlanması, algoritma oluşturma aşamasından oluşturulmasında akış diyagramlarının hazırlanması, algoritma oluşturma aşamasından sonsonra ra gelmgelmekteektedirdir..
Bil
Bilgis
gisay
ayar
ar pro
progra
gramın
mının
ın olu
oluştu
şturul
rulmas
ması ı sır
sırası
asında
nda alg
algori
oritma
tma aş
aşama
aması
sı
atl
atlana
anarak
rak, , doğ
doğrud
rudan
an akı
akış
ş diy
diyagr
agraml
amları
arının
nın haz
hazırla
ırlanma
nmasın
sına
a baş
başlan
lanabi
abilir
lir. . Pro
Progra
gramla
mlama
ma
tekniğinde önemli ölçüde yol almış kişiler bu aşamayı da atlayarak direkt olarak programın
tekniğinde önemli ölçüde yol almış kişiler bu aşamayı da atlayarak direkt olarak programın
yaz
yazımına
ımına geçe
geçebilirle
bilirlerr.Akış
.Akış şema
şemalarını
larının
n algor
algoritmad
itmadan
an fark
farkı,
ı, adıml
adımların
arın simge
simgeler
ler şekl
şeklinde
inde
ku
kutu
tula
lar
r iç
için
inde
de ya
yazı
zılm
lmış
ış ol
olma
ması
sı ve
ve ad
adım
ımla
lar
r ar
aras
asın
ında
daki
ki ili
ilişk
şkil
iler
erin
in (i
(iş
ş ak
akış
ışı)
ı) ok
okla
lar
r ile
ile
gösterilmesidir.
gösterilmesidir.
Akış şemalarında Akış şemalarında kullankullanılan ılan sembosembollerller, , anlamanlamları ları ve ve kullakullanış nış amaçlamaçları arı aşağıdaşağıdakiaki tabloda verilmiştir.tabloda verilmiştir.
T
Tablo 1. İş ablo 1. İş akış şemalarında kullanılan akış şemalarında kullanılan semboller ve anlamlarısemboller ve anlamları
S
Siimmggee SSiimmggeenniin n AAddı ı vve e AAnnllaammıı
Elips
ElipsAkış şemasının başlangıç ve bitiş yerlerini gösterir. BaşlangıçAkış şemasının başlangıç ve bitiş yerlerini gösterir. Başlangıç
simgesinden çıkış oku vard
simgesinden çıkış oku vardır. Bitiş simgesinde giriş oku vardıır. Bitiş simgesinde giriş oku vardır.r.
Paralel Kenar
Paralel Kenar : Programa veri girişi ve programdan elde edilen: Programa veri girişi ve programdan elde edilen sonuçların çıkış
sonuçların çıkış işlemlerini gösterir.(Oku, Yaz)işlemlerini gösterir.(Oku, Yaz)
Dikdörtgen
Dikdörtgen Aritmetik işlemler ve değişik atama işlemlerinin temsilAritmetik işlemler ve değişik atama işlemlerinin temsil edilmesi için kullanılır.(A=A+1, Final=100 vb..)
edilmesi için kullanılır.(A=A+1, Final=100 vb..)
Eşkenar Dörtgen
Eşkenar Dörtgen Bir karar verme işlemini temsil eder. (Eğer sayi<0Bir karar verme işlemini temsil eder. (Eğer sayi<0
ise Y
ise Yaz “Sayı negatif” az “Sayı negatif” vb…)vb…)
Altıgen
AltıgenProgram içinde belirli blokların ard arda tekrar edileceğiniProgram içinde belirli blokların ard arda tekrar edileceğini
gösterir.(Döngü kurmak için kullanılır) gösterir.(Döngü kurmak için kullanılır)
Oklar
Oklar Diyagramın akış yönünü ,yani her hangi bir adımdaki işlemDiyagramın akış yönünü ,yani her hangi bir adımdaki işlem tamamlandıktan sonra hangi adıma gidileceğini gösterir.
tamamlandıktan sonra hangi adıma gidileceğini gösterir.
Ayrıntılı bir akış şeması, yazılımı oluşturan işlemleri ve ilişkilerini en küçük detayına kadar belirler. Ayrıntılı bir akış şeması, yazılımı oluşturan işlemleri ve ilişkilerini en küçük detayına kadar belirler.
Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun bu programların Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun bu programların akış diyagramlarında genel olarak yalnız
akış diyagramlarında genel olarak yalnız üç basit mantıksal yapı kullanılır. Bu mantıksal yapılardan enüç basit mantıksal yapı kullanılır. Bu mantıksal yapılardan en basiti sıralı yapıdır. Sıralı yapı, hazırlanacak programdaki her işlemin mantık sırasına göre nerede yer basiti sıralı yapıdır. Sıralı yapı, hazırlanacak programdaki her işlemin mantık sırasına göre nerede yer alması gerektiğini vurgular. Bu yapı sona erinceye kadar ikinci bir işlem başlayamaz.
alması gerektiğini vurgular. Bu yapı sona erinceye kadar ikinci bir işlem başlayamaz.
Şekil 1.2
Şekil 1.2 Sıralı YapıSıralı Yapı
Mantıksal yapılardan ikincisi Karar Verme yapısıdır (Şekil 1.3). Programlama sırasında If...Then... Else Mantıksal yapılardan ikincisi Karar Verme yapısıdır (Şekil 1.3). Programlama sırasında If...Then... Else (Eğer…. <şart> ….İse….)yapısı ile tanıyacağımız bu mantıksal yapılar, birden fazla sıralı yapı
(Eğer…. <şart> ….İse….)yapısı ile tanıyacağımız bu mantıksal yapılar, birden fazla sıralı yapı seçeneğini kapsayan modüllerde, hangi şartlarda hangi sıralı yapının seçileceğini belirler. seçeneğini kapsayan modüllerde, hangi şartlarda hangi sıralı yapının seçileceğini belirler.
Şekil 1.3
Şekil 1.3 Karar Verme YKarar Verme Yapısıapısı
Üçüncü mantıksal yapı çeşidini
Üçüncü mantıksal yapı çeşidini tekrarlı yapılar tekrarlı yapılar oluşturmaktadır. Yoluşturmaktadır. Yani döngü oluşturmak ani döngü oluşturmak için kullanılaniçin kullanılan yapıdır. Döngüler aynı işlemin bir çok kez yapılmasını sağlar.Söz konusu üç değişik yapı, değişik yapıdır. Döngüler aynı işlemin bir çok kez yapılmasını sağlar.Söz konusu üç değişik yapı, değişik kombinezonlarda kullanılarak istenilen işlevleri yerine getirecek programlar hazırlanabilir. Programların kombinezonlarda kullanılarak istenilen işlevleri yerine getirecek programlar hazırlanabilir. Programların bu üç basit yapı ile sınırlandırılması program modüllerinin daha kolay tasarlanmasını sağlar.
a
a bb
Şekil 1.4. Tekrarlı Yapı Şekil 1.4. Tekrarlı Yapı