Bilgisayar
Bilgisayar
Bilgisayar
Bilgisayar
2
2
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Programlama dillerine bak
Programlama dillerine bak
Programlama dillerine bak
Programlama dillerine bak
C Programlama dili
C Programlama dili
C Programlama dili
C Programlama dili
ÇERK
ÇERK
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Problemi analiz etme, ak diyagram oluturma
Programlama dillerine bak
Programlama dillerine bak
Programlama dillerine bak
Programlama dillerine bak
C Programlama dili
C Programlama dili
C Programlama dili
C Programlama dili
ÇERK
ÇERK
3 3
K
K
aynaklar
aynaklar
K
K
aynaklar
aynaklar
Aç AçAçAç klamal klamal klamal klamal A A A Algoritma, D.M. Gezgin, 2009lgoritma, D.M. Gezgin, 2009lgoritma, D.M. Gezgin, 2009lgoritma, D.M. Gezgin, 2009
C++ Örneklerle Programlama Dili, Hasan Ylmaz, TürkmenC++ Örneklerle Programlama Dili, Hasan Ylmaz, TürkmenC++ Örneklerle Programlama Dili, Hasan Ylmaz, TürkmenC++ Örneklerle Programlama Dili, Hasan Ylmaz, Türkmen
Kitabevi, 2005 Kitabevi, 2005 Kitabevi, 2005 Kitabevi, 2005
te C Programlama Dili, Rifat Çölkesen, Papatya Yaynclk,te C Programlama Dili, Rifat Çölkesen, Papatya Yaynclk,te C Programlama Dili, Rifat Çölkesen, Papatya Yaynclk,te C Programlama Dili, Rifat Çölkesen, Papatya Yaynclk,
2000 2000 2000 2000
Programlama Dilleri, C ile programlama, YalProgramlama Dilleri, C ile programlama, YalProgramlama Dilleri, C ile programlama, YalProgramlama Dilleri, C ile programlama, Yalçççç n Özkan, n Özkan, n Özkan, n Özkan, A A A Alfa,lfa,lfa,lfa,
2003 2003 2003 2003
Standart C Programlama Dili, F. Kadifeli,Standart C Programlama Dili, F. Kadifeli,Standart C Programlama Dili, F. Kadifeli,Standart C Programlama Dili, F. Kadifeli, A A A A.C.C.Say, M.U..C.C.Say, M.U..C.C.Say, M.U..C.C.Say, M.U.
Çalayan Çalayan Çalayan Çalayan
Programlama Dilleri Ders Notlar, Filiz KalelioluProgramlama Dilleri Ders Notlar, Filiz KalelioluProgramlama Dilleri Ders Notlar, Filiz KalelioluProgramlama Dilleri Ders Notlar, Filiz Kaleliolu
Programlama Dilleri I Ders Notlar, Bora UurluProgramlama Dilleri I Ders Notlar, Bora UurluProgramlama Dilleri I Ders Notlar, Bora UurluProgramlama Dilleri I Ders Notlar, Bora Uurlu
Programlama Dili
Programlama Dili
Programlama Dili
Programlama Dili
Programlama
Programlama
P
Pr
ro
og
gr
ra
am
ml
la
am
ma
a
d
di
d
di
il
il
li
li
i
i
p
pr
p
pro
ro
ro
og
gram
gr
gr
ra
am
am
mc
c
c
c
n
nn
nn
n
n
n
p
pro
program
program
ro
gr
gr
am
am
yazarken
yazarken
yazarken kulland
yazarken kulland
kulland özel
kulland özel
özel bir
özel bir
bir dildir
bir dildir
dildir.
dildir.
.
.
Program
Program
P
Pr
ro
og
gr
ra
am
m
ya
y
ya
y
az
az
za
za
ar
ar
rk
rk
ke
ke
en
en
n
n
d
di
d
di
il
il
l
l
s
se
se
se
e
ç
ç
ç
ç
imi,
imi,
i
im
mi
i,
,
y
ya
yazlacak
yazlacak
az
z
l
la
ac
ca
ak
k
programn
programn
programn niteliine
programn niteliine
niteliine göre
niteliine göre
göre yaplmaldr
göre yaplmaldr
yaplmaldr..
yaplmaldr..
Bilgisayar
Bil
Bilgis
Bilgisayar
gisaya
ayar
r
kullan
kull
kullan
kull
anmn
anmn
mnn
mnn
n
n
art
artmas
ar
ar
tmas
tm
mas
as
il
ile
i
ile
le
e
ihtiya
ih
ihti
ihtiya
tiy
ya
a
ç
ç
ç
ç
lara
lara
lara
lara
göre
göre
göre programlama
5
Programlama dillerinin seviyelerine göre
Programlama dillerinin seviyelerine göre
snflandrlmas
snflandrlmas
Seviye,
Seviye, bir
bir
programlama
programlama
dilinin
dilinin insan
insan
alglamasna
alglamasna olan
olan yaknlnn
yaknlnn öl
öl
ç
ç
üsüdür
üsüdür..
Yüksek seviyeli
Yüksek
seviyeli diller,
diller, insan
insan alglayna
alglayna daha
daha
yakn
yakn,, al
al
ç
ç
ak
ak seviyeli
seviyeli diller
diller de
de bilgisayarn
bilgisayarn doal
doal
ç
almasna
S
eviye
S
eviye
Dillerdeki
Dillerdeki seviye
seviye yükseldik
yükseldik
ç
ç
e
e programcnn
programcnn ii
ii
kolay
kolay lar
lar.. Öyle
Öyle ki,
ki,
ç
ç
ok
ok yüksek
yüksek seviyeli
seviyeli
programlama
programlama dillerinde
dillerinde artk
artk bir
bir iin
iin nasl
nasl
yaplacana
yaplacana ilikin
ilikin deil
deil,, ne
ne yaplacana
yaplacana ilikin
ilikin
komutlar
7
Ç
ok yüksek seviyeli diller
Ç
ok yüksek seviyeli diller
Görsel
Görsel programlama
programlama dilleri
dilleri ya
ya da
da
ç
ç
ok
ok yüksek
yüksek
seviyeli
seviyeli programlama
programlama dilleri,
dilleri, program
program kodunun
kodunun
ksmen
ksmen ya
ya da
da tamamen
tamamen görsel
görsel bir
bir bi
bi
ç
ç
imde
imde
ç
ç
eitli
eitli
ara
ç
lar
ara
ç
lar tarafndan
tarafndan üretildii
üretildii dillerdir
dillerdir..
Görselliin
Görselliin ileri
ileri u
u
ç
ç
larnda
larnda program
program kodu
kodu bile
bile
bulunmayabilir
bulunmayabilir..
Y
üksek seviyeli diller
Y
üksek seviyeli diller
Yüksek seviyeli
Yüksek
seviyeli programlama
programlama dillerinde
dillerinde
i) Önce ilerin nasl yaplacana dair
Önce ilerin nasl yaplacana dair
algoritmalar tasarlanr.
algoritmalar tasarlanr.
ii) Algoritmalar daha sonra program koduna
ii) Algoritmalar daha sonra program koduna
dökülür.
9
O
rta seviyeli diller
O
rta seviyeli diller
Bu
Bu diller
diller hem
hem kullancya
kullancya hem
hem de
de bilgisayara
bilgisayara
yakn
yakn olan
olan yaplar
yaplar i
i
ç
ç
erirler
erirler..
Yüksek seviyeli
Yüksek
seviyeli dillerin
dillerin kolaylklar
kolaylklar ile
ile al
al
ç
ç
ak
ak
seviyeli
seviyeli dillerin
dillerin esnekliini
esnekliini veve doalln
doalln
kullanrlar
kullanrlar..
Düük seviyeli diller
Düük seviyeli diller
Sembolik
Sembolik makine
makine dillerini
dillerini ve
ve doal
doal makine
makine
dillerini
11
Programlama Dilleri
Programlama Dilleri
Makina dilleri Düük seviyeli diller AssemblyOrta seviyeli diller
C, ADA...
Yüksek seviyeli diller
Pascal, Basic, Fortran...
Çok yüksek seviyeli diller
VisualBasic, VB.NET, Acces, Foxpro ...
Bilgisayara en yakn
M
akine dili
M
akine dili
Bilgisayarn
Bilgisayarn doal
doal dilidir
dilidir.. Bilgisayarn
Bilgisayarn donanmsal
donanmsal
tasarmna
tasarmna baldr
baldr..
Makine
Makine dili
dili ´´010101001
010101001µ·lerden
µ·lerden oluan
oluan komutlar
komutlardr
dr..
Makine
Makine dilini
dilini yazmak,
yazmak, okumak
okumak ve
ve alglamak
alglamak olduk
olduk
çça
a
uratrcdr
uratrcdr..
13
S
imgesel
M
akine dili
S
imgesel
M
akine dili
A
A
ssembly
ssembly dili,
dili, makine
makine dilinin
dilinin komutlarn
komutlarn birka
birka
ç
ç
tanesini
tanesini paketleyen
paketleyen baz
baz ksaltma
ksaltma sözcüklerden
sözcüklerden
ve
Y
orumlayc ve derleyici
Y
orumlayc ve derleyici
Simgesel
Simgesel dilin
dilin komutlar,
komutlar, bilgisayar
bilgisayar tarafndan
tarafndan
komut
komut komut
komut makine
makine diline
diline
ç
ç
evriliyor
evriliyor ve
ve oluan
oluan
makine
makine kodu
kodu
ç
ç
altrlr
altrlr..
Derleyici
Derleyici sayesinde
sayesinde
AAssembly
ssembly programlama
programlama dilleri
dilleri
kullanyor,
kullanyor, programlar
programlar derleyici
derleyici tarafndan
tarafndan makine
makine
koduna
koduna dönütürülüyor
dönütürülüyor ve
ve makine
makine kodu
kodu eski
eski hzndan
hzndan
daha
15
Programlama dillerinin
Programlama dillerinin
deerlendirilmesi
deerlendirilmesi
OOkunabilirlik
kunabilirlik
Tanabilirlik
Tanabilirlik
Verimlilik
Verimlilik
Uygulama alanlar
Uygulama alanlar
AA
lt programlama yetenei
lt programlama yetenei
Örenme ve öretme kolayl
Örenme ve öretme kolayl
Programlama tekniklerine verilen destekler
Programlama tekniklerine verilen destekler
Giri/
Giri/
ççk kolayl
k kolayl
Veri türleri ve yaplar
Veri türleri ve yaplar
C
nasl bir dildir?
C
nasl bir dildir?
C
C orta
orta seviyeli
seviyeli bir
bir dildir
dildir.. Yani
Yani C
C hem
hem bilgisayarn
bilgisayarn
hem
hem de
de insann
insann algsna
algsna yakn
yakn bir
bir dildir
dildir..
C
C verimli
verimli bir
bir dildir
dildir.. Dilin
Dilin düzeyi
düzeyi
ç
ç
ok
ok yüksek
yüksek
olmadndan
17
C
C algoritmik
algoritmik bir
bir dildir
dildir.. C
C sözdizimi
sözdizimi
kurallarn
bilmek yetmez, algoritma bilgisini de
bilmeyi gerektirir
..
Tanabilirlilii
Tanabilirlilii
ç
ç
ok
ok yüksek
yüksek bir
bir dildir
dildir..
fade
fade gücü
gücü yüksek,
yüksek, okunabilirlilii
okunabilirlilii gü
gü
ç
ç
lü
lü bir
bir
dildir
dildir..
Esnek
Esnek bir
bir dildir
dildir.. Kullancya
Kullancya kstlama
kstlama getirmez
getirmez..
C
nasl bir dildir?
C
nasl bir dildir?
C
nasl bir dildir?
C gü
C
gü
ç
ç
lü
lü bir
bir dildir,
dildir,
ç
ç
ok
ok iyi
iyi bir
bir bi
bi
ç
ç
imde
imde
tasarlanmtr
tasarlanmtr..
C
C doal
doal bir
bir dildir
dildir.. Bilgisayar
Bilgisayar sistemi
sistemi ile
ile uyum
uyum
i
ç
indedir
i
ç
indedir..
C·nin
C·nin standart
standart bir
bir kütüphanesi
kütüphanesi vardr
vardr.. Sk
Sk yaplan
yaplan
ilemler
19
C
nasl bir dildir?
C
nasl bir dildir?
C
C dili
dili Unix/Linux
Unix/Linux iletim
iletim sistemi
sistemi ile
ile bütünleme
bütünleme
i
ç
indedir
i
ç
indedir..
C·de
C·de alt
alt programlama
programlama teknii
teknii ileri
ileri düzeyde
düzeyde
kullanlmaktadr
kullanlmaktadr..
C
dilinin zayf yanlar !!!
C
dilinin zayf yanlar !!!
Esnek
Esnek ve
ve gü
gü
ç
ç
lü
lü bir
bir dil
dil olmas
olmas programcnn
programcnn hata
hata
yapma
yapma riskini
riskini arttrr
arttrr..
Dikkat
Dikkat:: Kod
Kod yazmnda
yazmnda yaplan
yaplan hatalarn
hatalarn
bulunmas
C
P
R
OG
R
A
ML
A
M
A
C
P
R
OG
R
A
ML
A
M
A
D
L
TA
RH
C Dili, Dennis Ritchie
C Dili, Dennis Ritchie
tarafndan 1972 ylnda yazld
tarafndan 1972 ylnda yazld
ve UNIX'in iletim sisteminin
ve UNIX'in iletim sisteminin
sistem dili olarak
sistem dili olarak
gelitirilmitir.
gelitirilmitir.
1980 ylndan itibaren
1980 ylndan itibaren
standart hale geldi ve hzla
standart hale geldi ve hzla
yaygnlat.
Program
G
elitirme
Programlamada
Programlamada asl
asl olan
olan problemi
problemi
analiz etme
ve çözme
dir
dir..
Problemlerde
Problemlerde
ç
ç
özüm
özüm üretme
üretme (özellikle
(özellikle de
de farkl
farkl
yollardan
yollardan
ç
ç
özüme
özüme ulaabilme)
ulaabilme) ileminde
ileminde ne
ne kadar
kadar
iyiyseniz
25
25
Program gelitirme yöntemi
Program gelitirme yöntemi
Program gelitirme yöntemi
Program gelitirme yöntemi
Bilgisayar
Bilgisayar
Bilgisayar programclarnn
Bilgisayar programclarnn
programclarnn program
programclarnn program
program gelitirme
program gelitirme
gelitirme yöntemi
gelitirme yöntemi
yöntemi
yöntemi
aadaki
aadaki
aadaki admlardan
aadaki admlardan
admlardan oluur
admlardan oluur
oluur:
oluur:
:
:
Problem
Problem
Analiz
Analiz
Tasarm
Tasarm
Uygulama
Uygulama
Problem
Problem
Problem
Problem
Bu ilk
Bu
Bu ilk
Bu
il
ilk
k
ad
ad
admda
adm
mda
mda
da
pro
progra
pro
pro
gramc
gra
gramc
mc
mc
,
,
,
,
pro
pro
pro
pro
blemi
blem
blemi
blem
i
i
anl
anlama
anlamaya
anlamaya
ama
ya
ya
ç
ç
alr
alr
ç
ç
alr.
alr.
.
.
Problemin
Problemin ne
Problemin ne
Problemin
ne olduunu,
ne olduunu,
olduunu,
olduunu,
ç
ç
ç
ç
özümde
özümde
özümde nelerin
özümde nelerin
nelerin gerekli
nelerin gerekli
gerekli
gerekli
olduunu,
olduunu,
olduunu, lazm
olduunu, lazm
lazm olan
lazm olan
olan ön
olan ön
ön bilgileri
ön bilgileri
bilgileri belirler
bilgileri belirler
belirler.
belirler.
.
.
Problemi
Problemi
Pr
Prob
ob
le
lemi
mi
anl
anlam
anlamann
anlamann
aman
ann
n
ç
ç
ç
ç
özümün
öz
özüm
özümün
ümün
ün
ya
yar
ya
yar
rs
rs
s
s
ol
oldu
olduu
olduu
duu
u
unutulmamaldr!
unutulmamaldr!
unutulmamaldr!
unutulmamaldr!
27
27
Analiz: Verilen
Analiz: Verilen
Analiz: Verilen
- Analiz: Verilen -
-
-
stenen
stenen
stenen
stenen
Bu
Bu admda
Bu admda
Bu
admda problemi
admda problemi
problemi
problemi
ç
ç
ç
ç
özüm i
özüm i
özüm
özüm
i
i
ç
ç
ç
ç
in
in
in verilen
in verilen
verilen deerler
verilen deerler
deerler
deerler
ile
ile
ile programn
ile programn
programn elde
programn elde
elde etmesi
elde etmesi
etmesi gereken
etmesi gereken
gereken deerlerin
gereken deerlerin
deerlerin ne
deerlerin ne
ne
ne
olduu
olduu
olduu
olduu
belirlenmelid
belirlenmelid
belirlenmelidir.
belirlenmelidir.
ir
ir
.
.
Girdiler
Girdiler
Girdiler ve
Girdiler ve
ve
ve
ç
ç
ç
ç
ktlar
ktlar
ktlar madde
ktlar madde
madde madde
madde madde
madde yazlr
madde yazlr
yazlr.
yazlr.
.
.
Bu
Bu girdi
Bu girdi
Bu
girdi ve
girdi ve
ve
ve
ç
ç
ç
ç
kt arasndaki
kt
kt arasndaki
kt
arasndaki iliki
arasndaki iliki
iliki belirlenir
iliki belirlenir
belirlenir.
belirlenir.
.
.
Problemi
Problemi
Pr
Pr
ob
ob
le
le
mi
mi
an
an
an
an
l
la
la
l
am
am
ma
ma
a
a
ad
ad
ad
ad
m
m
m
m
b
ba
ba
b
a
a
a
a
ar
ar
r
r
l
l
l
l
b
b
b
b
i
i
ir
ir
r
r
ekilde
ekilde
e
e
k
k
i
i
l
l
d
d
e
e
ger
ger
ç
ç
eklemeden
eklemeden
ger
ger
ç
ç
eklemeden analiz
eklemeden analiz
analiz admna
analiz admna
admna ge
admna ge
ge
ge
ç
ç
ç
ç
ilmemelidir
ilmemelidir
ilmemelidir.
ilmemelidir.
.
.
Problem
Problem
Problem
Problem
ç
ç
ç
ç
özümünde
özümünde
özümünde ilk
özümünde ilk
ilk iki
ilk iki
iki adm
iki adm
adm
adm
ç
ç
ç
ç
ok
ok
ok önemlidir
ok önemlidir
önemlidir.
önemlidir.
.
.
Çözüm
Çözüm i
Çözüm i
Çözüm
i
i
ç
ç
ç
ç
in
in
in bir
in bir
bir yöntem
bir yöntem
yöntem bulunamamsa
yöntem bulunamamsa
bulunamamsa problem
bulunamamsa problem
problem
problem
tekrar
tekrar
tekrar gözden
29
Problem
Problem::
Taban ve yükseklik deerleri verilen
Taban ve yükseklik deerleri verilen
üçgenin alann hesaplaynz.
üçgenin alann hesaplaynz.
Bu problemde
Bu
problemde ü
ü
ç
ç
gen alann
gen
alann bulmak
bulmak i
i
ç
ç
in
in gerekli
gerekli
olan
olan formülün
formülün bulunmas
bulunmas zorunludur
zorunludur..
Formül
Formül olduunu
olduunu düünmek
düünmek
ç
ç
özüm
özüm yöntemi
yöntemi
hakknda
ANA
LZ
ANA
LZ
Girdiler:
Girdiler:
Taban ve Yükseklik Taban ve Yükseklik
Çktlar:
Çktlar:
31
Verilen deerler ile
Verilen deerler ile
ç
ç
kt arasndaki formüle
kt arasndaki formüle
edilmi ilikiyi belirlemek gerekir.
edilmi ilikiyi belirlemek gerekir.
Gerekli olan girdileri ve birbirleri arasndaki
Gerekli olan girdileri ve birbirleri arasndaki
ilikileri belirleyerek bir
ilikileri belirleyerek bir problemi modelleme
problemi modelleme
ilemi:
ilemi:
A
lan=(Taban X Yukseklik)/2
A
lan=(Taban X Yukseklik)/2
Tasarm
Tasarm
Problemin
Problemin
ççözümü
özümü i
i
ççin
in gerekli
gerekli olan
olan
ççözüm
özüm aamalarn
aamalarn
mantksal
mantksal sra
sra i
i
ççerisinde
erisinde yazlmas
yazlmas aamasdr
aamasdr..
Yaplan ileme
Yaplan
ileme
algoritma
ad
ad verilir
verilir..
yi
yi bir
bir algoritmann
algoritmann iki
iki art
art vardr
vardr..
BütünBütün admlaradmlar mantksalmantksal birbir düzendüzen ve ve srasra iiççerisindeerisinde verilmeli verilmeli
Tasarm
Tasarm
A
A
lgoritmann
lgoritmann oluturulmasnda
oluturulmasnda günlük
günlük konuma
konuma
diline
diline yakn
yakn bir
bir dil
dil kullanlabilir
kullanlabilir..
Kulland
Kulland dil
dil programcnn
programcnn kendi
kendi inisiyatifine
inisiyatifine
kalmtr
kalmtr..
35
Tasarm
Tasarm
AA
lgoritma
lgoritma tasarlanrken
tasarlanrken bütün
bütün problem
problem par
par
ççalar
alar ayn
ayn
anda
anda
ççözülmeye
özülmeye
ççallmaz
allmaz..
Problem kendi içinde önemli parçalara ya da alt
problemlere ayrlr
ve sonra
ve
sonra
bu alt problemler
çözülerek esas problemin çözümüne
gidilir
gidilir..
Tasarm
Tasarm
AA
lgoritma
lgoritma tasarmnn
tasarmnn önemli
önemli bir
bir par
par
çças
as
algoritmann
algoritmann
doru
doru çalp
çalp çalmadnn
çalmadnn adm
adm adm
adm izlenerek
izlenerek
(trace)
(trace) kontrol
kontrol edilmesidir
edilmesidir..
Bu
Bu kontrol
kontrol etme
etme esnasnda
esnasnda erkenden
erkenden fark
fark edilen
edilen hatalar
hatalar
programcya
programcya hem
hem zaman
zaman kazandracak,
kazandracak, hem
hem de
de bo
bo yere
yere
enerji
37
Tasarm
Tasarm
A
A
lgoritma
lgoritma yazarken
yazarken her
her bir
bir adma
adma numara
numara verilir
verilir..
lk
lk adm
adm ""
BA
BA
LLA
A
",
", son
son admda
admda her
her zaman
zaman
Örnek Algoritma
Örnek Algoritma
Problem
Problem :: ""
Y Yerinden
erinden kalkp
kalkp tahtaya
tahtaya adn
adn
yazma
39
Y
erinden kalkp tahtaya adn yazma
Yerinden kalkp tahtaya adn yazma
1.
1. BB AL AL A A 2.
2. Yerinden kalk Yerinden kalk 3.
3. Yönün tahtaya doru mu?Yönün tahtaya doru mu? 1.
1. Hayrsa Tahtaya DönHayrsa Tahtaya Dön 2.
2. Evetse adm 4 e gitEvetse adm 4 e git 4.
4. Tahtaya doru yürüTahtaya doru yürü 5.
5. Tahtaya geldin mi?Tahtaya geldin mi? 1.
1. Hayrsa adm 4'eHayrsa adm 4'e 2.
2. Evetse adm 6'ya gitEvetse adm 6'ya git 6.
6. Kalemi alKalemi al 7.
7. Adn yazAdn yaz 8.
Y
erinden kalkp tahtaya adn yazma
Yerinden kalkp tahtaya adn yazma
Burada
Burada emirler,
emirler, belli
belli sorgulamalar
sorgulamalar yaplarak
yaplarak ve
ve
mantksal
mantksal bir
bir sra
sra i
i
ççinde
inde verilmitir
verilmitir..
Yerinden kalk
Yerinden
kalk emri
emri verilmeden
verilmeden ondan
ondan yürümesi
yürümesi
istenemez
istenemez..
Kalemi
Kalemi almadan
almadan adn
adn yaz
yaz emrinin
emrinin verilmesi
verilmesi doru
doru
olmazd
olmazd..
Sorgulamalarla
Sorgulamalarla da
da ilemi
ilemi yapp
yapp yapmad
yapmad kontrol
kontrol
edilmitir
edilmitir..
41
Y
erinden kalkp tahtaya adn yazma
Yerinden kalkp tahtaya adn yazma
Bu
Bu örnek,
örnek, sadece
sadece admlarn
admlarn tutarlln
tutarlln ve
ve
mantksal
mantksal srasn
srasn göstermek
göstermek i
i
ç
ç
indi
indi..
Yoksa bilgisayar
Yoksa
bilgisayar bu
bu tür
tür ileri
ileri yerine
yerine getiremez
getiremez..
Esasnda
Esasnda kullanclar
kullanclar bilgisayarlara
bilgisayarlara belli
belli girdiler
girdiler
verir
verir..
Bilgisayarda programcnn verdii admlara göre
bu girdiler üzerinde matematiksel ve mantksal
ilemler yaparak bir
ç
kt üretirler..
Örnek
Örnek
43
Ü
çgenin Alan
Ü
çgenin Alan
Yukardaki verilen
Yukardaki
verilen ü
ü
ççgen alann
gen
alann hesaplama
hesaplama ilemi
ilemi i
i
ççin
in
gerekli
gerekli olan
olan algoritma,
algoritma, aadaki
aadaki gibi
gibi oluturulabilir
oluturulabilir..
1. BAL A
2. Taban deerini al 3. Y ükseklik deerini al
4. Taban ile yükseklii çarp sonucu ikiye böl 5. Sonucu yaz
Ü
çgenin Alan
Ü
çgenin Alan
Önceki
Önceki algoritma
algoritma kendi
kendi i
i
ççerisinde
erisinde tutarl
tutarl ve
ve mantksal
mantksal
sra
sra ile
ile yazlmtr
yazlmtr..
Deerler
Deerler verilmeden
verilmeden alan
alan hesab
hesab ilemini
ilemini yaptrmak
yaptrmak
doru
doru olmazd
olmazd..
Fakat
Fakat
algoritmalarda daha öncede belirtildii gibi
ksa ve basit kelimelerle emirler
verilecektir..
verilecektir
Böylece
Böylece uygulama
uygulama yaplacak
yaplacak program
program kodlarna
kodlarna adapte
adapte
olmak
45
Ü
çgenin Alan
Ü
çgenin Alan
1.1.
B
B
A
A
L
L
A
A
2.2. OO
KU taban,
KU taban,
3.3. OO
KU yükseklik
KU yükseklik
4.4.
alan= (Taban
alan= (Taban X
X Yükseklik)/2
Yükseklik)/2
5.5.
Y
Y
AZ
AZ
alan
alan
6.Ü
çgenin Alan
Ü
çgenin Alan
Uzun
Uzun cümleler
cümleler yazmak
yazmak yerine
yerine ksa
ksa basit
basit
kelimelerle
kelimelerle ve
ve formülize
formülize edilmi
edilmi ilemlerle
ilemlerle
ç
özüm
ç
özüm salanm
salanm oldu
oldu..
Her algoritma
Her
algoritma
BA
BA
LLA
A
emri
emri ile
ile balar
balar ve
ve
DU
DU
R
R
emriyle
emriyle de
de biter
biter..
Dardan verilmesi
Dardan
verilmesi gereken
gereken bilgiler
bilgiler i
i
ç
ç
in
in
OOK
K
U
U
,,
sonu
ç
lar
sonu
ç
lar göstermek
göstermek i
i
ç
ç
inde
inde
Y YA
A
Z
Z
emri
emri
kullanlabilir
kullanlabilir..
47
Örneimiz
Örneimiz bir
bir insann
insann evden
evden
ç
ç
kp
kp ie
ie
giderken
giderken izleyecei
izleyecei yolu
yolu ve
ve iyerine
iyerine giriinde
giriinde
ilk
Ç
özüm
1
:
1. Evden darya ç k 2. Otobüs durana yürü
3. Durakta gidecein yöndeki otobüsü bekle 4. Otobüsün geldiinde otobüse bin
5. Seyahat bedelini öde
6. necein yere yaknlatnda arkaya yürü 7. neceini belirten ikaz lambasna bas
8. Otobüs durunca in
9. yerine doru yürü
49
Çözüm 2:
Çözüm 2:
1.
1. Evden daryaEvden darya çç k k 2.
2. OOtobüs durana yürütobüs durana yürü
3.
3. OOtobüsün saati getobüsün saati geççmi ?mi ?
4.
4. Durakta gidecein yöndeki bir sonraki otobüsü bekleDurakta gidecein yöndeki bir sonraki otobüsü bekle 5.
5. Bir sonraki otobüs gelene kadar 4. adm uygulaBir sonraki otobüs gelene kadar 4. adm uygula 6.
6. OOtobüsün geldiinde otobüse bintobüsün geldiinde otobüse bin
7.
7. Seyahat bedelini ödeSeyahat bedelini öde 8.
8. necein yere yaknlatnda arkaya yürünecein yere yaknlatnda arkaya yürü 9.
9. neceini belirten ikaz lambasna basneceini belirten ikaz lambasna bas 10.
10. OOtobüs durunca intobüs durunca in
11.
11. yerine doru yürüyerine doru yürü 12.
12. yeri giri kapsndan i yeri giri kapsndan iççeriye gireriye gir 13.
13. Mesai arkadalarnla selamlaMesai arkadalarnla selamla 14.
Örnek :
Örnek :
ki
ki sayy
sayy toplamak
toplamak i
i
ç
ç
in
in gerekli
gerekli programa
programa ait
ait
algoritmann
51
A
lgoritma:
A
lgoritma:
1. 1.Bala
Bala
2.2.
Birinci sayy gir
Birinci sayy gir
3.3.
kinci sayy gir
kinci sayy gir
4.4.
ki saynn toplamn yap
ki saynn toplamn yap
5.5.
Toplamn deerini yaz
Toplamn deerini yaz
6.6.
Bitir
Bitir
1.
1.
Bala
Bala
2.2.
X deerini gir
X deerini gir
3.3.
Y deerini gir
Y deerini gir
4. 4. ZZ= X+Y
= X+Y
5. 5. ZZ· yi yaz
· yi yaz
6. 6.Bitir
Bitir
Örnek
Örnek ::
Be
Be saynn
saynn toplamn
toplamn ve
ve ortalamasn
ortalamasn veren
veren
programa
programa ait
ait algoritmann
algoritmann oluturulmas
oluturulmas
Toplam ad
Toplam
ad i
i
ç
ç
in
in
Top
Top
OO
rtalama
rtalama ad
ad i
i
ç
ç
in
in
OOrt
rt
Girilen
Girilen saylar
saylar i
i
ç
ç
in
in
XX 53
A
lgoritma:
A
lgoritma:
1. 1.Bala
Bala
2.2.
Top = 0, Sayac = 0
Top = 0, Sayac = 0
3.3.
X·i gir
X·i gir
4.4.
Top= Top+X
Top= Top+X
5.5.
Sayac = Sayac +1
Sayac = Sayac +1
6.6.
Eer Sayac <5 ise
Eer Sayac <5 ise
A A3·e git
3·e git
7.7. OO
rt= Top/5
rt= Top/5
8.8.
Top ve
Top ve
OOrt deerlerini yaz
rt deerlerini yaz
9.Örnek:
Örnek:
Verilen bir saynn faktöriyelini hesaplayan bir programn
Verilen bir saynn faktöriyelini hesaplayan bir programn
algoritmasn oluturunuz.
algoritmasn oluturunuz.
Ak Diyagram
Ak Diyagram
A
A
lgoritma
lgoritma admlarn
admlarn ekillerle
ekillerle ifade
ifade etme
etme iine
iine
ak
ak diyagram
diyagram ad
ad verilir
verilir..
57
Ak Diyagram ekilleri
Ak Diyagram ekilleri
bala ve dur ilem
giri ² ekrandan deer oku
Ak Diyagram ekilleri
Ak Diyagram ekilleri
eer (koul bildirimi veya karar)
sayfa içi balayc
59
Ak Diyagram
Ak Diyagram
A
A
lgoritmadaki
lgoritmadaki ifadeler
ifadeler ekillerin
ekillerin i
i
ç
ç
erisine
erisine yazlr
yazlr..
B
B
A
A
L
L
A
A
ve DUR
ve
DUR ekilleri
ekilleri hari
hari
ç
ç
her
her bir
bir eklin
eklin
anlam
anlam belli
belli olduundan
olduundan i
i
ç
ç
lerine
lerine tekrar
tekrar anlamla
anlamla
ayn
ÖR NEK : Taban ve yükseklik deerleri verilen üçgenin alann hesaplaynz.
alan = (taban X yukseklik)/2 BALA taban yukseklik 1. BALA 2. OKU taban, 3. OKU yukseklik 4. alan= (Taban X Yukseklik)/2 5. YAZ alan
61
Uyarlar...
Uyarlar...
AA
k
k emalarnda
emalarnda tek
tek bir
bir balang
balang
ççsimgesi
simgesi olmaldr
olmaldr
Biti
Biti simgesi
simgesi birden
birden
ççok
ok olabilir
olabilir..
Karar
Karar simgesinin
simgesinin haricindeki
haricindeki simgelere
simgelere her
her zaman
zaman tek
tek
giri
giri ve
ve tek
tek
ççk
k yolu
yolu bulunur
bulunur..
Simgeler
Simgeler birbirleri
birbirleri ile
ile tek
tek yönlü
yönlü okla
okla balanrlar
balanrlar..
OO
klarn
klarn yönü
yönü algoritmann
algoritmann mantksal
mantksal ilem
ilem akn
akn
tanmlar
tanmlar..
Uygulama
Uygulama
A
A
lgoritmas oluturulan programn herhangi bir
lgoritmas oluturulan programn herhangi bir
dilin kurallarna uyarak ve komutlarn kullanarak
dilin kurallarna uyarak ve komutlarn kullanarak
yazlma aamasdr.
63
S
nama
S
nama
Program
Program yazldktan
yazldktan sonra,
sonra, uygun
uygun aamalardan
aamalardan ge
ge
ççirilip,
irilip,
verilen
verilen girdilere
girdilere göre
göre
uygun
çktlar
üretip
üretmedii
kontrol
kontrol edilir
edilir..
Bu
Bu aamada
aamada program
program girdi
girdi olarak
olarak verilebilecek
verilebilecek
tüm
deerlere göre; özellikle de uç deerlere göre
snanr..
Örnein
Örnein girdi
girdi olarak
olarak bir
bir tamsay
tamsay girilmesi
girilmesi gereken
gereken
programda,
programda, girilen
girilen saynn
saynn negatif
negatif olmas
olmas halinde
halinde
yaplacak
yaplacak ilemler
ilemler tanmlanmam
tanmlanmam olabilir
olabilir..
S
orun giderme
S
orun giderme
Snama
Snama aamasndan
aamasndan sonra
sonra ortaya
ortaya
ç
ç
kan
kan
aksaklklar
65
ÖR
NEK
:
Çalt
Çalt gün
gün says
says ve
ve yevmiyesi
yevmiyesi girilen
girilen i
i
ç
ç
inin
inin
maan
maan hesaplayan
hesaplayan algoritmay
algoritmay veve ak
ak
diyagramn
PR
O
B
L
E
M
PR
O
B
L
E
M
Bu
Bu program
program
ç
ç
alt
alt gün
gün says
says ve
ve günlük
günlük
yevmiyesi
yevmiyesi verilen
verilen i
i
ç
ç
inin
inin maan
maan bulacaktr
bulacaktr..
Maa
Maa hesaplanrken
hesaplanrken i
i
ç
ç
inin
inin
ç
ç
alt
alt gün
gün says
says ile
ile
günlük
67
ANA
L
Z
ANA
L
Z
Girdiler
Girdiler::
Gün
Gün
Yevmiye
Yevmiye
Çktlar
Çktlar::
Maa
Maa
liki
liki
TA
S
A
RI
M
TA
S
A
RI
M
1.
1.
B
B
A
A
L
L
A
A
2.2. OO
KU gun
KU gun
3.3. OO
KU yevmiye
KU yevmiye
4.4.
maas=gun x yevmiye
maas=gun x yevmiye
5.5.
Y
Y
AZ
AZ
maas
maas
6.69
A
KI
E
M
A
S
I
A
KI
E
M
A
S
I
maas = gun x yevmiye
maas gun , yevmiye
BALA
71
Deiken
Deiken
Bir
Bir önceki
önceki örnekte
örnekte
gun
gun
ve
ve
yevmiye
yevmiye
deerleri
deerleri deiik
deiik
i
çiler
i
çiler i
i
ççin
in farkl
farkl olacaktr
olacaktr..
Örnein bir
Örnein
bir i
i
ççinin
inin
ççalt
alt gün
gün says
says 25
25 iken
iken dierinin
dierinin
ki
ki 30
30 olabilir
olabilir..
Program
Program i
i
ççerisinde
erisinde deerleri
deerleri birer
birer isimle
isimle temsil
temsil etmek
etmek
zorunluluu
zorunluluu buradan
buradan kaynaklanr
kaynaklanr..
Dorudan
Dorudan saylar
saylar yerine
yerine deerleri
deerleri temsil
temsil eden
eden isimler
isimler
kullanlr
kullanlr..
Deiken
Deiken
Program
Program i
i
ççerisinde
erisinde deerleri
deerleri deien
deien bu
bu tür
tür yaplara
yaplara
deiken
deiken
( ( variable
variable ) ) denir
denir..
Deiken
Deiken isimleri
isimleri verirken,
verirken, aadaki
aadaki kurallara
kurallara dikkat
dikkat
etmek
etmek uygun
uygun olacaktr
olacaktr..
AA
yrca
yrca bütün
bütün programlama
programlama dillerinde
dillerinde bu
bu kurallar
kurallar aa
aa
yukar
yukar ayndr
ayndr..
imdiden
imdiden bu
bu kurallara
kurallara dikkat
dikkat edilmesi
edilmesi programlama
programlama
dilini
73
Deiken
Deiken
Deiken
Deiken isimleri
isimleri i
i
ççerisinde
erisinde barndrdklar
barndrdklar ya
ya da
da baka
baka
bir
bir deyile
deyile temsil
temsil ettikleri
ettikleri deeri
deeri anmsatmak
anmsatmak
zorundadrlar
zorundadrlar..
sim
sim se
se
ççerken
erken programc
programc kendisine
kendisine göre
göre bir
bir sistematik
sistematik
gelitirmeli,
gelitirmeli,
sonradan
sonradan
kendisinin
kendisinin
baktnda
baktnda
hatrlayabilecei
hatrlayabilecei ve
ve hep
hep ayn
ayn olan
olan bir
bir yöntem
yöntem
benimsemelidir
benimsemelidir..
Örnein
Örnein i
i
ççinin
inin maa
maa deerini
deerini tutan
tutan deikenin
deikenin ad
ad
sadece
sadece
m
m
de
de olabilirdi,
olabilirdi, fakat
fakat daha
daha iyi
iyi temsil
temsil etmesi
etmesi ve
ve
anlalrlk
Deiken
Deiken
Deiken
Deiken isimleri
isimleri muhakkak
muhakkak bir
bir harf
harf ile
ile
balamaldr
balamaldr..
Yani rakamla
Yani
rakamla balamazlar
balamazlar ancak
ancak rakamla
rakamla devam
devam
edebilirler
edebilirler..
A
A
d
d
sayi
sayi
11olan
olan bir
bir deiken
deiken olabilir
olabilir ama
ama ad
ad
75
Deiken
Deiken
Deiken
Deiken isimlerinin
isimlerinin i
i
ççerisinde
erisinde rakam
rakam ya
ya da
da harf
harf
olmayan
olmayan nokta,
nokta, virgül,
virgül, art
art ,, yldz
yldz ( ( .. ,, +
+ ** vs
vs..) ) gibi
gibi
simgeler
simgeler bulunamaz
bulunamaz..
Eer
Eer deiken
deiken ismi
ismi iki
iki kelimeden
kelimeden oluuyorsa,
oluuyorsa, araya
araya
boluk
boluk konmaz
konmaz..
Bu
Bu durumda
durumda birleik
birleik yazlr
yazlr ya
ya da
da alt
alt
ççizgi
izgi (_)
(_) iareti
iareti
konulabilir
konulabilir..
Yani
Yani
vize
vize notu
notu
yerine
yerine
vizenotu
vizenotu
ya
ya da
da
vize_notu
vize_notu
kullanlmaldr
kullanlmaldr..
Deiken
Deiken
Deikenler
Deikenler tanmlandnda
tanmlandnda ya
ya da
da deer
deer
aldklarnda
aldklarnda onlara
onlara R
R
A
A
M
M bellekte
bellekte bir
bir hücre
hücre
ayrlr
ayrlr..
Deikenlerin
Deikenlerin tuttuklar
tuttuklar deerler
deerler bu
bu hücre
hücre
i
ç
erisine
77
Deiken
Deiken
Deikenler
Deikenler deer
deer aldklarnda
aldklarnda bu
bu deerler
deerler
ayrlan
ayrlan bellek
bellek hücrelerine
hücrelerine yerletirilirler
yerletirilirler..
Eer
Eer bir
bir deer
deer aldktan
aldktan sonra
sonra program
program i
i
ç
ç
erisinde
erisinde
ikinci
ikinci bir
bir deer
deer almlarsa
almlarsa;; eski
eski deer
deer silinir,
silinir,
yerine
yerine yeni
yeni deer
deer yerleir
yerleir..
Deiken
Deiken
Deikenlerin
Deikenlerin bellekte
bellekte ayrlm
ayrlm hücrelerine
hücrelerine deer
deer yazma
yazma
iine
iine aktarmak
aktarmak anlamnda
anlamnda
deer deer atamakatamak(assign)
(assign) denilir
denilir..
Deikenlere
Deikenlere deer
deer atama
atama simgesi
simgesi olarak
olarak eittir
eittir ( ( =
= ) )
kullanlr
kullanlr..
Bu
Bu simgenin
simgenin anlam
anlam eitliin
eitliin sandaki
sandaki deeri,
deeri, solundaki
solundaki
deikenin
deikenin i
i
ççerisine
erisine ata
ata ya
ya da
da aktar
aktar anlamna
anlamna
gelmektedir
gelmektedir..
79
Deiken
Deiken
cc =
=
500
500
emri,
emri, ´´cc deikenine
deikenine 500
500 deerini
deerini ata
ata""
eklinde
eklinde düünülür
düünülür..
Eitliin
Eitliin sa
sa tarafndaki
tarafndaki
500
500
deeri
deeri soldaki
soldaki cc
deikeninin
deikeninin i
i
ç
ç
erisine
erisine atanr
atanr..
Bu
Bu emirden
emirden sonra
sonra cc deikeninin
deikeninin deeri
deeri
500
500
olmutur
olmutur..
81
S
abitler
S
abitler
Program
Program i
i
ç
ç
erisinde
erisinde deeri
deeri deimeyen
deimeyen yaplardr
yaplardr..
Örnek
Örnek olarak
olarak matematikteki
matematikteki Pi
Pi says,
says, kimyadaki
kimyadaki
A
vagadro
A
vagadro says
says verilebilir
verilebilir..
Bu
Bu deerler
deerler her
her zaman
zaman ayndr
ayndr..
A
A
lgoritmann
lgoritmann banda
banda tanmlanrlar
tanmlanrlar ve
ve bundan
bundan
sonrada
S
abitler
S
abitler
Saysal
Saysal sabitler
sabitler olduu
olduu gibi
gibi yazlrlar
yazlrlar..
Örnein,
Örnein, girdi
girdi olarak
olarak verilen
verilen yar
yar
ç
ç
apa
apa göre
göre daire
daire
alann
alann hesaplayan
hesaplayan bir
bir algoritmada,
algoritmada, alan
alan aadaki
aadaki
gibi
gibi hesaplanabilir
hesaplanabilir..
83
S
abitler
S
abitler
Kullanlan
Kullanlan bu
bu formülde
formülde pi
pi says
says 33..14
14 olarak
olarak alnmtr
alnmtr..
Bunun
Bunun anlam,
anlam, algoritmaya
algoritmaya girilen
girilen yar
yar
ççap
ap deerleri
deerleri
ççok
ok
farkl
farkl olabilir
olabilir ama
ama kullanlan
kullanlan pi
pi says
says hep
hep ayn
ayn kalacaktr
kalacaktr..
Yani sabit
Yani
sabit kalacaktr
kalacaktr..
Fakat,
Fakat, sabit
sabit de
de olsa
olsa önceden
önceden tanmlanarak,
tanmlanarak, sabit
sabit
deerinin
deerinin verilmesi
verilmesi iyi
iyi bir
bir programclk
programclk alkanl
alkanl
olacaktr
S
abitler
S
abitler
Saysal
Saysal olmayan,
olmayan, yani
yani alfasaysal
alfasaysal sabitler
sabitler
kullanlrken
kullanlrken (´
(´ ´)
´) trnak
trnak iaretleri
iaretleri arasna
arasna alnr
alnr..
Örnein
Örnein ekrana
ekrana programcnn
programcnn ad
ad yazlacaksa
yazlacaksa
YA
Z
85
S
abitler
S
abitler
Buradaki
Buradaki
ali
ali
kelimesini
kelimesini bilgisayarmz
bilgisayarmz bir
bir
deiken
deiken ismi
ismi olarak
olarak alglayacak
alglayacak ve
ve bellek
bellek
üzerinde
üzerinde ad
ad
ali
ali
olan
olan bir
bir deiken
deiken olup
olup
olmadn
olmadn aratracaktr
aratracaktr..
Varsa deerini
Varsa
deerini yazmaya
yazmaya
ç
ç
alacaktr
alacaktr..
A
A
ma
ma
ç
ç A
A
li
li adn
adn ekrana
ekrana yazdrmaksa,
yazdrmaksa, verilecek
verilecek
emri
emri öyle
öyle olmaldr
olmaldr::
Y