Professional Documents
Culture Documents
Mİ
LLÎ EĞİ
TİM BAKANLIĞI
MEGEP
(MESLEKİEĞİTİ
M VE ÖĞRETİ
M Sİ
STEMİ
NİN
GÜÇLENDİRİ
LMESİPROJESİ)
Bİ
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 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ı
sı
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ı
nı
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.
ii
Gİ
RİŞ
Gİ
RİŞ
Sevgili Öğ
renci,
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.
1
2
ÖĞRENME FAALİ
YETİ
–1
ÖĞRENME FAALİ
YETİ- 1
AMAÇ
Programlama dillerini işlevlerine göre ayı
rt edebileceksiniz
ARAŞ
TIRMA
1. PROGRAMLAMA Dİ
LLERİ
Bilgisayar çok karmaş ı r, ş
k bir elektronik cihazdı imdilik bizi ilgilendiren kı
sı
m onun
ş
çalıma prensibi değ
il, programlama kı smı dır.
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.
Bazıprogramları
n girişve çı
kış
ları
:
İ
yi bir programı
n temel özellikleri ş
unlardı
r:
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:
Programcı
lı
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.
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.
*
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
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.
7
Resim 1.2: Dillerin genel görünümleri
†
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ı
mı
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.
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.
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ı
lı
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ı
lı
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#.
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 **.
**
“Ç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ı
lı
ğı
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ş
tı
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.
Office programları
içindeki makrolar (VBA) kullanı
cı
ya yardı
mcıiş
levler sağ
lar:
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
13
ASP dilinde kod örneği
<%
Response.Write "Selam!"
%>
Dezavantajları
:
Tüm web tarayı cılarıJavaScript ve Java desteklemez. (Daha eski tarayı
cı
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.
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ı
cı
” 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ı
tı
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)
7. Aşağ ı
dakilerden hangisi makine diline aittir:
A) 15
B) A
C) 0
D) %
9. Yazılım nedir?
A) Ana bellekte yer alan her türlü değer
B) Klavyeden girilen veriler
C) Bilgisayar programları
D) İş
lemci
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
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
ARAŞ
TIRMA
Bu faaliyet öncesinde hazı
rlı
k amaçlıaş
ağı
da belirtilen araş
tı
rma
faaliyetlerini yapmalı
sınız.
2. PROGRAM YAZIMI
Şu anda oturup programlama yapabilir olsanı z da, bu bir
bebeğin önüne yemesi için gerekli malzemeyi savurmaya benzer.
tasarlarken ş
Programı unlarıgöz önünde bulundurmalı
sı
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.
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ı
sı
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.
Ö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.
Ö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ş
tı
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
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.
§§
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
şçizgisi (flowline)
Akı
Genellikle yukarıve sola doğru çizilmezler
Birleş
tirici, bağ
lantınoktası(connector)
Birçok sayfadan oluş şş
an akı emaları
nıbirbirine bağlar
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ş
tı
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ı
sı
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
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ı
:
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.
Ş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
Ö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.
29
Yeni yazı lım ve donanı
m ortamları
nı
n avantajı
nıkullanmak için birçok program,
tekrar elden geçirilir.
30
Resim 2.2: Programlama dillerinin soy ağacı
31
UYGULAMA
UYGULAMAFAALİYETİ
FAALİ
YETİ
32
ÖLÇME
ÖLÇMEVE
VEDEĞ
DEĞERLENDİRME
ERLENDİ
RME
OBJEKTİ
F TESTLER (ÖLÇME SORULARI)
1. şdiyagramı
Akı nş
; algoritmanı ekillerle ifade edilmişhâlidir. ( )
3. Ayrıhazı şdiyagramı
rlanan iki akı tirmek için iş
nıbirleş areti kullanı
lı
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ş
tı
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
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.
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ş
tı
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ı
fı
nı zda sunu olarak tanı tı
nız.
En rahat program yazabileceğiniz yardı mcıaraçlarıaraş tı
rı
nız. Programı n hangi
programlama dillerini desteklediğini inceleyiniz.
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.
ı
Fakat kaynak kod paylaşmıfikri tekrar ortaya çı
karak, Linux
35
iş
letim sisteminin ortaya çı kması na sebep oldu. Para vermeden
kullanı
labiliyor ve kaynak kodlara göz atabiliyorsunuz.
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
iş
lemciye göre tekrar derlenmesi gereklidir.
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.
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.
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).
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.
*
İ
lk bilgisayar böceği ile ilgili resmi araş
tı
rı
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.
Örnek 1:
En kolay ş
ekilde yardı
m dosyasıhazı
rlayalı
m.
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ı
40
Resim 3.6: Yardı
m dosyamı
zın görünümü
Örnek 2:
En kolay ş
ekilde kurulum dosyasıhazı
rlayalı
m.
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ı
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
ç)
43
UYGULAMA
UYGULAMAFAALİYETİ
FAALİ
YETİ
44
ÖLÇME
ÖLÇMEVE
VEDEĞ
DEĞERLENDİRME
ERLENDİ
RME
OBJEKTİ
F TESTLER (ÖLÇME SORULARI)
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. ( )
6. ş
Program yazmak için en kullanılı
program hangisidir?
A) Not defteri
B) Crimson Editor
C) Microsoft Word
D) Edit‡‡‡
‡‡‡
“Baş ş
lat*Çalıtı ş
r…*Edit” komutu ile çalıtı
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 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:
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)
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) Çı ş
kı
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
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
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
DEĞERLENDİ
RME
ğı
Yaptı nı
z değ
erlendirme sonucunda eksikleriniz varsa öğ
renme faaliyetlerini
tekrarlayı
nız.
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ş
tı
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ı
cı
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ş
tı
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