Download - Algoritma ve Programlama Ders1
-
8/14/2019 Algoritma ve Programlama Ders1
1/41
Bilgisayar Programcl ve nternetTeknolojileri Sertifika Program
Algoritma & ProgramlamaDers 1
Prof. Dr. Alp KutDr. Derya Birant
http://aa/http://aa/http://aa/http://aa/http://aa/http://aa/ -
8/14/2019 Algoritma ve Programlama Ders1
2/41
Algoritma nedir?
Tanm 1: Algoritma, bir problemin mantksal zmnn,sembolik olarak anlatmdr.
Tanm 2: Bir sorunu zebilmek iin gerekli olan sral mantksaladmlarn tmne denir.
Algoritmalarn yazm dili deiik olabilir.
Gnlk konuma diline yakn bir dil olabilecei gibi simgelere
dayal da olabilir.
-
8/14/2019 Algoritma ve Programlama Ders1
3/41
Algoritma zellikleri
Her algoritma aadaki zellikleri iermelidir :
Input / Girdi Sfr veya daha fazla
Output / kt En azndan bir
Definiteness / Aklk Her ilem (komut) ak olmal ve farkl anlamlar iermemeli. Mesela: NetGelir = BrtGelir Kesintiler
Finiteness / Sonluluk Her trl olaslk iin algoritma sonlu admda bitmeli. Her algoritmann bir sonu olmaldr, sonsuza kadar devam edecek yapda
olmamaldr.
Effectiveness / Etkinlik
Algoritma etkin olmaldr. Algoritmada tekrar anlatmlar olmamaldr.Bnyesinde en az tekrar bulunduran algoritmalara en etkin algoritma denir.
-
8/14/2019 Algoritma ve Programlama Ders1
4/41
Program nedir?
Bilgisayarn donanm ksmna yaam veren komutlardr.
Bir program bilgisayara ne yapmas gerektiini syleyen bir dizi komuttur.
kt(Output)
>lem(Process)
>Girdi(Input)
Veri(Data)
Bilgi(Information
)
-
8/14/2019 Algoritma ve Programlama Ders1
5/41
Program Gelitirme Admlar
Program gelitirirken izlenmesi gereken admlar:
Problemin Tanmlanmas
zmn gelitirilmesi algoritmann yazlmas
zmn kodlanmas algoritmann bir programlama diliyle yazlmas
Programn Test Edilmesi and Derlenmesi mantksal ve biimsel hatalarnnayklanmas
Program Dkmannn Hazrlanmas
-
8/14/2019 Algoritma ve Programlama Ders1
6/41
Algoritma ve Program
20
Ekran kts
sayi1 = 8sayi2 = 12toplam = sayi1 + sayi2PRINT toplam
Birinci sayya 8 atakinci sayya 12 ataToplaToplam ekrana yazdr
Program KoduAlgoritma
8 ve 12 saylarn toplayan ve sonucu ekrana yazdran program yaznz.
ki saynn toplanp, sonucun ekrana yazdrlmas
-
8/14/2019 Algoritma ve Programlama Ders1
7/41
Programlama Dilleri
Yksek Seviyeli DillerSembolik DillerMakina Dili
Toplam = Sayi1 + Sayi2Mov AX, Sayi1Mov BX, Sayi2Add AX, BXMov Toplam, AX
10101010111011111010010111011111100111111....
Fortran (FORmula TRANslator, 1957)
Cobol (Common Business Oriented
Language, 1959)
Basic (Beginners All purpose SymbolicInstructional Code, 1964)
Pascal, 1968
C, 1972
11000111101101101010101010110111
MerhabaDnya...
-
8/14/2019 Algoritma ve Programlama Ders1
8/41
Quick Basic
BASIC (Beginners All-Purpose Symbolic Instruction Code)
Genel amal, yeni balayanlar iin bir programlama dilidir.
renmesi kolay, yksek seviyeli bir dildir.
En nemli zelliklerinden biri ngilizce kelimeler ile yazlabiliyorolmasdr.
Basic kodlar (.BAS) bir derleyici ile altrlabilir (.EXE) yedntrlebilir.
-
8/14/2019 Algoritma ve Programlama Ders1
9/41
Ak emas Nedir?
Bir problemin mantksal zmnn ekilsel olarak anlatmdr.
Her ak emas bir balang eleman ile balar.
Her ak emas en az bir biti eleman ile biter.
Bir ak emasnda ak ulu oklar bulunmaz.
-
8/14/2019 Algoritma ve Programlama Ders1
10/41
BALA
BT Biti eleman, akm emasnn biti noktasn belirtir. (Enaz 1 girdi, 0 kt)
Balang eleman, akm emasna balang noktasnbelirtmek iin kullanlr. (0 girdi, 1 kt)
Balang Biti Eleman
Algoritma iindeki ilemleri ifade etmekte kullanlr. (En az1 girdi, 1 kt)
lem Grubu Eleman
Algoritmaya yaplacak bilgi girilerinde ve algoritmadanyaplacak bilgi klarnda simge olarak kullanlr.(En az 1 girdi, 1 kt)
Girdi kt Eleman
Sonucu Olumlu veya Olumsuz olabilecek soruya verilecekyanta gre ak ikiye ayrabilecek elemandr. (En az 1girdi, 2 kt)
Sorgu Eleman
Yanl Doru
Oklar iin ak ynn
Oklar Ak diyagramnda iki noktaaras ilikiyi gsterir. Burada iherhangi bir sembol olabilir.
Etiket (Balayc)
-
8/14/2019 Algoritma ve Programlama Ders1
11/41
-
8/14/2019 Algoritma ve Programlama Ders1
12/41
rnek
En ve boy bilgileri verilen bir tarlann alannn bulunmas :
Bala
Alan = en * boy
Eni oku (en)
Biti
Boyu oku (boy)
Alan yaz
En oku Boy oku
Alan en * boy
Alan yaz
Dur
-
8/14/2019 Algoritma ve Programlama Ders1
13/41
rnek
kenar verilen genin evresinin bulunmas :
Bala
Cevre = A + B + C
1. Kenar oku (A)
Biti
2. Kenar oku (B)
3. Kenar oku (C)
Cevre yaz
Birinci kenar oku (A) kinci kenar oku (B)
nc kenar oku (C)
Cevre A + B + C
Cevre yaz
Dur
-
8/14/2019 Algoritma ve Programlama Ders1
14/41
rnek
Verilen saynn ortalamasn bulan ak emasn iziniz.
Bala
Ortalama = (A + B + C) / 3
1. say oku (A)
Biti
2. say oku (B)
3. say oku (C)
Ortalama yaz
Birinci sayy oku (A) kinci sayy oku (B)
nc sayy oku (C)
Ortalama (A + B + C) / 3
Ortalama yaz
Dur
-
8/14/2019 Algoritma ve Programlama Ders1
15/41
-
8/14/2019 Algoritma ve Programlama Ders1
16/41
-
8/14/2019 Algoritma ve Programlama Ders1
17/41
Soru
Girilen iki saynn hangisinin kk olduunu bulan akemasn iziniz.
-
8/14/2019 Algoritma ve Programlama Ders1
18/41
Soru
Girilen renci notunun hangi harfe karlk geldiini bulanak emasn iziniz.
90 - 100 A
80 - 89 B70 - 79 C
60 - 69 D
50 - 59 E
0 - 49
F
-
8/14/2019 Algoritma ve Programlama Ders1
19/41
rnek
1 - 100 arasndaki saylarn toplamnn bulunmasBala
Toplam=0
Adet =0
Toplam = Toplam + Adet
Adet = Adet +1
Adet=100? Yanl
Doru
Toplam Yaz
Biti
-
8/14/2019 Algoritma ve Programlama Ders1
20/41
rnek
11 - 50 arasndaki saylarn ortalamasnn bulunmas
Bala
Toplam=0
Adet =10
Toplam = Toplam + Adet
Adet = Adet +1
Adet=50? YanlDoruA
A
Ortalama = Toplam / 40
Ortalamay Yaz
Biti
-
8/14/2019 Algoritma ve Programlama Ders1
21/41
rnek
Ekrandan okunan 5 adet saynn ortalamas
Bala
Toplam=0
Adet =0
Sayi oku
Toplam = Toplam + sayi
Adet = Adet +1
Adet
=5?YanlDoruA
A
Ortalama = Toplam / 5
Ortalamay yaz
Biti
-
8/14/2019 Algoritma ve Programlama Ders1
22/41
Soru
Girilen 10 saynn ift say m, tek saym olduunu bulan akemasn iziniz.
-
8/14/2019 Algoritma ve Programlama Ders1
23/41
Soru
Girilen 10 saynn 3n kat olup olmadn bulan ak emasniziniz.
-
8/14/2019 Algoritma ve Programlama Ders1
24/41
Deikenler
Tanm 1: Deeri programn almas boyunca deiiklik gsterenbellek birimlerine deiken denir.
Tanm 2: Bir isimle anlabilen deerlere de deiken denilir.
Deikenler kullanm amacna uygun olarak anlaml isimlendirilmelidir.
Deiken isimlerinde Trke harfler bulunmamaldr. (,,,,,,,,...)
-
8/14/2019 Algoritma ve Programlama Ders1
25/41
Deikenler
Deikenler kullanlmadan nce tantlmaldr.
QBasicte deikenler DIM komutuyla tanmlanmaktadr.
DIM komutu ngilizcede boyut anlamna gelen Dimensionkelimesinin ksaltmasdr.
rnek
DIM isim AS STRING yada isim$ = Aye"
isim = Aye"
DIM yas AS INTEGER yada yas% = 23
yas = 23
-
8/14/2019 Algoritma ve Programlama Ders1
26/41
Veri Tipleri
variable length string0..16384String$
1.8E .. 3088Double#
3.4E ... 38 (3.4 * 10 ^ 38)4Single!
-2,147,483,648 .. 2,147,483,6474Long&
-32,768 .. 32,7672Integer%
Say AralBytesTipiSuffix
varsaylan
-
8/14/2019 Algoritma ve Programlama Ders1
27/41
Deikenlere Deer Atama
QBasicde deikenlere deer atama ilemi = iaretiyleyaplmaktadr.
Deikenlere bilgisayar iinden deer atama
adet = 0 (integer) isim = aye (string) Pi = 3.14 (double)
Deikenlere bilgisayar dndan (kullancdan alarak) bilgiatama INPUT komutu ile yaplabilmektedir.
INPUT "Yar ap ka?", yaricap
-
8/14/2019 Algoritma ve Programlama Ders1
28/41
Deikenlerin Deerlerini Ekrana Yazdrma
Deikenlerin deerleri PRINT komutu kullanlarak ekrana yazdrlmaktadr.
rnek:PRINT Program Completed
DIM isim AS STRING
isim = Aye
PRINT isim
12PRINT 5 + 7
5 + 7PRINT "5 + 7"
Monitor Printer
-
8/14/2019 Algoritma ve Programlama Ders1
29/41
lemler 1
Normal Aritmetik lemler + : Toplama ilemini ifade eder. : karma ilemini ifade eder. * : arpma ilemini ifade eder. / : Blme ilemini ifade eder. \ : Tam say blen sonulu blme ilemini ifade eder. mod : Mod ilemini ifade eder. ^: s alma
Kullanlabilecek mantksal operatrler aadaki gibidir: AND: Ve ilemini ifade eder. OR : Veya ilemini ifade eder. NOT : Ters ilemini ifade eder.
-
8/14/2019 Algoritma ve Programlama Ders1
30/41
lemler 2
Kullanlabilecek kontrol iaretleri aadaki gibidir: X < Y : X kktr Yden ifadesini anlatr. X > Y : X byktr Yden ifadesini anlatr. X = Y : X eittir Yye ifadesini anlatr.
X Y : X eit deildir Y ifadesini anlatr. X = Y : X byk veya eittir Yye ifadesini anlatr.
-
8/14/2019 Algoritma ve Programlama Ders1
31/41
rnek
En ve boy bilgileri verilen bir tarlann alann bulunuz.
DIM en AS INTEGERDIM boy AS INTEGERDIM alan AS INTEGER
Input tarlann enini giriniz, en
Input tarlann boyunu giriniz, boy
alan=en * boy
PRINT Tarlann alan =, alan
END
Bala
Alan = en * boy
Eni oku (en)
Biti
Boyu oku (boy)
Alan yaz
-
8/14/2019 Algoritma ve Programlama Ders1
32/41
rnek
kenar verilen genin evresinin bulunmas :
Bala
Cevre = A + B + C
1. Kenar oku (A)
Biti
2. Kenar oku (B)
3. Kenar oku (C)
Cevre yaz
DIM A AS INTEGERDIM B AS INTEGERDIM C AS INTEGERDIM Cevre AS INTEGER
Input birinci kenar giriniz, A
Input ikinci kenar giriniz, B
Input nc kenar giriniz, C
Cevre=A + B + C
PRINT Ucgenin cevresi =, Cevre
END
-
8/14/2019 Algoritma ve Programlama Ders1
33/41
rnek
Girilen iki saynn toplamn, farkn, arpmn ve blmn ekranayazdran QBASIC programn yaznz.
DIM sayi1 as INTEGERDIM sayi2 as INTEGER
INPUT birinci sayy giriniz, sayi1INPUT ikinci sayy giriniz, sayi2
Print Toplam = , sayi1 + sayi2Print Fark = , sayi1 - sayi2Print arpm = , sayi1 * sayi2Print Blm = , sayi1 / sayi2
-
8/14/2019 Algoritma ve Programlama Ders1
34/41
rnek
Girilen saynn kareler ortalamasn bulunuz.
DIM s1, s2, s3 AS INTEGER
DIM ortalama AS SINGLE
CLSINPUT "1. sayy giriniz ", s1
INPUT "2. sayiyi giriniz ", s2
INPUT "3. sayy giriniz ", s3
ortalama = (s1 * s1 + s2 * s2 + s3 * s3) / 3PRINT "Bulunan Kareler Ortalamas = "; ortalama
-
8/14/2019 Algoritma ve Programlama Ders1
35/41
Soru
Girilen Dereceyi (C) Fahrenheita (F) eviren programyaznz.
F = 9/5C +32
-
8/14/2019 Algoritma ve Programlama Ders1
36/41
-
8/14/2019 Algoritma ve Programlama Ders1
37/41
rnek
Snav notu girilen rencinin snav geip gemediini bulma
Bala
Biti
Sinavnotu oku
Sinavnotu
-
8/14/2019 Algoritma ve Programlama Ders1
38/41
rnek
Verilen saynn 200den kk, byk veya eit olduunun bulunmas
DIM a AS INTEGER
INPUT bir say giriniz ", a
IF a < 200 THEN
PRINT a says 100'den kktr.
END IF
IF a = 200 THEN
PRINT a says 100'e eittir.
END IF
IF a > 200 THENPRINT a says 100'den byktr.
END IF
END
Bala
Biti
Sayi oku
Sayi200?
Yanl
DoruSayi 200den byktr yaz
-
8/14/2019 Algoritma ve Programlama Ders1
39/41
rnek
Bu program verilen saynn ift mi tek mi olduunu bulur.
INPUT "sayy giriniz", sayiIF sayi MOD 2 = 1 THENPRINT "say tektir"
ELSEPRINT "say ifttir"
END IFEND
-
8/14/2019 Algoritma ve Programlama Ders1
40/41
DEV
Girilen iki saynn kk olann bulan program yaznz.
-
8/14/2019 Algoritma ve Programlama Ders1
41/41
QBasic Komutlari
PRINT : Bir karakterin, rakamn, deiken ieriinin, ilem sonucununekrana yazlmasn salar.
INPUT : Klavyeden girilen deerin bir deikene atlmasn salar. END : Programn bitmesini salar.
IF THEN ELSE : If konumundaki art gerekleiyorsa Then ksmndaki,gereklemiyorsa Else ksmndaki olay gerekletirir.
CLS: Ekrann temizlenmesini salar. DIM: Deikenlerin tanmlanmasn salar.