You are on page 1of 61

T.C.


LLÎ EĞİ
TİM BAKANLIĞI

MEGEP
(MESLEKİEĞİTİ
M VE ÖĞRETİ
M Sİ
STEMİ
NİN
GÜÇLENDİRİ
LMESİPROJESİ)


LİŞİ
M TEKNOLOJİ
LERİ

PROGRAMLAMA TEMELLERİ

ANKARA 2007
ğıtarafı
Milli Eğitim Bakanlı ndan geliş
tirilen modüller;
 Talim ve Terbiye Kurulu Baş kanlığı nı
n 02.06.2006 tarih ve 269 sayı lıKararıile
onaylanan, Mesleki ve Teknik Eğ itim Okul ve Kurumları nda kademeli olarak
yaygınlaştı
rılan 42 alan ve 192 dala ait çerçeve öğretim programları nda
amaçlanan mesleki yeterlikleri kazandı rmaya yönelik geliş tirilmişöğretim
materyalleridir (Ders Notları
dır).

 Modüller, bireylere mesleki yeterlik kazandı rmak ve bireysel öğ renmeye


rehberlik etmek amacıyla öğrenme materyali olarak hazı ş
rlanmı, denenmek ve
geliş
tirilmek üzere Mesleki ve Teknik Eğ itim Okul ve Kurumları nda
uygulanmaya baş ş
lanmıtır.

 Modüller teknolojik geliş melere paralel olarak, amaçlanan yeterliği


kazandı rmak koş ulu ile eğitim öğ retim sı rası
nda geliş tirilebilir ve yapı
lması
önerilen değiş
iklikler Bakanlı kta ilgili birime bildirilir.

 Örgün ve yaygın eğitim kurumları , iş


letmeler ve kendi kendine mesleki yeterlik
ı
kazanmak isteyen bireyler modüllere internet üzerinden ulaşlabilirler.

 Bası şmodüller, eğitim kurumları


lmı rencilere ücretsiz olarak dağı
nda öğ tı

r.

 Modüller hiçbir ş
ekilde ticari amaçla kullanı ı
lamaz ve ücret karş ğ
lıında
satı
lamaz.
İ
ÇİNDEKİ
LER

İ
ÇİNDEKİ
LER
İÇİ NDEKİ LER.......................................................................................................................... i
AÇIKLAMALAR ....................................................................................................................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 Birçok Programlama Dili Vardı r? ...................................................................6
1.4. Hı zlıUygulama 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
ÖLÇME VE DEĞERLENDİ 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 Döngüsü.................................................................................. 29
UYGULAMA FAALİ YETİ............................................................................................ 32
ÖLÇME VE DEĞERLENDİ RME .................................................................................. 33
ÖĞRENME FAALİ YETİ- 3 ................................................................................................. 35
3. PROGRAMLAMA ARAÇLARI ....................................................................................... 35
3.1. Düzenleyici ............................................................................................................... 36
3.2. Derleyici....................................................................................................................36
3.3. Böcek Ayı klayı cı(Debugger) ................................................................................... 37
3.4. Yardı m ve Kurulum.................................................................................................. 38
UYGULAMA FAALİ YETİ............................................................................................ 44
ÖLÇME VE DEĞERLENDİ RME .................................................................................. 45
MODÜL DEĞERLENDİ RME .............................................................................................. 48
CEVAP ANAHTARLARI ..................................................................................................... 51
SÖZLÜK ................................................................................................................................ 54
ÖNERİ LEN KAYNAKLAR.................................................................................................. 56
KAYNAKÇA .........................................................................................................................57

i
AÇIKLAMALAR

AÇIKLAMALAR
KOD 481BB0024
ALAN Biliş
im Teknolojileri
DAL/MESLEK Alan Ortak
MODÜLÜN ADI Programlama Temelleri
Programlama altyapı

nıve temellerini oluş
turan öğrenme
MODÜLÜN TANIMI
materyalidir.
SÜRE 40/16

ÖN KOŞUL

YETERLİ
K Bilgisayarda program yazmaya hazı
rlı
k yapmak
Genel Amaç
Gerekli ortam sağlandığında, programlama dillerini
tanı
yıp, bilgisayarda bir problemin çözüm aş amaları

yaparak, program yazmaya hazı rlık yapabileceksiniz.
MODÜLÜN AMACI Amaçlar
1. Programlama dillerini işlevlerine göre ayırt
edebileceksiniz.
2. Program yazmaya hazı rlı
k yapabileceksiniz.
3. Program yazı m araçları
nıkullanabileceksiniz.
Bilgisayar laboratuvarıve bu ortamda bulunan;
EĞİ
TİM ÖĞRETİ M
bilgisayar, yazıcı, bilgisayar masaları ı
, kâğt, kalem, lisanslı
ORTAMLARI VE
işletim sistemi programıve akı şdiyagramısembolleri ile
DONANIMLARI
ilgili panolar.

Her faaliyet sonrası nda o faaliyetle ilgili


değerlendirme soruları ile kendi kendinizi
değerlendireceksiniz. Modül içinde ve sonunda verilen
öğretici sorularla edindiğ iniz bilgileri pekiş tirecek,
ÖLÇME VE
uygulama örneklerini ve testleri gerekli süre içinde
DEĞERLENDİ
RME
tamamlayarak etkili öğrenmeyi gerçekleş tireceksiniz.
Sırasıyla araş
tı ş
rma yaparak, grup çalımaları na katı larak ve
en son aş amada alan öğretmenlerine danı şarak ölçme ve
değerlendirme uygulamaları nıgerçekleştireceksiniz..

ii

RİŞ


RİŞ
Sevgili Öğ
renci,

Her şeyden önce herkes bir programlama dilini öğ


renebilir. Bilgisayar programlama
yüksek bir zekâ ve matematik bilgisi gerektirmez. Sadece asla vazgeçmeme sabrıve
öğrenme isteği yeterlidir.

Programlama bir hünerdir. Bazıinsanlar doğal olarak diğ erlerinden daha iyidir, ama
herkes pratik yaparak iyi olabilir. Başaramamaktan korkmak yerine, kendinizi bu maharete
vererek, öğrenmek için uğ raş ın. Programlama eğlencelidir, fakat yanlı ş çalı şma
yöntemleriyle sinir bozucu da olabilir ve zamanı nızın boşa geçmesine neden olabilir. Bu
sebeple bu modülleri takip ederek, en az sı
kıntıve en yüksek memnuniyet ile programlamayı
öğreneceksiniz.

Programlamada, bir problemin çözüm aş amalarını


n sıralıbir şekilde yazı
lması
na
“Algoritma”, bu aş amaların ş ekillerle gösterilmesine ise “Akı ş diyagramı ” denir.
Algoritmayı , günlük hayattaki bir probleminizi çözerken yapmanı z gereken uygulamaları
belli bir düzene sokma iş
lemine benzetebilirsiniz.

Algoritma, programlamanı n temelidir. Önce çözüm belirlenir sonra kullanı lacak


programlama diline uygun komutlarla program yazı lı
mıtamamlanı r. Algoritma bir binanı n
temeli gibidir. Temeli sağlamsa bina ayakta durur. Bu yüzden algoritmanın iyi tasarlanması ,
programı n temelinin iyi oluş
turulması gerekmektedir.

Bu modül sonunda; istediğ iniz herhangi bir problemin bilgisayardaki çözüm


aşamalarını yazabileceksiniz. Çözüm aş amalarınıbelirledikten sonra istediğiniz bir
programlama dilini kullanarak gerekli yazı lımıoluş turulabileceksiniz. Akışdiyagramlarıile
yazdığını
z algoritmayış ı
ekillerle daha kolay, anlaşlı
r ve takibi kolay kılacaksı
nız.

1
2
ÖĞRENME FAALİ
YETİ
–1
ÖĞRENME FAALİ
YETİ- 1
AMAÇ
Programlama dillerini işlevlerine göre ayı
rt edebileceksiniz

ARAŞ
TIRMA

Bu faaliyet öncesinde hazı


rlı
k amaçlıaş
ağı
da belirtilen araş

rma
faaliyetlerini yapmalı
sınız.

 Bilgisayarınızdaki kurulu programları n genel olarak kategorilerini belirleyip, bir


liste hazırlayınız. Mesela müzik programları , resim programları , yardımcı
programlar gibi…
 Kullandı ğınız programların hangi programlama dilleri ile yapı ldı ğ
ını araştı

nız.
 Size göre çok ilginç olan bir programı n özelliklerini anlatınız. Ne iş ğı
e yaradı nı
ve nereden edinilebileceğini not ediniz.
 Farklıprogramlama dillerinde “Merhaba Dünya – Hello World” program
örnekleri bulunuz. Dilin adınıve örnek programıbir kâğ ıda yazı nız.
Konularda bazıkelimelerin altımavi dalgalıolarak çizilidir. Bu konularıaraş tı
rmanız
tavsiye edilir.

Not: Her dilin kendine göre avantajıbulunmaktadı r. Modülde belli yerlerde


verilen örnekleri yaptı
ğını
zda o dilleri öğ
renmişolmayacaksı nız. Ası l amaç,
anlatılmak istenen konunun uygulanması dır, somut ve anlaş ılır hale
gelmesidir.

1. PROGRAMLAMA Dİ
LLERİ
Bilgisayar çok karmaş ı r, ş
k bir elektronik cihazdı imdilik bizi ilgilendiren kı

m onun
ş
çalıma prensibi değ
il, programlama kı smı dır.

Bilgisayar öğrendiğ ini unutmaz, eğer iyi programlarsanı


z kusursuz olarak işlemleri
yapar, yorulmadan hep aynıiş lemi tekrar yapabilir. Programlar bilgisayarı n tüm
kaynaklarına erişebilir, tabii onu yazan programcıizin vermişise. Bilgisayar, bir konuda
yorum yapamaz, yeni durumlara uyum sağlamak için çaba sarf etmez.

İnsan unutkandı r, hata yapabilir, yorulur ve beyninin tamamı nıkullanamaz, moral


durumu değiş ebilir ve duygusal olarak etkilenir. İ
nsanları
n en büyük avantajı, yeni durumlar
karş ı
sı nda bocalasa bile zamanla uyum sağ layabilmesidir. Başına gelen olaylardan ders
çıkartabilir. Tek baş ına birçok sorunu çözebilirler. Bilgisayar ise her zaman aynıtepkiyi
verir, kendini geliş tiremez. İ nsan tarafı ndan kontrol edilmedikçe etkinliklerini
değ iştirmezler.

3
Bilgisayar; ekonomi, bilim, mühendislik, eğ itim ve askeri alanlarda yardı mcıolması
için üretilmiştir. Çok karmaş ı
k formüllerin sonucunu kı sa zamanda elde etmek için
programlar yazı lmış r. Özellikle İ
tı kinci Dünya Savaş ıveri şifreleme ve silahları
n hedefi
daha doğru bulmasıgibi konular sebebi ile bilgisayarın geliş
imi hı zlanmıştı
r.

Bir programlama dilini neden öğreniriz? Bu sorunun cevabı , eğlence için, bir ihtiyacı
gidermek için, kariyer için veya zekânı
zıkanı tlamak için olabilir. Para kazanmak her ne
kadar birincil hedef gibi görünse de, eğer iş inizi severek yapmı yor iseniz, ne kadar
kazandığınızın pek önemi olmaz.

Eğer bilgisayara ne yapmasıgerektiğ ini söylemezseniz, hiçbir ş


ey icra etmez.
Bilgisayara yaptı iniz ş
rmak istediğ eyi iki ş
ekilde gerçekleş
tirebilirsiniz:

 Adım adım bir program yazarak


 Uygun bir program satı
n alarak

Bazıprogramları
n girişve çı
kış
ları
:

Tür Giriş İ şlem Çıkı ş


Kelime İ
şlemci Klavyeden girilen Yazı yıbiçimlendirir, Düzgünce ekrandan
karakterler yazı mı nıkontrol eder veya yazı
cı dan çıkış
Oyun Fare, klavye ve oyun Ekranda hı zlıbir Ekrandaki figürler
çubuğ u tuşbası mları şekilde bir animasyon
hesaplama
Muhasebe Şu anki ve geçmiş Piyasadaki fiyat Gelecekteki ürün
Programı fiyatlar etkilerini tanımlama fiyatı
Web Tarayı
cı HTML kodları Kodlarıresim ve Web sayfası nı
yazı ya dönüş türme ekranda gösterme

İ
yi bir programı
n temel özellikleri ş
unlardı
r:

Doğruluk : Verilen görevlerin tam olarak yerine getirilmesidir.


Dayanıklılı
k : Beklenmedik hatalardan dolayıprogramı n çalışması
kesilmemelidir.
Geniş
letilebilme :İ leri aş
amalarda görevlerin değ işikliği veya yenilerinin
eklenmesi kolay olmalı dır.
Basitlik : Karmaş ık tasarı
mlardan kaçı nmak gerekir.
Modülerlik : Program kodlarıbaş ka programlar içinde de kullanı labilmelidir.
Uyumluluk : Baş ka bilgisayar ve sistemlerde çalı ş abilmelidir.
Kontrol edilebilirlik : Hata olabilecek yerlere açı klayı
cıhata mesajlarıkonulmalı dır.
Kolay kullanım : Kullanı cıara birimi kolay olmalıve rahat öğ renilebilmelidir.
Parçalanabilirlik : Problemin küçük parçalara ayrı larak yazı lması dı r.
Anlaş ılırlı
k : Baş kasının yazdı ğıprogram elden geçirilirken rahatça
okunabilmelidir.
Koruma : Modüller birbirlerine müdahale etmemelidirler.

4
Temel olarak bir algoritma, bilgisayara belli bir problemin çözümünü anlatmaktır.
Dünya problemlerden oluş tuğuna göre, pratikte insanları
n yazabileceği program sayı
sıve
çeşitliliğ
inin bitmesi çok zordur. Büyük bir problemin bilgisayara yaptı rı
lmasıiçin,
genellikle küçük parçalara bölmek gereklidir.
in bir oyunda ş
Örneğ u adı
mlarıçözmek gerekebilir:
 Kullanı cını
n bir nesneyi (araba, adam, uzay gemisi…)
nasıl hareket ettirebileceğ
i
 Nesnenin duvar, uçurum veya çevredeki baş ka
nesnelere göre çarpmadan, düş meden nası l hareket
edeceği
 Gerçekçi olarak çevre tasarımı yapmak
 Gelen merminin nereye çarptı ğını bulmak ve
oyuncunun sağ lık durumunu ekrana yazmak
Programlama genellikle zor değ ildir, ama zaman harcayan bir iş tir. Bir pinpon
oyununu yazmak, bir savaşuçağ ının simülasyonunu yapmaktan daha kolaydı r. Eğer adı
m
adım bir yeri tarif edebiliyorsanı
z, program yazabilirsiniz. Bir bilgisayar aptal olduğ una göre
ona ne yapacağ ınıadı m adı m anlatmanı z gereklidir.
ı
Arkadaşnı
za evinizin yolunu tarif ederken:

 Yayla mahallesine git


 Çı nar sokağına git
 Trafik ışıklarından sağa dön
 İki sokak ileride sola dön
Bir insan için kolay olan bu adı
mlar bilgisayarda yazı ğ
ldıında hiçbir anlam ifade
etmez:

 Yayla mahallesine nasıl gideceğ im?


 Çınar sokağınınasıl belirleyeceğ im?
 ı
Işklardan ne kadar sonra sağ a döneceğim?
 Sola dönünce arabayınası l park edeceğim?

Programcı

k
Programlar her zaman iş e yaramayabilir. 1980’li yıllarda Amerikan ordusu “Teğmen
York” isminde bir pilotsuz uçan uçak savar planlamı ştı
. Basit olarak amaç, düşman uçağ ını
bulup yok etmekti. Milyonlarca dolar harcandı ktan, saatlerce program yazı ldı
ktan ve test
edildikten sonra programcı lar çalışacağına emin oldular. En üst rütbeli subaylar ve
görevliler önünde, deneme için hazı rlı
k yapı ldı. Maalesef deneme sı rasında, “Teğmen
York” tüm silahlarınıdüş mana değil, komutanları n üzerine doğrultmuş tu. Neyse ki insanlar
etrafa dağı lı
rken, füzelerini ateşlememiş ti! Bu korkunç denemeden sonra proje rafa
kaldı rı
ldı.

5
1.1. Bilgisayar Programı
İçin Neler Bilmeliyim?
Bir programıkullanmaktan çok, yazma konusunda istekli iseniz, zaten program
yazmak için gerekli ş
eye sahipsiniz demektir.

 İstek: Önünüze ne kadar engel çı ksa da, isteğiniz varsa öğrenirsiniz. (Kanuni
olmayan bir ş ey ile ilgileniyorsanız, hapishanede geçirilecek zamanı nız
olabilir!)
 Meraklı lı
k: Bu sayede öğreneceğiniz dil size angarya gibi gelmez.
 Hayal gücü: Böylece daha ilginç ve faydalıprogram yapabilirsiniz.

1.2. Programlama Dili


Bilgisayar Türkçe, İ ngilizce veya başka bir dilden anlamaz.
Bilgisayarın fonksiyonel bir beyni olmadı ğıiçin insanlar komutlar
yazmalı dır. Bu özel dile “programlama dili” denir.

Komutlar bir araya gelerek “program”ımeydana getirir. Belli bir


dil ile yazı
lmışkomutlara “kaynak kod” da diyebiliriz.

1.3. Neden Birçok Programlama Dili Vardı


r?
Her programlama dili özel bir amaca hizmet eder. İ nsanlar farklıproblemleri çözmek
için değ işik programlama dilleri yazmı şlardı
r. Temelde bilgisayarlar 1 ve 0’lardan oluşan
*
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ı, kodlarıyazarken hata yapı


lma olasığı
lı nın fazla olması
ve yazı mının uzun sürmesidir. Makine dilinin daha rahat programlanmasıiçin 1950’li
yıllarda “assembly dili” geliş tirilmiştir. “Assembly dili” basit, hatırlanması kolay
deyimlerden oluş ur.

Programcı lar 1 ve 0 ile program yazma yerine “assembly dili”ni geliş tirmiş
lerdir,
bilgisayarın bu yazılanlarla ilgili hiçbir fikri yoktur. Bu sebeple programcılar “assembly dil”
komutları nı“makine dili”ne çeviren programlar yazmı ş r. Bu programlara “makine dili
lardı
çeviricisi - assembler” denir. Böylece “assembly dili” ile yazı lmışbir kod, bilgisayarın
anlayabileceğ i “makine dili”ne dönüş müşolur.

Not: Bir programıilk denemede çalı ş


tırmak zordur. Genel davranı şolarak programıokunaklı
yazarsanız, hatalara fı
rsat vermez, ileride bir eklenti yapmak istediğinizde zorlanmazsı
nız.

*
Bir çevrim örneği:
3 2 1 0
(1100)2 = 1 * 2 + 1 * 2 + 0 * 2 + 0 * 2 = 8 + 4 = (12)10
6
Assembly dilinde kod örneği
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 Microsoft’un 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
programlarıvardı r.

Temel olarak makine dilinde; mantı ksal işlemler, aritmetik işlemler, dallanma
işlemleri 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 rağmen, hala bazı
dezavantajlara sahiptir:

 Yavaşve çok yer kaplayan programlar oluş ur. (bu satı


r hatalıassembly yazı
lan
programlar az yer kaplar ve yavaşçalı şmazlar)
 Başka dile çevrilmeleri zordur.
 Çok uzun program yazı mına elveriş
li değ
ildir.

7
Resim 1.2: Dillerin genel görünümleri

Programcı lar donanı ma erişimi daha kolay olan, okunaklı , yazı


mıve düzenlemesi
kolay olan bir dile ihtiyaç duymuş lardır. Bunun üzerine C (1972 doğum yılı ı
) taş nabilir† dili
geliş
tirilmiştir. Cobol (1959) ve Fortran (1957) gibi birçok diller de vardı r ama hala
günümüzde yaygı n olarak kullanı
lan C dili olmuştur.

C dilinde kod örneği


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

Ekrana “Selam!” yazan bu örnek İ ngilizce diline benzer kodlamaya sahiptir. İ


nsanları
n
konuş n olan dillere “yüksek seviye dil” denilmiş
ma diline yakı tir.

nda programlama dilinin İ


Aslı ngilizce olmasış
art değildir. Kendi dilimizde olan örnek
program Tupol ‡ ile yazı ş
lmıtı
r.
Tupol dilinde kod örneği
PROGRAM SelamProgrami;
Basla
Yazi(#i,"Selam!");
Bitti.

ka bir Türkçe programlama dili olan Pozitif§ dilinden örnek var.


Resim 1.3’te baş


Taş ınabilir: Tasarlandığıbilgisayarı n haricinde, yani donanımdan bağı msız olarak diğer bilgisayar
türlerinde de çalı şabilme özelliğidir.

“1995 yı lı
nda iki genç bilgisayar mühendisi adayı(SavaşKÖSE ve Mehmet AKIN) tarafı ndan lisans
derslerinin arası nda 4– 5 ay gibi kı
sa bir sürede yazı lan TUPOL 2.0 ilk, belki de tek Türkçe derleyici
olması , azim ve çalışmanı n sonuçları nıgöstermesi açı sı
ndan önemli bir örnektir.”
§
“Pozitif bazımatematiksel iş lemleri, metinler üzerinde oynamayı, kullanı cı
dan bilgi girişi alarak
bunlar üzerinde iş lem yapabilmeyi sağlayan bir dildir.” Birkan KUYUMCU

8
Resim 1.3: Pozitif Türkçe programlama dili ile örnek program yazı

Her ne kadar kendi dilimizde program yapmak gurur ve heyecan verici olsa da, ileride
göreceğ ı
iniz bir dilin temel gereklilikleri sebebi ile bu dillerde büyük (karmaşk) programlar
yapmak zordur. Programlamaya ı sı nmak için, ilk denemelerinizi bu programlama dillerinde
yapabilirsiniz.

Bir dilin okunaklıve kolay yazı labilir olmasıdı ş


ında, bilgisayarın donanı mı na
ulaşmasıve baş ka bilgisayarda da rahatlıkla çalı ş
masıgereklidir. Yüksek seviye bir dili
“makine diline” çeviren programlara “derleyici – compiler” denir. Derleyiciyi aynen
Fransızca bir kitabın Türkçeye çevrilmesini sağ lamak gibi düşünebiliriz. Tabii insan dilinin
başka dile çevrimi çok daha zor bir iş
lemdir.

Eğer uygun bir derleyiciniz var ise programını



n kaynak kodunu başka bilgisayarda
derleyerek çalış
tırabilirsiniz. Örneğin, Macintosh’ta yazılan bir programı n kodları nı
Windows’ta biraz değiş tirerek kullanabilirsiniz.

C programlama dili diğ er Cobol ve Fortran gibi dillerden daha basit olduğu için, C
dilini makine diline çeviren birçok derleyici yazı ş
lmı tı
r. C dili böylece öyle çok
yaygı nlaş
mı ştı
r ki, bu dile uyumlu olan diller ortaya çıkmı ş
tır. Mesela C++ (c plus plus),
Java, Perl, Python ve C# (c sharp) gibi. Şu anda kullanı lan tanınmış, tanı nmamışbirçok
program C veya C++ ile yapı lmıştı
r: Windows, Unix, Microsoft Office gibi...

Not: C’nin çok güçlü olmasıbazıkötülükleri de beraberinde getirir: Tüm sistem kaynakları
na erişmek
gibi. Bu kullanması nıbilmeyen birinin eline elektrikli testere vermek veya el bombası nıvermek
gibidir… Yanlı şyazılan kod, bilgisayarı
n göçmesine sebep olabilir. Özellikle eski DOS günlerinde
programdaki hatalardan dolayıbilgisayarı n kilitlenmesi çok sı k olan bir durumdu. Yeni işletim
sistemleri, program hataları
nda bilgisayarın kilitlenmemesi için önlemler almış
lardı
r.

Programlama dilleri özel amaçlar için yazıldı


klarıiçin o dilde her istediğinizi yapmak
zordur. Mesela Fortran matematik hesaplamalar için yapı ş
lmıtır, bu dilde bir iş
letim sistemi
yazmak gereksiz yere çok uzun zaman alan bir işlem olur.

9
Mühendisler diğer insanları n rahatça program yazmalarıiçin Basic (Beginners All
Purpose Symbolic Instruction Code - 1964) ve Pascal (1971) gibi diller üretmiş
lerdir. Basit
bir dilden yola çı
kılarak istenen dile geçişyapılabilir.
Basic dilinde kod örneği
PRINT "Selam!"

Gördüğ ünüz gibi ekrana bir mesaj yazmak için Basic’te sadece bir satı
r kod yeterli
oluyor. Bu dil sayesinde insanlar kodun yazımıile uğ raşmaya değil, amaçladı klarıişe
odaklanabiliyorlar.
C ve Basic arası
nda kalan Pascal ise biraz daha iyi görünümlü, yapı
sal program
yazmayısağlı
yor:
Pascal dilinde kod örneği
Program Message;
Begin
Writeln ('Selam!');
End.

Lisp 1950’li yıllarda yapı lmışbir derlenebilen mantı k programlama dilidir. Prolog
(“programming in logic” kelimelerinin kı saltması ) adı
ndaki 1972 yılında ortaya çıkan dil ise,
“mantı k programlama dili” olarak tarif edilebilir. Komut dizileri yerine mantı k deyimleri ile
program yazı lır. Genellikle yapay zekâ ile ilgili konularda kullanı

r. Yazımıve kurallarıçok
basittir.
Yüksek seviyeli dillerin genel özelliklerini ş öyle özetleyebiliriz:
 “Makine diline” göre daha ş iş kin ve yavaşkod meydana getirirler.
 Tüm sistem kaynakları na ulaş ı lamayabilir, tabii amacı nız 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 için geçen zaman fazla değ ildir.
 Yanlı şlı
kla sistem kaynakları nın bozulmamasıiçin kalkanlarıvardı r.
 Okumasıve değ iştirmesi kolaydı r.
 Baş ka bilgisayar çeş itlerinde de çalı şabilirler, yani taşınabilirdirler.
Sık sorulan sorular:
1. Assembly dili ile yüksek seviye dil arası ndaki hı z farkı ne kadardı r?
Cevap:Assembly dili yaklaş ık 2 ile 20 kat arası nda daha hı zlı
dır.
2. Assembly dili ile yüksek seviye dil arası ndaki program tasarı m süresi
ne kadardı r?
Cevap:Assembly dili yaklaş ık 10 ile 100 kat arası nda daha yavaşsürede tamamlanı r.
3. Derleyiciler hangi dilde geliş
tirilmiş lerdir?
Cevap:Önceleri assembly dili ile yazı lmı ş lardır. Daha sonra yüksek seviye
diller güçlendikçe bu diller kullanı larak derleyiciler yazı lmı ştır.

10
1.4. Hı
zlı
Uygulama Geliş
tirme Ortamları
Eski zamanlarda fare, grafik ekran imkânıolmadı ğıiçin “metin tabanlı ” ortamlarda
çalışılırdı
. Pencere ve düğme gibi kavramlar ise, 1984 yılı
nda Apple "System 1" ve 1992
yıllarında Microsoft Windows 3.1’in ortaya çı
kmasıile günlük hayatı
mı za girdi.

Pencereler, kaydırma çubukları , araç çubukları , menüler programcı nın daha hı zlıbir
şekilde program yapması na sebep olduğu için, bu ortamlara “Hı zlıUygulama Geliş tirme –
Rapid Application Development (RAD)” denilmiş tir. Görsel Programlama Dilleri (Visual
Programming Languages) olarak da adlandı rı

rlar. Programcıoluş turacağıprogramı n ara
birimini, istediğ
i gibi tasarlayabilir ve bu ara birimi iş levsel hâle getiren kod kı smını
yazabilir.
Popüler RAD dilleri: Visual Basic, Delphi, JBuilder ve Visual C#.

Resim 1.4: Visual Studio 2005 programı


nın hakkı
nda kı
smı

RAD ile programcı , temel programlama dilleri olan C, Basic ve Pascal gibi dilleri
kullanarak, hızlıbir şekilde uygulama geliş
tirebilir. Kullanı
cıara birimi geliş
tirmek kolaydı
r.
C ve Basic bilen için görsel programlama diline geçişçok kolaydı r.
ı
Maalesef RAD ile dilin taşnabilirliğ
i azalı
r. Yani Windows ortamı nda Visual Basic
ile yazılan programı
n, Linux’ta çalışma ihtimali azdı r. Tahmin ettiğiniz gibi, artı
k görsel
programlama ile yaptı ğı
nız programlar daha çok disk alanıkaplayacak ve daha yavaş
çalışacaklar.
Türkçe görsel programlama diline örnek Yunus’tur **.

Resim 1.5: Yunus ekran görüntüsü

**
“Ço ğ unlukla Visual Basic benzeri kodlama sistemimiz var. Aslı nda hoş uma giden Pascal ve C++
komutlarıekledim. Sonuçta Türkçe veya baş ka bir dile özelleş
tirilebilen basit bir eğitim amaçlıscript
(betik) dilimiz oldu.” Tarı
k BAĞRIYANIK
11
1.5. Veri Tabanı
(Database) Programcı

ğı
C ve benzeri diller genel amaçlıdiller olduğu için, bu diller ile oyun, muhasebe
programıveya bir kelime iş lemci programıyapı labilir. Bilgisayarları
n en çok kullanı
m alanı
ise, bilgi kaydetme ve düzeltmedir. İ simler, adresler, elektronik posta adresleri, telefon
numaraları , işdeneyimleri, muhasebe geçmiş leri gibi bilgiler veri tabanlarında saklanır.
Neredeyse tüm firmalar veri tabanısayesinde işlerini daha rahat yürütürler.

Kimse garip komutlar ile kayı t, okuma ve silme iş lemlerini yapmak istemez.
Veritabanı nıkolaylaş

rmak için “veritabanı(database) programcı ğı
lı ” geliş
tirilmiş
tir. Veri
tabanı programlama ile değ işik firmaların isteklerine göre özel veri tabanları
oluşturabilirsiniz.

En çok kullanı lan veri tabanıprogramlarıMicrosoft Access, MSSQL ve MySQL’dir.


Verileri düzenleme için kendilerine has dilleri vardı r. Bu dile SQL (Structured Query
Language – Yapı sal Sorgu Dili) denir. dbase, FileMaker ve FoxPro programlarıise artı
k pek
kullanılmı yor. Yine SQL tabanlıOracle ise, çok büyük veri tabanlarıbarı ndı
ran, güvenlik ve
hız gerektiren uygulamalarda kullanı lır.

Veri tabanıprogramcı lığ


ı n dezavantajlarış
nı unlardı
r:
 Veri tabanıprogramları , veri tabanı
nıişleyen program sistemde kurulu değilse
ş
çalıtırı
lamazlar.
 Sadece veri tabanıprogramı nıkullanarak antivirüs, oyun, kelime iş
lemci gibi
program yapamazsı nız.

1.6. Betik (Script) Programcı



ğı
Birçok program kendi programlama dilinin kullanı lmasıimkânı nısağ lar. Örneğin
Word ve Excel içinde, neredeyse Visual Basic’e benzeyen, Visual Basic for Applications
(VBA) adıverilen bir dil vardı
r.

Office programları
içindeki makrolar (VBA) kullanı

ya yardı
mcıiş
levler sağ
lar:

Resim 1.6: Excel’de makro örneği

VBA dilinde kod örneği


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

12
Macintosh iş
letim sisteminde bulunan AppleScript ile basit bir örnek görelim:
AppleScript dilinde kod örneği
on DisplayMessage()
display dialog "Selam!" buttons {"Tamam"}
end DisplayMessage
DisplayMessage()

Windows iş ğ
letim sisteminde bulunan yıın dosyası(*.bat) ile basit bir örnek görelim:
Batch dilinde kod örneği
@Echo off
Echo Selam!
Pause

Betik dilleri normalde diğer programlama dillerinden daha kolaydı


r. Bu diller ile
kullanı
cıya yardımcıbazıiş lemler yapabiliriz:
 Var olan bir programıözelleş
tirebiliriz.
 Çok az program yazarak, karmaş ı ş
k bir programıkullanılıhale getirebiliriz.
Şunlarıunutmayı nız:
 Betik dili ana programa bağı mlıdır, sadece ana programı n kurulu olduğ
u
bilgisayarlarda yazdı ğı

z program çalışabilir.
 Programı nı zı şve dağ
n satı ıtı
mızordur. Almak isteyen ana programıda satı n
almak zorunda kalı r.
 Genel programlama dillerinden daha kı sıtlıimkânları
nız vardı
r.

1.7. Web Programcı



ğı
Bazıanlarda okunaklı ğ
lııazaltsa da, günümüz internet siteleri bol grafik, efekt ve
animasyonlarla süslüdür. Kolay web programcı ğıiçin HTML (HyperText Markup

Language – Hiper Yazıİş aret Dili) icat edilmiş
tir.
Bir sitenin HTML olarak kaynağ ınıincelediğinizde çok karmaş ı
k ve dağı nık gelebilir.
HTML ile site tasarı mıçok zor olduğu için JavaScript gibi web sayfasıyardı mcı
programlama dilleri yapı lmı ştı
r. Etkileşimli site yapmak, kullanı cının formlara girdiğ i
verileri kontrol etmek, site içine oyun eklemek isterseniz, bunlarıJavaScript, Java, CGI veya
Macromedia Flash ile yapabilirsiniz.

JavaScript dilinde kod örneği


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

PHP dilinde kod örneği


<?
echo "Selam!";
?>

13
ASP dilinde kod örneği
<%
Response.Write "Selam!"
%>

Web programlama dilleri, sitenin ziyaretçi sayı



nıartırı
r ve ziyaretçinin uzun süre
sitede kalmaları
nısağ lar. Öğ renmesi kolaydı r ve dünyanı n herhangi bir yerinden siteye
(uygulamaya) ulaşı
p, değ iş
iklikler yapabilme imkânıvardır.

Dezavantajları
:
 Tüm web tarayı cılarıJavaScript ve Java desteklemez. (Daha eski tarayı

lar
gibi)
 Bağlantıhı zınıdüşürür.
 İnternet bağlantı
sıyok ise sayfanı
n görüntülenmesi mümkün olmayabilir.

Sonuç olarak her konuda bir işe yarayan “mükemmel” dil yoktur. Profesyonel olarak
program yazmak istiyorsanız, C# gibi yüksek seviye bir dil ve SQL gibi veri tabanıdili
öğrenmelisiniz. İ
şbulmakta zorlanmazsı nız. Eğer sizden site yapılmasıisteniyor ise Java,
JavaScript, PHP ve ASP.NET gibi dillere aşina olmak kaçı
nılmazdı r.

Eski bilgisayarlarda hâlâ eski kodları


n barınmasından dolayı
, piyasada az kullanılan
diller ile iyi kariyer yapabilirsiniz. Hatta bilen sayı
sıaz olması ndan dolayı , iyi ücret
alabilirsiniz.

Çok Dil Kullanma

Bazıderleyiciler, kaynak kodu önce özel bir dosya türüne çevirir. “Object file – nesne
dosyası” denilen bu dosya, kaynak dilden bağı msı z hâle gelir. Farklıdilde oluş turulmuş
nesne dosyaları , “linker - bağlayı

” adıverilen programlar ile birleş tirilir. Sonuçta ise
ş
çalıtı
rılabilir tek dosya oluşur.

Microsoft Windows, dillerin ortak kod kullanı mıiçin DLL (Dynamic Link Libraries –
Dinamik BağKütüphanesi) yöntemi kullanı r. Ara birimi olmayan bu dosyalar, farklı
programlama dilleri kullanabilsin diye sisteme tanı

lmıştır.

Son bir yöntem, Microsoft’un .NET teknolojisidir. Aynıara birimde ister C#, ister
Basic veya baş ka bir dil ile program yazı labilir. Aynıveri tabanı
nıve çözümü ortak
kullanarak birçok programcıbir arada çalı şabilir. Her dilin kendine has avantajı
kullanılarak, uygulamalar daha güçlü hâle gelebilir.

14
UYGULAMA
UYGULAMAFAALİYETİ
FAALİ
YETİ
İşlem Basamakları Öneriler
1. Bilgisayarı nızdaki temel imkânlar En ilkel yöntemler ile program yapı mınıbulmaya
ile basit programlar yazı nı z. çalışınız.
 "debug†† " ile basit mikroiş lemci komutları
denenebilir.
 Not defteri ile basit bir web sayfasıyapı labilir.
 *.bat yı ğı
n dosyalarıile sisteme yardı mcı
işlemler yapı labilir
2. C dili ve assembly dillerinde basit Benzerlik, farklı lık, iyi ve kötü yönlerini inceleyiniz.
bir programı n komutları nı
karş ılaştı
rını z.
3. Bilgisayarı nızda yüklü olan görsel Görsel bir programlama dili ile metin tabanlıbir
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 yüklü
programlarıörnek alabilirsiniz.
4. Web programlama dillerinden Web sayfaları nda en çok kullanı lan dilleri
birini kullanarak basit bir sayfa araştırını z.
hazı rlayınız. Ücretsiz hizmet veren sitelerden (geocities, brinkster
ve tripod gibi) üyelik edinerek, site oluş turma
denemesi yapabilirsiniz.
Sitenizi arkadaş larını z ile paylaş ı
nız.

††
“Baş ş
lat*Çalıtı ş
r…*debug” komutu ile programıçalıtı
rabilirsiniz.
15
ÖLÇME VE DEĞERLENDİ
RME
ÖLÇME VE DEĞERLENDİRME
OBJEKTİ
F TESTLER (ÖLÇME SORULARI)

Aş ağıdaki sorulardan; sonunda parantez olanlar doğ ru / yanlışsorularıdır. Verilen


ifadeye göre parantez içine doğ şise “Y” yazı
ru ise “D”, yanlı z. Şı
nı klısorularda uygun şıkkı
işaretleyiniz.

1. Bilgisayar çok akı


llı
dır, kullanı


n vereceği komutlarıtahmin ederek önceden cevabı
hazırlar. ( )

2. Bilgisayar, bilgileri çözülemeyecek ş


ekilde ş
ifreleyebilir. ( )

3. Başkası nın bilgisayarı


na, sitesine veya dosyaları
na izinsiz olarak, ama zarar vermeden
eriş
ebiliriz. ( )

4. Bilgisayarlar kendi araları ı


nda programlama dilleri ile anlaşrlar. ( )

5. Derlenmişbir dosyadan istediğ


imiz dile geri dönüş
üm yapabiliriz. ( )

6. Tüm dillerde bilgisayara zarar veren program yazı


labilir. ( )

7. Aşağ ı
dakilerden hangisi makine diline aittir:
A) 15
B) A
C) 0
D) %

8. Hangi dil, bilimsel matematik iş ş


lemleri yapmak için tasarlanmıtı
r?
A) Basic
B) Fortran
C) C
D) Pascal

9. Yazılım nedir?
A) Ana bellekte yer alan her türlü değer
B) Klavyeden girilen veriler
C) Bilgisayar programları
D) İş
lemci

10. Hangisi yazı lı


mdı
r?
A) Bilgi
B) Yazıcı
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 göre sı ş
ralanııhangisidir?
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 Türkçe kod yazamayı


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

14. Aşağıdakilerden hangi eş


leş
tirme hatalı

r (bilmediklerinizi araş



z)?
A) AutoCAD - AutoLisp
B) 3DSMax - MaxScript
C) Corel - CorelScript
D) Office – VB

15. Aşağ ı
dakilerden hangisi programcı nı
n ası
l iş
i değ
ildir?
A) Program yazmak
B) Program hatalarınıgidermek
C) Programı n pazarlanması nısağlamak
D) Programı n kurulum dosyası nıyapmak

17
ÖĞRENME FAALİ
YETİ
–2

AMAÇ ÖĞRENME FAALİ


YETİ- 2
Bilgisayarda bir problemin çözüm aş
amaları
nıyaparak, program yazmaya hazı
rlı
k
yapabileceksiniz.

ARAŞ
TIRMA
Bu faaliyet öncesinde hazı
rlı
k amaçlıaş
ağı
da belirtilen araş

rma
faaliyetlerini yapmalı
sınız.

 Günlük hayatta karş ı


laştığı
nı z problemleri nası l çözümlediğinizi dikkatlice
gözlemleyiniz. Örneğin; okula gelişve gidişyolunda hangi taş ı
t araçlarısıra ile
kullandı ğınızı, hava ve yol durumuna göre çözüm olarak neler yaptı ğını zı
anlatını
z.
 Problemleri çözerken iş lemleri belli bir sıra ile mi yapı yorsunuz yoksa çözüm
için gerekenleri rastgele mi uyguluyorsunuz, buna dikkat ederek
arkadaş larınızla paylaşı
nız.
 “Algoritma” kelimesinin kaynağı nıaraş tırınız.
 Bir yemek tarifini araş tırı
nız. Yemek yapı mı nda izlenen adımlarıbir kâğ ıda
yazınız. Alternatif durumlarıda belirtiniz.

Konularda bazıkelimelerin altımavi dalgalıolarak çizilidir. Bu konularıaraş



rmanı
z
tavsiye edilir.

2. PROGRAM YAZIMI
Şu anda oturup programlama yapabilir olsanı z da, bu bir
bebeğin önüne yemesi için gerekli malzemeyi savurmaya benzer.

Basit programlarıöğ renmek için hemen yazabilirsiniz.


Ekranı n ortasına okulunuzun adı
nıyazmanız için uzun uzun plan
yapmanı za gerek yoktur. Ama çok karmaş ık programları ,
bilgisayarınıza aktarmadan önce, kâğ ı
t üzerinde planlamanı z
gerekebilir.

Programıtasarlarken, ilk düş ünmeniz gereken ş ey “hangi dili kullanacağınız” değildir.


Programdan ne istediğ inizi tam olarak bilirseniz, hangi dili kullanacağ ınıza kolay karar
verirsiniz. Tek bir dili aramak yerine, değişik dilleri göz önünde bulundurunuz. Programı nı z
çalıştığısürece, hangi dil ile yapı ldığıönemli değ ildir, özellikle de programı nızıalan
“müş teri” (kullanı
cıda diyebiliriz) bununla ilgilenmez.

Bilgisayarda çözmeniz gereken problemin, sadece bir çözümü (algoritması )


olmayabilir. Her çözümün kendi avantajıveya dezavantajıolabilir. Bazıalgoritmalar daha
18
hızlıolarak işlemi bitirirken, aynıalgoritmanı n kod kı smı nıyazmak çok uzun sürebilir,
mantı ğıçok karmaş ı
k olabilir. Sık ağ
açlarla kaplıbir ormana, dışarı ğ
dan baktıınızda içinden
geçip gitmenin imkânsı z gibi gözüktüğ ünü bilirsiniz. İşlemleri adımlara böldükçe
hazmetmesinin daha kolay olduğ şprogram kodu
unu göreceksiniz. Planlama sayesinde, yanlı
üzerinde uğraşmaz, çözüm için zaman kaybetmezsiniz.

tasarlarken ş
Programı unlarıgöz önünde bulundurmalı

nız:

 Kullanı cı: programıkim kullanacak?


 Hedef bilgisayar: Windows mu, Linux mu, bir el
bilgisayarı mı , yoksa bir süper bilgisayar mı
?
 Siz: tek baş ını za mıyapacaksı nı z? Takım halinde
çalışacak iseniz hangi kı sımlarısiz yazacaksınız?

Kullanı cı
Eğer programısadece siz kullanacaksanı z, görünümü istediğ iniz gibi
ş
tasarlayabilirsiniz, çalımasıyeterlidir. Satacak veya ücretsiz olarak
verecek iseniz, karş ı
nızdaki insanlarıtanı
manı z mantı klıolur. Kullanıcının
bakışaçı sıile bakarak programıtasarlamanı z gereklidir.

Hedef bilgisayar
Kullanı cı
nı n kullandı ğıbilgisayarı n türünü göz ardıedemeyiz.
Programlama dilini buna göre seçeriz. Hangi donanı mıkullandı ğıda
önemlidir. Bir Mac kullanı cı sıiçin bol hafı za, disk alanı
, renkli grafikler, ses
avantajıvarken, bir el bilgisayarı nda ise daha az renk seçeneği, ekran
çözünürlüğ ü ve belleği vardı r. Bir program ne kadar çok çeş itli ortamda
ş
çalı ı
yor ise o kadar rağbet görür. Bu prensibe “çapraz platform – cross platform” denir.
Kullanıcısayı sınıartı rma çabaları mı ı
z, beraberinde daha fazla hata türü ile karşlaş
mamıza
neden olur. Müş teri desteği sağlarken bunlara dikkat edilmelidir. Farklısürümlere bölünmek,
kârın bölünmesi demektir.

Not: Borland firması , görsel programlama dili Delphi’nin Linux sürümü olan Kylix’i çı
karmı
ştı
r.
Fakat sadece 1.0 sürümünde kalakalmı ş, proje ileri götürülememiş
tir.

Siz
Herhangi bir programlama dili ile uğ raşırken, önce kendi
yeteneklerinize dikkat edersiniz. İ yi bir proje aklı
nıza gelmişolabilir. Ama
deneyiminiz az ve bilginiz az olunca, kendi programı nı
zıyazmak zor
gelebilir. Acemi biri için C ve C++ ile program yapı mıçok zaman alı cı
olabilir. Daha basit olarak Visual Basic’te program yazmayıöğ renip,
piyasada çalışmaya baş layabilirsiniz.

Bir günde program yazan çok az insan vardı r. Program kod yazımızaman alı r, acele
yapı ğı
ldı ı
nda içi hatalarla dolabilir. Ne yapacağnızdan emin olduktan ve istenen programı n
ne işyapacağınıanladı ktan sonra program yapı mına başlayını
z.

19
Altı n Kelepçeler
Birçok insan program yazmak yerine “programcı ” işe alırlar. Aman dikkat! Özgür
çalışan bazıprogramcı lar “altı
n kelepçe” kuralıile geçiniyor olabilir. Bir programcı yıişe
alırsını
z, biraz para verirsiniz. Programcıtam istediğiniz gibi bir program yazmaz. Parayı
kaybetmek yerine, biraz daha para vererek, programı n yeni sürümünü yaptı rı
rsı
nız. İ
şte bu
noktada kelepçelendiniz demektir. Programcı ya devamlıpara verir ama hiçbir zaman
istediğiniz programıelde edemezsiniz. Baş ka programcı ya da geçemezsiniz; çünkü kaynak
kod elinizde değ ildir. Elinizde olsa bile kimse o programıdeğ iş
tirmek için zaman harcamaz.

2.1. Prototip (Kalı


p) Oluş
turma
Tam çalı ş
mayan veya yanlı şçalı şan bir program olmamasıiçin programa aylarca
zaman harcamadan önce, programcı lar mimarları n maket modeller yapmasıgibi, “prototip”
oluştururlar. Bunu normal bir program gibi, menüleri, formları , diyalog kutularıolan ama
içinde kod olmayan bir uygulama olarak düş ünebilirsiniz. Fikir vermek amacıile yapı lı
rlar.
Prototipten memnun kalı nca, programcıkodlamaya geçer. Birçok programcıVisual Basic
veya Delphi gibi görsel bir programlama dili ile prototip hazırlar.

2.2. Sahte Kod ve Algoritma Yazma


Programlama dili seçseniz bile, hemen kod yazımı na geçemezsiniz. “Pseudocode –
sahte kod” denilen kodlama ile programı n işlemleri yazılı
r. Sahte kod kurduğ unuz
mantıktaki kaçakları
bulmaya yarar.
Örneğ
in; eğer bir şehre füze göndermek isterseniz adı
mları
nızş
uşekilde olabilir: ‡‡
1. Hedefin koordinatlarınıal
2. Füzenin şu anki koordinatınıal
3. Hedefi vurmasıiçin gerekeni hesapla
4. Füzeyi ateşle

1. adı
mı n daha da gelişmişhâli şöyle olabilir:
1.a. Füze teknisyeninden hedef koordinatlarıedin
1.b. Hedef koordinatların geçerli olduğundan emin ol
1.c. Hedef koordinatlarıhafızaya kaydet
1.a. maddesini daha alt basamaklara bölebiliriz.
1.a.i. Koordinattan emin ol
1.a.ii. Hedef füzenin atışuzaklı ğıiçinde mi, kontrol et
1.a.iii. Hedef dost bölge mi, kontrol et
Bu “üstten aş ağı– top down” tasarı m ile kaba bir taslak gittikçe ayrı lış
ntı ekilde
parçalanır. Genelden özele doğ ru iş lemleri belirleriz. Bu zaman kaybıgibi görülebilir.
Plansız olarak programınızıyazmaya baş layabilirsiniz. Ama bu arabaya atlayıp Samsun’dan
Mersin’e gitmek için kuzeye doğru gitmeye benzer.

‡‡
İ zlıhesap gücü sayesinde doğru bir ş
lk üretilen bilgisayarlardan istenen, hı ekilde sonuç vererek,
silahlara destek olmaktı .
20
Sahte kodlar programı nızı
n ana hatları
nıbelirtir. Böylece bilgisayarı
n baş ıiş
aracağ
için gerekli tüm veriyi toplamışolursunuz.

Büyük bir programı n temel adı mlarının olduğu algoritma “makro seviye” olarak
isimlendirilirken, detayları n algoritmaları na “mikro seviye” denir. Makro seviye içinde
birçok mikro seviye algoritma vardı r. İlk kez program yazan kişiler detay kı

mlarınıgenelde
görmezden gelirler. Üzerinde çok düş ünülmeden yazı lan program, her ihtimale uygun cevap
veremeyeceğ ş
i için hatalıçalıı
r.

Eğer plansı z olarak program yazarsanı z, kaçı


nılmaz son, kısa süre sonra “kod
çöplüğ ü” olabilir. Programıalan kiş i nası
l kod yazdığı
nızıumursamasa da, böceklerle (bug)*
dolu bir yazılı
mı , siz olsanı
z kullanı
r mıydınız?

Temelde programı nızıüç ana bölüme ayı rabiliriz:


Giriş
: Bilgisayarın üzerinde çalı şacağ ıveri kullanı cıtarafı
ndan girilir.
İş
lem: Bilgisayar girilen bilgiyi işler.
Çıkış
: Bilgisayar insanların anlayacağ ışekilde ekrana sonucu gösterir.

Örnek:
Giriş
:
a. Ürünün adınıal.
b. Ürünün miktarınıal.
c. Bir dosyadan ürünün fiyatı
nıoku.
İş
lem:
a. Ürünün toplam fiyatı nıhesapla.
b. Gerekli indirimi yap.
Çıkış
:
a. şdeğ
Toplam satı erini yaz.

Örnekteki adı
mları“sahte kod” olarak alt alta toplarsak:
1. Baş la.
2. Ürünün adı nıal.
3. Ürünün miktarı nıal.
4. Bir dosyadan ürünün fiyatı nıoku.
5. Ürünün toplam fiyatı nıhesapla.
6. Gerekli indirimi yap.
7. Toplam satı şdeğ erini yaz.
8. Bitir.

Bazıtemel sahte kod komutlarış


unlardı
r:

Başla … Bitir : Sahte kodun ilk satırıbaşlangıç ve son satırıbitiş


i için yazı

r.
Oku : Kullanıcıgirişi için yazılır.
Yaz : Kullanı
cıya bilgi veya sonuç göstermek için yazı lır.
Eğer İse Değilse : Şartlara göre akış
ın değişmesinde kullanı lı
r.
*
Böcek (bug): Programda hatalara sebep olan program satı
rlardı
r.
21
Örnek:
1. Baş la
2. Sayı sal sayı1, sayı2, sonuc
3. Yaz; “İ ki sayıgiriniz”
4. Oku; sayı 1
5. Oku; sayı 2
6. sonuc = sayı 1 + sayı2
7. Yaz; “Sonuç: ” & sonuc
8. Bitir

Not: Birden fazla değer peşpeş


e okumada, kı
saca ş
uşekilde de tek satı
rda okuma yapabilirsiniz:

Yaz; “İki sayıgiriniz”


Oku; sayı 1, sayı
2

Sahte kodu satı r numaralarıolmadan “bloklar” hâlinde yapabiliriz. Her blok


açıldı ğ
ında biraz daha içeriden yazmaya dikkat ediniz. Böylece program daha okunaklıhâle
gelir.

Örnekler:

 Öğ
renci notlarıile ilgili sahte kod yazalı
m:

Başla
Sayısal öğrenciNumarası
Yaz; "Öğrenci numarasını giriniz"
Oku; öğrenciNumarası
Veritabanından öğrenciNotu bilgisini oku
Eğer öğrenciNotu 50'den büyük İse
Yaz; öğrenciNumarası & " Geçti"
Değilse
Yaz; öğrenciNumarası & " Kaldı"
Eğer Bitti
Bitir

 2 sayı
yı ı
karşlaş

ran sahte kod yazalı
m:

Başla
Sayısal Sayı1, Sayı2
Oku; "Birinci sayıyı giriniz", Sayı1
Oku; "İkinci sayıyı giriniz", Sayı2
Eğer Sayı1 Sayı2'den büyük İse
Yaz; "Sayı1 Sayı2'den büyüktür."
Eğer Sayı2 Sayı1'den büyük İse
Yaz; "Sayı2 Sayı1'den büyüktür."
Değilse
Yaz; "Sayı1 ve Sayı2 eşittir."
Eğer Bitti
Eğer Bitti
Bitir

22
 Kitap indirimi ile ilgili sahte kod yazalı
m:

Başla
Yaz; "Kitap türünü giriniz"
Oku; kategori
Eğer kategori A İse Yaz; "A kategorisinde %10 indirim vardır."
Eğer kategori B İse Yaz; "B kategorisinde indirim yoktur."
Bitir

Siz de basit olarak bir çay makinesinin, ütünün ve telefonun kullan ı


mıile ilgili
adı
mlarıyazı
nız.

2.3. Akı
şŞemaları
Akışdiyagramlarıgörsel olarak basitçe bir problemin akışı
nın gösterimidir. Microsoft
firmasının Visio, Word, Powerpoint gibi birçok program ile bu grafikleri hazı
rlayabilirsiniz.
Biz de bazıörnekleri denemek ve çizmek için “Flow Chart Visual Programming
Language§§” isimli açı k kaynak kodlu*** bir proje olan programıkullanacağı z. Ayrı ca
“Crocodile Technology” isimli program ile de akı şşemalarının hem tasarlanmasıhem de
çalış
tırılmasıimkânımı z var.

Şema ile program hazı ğ


rlııayrı ca UML ile yapı labilir. UML††† İ ngilizce Unified
Modelling Language (Birleş tirilmişModelleme Dili) kelimelerinin başharflerinden meydana
gelir. Modelleme sı rasında kullanı lacak bir dizi ş
ematik gösterimi teşkil eder. Genelde nesne
tabanlısistemlerin analiz ve modelleme aş amaları
nda kullanı lır. Nesnelerin birbirleri
arası ndaki iliş
kilerini ve kendi iç yapı larınıgösterir. Programlama dilinden ve iş letim
sisteminden bağ ı
msı z bir modelleme dilidir. “IBM Rational Rose” programıve ArgoUML
ile tasarım yapabilirsiniz.

ANSI (American National Standards Institute), akı şdiyagramlarıile ilgili bazı


tavsiyelerde bulunmuş tur:
 Akı şdiyagramı ndaki standart sembollerle programı n mantığ ısunulmalı dı
r.
 Akı şdiyagramıbasit, açı k ve kolay takip edilebilir olmalı dır.
 Her akı şdiyagramı nın bir adet baş langıç ve bitişnoktasıbulunmalı dı r.
 Akı şdiyagramı nın takip yönü yukarı dan aşağıya, soldan sağa doğ ru olmalı dı
r.
 Veri girişleri mantı klıbir sırada listelenmelidir.
 Baş langıç ve bitişsembollerinde tek hat kullanı lmalıdır.
 Akı şdiyagramıçok karmaş ık hâle gelince, bağ lantınoktalarıve alt program
kullanılmalı dı r.
 Test verisi ile şema denenmelidir. Değerleri bir tabloya aktarı lmalıdır.

§§
2005 yı lı
nda 3.0 sürümüne ulaş an “Visual Basic 6” ile yapılmışprogramı dır.
***
Programı n dağı tı
mı nda kaynaklarıda dâhil olursa “açık kaynak kod” proje adıverilir.
†††
Bir standart olarak “Object Management Group” (OMG) tarafı ndan dünyaya yayılmaktadı
r.
23
Şekil Görev

Girişveya çı
kış(input ve output)
Kullanı
cıetkileş
imi için gereklidirler

İ
şlem, hesaplamalar (process, calculation)
Bilgisayarı
n ası ğ
l yaptııiş
ler burada gerçekleş
ir

Karar, eğer (decision, if)


ş
Program iki ihtimale göre akıı
nıdeğiş
tirir, her ihtimalin ne
lem yapacağı
iş nıgöstermeyi unutmayınız

Alt program, fonksiyon (sub program, function)


Akışdiyagramıkarmaş ık hale gelince, tekrarlanan belli


mlarınıalt program haline getirebilirsiniz

şçizgisi (flowline)
Akı
Genellikle yukarıve sola doğru çizilmezler

la ve ya Bitir (Start ve Stop)


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

Birleş
tirici, bağ
lantınoktası(connector)
Birçok sayfadan oluş şş
an akı emaları
nıbirbirine bağlar

Döngü (for, cycle)


Baş
langı m ve sonlanma ş
ç, artı artları
nıiyi belirleyiniz

Dosya (file, storage)


Saklanmasıgereken bilgileri kaydederiz

24
İ
ki sayı
yıtoplayı
p sonucunu gösteren programı şş
n akı emasış
uşekildedir:

Başla

2 sayı
giriniz; a,b

2 sayı
yıtopla
sonuç = a + b

“sonuç”
değerini
göster

Bitir

İ
ki sayı ı
yıkarşlaş

rma programı
nı şş
n akı emasış
uşekildedir:

Başla

2 sayı
giriniz; a,b

Hayı
r b sayısı
a sayı
sıb’den büyüktür
büyük mü?

Evet

a sayı

büyüktür

Bitir

25
şş
Bozuk bir televizyon kumandasıile ilgili çözüm akı ş
emasıuş
ekildedir:

Başla

Kumandayı
elinize
alı
n

Kumandanı n ledini
temizleyiniz

Evet
Kumanda
çalı
ştımı
?

Hayı
r

Pillerin yönlerinin uygun


olup olmadı ğı nıkontrol
ediniz

Evet
Kumanda
çalı
ştımı
?

Hayı
r

Pilleri değiştiriniz

Evet
Kumanda
çalı
ştımı
?

Hayı
r

Kumandanın yenisini
alı
nız

Bitir

26
Araç tamir ve bakı şş
mıile ilgili bir örnek akı eması
:

Resim 2.1: Görsel olarak akı


şdiyagramıhazı
rlama ve çalı
ştı
rma örneği

Akı şdiyagramlarısahte kodlara göre daha anlaşı



r ve etkindir. Geliş
tirme aş
aması
nda
iyi bir yol göstericidir, hatalar daha rahat görülür.

Dezavantajlarışunlardır:
 Çok sayfa süren akı şdiyagramlarızor takip edilir.
 Bir grafik programıile çizimi zaman kaybı na neden olur.
 Bir değişiklik yapmak gerekince şemanı n tekrar çizilmesi gereklidir.

2.4. Karar Tabloları


Baş
ka bir programlama yardı mcı sıkarar tabloları r (decision table). Çok karmaş
dı ık
karar yapı
larıbu sayede kolayca çözülebilir hâle gelir.

Şart kütüğü, ş
art, durum kütüğ
ü ve durum olmak üzere tablo halinde 4 parçadan
oluş
ur.

Şart kütüğ
ü Şartlar
Durum kütüğü Durumlar

Şart kütüğü: Hangi kararlar verilecek?


Şartlar: Şartı
n alternatifleri neler?
Durum kütüğü: Belli ş artta ne yapı lacak?
Durumlar: E (Evet) ve H (Hayı r) halinde hareket seçenekleri

Örnek:
ABC ş r. Şartları
irketi bir sekreter eleman alacaktı :
a. Aday bayan olmalı
b. En az 2 yı l deneyimli olmalı
c. Bekâr olmalı

27
ABC Firması
nın Eleman İ
htiyaç Karar Tablosu
Şart Kütüğü Şartlar
Bayan mı ? H E H E H E H E
2 yıl deneyimli
H H E E H H E E
mi?
Bekâr mı ? H H H H E E E E
Durum Kütüğü Durumlar
Kabul
H H H H H H H E
durumları
Dikkat ettiyseniz en fazla sekiz durum olabiliyor. Bu sayı2 ^ 3 = 8 * hesabı ndan
geliyor. İkilik sayısistemindeki gibi sadece iki ihtimal (E / H) olduğ
u için taban ikidir. Üç
adet de limit sağ layan ş
artı
mız var.
Tüm olabilecek durum gözden geçirilerek hata olmasıengellenir. Akışdiyagramına
göre daha okunaklı dı şdiyagramıçizmeyi
r. Fakat ilk kez program yazanlar genellikle akı
tercih ederler.

 Aşağı
daki soruları şş
n sahte kod, akı emasıveya karar tablolarıyöntemi ile
çözümünü yapı
nız:
1. Bir sınıftaki 5 öğ
rencinin notlarıgirilir, ortalamasıhesaplanır.
2. Bir elektronik mağ azasında 37 ekran televizyonlar %20, 54 ekran televizyonlar
da %15 indirim yapı lı
yor. Buna göre ekran boyutu girildiğinde, indirim oranı nı
mesaj olarak gösteriniz.
3. Bir üniversite teorik dersin 25 saatine 1 kredi, laboratuvarın 10 saatine 1 kredi
veriyor. Ders ve laboratuvar saati girilince toplam krediyi hesaplayan programı
yazını z.

Sahte kodu karı şık olarak verilen problemin satı r sıralarınıdüzeltiniz. Problem
ş şve maliyet fiyatlarıgirilir, kârlarıtoplanı
udur; 3 ürünün satı r ve ortalamalarıalınır.
Üç ürünün kârı nıtopla.
Üçüncü ürünün satı şfiyatınıgir.
şfiyatı
Birinci ürünün satı nıgir.
Toplamı3’e bölerek ortalaması nıbul.
Üçüncü ürünün maliyet fiyatı nıgir.
Bitir.
İ
kinci ürünün satışfiyatından maliyet fiyatınıçıkarıp kârınıbul.
İ
kinci ürünün maliyet fiyatınıgir.
Ortalama kârıgöster.
Baş la.
Üçüncü ürünün satı şfiyatından maliyet fiyatınıçıkarıp kârınıbul.
İ
kinci ürünün satışfiyatınıgir.
şfiyatı
Birinci ürünün satı ndan maliyet fiyatınıçıkarıp kârınıbul.
şfiyatı
Birinci ürünün satı nıgir.
*
Buradaki ^ ş
apka karakteri Basic dilinde “üs” alma iş
lemi için kullanı
lan iş
leçtir.
28
2.5. Bir Programı
n Hayat Döngüsü
Çok az program; yazı lı
r, geliş
tirilir ve öylece bı
rakılı
r. Bunun yerine, kullanılmayacak
hale gelene dek, program değ işik döngülerde güncellenir. Fakat her ş ey devamlıdeğ iş
mez,
mesela neredeyse her yı l yeni bir kelime iş lemci programısürümü çı karılması na rağmen,
alfabedeki harfler hep aynıkalır.

Genel olarak tipik bir program döngüsü ş


öyledir:
 Geliş tirilme aş aması(ilk oluş turulma ve
yayı mlanma)
 Bakı m döngüsü (olabildiğ ince kı
sa zamanda
böceklerin ayı klanması)
 İyileştirme döngüsü (yeni özellikler katma)

Geliş tirme aş aması :Her program programcı nın bilgisayarı


nda boşbir ekran olarak
baş
lar. Bir fikirden, gerçek bir program oluncaya dek, geliş
tirme aşamasıdevam 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 seçilir.
6. Program yazı lı
r.
7. Test edilir. (Alfa sürümü denir.)
8. Problemler giderilir. (7 ve 8. adı m gerektiği kadar tekrar edilmelidir.)
9. Diğ er insanlara test etmeleri için verilir. (Beta sürümü denir.)
10. Problemler giderilir. (9 ve 10. adı m gerektiği kadar tekrar edilmelidir.)
11. Halka program sunulur ve pazarlandı ğıgibi çalışmasıumulur.

Bakım döngüsü: Çoğ u programcı, eski bir programıgüncellemek yerine yeniden


program yazarlar. Güncellemek aynen, kendi evinizi temizlemek yerine, baş
kası

n evini
temizlemek gibidir.

Bakı m gerektiğinde ş u adımlar yapılır:


1. Programı n hangi kısmında hata olduğ u bulunur.
2. Böcek temizlenir.
3. Yeni böceklere sebep olunup olunmadı ğıanlaş ı
lması için test edilir.
4. Testte görülen böcekler temizlenir. (1 ve 4 arasıher böcek için tekrar edilir)
5. Yazı lı
m için yama geliştirilir.

İyileştirme döngüsü: Yazılımın tamiri ve kararlı


, güvenilir hâle gelmesi, ücretsiz bir
destek hizmeti olduğu için şirket para kazanmaz. Bunun yerine yeni eklentilere sahip
sürümleri satmak kazandı
rır.

29
Yeni yazı lım ve donanı
m ortamları

n avantajı
nıkullanmak için birçok program,
tekrar elden geçirilir.

1. Programa ne eklenecekse belirlenir.


2. Bu özellik nası l çalı ş
acak ise sahte kodlar ile yazı mı
yapı lır
3. Program değ iştirilir.
4. Alfa sürümü olarak test edilir.
5. Hatalar tespit edilip giderilir.
6. Beta sürümü olarak test edilir.
7. Beta testçilerinin hata raporlarıokunur. (1 ve 7. adı mlar arasıher eklentide tekrar
edilir.)
8. Halka sunulur ve çı kabilecek yeni hatalar beklenir. (Bakım döngüsüne girilir.)

Üniversitelerdeki ve sektördeki “yazı lım mühendisliği” sözündeki mühendislik,


aslı
nda daha çok “sanat” olarak kullanı labilirdi. Yazmak, değiştirmek ve güncellemek
yüksek bir zekâ ve matematik bilgisi gerektirmez. Daha çok üretkenlik, azim ve bol hayal
gücü gerektirir.

İstediğiniz ş ekilde program yazabilirsiniz. Ama ileride olabilecek problemleri


önlemek için en iyi yol, planlıolmaktı
r.

30
Resim 2.2: Programlama dillerinin soy ağacı

Resim 2.3: Programlama dillerinin kullanı


m oranları

31
UYGULAMA
UYGULAMAFAALİYETİ
FAALİ
YETİ

İşlem Basamakları Öneriler


1. Problemi tespit ediniz. Günlük hayattan bir örnek bulunuz.
2. Problem ile ilgili verileri belirleyiniz. Verilen bilgileri ve istenenleri ayrıayrınot
alı
nı z.
3. Algoritma adı
mları
nıbelirleyiniz. Adı mları belirlerken gereksiz adı mlardan
kaçını nı
z.
Her adı mısadece bir iş lemi temsil edecek
şekilde hazı rlayı nı z.
4. Her adı
ma bir numara veriniz. Her algoritmanı n baş ı
nın ve sonunun belli
olmasıgerektiğ ini unutmayı nız.
5. Algoritmayıkontrol ediniz. Algoritma adı mları nda problemin
çözümünü etkileyecek herhangi bir
belirsizlik olmamalı dır.
Algoritma hazı rlanırken eğ er bir karar
yapı sıvarsa; yapı lan işlem sonucunda her
türlü alternatifi değerlendiriniz. Bir sorunun
cevabı nın “Evet” olabileceğ i gibi “Hayır”
olabileceğ ini de unutmayı nız.

32
ÖLÇME
ÖLÇMEVE
VEDEĞ
DEĞERLENDİRME
ERLENDİ
RME

OBJEKTİ
F TESTLER (ÖLÇME SORULARI)

Aş ağıdaki sorulardan; sonunda parantez olanlar doğ şsoruları


ru / yanlı dır. Verilen
ifadeye göre parantez içine doğ şise “Y” yazı
ru ise “D”, yanlı nız.

1. şdiyagramı
Akı nş
; algoritmanı ekillerle ifade edilmişhâlidir. ( )

2. şsembollü içinde aynıanda sadece bir iş


Bir akı lem gerçekleş
tirebilir. ( )

3. Ayrıhazı şdiyagramı
rlanan iki akı tirmek için  iş
nıbirleş areti kullanı

r. ( )

4. Algoritmada iş
lem sı
rasıönemli değildir.

5. Kullanı
lan her veri hemen en üstte tanı
mlanmalı
dır. ( )

6. ı
Bir karşlaş

rma iş
leminin sonucu “Evet” ya da “Hayı
r” gibi bir ifadedir. ( )

7. Aş
ağı şdiyagramı
da verilen akı ndaki ifadenin anlamıaş
ağı
dakilerden hangisidir?

I =1, N, 1 İ
şlemler

A) I değeri eğer N’ye eş it ise 1 artı


r, iş lemleri yap
B) I değerini N’den baş layarak 1’er 1’er artı r, iş
lemleri yap ve çık
C) I değeri 1’e eş
it ise N’ye 1 ekle, iş lemleri yap
D) I’yı1’den baş layarak N’ye kadar 1’er 1’er artı r. I’nı
n her değeri için iş
lemleri yap

8. Aşağ ı
dakilerden hangisi bir problem olabilir?
A) Piyangodan büyük ikramiye çı kması nıbeklerken amorti çı kması
B) Piyangodan büyük ikramiye çı kması nıbeklerken büyük ikramiye çıkması
C) Arasına piyango bileti konulan kitabı
n yerinin bilinmemesi
D) Piyango çekiliş
inin her zamanki yerinde ve zamanı nda yapılması

33
9. Aş
ağı şdiyagramısembolleri ve anlamlarıverilmiş
da akı tir.
1. 2. 3. 4. 5.

6.

( ) Başla / Dur ( ) Bilgi Girişi ( )İ şlem ( ) Döngü


( ) Karar ( ) Bağ lantı
Yukarı daki verilere göre aşağı ş
daki seçeneklerden hangisi yanlıtı
r?
Sembol Nu. Anlamı
A) 1 İşlem
5 (Bağlantı
B) 3 Karar
6 Bilgi giriş
i
C) 2 Karar
6 Bağlantı
D) 3 Karar
5 Döngü

34
ÖĞRENME FAALİ
YETİ
–3

ÖĞRENME FAALİ
YETİ- 3
AMAÇ
Programlama dillerindeki yazı
m araçları
nıkullanabileceksiniz.

ARAŞ
TIRMA
Bu faaliyet öncesinde hazı
rlı
k amaçlıaş
ağı
da belirtilen araş

rma
faaliyetlerini yapmalı
sınız.

 Bilgisayarı
nızda kurulu olan bir programı n (iş
letim sistemi de olabilir) kurulum
dosyalarınıve kurulum adı mlarınıinceleyerek sı nı

nı zda sunu olarak tanı tı
nız.
 En rahat program yazabileceğiniz yardı mcıaraçlarıaraş tı

nız. Programı n hangi
programlama dillerini desteklediğini inceleyiniz.

Konularda bazıkelimelerin altımavi dalgalıolarak çizilidir. Bu konularıaraş



rmanı
z
tavsiye edilir.

3. PROGRAMLAMA ARAÇLARI
Programlamayıkolaylaş tırı
cıbirçok araç vardı
r. Bu araçları
n kullanı
mınıöğ
rendikten
sonra program yazmak için fazla zaman kaybetmezsiniz.

Temel gereksinimler:
 Düzenleyici (editor): Komutlarıyazmamı z için kullanılır.
 Derleyici (compiler): Komutları mızımakine diline çevirir.
 Böcek ayı klayı cı(debugger): Programı
nızdaki hatalarıbulmaya yardı
mcıolur.

Ek olarak:
 Yardı m dosyasıhazı rlayı
cı: Kullanı cıya kı lavuz olacak el kitabışeklinde,
yardım sağlamak için kullanılan programlardı r.
 Kurulum programı(setup / installation): Programı n dosyalarınıtek dosya
haline getirerek, diğ
er uyumlu bilgisayarlara kurmaya yarar.

Linux ve Açı k Kaynak Hareketi


İlk zamanlarda programcı lar gönüllü olarak kaynakları nı
paylaşarak, programları
n gelişmesine katkı da bulunma fikrindeydiler.
Zamanla, emeklerinin karş ılığında para kazanmak istediler.
Kaynaklarınıkendilerine sakladı lı
lar. Böylece bir “yazım endüstrisi”
meydana geldi. Yayı m tarihleri aksayan, güvensiz ve kötü yazı lmış
yazılı
mlar da arttı
.

ı
Fakat kaynak kod paylaşmıfikri tekrar ortaya çı
karak, Linux

35

letim sisteminin ortaya çı kması na sebep oldu. Para vermeden
kullanı
labiliyor ve kaynak kodlara göz atabiliyorsunuz.

Resim 3.1: Açı


k kaynak proje sitesi örneği

Not: Bazıdiller yorumlayı cı(interpreter) olarak çalı


şırlar. Yorumlayıcı
, derleyici gibi *.exe (veya
çalı
ştı
rılabilir dosya) dosyayıdiske değil, satır satı
r geçici olarak hafı
zaya oluş turarak programı
çalı
ştı
rır.

3.1. Düzenleyici
ASCII (American Standard Code for Information Interchange) dosya olarak
yazabileceğ iniz tüm programlar iş inizi görür. Mesela not defteri olabilir. Metin dosyalarıtüm
bilgisayarlarda standart olan bir dosya türüdür. Ama bir kelime iş lemci programıkullanmak
yerine programcı lar kendi düzenleyicilerini geliştimiş
lerdir. Programı , yazması , düzenlemesi
ve yazdırılmasıkolay bir araç gibi düş ünebilirsiniz.

3.2. Derleyici
Derleyici kaynak kodu makine diline çevirir. Eğer yazı m hatalarıyok ise, sonuçta
çalıştı
rılabilir bir dosya meydana gelir. Bu dosyayıisterseniz diğer insanlara verebilir veya
satabilirsiniz. Mesela Microsoft Word programıderlenmişbir dosyadı r.

Kaynak kod değ işmediği sürece tekrar derleme iş lemi yapı lması
na gerek yoktur.
Derleyici iş
lemci türünüze göre kod oluş turur. Eğ
er iş
lemcinizin mimarisi farklıise o

lemciye göre tekrar derlenmesi gereklidir.

Perl ve Visual Basic yorumlayı cı(interpreter) olarak çalı ş


ır. Kodlar satır olarak
çalıştı
rılır. Çoğu web programlama dili yorumlanarak çalı ş tı
rılırlar. Mesela web tarayıcıları,
sitedeki JavaScript kodlarınıyorumlarlar. Yani ortada derlemişbir dosya yoktur. Bu da
sitedeki kaynak kodun bilgisayara metin olarak indirilip, çalıştırılmasıanlamı na gelir.

36
P-code (sanal makine kodu) denen hem derleyici hem de yorumlayı cıprogramlama
dilleri de vardı r. Birçok bilgisayarda az değişiklik yapılarak çalışabilen program yazmak için
programcı lar, p-code programları nıtasarlamı ş lardı
r. Program sanal makine koduna
dönüş türülür. P-code olarak derlenmişkodu çalı ştırmak için bir yorumlayı cıkullanılı
r. Java
bu ş ekilde platformdan bağ ımsız çalış
tırı
lıyor. Bu yöntemle kaynak kod korunmuşolur.

Aslı nda programlar her ne kadar derlenme sonucunda korunsa da, “decompiler –
kaynak koda dönüş türücü” ile makine dilinden dönüş türülebiliyor. P-code tamamen orijinal
koduna “decompile” edilebilir, diğer dillerde de bu vardı r. Fakat tamamen orijinal kod haline
gelemez. Hangi üst seviye dille yazı ldığınıbilmek mümkün olmadı ğıiçin, makine dili
kodları, assembly diline dönüş türülebilir. Bu kodu alarak kendiniz kaynak kodları
yazabilirsiniz. Ya da en azı
ndan o program ile ilgili fikir alabilirsiniz.

Resim 3.2: Bir C programı


nın derlenmesi

Not: AMD ve intel aynıx86 (CISC) kod ailesindendir, IBM firması nın PowerPC’si ise farklımimaride
(RISC) üretildiği için kodlarıayrı
ca derlenmelidir. Ayrı
ca 32 bit ve 64 bit iş
lemcilerde assembly kodu
farklıolduğu program tekrar derlenmelidir.

3.3. Böcek Ayı


klayı
cı(Debugger)
Çok az program %100 tam çalı şır. Hatalar yüzünden
programlar çöker, veriler kaybolur, ya da program tuhaf
çalışı
r. Aslında program her zaman aynıdurumda aynısonucu
vermelidir. Ama yazı lı
m ve donanı m farklılıkları
ndan dolayı
her zaman istenen sonuç elde edilemeyebilir.

Yazı lı
mın olduğ u her yerde böcek vardı r. Derleyiciniz,
işletim sisteminiz ve tabii ki kendi programınızda da böcekler
olabilir. Maalesef bir böceğ i temizlemek yeni böcekler oluş masına sebep olabilir.

37
Yazdığınız programlarda böcek* ayı klamanın (debugging) yolları ; adı m adı m
ş
çalıtı
rmak (step), durak noktalarıkullanmak (breakpoint), değ
işkenleri izlemektir (watch).

Adı mlamak: Programı n satı


r satı ş
r çalıtı
rılmasıdı
r. Böylece böcek
olan satır incelenebilir. Neyi yanlışyaptığınızıyazdığınız kodları
inceleyerek öğrenirsiniz.

Durak noktaları : Tüm programısatı r satır çalı ştı


rmak yerine,
şüphelendiğiniz yerlere durak noktalarıekleyerek, programı n oraya kadar çalış
ıp durması
sağlanır.. Program durunca da satı
r satı ş
r çalıtırı ş
larak nerede hata olduğu bulunmaya çalıı

r.

Değiş ken izleme: Program çalışı


rken, hafı
zadaki değ
işkenlerin değerlerinin nası
l değiş
tiğini
görebilirsiniz. Yanlışbilgi var ise, programdaki hatayıanlamaya, değ işkenin nereden
etkilendiğ ş
ini bulmaya çalıı
rsı

z.

3.4. Yardı
m ve Kurulum
Yardı m dosyasıve kurulum hazı rlama programlarıayrı ca satılı
r veya ücretsiz olarak
internette bulunabilir. Kurduğunuz programlama dilinde basit olarak yardım hazırlamak için
yardımcıprogram olabilir. Çoğ u programı n yardım dosyasıvardı r. İlk kez programı nı zı
kullanan veya bir konuda takı lan biri için ilk akla gelen şey, “Bu programı n yardı mı
nerede?” sorusudur. Yardı m dosyasıolan programlar daha modern hale gelir.

Program test edildikten, hatalarıgiderildikten ve yardı


m dosyasıhazırlandı
ktan sonra
son adı m olarak kuruluma geliriz. CD veya disketlere bölünecek ş ekilde “kur” dosyası
yapılı
r.
Not: Bazıprogramlar doğrudan istenen herhangi bir dizinde çalı şsa bile, genellikle ek dosyalar
, DLL, OCX dosyalarıgibi) problem çı
(veritabanıdosyaları karabilir.

*
İ
lk bilgisayar böceği ile ilgili resmi araş


nız

38
Kurulumu olmayan programlarıkullanı cıdenemeye bile çalı şmayabilir. Çünkü elle
kurulum zahmetli bir iş lemdir. Bu iş i kolaylaş tı
ran kurulum programı dı r. Kurulum halinin
doğru çalı ş
tığınıtest ederek dağ ı
tı mı nızıyapabilirsiniz. Ayrıca kurulum programları
dosyalarısı kıştı
rdıklarıiçin kur dosyasıaz yer kaplar. Kurulum sı rasında kullanı cı
ya bilgi
veren ses ve grafik görüntüler vardı r. İlerleme durumunu gösteren çubuk sayesinde ne kadar
zaman kaldı ğınıanlayabiliriz. Diske dosyaları n kopyalanmasıhı zlıve pürüzsüz olarak
halledilir. Bu da kullanıcıya programı nı zın profesyonel olduğunu gösterir.

Resim 3.3: Bir programı


n kurulum ekranı

Engelli insanlara bilgisayar kullanımı nda nası l bir yardı


m edilebilir? Mesela gözleri
görmeyen veya az gören insanlar nası
l bilgisayar kullanabilir?

Örnek 1:

En kolay ş
ekilde yardı
m dosyasıhazı
rlayalı
m.

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


programı nıindirip, bilgisayarı
nızda belli bir klasöre açı

z.

Resim 3.4: Her iki dosyayıindiriniz, dosyalarıaynıklasöre açı


nız

2. Ana program dosyası


olan “shalomhelp.exe” dosyası ş
nıçalıtı


z.

39
Resim 3.5: Yardı
m dosyası
nın ilk hali ve F6 kı
sayolu ile açı
lan proje seçeneklerinden, Türkçe dil
desteğinin sağlanması

3. Tasarım penceresinde sayfa sayfa dokümanlar yazı r, çok uzun olmayacak ş


lı ekilde
programı n kullanımıanlatı lı
r. Yeni sayfa eklemek için “Ctrl+N” kı sayolu kullanı
lır. Her
sayfanın anahtar kelimeleri “Keywords” kı smı na noktalıvirgüllerle ayrı
larak yazı

r.
4. Tasarımıdenemek için F9 kı sa yolu kullanılı
r. Bu kısa yol ile yardı
m dosyasıderlenir ve
ş
çalı tı

lır.

40
Resim 3.6: Yardı
m dosyamı
zın görünümü

Örnek 2:

En kolay ş
ekilde kurulum dosyasıhazı
rlayalı
m.

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


programıindirip, bilgisayara kurulur.

Resim 3.7: Kurulum hazı


rlama programı

2. Program açı ldı ğında karş ımıza gelen sihirbazı takip ederek, kurulumu hazı rlarız.
3. Kurulum dosyası na kaynak dosyalarıeklemek zorunda değ ilsiniz. Bu sebeple, gerekli
dosyalarıbaş ka bir klasöre alabilir ve sihirbazda bu klasörü belirtebilirsiniz.
4. Oluş turulacak kı sa yollarıbelirtiniz. Genellikle ana program ve yardı m için kısa yol
yapı lır.
5. Sihirbaz sonlandı rı
ldığında, kurulumu test etmek için, oluş an dosyayıçalı ştı rı

z.
6. Baş lat menüsünde oluş an kısa yollarıçalı ştı
rarak deneyebiliriz.
7. Programı nızı n deneme kurulumunu “Kaldı r – Uninstall” kısa yolu ile bilgisayarınızdan
silebilirsiniz.
41
a)

b)

c)

42
ç)

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


n yapı
lması

resminde ise derleme iş lemi (Ctrl+B) ve test iş
lemini (Ctrl+T) adı
mıvardır.

43
UYGULAMA
UYGULAMAFAALİYETİ
FAALİ
YETİ

İşlem Basamakları Öneriler


1. İstediğiniz bir programı n görsel ara Bilgisayarı nızdaki yüklü programları
birimini planlayı nı
z. inceleyiniz.
2. Bir görsel programlama dili ile kabaca Tek form üzerine gerekli nesneleri mantı klı
programı nızın prototipini tasarlayı
nı z. bir görünüm alacak ş ekilde yerleş tiriniz.
Takı ldığınız yerlerde öğretmeninize
danı şınız.
3. Programı
nıza yardı
m dosyasıekleyiniz. Yardı m dosyasıoluş turmak için gerekli
programlarıaraş tırı
nız.
4. Programı nızın kurulum dosyası nı Kurulum dosyasıoluş turmak için gerekli
oluşturunuz. programlarıaraş tırı
nız.
5. Yaptığınız prototipleri arkadaş
ları

z ile Diğ er bilgisayarlarda çalış
abiliyor ise
paylaşınız. programı nızın kurulumu bitmiş tir.

44
ÖLÇME
ÖLÇMEVE
VEDEĞ
DEĞERLENDİRME
ERLENDİ
RME

OBJEKTİ
F TESTLER (ÖLÇME SORULARI)

Aş ağıdaki sorulardan; sonunda parantez olanlar doğ şsoruları


ru / yanlı dır. Verilen
ifadeye göre parantez içine doğ şise “Y” yazı
ru ise “D”, yanlı nız.

1. Komutlarıdüzenleyici ile yazar, derleyiciler ile makine diline çeviririz. ( )

2. Programı
mızı
n yardı
m dosyasıile programcı
ya yardı
m bilgisi sağ
ları
z. ( )

3. ş
Web sayfalarıderlenerek çalıı
rlar. ( )

4. Çoğ
u zaman iyi yazı
lan bir programıtest etmeye gerek yoktur. ( )

5. Hangisi bir programlama dilinin içinde bulunmak zorunda değ


ildir?
A) Metin düzenleyici
B) Kurulum yapma programı
C) Böcek ayı klayıcı
D) Derleyici

6. ş
Program yazmak için en kullanılı
program hangisidir?
A) Not defteri
B) Crimson Editor
C) Microsoft Word
D) Edit‡‡‡

7. Hangisi böcek ayıklama ile ilgili bir yöntem değildir?


A) Programıdurdurmak
B) Adımlamak
C) Değişken izlemek
D) Durak noktalarıyapmak

‡‡‡
“Baş ş
lat*Çalıtı ş
r…*Edit” komutu ile çalıtı

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 kısımları 2. Windows nesne kütüphanesi
3. C dilinin sonraki sürümü 4. Ücretsiz bir veri tabanıyönetim programı
5. Yapı sal sorgu dili 6. Windows sistem kütüphanesi
6. Görsel Pascal dili 9. C dilinden türetilen bir dil
7. Azaltılmı şkomut kümesi 11. Karmaş ık komut kümesi
8. PC'lere benzeyen diğ er bilgisayar 12. Programlanabilen mikro bilgisayar
türü 13. Amerikan standartlarıkurumu
9. HTML'ye yardı mcıbir dil 15. Windows çı kmadan önceki yaygı n işletim
10. Basit veritabanıprogramı sistemi
14. Microsoft firması nı n veri tabanı 16. Temel metin dosya karakterleri
yönetim programı 17. Bilgisayarı n anladığısayısistemi
18. Delphi'nin Linux sürümü 19. Web sayfaları nın genel dili
20. Unix iş letim sisteminin yaygı n kullanı lan
diğ er sürümü
21. C dili ile üretilmişbir işletim sistemi
Değerlendirme:

Cevapları nızıcevap anahtarıile karş ılaştı


rınız. Doğru cevap sayı nı
zıbelirleyerek
kendinizi değerlendiriniz. Yanlı şcevap verdiğ iniz ya da cevap verirken tereddüt yaş
adı ğı
nız
sorularla ilgili konularıfaaliyete geri dönerek tekrar inceleyiniz.

Modern olan ş
eyler diğerlerine göre hep göz alı
cıolurlar.

47
MODÜL DEĞERLENDİ
RME

MODÜL DEĞERLENDİ
RME
PERFORMANS TESTİ1 (YETERLİ
K ÖLÇME)

Modül ile kazandı ğını


z yeterliği, öğretmeniniz iş
lem basamakları
na göre 0 ile 8 puan
nda olacak ş
arası eklinde değerlendirecektir.

DEĞERLENDİ
RME KRİ
TERLERİ Puan
Bilgisayarınızdaki programlama dillerini inceleme
Temel bir programlama dili ve assembly komutları nıkarş ı
laştırma
Bilgisayarınızda yüklü olan bir görsel programlama dilini inceleme
Web programlama dilleri ile ilgili araş tırma yapma
Akı şdiyagramı nıçı karmak için gerçek hayattan bir problemi tespit etme
Problem ile ilgili verileri belirleme
Problem ile ilgili algoritma adı mlarınıbelirleme
Problem ile ilgili yaptığı nız algoritmayı test etme
İ
stediğiniz bir programı n görsel ara birimini düş ünme
Bir görsel programlama dili kullanarak ile programı nızıtasarlama
Programı nıza yardı m dosyasıekleme
Programı nızın kurulum dosyası nıoluşturma
Toplam (en fazla 96 puan olabilir)

48
ÖLÇME SORULARI

1. Bilgisayara ne yapacağı
nın söylendiği komut topluluğuna 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) Çı ş

C) İşlem D) Kullanı cı

3. Programı n geliş
tirilme aş
aması
nda, problemin tanı ğ
mlandııadı
m hangisidir?
A) Analiz B) Tasarım
C) Kod D) Test

4. Program geliştirmenin, tasarı


m aş
amasıile _______________.
A) Problem tanı mlanı r.
B) Çözüm planlanı r.
C) Nesneler seçilir.
D) Algoritma programlama diline çevrilir.

5. Adım adı m mantı


ksal sı
ralama hangisidir?
A) AkışŞeması B) Ara birim
C) Algoritma D) Böcek ayı klama

6. Programdaki hataları
n bulunmasıve giderilmesi aşamasıhangisidir?
A) Analiz B) Tasarım
C) Yardım dosyasıekleme D) Test ve böcek ayı
klama

7. Hangisi algoritmanı
n programlama diline çevrilmesidir?
A) Analiz B) Tasarım
C) Kodlama D) Test ve böcek ayı klama

8. Programı tarif eden tüm materyallere ne denir?


A) Analiz B) Tasarı m
C) Yardım dosyası D) Test ve böcek ayı
klama

9. Hangisi bir görevin mantı


ksal sı
rası
nıgrafiksel olarak resmeder?
A) AkışŞeması B) Sahte Kod
C) Olay Grafiğ i D) Nesne grafiğ i

10. Belli bir problemin taslak olarak Türkçe 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) akışçizgisi B) sonlandırma
C) yönler D) şartlar
49
12. _____________ sembolü ile matematiksel iş
lemler yapı

r.
A) AkışÇizgisi B) Bitiş
C) Karar D) İşlem

13. ____________ sembolü ile program başlangı cıgösterilir.


A) Akışçizgisi B) Başlangıç
C) Karar D) İş
lem

14. ____________ sembolü ile semboller birleş ğ


tirilir ve mantıın yönü gösterilir.
A) Akışçizgisi B) Baş langı
ç
C) Karar D) İşlem

15. şçizgilerini birleş


_____________ sembolü farklıakı tirir.
A) Akışçizgisi B) Başlangıç
C) Karar D) Bağlantınoktası

16. Hangisi sahte kodun dezavantajıdır?


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

DEĞERLENDİ
RME

ğı
Yaptı nı
z değ
erlendirme sonucunda eksikleriniz varsa öğ
renme faaliyetlerini
tekrarlayı
nız.

Modülü tamamladı nız, tebrik ederiz. Öğ retmeniniz size çeş


itli ölçme araçları
uygulayacaktı
r. Öğretmeninizle iletiş
ime geçiniz.

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İ
YETİ3 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
MODÜL DEĞERLENDİ
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ı ı
zıcevap anahtarlarıile karşlaş

rarak kendinizi değ
erlendiriniz.

53
SÖZLÜK

SÖZLÜK
İ
sim Okunuş Anlam
access ekses eriş
mek
administrator ı
dminı
streytı
r idareci, süper kullanı

agent eycı
nt ajan, memur
application ı
eplikeyşn uygulama
area eria alan
argument argyumınt parametre, argüman, fonksiyona veri gönderme
assemble ıssembl toplamak, bir araya getirmek
associate essoşieyt iliş
kilendirmek
attribute ettribyut öznitelik, özellik
backup bekap yedekleme
base beyz taban, merkez, baz
batch beç toplu dosya
binary baynı
ri ikilik sayısistemi
boolean buuliı
n mantı ksal değer
boot buut bilgisayarın açı
lış
ı(bootup)
branch branç programı n başka yöne dallanması
buffer bafır ön bellek, tampon, ara hafı
za
bug bag böcek, 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 veritabanıuygulamaları
chain çeyn zincir
char çar tek karakterlik değer (character – keriktı
r)
circuit sörkit devre
cluster klastı
r küme, her track – iz’deki sektör grubu
code kod kod, programda kullanı
lan komut kümesi
collapse kı
leps göçmek, gizlemek
command kı
mand komut
compare kı
mpeyr ı
karşlaş
tı ı
rmak, comparison – karşlaş

rma
component kı
mpounı
nt nesne, bileş
ik
conditional kı ı
ndişnı
l ş
art, koş
ullu
conflict kı
nflikt ş
çakıma
console konsoul ekran ve klayve arabirimi (CON)
convert kı
nvört çevirmek, biçim değiş
tirmek
current körrı
nt geçerli, ş
u anki
cursor körsı
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
KAYNAKÇA

KAYNAKÇA
 Anadolu Üniversitesi Açıköğretim Sistemi (www.aof.edu.tr)
 AYFER Can Uğur, Kim Güler Bilgisayarlara?, Pusula Yayı nevi, İ
stanbul,
1998
 AYDIN Serkan, Programlama Ders Notları
 BAĞRIYANIK Tarı k, Programlama Ders Notlarıve UygulamalıGenel
Programlama Kitabı(www.yunus.projesi.com)
 DURMAZ Alparslan, Programlama Ders Notları
 EKER Mustafa, AlgoritmayıAnlamak, 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