BİLGİ TEK. VE ALG.
GİRİŞ
YRD.DOÇ.DR. BUKET DOĞAN
1
PROGRAM - ALGORİTMA –AKIŞ ŞEMASI





Program : Belirli bir problemi çözmek için bir bilgisayar dili
kullanılarak yazılmış deyimler dizisi.
Algoritma bir sorunun çözümü için izlenecek yolun
tanımıdır
Akış şeması belirli bir işin yapılabilmesi için, basit
işlemlerle şema halinde gösterilmesidir. Kısaca algoritmanın
şemalarla gösterilmesidir.
Algoritma geliştirildikten sonra, daha iyi anlaşılabilir olması
ve programlama dillerine aktarımı daha kolay olması
nedeniyle, akış şeması haline getirilir.
Böylece sorunun çözüm basamakları, birbirleri ile ilişkileri ve
bilgi akışı daha kolay görülebilir ve yanlışlıklar düzeltilebilir.
2
PROGRAMLAMA DİLLERİNİN
SINIFLANDIRILMASI
Çok yüksek seviyeli diller
VisualBasic, VB.NET, Foxpro, Access ...
Yüksek seviyeli diller
Pascal ,Basic ,Fortran
Orta seviyeli diller
C ,C++, C# , Java, ADA...
Düşük seviyeli
diller
Assembly...
Makina dilleri
1 ve 0'lardan
oluşur...
Alt Düzeyli Diller
İkilik sayı (Binary) sisteminde (0,1)
kodlanabilen dillerdir. Örneğin , makine dili ve
assembly.
Makine Dili : Sadece ikili sayı sisteminde
kodlanan ve bilgisayarın doğrudan yorumlayıp,
işleyebileceği tek programlama dilidir.
Makine dili bilgisayarın ana dilidir.
4
Makine dili dışındaki tüm diller semboliktir
ve makine diline dönüştürülmesi gerekir.
Assembly : Makine diline en çok benzeyen
dildir. 0 ve 1 yerine MNOMENIC denilen
semboller kullanılır. Bunlar ADD, MOV,
JMP, STR gibi sembolik komutlardır.
Örneğin ADD A,B ; A ve B adresindeki
bilgileri toplayıp sonucu B adresine
yerleştirir.
Assembly dilinde yazılan her program
çevirici denilen ASSEMBLER’den geçirilerek
makine diline çevrilir.
5
6
Programlama Dili Nedir?
•
•
•
Programlama Dili, istenilen hesaplamaları
yapmak için, elde edilen veriyi saklamak için ve
girdi/çıktı aygıtlarına veri gönderme/alma gibi
işlemleri yapmak için kullanılan dildir.
Doğal dillerde olduğu gibi programlama dillerinde
de belirli bir yazım kuralı (sentaks) vardır.
Programlama dilleri ile sadece bilgisayarlar
üzerinde çalışan uygulamalar değil, işlemcisi ve
belleği bulunan diğer elektronik cihazlarda çalışan
uygulamalar da yazılır.
7
Derleyici Nedir?
•
•
•
Derleyici (Compiler), bir bilgisayar dilinde
yazılmış olan kodu, bilgisayarın (yada elektronik
cihazın) donanımına uygun makine diline çeviren
bilgisayar programıdır.
Derleyici öncelikle yazılan program kodunun
doğru yazılıp yazılmadığını kontrol eder, eğer
hatalar varsa bunları programcıya bildirir.
Eğer kod doğru ise derleme yapılan sisteme
uygun olan 0 ve 1’lerden oluşan makine kodunu
üretir (EXE dosyası).
8
9
10
11
12
Derleyiciler



Derleyicisi(Compiler) olan dillerde
yazılan program (kaynak program)
derleyiciden geçirilerek makine diline
dönüştürülür.
Bu derleme sırasında yazım hatası,
sayısal hata, komut sıra hatası, döngü
hatası vb. Gibi hatalar varsa bu hatalar
listelenir.
Programcı bu hataları gidererek yeniden
derler.Bu tür programlar ancak bütün
olarak derlendikten sonra çalıştırılabilir.
13
Derleyici, programın makine kodunu bir kez
oluşturarak ayrı bir dosyaya kaydeder.Program
her çalıştırılışta bu kod otomatik olarak kullanılır.
C, PASCAL, COBOL derleyicisi olan üst düzey
dillerdir.
14
Derleyici ile programlama
15
Yorumlayıcılar




Yorumlayıcılar(Interpreter) da yazılan
programları makine diline dönüştüren yazılımlardır.
Ancak bu dönüşüm derleyicilerden farklı olarak
gerçekleştirilmektedir.
Yorumlayıcılar her satırı anında makine diline
çevirerek çalışır ve bu kodu dosyaya kaydetmez.
Dolayısıyla program her çalıştırıldığında her satır
yeniden makine koduna dönüştürülür.Bu yüzden
yorumlayıcılar yavaş çalışmaktadır.BASIC ve
DBASE hem derleyicisi hem de yorumlayıcısı olan
üst düzey dillerdir.
16
Yorumlayıcı ile Programlama
17
Üst Düzeyli Diller



Programcının makineye olan
bağımlılığını ortadan kaldırmak için
geliştirilmişlerdir. Alt düzeyli dillere göre
öğrenmesi ve program yazımı kolaydır.
Komutlar, genellikle İngilizce kelimelerden
veya bu kelimelerin kısaltılmasından
oluşturulur.
Bilgisayar sadece ana dili olan makine
dilinden anladığından dolayı, üst düzey
dilllerle yapılan programların çalışabilmesi
için makine diline dönüştürülmesi
gerekiyor.İşte bu dönüştürmeyi Derleyici
(compiler) ve/veya Yorumlayıcı
(Interpreter) yapmaktadır.
18

Her dilin mutlaka bir derleyicisi veya
yorumlayıcısı vardır. Bazı dillerin ise hem
derleyicisi hem de yorumlayıcısı vardır.
19
Fortran
İngilizce FORmula TRANslation kelimelerinin ilk
hecelerinden türetilen FORTRAN, bilimsel
hesaplamalar yapmak için geliştirilmiştir. Birkaç
Sürümü vardır (FORTRAN IV, FORTRAN 77 VE
FORTRAN 90)
20
Cobol
İngilizce COmmon Business Orianted Language
kelimelerinin kısaltılarak adlandırılmasıyla oluşturulan
COBOL ticaret işlemleri için geliştirilmiştir. En büyük
özelliği komutlarının İngilizce’ye yakın olmasıdır.
21
Basic
Beginner’s All Purpose Symbolic Instruction
Code kelimelerinin baş harflerinden oluşturulmuş
BASIC, eğitim amaçlı bir program olarak
geliştirilmiştir. Fakat ticari ve bilimsel sahalarda
da kullanılır ve oyun programları
yazılabilmektedir.
Quick Basic, Turbo Basic, Gw basic, Visual Basic,
gibi derleyicileri vardır.
22
Pascal
Fransız Matematikçisi Blaise Pascal’ın adını taşıyan
PASCAL İsviçre’li Niklaus Wirth tarafından
programcılığı öğretmek amacı ile
geliştirilmiştir.Günümüzde iş ve bilim çevrelerinde
yaygın olarak kullanılmaktadır. En çok kullanılan
sürümü ise Borland firmasının Turbo Pascal’ıdır.
23
C
Dennis Ritchis tarafından Bell
laboratuvarlarında geliştirilmiştir.C’nin makine
diline çevrilmesi diğer üst dizey dillere göre daha
kolaydır. En çok kullanılan dillerdendir. Bir ağ
işletim sistemi olan UNIX C ile yazılmıştır.
24
25

Algoritma Geliştirme: Algoritma bir sorunun
çözümü için izlenecek yolun tanımıdır. Kısaca
algoritma mevcut bilgilerden istenilenlere erişme
yöntemidir
26
Algoritma



Algoritma, herhangi bir sorunun çözümü için
izlenecek yol anlamına gelmektedir.
Çözüm için yapılması gereken işlemler hiçbir
alternatif yoruma izin vermeksizin sözel olarak
ifade edilir.
Diğer bir deyişle algoritma, verilerin, bilgisayara
hangi çevre biriminden girileceğinin, problemin
nasıl çözüleceğinin, hangi basamaklardan
geçirilerek sonuç alınacağının, sonucun nasıl ve
nereye yazılacağının sözel olarak i fade edilmesi
biçiminde tanımlanabilir.
27
Algoritma Nedir?



Algoritma, bir sorunun çözümüne gidebilmek
için tasarlanan yollar,yöntemlerdir.
Program geliştirme sürecinde işlem veya
işlemlerin hangi sırada ve düzende
gerçekleşeceğini belirleyen planların
yapılması gerekir.
Algoritma doğru bir şekilde oluşturulduktan
sonra istenen programlama dili ile kodlama
yapılabilir.
Algoritma






Adım 1- Başla
Adım 2- Alacağın Laptop’ın özelliklerini
belirle
Adım 3- Bu özellikleri taşıyan en
performanslı marka ve modeli belirle
Adım 4- Bu marka modelin en ucuz satıldığı
firmayı araştır
Adım 5- Firmadan siparişi ver
Adım 6- Ödemeyi yap
Algoritma








Adım 1- Başla
Adım 2- Tencereye suyu koy
Adım 3- Tencereyi ocağın üstüne yerleştir
Adım 4- Tencerenin altını hızlıya aç
Adım 5- Tencereye tuz ekle
Adım 6- Su kaynadıktan sonra makarnayı
ekle
Adım 7- Ateşin yavaşa al
Adım 8- Makarna yumuşadıktan sonra
tencereyi indir









Algoritma hazırlanırken, çözüm için yapılması
gerekli işlemler, öncelik sıraları
gözönünde bulundurularak ayrıntılı bir biçimde
tanımlanmalıdırlar.
Örnek 1: Verilen iki sayının toplamının
bulunmasının algoritması aşağıdaki gibi
yazılır.
Adım 1 – Başla
Adım 2 – Birinci Sayıyı Oku
Adım 3 – İkinci Sayıyı Oku
Adım 4 – İki Sayıyı Topla
Adım 5 – Dur
31
Bir çözüm yönteminin algoritma olabilmesi için
gerekli koşullar
Sıralı olma:
.
Belirli olma
Sonlu olma
32
Bir çözüm yönteminin algoritma
olabilmesi için gerekli koşullar
Geçerli olma: İşlemler yeterli, sonuca uygun ve işleyici için
geçerli olmalıdır. İşlem dizi beklenen sonucu en kısa
yoldan ulaşmalı, el ile ya da mantıksal olarak ya da kağıt
kalemle doğruluğu izlenebilir olmalıdır.
Girdi/Çıktı tanımlı olma
Genel olma
33
Örnek bir Algoritma







İki sayıyı toplamak için gerekli programa ait
algoritmanın oluşturulması.
Algoritma:
A1 :Birinci sayıyı gir
A2 :İkinci sayıyı gir
A3 :İki sayının toplamını yap
A4 :Toplamın değerini yaz
A5 :Bitir.
34
35
36



Function basari(vize As Integer, final As Integer)
basari = 0.3 * vize + 0.7 * final
End Function

37









Function faizhesapla(anapara As Double, vade As
Integer) As Double
If vade <= 12 Then
faizhesapla = 0.1 * anapara
ElseIf vade <= 24 Then
faizhesapla = 0.12 * anapara
Else
faizhesapla = 0.18 * anapara
End If
End Function
38
Algoritma Geliştirmede ve Programlamada
Kullanılan BazıTemel Kavramlar
1 – Değişkenler
2 – Atama Operatörü
3 – Sayaçlar
4 – Döngüler
39
Algoritma Geliştirmede ve Programlamada
Kullanılan BazıTemel Kavramlar (devam)
• 1- Değişken : Bir program içerisinde bilgileri tutmak ve bu
bilgiler üzerinde işlem yapmak için değişkenlerden yararlanılır.
• Örneğin c=a+b ifadesindeki "a","b" ve "c" bizim
değişkenlerimizdir.
40
Algoritma Geliştirmede ve Programlamada
Kullanılan BazıTemel Kavramlar (devam)
 Farklı zamanlarda farklı değerler alabilen bilgi sahalarına verilen
sembolik adlardır.
 Bilgisayar işlem yaparken RAM belleği(geçici bellek) kullanır. İşte
program yazılırken programcının Ram belleği kullanmasını sağlayan
değişkenlerdir.
 Değişkenler Ram bellekte tahsis edilmiş odacıklar olarak
düşünülebilir. Yani bir değişken tanımlandığında ram bellekte bir
odacık (bir bölüm) açılır ve bu bölüme değişken ismiyle ulaşılır.
 Program içinde kullanılacak olan değişkenler problemin tanımı ve
girdi-çıktı belirleme aşamalarında belirlenmelidir.
41
Algoritma Geliştirmede ve Programlamada Kullanılan
BazıTemel Kavramlar (devam)
 2-Atama: Herhangi bir değişkenin içine bir değeri veya
ifadenin/işlemin sonucunu aktarma işlemidir.

değişken = ifade
• Satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır.
‘ifade’ yazan kısımda ise matematiksel, mantıksal veya alfa nümerik
bir ifade olabilir. Aradaki ‘=‘ sembolü, ‘atama operatörü’ olarak
adlandırılır ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene
aktarır. Bu durumda değişkenin -eğer varsa- bir önceki değeri (eski
değeri) silinir.
 X=3
 Y=X+5
 işleminin sonucunda Y’nin bir önceki değeri silinerek yerine 8 değeri
42
yazılır.
Algoritma Geliştirmede ve Programlamada
Kullanılan BazıTemel Kavramlar (devam)
 3- Sayaç : Programlarımızda bazı işlemlerin belirli
sayıda yaptırılması veya işlenen/üretilen değerlerin
sayılması gerekebilir.
 Örneğin: Klavyeden girilen bir cümlede kaç sesli harf
olduğunu bulan programda, cümlenin her harfi sırayla
çağrılır ve sesli harfler kümesine ait olup olmadığı
araştırılır. Eğer çağrılan harf bu kümeye ait ise bunları
sayacak olan değişkenin değeri bir artırılır.

43
Algoritma Geliştirmede ve Programlamada
Kullanılan Bazı Temel Kavramlar (devam)
 sayac = sayac + 1

Şeklindeki
işlemde
sağdaki
ifadede
değişkenin eski(önceki) değerine ‘1’ eklenmekte;
bulunan sonuç yine kendisine, yeni değer olarak
aktarılmaktadır. Bu tür değişkenlere, algoritmada
“sayaç” veya “sayıcı” (counter) adı verilir.Yani
“sayaç”; işlem akışı kendisine her geldiğinde,
belirtilen adım değeri kadar artan/azalan
değişkendir.
44
‘Sayaç’ kullanımına örnek:
sayac=sayac+3
Üçer üçer artan bir sayıcıdır
sayac=sayac-5
Beşer beşer azalan bir sayıcıdır
Örnek: Aşağıdaki algoritmada 1-5 arası sayılar (1 dahil, 5
hariç), sayaç kullanılarak ekrana yazdırılmaktadır. Burada,
sayac sayaç değişkenidir.
A1: Başla
A2: sayac=1
A3 : Eğer sayac=5 ise adım 7 ye git
A4: sayac i ekrana yaz
A5: sayac=sayac+1
A6: 3.adım’ a git
A7: Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
45
Algoritma Geliştirmede ve Programlamada
Kullanılan Bazı Temel Kavramlar (devam)
4- Döngü : Birçok programda, bazı işlemler belirli
ardışık değerlerle gerçekleştirilmekte veya belirli sayıda
yapılmaktadır. Programlardaki belirli işlem bloklarını,
belirli sayıda tekrarlayan işlem akış çevrimlerine döngü
denir.
46
Döngü Oluşturma Kuralları:
1- Döngü değişkeninin başlangıç değeri belirlenir.
2- Döngü değişkeninin bitiş değeri belirlenir.
3- Döngü değişkeninin bitiş değerine ulaşıp
ulaşmadığı test edilir.
4- İstenen işlem gerçekleştirilir.
5- Döngü değişkeni, döngü içinde adım miktarı
kadar artırılır yada azaltılır.
47
‘Döngü’ Kavramına Örnek:
Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı
hesaplanmaktadır. (Aşağıdaki algoritmayi çift sayıların toplamına hangi
değişikliği yaparak dönüştürebilirsiniz?)
A1: Başla
A2: toplam=0
A3: sayac=1
A4: Eğer sayac>=10 ise adım 8 e git
A5: toplam=toplam+sayac
Döngü
A6: sayac=sayac+2
A7: Adım 4 e git
A8: toplam ı ekrana yaz
A9: Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
48
Örnek : Dışarıdan girilen iki sayının toplamını bulan programın
algoritması aşağıdaki gibi kurulur:
Algoritma:
A1 : Başla
A2 : A değerini gir
A3 : B değerini gir
A4 : C= A+B
A5 : C' yi ekrana yaz
A6 : Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
Örnek : Dışarıdan girilen 3 sayıdan en büyüğünü bulan algoritmayı kurunuz.
Algoritma:
A1 : Başla
A2 : A, B ve C sayılarını dışarıdan gir
A3 : enBuyuk=A
A4 : Eğer enBuyuk<B ise enBuyuk=B yap
A5 : Eğer enBuyuk<C ise enBuyuk=C yap
A6 : enBuyuk değerini ekrana yaz
A7 : Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
Örnek: 0’dan 100’e kadar olan sayma sayılarının
kümülatif toplamını ekrana yazdıran algoritmayı
geliştiriniz.
1.
2.
3.
4.
5.
6.
7.
A1 : Başla
A2 : toplam=0;sayac=1 baslangıç değerlerini ata
A3 : Eğer sayac=100 ise 6. adıma git
A4 : toplam=toplam+sayac
A5 : sayac=sayac+1 yap ve 3. Adıma geri dön
A6 : toplam’ı ekrana yaz
A7 : Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?
Örnek: Verilen bir sayının faktöriyelini hesaplayan programın
algoritmasını yazınız.
(Faktöriyeli hesaplanacak sayı negatif
girilmişse yeniden giriş istenmelidir.)
Değişkenler:
Sayının faktöriyeli : faktor , Faktöriyel Değişkeni :sayac
Faktöriyeli hesaplanacak sayı :Y
Algoritma:
A1: Başla
A2 : faktor =1; sayac =1
A3 : Y’yi gir
A4 : Eğer Y<=0 ise 3. adima git
Anlamlı Değişken İsimleri
Seçmek Çok Önemli !!!!!!!!!!!!
A5 : Eğer sayac>Y ise adim 8 e git
A6: faktor=faktor*sayac
A7: sayac =sayac+1 yap ve adım 5 e git
A8 : faktor degerini ekrana yaz
A9 : Bitir
Hangi amaçlarla kaç değişkene ihtiyaç var?

Örnek : Beş sayının toplamını ve ortalamasını veren
programa ait algoritmanın oluşturulması
Toplam adı için T
 Ortalama adı için Ort
 Girilen sayılar için X
 Arttırma için Sayac kullanılırsa
Algoritma:
 A1 :T = 0, Sayac ¬ 0
 A2 :X’i gir
 A3 :T= T+X
 A4 : Sayac = Sayac +1
 A5 :Eğer Sayac <5 ise A2’ye git
 A6 :Ort= Top/5
 A7 :T ve Ort değerlerini yaz
 A8 :Bitir

53
Örnek : Verilen bir sayının faktöriyelini hesaplayan
programın algoritmasının oluşturulması
Sayının faktöriyeli :F
 Faktöriyel degişkeni :X
 Faktöriyeli hesaplanacak sayı :Y
Algoritma:
 A1 :F=1, X= 0
 A2 :Y’i gir
 A3 :Y<0 ise 2. adımı tekrarla
 A4 :X= X+1
 A5 :F= F*X
 A6 :X<Y ise 4. adıma geri dön
 A7 :F değerini yaz
 A8 :Bitir

54
Akış Şemaları






Geliştirilecek olan yazılımın genel yapısının şematik
gösterimine akış diyagramı veya blok diyagramı adı verilir.
Akış diyagramları, yazılımı oluşturacak program parçalarını
ve bu parçaların birbirleri ile olan ilişkilerini belirler.
Bir bilgisayar programının oluşturulmasında akış
diyagramlarının hazırlanması, algoritma oluşturma
aşamasından sonra gelmektedir.
Bilgisayar programının oluşturulması sırasında algoritma
aşaması atlanarak, doğrudan akış diyagramlarının
hazırlanmasına başlanabilir.
Programlama tekniğinde önemli ölçüde yol almış kişiler bu
aşamayı da atlayarak direkt olarak programın yazımına
geçebilirler.
Akış diyagramlarının algoritmadan farkı, adımların simgeler
şeklinde kutular içinde yazılmış olması ve adımlar arasındaki
ilişkilerin (iş akışı) oklar ile gösterilmesidir.
55
Simge
Simgenin Adı ve Anlamı
Elips Akış diyagramının başlangıç ve bitiş yerlerini gösterir. Başlangıç
simgesinden çıkış oku vardır. Bitiş simgesinde giriş oku vardır.
Paralel Kenar: Programa veri girişi ve programdan elde edilen
sonuçların çıkış işlemlerini gösterir.
Dikdörtgen Aritmetik işlemler ve değişik atama işlemlerinin temsil
edilmesi için kullanılır.
Eşkenar Dörtgen Bir karar verme işlemini temsil eder.
Altıgen Program içinde belirli blokların ard arda tekrar edileceğini
gösterir.
Oklar Diyagramın akış yönünü ,yani her hangi bir adımdaki işlem
tamamlandıktan sonra hangi adıma gidileceğini gösterir.
Programa ait sonuçların ekrana yazdırılması
56
57
Akış Şemaları (Karar Verme Yapıları)
DOĞRU
c<2
İŞLEM
58
Akış Şemaları (Tekrarlı Yapı)
59

İki sayının toplamını ve ortalamasını yapan
bilgisayar programının akış diyagramını çiziniz.
2
Ortalama, Toplam
60

1’den 100’e kadar olan sayıların toplamlarını ve ortalamalarını
veren programın akış diyagramını çiziniz.
Ortalama, Toplam
61

A²+Bx+C=0 şeklinde verilen 2. derece denklemin köklerini bulan
programın akış diyagramını
C=?
Kökler Sanal
X1,X2
62
Function basari(vize As Integer, final As Integer)
basari = 0.3 * vize + 0.7 * final
 End Function
63
 IF

şart THEN
işlemler
 ELSEIF
şart THEN
 İşlemler
 ELSE
 İşlemler
 END
IF
64
Function NOTLANDIR(Notu As Integer) As
String
If Notu <= 50 Then
NOTLANDIR = "Bütünleme"
ElseIf Notu <= 70 Then
NOTLANDIR = "Orta "
ElseIf Notu <= 80 Then
NOTLANDIR = "iyi "
ElseIf Notu <= 90 Then
NOTLANDIR = "çok iyi "
ElseIf Notu <= 100 Then
NOTLANDIR = "Harika "
Else
NOTLANDIR = "0 ile 100 arasında değer giriniz "
65
1. Klavyeden sayısal girilen notu harfli nota çeviren
programın algoritmasını, akış şeması yapınız ve
Excel fonksiyonunu yazınız.






50’den küçük FF,
50-60 arası DD
60-70 arası CC
70-80 arası BB
80-90 arası BA
90 ve üzere AA
2.
Klavyeden girilen bir sayının ASAL sayı olup
olmadığını ekrana yazan programın algoritmasını ve
akış şemasısını yapınız.
3. Fibonacci serisinin ilk 15 elemanını ekrana
yazdıran programın algoritmasını ve akış şemasını
yapınız.
66
1’ den 100’e kadar sayıların
karelerini, kareköklerini, küplerini,
küpköklerini toplamlarını ve
ortalamalarını veren programın akış
diyagramını çiziniz
Ortalama, Toplam
67
10 tane N sayısının faktöriyelini
hesaplayan programın akış
diyagramını çiziniz.
Faktör
0
68

Örnek 12: p sayısının formülü
olduğuna göre serinin paydasındaki
ifade 100 oluncaya kadar pi sayısını hesaplayan bilgisayar programının akış
diyagramını çiziniz.
Pi
69





Programlama Dillerinin Seviyelerine Göre
Sınıflandırılması
Önce seviye kavramının ne anlama geldiğini açıklamak
gerekmektedir.
Seviye, bir programlama dilinin insan algılamasına
olan yakınlığının bir ölçüsüdür.
Yüksek seviyeli diller insan algılayışına daha yakın,
alçak seviyeli diller de bilgisayarın doğal çalışmasına
daha yakın olan dillerdir.
Dillerdeki seviye yükseldikçe programcının işi de
kolaylaşır. Öyle ki, çok yüksek seviyeli programlama
dillerinde artık bir işin nasıl yapılacağına ilişkin değil,
ne yapılacağına ilişkin komutlar bulunur.
Seviyenin yükselmesi programcıya kolaylık
sağlamakla birlikte genel olarak verimliliği ve esnekliği
70
de azaltır.




Çok Yüksek Seviyeli Programlama Dilleri ya da
Görsel Diller (FOXPRO, PARADOX, ACCESS..,
VISUAL BASIC, IV.KUŞAK DlLLER)
Yüksek Seviyeli Programlama Dilleri (PASCAL,
COBOL, FORTRAN, BASIC,...)
Orta Seviyeli Programlama Dilleri (C)
Alçak Seviyeli Programlama Dilleri (Sembolik
Makine Dilleri)
71
C NASIL BİR DİL?..











Orta seviyeli bir dildir. Yazılan C kodu ile makina kodu arasında
bağlantı kolaylıkla kurulabilir.
Sistem programlama dilidir. Bugün işletim sistemleri, derleyiciler,
editörler gibi sistem programlarının hemen hepsi yoğun olarak C
kodu içermektedir. Ancak sistem programlamanın dışında da birçok
uygulamada C verimli olarak kullanılabilir.
Algoritmik bir dildir. Yalnızca dilin sintaks ve semantik yapısını
bilmek yetmez. Problemleri çözebilecek bir algoritma bilgisine de
ihtiyaç duyulur.
Diğer diller arasında taşınabilirliği en fazla olanlardan biridir.
İfade gücü yüksek ve okunabilirlik özelliği kuvvetli bir dildir.
Çok esnektir. Bu yüzden programcının hata yapmayacak bir bilgiye
ve deneyime sahip olması gerekir.
Atomik bir dildir. Cde altprogramlama tekniği ileri düzeyde
kullanılmaktadır.
Güçlü bir dildir. Tasarım özellikleri çok iyidir. Cye ilişkin yapıların
ve operatörlerin bir kısmı daha sonra diğer diller tarafından da
benimsenmiştir.
Verimli bir dildir. C programları seviyesi dolayısıyla daha hızlı
çalışır.
Doğal bir dildir. C bilgisayar sisteminin çalışma biçimiyle uyum
içindedir.
72
C++ ile nesne yönelimlilik özelliğine de sahip olmuştur.
PROGRAMIN ÇALIŞMASI
source --- compiler -----> object -----> link
kaynak
derleyeci
amaç
bağlama




kaynak kod : C dili ile yazılmış olan program.
derleyeci
: Kaynak kodu makina koduna çevirir
amaç kodu : Kaynak kodun makina dilindeki karşılığı
bağlama
: Birden fazla amaç kodu dosyasının tek dosyada
birleştirilmesi
73
İLK PROGRAM



#include<stdio.h>
#include<conio.h>
main()
{
printf("Bu bir satirlik yazidir.");
}
74
VERİ TİPLERİ
Int Tip
 Integer = Tamsayı
 Tamsayıları içerir. Bellekte 2 Byte tutar.
 5 , -19 , 25000 gibi
 Minimum
: -231
= -32768
 Maksimum : 231-1
= 32767
Long tip
Uzun tamsayı. Bellekte 4Byte tutar.
Minimum :-2,147,483,648 .
Maksimum :2,147,483,647
75
VERİ TİPLERİ
Gerçel Tipler (Float, Double)
 Gerçel sayıları içerirler.
float : Bellekte 4 Byte yer tutar.
 3.4E-38 ile 3.4E+38 aralığında değer alır.
 Hassasiyet 7-8 basamaktır.
double : Bellekte 8 Byte ter tutar.
 1.7E-308 ile 1.7E308 aralığında değer alır.
 Hassasiyet 15-16 basamaktır.

NOT: Bilimsel gösterim biçimi
2.5*10-3 = 2.5E-3
2.5*103 = 2.5E3
76
VERİ TİPLERİ




Char Tip
Char : Karakter :
Alfanumerik karakterleri içerir.
'5' , '*' , 'K‘ gibi
77
Download

Algoritma ve Akış Şeması Sunum