Professional Documents
Culture Documents
ve Algoritmalar Ders
Notlar
indekiler
indekiler...................................................................................................................................2
Genel Programlama Bilgisi.........................................................................................................3
Tanmlar......................................................................................................................................5
Bilgisayar Nedir?................................................................................................................5
Bilgisayar Organizasyonu?.................................................................................................5
Bilgisayarn Tarihesi..........................................................................................................6
Bilgisayar Trleri................................................................................................................7
Problem Nedir?...................................................................................................................7
Problem zm.................................................................................................................7
Program Nedir?...................................................................................................................8
Programlama Nedir?...........................................................................................................8
Algoritma Nedir?................................................................................................................8
Ak izgesi Nedir?............................................................................................................8
Programlama Dili Nedir?....................................................................................................8
Derleyici Nedir?..................................................................................................................9
Yorumlayc Nedir?.............................................................................................................9
Yazlm Gelitirme....................................................................................................................10
Hata Yakalama ve Ayklama.....................................................................................................13
Algoritmalar..............................................................................................................................15
Ak izgeleri...........................................................................................................................18
Aritmetik ve Mantksal ifadeler................................................................................................21
Aritmetik fadeler..................................................................................................................21
Aritmetik Operatr............................................................................................................21
Aritmetik Operand............................................................................................................22
Deer Aktarma deyimi......................................................................................................22
Mantksal ifadeler.................................................................................................................22
Karlatrma Operatr....................................................................................................22
Mantksal Operatr...........................................................................................................22
Deiken ve Dizi Tanmlama....................................................................................................24
Sabit Nedir?...........................................................................................................................24
Tam Say Sabitleri.............................................................................................................24
Kesirli Say Sabitleri.........................................................................................................24
Dizgi Sabitleri...................................................................................................................24
Deiken Nedir?....................................................................................................................24
Dizi Nedir? ...........................................................................................................................24
Algoritma altrma.................................................................................................................26
Say Sistemleri..........................................................................................................................27
Tabandan Tabana evrim......................................................................................................27
kili Say isteminden onlu say sistemine evrim..............................................................27
Onlu Say isteminden ikili say sistemine evrim.............................................................27
Dier Say Sistemleri........................................................................................................28
Veri leme................................................................................................................................29
Algoritma rnekleri ve Sorular................................................................................................30
69/17.10.2007 01:51:28 PM
69/17.10.2007 01:51:28 PM
69/17.10.2007 01:51:28 PM
Tanmlar
Bu ders notlarnn daha iyi anlalabilmesi iin u tanm ve kavramlarn
bilinmesinde fayda bulunmaktadr.
Bilgisayar Nedir?
Verileri leyerek zet bilgiler ekline sokabilen, bu veri ve bilgileri yksek
kapasitelerde saklayp baka ortamlara iletebilen elektronik cihazlardr.
Bu ilemleri yaparken ok yksek hzlarda ve bkmadan-usanmadan
tekrarl olarak ayn ileri yapan bir cihazdr.
Ancak tek bana bir Bilgisayar donanm bu ileri gerekletirecek
durumda deildir. Bu ilemler donanm tarafndan yaplsa da asl i
yazlmlar tarafndan gerekletirilmektedir.
Bilgisayar Organizasyonu?
Bir Elektronik Bilgisayar yukar ekildeki gibi temel birimlere sahiptir. Bu
ekilde bir nceki konuda bahsettiimiz giri, k ilemleri, veri ileme ve
veri saklama ilemleri gerekletirilir.
Giri Birimi
Bellek Birimi
69/17.10.2007 01:51:28 PM
Aritmetik-Mantk
Birimi
Denetim Birimi
k Birimi
Bilgisayarn Tarihesi
Bu konuda ok deiik ve eitli kaynaklar bulmak mmkn olabilir ancak
yle basit bir kronolojik sra gemek mmkndr
M.. 500
Abaks
1642
1827
1941
1944
1945-54
1955-64
1965-71
1971-90
69/17.10.2007 01:51:28 PM
1982
1984
MAC
1990lar
Bilgisayar Trleri
Bilgisayarlar kullanm amalarna gre byklk ve kapasite bakmnda u
ekilde snflandrlabilirler.
Sper Bilgisayarlar
Mainframe tipi Bilgisayarlar
Workstation tipi Bilgisayarlar ( stasyonlar)
Mikro Bilgisayarlar
Kiisel Bilgisayarlar
Problem Nedir?
Bir ilemin, otomasyonun yada bilimsel hesaplamann bilgisayarla
zlmesi fikrinin ortaya kmasna problem denir. Bu tip fikirlerde
insanlarn bu sorunlar beyinle zmeleri ya imkanszdr ya da ok zor ve
zaman alcdr. Bu tip bir sorunu bilgisayarla zebilme fikrinin ortaya
kmas bir bilgisayar probleminin ortaya kmasna neden olmutur.
Bazen de bir iletme veya ynetimin otomasyonunu salamak amac ile bu
tip problemler tanmlanr.
Problem zm
Problemi zebilmek iin ncelikle sorunun ok net olarak programc
tarafndan anlalm olmas gerekir. Tm ihtiyalar ve istekler
belirlenmelidir. Gerekiyorsa bu ilem iin birebir grmeler planlanmal ve
bu grmeler gerekletirilmelidir.
Problemin zmne ilikin zihinsel altrmalar yaplr. Bu altrmalarn
Bilgisayar zmne yakn olmas hedeflenmelidir. Bir sorunun tabii ki
birden fazla zm olabilir. Bu durumda bilgisayar ile en uygun zm
seilmelidir. nk bazen pratik zmler bilgisayarlar iin uygun
olmayabilir.
Oluturulan zm Algoritma dediimiz admlarla ifade edilmelidir.
Bu algoritmann daha anlalabilir olmas iin Ak izgesi oluturulmaldr.
Uygun bir programlama dili seilmeli ve oluturulan algoritma ve ak
izgesi bu programlama dili aracl ile bilgisayar ortamna aktarlmaldr.
69/17.10.2007 01:51:28 PM
Program Nedir?
Problem zm ksmnda anlatlan admlar uygulandktan sonra ortaya
kan ve sorunumuzu bilgisayar ortamnda zen rne Program denir.
Baz durumlarda bu rne yazlm denebilir.
Programlama Nedir?
Problem zmnde anlatlan admlarn tmne birden programlama
denilebilir. Ancak gerekte ilk paragrafta anlatlan ksm ounlukla sistem
analizi veya sistem zmleme olarak anlatlr. Dier admlar Programlama
diye tanmlanabilir. Ancak Son paragrafta anlatlan adma ksaca test
aamas da denir.
ounlukla ok iyi tanmlanm bir sorunun zmne dair admlar ile
zmn oluturulup bunun bir programlama dili ile bilgisayar ortamna
aktarlmas Programlama diye adlandrlabilir.
Algoritma Nedir?
Bir sorunu zebilmek iin gerekli olan sral mantksal admlarn tmne
denir. Doal dille yazlabilecei iin fazlaca formal deildir. Bir algoritma
iin aadaki ifadelerin mutlaka dorulanmas gereklidir.
Ak izgesi Nedir?
Bir algoritmann daha grsel gsterimidir. izgiler, Drtgen, daire vb.
geometrik ekillerle algoritmann gsterilmesini salar. Doal dille
yazlmad iin daha formal olduu dnlebilir.
69/17.10.2007 01:51:28 PM
Derleyici Nedir?
Bir programlama dili ile bilgisayara aktarlan programn bilgisayarn
anlayabilecei Makine Diline evirmeyi salayan ve yazlan programda sz
dizim hatalarnn olup olmadn bulan olup olmadn bulan yazlmlardr.
Her Programlama dili iin bir derleyici olmas gerekmektedir.
Yorumlayc Nedir?
Derleyici gibi alan ancak yazlm programlar o anda Makine diline
eviren yazlmlardr. Bu tr bir yazlmda Programn Makine dili ile
oluturulmu ksm bilgisayarda tutulmaz. Programn her altrlmasnda
her adm iin Makine dili karlklar oluturulur ve altrlr.
69/17.10.2007 01:51:28 PM
Yazlm Gelitirme
Yazlm Gelitirilirken Bir Programc ve Yazlm Gurubunun takip edecei
admlar u ekildedir.
10
69/17.10.2007 01:51:28 PM
11
69/17.10.2007 01:51:28 PM
12
69/17.10.2007 01:51:28 PM
13
69/17.10.2007 01:51:28 PM
14
Algoritmalar
Bir bilgisayar program aslnda sra dzensel olarak tanmlanm bir dizi
komuttan baka bir ey deildir. Bu adan bizim yazmaya alacamz
programda bir dizi komut yani eylem topluluudur. Her programda bu
eylemler yazldklar srada gerekletirilir veya altrlrlar. Aslnda bizim
gnlk hayattaki yaant tarzmz dahi dzenli olarak bir takm ilemlerin
sra ile yaplmas eklindedir. Yani bir i yapabilmek iin bir takm alt i
veya olaylar pe pee gerekletiririz.
Algoritmann tanmn daha nce vermitik burada bu tanm tekrar etmek
faydal olacaktr. Bir sorunu zebilmek iin gerekli olan sral
mantksal admlarn tmne algoritma denir. Bir algoritmadan
beklenen bir takm zellikler olduunu da yine daha nceki tanmlar
blmnde bahsetmitik. Biz imdi mmkn olduu kadar bu tanm ve
zelliklerden yola karak rneklerle bir ka algoritma vermeye alacaz.
ncelikle bir ev hanmnn pasta yapmak istediini varsayalm. Bu pastann
yaplabilmesi iin gerekli bir takm ilemler ve alt admlar bellidir. bir ev
hanm da sra ile bu admlar uygulayarak bu pastay yapar. yle ki:
1.
2.
3.
4.
5.
6.
7.
8.
69/17.10.2007 01:51:28 PM
15
Bu algoritma gnlk hayattan bir rnek. Gerekte biz her iimizi algoritmik
olarak yaparz ancak bunu farkna varmayz. Yukardaki algoritmay
inceleyecek olursak bir kekin yaplmas iin gerekli tm admlar sra ile yer
alm durumda. Geri algoritma anlatacamz konularn daha iyi
anlalabilmesi iin biraz farkl ele alnmtr ama gerek bir Pasta yapm
aamasn ierir. Bu algoritma ve dier tm algoritmalar iin bilmemiz
gereken baz konular bulunmaktadr:
Her adm son derece belirleyici olmaldr. Hi bir ey ansa bal
olmamaldr.
Belirli bir sayda adm sonunda algoritma sonlanmaldr.
Algoritmalar karlalabilecek tm ihtimalleri ele alabilecek kadar genel
olmaldr.
Algoritmada algoritmann genel ileyiini etkileyebilecek hi bir belirsizlik
olmamaldr. (Bu rnekte yle bir belirsizlik var. Bir frnn yeteri kadar sna
bilmesi hangi koula baldr, bu frn ne zaman alm olmaldr ve ka
dereceye ayarlanm olmaldr. gibi...)
Algoritmada baz admlar yer deitirebilir . Ancak bir ok admn kesinlikle
yer deitiremeyeceini bilmeliyiz. Yanl sradaki admlar algoritmann
yanl almasna neden olacaktr. (9 ve 10. adm deitirilebilir. 2-3.
admlar yer admlar yer deitirebilir.) Ancak 13-16. admlar kesinlikle yer
deitiremezler.
Peki Bilgisayarda zlecek bir sorunu nasl algoritma ile ifade ederiz?
Bunun iin ncelikle bir sorun tanmlayalm. Balang ta basit olmas iin
yle bir problem zerinde dnelim: Bilgisayara verilecek iki sayy
toplayp sonucu ekrana yazacak bir program iin algoritma gelitirmek
isteyelim. Sorun son derece basit ancak sistem tasarmnn net
yaplabilmesi iin sorun hakknda anlalamayan tm belirsiz noktalar
akla kavuturulmaldr. rnein saylar bilgisayara nereden verilecek,
Klavye, Dosya veya belki baka bir ortam. Bu ve buna benzer soru ve
tereddtleriniz varsa sorun sahibine bunlar sormal ve sistem analizi
yapmalsnz.
Sonra bulacamz zm algoritma haline dntrebiliriz.
1.
2.
3.
4.
5.
BALA
A saysn oku
B saysn oku
TOPLAM=A + B ilemini yap
TOPLAM deerini ekrana yaz
6. SON
69/17.10.2007 01:51:28 PM
16
Biraz daha karmak bir sorun yle olsun: Klavyeden girilecek iki saydan
byk olanndan kk olann karp sonucu ekrana yazacak program iin
bir algoritma gelitiriniz.
A.
B.
C.
D.
BALA
A saysn oku
B saysn oku
Eer A byktr B SONUC=A-B
Deilse SONUC=B-A
E. SONUC deerini ekrana yaz
F. SON
Gerekte bir algoritma genellikle ana blmden oluur. Bunlar :
Algoritmann giri ve ilk ilemlerinin yapld blm
Dngsel bir blmn olduu kesim. Bu blm iterasyonlarla
bir ilemin srekli tekrar edilerek sonuca ulamay salayan
blmdr.
Son ilemlerin yapld blmdr. Bu blm elde edilen
sonularn ekrana yazlmasn salayan blmdr.
BALA
N OKU
T=0
X=1
T=T+X
X=X+1
EER X<=N SE 5. ADIMA GT
8. T YAZ
Bu algoritmalar olduka basit algoritmalar olup algoritma kavramnn
yerlemesini salayan rneklerdir.
69/17.10.2007 01:51:28 PM
17
Ak izgeleri
Bir algoritmann ekillerle grsel gsterimidir. Dikkat edildiyse algoritma
doal dille yazld iin herkes tarafndan anlalamayabilir ya da
istenmese de baka anlamlar karlabilir. Ancak ak izgelerinde her bir
ekil standart bir anlam tad iin farkl yorumlanp anlalamamas
mmkn deildir. Bir algoritmann ifade edilebilmesi iin kullanlan ekiller
ve anlamlar unlardr:
69/17.10.2007 01:51:28 PM
18
69/17.10.2007 01:51:28 PM
19
BALA
Programlamaya Giri ve Algoritmalar Ders Notlar
N
Bu ekiller kullanlarak algoritma ile oluturulan zmler ak izgelerine
evrilir. Bu ekiller herkes tarafndan anlalabilir ve doru olarak
X=1
yorumlanabilir bir zellik arz ederler.
BALA
T=0
A=1
T=T+X
B=1
X=X+1
C=A+B
X<=N
H
C>100
SON
H
C
SON
A=B
B=C
69/17.10.2007 01:51:28 PM
20
Aritmetik fadeler
Bir programn istenilen ileri yerine getirebilmesi iin hesap yapabilmesi ve
bu hesaplar sonucunda elde edilen deerleri saklayabilmesi gerekmektedir.
Genel olarak tm programlama dillerinde aritmetik ilemler u ekilde
tanmlanmtr:
Deer|Deiken {aritmetik operatr} Deer|Deiken
Bu tip bir gsterimde Deer denilen kesim sabit bir deeri temsil eder.
Deiken ise ierisinde her an farkl bir deer tutabilecek bir tanm ifade
eder. Aritmetik Operatr ise aritmetik ilemin zn oluturan bir iletir.
Aritmetik Operatr
Ksaca drt ilem olarak da ifade edebileceimiz ilelerdir. ounlukla
drt tanedirler ve cebirde kullanlan ncelikleri ayn ekilde kullanrlar.
*
69/17.10.2007 01:51:28 PM
21
Aritmetik Operand
Aritmetik ifadelerde ileme giren taraflarn her birine aritmetik operand
yani aritmetik ilenen denir. yukardaki tanmda Deer|Deiken ikilisinin
her biri ilenen yani operand tanmn salar. Bir aritmetik ifade de bir ift
operand ve bir operatr minimum olmas gereken ifadelerdir. Ancak daha
fazla aritmetik ilenen ve ile olabilecektir. rnein A * B + (12 + B)
ilemi de bir aritmetik ifadedir.
Mantksal ifadeler
Bir deerin baka bir deer ile karlatrlmas sonucu doru veya yanl
sonu elde edebilen ifadelerdir.
Mantksal operatrler ve karlatrma operatrlerinin deiik alternatiflerle
bir araya gelmesinden oluur ve u ekilde ifade edilir:
Deer|Deiken|Aritmetik ifade {Karlatrma Operatr}
Deer|Deiken|Aritmetik ifade
Karlatrma Deimi {Mantksal operatr} Karlatrma Deimi
Karlatrma Operatr
ki deer veya aritmetik ifadeyi bir biriyle karlatrmay salayan
sembollerdir.
=
>, >=
<, <=
<>
Mantksal Operatr
69/17.10.2007 01:51:28 PM
22
Q
D
Y
D
Y
P VEYA Q
D
D
D
Y
Q
D
Y
D
Y
P VE Q
D
Y
Y
Y
Son mantksal operatr DEL operatr olup tek ilenen alr ve ald
ilenenin mantksal deilini alr. Yani doru olan deeri yanla yanl olan
deeri doruya evirir.
P
D
Y
DEL(P)
Y
D
69/17.10.2007 01:51:28 PM
23
Sabit Nedir?
Programn her yerinde ayn deeri ifade eden deerlerdir. Deikenlerde
olduu gibi sabitler de tr kavramna sahiptir. Yazl tarzna bakarak
sabitin trn anlamak mmkndr.
Dizgi Sabitleri
Trnak ierisinde yazlan her ifade dizgi sabiti olarak alglanr. Programlama
dillerinde farkl trnak sembolleri kullanlabilir. ounlukla " sembol tercih
edilir. Aritmetik ilemlere giremez. ('Malatya', "Merhaba", "Dnya",
"12322" gibi).
Deiken Nedir?
Her seferinde farkl deerler ierebilen yapdr. Programlarda deikenleri
kutu olarak sembolize ederek zmlemek mmkndr. Deikenler de
sabitlerde olduu gibi trlere sahiptir. Sabitlerdeki trler aynen geerlidir.
Dizi Nedir?
Baz durumlarda kullanm amac ayn olan birden fazla hatta olduka fazla
sayda deikene ihtiya bulunur. Bu tip bir durumda bu deikenler tek
tek tanmlanmak yerine bir ad altnda indisle tanmlanrlar. bu tanma dizi
denir. Baz sorunlarn zm iin bu tanmlar zorunludur. Mesela 1000
69/17.10.2007 01:51:28 PM
24
A(2)
A(3)
A(4)
A(5)
A(6)
A(7)
A(8)
A(9)
A(10)
69/17.10.2007 01:51:28 PM
25
Algoritma altrma
Bazen Bir takm algoritmalarn ne ie yaradn anlamak veya
algoritmann doru alp almadn test etmek iin algoritmay
altrmak gereklidir. Algoritmay altrmak demek algoritmann
admlarn sra ile uygulamak, oluan deiken deerlerini bir tablo
zerinde gstermek demektir.
1. BALA
2. A OKU
3. B OKU
4. C OKU
5. TOP=0
6. SAY=A
7. TOP = TOP+SAY
8. SAY=SAY+C
9. EER SAY<=B SE 7. ADIMA GT
10.TOP YAZ
11.SON
eklinde verilmi bir algoritmamz olsun. Bu algoritma iin A3, B12 ve
C2 deerleri girilince SAY ve TOP deikenlerinde hangi deerlerin
oluacan algoritmay admlayarak gsterelim.
Deikenlerin Her
birinin Deeri
Aklama
A
B
C TOP SAY
3 12 2
0
3 6. adma kadar programn ilk altrlnda
deikenlerin elde ettii deer
3
5 7. ve 8. admlarn altrlmasndan sonraki
deerler
8
7 7. ve 8. deerler tekrar altrlyor
15
9 9<=12 olduu iin 7. ve 8. tekrar altrlyor.
24
11 11<=12 olduu iin 7. ve 8. tekrar altrlyor.
35 13 13<=12 olmad iin algoritma 10. satrdan
almaya devam edecektir. Ve 10. satrdaki
ifadeden dolay ekrana 35 deeri yazlacaktr.
69/17.10.2007 01:51:28 PM
26
Say Sistemleri
Bir Bilgisayar sisteminde tm bilgi kaytlar ve ilemleri elektriksel devreler
zerinden gerekletii iin tek bilinen gerek elektrik akmnn varl veya
yokluudur. Bu da matematiksel ve mantksal olarak ikili say sistemine
karlk gelir. ounlukla ikili say sistemindeki 0 deeri elektrik olmadn
1 deeri ise bir elektriksel gerilimin olduunu anlatr. Bu iki saysal deer
(0 ile 1) ikili say sisteminin rakamlardr. Ve bilgisayarda oluan tm deer
ve sonular gerekte bu rakamlar ile anlatlabilirler. Ancak bizim bu saysal
deerleri anlamamz zor olduu iin saysal olarak onluk say sistemini
kullanrz.
69/17.10.2007 01:51:28 PM
27
tablosunda en son kalanlar sondan baa doru yan yana yazlr ve saynn
ikilik tabandaki karl bulunmu olur.
rnein elimizde 156 gibi saysal bir deer olsun.
lem
155 / 2
77 / 2
38 / 2
19 / 2
9/2
4/2
2/2
1/2
Blm
77
38
19
9
4
2
1
0
Kalan
1
1
0
1
1
0
0
1
69/17.10.2007 01:51:28 PM
28
Veri leme
Bilgisayarmzda anlatmak, grmek, duymak istediimiz her bilgi veya
medya bilgisayar ortamnda saysal olarak saklanr. Bunlarn zerinde
yapacanz ilemlerin ou da aslnda matematiksel veya mantksal
ilemlerdir. rnein bir izim bilgisayarda nokta nokta saklanr. ki boyutlu
bir dzlem zerinde (0,0) koordinatndaki noktann rengi saysal olarak
verilir. rnein bu deer 0 ise renk siyah 65555 ise renk beyazdr. Bu
saysal deeri deitirerek (0,0) koordinatndaki noktann rengini
deitirmi olursunuz.
Aynen bu ekilde tm bilgiler bilgisayar ortamnda uygun saysal veriler
eklinde tutulur. Yaplacak ilemler bu verilerin zerinde matematiksel ya
da mantksal yollarla yaplan ilemlerdir. Bir resmin bytlp kltlmesi
resimlerin zerine efekt eklenmesi, seslere efektlerin eklenmesi, video
grntlerinde istenilen ekleme ve karmalarn yaplmas, bir nesnenin
boyutlu grntsnn elde edilip hareket kazandrlmas gibi onlarca konu
veri ileme esaslarna dayanan hesaplamalarla elde edilir. Bu tip
kavramlarn her biri iin internetten algoritma vb. aratlp kullanlabilir.
69/17.10.2007 01:51:28 PM
29
X OKU
N OKU
X YAZ
X=X+1
EER X<=N SE 3. ADIMA GT
6. SON
2. Soru
Klavyeden girilecek bir N deerine kadar fibonecci dizisini bulan
algoritmay gelitiriniz. Fibonecci dizisi 1 1 deerleri ile balar ve yeni
deer kendinden ndeki iki deerin toplam olarak bulunur. (1 1 2 3 5 8 13
21...)
zm: Fibonecci dizisi a,b,c eklinde 3 deiken ile hesaplanabilecek bir
dizidir. nk srekli a ile b toplanarak c retilir ve sonra bu a, b, c
deikenleri kaydrlr.
7. N OKU
8. A=1
9. B=1
10.A,B YAZ
11.C=A+B
12.EER C>N SE 11. GT
13.C YAZ
14.A=B
15.B=C
16.5. ADIMA GT
17.SON
3. Soru
Klavyeden girilen bir saynn tm tam blenlerini bulup listeleyen (Ekrana
yazan) bir algoritma gelitiriniz.
69/17.10.2007 01:51:28 PM
30
B>C
B>A
A>C
A>B
C>B
C>A
SE
SE
SE
SE
SE
SE
B
B
A
A
C
C
YAZ
YAZ
YAZ
YAZ
YAZ
YAZ
31.SON
5. Soru
Klavyeden girilen A ve B gibi iki saynn blme ilemi kullanmadan sadece
toplama ve karma kullanarak kalanl blme yapan algoritmay yaznz.
zm: Bu rnek ok eski ilemcilerde arpma ileminin tanml olmad
durumlar iin arpma ya da blme yapmak amacyla kullanlan algoritma
olarak karmza kmtr. lk okulda da fasulye hesabna dayanarak
arpmay rendiimiz yllar hatrlamamz salayabilir.
32.A,B OKU
33.BOLUM=0
34.KALAN=0
35.EER A<B SE KALAN=A, 8. ADIMA GT
36.A=A-B
37.BOLUM=BOLUM+1
38.4. ADIMA GT
69/17.10.2007 01:51:28 PM
31
69/17.10.2007 01:51:28 PM
32
x= 1
1
2
eklindeki fonksiyonun deerini hesaplayp
x
F(x)=
x= 1
1
2 eklindeki bir fonksiyon iin f(x)>=kk artn salayan en
x
69/17.10.2007 01:51:28 PM
33
77.F=F+1/(X*X)
78.X=X+1
79.EER F<KK SE 5. ADIMA GT
80.F,X YAZ
11. Soru
Genel Gsterimi Xn=n2 eklinde olan bir dizinin n. Elemanna kadar tm
elemanlarn ekranda yan yana gsterecek programn algoritmasn
gelitiriniz.
zm: Yan yana veya alt alta bu konuda algoritma dzeyinde
yapabilecek bir tanm yok bu ilem daha ok Programlama dili ile
hallolabilecek bir ilemdir. Bu nedenle burada o ifade dikkate alnmamtr.
81.N OKU
82.X=1
83.X*X YAZ
84.X=X+1
85.EER X<=N SE 3. ADIMA GT
86.SON
12. Soru
Klavyeden 0-Sfr girilinceye kadar girilen bir dizi saynn karelerinin
ortalamasn bulacak program iin algoritma gelitiriniz.
zm: Bu algoritma 7.sorudaki algoritmaya benzer bir algoritmadr. Ve
bu ekilde biri birine ok benzeyen bir sr rnek verilebilir ve soru
sorulabilir.
87.SAY=0
88.T=0
89.X OKU
90.EER X=0 SE 8. ADIMA GT
91.T=T+X*X
92.SAY=SAY+1
93.3. ADIMA GT
94.ORT=T/SAY
95.ORT YAZ
69/17.10.2007 01:51:28 PM
34
13. Soru
Klavyeden girilecek iki pozitif tam saynn OBEB (Ortak Blenlerin En
By)ini bulacak algoritmay gelitiriniz. rnein elimizde 3654 ve
1365 deerleri olsun. Bu deerlerin OBEBi u ekilde bulunmaktadr.
3654 / 1365
Kalan 924
1365 / 924
Kalan 441
924 / 441
Kalan 42
441 / 42
Kalan 21
42 / 21
Kalan 0 Kalan 0-Sfr oluncaya kadar sra ile blme
yaplmaktadr. OBEB deeri ise 21 olarak bulunan deerdir.
Bu ilem srasnda ve yineleme zelliklerini kullanarak iki saynn OBEBini
bulunuz. Kalan bulmak iin % operatrnn tanml olduunu varsayp
kullanabilirsiniz.
zm:
96.A, B OKU
97.KALAN=A%B
98.EER KALAN=0 SE 7. ADIMA GT
99.A=B
100.B=KALAN
101.2. ADIMA GT
102.B YAZ
14. Soru
Cos(x)= 1
x 2 x 4 x 6 x8
+
+
eklinde tanmlanm bir Cos alm
2!
4! 6! 8!
69/17.10.2007 01:51:28 PM
35
109.ARET=ARET * (-1)
110.TERM=TERM+1
111.KS=KS+2
112.EER TERM<10 SE 6. ADIMA GT
113.F YAZ
15. Soru
Klavyeden girilen A ve B gibi iki deerin yerlerini deitirerek ekrana
yazan algoritmay gelitiriniz.
zm: Burada anlatlmak istenen herhangi bir ift deikenin iindeki
deerleri yer deitirmektir. Bir ok programda bu tarz ilemler ihtiya
duyulur. rnein birinci deerin ikinci deere gre her zaman byk
olmasn salayan bir algoritma sz konusu ise burada aadakne benzer
bir yntem kullanlmaldr.
114.A, B OKU
115.TMP=A
116.A=B
117.B=TMP
118.A, B YAZ
16. Soru
Klavyeden girilen bir n deerini ikilik say sistemine evirip ekrana yazacak
algoritmay gelitiriniz.
zm: Bu algoritma bir takm zel deikenler ve yntemler
kullanmadan tam olarak doru bir ekilde istenilen grevi yerine
getiremeyecektir. Bu amala biz dizi deikenleri kullanabileceimizi
dnerek bu algoritmay oluturmaya alacaz.
119.N OKU
120.INDIS=7
121.KALAN=N%2
122.IKILI[INDIS]=KALAN
123.N=N/2
124.INDIS=INDIS-1
125.EER N>1 SE 3. ADIMA GT
126.IKILI[INDIS]=N
127.INDIS=0
128.IKILI[INDIS] YAZ
129.INDIS=INDIS+1
130.EER INDIS<=7 SE 10. ADIMA GT
131.SON
69/17.10.2007 01:51:28 PM
36
17. Soru
Klavyeden girilecek bir saynn tek mi ift mi olduunu bulabilecek bir
algoritma gelitiriniz. Bu algoritmay gelitirirken bavurduunuz
varsaymlar da yaznz.
zm: Varsaym u olmaldr: Kalan bulma operatrnn varl bir
varsaymdr. nk byle bir operatr her programlama dilinde olmayabilir.
132.SAYI OKU
133.EER SAYI%2=0 SE Tek YAZ
DELSE ift YAZ
18. Soru
Klavyeden girilen iki say ve bir operatre gre ilem yapp sonucu ekrana
yazan algoritmay tasarlaynz.
zm:
134.A,B OKU
135.OP OKU
136.EER OP=+ SE C=A+B
137.EER OP=- SE C=A-B
138.EER OP=* SE C=A*B
139.EER OP=/ SE C=A/B
140.C YAZ
19. Soru
Klavyeden girilen kesirli bir deeri a/b eklinde rasyonel ifade olarak
ekrana yazabilecek algoritmay gelitiriniz.
zm: Bu algoritmay yazabilmek iin kk bir varsaymmz olacaktr.
Bu varsayma gre programlama dilinde rnein ad TAM olan ve bir
saysal deerin tam ksmn bulan bir fonksiyona ihtiya vardr.
141.X OKU
142.PAY=X
143.PAYDA=1
144.PAY=PAY*10
145.PAYDA=PAYDA*10
146.EER PAY<>TAM(PAY) SE 4. ADIMA GT
147.EER PAY%2=0 VE PAYDA%2=0 SE
PAY=PAY/2
PAYDA=PAYDA/2
7. ADIMA GT
69/17.10.2007 01:51:28 PM
37
20. Soru
Klavyeden girilecek bir harfi byk harfe evirip ekrana yazan algoritmay
gelitiriniz.
zm: Bu konu ile ilgili algoritma yazabilmek iin ASCII kmesi
dediimiz bir kme hakknda bilgi sahibi olmamz gerekiyor. B kme
bilgisayarnz tarafndan kullanlan tm karakterlerin sakland bir listedir.
Normalde saysal ilemler yapan bilgisayarnzn alfabetik karakterleri ifade
edebilmesi iin byle bir lise-kmeye ihtiya duyulur. Bu kmenin
elemanlar bir ok kitapta liste olarak verilmitir her bir liste yesinin
numaras 0 ile 255 arasndadr. Ve saysal olarak 65 dediimizde A
harfini ve mesela 97 dediimizde a harfini anlatm oluruz. Bu kme
incelendiinde harfler simetrik olarak belli bir blgede yer alrlar ve bir
harfin by ile k arasnda 32 gibi bir saysal fark vardr. Byk
harfler 65 ile balar ve daha kk deerlere sahiptir. Kk harfler ise 97
ile balar.
150.HARF OKU
151.EER HARF>=a VE HARF<=z SE HARF=HARF32
152.HARF YAZ.
Bu kavramla ilgili olarak onlarca soru zlebilir. Programlama ksmnda bu
konuyu temel alan bir ok rnek bulabileceksiniz.
69/17.10.2007 01:51:28 PM
38