Professional Documents
Culture Documents
Bilgisayar programlamasnn amac insan ile makine arasnda iliki kurmak ve haberlemeyi salamaktr. Yksek Seviyeli Diller (High Level Language) - Pascal, Cobol,Basic,C++ insan derleyici Alak Seviyeli Diller (Assembly Languages) - Assembly, Derleyiciler Makine Dili
0101011
Gnmzde yzlerce programlama dili vardr. Bunlar genel olarak gruba ayrabiliriz. 1. Makine dili (Machine Languages); mikroilemci komutlarnn kodunu zer, ikili saylara dntrr. Yani makine dili 1 ve 0 larn dizilimlerinden oluur. 2. Alak Seviyeli diller (Assembly Languages) ; Sembolik makine dillerini ve doal makine dillerini kapsar. MOV AX, S1 MOV BX, S2 ADD AX,BX MOV TOPLAM, AX 3. Yksek Seviyeli Diller ; belirli kalplarda belirli kurallara gre yazlmalar artlandrlmtr. Bu artlandrmalar her programlama diline gre deiir. Yksek Seviyeli bir programlama dilinin u ilevi yerine getirmesi gerekir. a). Bilgisayar kullanmnda uzmanlamam personel iin , insan diline olabildiince yakn bir yapay dile gereksinim vardr. b). Belirli bir kullanm alanna zg bir bilgi trn , olabildiince zahmetsiz bir ekilde ileyebilecek bir yapya sahip olmalar gerekir. c). Program yerine getirmek iin kullanlan bilgisayardan bamsz olmaldr. Yksek Seviyeli bir dili Alak Seviyeli veya Makine diline eviren programlar, derleyici veya yorumlayclardr. . Derleyiciler (Compilers) : leme ynelik dilde yazlm bir temel program (kaynak program), makine diliyle yazlm ama programa eviren programlardr. Derleyiciye evirmesi iin verilen programa kaynak (source) program, makine diline evrilen programa ise ama (object) program denir. Derleyiciler, yksek seviyeli her bir programlama diline zg yazlrlar. Yksek Seviyeli bir dille yazlan yazlmlarda, kurallarna ters den hata kontrollerini yaptktan sonra komutlarn ve bilgilerin makine tarafndan tannarak ilemlerin yaplmasn , sonularn tekrar yksek seviyeli programlama diline anlalr duruma getirilmesini salarlar. Kaynak kodu evriciler rnein; DOS letim sisteminde bir PASCAL programnn hangi aamalardan geerek alabilir bir kod haline geldii aadaki emada gsterilmitir. Ama ( object ) kodu
Editr
*.pas
Derleyici
*.obj
Balayc
*.exe
Kaynak programlar, editrler kullanlarak yazlrlar. Daha sonra bu kaynak kodlar derleyiciler tarafndan ama koda evrilirler. En sonunda ise balayc programlar ile alabilir hale getirilirler. Yorumlayclar ( Interpreters) : Yorumlayclar, kaynak program satr satr ele alarak dorudan altrrlar, yorumlayclar standart bir ama kod retmezler. Yorumlama ilemi satr satr yapldnda genellikle ilk hatann bulunduu yerde programn almas da kesilir. Yorumlayclar, derleyicilere gre ok daha kolay yazlabilir. Yorumlayclarn bir program icra zaman (run time) derleyicilere gre olduka uzundur. Yorumlayclarn her zaman kaynak koda ihtiya duymalar da kaynak kodun gizlilii ve gvenirlii asndan bir dezavantajdr. Basic programlama dili yorumlayc kullanrken , Pascal ,Cobol, Fortran C++ gibi diller derleyici kullanr.
Programlama dilleri :
Hangi programlama dilini renirsek renelim 4 tane kalp her programlama dilinde geerlidir. Bunlar ; Deikenler ( stediimiz zaman baka bir deerle deitirebileceimiz bir bilgi tadr.) Sabitler ( Dorudan ileme sokulurlar ve program alt srece deimezler. ) Mesajlar ( Program ile kullanc aras iletiimi salar. Mesajlar aslnda birer sabittir. nk program alt srada deimezler. ) Komutlar (Bilgisayarn o an ne yapacan belirten bir emirdir. Ksaltlm yada tam ngilizce kelimelerden oluurlar. ) Deikenler : Deiken, bilgileri saklamak zere kullandmz ismini ve tipini belirlediimiz bellek alanlarna verilen isimdir. Basic Deiken tipi tamsay ise A% Deiken tipi tek duyarlkl gerel say A! , A (7 basamakl) Deiken tipi ift duyarlkl gerel say A# (17 basamakl) Deiken tipi string (alfa saysal) A$
rnek :
CLS PRINT 22 / 7 Saysnn gsterimi A%= 22 / 7 PRINT Tamsay deeri : , A% 3 A!= 22 / 7 PRINT Tek duyarlkl gerel say deeri : , A! A# = 22 / 7 PRINT ift duyarlkl gerelsay deeri : , A# A$ = 22 / 7 PRINT A$ 22 / 7 END. Pascal
3,142857 3,142857074737545
1- Saysal deikenler : Tamsaylar : - Byte 0 355 1 Byte - Integer -32768 ... +32767 2 Byte - Word 0 65535 2 Byte - Long int - 2 milyar... +2 milyar 4 Byte - Short int - 128 ... +128 1 Byte Gerel saylar : - Real 6 Byte - Single 4 Byte :2.String (alfasaysal alfanmerik) deikenler char 1 karakter string string [n]
Sabitler :
Bellein bir blmndeki bilgiyi ifade ederler. Sabitlerin bir ad vardr. Dorudan ileme sokulurlar ve programn almas esnasnda deimezler.
rnek :
Cls nput yarap gir,r Pi = 3.14 Print dairenin alan Alan = pi * (r^2) Print dairenin alan ,alan End Not: Var A : nteger Const PI = 3.14
Mesajlar : Aslnda birer sabittir. nk program alt srece deimezler. Kullanc ile program arasndaki iletiimi salarlar.
Algoritma :
Bir problem snfn sonlu bir zamanda zebilmek iin gelitirilmi ak seik, yrtlebilir, sral, basit ve gerektike tekrar eden admlardan oluan yntemdir.
3. Yrtm(execution)
1.Sunum: Algoritmann ifade eklidir. 2.Program:Bir algoritmann bilgisayar iin gelitirilmi biimsel (format) sunum eklidir.Bu
ama iin eitli programlama dilleri kullanlr. Basc Print Gir Pascal Writeln Gir C Print Gir Yrtm (altrma)
3.Yrtm :Bir programn yrtm demek o program tarafndan sunulan algoritmay gereklemek demektir.
Ak Diyagram : Algoritmann ekillerle gsterilmesine denir. Program Yazarken Takip Edilecek Hususlar : 1. Programn algoritmasn oluturup (ak diyagramn) iziniz. 2. stenilen algoritma ve ak diyagramn bir programlama dilinde kodlaynz. 3. Programn bilgisayarda altrlmas. 4. Derleyici hata veriyorsa dzeltiniz. Test 5. Programda istediiniz sonular alamyorsanz 1. adm kontrol ediniz. Programlama Hatalar : 1. Yazm hatas 2. Mantk hatas Algoritmada Kullanlan Operatrler : Operatrler, nesneler veya sabitler zerinde nceden tanmlanm birtakm ilemleri yapan atomlardr. Operatrler CPU (ilemci) tarafndan bir faaliyete neden olurlar ve bu faaliyet sonunda bir deer retilmesini salarlar. Programlama dillerindeki her operatr bir yada birden fazla makine komutuna karlk gelir. rn: c=(a*b) + 2 ileminde 4 operatr vardr.
1. Matematiksel ilem operatrleri :
^ * / + -
3. Karlatrma operatrleri :
Aktarma
( ) Parantez
rnek : Bir iyerinde alan iiler arasndan yalnzca ya 23 n zerinde olup asgari cret
alanlarn isimlerini listeleyen komut satrn yaznz ? Eer (ya > 23)1.koul ve (maa = asgari cret)2.koul ise isim listele Eer ya > 23 veya maa = asgari cret ise isim listele
rnek : Bir snfta Programlama Temelleri dersine 65 in zerinde not alp Trk Dili veya Yabanc
Dil derslerinin herhangi birinden 65 in zerinde not alanlarn isimlerini listeleyiniz ? Eer Prog.Tem. > 65 ve (Trk dili > 65 veya Yabanc dil >65) ise isimleri listele ki Saynn Toplamnn Yazlmas : NPUT Say 1 , Say 2 Toplam = Say 1 + Say 2 PRNT TOPLAM Algoritmalarda Kullanlan zel Terimler --Deiken : Programn almas esnasnda farkl deerler alabilen bilgi alanlardr. --Aktarma : Bir deikeni baka bir deikene atama (aktarma) olaydr. --Saya : Bir deikenin deerini belirli aralklarla fazlalatrma veya azaltma olaydr. Deikenlere isim verme kural : 1- Harfle balamal ve Trke karakter kullanlmamal. 2- 0 dan 9 a kadar rakam kullanlabilir. 3- zel karakterler ve boluk karakteri kullanlmaz. 4- Deiken isimleri anlaml olmaldr. Aktarma : A=5 5i A ya aktar.
rnek : Bilgisayara dardan say girecek bu saynn toplamn veren algoritmay oluturun.
1- Bala 2- T = 0 3- Bir say gir (A) 4- T = T + A (T = 0+A 5- 2. sayy gir (B) 6- T = T + B 7- 3. sayy gir. (C) 8- T = T + C T=C 9- T yi gster.
T=A)
Saya : Saya deikeni = Saya deikeni + Artm deeri Saya olutururken ; 1- lk nce saya deikenine balang deeri verilir. 2- Saya artan veya azalan bir ekilde tanmlanr.
2. Veri girilerini yapnz. 3. Yaplacak ilemle ilgili formlleri yaznz. 4. Sonular ekrana yaznz.
Ak Diyagramlar :
lem
Balant
Karlatrma
Giri / k
Dng
Birletirme
Bala / Dur
Birletirme yn oklar
Monitr
kt
Ynlendirme
Karar (E/H)
rnek : Girilen bir ismi 10 kez tekrarlayan programn algoritmasn oluturunuz, ak diyagramn
iziniz ? ( Koul ile yaplm hali) Bala smi gir (Ali) Saya = 0 smi yaz (Ali) Saya = saya + 1 I 1 2 3 4 5 6 Bala. smi Gir (Ali) Saya = 0 (Sayacn ilk deeri ) smi yaz (Ali) Sayac 1 artr. (Say = Say + 1) Eer say. 10 a kk eitse (saya <= 10) ise 4. adma git 7 Dur.
Dnglerin Ak Diyagram :
Giri For I = M to n lemler I k Dng deikeni dng dna en son ald deeri bir artrarak kar. rnek : Girilen bir ismi 10 kez tekrarlayan programn algoritmasn oluturunuz, ak diyagramn iziniz ? (Dng ile yaplm hali) Bala smi yaz For I = 1 to 10 smi yaz (Ali) I Dur 1 2 3 4 5 6 Bala smi gir (Ali) Dng olutur (1den 10 a kadar) smi yaz (Ali) Dngy olutur. Dur I Dng Deikeni M Dng Deikeninin lk Deeri N Dng Deikeninin Son Deeri
rnek : Rasgele girilen iki saydan kk olan nce yazan programn algoritmasn oluturup ak
diyagramn iziniz ? Bala A,B H A>B E B,A Dur C=A A=B B=C 1 2 3 4 5 6 Bala. 2. sayy giriniz (A , B). Eer A>B ise 5. adma git. A ile B yi giriniz. B yi nce, A yi sonra yaz. Dur.
Soru 1 : Bilgisayara girilen 10 sayy kkten bye doru sralayan ilemin algoritmasn yapnz
?
1 2 3 4 5 6 7 8
Bala Deikeni gir (N) F=1 Dng olutur.(1 den N ye) F=F*I Dngy sonlandr. Sonucu gster. (F) Dur.
Soru 2 : Bir soyguncu bir sepet elma alyor. Kaarken karsna 3 beki kyor. Bekilere her
defasnda sepette bulunan elmann yarsndan 1 fazlasn veriyor. 3 bekiye de bu yntemle elma verdikten sonra hrsza 1 elma kalyor. Sepette ilk bata ka elma olduunu bulan programn algoritmasn yapnz ?
Dng Yaps :
1. Tekrar says belli olan dngler: FOR Dng_deikeni= Balang_deeri TO Biti_deeri , Artm_miktar NEXT Artan dng : Balang deeri biti deerinden kk ise artan dngdr. Azalan dng : Balang deeri biti deerinden byk ise azalan dngdr.
Case Yaps : (Pascal) Uses crt; Var yas: byte; Begin Write(ya giriniz);read (yas); Case yas Of 0 .. 5 :write (bebek) 6 ..12:write (ouk) 13 .. 28 : write ( Gen) 29 .. 45 : write (ortayal) Else Write (ihtiyar); End; End.
f Else yaps : nput Ya deerini giriniz : , Yas f (yas <= 5) Then Print bebek f (yas <= 12) Then Print ocuk f (yas <= 28) Then Print gen f (yas <= 45) Then Print orta yal f Else Print ihtiyar End
Quick Basic : nput ya giriniz: , yas Select Case yas Case 0 to 5 : Print Bebek Case 6 to 13 : Print ocuk Case 14 to 28 : Print Gen Case 29 to 45 : Print ortayal Case Else Print htiyar End select End
if (aranan deer = test satr) then Arama baarl else Arama baarsz
Dng yaplar
i. ii. iii. iv.
while (koul) do (ilem) repeat (ilem) until (koul) do loop dngleri for next dngs Repeat - until H ilemler (koul yanlsa) H snanan koul E (Koul doruysa)
Do loop 1- Do While (koul) (ilemler) Loop 3- Do Until (koul) (ilemler) Loop 2- Do (ilemler) Loop until (koul) (Doruysa dngden kar) 4- Do (ilemler) Loop While (koul) (Yanlsa dngden kar)
For Next (Dng miktar belli ise) For dng deikeni = balang To biti [step artm miktar] (ilemler) Next Dng deikeni
rnek :
A=5 Do while A < 3 A=A+1 Loop Print A kts 5 A=5 Do A=A+1 Loop while A < 3 Print A kts 6 A=5 Do until A < 3 A=A+1 Loop Print A kts yok
A=5 Do A=A1 Loop until A < 3 Print A kts 2 2. Yerletirme Sral algoritmas : nteraktif yaplar kullanlarak gelitirilen algoritmalardan bazlarda sralama algoritmalardr. Bu algoritmalar elimizde bulunan gelii gzel bir listeyi belli kurallar dahilinde dzenler.
BUBBLESORT: ndisli deikenlerde say veya alfabetik sralama yapmakta kullanlan programlardan biri de BUBBLESORT dur. BUBBLE hava kabarc demektir. Suda hava kabarcklarnn pepee ykselmesi gibi bu programda da byk deerler pepee ykselmesi gibi bu programda da byk deerler pepee liste sonuna varrlar. Mesela; 5,10,2,4,12,1 rakamlarndan oluan dizinin rakamlarn bu yntemle sralayalm. - Srayla saylar ikier ikier kyaslanr. nceki sonrakinden bykse yer deitirirler. 5,10,2,4,12,1 5,10,2,4,12,1 5,2,10,4,12,1 5,2,4,10,12,1 5,2,4,10,12,1 5,2,10,4,12,1 5,2,4,10,12,1 5,2,4,10,1,12
REM BUBBLESORT DATA 5,10,2,4,12,1,1000 DIM A(10) FOR I=1 TO10 READ A(I) IF A(I)=1000 THEN GOTO SIRALA NEXT I SIRALA: FOR N=I-1 TO 2 STEP -1 FOR M=1 TO N-1 IF A(M) <= A(M+1) THEN GOTO SIRASON
T=A(M) : A(M)=A(M+1):A(M+1)=T NEXT M,N FOR N=1 TO I-2 PRINT A(N) ; ,; NEXT N PRINT A(I-1) END
Quick Basic rnek : 1den 100e kadar olan saylarn toplamn bulan program yapnz ?
F Cls T=0,S=0 Git : S=S+1 T=T+S f S <= 100 then goto Git Print T End. WHLE Cls T = 0 ,S = 0 While S <= 101 S=S+1 T=T+S Wend Print T End. FOR Cls T=0 For S = 1 to 100 T=T+S Next S Print T End kts : 5050 DO WHLE Cls T = 0, S = 0 Do while S < 101 S=S+1 T=T+S Exit Do Loop Print T End. kts : 5050
rnek : Dardan girilen say 0 dan farkl olduu srece saynn karesini ve kpn alan program
yaznz ? F Cls nput sayy giriniz : , A f A <> 0 then print A^2, A^3 else print yanl giri End. WHLE Cls nput sayy giriniz : , A While A <> 0 Print A^2 Print A^3 Cls nput A Wend End.
rnek : Klavyeden say girildii srece bu saynn faktriyelini bulup gsteren, say girmeden enter
tuuna basldnda ilemi sonlandran program yapn ?
Tekrar: nput Say girii : , S f S=0 then END F=1 FOR I = S to 1 STEP- 1 F=F*I NEXT I Print sonu : , F Goto Tekrar End rnek : Aadaki program paracklarn P1, P2, P3 alt yordam ( Procedure ) B mantksal deiken ise while do dngsyle yapnz ? PI; P1; REPEAT P2; P2 ; While - Do While ( NOT B) Do UNTIL B; P2; P3 P3;
rnek : stee bal olarak genin alann veya dikdrtgenin alann hesaplayan program yapnz?
CLS INPUT Taban gir : , taban PI = h PRINT genin alan : Alan = ( h * taban ) / 2 PRINT genin alan : , Alan END SCREEN : Ekran parametresi ( 0 - 13 ) Ekran text yada grafik moduna geirir. COLOR : Yaz rengi ( 0 15 ) LOCATE : Belirtilen satr ve stun noya gitmek iin kullanlr. Renkler: 1. Mavi 2. Yeil 3. Ak mavi 4. Krmz 5. Mor 6. Kahverengi 7. Gri
rnek :
Bala x,y
yes yes no
b) cevap: CLS Tekrarla : INPUT x,y IF x > 0 THEN IF y > 0 z=0 ELSE z=xy END IF ELSE IF y > 0 THEN z=x+y ELSE z=x+5 END IF END IF IF x < z THEN GOTO Tekrarla PRINT x , y , z END
x>0
no yes no
y>0 z=x+y z = x +5
yes
no
x<z
x,y,z Dur
a) X ve Y aadaki deerleri aldnda k deerleri ne olur ? (X,Y, Z) X Y X=8 Son deerler -5 2 Y=1 3 -7 Z=0 -4 -3 8 1 b) Ak emas izilen program Qbasic dilinde kodlaynz ?
Yazm Kurallar :
Pascal da byk kk harf ayrm yoktur. Her blok Begin ile balayp End ile sonlandrlmaldr. Her Pascal ifadesi ; (noktal virgl) ile bitirilmelidir. Yalnz begin , label, const, var, do gibi blok balatan deyimlerden sonra kullanlamaz. lemler birbirini takip eden belli bir sraya gre bloklar halinde yazlr.
Pascal da standart ariv programlar unlardr: 1 - crt : Ekranla ilgili komut ve deyimler kullanlacaksa 2 dos : Dos iletim sistemiyle ilgili komut ve deyimler kullanlacaksa 3 groph : Grafik komut ve deyimleri kullanlacaksa 4 graph : Turbo pascal 3.0 komut ve deyimleri kullanlacaksa 5 overlay : Overlay dosyalarn ynetimiyle ilgili komutlar kullanlacaksa 6 printer : Yazc ile ilgili komut ve deyimler kullanlacaksa 7 system : Bilgisayar sistemi ile ilgili komut ve deyimler kullanlacaksa 8 turbo 3 : Yalnzca Turbo pascal 3.0 versiyonu ile uyumlu alr Label : Programn amacn ynlendirmek iin etiket kullanlr Label etiket 1, etiket 2, etiket 3.........; Const : Sabitleri tanmlamak iin kullanlr. Const PI, A ; Var : Program ierisinde kullanlarak deikenlerin tipleriyle tanmland ksmlardr. Var deiken 1 : Tipi ; deiken 2 : deiken 3 : Tipi ;
Tipi
Type : Kullanclarn kendilerine ait zel bilgi tipleri tanmlamalarn veya dosya kayt yapsndaki alan ve alan bilgi tanmlamalar bu blokta yaplr. Tanmlama var bloundan nce yaplmaldr. Tanmlanacak zel bilgi tipleri alfabetik karakterle balamal ve boluk iermemelidir. Type zel bilgi ad: Tip ; 1- Type kelime 5 : string [5] ; 2 Kayt (Record ) tip tanmlanr. ad 10 : string [10]; Ad soyad : string [10] ; matris : integer ; No : integer ; Vize : integer ; Final : integer ; End. 3 lem Bloklar Blm : Procedure (Yardm) : Ana programn yardmc ilemlerin yapld alt programlardr. Her biri bal bana bir ilem tanmlar. Her hangi bir alt program arld zaman ( ana programa dn komutu exit olmad srece) iindeki btn komutlar srayla ilem grrler. Alt programdaki btn komutlar bittikten sonra program ak , program aran komuttan sonraki satra geer. Yani ana program btn alt programlar arabilir. Bir alt program ancak kendinden daha alt seviyedeki baka alt program arabilir. Alt programlar genellikle arlan satrdan nce tanmlanr. Daha sonra arlacaksa FORWAR komutu kullanlr. 2 ekilde tanmlanr. 1 Parametresiz Procedure (Alt Program) : Ana programdaki deikenler ile arlan alt programdaki deikenler ayndr. Var deikenle ; Procedure Alt programismi; Begin simler ; End . 2 Parametreli Procedure : Ana programdaki deikenler ile arlan alt programlardaki deikenler farkldr. Byk programlarda parametreli procedure kullanm yazm kolaylatrr.
Procedure Alt programismi (var deiken listesi: ;) Begin lemler ; End . rnek : Girilen iki saynn karesini alan program yapnz ? Program parametresiz ; Uses crt , Var x, y : integer ; Procedure kare ; Begin X=x*x;y=y*y; End; Begin Clrscr ; Write (Birinci sayy giriniz , x ) ; readln (x) ; Write (kinci sayy giriniz , y) ; readln (y) ; Kare ; Write (Birinci saynn karesi , x ) ; Wirte (kinci saynn karesi , y ); Readln; End . Program parametreli ; Uses crt ; Var x , y : integer ; Procedure kare ( x, y : integer); Begin z:= z * z ; k := k * k ; End .
Fonksiyon (Function )
Bu alt programdan yalnzca bir sonu alnr ve her functionun bir tipi vardr. Function altprogram_ismi (deiken tipi) : tipi ; Begin lemler Deiken = altprogram_ismi End ;
End.
1. Bala 2. Bir say giriniz (A) 3. Say 0 dan farkl olduu srece saynn karesini ve kpn al. 4. Dur
Dur
A*A A*A*A
rnek : ex fonksiyonunun seriye gre alm aadadr. Buna gre dardan girilen X ve N
deerine gre ex i hesaplayan program yapnz ? ex = 1 + x1/ 1! + x2 / 2 ! + x3 / 3 ! + x4 / 4 ! +..............+ xN / N ! = Nk =0 xk / k ! Cls nput N, X T=1:F=1 For I = 1 to N F=F*I T = T + ( X ^ I / F) Print T Next I Print ex in deeri:, T End. Uses crt; Var I, X, N : integer ; T : real ; Begin T:= 1 , F:= 1; Write (N=); Readln (N); Write (X=); Readln (X); For I=1 to N F=F * I; T= T +(X^I / F); Next Readln T End.
DZLER :
Bellekte srekli yer kaplayan ayn trden nesnelerin oluturduu kmeye dizi denir. Tanmdan da anlalaca zere bir dizinin dizi olabilmesi iin; 1 Bellekte yer kaplamas 2 Ayn tr elemanlardan olumu olmas gerekir. Dizilerin her eleman ayr bir nesne gibi ele alnmaldr. Dizi elemanlarna erimek amacyla index operatr kullanlmaktadr. Q basic de diziler DIM komutu ile tanmlanr. Genelde dizilerin ilk eleman 0. indisli elemandr. DIM A(n) n elemanl A dizini DIM A(5) A dizisinin 5. indisli eleman ndislere isim verirken dikkat edilmesi gereken hususlar; 1 ndisler negatif olamaz 2 Tam say olmaldrlar. 3 ndisler en az bir tane olmaldrlar. Maksimum indis says kullancya gre deiir. DIM A(5) A(0) = 100 A(1) = 50 A(2) = 70 ... A(5) = 80 Read : Deikenlerin listesi Data : Verilerin listesi CLS Read A, B, C $ Print A, B, C $ Data 15, 30,Ali END
rnek : A ve B gibi 10ar elemanl iki dizi veriliyor. A dizisinin ayn indisli elemann B dizisinin
ayn indisli elemanna blen ve B=0 olmas durumunda mesaj veren program yapnz ?(Read-Data) DIM A(10), B(10), C(10) Data 10,9,8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,8,9,10 For X=1 to 10 Read A(X) Next X For Y=1 to 10 Read (B) Next Y For I=1 to 10 If B(I)=0 then Print B dizisinin elemanlarn 0dan farkl girin C(I)=A(I) / B(I) Next I For I=1 to 10 Print C(I) Next I END
rnek :
Read K DIM X (K) For A=1 to K Read X(A) Next A Data 5,20,50,80,120,30 For A=1 to K-1 For B=A+1 to K If X(B) > X(A) then goto Git Z=X(A) X(A)=X(B) X(B)=Z Git : Next B,A T=INT (X(K)-X(1)) If T>=100 then T=T /10 Print:Print TAB(15) ARALIK......:; T Color 9.0 : Print TAB(10) SIRALI DZ; Color= Print For I= 1 to K Print TAB (8) X(I) Next I END ARALIK K X(5) A SIRALI DZS 5 X(1)= 20 1 20 X(2)= 50 . 50 X(3)= 80 . 60 X(4)= 120 . 90 X(5)= 90 4 120
B 2 . . . 5
T 70
rnek :
A$ = Niksar Print FIX ( -3,75 ) Print INT ( -3,75 ) Print CINT ( 37,50 ) 38 Print CINT ( 8,49 ) 8 Print LEFT$ ( A$ , 2 ) Ni Print RIGHT$ ( A$ , 2 ) ar Print MID$ ( A$ , 2 , 2 ) ik Print LEN$ ( A$ ) 6 Print TAB ( 5 ) A$ .....Niksar Print SPACE ( 10 ) A$ ............Niksar (10 ttane boluk brakr) Print ABS ( -50 ) 50 ( mutlak deerini alr) Print SQR ( 25 ) 5 (saynn karekkn alr) Print LOG ( 25 ) 3,25 (saynn logaritmasn alr) Print SIN ( 90 ) 1 (saynn sinsn alr) Print COS ( 0 ) 0 (saynn cosinsn alr) Print SQRT ( 4 ) 16 (saynn karesini alr)
rnek : N elemanl bir dizinin elemanlarn kkten bye doru sralayan program yapnz ?
Dim A (N) For I = 1 to N Print A( ; I ; ) = ; Input A(I) Next I For I = 1 to N-1 For J = 1 to N f A(J) < A(I) then SWAP A(J), A(I) Next J Next I For I = 1 to N Print A(I) Next I END
rnek : Dardan girilen N elemanl bir diziyi ters srada B dizisine aktaran ak emasn izip,
programn yapnz ? Dim A(N), B(N) nput N deerini giriniz : , N For I = 1 to N Print A( ; I ; ) = ; Input A(I) Next I For I = 1 to N B (I) = A (N+1 - I) Print B ( ; I ; ) = ;Input A(I) Next I
END Ak diyagram : Bala N For I = 1 to N A(I) I For I = 1 to N B (I) = A (N+1 - I) B (I) I Dur
N * N Dardan iki boyutlu bir dizinin elemanlarnn girilmesi Bala N For I = 1 to N For J = 1 to N A(I,J) J I Dur A (1,1) = ? A (1,2) = ? A (1,3) = ? ................ A (1,N) = ? A (2,1) = ? A (2,2) = ? A (2,3) = ? ................. A (2,N) = ? A (N,1) = ? A (N,2) = ? A (N,3) = ? ................ A (N,N) = ?
CLS Input N deerini giriniz : , N Dim A ( N,N ) For I = 1 to N For J = 1 to N Print (;I;,;J;)= ; Input A ( I , J ) Next J Next I END
Soru : 10 kiilik bir renci grubunun her birinin 1 dersten ald 3 notun ( 1.vize , 2. vize , final )
ortalamasn alan program yapnz ? CLS Dim A (10), B (10), C (10), Ort (10) For I = 1 to 10 nput ,A ( I ) Next I For I = 1 to 10 nput ,B ( I ) Next I
For I = 1 to 10 nput ,C ( I ) Next I For I = 1 to 10 Ort( I ) = A ( I ) + B ( I ) + C ( I ) / 3 Next I For I = 1 to 10 Print i + .nci rencinin ortalamas , Ort ( I ) Next I END
RNEK PROGRAMLAR : REM ASAL SAYILAR CLS INPUT ASAL SAYI TAVAN RAKAMI=;S
PRINT : IF S<1 THEN PRINT EN KK ASAL SAYI 1 DR. :END
REM TERSTEN YAZMA PRINT CMLEY GRN INPUT C$ FOR I=LEN (C$) TO 1 STEP -1 PRINT MID$(C$,I,1); NEXT I END
PRINT 1, : IF S=1 THEN END PRINT 2, : IF S=2 THEN END FOR I=3 TO S FOR N=2 TO I-1 I%=I/N : IF I-N*I%=0 THEN GOTO SON NEXT N:PRINT I:NEXT I END
KONTROL YAPILARI ZET: - Sral (ardk) - Karar (Seim) - Dng (Tekrar) - Sequence - Selection - Repetition
Sral yap nemsizdir. Karar yaplar ekilde yaplabilir; f / Then Yaps ( Tek seim) f / Then / Else Yaps ( ift seim) Select Case Yaps ( oklu seim) Dng yaplar alt ekilde yaplabilir; While / Wend dngs Do While / Loop dngs Do / Loop While dngs Do Until / Loop dngs Do / Loop Until dngs For / Next dngs Sral Yap Karar Yaplar
T F
T F T
T F
Dng Yaps
While/Wend Yaps
For/Next Yaps