Professional Documents
Culture Documents
GR
PROGRAMLAMA VE YAZILIM
Program: belirli bir ii gerekletirmek iin gerekli komutlar dizisi olarak tanmlanabilir. Programlama: Bir program oluturabilmek iin gerekli komutlarn belirlenmesi ve uygun biimde kullanlmasdr. Programlama Dilleri: Bir programn oluturulmasnda kullanlan komutlar, tanmlar ve kurallarn belirtildii programlama aralardr. Yazlm: Belirli bir amac salayan, program yada programlar ve ilgili dkmantasyonlardr.
Bilgisayarlar tarafndan anlalan tek dil 0 ve 1 lerden oluan makine dilidir. Farkl bilgisayarlar tamamen farkl makine diline sahiptir. Sembolik diller makine diline ok benzerdir, yalnzca saylar yerine semboller kullanlmaktadr (Assembler). Sembolik diller ve daha yukardaki diller, bilgisayarda altrlmadan nce mutlaka makine diline dntrlmelidir.
lk programn, Ada Lovelace tarafndan Charles Babbagen tanmlam olduu Analytical Engine i ile Bernoulli saylarnn hesaplanmasna ilikin makalesinde olduu sylenmektedir. Bu nedenle ilk gerek anlamdaki programlama dillerinden birinin ad Ada Lovelace ansna ADA olarak isimlendirilmitir. 1940 larda ilk modern bilgisayar ortaya ktnda, programclar yalnzca assembly dili kullanarak yazlm yapabiliyorlard. 1950 1960
* FORTRAN (1955), the "FORmula TRANslator * LISP, the "LISt Processor", * COBOL, the COmmon Business Oriented Language * ALGOL Algorithmic Language
1962 - APL 1964 - BASIC 1964 - PL/I 1970 - Pascal 1970 - Forth 1972 - C 1972 - Prolog 1978 - SQL 1983 - Ada 1983 - C++ 1987 - Perl Nesne ynelimli dillerin ortaya k Yapsal programlama
TEMEL KAVRAMLAR
Bilgisayar Mimarileri-1
Temel Bilgisayar Mimarileri Von-Neumann mimarisi Harvard Mimarisi
Von-Neumann Mimarisi
CPU Kontrol Devresi (r: PC: Program Counter) ALU Bellek I/O
Bilgisayar Mimarileri-2
Program Bellei
PM Adres yolu
DM Adres yolu
CPU
DM Veri yolu
Veri Bellei
PM Veri yolu
Harvard Mimarisi Gnmz tipik bilgisayarlar Von-Neumann Mimarisine sahip Mikroilemciler kullanrken (Intel x86, Pentium, AMD Athlon..) , zellikle Grnt, ses ileme, yksek hz gerektiren uygulamalarda Harward mimarisine sahip mikroilemlerciler (DSPler, ARM Cortex..)
1. Donanm fiziksel aygtlardr. 2. Yazlm ise yaplmas gereken ileri yapabilmek iin donanma komutlar veren programlar topluluudur.
Sistem Yazlm : 1. 2. 3. 4. Aygt Yazlm (Firmware) (BIOS) letim Sistemi Sistem destek yazlm Sistem Gelitirme Yazlm
Dorudan Sistem yazlm ile etkileim halindeki kullanclar yada Yazlm gelitiriciler
Ak Diyagramlar
Ak Diyagram Sembolleri Sonlandrma Kutusu: Balang yada bitii gsterir
Ak Diyagramlar
Giri, k kutusu
Balant kutusu
Ak ubuu
Ak Diyagram rnei
Start
Read R
Define variables
false
if R>0
true
area A =3.1416*R2
End
Editrler
Program kodlarn yazmak iin kullanlan, metin dzenleyicilerdir. Program kodlar saf metin biiminde yazldndan, herhangi bir metin dzenleyicisi, program yazlm iin kullanlabilir. Kodlamadaki hatalar grlmez. Anahtar kelimeler, fonksiyonlar ve parametreleri, vb.. Tanmlar ayr renklendirilmediden kod yaznak daha zordur. Breakpoint, yada watch gibi, hata ayklama unsurlar yoktur. Notepad, Wordpad.. editr olarak kullanlabilir. Program derleme ve balama ilemi editr dnda genellikle komut satr zerinde yaplr.
Programmers NotePad
.asm
YORUMLAYICILAR (INTERPRETERS)
Yorumlayclar, program kodunu bir btn olarak deerlendirmez. Program kodunu satr, satr yorumlayarak altrrlar. Bu nedenle gnmzde derleyicilere gre daha kstl uygulamalara sahiptirler, internet uygulamalar ve bilimsel alanda yaygn kullanlmaktadrlar. Baz yorumlayclar, yazlan program satrn, daha etkin bir biime evirip, hemen uygularlar. Bunlar arasnda: Perl, Phyton, Matlab, Mathcad gibi yorumlayclar saylabilir. Baz yorumlayclar ise, yorumlayc sistemin bir paras olan bir derleyici tarafndan nceden derlenip saklanm kodlar uygularlar. Java bunlar arasnda saylabilir.
SAYI SSTEMLER
Gnlk yaantmzda 10 luk say sistemi kullanlr. Ancak, bilgisayar sistemleri 2 lik say sistemini kullanlrlar. 10 luk sistemde taban 10, ikilik sistemde taban 2 dir. Say sistemlerinde sayy oluturan her bir rakam digit olarak adlandrlr. Onluk say sistemlerinde herbir rakam decimal digit yada sadece digit ken, ikilik sistemde binary digit yada ksaca bit olarak adlandrlr. 123456 6 digit lik onlu say
100101 6 bit lik ikili say Say sembolleri 0 .. (Taban 1) arasndadr. Onluk dzende rakamlar 0..9, ikilik dzende rakamlar 0 , 1 den oluur.
Saylarn oluturulmas 123456 = 1*105 + 2*104+ 3*103 + 4*102 + 5*101 + 6*100 100101 = 1*25 + 0*24+ 0*23 + 1*22 + 0*21 + 1*20
KOD SSTEMLER
Bilgisayarlar yalnzca saylarla alrlar, oysa bizim harflere ve dier sembollere de gereksinimimiz vardr. Bu semboller de saylara karlk drlecek biimde kodlanrlar. Program rnein bu say ile karlarsa ekrana karlk den sembol basar, yada klavyeden gelen saynn sembolik karln , yazcdan karr. Bir ok kodlama tr olmasna karn dnyada bilgisayar ortamlarnda ANSI tarafndan 1963 ylnda standartlatrlan ASCII (American National Code for Information Interchange) kodlamas youn olarak kullanlamaktadr. Ancak gnmzde , ASCII kodlar ok dillii salayabilmek iin yetersiz kaldndan UNICODE kodlamas yaygnlamaktadr. Ancak pek ok uygulamada ASCII kodlamas hala geerliliini korumaktadr. ASCII temel olarak 7 bit tir. 127 karakterden oluur. Ama Extended ksmyla birlikte 8 bit kullanlmaktadr. Ancak geniletilmi ksmdaki semboller yazlm ortamna gre deiebilmektedir
C PROGRAMLAMA DL
TARHE VE STANDARTLAMA
C Dili, Dennis Ritchie ve arkadalar tarafndan 1972 ylnda AT&T Bell laboratuarlarnda, genel amal bir dil olarak BCPL ve B dillerinden gelitirilmitir. Unix iletim sistemini yazabilmek amacyla gelitirilmitir. Donanm bamszdr. 1970 lerin sonunda Klasik C ye dnmtr. 1989 ylnda ANSI tarafndan standartlatrlmtr. Standart ANSI tarafndan 1999 da gncellenmitir. Gnmzde hemen hemen tm iletim sistemleri C yada C++ ile yazlmtr. C++ , C nin nesne ynelimli yaplar ieren daha gelimi bir halidir.
C PROGRAMLAMA DLNE GR
C yapsal bir programlama dilidir. C yksek seviyeli bir dildir. Hemen hemen makine ve iletim sistemi bamszdr. Yazlmcnn, programn alaca bilgisayar yerine problem zerine younlamasn salar. C dili, byk kk harf duyarldr.
Temel Kavramlar
Atom (Token): Bir programlama dilinde anlam tayan en kk birimdir.
#include <stdio.h> void main() { int Deger1,Deger2; printf(Ltfen Bir Say Giriniz:\n); scanf(%d,&Deger1); Deger2=Deger1 * Deger1; printf(Saynn Karesi =%d\n,Deger2); }
Burada # include < stdio.h > printf ( Ltfen void main ( ) { int Deger1 , Deger2 ; Bir Say Giriniz:\n ) ; vb.. birer atomdur.
ATOMLARIN SINIFLARI
Atomlar 6 snfa ayrabiliriz. 1. Anahtar kelimeler:Programlama dili iin belli bir anlam tayan ve deiken olarak kullanlmas yasak olan szcklerdir rnek: printf, scanf, include, int 2. Deikenler: Bellekte geici yada kalc bir yer belirten belirli yazm kurallarna gre isimlendirilen atomlardr. rnek: Deger1, Deger2 3. Operatrler: Tanmlanm bir takm ilemleri yapan atomlardr. rnek: +, -, *, / , & , =, ==, <, <<, >> ...
4. Sabitler: Deiken bilgi iermeyen atomlardr. rnek: 10 , 3.14 5. Stringler: ki trnak arasndaki karakterlerden oluan atomlardr. rnek: Ltfen Bir Say Giriniz:\n 6. Ayralar: Ayra ve sonlandrc olarak kullanlan atomlardr. rnek: { , } , ; gibi.
Nesne
Bellekte yer kaplayan ve deerlerine eriilebilen blgelere Nesne denir Nesneler aadaki parametreler ile tanmlanr.
simleri: Nesnelerin yazlmc tarafndan belirlenen addr. Deerleri: Nesnelerin gsterdii bellek blgesindeki deerleridir. Trleri: Nesnelerin, bellekte kaplad yerler ve derleyici tarafndan nasl deerlendirileceidir. rnein char, integer, float vs.. mrleri ve geerli olduu blgeler: Nesnenin mevcut olduu sre ve yazlnn hangi ksmlarnda kullanlabileceini ifade eder.
rnek : z= x+y; a=200; Burada z, x, ve a birer nesnedir. a nesnenin addr, nesnenin deeri 200 dr. Nesne sabit bir deere sahip olabilecei gibi deiken bir deere de sahip olabilir. Buna gre deiken yada sabit olarak isimlendirilir.
fade
Deiken , operatr ve sabitlerin oluturduu ilemlere ifade denir. X-y+1 , 2*x+y gibi..
C derleyicisinin ierii
C derleyicileri hz ve verimlilikler assembly diline yakn bir kod retirler. Ancak, bunun yan sra, yksek seviyeli bir dilin zelliklerini de ierirler C derleyicileri, birleik nesneler zerinde ilem yapmaz ( C++ bu konuda farkllamtr) , Giri-k olanaklar sunmaz, dosya eriim yntemleri salamaz. Tm bu yksek seviyeli mekanizmalar, ayrca arlacak bir standart fonksiyonlar ktphanesi ile salanr.