You are on page 1of 61

T.C.

M
LL E
TM BAKANLII

MEGEP
(MESLEKET
M VE RET
M S
STEM
NN
GLENDR
LMESPROJES)

B
L
M TEKNOLOJ
LER

PROGRAMLAMA TEMELLER

ANKARA 2007
taraf
Milli Eitim Bakanl ndan geli
tirilen modller;
Talim ve Terbiye Kurulu Ba kanl n
n 02.06.2006 tarih ve 269 say lKararile
onaylanan, Mesleki ve Teknik E itim Okul ve Kurumlar nda kademeli olarak
yaygnlat
rlan 42 alan ve 192 dala ait ereve retim programlar nda
amalanan mesleki yeterlikleri kazand rmaya ynelik geli tirilmiretim
materyalleridir (Ders Notlar
dr).

Modller, bireylere mesleki yeterlik kazand rmak ve bireysel renmeye


rehberlik etmek amacyla renme materyali olarak haz
rlanm, denenmek ve
geli
tirilmek zere Mesleki ve Teknik E itim Okul ve Kurumlar nda
uygulanmaya ba
lanmtr.

Modller teknolojik geli melere paralel olarak, amalanan yeterlii


kazand rmak ko ulu ile eitim retim s ras
nda geli tirilebilir ve yap
lmas
nerilen dei
iklikler Bakanl kta ilgili birime bildirilir.

rgn ve yaygn eitim kurumlar , i


letmeler ve kendi kendine mesleki yeterlik

kazanmak isteyen bireyler modllere internet zerinden ulalabilirler.

Bas modller, eitim kurumlar


lm rencilere cretsiz olarak da
nda t
l
r.

Modller hibir
ekilde ticari amala kullan
lamaz ve cret kar
lnda
sat
lamaz.

NDEK
LER


NDEK
LER
NDEK LER.......................................................................................................................... i
AIKLAMALAR ....................................................................................................................ii
G R.......................................................................................................................................1
RENME FAAL YET- 1 ...................................................................................................3
1. PROGRAMLAMA D LLER.......................................................................................3
1.1. Bilgisayar Program in Neler Bilmeliyim? .............................................................. 6
1.2. Programlama Dili........................................................................................................6
1.3. Neden Birok Programlama Dili Vard r? ...................................................................6
1.4. H zlUygulama Geli tirme Ortamlar...................................................................... 11
1.5. Veri Taban (Database) Programc l ...................................................................... 12
1.6. Betik (Script) Programc l ...................................................................................... 12
1.7. Web Programc l ....................................................................................................13
UYGULAMA FAAL YET............................................................................................ 15
LME VE DEERLEND RME .................................................................................. 16
RENME FAAL YET- 2 ................................................................................................. 18
2. PROGRAM YAZIMI ......................................................................................................... 18
2.1. Prototip (Kal p) Olu turma ....................................................................................... 20
2.2. Sahte Kod ve Algoritma Yazma ............................................................................... 20
2.3. Ak emalar ............................................................................................................23
2.4. Karar Tablolar .......................................................................................................... 27
2.5. Bir Program n Hayat Dngs.................................................................................. 29
UYGULAMA FAAL YET............................................................................................ 32
LME VE DEERLEND RME .................................................................................. 33
RENME FAAL YET- 3 ................................................................................................. 35
3. PROGRAMLAMA ARALARI ....................................................................................... 35
3.1. Dzenleyici ............................................................................................................... 36
3.2. Derleyici....................................................................................................................36
3.3. Bcek Ay klay c(Debugger) ................................................................................... 37
3.4. Yard m ve Kurulum.................................................................................................. 38
UYGULAMA FAAL YET............................................................................................ 44
LME VE DEERLEND RME .................................................................................. 45
MODL DEERLEND RME .............................................................................................. 48
CEVAP ANAHTARLARI ..................................................................................................... 51
SZLK ................................................................................................................................ 54
NER LEN KAYNAKLAR.................................................................................................. 56
KAYNAKA .........................................................................................................................57

i
AIKLAMALAR

AIKLAMALAR
KOD 481BB0024
ALAN Bili
im Teknolojileri
DAL/MESLEK Alan Ortak
MODLN ADI Programlama Temelleri
Programlama altyap
s
nve temellerini olu
turan renme
MODLN TANIMI
materyalidir.
SRE 40/16

N KOUL

YETERL
K Bilgisayarda program yazmaya haz
rl
k yapmak
Genel Ama
Gerekli ortam salandnda, programlama dillerini
tan
yp, bilgisayarda bir problemin zm a amalar
n
yaparak, program yazmaya haz rlk yapabileceksiniz.
MODLN AMACI Amalar
1. Programlama dillerini ilevlerine gre ayrt
edebileceksiniz.
2. Program yazmaya haz rl
k yapabileceksiniz.
3. Program yaz m aralar
nkullanabileceksiniz.
Bilgisayar laboratuvarve bu ortamda bulunan;
E
TM RET M
bilgisayar, yazc, bilgisayar masalar
, kt, kalem, lisansl
ORTAMLARI VE
iletim sistemi programve ak diyagramsembolleri ile
DONANIMLARI
ilgili panolar.

Her faaliyet sonras nda o faaliyetle ilgili


deerlendirme sorular ile kendi kendinizi
deerlendireceksiniz. Modl iinde ve sonunda verilen
retici sorularla edindi iniz bilgileri peki tirecek,
LME VE
uygulama rneklerini ve testleri gerekli sre iinde
DEERLEND
RME
tamamlayarak etkili renmeyi gerekle tireceksiniz.
Srasyla ara
t
rma yaparak, grup almalar na kat larak ve
en son a amada alan retmenlerine dan arak lme ve
deerlendirme uygulamalar ngerekletireceksiniz..

ii
G
R

G
R
Sevgili
renci,

Her eyden nce herkes bir programlama dilini


renebilir. Bilgisayar programlama
yksek bir zek ve matematik bilgisi gerektirmez. Sadece asla vazgememe sabrve
renme istei yeterlidir.

Programlama bir hnerdir. Bazinsanlar doal olarak di erlerinden daha iyidir, ama
herkes pratik yaparak iyi olabilir. Baaramamaktan korkmak yerine, kendinizi bu maharete
vererek, renmek iin u ra n. Programlama elencelidir, fakat yanl al ma
yntemleriyle sinir bozucu da olabilir ve zaman nzn boa gemesine neden olabilir. Bu
sebeple bu modlleri takip ederek, en az s
kntve en yksek memnuniyet ile programlamay
reneceksiniz.

Programlamada, bir problemin zm a amalarn


n sralbir ekilde yaz
lmas
na
Algoritma, bu a amalarn ekillerle gsterilmesine ise Ak diyagram denir.
Algoritmay , gnlk hayattaki bir probleminizi zerken yapman z gereken uygulamalar
belli bir dzene sokma i
lemine benzetebilirsiniz.

Algoritma, programlaman n temelidir. nce zm belirlenir sonra kullan lacak


programlama diline uygun komutlarla program yaz l
mtamamlan r. Algoritma bir binan n
temeli gibidir. Temeli salamsa bina ayakta durur. Bu yzden algoritmann iyi tasarlanmas ,
program n temelinin iyi olu
turulmas gerekmektedir.

Bu modl sonunda; istedi iniz herhangi bir problemin bilgisayardaki zm


aamalarn yazabileceksiniz. zm a amalarnbelirledikten sonra istediiniz bir
programlama dilini kullanarak gerekli yaz lmolu turulabileceksiniz. Akdiyagramlarile
yazdn
z algoritmay
ekillerle daha kolay, anlal
r ve takibi kolay klacaks
nz.

1
2
RENME FAAL
YET
1
RENME FAAL
YET- 1
AMA
Programlama dillerini ilevlerine gre ay
rt edebileceksiniz

ARA
TIRMA

Bu faaliyet ncesinde haz


rl
k amala
a
da belirtilen ara
t
rma
faaliyetlerini yapmal
snz.

Bilgisayarnzdaki kurulu programlar n genel olarak kategorilerini belirleyip, bir


liste hazrlaynz. Mesela mzik programlar , resim programlar , yardmc
programlar gibi
Kulland nz programlarn hangi programlama dilleri ile yap ld
n arat
r
nz.
Size gre ok ilgin olan bir program n zelliklerini anlatnz. Ne i
e yarad n
ve nereden edinilebileceini not ediniz.
Farklprogramlama dillerinde Merhaba Dnya Hello World program
rnekleri bulunuz. Dilin adnve rnek programbir k da yaz nz.
Konularda bazkelimelerin altmavi dalgalolarak izilidir. Bu konularara t
rmanz
tavsiye edilir.

Not: Her dilin kendine gre avantajbulunmaktad r. Modlde belli yerlerde


verilen rnekleri yapt
n
zda o dilleri
renmiolmayacaks nz. As l ama,
anlatlmak istenen konunun uygulanmas dr, somut ve anla lr hale
gelmesidir.

1. PROGRAMLAMA D
LLER
Bilgisayar ok karma r,
k bir elektronik cihazd imdilik bizi ilgilendiren k
s
m onun

alma prensibi de
il, programlama k sm dr.

Bilgisayar rendi ini unutmaz, eer iyi programlarsan


z kusursuz olarak ilemleri
yapar, yorulmadan hep ayni lemi tekrar yapabilir. Programlar bilgisayar n tm
kaynaklarna eriebilir, tabii onu yazan programcizin vermiise. Bilgisayar, bir konuda
yorum yapamaz, yeni durumlara uyum salamak iin aba sarf etmez.

nsan unutkand r, hata yapabilir, yorulur ve beyninin tamam nkullanamaz, moral


durumu dei ebilir ve duygusal olarak etkilenir.
nsanlar
n en byk avantaj, yeni durumlar
kar
s nda bocalasa bile zamanla uyum sa layabilmesidir. Bana gelen olaylardan ders
kartabilir. Tek ba na birok sorunu zebilirler. Bilgisayar ise her zaman ayntepkiyi
verir, kendini geli tiremez. nsan taraf ndan kontrol edilmedike etkinliklerini
de itirmezler.

3
Bilgisayar; ekonomi, bilim, mhendislik, e itim ve askeri alanlarda yard mcolmas
iin retilmitir. ok karma
k formllerin sonucunu k sa zamanda elde etmek iin
programlar yaz lm r. zellikle
t kinci Dnya Sava veri ifreleme ve silahlar
n hedefi
daha doru bulmasgibi konular sebebi ile bilgisayarn geli
imi h zlanmt
r.

Bir programlama dilini neden reniriz? Bu sorunun cevab , elence iin, bir ihtiyac
gidermek iin, kariyer iin veya zekn
zkan tlamak iin olabilir. Para kazanmak her ne
kadar birincil hedef gibi grnse de, eer i inizi severek yapm yor iseniz, ne kadar
kazandnzn pek nemi olmaz.

Eer bilgisayara ne yapmasgerekti ini sylemezseniz, hibir


ey icra etmez.
Bilgisayara yapt iniz
rmak istedi eyi iki
ekilde gerekle
tirebilirsiniz:

Adm adm bir program yazarak


Uygun bir program sat
n alarak

Bazprogramlar
n girive
k
lar
:

Tr Giri lem k
Kelime
lemci Klavyeden girilen Yaz ybiimlendirir, Dzgnce ekrandan
karakterler yaz m nkontrol eder veya yaz
c dan k
Oyun Fare, klavye ve oyun Ekranda h zlbir Ekrandaki figrler
ubu u tubas mlar ekilde bir animasyon
hesaplama
Muhasebe u anki ve gemi Piyasadaki fiyat Gelecekteki rn
Program fiyatlar etkilerini tanmlama fiyat
Web Taray
c HTML kodlar Kodlarresim ve Web sayfas n
yaz ya dn trme ekranda gsterme


yi bir program
n temel zellikleri
unlard
r:

Doruluk : Verilen grevlerin tam olarak yerine getirilmesidir.


Dayankll
k : Beklenmedik hatalardan dolayprogram n almas
kesilmemelidir.
Geni
letilebilme : leri a
amalarda grevlerin de iiklii veya yenilerinin
eklenmesi kolay olmal dr.
Basitlik : Karma k tasar
mlardan ka nmak gerekir.
Modlerlik : Program kodlarba ka programlar iinde de kullan labilmelidir.
Uyumluluk : Ba ka bilgisayar ve sistemlerde al abilmelidir.
Kontrol edilebilirlik : Hata olabilecek yerlere a klay
chata mesajlarkonulmal dr.
Kolay kullanm : Kullan cara birimi kolay olmalve rahat renilebilmelidir.
Paralanabilirlik : Problemin kk paralara ayr larak yaz lmas d r.
Anla lrl
k : Ba kasnn yazd program elden geirilirken rahata
okunabilmelidir.
Koruma : Modller birbirlerine mdahale etmemelidirler.

4
Temel olarak bir algoritma, bilgisayara belli bir problemin zmn anlatmaktr.
Dnya problemlerden olu tuuna gre, pratikte insanlar
n yazabilecei program say
sve
eitlili
inin bitmesi ok zordur. Byk bir problemin bilgisayara yapt r
lmasiin,
genellikle kk paralara blmek gereklidir.
in bir oyunda
rne u ad
mlarzmek gerekebilir:
Kullan cn
n bir nesneyi (araba, adam, uzay gemisi)
nasl hareket ettirebilece
i
Nesnenin duvar, uurum veya evredeki ba ka
nesnelere gre arpmadan, d meden nas l hareket
edecei
Gereki olarak evre tasarm yapmak
Gelen merminin nereye arpt n bulmak ve
oyuncunun sa lk durumunu ekrana yazmak
Programlama genellikle zor de ildir, ama zaman harcayan bir i tir. Bir pinpon
oyununu yazmak, bir savaua nn simlasyonunu yapmaktan daha kolayd r. Eer ad
m
adm bir yeri tarif edebiliyorsan
z, program yazabilirsiniz. Bir bilgisayar aptal oldu una gre
ona ne yapaca nad m ad m anlatman z gereklidir.

Arkadan
za evinizin yolunu tarif ederken:

Yayla mahallesine git


nar sokana git
Trafik klarndan saa dn
ki sokak ileride sola dn
Bir insan iin kolay olan bu ad
mlar bilgisayarda yaz
ldnda hibir anlam ifade
etmez:

Yayla mahallesine nasl gidece im?


nar sokannasl belirleyece im?

Iklardan ne kadar sonra sa a dneceim?
Sola dnnce arabaynas l park edeceim?

Programc
l
k
Programlar her zaman i e yaramayabilir. 1980li yllarda Amerikan ordusu Temen
York isminde bir pilotsuz uan uak savar planlam t
. Basit olarak ama, dman ua n
bulup yok etmekti. Milyonlarca dolar harcand ktan, saatlerce program yaz ld
ktan ve test
edildikten sonra programc lar alacana emin oldular. En st rtbeli subaylar ve
grevliler nnde, deneme iin haz rl
k yap ld. Maalesef deneme s rasnda, Temen
York tm silahlarnd mana deil, komutanlar n zerine dorultmu tu. Neyse ki insanlar
etrafa da l
rken, fzelerini atelememi ti! Bu korkun denemeden sonra proje rafa
kald r
ld.

5
1.1. Bilgisayar Program
in Neler Bilmeliyim?
Bir programkullanmaktan ok, yazma konusunda istekli iseniz, zaten program
yazmak iin gerekli
eye sahipsiniz demektir.

stek: nnze ne kadar engel ksa da, isteiniz varsa renirsiniz. (Kanuni
olmayan bir ey ile ilgileniyorsanz, hapishanede geirilecek zaman nz
olabilir!)
Merakl l
k: Bu sayede reneceiniz dil size angarya gibi gelmez.
Hayal gc: Bylece daha ilgin ve faydalprogram yapabilirsiniz.

1.2. Programlama Dili


Bilgisayar Trke, ngilizce veya baka bir dilden anlamaz.
Bilgisayarn fonksiyonel bir beyni olmad iin insanlar komutlar
yazmal dr. Bu zel dile programlama dili denir.

Komutlar bir araya gelerek programmeydana getirir. Belli bir


dil ile yaz
lmkomutlara kaynak kod da diyebiliriz.

1.3. Neden Birok Programlama Dili Vard


r?
Her programlama dili zel bir amaca hizmet eder. nsanlar farklproblemleri zmek
iin de iik programlama dilleri yazm lard
r. Temelde bilgisayarlar 1 ve 0lardan oluan
*
ikilik say sistemindeki dili anlarlar. Buna makine dili denir:

0010 1010 0001 1101


0011 1100 1010 1111
0101 0110 1101 0101
1101 1111 0010 1001

Makine dilinin dezavantajlar, kodlaryazarken hata yap


lma olas
l nn fazla olmas
ve yaz mnn uzun srmesidir. Makine dilinin daha rahat programlanmasiin 1950li
yllarda assembly dili geli tirilmitir. Assembly dili basit, hatrlanmas kolay
deyimlerden olu ur.

Programc lar 1 ve 0 ile program yazma yerine assembly dilini geli tirmi
lerdir,
bilgisayarn bu yazlanlarla ilgili hibir fikri yoktur. Bu sebeple programclar assembly dil
komutlar nmakine diline eviren programlar yazm r. Bu programlara makine dili
lard
eviricisi - assembler denir. Bylece assembly dili ile yaz lmbir kod, bilgisayarn
anlayabilece i makine diline dn molur.

Not: Bir programilk denemede al


trmak zordur. Genel davran olarak programokunakl
yazarsanz, hatalara f
rsat vermez, ileride bir eklenti yapmak istediinizde zorlanmazs
nz.

*
Bir evrim rnei:
3 2 1 0
(1100)2 = 1 * 2 + 1 * 2 + 0 * 2 + 0 * 2 = 8 + 4 = (12)10
6
Assembly dilinde kod rnei
Title Yazi Programi
dosseg
.model small
.stack 100h
.data
my_message db 'Selam!',0dh,0ah, '$'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
mov dx,offset my_message
int 21h
mov ax,4C00h
int 21h
main endp
end main

Resim 1.1: Bilgisayar


n anlad
dil; makine dili

Not: Intel uyumlu ve Microsoftun MS DOS ve Windows i letim sistemlerine uygun bir
assembly dili ile burada rnek verdik. Ki
isel bilgisayarlar (PC), PowerPC (Macintosh),
PIC ve 8051 gibi i lemci ve mikro denetleyicilerin kendilerine has dilleri ve evirici
programlarvard r.

Temel olarak makine dilinde; mant ksal ilemler, aritmetik ilemler, dallanma
ilemleri ve veri hareket i
lemleri yapabiliriz. Bu i
lemleri kullanarak ister basit ister ok
karma k programlar yazabilirsiniz.

Assembly dili makine dilinden daha rahat yaz


lmas
na ramen, hala baz
dezavantajlara sahiptir:

Yavave ok yer kaplayan programlar olu ur. (bu sat


r hatalassembly yaz
lan
programlar az yer kaplar ve yavaal mazlar)
Baka dile evrilmeleri zordur.
ok uzun program yaz mna elveri
li de
ildir.

7
Resim 1.2: Dillerin genel grnmleri

Programc lar donan ma eriimi daha kolay olan, okunakl , yaz


mve dzenlemesi
kolay olan bir dile ihtiya duymu lardr. Bunun zerine C (1972 doum yl
) ta nabilir dili
geli
tirilmitir. Cobol (1959) ve Fortran (1957) gibi birok diller de vard r ama hala
gnmzde yayg n olarak kullan
lan C dili olmutur.

C dilinde kod rnei


main()
{
printf ("Selam!\n");
}

Ekrana Selam! yazan bu rnek ngilizce diline benzer kodlamaya sahiptir.


nsanlar
n
konu n olan dillere yksek seviye dil denilmi
ma diline yak tir.

nda programlama dilinin


Asl ngilizce olmas
art deildir. Kendi dilimizde olan rnek
program Tupol ile yaz
lmt
r.
Tupol dilinde kod rnei
PROGRAM SelamProgrami;
Basla
Yazi(#i,"Selam!");
Bitti.

ka bir Trke programlama dili olan Pozitif dilinden rnek var.


Resim 1.3te ba

Ta nabilir: Tasarlandbilgisayar n haricinde, yani donanmdan ba msz olarak dier bilgisayar


trlerinde de al abilme zelliidir.

1995 y l
nda iki gen bilgisayar mhendisi aday(SavaKSE ve Mehmet AKIN) taraf ndan lisans
derslerinin aras nda 4 5 ay gibi k
sa bir srede yaz lan TUPOL 2.0 ilk, belki de tek Trke derleyici
olmas , azim ve alman n sonular ngstermesi a s
ndan nemli bir rnektir.

Pozitif bazmatematiksel i lemleri, metinler zerinde oynamay, kullan c


dan bilgi girii alarak
bunlar zerinde i lem yapabilmeyi salayan bir dildir. Birkan KUYUMCU

8
Resim 1.3: Pozitif Trke programlama dili ile rnek program yaz
m

Her ne kadar kendi dilimizde program yapmak gurur ve heyecan verici olsa da, ileride
grece
iniz bir dilin temel gereklilikleri sebebi ile bu dillerde byk (karmak) programlar
yapmak zordur. Programlamaya s nmak iin, ilk denemelerinizi bu programlama dillerinde
yapabilirsiniz.

Bir dilin okunaklve kolay yaz labilir olmasd


nda, bilgisayarn donan m na
ulamasve ba ka bilgisayarda da rahatlkla al
masgereklidir. Yksek seviye bir dili
makine diline eviren programlara derleyici compiler denir. Derleyiciyi aynen
Franszca bir kitabn Trkeye evrilmesini sa lamak gibi dnebiliriz. Tabii insan dilinin
baka dile evrimi ok daha zor bir i
lemdir.

Eer uygun bir derleyiciniz var ise programn


z
n kaynak kodunu baka bilgisayarda
derleyerek al
trabilirsiniz. rnein, Macintoshta yazlan bir program n kodlar n
Windowsta biraz dei tirerek kullanabilirsiniz.

C programlama dili di er Cobol ve Fortran gibi dillerden daha basit olduu iin, C
dilini makine diline eviren birok derleyici yaz
lm t
r. C dili bylece yle ok
yayg nla
m t
r ki, bu dile uyumlu olan diller ortaya km
tr. Mesela C++ (c plus plus),
Java, Perl, Python ve C# (c sharp) gibi. u anda kullan lan tannm, tan nmambirok
program C veya C++ ile yap lmt
r: Windows, Unix, Microsoft Office gibi...

Not: Cnin ok gl olmasbazktlkleri de beraberinde getirir: Tm sistem kaynaklar


na erimek
gibi. Bu kullanmas nbilmeyen birinin eline elektrikli testere vermek veya el bombas nvermek
gibidir Yanl yazlan kod, bilgisayar
n gmesine sebep olabilir. zellikle eski DOS gnlerinde
programdaki hatalardan dolaybilgisayar n kilitlenmesi ok s k olan bir durumdu. Yeni iletim
sistemleri, program hatalar
nda bilgisayarn kilitlenmemesi iin nlemler alm
lard
r.

Programlama dilleri zel amalar iin yazld


klariin o dilde her istediinizi yapmak
zordur. Mesela Fortran matematik hesaplamalar iin yap
lmtr, bu dilde bir i
letim sistemi
yazmak gereksiz yere ok uzun zaman alan bir ilem olur.

9
Mhendisler dier insanlar n rahata program yazmalariin Basic (Beginners All
Purpose Symbolic Instruction Code - 1964) ve Pascal (1971) gibi diller retmi
lerdir. Basit
bir dilden yola
klarak istenen dile geiyaplabilir.
Basic dilinde kod rnei
PRINT "Selam!"

Grd nz gibi ekrana bir mesaj yazmak iin Basicte sadece bir sat
r kod yeterli
oluyor. Bu dil sayesinde insanlar kodun yazmile u ramaya deil, amalad klarie
odaklanabiliyorlar.
C ve Basic aras
nda kalan Pascal ise biraz daha iyi grnml, yap
sal program
yazmaysal
yor:
Pascal dilinde kod rnei
Program Message;
Begin
Writeln ('Selam!');
End.

Lisp 1950li yllarda yap lmbir derlenebilen mant k programlama dilidir. Prolog
(programming in logic kelimelerinin k saltmas ) ad
ndaki 1972 ylnda ortaya kan dil ise,
mant k programlama dili olarak tarif edilebilir. Komut dizileri yerine mant k deyimleri ile
program yaz lr. Genellikle yapay zek ile ilgili konularda kullan
l
r. Yazmve kurallarok
basittir.
Yksek seviyeli dillerin genel zelliklerini yle zetleyebiliriz:
Makine diline gre daha i kin ve yavakod meydana getirirler.
Tm sistem kaynaklar na ula lamayabilir, tabii amac nz disk yard
mc
program(Norton SystemWorks) gibi program yazmak de ilse
Bir derleyici gereklidir.
K sa zamanda program yazmaya ba lan r.
renme ve ustala ma iin geen zaman fazla de ildir.
Yanl l
kla sistem kaynaklar nn bozulmamasiin kalkanlarvard r.
Okumasve de itirmesi kolayd r.
Ba ka bilgisayar e itlerinde de al abilirler, yani tanabilirdirler.
Sk sorulan sorular:
1. Assembly dili ile yksek seviye dil aras ndaki h z fark ne kadard r?
Cevap:Assembly dili yakla k 2 ile 20 kat aras nda daha h zl
dr.
2. Assembly dili ile yksek seviye dil aras ndaki program tasar m sresi
ne kadard r?
Cevap:Assembly dili yakla k 10 ile 100 kat aras nda daha yavasrede tamamlan r.
3. Derleyiciler hangi dilde geli
tirilmi lerdir?
Cevap:nceleri assembly dili ile yaz lm lardr. Daha sonra yksek seviye
diller glendike bu diller kullan larak derleyiciler yaz lm tr.

10
1.4. H
zl
Uygulama Geli
tirme Ortamlar
Eski zamanlarda fare, grafik ekran imknolmad iin metin tabanl ortamlarda
allrd
. Pencere ve dme gibi kavramlar ise, 1984 yl
nda Apple "System 1" ve 1992
yllarnda Microsoft Windows 3.1in ortaya
kmasile gnlk hayat
m za girdi.

Pencereler, kaydrma ubuklar , ara ubuklar , menler programc nn daha h zlbir


ekilde program yapmas na sebep olduu iin, bu ortamlara H zlUygulama Geli tirme
Rapid Application Development (RAD) denilmi tir. Grsel Programlama Dilleri (Visual
Programming Languages) olarak da adland r
l
rlar. Programcolu turacaprogram n ara
birimini, istedi
i gibi tasarlayabilir ve bu ara birimi i levsel hle getiren kod k smn
yazabilir.
Popler RAD dilleri: Visual Basic, Delphi, JBuilder ve Visual C#.

Resim 1.4: Visual Studio 2005 program


nn hakk
nda k
sm

RAD ile programc , temel programlama dilleri olan C, Basic ve Pascal gibi dilleri
kullanarak, hzlbir ekilde uygulama geli
tirebilir. Kullan
cara birimi geli
tirmek kolayd
r.
C ve Basic bilen iin grsel programlama diline geiok kolayd r.

Maalesef RAD ile dilin tanabilirli
i azal
r. Yani Windows ortam nda Visual Basic
ile yazlan program
n, Linuxta alma ihtimali azd r. Tahmin ettiiniz gibi, art
k grsel
programlama ile yapt
nz programlar daha ok disk alankaplayacak ve daha yava
alacaklar.
Trke grsel programlama diline rnek Yunustur **.

Resim 1.5: Yunus ekran grnts

**
o unlukla Visual Basic benzeri kodlama sistemimiz var. Asl nda ho uma giden Pascal ve C++
komutlarekledim. Sonuta Trke veya ba ka bir dile zelle
tirilebilen basit bir eitim amalscript
(betik) dilimiz oldu. Tar
k BARIYANIK
11
1.5. Veri Taban
(Database) Programc
l

C ve benzeri diller genel amaldiller olduu iin, bu diller ile oyun, muhasebe
programveya bir kelime i lemci programyap labilir. Bilgisayarlar
n en ok kullan
m alan
ise, bilgi kaydetme ve dzeltmedir. simler, adresler, elektronik posta adresleri, telefon
numaralar , ideneyimleri, muhasebe gemi leri gibi bilgiler veri tabanlarnda saklanr.
Neredeyse tm firmalar veri tabansayesinde ilerini daha rahat yrtrler.

Kimse garip komutlar ile kay t, okuma ve silme i lemlerini yapmak istemez.
Veritaban nkolayla
t
rmak iin veritaban(database) programc
l geli
tirilmi
tir. Veri
taban programlama ile de iik firmalarn isteklerine gre zel veri tabanlar
oluturabilirsiniz.

En ok kullan lan veri tabanprogramlarMicrosoft Access, MSSQL ve MySQLdir.


Verileri dzenleme iin kendilerine has dilleri vard r. Bu dile SQL (Structured Query
Language Yap sal Sorgu Dili) denir. dbase, FileMaker ve FoxPro programlarise art
k pek
kullanlm yor. Yine SQL tabanlOracle ise, ok byk veri tabanlarbar nd
ran, gvenlik ve
hz gerektiren uygulamalarda kullan lr.

Veri tabanprogramc l
n dezavantajlar
n unlard
r:
Veri tabanprogramlar , veri taban
nileyen program sistemde kurulu deilse

altr
lamazlar.
Sadece veri tabanprogram nkullanarak antivirs, oyun, kelime i
lemci gibi
program yapamazs nz.

1.6. Betik (Script) Programc


l

Birok program kendi programlama dilinin kullan lmasimkn nsa lar. rnein
Word ve Excel iinde, neredeyse Visual Basice benzeyen, Visual Basic for Applications
(VBA) adverilen bir dil vard
r.

Office programlar
iindeki makrolar (VBA) kullan
c
ya yard
mci
levler sa
lar:

Resim 1.6: Excelde makro rnei

VBA dilinde kod rnei


Private Sub CommandButton1_Click()
MsgBox "Selam!"
End Sub

12
Macintosh i
letim sisteminde bulunan AppleScript ile basit bir rnek grelim:
AppleScript dilinde kod rnei
on DisplayMessage()
display dialog "Selam!" buttons {"Tamam"}
end DisplayMessage
DisplayMessage()

Windows i
letim sisteminde bulunan yn dosyas(*.bat) ile basit bir rnek grelim:
Batch dilinde kod rnei
@Echo off
Echo Selam!
Pause

Betik dilleri normalde dier programlama dillerinden daha kolayd


r. Bu diller ile
kullan
cya yardmcbazi lemler yapabiliriz:
Var olan bir programzelle
tirebiliriz.
ok az program yazarak, karma
k bir programkullanlhale getirebiliriz.
unlarunutmay nz:
Betik dili ana programa ba mldr, sadece ana program n kurulu oldu
u
bilgisayarlarda yazd
n
z program alabilir.
Program n z ve da
n sat t
mzordur. Almak isteyen ana programda sat n
almak zorunda kal r.
Genel programlama dillerinden daha k stlimknlar
nz vard
r.

1.7. Web Programc


l

Bazanlarda okunakl
lazaltsa da, gnmz internet siteleri bol grafik, efekt ve
animasyonlarla ssldr. Kolay web programc iin HTML (HyperText Markup
l
Language Hiper Yaz aret Dili) icat edilmi
tir.
Bir sitenin HTML olarak kayna nincelediinizde ok karma
k ve da nk gelebilir.
HTML ile site tasar mok zor olduu iin JavaScript gibi web sayfasyard mc
programlama dilleri yap lm t
r. Etkileimli site yapmak, kullan cnn formlara girdi i
verileri kontrol etmek, site iine oyun eklemek isterseniz, bunlarJavaScript, Java, CGI veya
Macromedia Flash ile yapabilirsiniz.

JavaScript dilinde kod rnei


<script language="javascript">
alert("Selam!");
</script>

PHP dilinde kod rnei


<?
echo "Selam!";
?>

13
ASP dilinde kod rnei
<%
Response.Write "Selam!"
%>

Web programlama dilleri, sitenin ziyareti say


s
nartr
r ve ziyaretinin uzun sre
sitede kalmalar
nsa lar. renmesi kolayd r ve dnyan n herhangi bir yerinden siteye
(uygulamaya) ula
p, de i
iklikler yapabilme imknvardr.

Dezavantajlar
:
Tm web taray clarJavaScript ve Java desteklemez. (Daha eski taray
c
lar
gibi)
Balanth zndrr.
nternet balant
syok ise sayfan
n grntlenmesi mmkn olmayabilir.

Sonu olarak her konuda bir ie yarayan mkemmel dil yoktur. Profesyonel olarak
program yazmak istiyorsanz, C# gibi yksek seviye bir dil ve SQL gibi veri tabandili
renmelisiniz.
bulmakta zorlanmazs nz. Eer sizden site yaplmasisteniyor ise Java,
JavaScript, PHP ve ASP.NET gibi dillere aina olmak ka
nlmazd r.

Eski bilgisayarlarda hl eski kodlar


n barnmasndan dolay
, piyasada az kullanlan
diller ile iyi kariyer yapabilirsiniz. Hatta bilen say
saz olmas ndan dolay , iyi cret
alabilirsiniz.

ok Dil Kullanma

Bazderleyiciler, kaynak kodu nce zel bir dosya trne evirir. Object file nesne
dosyas denilen bu dosya, kaynak dilden ba ms z hle gelir. Farkldilde olu turulmu
nesne dosyalar , linker - balay
c
adverilen programlar ile birle tirilir. Sonuta ise

alt
rlabilir tek dosya oluur.

Microsoft Windows, dillerin ortak kod kullan miin DLL (Dynamic Link Libraries
Dinamik BaKtphanesi) yntemi kullan r. Ara birimi olmayan bu dosyalar, farkl
programlama dilleri kullanabilsin diye sisteme tan
t
lmtr.

Son bir yntem, Microsoftun .NET teknolojisidir. Aynara birimde ister C#, ister
Basic veya ba ka bir dil ile program yaz labilir. Aynveri taban
nve zm ortak
kullanarak birok programcbir arada al abilir. Her dilin kendine has avantaj
kullanlarak, uygulamalar daha gl hle gelebilir.

14
UYGULAMA
UYGULAMAFAALYET
FAAL
YET
lem Basamaklar neriler
1. Bilgisayar nzdaki temel imknlar En ilkel yntemler ile program yap mnbulmaya
ile basit programlar yaz n z. alnz.
"debug " ile basit mikroi lemci komutlar
denenebilir.
Not defteri ile basit bir web sayfasyap labilir.
*.bat y
n dosyalarile sisteme yard mc
ilemler yap labilir
2. C dili ve assembly dillerinde basit Benzerlik, farkl lk, iyi ve kt ynlerini inceleyiniz.
bir program n komutlar n
kar lat
rn z.
3. Bilgisayar nzda ykl olan grsel Grsel bir programlama dili ile metin tabanlbir
programlama dilini kullanarak basit dilin benzerlik ve farkl l
klar n inceleyiniz.
bir uygulama haz rlay n
z. Ara birimi haz rlarken i letim sisteminde ykl
programlarrnek alabilirsiniz.
4. Web programlama dillerinden Web sayfalar nda en ok kullan lan dilleri
birini kullanarak basit bir sayfa aratrn z.
haz rlaynz. cretsiz hizmet veren sitelerden (geocities, brinkster
ve tripod gibi) yelik edinerek, site olu turma
denemesi yapabilirsiniz.
Sitenizi arkada larn z ile payla
nz.

Ba
lat*alt
r*debug komutu ile programalt
rabilirsiniz.
15
LME VE DEERLEND
RME
LME VE DEERLENDRME
OBJEKT
F TESTLER (LME SORULARI)

A adaki sorulardan; sonunda parantez olanlar do ru / yanlsorulardr. Verilen


ifadeye gre parantez iine do ise Y yaz
ru ise D, yanl z.
n klsorularda uygun kk
iaretleyiniz.

1. Bilgisayar ok ak
ll
dr, kullan
c
n
n verecei komutlartahmin ederek nceden cevab
hazrlar. ( )

2. Bilgisayar, bilgileri zlemeyecek


ekilde
ifreleyebilir. ( )

3. Bakas nn bilgisayar
na, sitesine veya dosyalar
na izinsiz olarak, ama zarar vermeden
eri
ebiliriz. ( )

4. Bilgisayarlar kendi aralar


nda programlama dilleri ile anlarlar. ( )

5. Derlenmibir dosyadan istedi


imiz dile geri dn
m yapabiliriz. ( )

6. Tm dillerde bilgisayara zarar veren program yaz


labilir. ( )

7. Aa
dakilerden hangisi makine diline aittir:
A) 15
B) A
C) 0
D) %

8. Hangi dil, bilimsel matematik i


lemleri yapmak iin tasarlanmt
r?
A) Basic
B) Fortran
C) C
D) Pascal

9. Yazlm nedir?
A) Ana bellekte yer alan her trl deer
B) Klavyeden girilen veriler
C) Bilgisayar programlar
D)
lemci

10. Hangisi yaz l


md
r?
A) Bilgi
B) Yazc
C) Derleyici
D) Klavye

16
11. Hangisi program n temel zelliklerinden olamaz?
A) Basitlik
B) Uyumluluk
C) Hatas z olmak
D) Do ruluk

12. A
a
dakileri en kolaydan zor dile gre s
ralanhangisidir?
1) Assembler 2) Delphi 3) C 4) Basic

A) 1-3-2-4
B) 3-1-4-2
C) 4-3-2-1
D)4-2-3-1

13. Hangi dilde Trke kod yazamay


z?
A) Tupol
B) Pascal
C) Pozitif
D) Yunus

14. Aadakilerden hangi e


le
tirme hatal
d
r (bilmediklerinizi ara
t
r
n
z)?
A) AutoCAD - AutoLisp
B) 3DSMax - MaxScript
C) Corel - CorelScript
D) Office VB

15. Aa
dakilerden hangisi programc n
n as
l i
i de
ildir?
A) Program yazmak
B) Program hatalarngidermek
C) Program n pazarlanmas nsalamak
D) Program n kurulum dosyas nyapmak

17
RENME FAAL
YET
2

AMA RENME FAAL


YET- 2
Bilgisayarda bir problemin zm a
amalar
nyaparak, program yazmaya haz
rl
k
yapabileceksiniz.

ARA
TIRMA
Bu faaliyet ncesinde haz
rl
k amala
a
da belirtilen ara
t
rma
faaliyetlerini yapmal
snz.

Gnlk hayatta kar


lat
n z problemleri nas l zmlediinizi dikkatlice
gzlemleyiniz. rnein; okula gelive gidiyolunda hangi ta
t aralarsra ile
kulland nz, hava ve yol durumuna gre zm olarak neler yapt n z
anlatn
z.
Problemleri zerken i lemleri belli bir sra ile mi yap yorsunuz yoksa zm
iin gerekenleri rastgele mi uyguluyorsunuz, buna dikkat ederek
arkada larnzla payla
nz.
Algoritma kelimesinin kayna nara trnz.
Bir yemek tarifini ara tr
nz. Yemek yap m nda izlenen admlarbir k da
yaznz. Alternatif durumlarda belirtiniz.

Konularda bazkelimelerin altmavi dalgalolarak izilidir. Bu konularara


t
rman
z
tavsiye edilir.

2. PROGRAM YAZIMI
u anda oturup programlama yapabilir olsan z da, bu bir
bebein nne yemesi iin gerekli malzemeyi savurmaya benzer.

Basit programlar renmek iin hemen yazabilirsiniz.


Ekran n ortasna okulunuzun ad
nyazmanz iin uzun uzun plan
yapman za gerek yoktur. Ama ok karma k programlar ,
bilgisayarnza aktarmadan nce, k
t zerinde planlaman z
gerekebilir.

Programtasarlarken, ilk d nmeniz gereken ey hangi dili kullanacanz deildir.


Programdan ne istedi inizi tam olarak bilirseniz, hangi dili kullanaca nza kolay karar
verirsiniz. Tek bir dili aramak yerine, deiik dilleri gz nnde bulundurunuz. Program n z
altsrece, hangi dil ile yap ldnemli de ildir, zellikle de program nzalan
m teri (kullan
cda diyebiliriz) bununla ilgilenmez.

Bilgisayarda zmeniz gereken problemin, sadece bir zm (algoritmas )


olmayabilir. Her zmn kendi avantajveya dezavantajolabilir. Bazalgoritmalar daha
18
hzlolarak ilemi bitirirken, aynalgoritman n kod k sm nyazmak ok uzun srebilir,
mant ok karma
k olabilir. Sk a
alarla kaplbir ormana, dar
dan baktnzda iinden
geip gitmenin imkns z gibi gzkt n bilirsiniz. lemleri admlara bldke
hazmetmesinin daha kolay oldu program kodu
unu greceksiniz. Planlama sayesinde, yanl
zerinde uramaz, zm iin zaman kaybetmezsiniz.

tasarlarken
Program unlargz nnde bulundurmal
s
nz:

Kullan c: programkim kullanacak?


Hedef bilgisayar: Windows mu, Linux mu, bir el
bilgisayar m , yoksa bir sper bilgisayar m
?
Siz: tek ba n za myapacaks n z? Takm halinde
alacak iseniz hangi k smlarsiz yazacaksnz?

Kullan c
Eer programsadece siz kullanacaksan z, grnm istedi iniz gibi

tasarlayabilirsiniz, almasyeterlidir. Satacak veya cretsiz olarak
verecek iseniz, kar
nzdaki insanlartan
man z mant klolur. Kullancnn
baka sile bakarak programtasarlaman z gereklidir.

Hedef bilgisayar
Kullan c
n n kulland bilgisayar n trn gz ardedemeyiz.
Programlama dilini buna gre seeriz. Hangi donan mkulland da
nemlidir. Bir Mac kullan c siin bol haf za, disk alan
, renkli grafikler, ses
avantajvarken, bir el bilgisayar nda ise daha az renk seenei, ekran
znrl ve bellei vard r. Bir program ne kadar ok e itli ortamda

al
yor ise o kadar rabet grr. Bu prensibe apraz platform cross platform denir.
Kullancsay snart rma abalar m
z, beraberinde daha fazla hata tr ile karla
mamza
neden olur. M teri destei salarken bunlara dikkat edilmelidir. Farklsrmlere blnmek,
krn blnmesi demektir.

Not: Borland firmas , grsel programlama dili Delphinin Linux srm olan Kylixi
karm
t
r.
Fakat sadece 1.0 srmnde kalakalm , proje ileri gtrlememi
tir.

Siz
Herhangi bir programlama dili ile u rarken, nce kendi
yeteneklerinize dikkat edersiniz. yi bir proje akl
nza gelmiolabilir. Ama
deneyiminiz az ve bilginiz az olunca, kendi program n
zyazmak zor
gelebilir. Acemi biri iin C ve C++ ile program yap mok zaman al c
olabilir. Daha basit olarak Visual Basicte program yazmay renip,
piyasada almaya ba layabilirsiniz.

Bir gnde program yazan ok az insan vard r. Program kod yazmzaman al r, acele
yap
ld
nda ii hatalarla dolabilir. Ne yapacanzdan emin olduktan ve istenen program n
ne iyapacananlad ktan sonra program yap mna balayn
z.

19
Alt n Kelepeler
Birok insan program yazmak yerine programc ie alrlar. Aman dikkat! zgr
alan bazprogramc lar alt
n kelepe kuralile geiniyor olabilir. Bir programc yie
alrsn
z, biraz para verirsiniz. Programctam istediiniz gibi bir program yazmaz. Paray
kaybetmek yerine, biraz daha para vererek, program n yeni srmn yapt r
rs
nz.
te bu
noktada kelepelendiniz demektir. Programc ya devamlpara verir ama hibir zaman
istediiniz programelde edemezsiniz. Ba ka programc ya da geemezsiniz; nk kaynak
kod elinizde de ildir. Elinizde olsa bile kimse o programde i
tirmek iin zaman harcamaz.

2.1. Prototip (Kal


p) Olu
turma
Tam al
mayan veya yanl al an bir program olmamasiin programa aylarca
zaman harcamadan nce, programc lar mimarlar n maket modeller yapmasgibi, prototip
olutururlar. Bunu normal bir program gibi, menleri, formlar , diyalog kutularolan ama
iinde kod olmayan bir uygulama olarak d nebilirsiniz. Fikir vermek amacile yap l
rlar.
Prototipten memnun kal nca, programckodlamaya geer. Birok programcVisual Basic
veya Delphi gibi grsel bir programlama dili ile prototip hazrlar.

2.2. Sahte Kod ve Algoritma Yazma


Programlama dili seseniz bile, hemen kod yazm na geemezsiniz. Pseudocode
sahte kod denilen kodlama ile program n ilemleri yazl
r. Sahte kod kurdu unuz
mantktaki kaaklar
bulmaya yarar.
rne
in; eer bir ehre fze gndermek isterseniz ad
mlar
nz
uekilde olabilir:
1. Hedefin koordinatlarnal
2. Fzenin u anki koordinatnal
3. Hedefi vurmasiin gerekeni hesapla
4. Fzeyi atele

1. ad
m n daha da gelimihli yle olabilir:
1.a. Fze teknisyeninden hedef koordinatlaredin
1.b. Hedef koordinatlarn geerli olduundan emin ol
1.c. Hedef koordinatlarhafzaya kaydet
1.a. maddesini daha alt basamaklara blebiliriz.
1.a.i. Koordinattan emin ol
1.a.ii. Hedef fzenin atuzakl iinde mi, kontrol et
1.a.iii. Hedef dost blge mi, kontrol et
Bu stten a a top down tasar m ile kaba bir taslak gittike ayr l
nt ekilde
paralanr. Genelden zele do ru i lemleri belirleriz. Bu zaman kaybgibi grlebilir.
Plansz olarak programnzyazmaya ba layabilirsiniz. Ama bu arabaya atlayp Samsundan
Mersine gitmek iin kuzeye doru gitmeye benzer.

zlhesap gc sayesinde doru bir


lk retilen bilgisayarlardan istenen, h ekilde sonu vererek,
silahlara destek olmakt .
20
Sahte kodlar program nz
n ana hatlar
nbelirtir. Bylece bilgisayar
n ba i
araca
iin gerekli tm veriyi toplamolursunuz.

Byk bir program n temel ad mlarnn olduu algoritma makro seviye olarak
isimlendirilirken, detaylar n algoritmalar na mikro seviye denir. Makro seviye iinde
birok mikro seviye algoritma vard r. lk kez program yazan kiiler detay k
s
mlarngenelde
grmezden gelirler. zerinde ok d nlmeden yaz lan program, her ihtimale uygun cevap
veremeyece
i iin hatalal
r.

Eer plans z olarak program yazarsan z, ka


nlmaz son, ksa sre sonra kod
pl olabilir. Programalan ki i nas
l kod yazd
nzumursamasa da, bceklerle (bug)*
dolu bir yazl
m , siz olsan
z kullan
r mydnz?

Temelde program nz ana blme ay rabiliriz:


Giri
: Bilgisayarn zerinde al aca veri kullan ctaraf
ndan girilir.

lem: Bilgisayar girilen bilgiyi iler.
k
: Bilgisayar insanlarn anlayaca ekilde ekrana sonucu gsterir.

rnek:
Giri
:
a. rnn adnal.
b. rnn miktarnal.
c. Bir dosyadan rnn fiyat
noku.

lem:
a. rnn toplam fiyat nhesapla.
b. Gerekli indirimi yap.
k
:
a. de
Toplam sat erini yaz.

rnekteki ad
mlarsahte kod olarak alt alta toplarsak:
1. Ba la.
2. rnn ad nal.
3. rnn miktar nal.
4. Bir dosyadan rnn fiyat noku.
5. rnn toplam fiyat nhesapla.
6. Gerekli indirimi yap.
7. Toplam sat de erini yaz.
8. Bitir.

Baztemel sahte kod komutlar


unlard
r:

Bala Bitir : Sahte kodun ilk satrbalang ve son satrbiti


i iin yaz
l
r.
Oku : Kullancgirii iin yazlr.
Yaz : Kullan
cya bilgi veya sonu gstermek iin yaz lr.
Eer se Deilse : artlara gre ak
n deimesinde kullan l
r.
*
Bcek (bug): Programda hatalara sebep olan program sat
rlard
r.
21
rnek:
1. Ba la
2. Say sal say1, say2, sonuc
3. Yaz; ki saygiriniz
4. Oku; say 1
5. Oku; say 2
6. sonuc = say 1 + say2
7. Yaz; Sonu: & sonuc
8. Bitir

Not: Birden fazla deer pepe


e okumada, k
saca
uekilde de tek sat
rda okuma yapabilirsiniz:

Yaz; ki saygiriniz
Oku; say 1, say
2

Sahte kodu sat r numaralarolmadan bloklar hlinde yapabiliriz. Her blok


ald
nda biraz daha ieriden yazmaya dikkat ediniz. Bylece program daha okunaklhle
gelir.

rnekler:


renci notlarile ilgili sahte kod yazal
m:

Bala
Saysal renciNumaras
Yaz; "renci numarasn giriniz"
Oku; renciNumaras
Veritabanndan renciNotu bilgisini oku
Eer renciNotu 50'den byk se
Yaz; renciNumaras & " Geti"
Deilse
Yaz; renciNumaras & " Kald"
Eer Bitti
Bitir

2 say
y
karla
t
ran sahte kod yazal
m:

Bala
Saysal Say1, Say2
Oku; "Birinci sayy giriniz", Say1
Oku; "kinci sayy giriniz", Say2
Eer Say1 Say2'den byk se
Yaz; "Say1 Say2'den byktr."
Eer Say2 Say1'den byk se
Yaz; "Say2 Say1'den byktr."
Deilse
Yaz; "Say1 ve Say2 eittir."
Eer Bitti
Eer Bitti
Bitir

22
Kitap indirimi ile ilgili sahte kod yazal
m:

Bala
Yaz; "Kitap trn giriniz"
Oku; kategori
Eer kategori A se Yaz; "A kategorisinde %10 indirim vardr."
Eer kategori B se Yaz; "B kategorisinde indirim yoktur."
Bitir

Siz de basit olarak bir ay makinesinin, tnn ve telefonun kullan


mile ilgili
ad
mlaryaz
nz.

2.3. Ak
emalar
Akdiyagramlargrsel olarak basite bir problemin ak
nn gsterimidir. Microsoft
firmasnn Visio, Word, Powerpoint gibi birok program ile bu grafikleri haz
rlayabilirsiniz.
Biz de bazrnekleri denemek ve izmek iin Flow Chart Visual Programming
Language isimli a k kaynak kodlu*** bir proje olan programkullanaca z. Ayr ca
Crocodile Technology isimli program ile de ak emalarnn hem tasarlanmashem de
al
trlmasimknm z var.

ema ile program haz


rlayr ca UML ile yap labilir. UML ngilizce Unified
Modelling Language (Birle tirilmiModelleme Dili) kelimelerinin baharflerinden meydana
gelir. Modelleme s rasnda kullan lacak bir dizi
ematik gsterimi tekil eder. Genelde nesne
tabanlsistemlerin analiz ve modelleme a amalar
nda kullan lr. Nesnelerin birbirleri
aras ndaki ili
kilerini ve kendi i yap larngsterir. Programlama dilinden ve i letim
sisteminden ba
ms z bir modelleme dilidir. IBM Rational Rose programve ArgoUML
ile tasarm yapabilirsiniz.

ANSI (American National Standards Institute), ak diyagramlarile ilgili baz


tavsiyelerde bulunmu tur:
Ak diyagram ndaki standart sembollerle program n mant sunulmal d
r.
Ak diyagrambasit, a k ve kolay takip edilebilir olmal dr.
Her ak diyagram nn bir adet ba lang ve bitinoktasbulunmal d r.
Ak diyagram nn takip yn yukar dan aaya, soldan saa do ru olmal d
r.
Veri girileri mant klbir srada listelenmelidir.
Ba lang ve bitisembollerinde tek hat kullan lmaldr.
Ak diyagramok karma k hle gelince, ba lantnoktalarve alt program
kullanlmal d r.
Test verisi ile ema denenmelidir. Deerleri bir tabloya aktar lmaldr.

2005 y l
nda 3.0 srmne ula an Visual Basic 6 ile yaplmprogram dr.
***
Program n da t
m nda kaynaklarda dhil olursa ak kaynak kod proje adverilir.

Bir standart olarak Object Management Group (OMG) taraf ndan dnyaya yaylmaktad
r.
23
ekil Grev

Giriveya
k(input ve output)
Kullan
cetkile
imi iin gereklidirler


lem, hesaplamalar (process, calculation)
Bilgisayar
n as
l yapti
ler burada gerekle
ir

Karar, eer (decision, if)



Program iki ihtimale gre ak
ndei
tirir, her ihtimalin ne
lem yapaca
i ngstermeyi unutmaynz

Alt program, fonksiyon (sub program, function)


Akdiyagramkarma k hale gelince, tekrarlanan belli
k
s
mlarnalt program haline getirebilirsiniz

izgisi (flowline)
Ak
Genellikle yukarve sola doru izilmezler

la ve ya Bitir (Start ve Stop)


Ba
Her program
n bir ba
lang
ve bir biti
i vard
r

Birle
tirici, ba
lantnoktas(connector)
Birok sayfadan olu
an ak emalar
nbirbirine balar

Dng (for, cycle)


Ba
lang m ve sonlanma
, art artlar
niyi belirleyiniz

Dosya (file, storage)


Saklanmasgereken bilgileri kaydederiz

24

ki say
ytoplay
p sonucunu gsteren program
n ak emas
uekildedir:

Bala

2 say
giriniz; a,b

2 say
ytopla
sonu = a + b

sonu
deerini
gster

Bitir

ki say
ykarla
t
rma program
n
n ak emas
uekildedir:

Bala

2 say
giriniz; a,b

Hay
r b says
a say
sbden byktr
byk m?

Evet

a say
s
byktr

Bitir

25

Bozuk bir televizyon kumandasile ilgili zm ak
emasu
ekildedir:

Bala

Kumanday
elinize
al
n

Kumandan n ledini
temizleyiniz

Evet
Kumanda
al
tm
?

Hay
r

Pillerin ynlerinin uygun


olup olmad nkontrol
ediniz

Evet
Kumanda
al
tm
?

Hay
r

Pilleri deitiriniz

Evet
Kumanda
al
tm
?

Hay
r

Kumandann yenisini
al
nz

Bitir

26
Ara tamir ve bak
mile ilgili bir rnek ak emas
:

Resim 2.1: Grsel olarak ak


diyagramhaz
rlama ve al
t
rma rnei

Ak diyagramlarsahte kodlara gre daha anla


l
r ve etkindir. Geli
tirme a
amas
nda
iyi bir yol gstericidir, hatalar daha rahat grlr.

Dezavantajlarunlardr:
ok sayfa sren ak diyagramlarzor takip edilir.
Bir grafik programile izimi zaman kayb na neden olur.
Bir deiiklik yapmak gerekince eman n tekrar izilmesi gereklidir.

2.4. Karar Tablolar


Ba
ka bir programlama yard mc skarar tablolar r (decision table). ok karma
d k
karar yap
larbu sayede kolayca zlebilir hle gelir.

art kt,
art, durum kt
ve durum olmak zere tablo halinde 4 paradan
olu
ur.

art kt
artlar
Durum kt Durumlar

art kt: Hangi kararlar verilecek?


artlar: art
n alternatifleri neler?
Durum kt: Belli artta ne yap lacak?
Durumlar: E (Evet) ve H (Hay r) halinde hareket seenekleri

rnek:
ABC r. artlar
irketi bir sekreter eleman alacakt :
a. Aday bayan olmal
b. En az 2 y l deneyimli olmal
c. Bekr olmal

27
ABC Firmas
nn Eleman
htiya Karar Tablosu
art Kt artlar
Bayan m ? H E H E H E H E
2 yl deneyimli
H H E E H H E E
mi?
Bekr m ? H H H H E E E E
Durum Kt Durumlar
Kabul
H H H H H H H E
durumlar
Dikkat ettiyseniz en fazla sekiz durum olabiliyor. Bu say2 ^ 3 = 8 * hesab ndan
geliyor. kilik saysistemindeki gibi sadece iki ihtimal (E / H) oldu
u iin taban ikidir.
adet de limit sa layan
art
mz var.
Tm olabilecek durum gzden geirilerek hata olmasengellenir. Akdiyagramna
gre daha okunakl d diyagramizmeyi
r. Fakat ilk kez program yazanlar genellikle ak
tercih ederler.

Aa
daki sorular
n sahte kod, ak emasveya karar tablolaryntemi ile
zmn yap
nz:
1. Bir snftaki 5
rencinin notlargirilir, ortalamashesaplanr.
2. Bir elektronik ma azasnda 37 ekran televizyonlar %20, 54 ekran televizyonlar
da %15 indirim yap l
yor. Buna gre ekran boyutu girildiinde, indirim oran n
mesaj olarak gsteriniz.
3. Bir niversite teorik dersin 25 saatine 1 kredi, laboratuvarn 10 saatine 1 kredi
veriyor. Ders ve laboratuvar saati girilince toplam krediyi hesaplayan program
yazn z.

Sahte kodu kar k olarak verilen problemin sat r sralarndzeltiniz. Problem


ve maliyet fiyatlargirilir, krlartoplan
udur; 3 rnn sat r ve ortalamalaralnr.
rnn kr ntopla.
nc rnn sat fiyatngir.
fiyat
Birinci rnn sat ngir.
Toplam3e blerek ortalamas nbul.
nc rnn maliyet fiyat ngir.
Bitir.

kinci rnn satfiyatndan maliyet fiyatnkarp krnbul.

kinci rnn maliyet fiyatngir.
Ortalama krgster.
Ba la.
nc rnn sat fiyatndan maliyet fiyatnkarp krnbul.

kinci rnn satfiyatngir.
fiyat
Birinci rnn sat ndan maliyet fiyatnkarp krnbul.
fiyat
Birinci rnn sat ngir.
*
Buradaki ^
apka karakteri Basic dilinde s alma i
lemi iin kullan
lan i
letir.
28
2.5. Bir Program
n Hayat Dngs
ok az program; yaz l
r, geli
tirilir ve ylece b
rakl
r. Bunun yerine, kullanlmayacak
hale gelene dek, program de iik dnglerde gncellenir. Fakat her ey devamlde i
mez,
mesela neredeyse her y l yeni bir kelime i lemci programsrm karlmas na ramen,
alfabedeki harfler hep aynkalr.

Genel olarak tipik bir program dngs


yledir:
Geli tirilme a amas(ilk olu turulma ve
yay mlanma)
Bak m dngs (olabildi ince k
sa zamanda
bceklerin ay klanmas)
yiletirme dngs (yeni zellikler katma)

Geli tirme a amas :Her program programc nn bilgisayar


nda bobir ekran olarak
ba
lar. Bir fikirden, gerek bir program oluncaya dek, geli
tirme aamasdevam eder.

1. Fikir do ar.
2. Program n tipik hali ortaya kar.
3. Hangi bilgisayarlarda al aca belirlenir.
4. Sahte kodlar yaz l
r.
5. Bir veya daha fazla dil seilir.
6. Program yaz l
r.
7. Test edilir. (Alfa srm denir.)
8. Problemler giderilir. (7 ve 8. ad m gerektii kadar tekrar edilmelidir.)
9. Di er insanlara test etmeleri iin verilir. (Beta srm denir.)
10. Problemler giderilir. (9 ve 10. ad m gerektii kadar tekrar edilmelidir.)
11. Halka program sunulur ve pazarland gibi almasumulur.

Bakm dngs: o u programc, eski bir programgncellemek yerine yeniden


program yazarlar. Gncellemek aynen, kendi evinizi temizlemek yerine, ba
kas
n
n evini
temizlemek gibidir.

Bak m gerektiinde u admlar yaplr:


1. Program n hangi ksmnda hata oldu u bulunur.
2. Bcek temizlenir.
3. Yeni bceklere sebep olunup olunmad anla
lmas iin test edilir.
4. Testte grlen bcekler temizlenir. (1 ve 4 arasher bcek iin tekrar edilir)
5. Yaz l
m iin yama gelitirilir.

yiletirme dngs: Yazlmn tamiri ve kararl


, gvenilir hle gelmesi, cretsiz bir
destek hizmeti olduu iin irket para kazanmaz. Bunun yerine yeni eklentilere sahip
srmleri satmak kazand
rr.

29
Yeni yaz lm ve donan
m ortamlar
n
n avantaj
nkullanmak iin birok program,
tekrar elden geirilir.

1. Programa ne eklenecekse belirlenir.


2. Bu zellik nas l al
acak ise sahte kodlar ile yaz m
yap lr
3. Program de itirilir.
4. Alfa srm olarak test edilir.
5. Hatalar tespit edilip giderilir.
6. Beta srm olarak test edilir.
7. Beta testilerinin hata raporlarokunur. (1 ve 7. ad mlar arasher eklentide tekrar
edilir.)
8. Halka sunulur ve kabilecek yeni hatalar beklenir. (Bakm dngsne girilir.)

niversitelerdeki ve sektrdeki yaz lm mhendislii szndeki mhendislik,


asl
nda daha ok sanat olarak kullan labilirdi. Yazmak, deitirmek ve gncellemek
yksek bir zek ve matematik bilgisi gerektirmez. Daha ok retkenlik, azim ve bol hayal
gc gerektirir.

stediiniz ekilde program yazabilirsiniz. Ama ileride olabilecek problemleri


nlemek iin en iyi yol, planlolmakt
r.

30
Resim 2.2: Programlama dillerinin soy aac

Resim 2.3: Programlama dillerinin kullan


m oranlar

31
UYGULAMA
UYGULAMAFAALYET
FAAL
YET

lem Basamaklar neriler


1. Problemi tespit ediniz. Gnlk hayattan bir rnek bulunuz.
2. Problem ile ilgili verileri belirleyiniz. Verilen bilgileri ve istenenleri ayrayrnot
al
n z.
3. Algoritma ad
mlar
nbelirleyiniz. Ad mlar belirlerken gereksiz ad mlardan
kan n
z.
Her ad msadece bir i lemi temsil edecek
ekilde haz rlay n z.
4. Her ad
ma bir numara veriniz. Her algoritman n ba
nn ve sonunun belli
olmasgerekti ini unutmay nz.
5. Algoritmaykontrol ediniz. Algoritma ad mlar nda problemin
zmn etkileyecek herhangi bir
belirsizlik olmamal dr.
Algoritma haz rlanrken e er bir karar
yap svarsa; yap lan ilem sonucunda her
trl alternatifi deerlendiriniz. Bir sorunun
cevab nn Evet olabilece i gibi Hayr
olabilece ini de unutmay nz.

32
LME
LMEVE
VEDE
DEERLENDRME
ERLEND
RME

OBJEKT
F TESTLER (LME SORULARI)

A adaki sorulardan; sonunda parantez olanlar do sorular


ru / yanl dr. Verilen
ifadeye gre parantez iine do ise Y yaz
ru ise D, yanl nz.

1. diyagram
Ak n
; algoritman ekillerle ifade edilmihlidir. ( )

2. semboll iinde aynanda sadece bir i


Bir ak lem gerekle
tirebilir. ( )

3. Ayrhaz diyagram
rlanan iki ak tirmek iin i
nbirle areti kullan
l
r. ( )

4. Algoritmada i
lem s
rasnemli deildir.

5. Kullan
lan her veri hemen en stte tan
mlanmal
dr. ( )

6.
Bir karla
t
rma i
leminin sonucu Evet ya da Hay
r gibi bir ifadedir. ( )

7. A
a diyagram
da verilen ak ndaki ifadenin anlama
a
dakilerden hangisidir?

I =1, N, 1
lemler

A) I deeri eer Nye e it ise 1 art


r, i lemleri yap
B) I deerini Nden ba layarak 1er 1er art r, i
lemleri yap ve k
C) I deeri 1e e
it ise Nye 1 ekle, i lemleri yap
D) Iy1den ba layarak Nye kadar 1er 1er art r. In
n her deeri iin i
lemleri yap

8. Aa
dakilerden hangisi bir problem olabilir?
A) Piyangodan byk ikramiye kmas nbeklerken amorti kmas
B) Piyangodan byk ikramiye kmas nbeklerken byk ikramiye kmas
C) Arasna piyango bileti konulan kitab
n yerinin bilinmemesi
D) Piyango ekili
inin her zamanki yerinde ve zaman nda yaplmas

33
9. A
a diyagramsembolleri ve anlamlarverilmi
da ak tir.
1. 2. 3. 4. 5.

6.

( ) Bala / Dur ( ) Bilgi Girii ( ) lem ( ) Dng


( ) Karar ( ) Ba lant
Yukar daki verilere gre aa
daki seeneklerden hangisi yanlt
r?
Sembol Nu. Anlam
A) 1 lem
5 (Balant
B) 3 Karar
6 Bilgi giri
i
C) 2 Karar
6 Balant
D) 3 Karar
5 Dng

34
RENME FAAL
YET
3

RENME FAAL
YET- 3
AMA
Programlama dillerindeki yaz
m aralar
nkullanabileceksiniz.

ARA
TIRMA
Bu faaliyet ncesinde haz
rl
k amala
a
da belirtilen ara
t
rma
faaliyetlerini yapmal
snz.

Bilgisayar
nzda kurulu olan bir program n (i
letim sistemi de olabilir) kurulum
dosyalarnve kurulum ad mlarninceleyerek s n
f
n zda sunu olarak tan t
nz.
En rahat program yazabileceiniz yard mcaralarara t
r
nz. Program n hangi
programlama dillerini desteklediini inceleyiniz.

Konularda bazkelimelerin altmavi dalgalolarak izilidir. Bu konularara


t
rman
z
tavsiye edilir.

3. PROGRAMLAMA ARALARI
Programlamaykolayla tr
cbirok ara vard
r. Bu aralar
n kullan
mn
rendikten
sonra program yazmak iin fazla zaman kaybetmezsiniz.

Temel gereksinimler:
Dzenleyici (editor): Komutlaryazmam z iin kullanlr.
Derleyici (compiler): Komutlar mzmakine diline evirir.
Bcek ay klay c(debugger): Program
nzdaki hatalarbulmaya yard
mcolur.

Ek olarak:
Yard m dosyashaz rlay
c: Kullan cya k lavuz olacak el kitabeklinde,
yardm salamak iin kullanlan programlard r.
Kurulum program(setup / installation): Program n dosyalarntek dosya
haline getirerek, di
er uyumlu bilgisayarlara kurmaya yarar.

Linux ve A k Kaynak Hareketi


lk zamanlarda programc lar gnll olarak kaynaklar n
paylaarak, programlar
n gelimesine katk da bulunma fikrindeydiler.
Zamanla, emeklerinin kar lnda para kazanmak istediler.
Kaynaklarnkendilerine saklad l
lar. Bylece bir yazm endstrisi
meydana geldi. Yay m tarihleri aksayan, gvensiz ve kt yaz lm
yazl
mlar da artt
.


Fakat kaynak kod paylamfikri tekrar ortaya
karak, Linux

35
i
letim sisteminin ortaya kmas na sebep oldu. Para vermeden
kullan
labiliyor ve kaynak kodlara gz atabiliyorsunuz.

Resim 3.1: A
k kaynak proje sitesi rnei

Not: Bazdiller yorumlay c(interpreter) olarak al


rlar. Yorumlayc
, derleyici gibi *.exe (veya
al
t
rlabilir dosya) dosyaydiske deil, satr sat
r geici olarak haf
zaya olu turarak program
al
t
rr.

3.1. Dzenleyici
ASCII (American Standard Code for Information Interchange) dosya olarak
yazabilece iniz tm programlar i inizi grr. Mesela not defteri olabilir. Metin dosyalartm
bilgisayarlarda standart olan bir dosya trdr. Ama bir kelime i lemci programkullanmak
yerine programc lar kendi dzenleyicilerini gelitimi
lerdir. Program , yazmas , dzenlemesi
ve yazdrlmaskolay bir ara gibi d nebilirsiniz.

3.2. Derleyici
Derleyici kaynak kodu makine diline evirir. Eer yaz m hatalaryok ise, sonuta
alt
rlabilir bir dosya meydana gelir. Bu dosyayisterseniz dier insanlara verebilir veya
satabilirsiniz. Mesela Microsoft Word programderlenmibir dosyad r.

Kaynak kod de imedii srece tekrar derleme i lemi yap lmas


na gerek yoktur.
Derleyici i
lemci trnze gre kod olu turur. E
er i
lemcinizin mimarisi farklise o
i
lemciye gre tekrar derlenmesi gereklidir.

Perl ve Visual Basic yorumlay c(interpreter) olarak al


r. Kodlar satr olarak
alt
rlr. ou web programlama dili yorumlanarak al t
rlrlar. Mesela web tarayclar,
sitedeki JavaScript kodlarnyorumlarlar. Yani ortada derlemibir dosya yoktur. Bu da
sitedeki kaynak kodun bilgisayara metin olarak indirilip, altrlmasanlam na gelir.

36
P-code (sanal makine kodu) denen hem derleyici hem de yorumlay cprogramlama
dilleri de vard r. Birok bilgisayarda az deiiklik yaplarak alabilen program yazmak iin
programc lar, p-code programlar ntasarlam lard
r. Program sanal makine koduna
dn trlr. P-code olarak derlenmikodu al trmak iin bir yorumlay ckullanl
r. Java
bu ekilde platformdan ba msz al
tr
lyor. Bu yntemle kaynak kod korunmuolur.

Asl nda programlar her ne kadar derlenme sonucunda korunsa da, decompiler
kaynak koda dn trc ile makine dilinden dn trlebiliyor. P-code tamamen orijinal
koduna decompile edilebilir, dier dillerde de bu vard r. Fakat tamamen orijinal kod haline
gelemez. Hangi st seviye dille yaz ldnbilmek mmkn olmad iin, makine dili
kodlar, assembly diline dn trlebilir. Bu kodu alarak kendiniz kaynak kodlar
yazabilirsiniz. Ya da en az
ndan o program ile ilgili fikir alabilirsiniz.

Resim 3.2: Bir C program


nn derlenmesi

Not: AMD ve intel aynx86 (CISC) kod ailesindendir, IBM firmas nn PowerPCsi ise farklmimaride
(RISC) retildii iin kodlarayr
ca derlenmelidir. Ayr
ca 32 bit ve 64 bit i
lemcilerde assembly kodu
farklolduu program tekrar derlenmelidir.

3.3. Bcek Ay
klay
c(Debugger)
ok az program %100 tam al r. Hatalar yznden
programlar ker, veriler kaybolur, ya da program tuhaf
al
r. Aslnda program her zaman ayndurumda aynsonucu
vermelidir. Ama yaz l
m ve donan m farkllklar
ndan dolay
her zaman istenen sonu elde edilemeyebilir.

Yaz l
mn oldu u her yerde bcek vard r. Derleyiciniz,
iletim sisteminiz ve tabii ki kendi programnzda da bcekler
olabilir. Maalesef bir bce i temizlemek yeni bcekler olu masna sebep olabilir.

37
Yazdnz programlarda bcek* ay klamann (debugging) yollar ; ad m ad m

alt
rmak (step), durak noktalarkullanmak (breakpoint), de
ikenleri izlemektir (watch).

Ad mlamak: Program n sat


r sat
r alt
rlmasd
r. Bylece bcek
olan satr incelenebilir. Neyi yanlyaptnzyazdnz kodlar
inceleyerek renirsiniz.

Durak noktalar : Tm programsat r satr al t


rmak yerine,
phelendiiniz yerlere durak noktalarekleyerek, program n oraya kadar al
p durmas
salanr.. Program durunca da sat
r sat
r altr
larak nerede hata olduu bulunmaya al
l
r.

Dei ken izleme: Program al


rken, haf
zadaki de
ikenlerin deerlerinin nas
l dei
tiini
grebilirsiniz. Yanlbilgi var ise, programdaki hatayanlamaya, de ikenin nereden
etkilendi
ini bulmaya al
rs
n
z.

3.4. Yard
m ve Kurulum
Yard m dosyasve kurulum haz rlama programlarayr ca satl
r veya cretsiz olarak
internette bulunabilir. Kurduunuz programlama dilinde basit olarak yardm hazrlamak iin
yardmcprogram olabilir. o u program n yardm dosyasvard r. lk kez program n z
kullanan veya bir konuda tak lan biri iin ilk akla gelen ey, Bu program n yard m
nerede? sorusudur. Yard m dosyasolan programlar daha modern hale gelir.

Program test edildikten, hatalargiderildikten ve yard


m dosyashazrland
ktan sonra
son ad m olarak kuruluma geliriz. CD veya disketlere blnecek ekilde kur dosyas
yapl
r.
Not: Bazprogramlar dorudan istenen herhangi bir dizinde al sa bile, genellikle ek dosyalar
, DLL, OCX dosyalargibi) problem
(veritabandosyalar karabilir.

*

lk bilgisayar bcei ile ilgili resmi ara
t
r
nz

38
Kurulumu olmayan programlarkullan cdenemeye bile al mayabilir. nk elle
kurulum zahmetli bir i lemdir. Bu i i kolayla t
ran kurulum program d r. Kurulum halinin
doru al
tntest ederek da
t m nzyapabilirsiniz. Ayrca kurulum programlar
dosyalars kt
rdklariin kur dosyasaz yer kaplar. Kurulum s rasnda kullan c
ya bilgi
veren ses ve grafik grntler vard r. lerleme durumunu gsteren ubuk sayesinde ne kadar
zaman kald nanlayabiliriz. Diske dosyalar n kopyalanmash zlve przsz olarak
halledilir. Bu da kullancya program n zn profesyonel olduunu gsterir.

Resim 3.3: Bir program


n kurulum ekran

Engelli insanlara bilgisayar kullanm nda nas l bir yard


m edilebilir? Mesela gzleri
grmeyen veya az gren insanlar nas
l bilgisayar kullanabilir?

rnek 1:

En kolay
ekilde yard
m dosyashaz
rlayal
m.

1. danish-shareware.dk/soft/shelpmbeta/index.html sitesinden Shalom Help Maker


program nindirip, bilgisayar
nzda belli bir klasre a
n
z.

Resim 3.4: Her iki dosyayindiriniz, dosyalaraynklasre a


nz

2. Ana program dosyas


olan shalomhelp.exe dosyas
nalt
r
n
z.

39
Resim 3.5: Yard
m dosyas
nn ilk hali ve F6 k
sayolu ile a
lan proje seeneklerinden, Trke dil
desteinin salanmas

3. Tasarm penceresinde sayfa sayfa dokmanlar yaz r, ok uzun olmayacak


l ekilde
program n kullanmanlat l
r. Yeni sayfa eklemek iin Ctrl+N k sayolu kullan
lr. Her
sayfann anahtar kelimeleri Keywords k sm na noktalvirgllerle ayr
larak yaz
l
r.
4. Tasarmdenemek iin F9 k sa yolu kullanl
r. Bu ksa yol ile yard
m dosyasderlenir ve

al t
r
lr.

40
Resim 3.6: Yard
m dosyam
zn grnm

rnek 2:

En kolay
ekilde kurulum dosyashaz
rlayal
m.

1. www.clickteam.com/English/download_main.php?PID=4 sitesinden Install Maker


programindirip, bilgisayara kurulur.

Resim 3.7: Kurulum haz


rlama program

2. Program a ld nda kar mza gelen sihirbaz takip ederek, kurulumu haz rlarz.
3. Kurulum dosyas na kaynak dosyalareklemek zorunda de ilsiniz. Bu sebeple, gerekli
dosyalarba ka bir klasre alabilir ve sihirbazda bu klasr belirtebilirsiniz.
4. Olu turulacak k sa yollarbelirtiniz. Genellikle ana program ve yard m iin ksa yol
yap lr.
5. Sihirbaz sonland r
ldnda, kurulumu test etmek iin, olu an dosyayal t r
r
z.
6. Ba lat mensnde olu an ksa yollaral t
rarak deneyebiliriz.
7. Program nz n deneme kurulumunu Kald r Uninstall ksa yolu ile bilgisayarnzdan
silebilirsiniz.
41
a)

b)

c)

42
)

Resim 3.8: a, b ve c resimlerinde kurulum sihirbazve kurulum ayarlar n


n yap
lmas
,
resminde ise derleme i lemi (Ctrl+B) ve test i
lemini (Ctrl+T) ad
mvardr.

43
UYGULAMA
UYGULAMAFAALYET
FAAL
YET

lem Basamaklar neriler


1. stediiniz bir program n grsel ara Bilgisayar nzdaki ykl programlar
birimini planlay n
z. inceleyiniz.
2. Bir grsel programlama dili ile kabaca Tek form zerine gerekli nesneleri mant kl
program nzn prototipini tasarlay
n z. bir grnm alacak ekilde yerle tiriniz.
Tak ldnz yerlerde retmeninize
dan nz.
3. Program
nza yard
m dosyasekleyiniz. Yard m dosyasolu turmak iin gerekli
programlarara tr
nz.
4. Program nzn kurulum dosyas n Kurulum dosyasolu turmak iin gerekli
oluturunuz. programlarara tr
nz.
5. Yaptnz prototipleri arkada
lar
n
z ile Di er bilgisayarlarda al
abiliyor ise
paylanz. program nzn kurulumu bitmi tir.

44
LME
LMEVE
VEDE
DEERLENDRME
ERLEND
RME

OBJEKT
F TESTLER (LME SORULARI)

A adaki sorulardan; sonunda parantez olanlar do sorular


ru / yanl dr. Verilen
ifadeye gre parantez iine do ise Y yaz
ru ise D, yanl nz.

1. Komutlardzenleyici ile yazar, derleyiciler ile makine diline eviririz. ( )

2. Program
mz
n yard
m dosyasile programc
ya yard
m bilgisi sa
lar
z. ( )

3.
Web sayfalarderlenerek al
rlar. ( )

4. o
u zaman iyi yaz
lan bir programtest etmeye gerek yoktur. ( )

5. Hangisi bir programlama dilinin iinde bulunmak zorunda de


ildir?
A) Metin dzenleyici
B) Kurulum yapma program
C) Bcek ay klayc
D) Derleyici

6.
Program yazmak iin en kullanl
program hangisidir?
A) Not defteri
B) Crimson Editor
C) Microsoft Word
D) Edit

7. Hangisi bcek ayklama ile ilgili bir yntem deildir?


A) Programdurdurmak
B) Admlamak
C) Deiken izlemek
D) Durak noktalaryapmak

Ba
lat*alt
r*Edit komutu ile alt
r
labilir.
45
BULMACA

1 2 3

4 5

6 7

8 9 10

11

12

13 14

15

16 17 18

19 20

21

46
A a Yan
1. Bilgisayar n fiziksel ksmlar 2. Windows nesne ktphanesi
3. C dilinin sonraki srm 4. cretsiz bir veri tabanynetim program
5. Yap sal sorgu dili 6. Windows sistem ktphanesi
6. Grsel Pascal dili 9. C dilinden tretilen bir dil
7. Azaltlm komut kmesi 11. Karma k komut kmesi
8. PC'lere benzeyen di er bilgisayar 12. Programlanabilen mikro bilgisayar
tr 13. Amerikan standartlarkurumu
9. HTML'ye yard mcbir dil 15. Windows kmadan nceki yayg n iletim
10. Basit veritabanprogram sistemi
14. Microsoft firmas n n veri taban 16. Temel metin dosya karakterleri
ynetim program 17. Bilgisayar n anladsaysistemi
18. Delphi'nin Linux srm 19. Web sayfalar nn genel dili
20. Unix i letim sisteminin yayg n kullan lan
di er srm
21. C dili ile retilmibir iletim sistemi
Deerlendirme:

Cevaplar nzcevap anahtarile kar lat


rnz. Doru cevap say n
zbelirleyerek
kendinizi deerlendiriniz. Yanl cevap verdi iniz ya da cevap verirken tereddt ya
ad
nz
sorularla ilgili konularfaaliyete geri dnerek tekrar inceleyiniz.

Modern olan
eyler dierlerine gre hep gz al
colurlar.

47
MODL DEERLEND
RME

MODL DEERLEND
RME
PERFORMANS TEST1 (YETERL
K LME)

Modl ile kazand n


z yeterlii, retmeniniz i
lem basamaklar
na gre 0 ile 8 puan
nda olacak
aras eklinde deerlendirecektir.

DEERLEND
RME KR
TERLER Puan
Bilgisayarnzdaki programlama dillerini inceleme
Temel bir programlama dili ve assembly komutlar nkar
latrma
Bilgisayarnzda ykl olan bir grsel programlama dilini inceleme
Web programlama dilleri ile ilgili ara trma yapma
Ak diyagram n karmak iin gerek hayattan bir problemi tespit etme
Problem ile ilgili verileri belirleme
Problem ile ilgili algoritma ad mlarnbelirleme
Problem ile ilgili yapt nz algoritmay test etme

stediiniz bir program n grsel ara birimini d nme


Bir grsel programlama dili kullanarak ile program nztasarlama
Program nza yard m dosyasekleme
Program nzn kurulum dosyas noluturma
Toplam (en fazla 96 puan olabilir)

48
LME SORULARI

1. Bilgisayara ne yapaca
nn sylendii komut topluluuna ne denir?
A) Algoritma B) Program
C) Ak emas D) Olay emas

2. Bir problemi sahte kod halinde yazarken, karar verilecek en son ad


m hangisidir?
A) Giri B)
k
C) lem D) Kullan c

3. Program n geli
tirilme a
amas
nda, problemin tan
mlandad
m hangisidir?
A) Analiz B) Tasarm
C) Kod D) Test

4. Program gelitirmenin, tasar


m a
amasile _______________.
A) Problem tan mlan r.
B) zm planlan r.
C) Nesneler seilir.
D) Algoritma programlama diline evrilir.

5. Adm ad m mant
ksal s
ralama hangisidir?
A) Akemas B) Ara birim
C) Algoritma D) Bcek ay klama

6. Programdaki hatalar
n bulunmasve giderilmesi aamashangisidir?
A) Analiz B) Tasarm
C) Yardm dosyasekleme D) Test ve bcek ay
klama

7. Hangisi algoritman
n programlama diline evrilmesidir?
A) Analiz B) Tasarm
C) Kodlama D) Test ve bcek ay klama

8. Program tarif eden tm materyallere ne denir?


A) Analiz B) Tasar m
C) Yardm dosyas D) Test ve bcek ay
klama

9. Hangisi bir grevin mant


ksal s
ras
ngrafiksel olarak resmeder?
A) Akemas B) Sahte Kod
C) Olay Grafi i D) Nesne grafi i

10. Belli bir problemin taslak olarak Trke komut haline getirilmesine ne denir?
A) Ak emas B) Sahte Kod
C) Olay emas D) Nesne grafi
i

11. Sembolleri birbirine ba


layan simge hangisidir?
A) akizgisi B) sonlandrma
C) ynler D) artlar
49
12. _____________ sembol ile matematiksel i
lemler yap
l
r.
A) Akizgisi B) Biti
C) Karar D) lem

13. ____________ sembol ile program balang cgsterilir.


A) Akizgisi B) Balang
C) Karar D)
lem

14. ____________ sembol ile semboller birle


tirilir ve mantn yn gsterilir.
A) Akizgisi B) Ba lang

C) Karar D) lem

15. izgilerini birle


_____________ sembol farklak tirir.
A) Akizgisi B) Balang
C) Karar D) Balantnoktas

16. Hangisi sahte kodun dezavantajdr?


A) Basittir.
B) Ak emas ndan daha az yer kaplar.
C) Programlama diline benzer yaz mvard r.
D) Bir program kolay bir
ekilde anla labilir.

DEERLEND
RME


Yapt n
z de
erlendirme sonucunda eksikleriniz varsa
renme faaliyetlerini
tekrarlay
nz.

Modl tamamlad nz, tebrik ederiz. retmeniniz size e


itli lme aralar
uygulayacakt
r. retmeninizle ileti
ime geiniz.

50
CEVAP ANAHTARLARI

CEVAP ANAHTARLARI
RENME FAAL
YET
-1 CEVAP ANAHTARI

1 Y
2 Y
3 Y
4 Y
5 Y
6 D
7 C
8 B
9 C
10 C
11 C
12 D
13 B
14 D
15 C

RENME FAAL
YET
-2 CEVAP ANAHTARI

1 D
2 Y
3 Y
4 Y
5 D
6 D
7 D
8 C
9 D

RENME FAAL
YET3 CEVAP ANAHTARI

1 D
2 Y
3 Y
4 Y
5 B
6 B
7 A

51
BULMACANIN CEVABI

1E 2O 3C X

4M Y 5 S Q L +

Q E +

6D L L K 7R

E T 8M 9 J A V 10 A I

L R A A 11 C I S C

12 P I C O C V C C

H 13 A N S I A E 14 M

I I N S 15 M S D O S

K T C S S

O R Q

16 A S C I I 17 18 K L K

H P Y

19 H T M L 20 L I N UX

21 U N I X

52
MODL DEERLEND
RME CEVAP ANAHTARI

1 B
2 C
3 A
4 D
5 C
6 D
7 C
8 C
9 A
10 B
11 A
12 D
13 B
14 A
15 D
16 D

Cevaplar
n
zcevap anahtarlarile karla
t
rarak kendinizi de
erlendiriniz.

53
SZLK

SZLK

sim Okunu Anlam
access ekses eri
mek
administrator
dmin
streyt
r idareci, sper kullan
c
agent eyc
nt ajan, memur
application
eplikeyn uygulama
area eria alan
argument argyumnt parametre, argman, fonksiyona veri gnderme
assemble ssembl toplamak, bir araya getirmek
associate essoieyt ili
kilendirmek
attribute ettribyut znitelik, zellik
backup bekap yedekleme
base beyz taban, merkez, baz
batch be toplu dosya
binary bayn
ri ikilik saysistemi
boolean buuli
n mant ksal deer
boot buut bilgisayarn a
l
(bootup)
branch bran program n baka yne dallanmas
buffer bafr n bellek, tampon, ara haf
za
bug bag bcek, hata
C++ si plas plas C dilinin st versiyonu
cache key n bellek, ka
e
caret kar
t areti,
^ i apka
cascaded keskeydid basamakl
, azalan
CGI si ci ay internette veritabanuygulamalar
chain eyn zincir
char ar tek karakterlik deer (character kerikt
r)
circuit srkit devre
cluster klast
r kme, her track izdeki sektr grubu
code kod kod, programda kullan
lan komut kmesi
collapse k
leps gmek, gizlemek
command k
mand komut
compare k
mpeyr
karla
t
rmak, comparison karla
t
rma
component k
mpoun
nt nesne, bile
ik
conditional k
ndin
l
art, ko
ullu
conflict k
nflikt
akma
console konsoul ekran ve klayve arabirimi (CON)
convert k
nvrt evirmek, biim dei
tirmek
current krr
nt geerli,
u anki
cursor krs
r imle, fare oku (mouse pointer)
database deytabeyz veritaban

54
55
NER
LEN KAYNAKLAR

NER
LEN KAYNAKLAR
bups.bups.bilkent.edu.tr/ibcomp/course/course.html
computer.howstuffworks.com
dan.corlan.net/bench.html
en.wikipedia.org/wiki/Comparison_of_programming_languages
en.wikipedia.org/wiki/Computer_bug
en.wikipedia.org/wiki/Prolog
www.alicebot.org
www.analystdeveloper.com
www.bilgisayarogren.com
www.brianhetrick.com/casio/tpre.html
www.btturk.net
www.ceebot.com
www.ceturk.com
www.ceviz.net
www.crimsoneditor.com
www.delphiturk.com
www.elk.itu.edu.tr/~caliskan/Harzemli.doc
www.emu8086.com
www.eng.iastate.edu/efmd/161algor.htm
www.geocities.com/tablizer/langopts.htm
www.google.com
www.haber7.com/haber.php?haber_id=141185
www.hazirkod.com
www.icsharpcode.net
www.ileriseviye.org
www.math.uni-hamburg.de/it/software/fpk/ref/node1.html
www.msakademik.net
www.music.columbia.edu/cmix/algo.html
www.nos.org/htm/basic2.htm
www.osdata.com/topic/language/asm/asmintro.htm
www.programmersheaven.com
www.roesler-ac.de/wolfram/hello.htm
www.scism.sbu.ac.uk/law
www.sorucevap.com
www.sourgeforge.net
www.theadvisors.com/langcomparison.htm
www.tpub.com/progintro
www.tubider.org.tr/etik.html
www.turing.org.uk/turing/scrapbook/computer.html
www.vbturk.net
www.yunus.projesi.com
www2.latech.edu/~acm/HelloWorld.shtml

56
KAYNAKA

KAYNAKA
Anadolu niversitesi Akretim Sistemi (www.aof.edu.tr)
AYFER Can Uur, Kim Gler Bilgisayarlara?, Pusula Yay nevi,
stanbul,
1998
AYDIN Serkan, Programlama Ders Notlar
BARIYANIK Tar k, Programlama Ders Notlarve UygulamalGenel
Programlama Kitab(www.yunus.projesi.com)
DURMAZ Alparslan, Programlama Ders Notlar
EKER Mustafa, AlgoritmayAnlamak, Nirvana Bas mevi, Ankara, 2005
NIIT Global Learning Solutions, Fundamentals of Programming
MAGUIRE Steve, Writing Solid Code, Microsoft Bas mevi, Washington,
1993
TAN Ali, Programlama Ders Notlar
WALLACE Wang, Beginning Programming for Dummies, Wiley Bas mevi,
Indianapolis, 2004

57

You might also like