temelbilgbilimleri_bolum1

Upload: ismail-yesilyurt

Post on 04-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    1/54

    TEMEL BLGSAYARBLMLER

    Yard. Do. Dr.nal Kk

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    2/54

    GR

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    3/54

    PROGRAMLAMA VE YAZILIM

    Program: belirli bir i i gerekle tirmek iin gereklikomutlar dizisi olarak tan mlanabilir.Programlama: Bir program oluturabilmek iingerekli komutlar n belirlenmesi ve uygun biimdekullan lmas d r.Programlama Dilleri: Bir program noluturulmas nda kullan lan komutlar, tan mlar vekurallar n belirtildi i programlama aralar d r.Yaz l m: Belirli bir amac sa layan, program yadaprogramlar ve ilgili dkmantasyonlard r.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    4/54

    PROGRAMLAMA DLLERNNSINIFLANDIRILMASI

    Alak seviyeli diller

    Makine dili , sembolik diller (Assembler) Orta seviyeli Diller

    C , ADA

    Donan m tan mlama Dilleri: VHDL Yksek seviyeli diller

    Pascal, Cobol, Fortran, Basic

    ok yksek seviyeli Diller

    Grsel diller (Visual C++, Delphi, Visual Basic, Java, C#,..)Veri taban ynetim dilleri (FoxPro,Paradox, Access, SQL,..)

    Bilimsel diller (Matlab, Mathcad, ..)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    5/54

    Programlama Dillerinin geli imi

    Bilgisayarlar taraf ndan anla lan tek dil 0 ve 1 lerden olu an makine

    dilidir. Farkl bilgisayarlar tamamen farkl makine diline sahiptir. Sembolikdiller makine diline ok benzerdir, yaln zca say lar yerine semboller kullan lmaktad r (Assembler).

    Sembolik diller ve daha yukar daki diller, bilgisayarda a lt r lmadan ncemutlaka makine diline dn trlmelidir.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    6/54

    Makine dilinde arpma

    00000000 00000100 000000000000000001011110 00001100 11000010 000000000000001011101111 00010110 000000000000010111101111 10011110 0000000000001011

    11111000 10101101 11011111 000000000001001001100010 11011111 0000000000010101

    11101111 00000010 11111011 0000000000010111

    11111100 10101101 11011111 000000000001111000000011 10100010 11011111 000000000010000111101111 00000010 11111011 000000000010010001111110 11110100 1010110111111000 10101110 11000101 0000000000101011

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    7/54

    Bir Assembler rne i

    LDI temp,0x80 ; Analog Comparator disabledOUT ACSR,temp

    LDI temp,0x00

    OUT DDRB,temp ; PORTB giri

    LDI temp,0b01110000 ; PD0,PD1,PD2,PD3 input di erleri output

    OUT DDRD,temp

    LDI temp,0b01000000 ; init PORTD

    OUT PORTD,temp

    CLR hat1_time_out ;ilk deerleri atama blm

    CLR hat2_time_out

    CLR temp

    LDI ZH,0 ;hat1 temp buffer' boaltLDI ZL,hat1_temp_adres

    ST Z,temp

    LDI YH,0 ;hat2 temp buffer' boalt

    LDI YL,hat2_temp_adresST Y,temp

    LDI XH,0

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    8/54

    PROGRAMLAMA DLLERNN TARHES

    lk program n, Ada Lovelace taraf ndan Charles Babbage ntan mlam olduu Analytical Engine i ile Bernoulli say lar n nhesaplanmas na ilikin makalesinde oldu u sylenmektedir. Bunedenle ilk gerek anlamdaki programlama dillerinden birininad Ada Lovelace an s na ADA olarak isimlendirilmi tir.1940 larda ilk modern bilgisayar ortaya kt nda,programc lar yaln zca assembly dili kullanarak yaz l myapabiliyorlard .1950 1960

    * FORTRAN (1955), the " FOR mula TRAN slator* LISP, the " LIS t P rocessor",* COBOL, the CO mmon Business O riented Language

    * ALGOLAlgo rithmic Language

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    9/54

    1962 - APL1964 - BASIC

    1964 - PL/I

    1970 - Pascal1970 - Forth1972 - C

    1972 - Prolog1978 - SQL

    1983 - Ada1983 - C++

    1987 - Perl

    1990 lar, Internet1991 - Python1991 - Java

    1995 - PHP2000 - C#

    Tamam nesne ynelimlidillerdir. Yeni programlama

    kavramlar ndan ziyade,programlaman nkolayla mas n veta nabilirliiamalamaktad rlar

    Nesne ynelimlidillerin ortaya k

    Yap sal programlama

    PROGRAMLAMA DLLERNN

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    10/54

    PROGRAMLAMA DLLERNNSINIFLANDIRILMASI

    Alak seviyeli diller

    Assembler, sembolik diller Orta seviyeli Diller

    C , ADA

    Donan m tan mlama Dilleri: VHDL Yksek seviyeli diller

    Pascal, Cobol, Fortran, Basic

    ok yksek seviyeli Diller

    Grsel diller (Visual C++, Delphi, Visual Basic, Java, C#,..)Veri taban ynetim dilleri (FoxPro,Paradox, Access, SQL,..)

    Bilimsel diller (Matlab, Mathcad, ..)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    11/54

    PROGRAMLAMA DLLERNN ZELLKLER

    fade yetene i: Uygulamadaki Notasyonlar n, yada algoritmalar nok fazla de iiklie u ramadan kullan labilmesiVerimlilik: Daha kk ve H zl bir kod ortaya kabilmesi

    Esneklik: Programlama kurallar n n, yada argmanlar n n esnek birbiimde kullan labilmesi

    Modlerlik: Alt programlama yetene i

    Ta

    nabilirlik: letim sistemlerine yada al

    acak ortama greprogram zerinde az de iiklik gerekmesiVeri Trleri:Bir dilde dilin do al deste i ile eri ilebilecek vetrlerinin oklu u nemlidir.

    renme Kolayl Yap sall k: Programlama tekni i, modlerli i de destekleyecekbiimde bloklar halinde yazmaya dayan r.

    Genellik: Yaln zca belirli alanlarda de il, her alanda kullan labilmeNesne Ynelimlilik:Nesne tabanl programlama deste i

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    12/54

    TEMEL KAVRAMLAR

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    13/54

    Bilgisayar Mimarileri-1

    Temel Bilgisayar MimarileriVon-Neumann mimarisi

    Harvard Mimarisi

    Kontrol Devresi(r: PC: Program Counter)

    ALU Bellek I/O

    CPUVon-Neumann Mimarisi

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    14/54

    Bilgisayar Mimarileri-2

    PM Veri yolu

    PM Adres yoluProgram

    Belle i DM Veri yolu

    DM Adres yoluVeri

    Belle iCPU

    Harvard Mimarisi

    Gnmz tipik bilgisayarlar Von-NeumannMimarisine sahip Mikroi lemciler kullan rken(Intel x86, Pentium, AMD Athlon..) , zellikleGrnt, ses i leme, yksek h z gerektirenuygulamalarda Harward mimarisine sahipmikroi lemlerciler (DSPler, ARM Cortex..)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    15/54

    Tipik bir Bilgisayar Sistemi

    1. Donan m fiziksel ayg tlard r.2. Yaz l m ise yap lmas gereken i leriyapabilmek iin donan ma komutlar verenprogramlar toplulu udur.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    16/54

    Bilgisayar yaz l m n n trleri

    Sistem Yaz l m : Uygulama yaz l m :

    1. Ayg t Yaz l m (Firmware) (BIOS) 1. Genel Amal 2. letim Sistemi 2. Uygulamaya zel3. Sistem destek yaz l m

    4. Sistem Geli tirme Yaz l m

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    17/54

    Bilgisayar yaz l m n n trleri

    Sistem Yaz l m Ayg t Yaz l m : Sistemi olu turan donan mlar n al mas iingerekli olan yaz l mlard r.

    letim sistemi: Kullan c arayz, a ba lant arayzleri, Dosyaeriimi ve organizasyonu, oklu al ma gibi hizmetleri sa layanyaz l mlard r. rne in: DOS, Windows, Linux, PARDUS, Unix vs..Sistem destek yaz l mlar : Sistemle ili kili faydal yaz l mlard r.rne in,Disk formatlay c , hesap makinesi, test ve ileti imyaz l mlar , Hyperterminal, Telnet vs..

    Sistem Geli tirme Yaz l mlar : Bunlar, e itli ktphaneler,

    Uygulama Program

    arayz (API) (Winsock, setupapi, mmtools,SAPI, DDK..), Derleyiciler, Debuggerlar..

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    18/54

    Bilgisayar yaz l m n n trleri

    Uygulama Yaz l mlar

    Genel Amal

    Kelime i lemciler, Veri taban ynetimprogramlar , SpreadSheet programlar ..

    zel yaz l mlar

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    19/54

    Yaz l m ve Donan m ilikileri

    Dorudan Sistem yaz l m ile etkile im halindeki

    kullan

    c

    lar yada Yaz

    l

    mgeli tiriciler

    Donan mla ileti im halindeki sistemyaz l m

    Uygulama yaz l m ile al an kullan c lar

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    20/54

    Yaz l m Geli tirme Modeli

    Yaz l m geli tirme modeli, program n z n kalitesini veba ar m n etkileyen kritik bir i lemdir.Eer, program n z dzgn biimde yap land r lm gelitirme teknikleri ile dikkatlice tasarlarsan z, verimli,hatas z, bak m kolay, anla labilir bir program eldeedersinizByk lekli, modern programlama projeleri, yaz l mgeli tirme ya am sreci olarak birbiri ile ili kilievrelerden olu urrneklerden bir elale (waterfall) yntemidir.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    21/54

    Her bir ad mdaki ilerlemeoklarla gsterilmektedir

    leri ynlgeli tirme

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    22/54

    Yaz l m Geli tirme Evreleri

    1. Sistem Gereklilikleri : nerilen yaz l m n yapmas amalananilerin belirlenmesi

    2. Analiz : Yaz l m a s ndan farkl alternatiflerin arat r lmas 3. Tasar m : Sistemin nas l ina edilece inin belirlenmesi4. Kodlama : Program yazma i lemi.5. Sistem Testi : Tm programlar n birlikte test edilmesi6. Bak m: Sistemin al r halde tutulmas

    P G li i d Y d A l 1

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    23/54

    Program Geli tirmede Yard mc Aralar-1

    1. Yap sal (genellikle Hiyerar ik) tablolar

    P G li i d Y d A l 2

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    24/54

    Program Geli tirmede Yard mc Aralar-2

    2. Szde (Pseudo) ProgramlarSzde programlar, do rudan konu ma dilinde

    ve programlama mant alt nda, e er, iken gibikoul kelimeleri ve > = < gibi ifadeler ile beraberyaz l r. yi bir biimde yaz lm , szde koddan,programlama diline kolayl kla geilebilir.rnek: Verilen bir s cakl k derecesine gre suyun durumunubelirten bir szde program yaz n z.rnek Giri/ k

    Bu Program, S cakl a gre suyun durumunu gsterir Su, Buz, Buhar ---------------------------------------------------------- Ltfen derece cinsinden s cakl giriniz : 140 BUHAR elde edeceksiniz.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    25/54

    rnek Szde kod.

    1. Program a klama mesaj yaz.2. Kullan c n s cakl gimesi iin bir uyar mesaj yaz.3. Girilen S cakl Oku.

    4. Durumu belirle Eer S cakl k > 0 ise Eer S cakl k >= 100 ise Durum = Buhar deilse Durum = Su degilse

    Durum= Buz

    5. Sonucu Yaz

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    26/54

    Ak Diyagramlar

    Ak Diyagram Sembolleri

    Sonland rma Kutusu:Balang yada bitii gsterir

    lem kutusu:Bir ilemin

    al mas n temsil eder

    Karar Kutusu:Bir karar verilmesi gerektiindekullan l r.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    27/54

    Ak Diyagramlar

    Giri, k kutusu

    Balant kutusu

    Ak ubu u

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    28/54

    Ak Diyagram rne iAk Diyagram rne i

    Start

    Define

    variables

    Read R

    if

    R > 0

    area

    A=3.1416*R 2

    EndAsk for

    radius R

    Print out

    the area

    A

    true

    false

    1

    1

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    29/54

    Yaz l m Geli tirme Aralar

    Editrler- Tmle ik geli tirme ortamlar (IDE)Derleyicilerle birlikte kullan l r

    Derleyiciler- Ba lay c lar (Compilers Linkers)

    Yorumlay c lar (Interpreter)

    EditrlerProgram kodlar n yazmak iin kullan lan, metin dzenleyicilerdir.

    Program kodlar saf metin biiminde yaz ld ndan, herhangi birmetin dzenleyicisi, program yaz l m iin kullan labilir.

    Kodlamadaki hatalar grlmez.

    Anahtar kelimeler, fonksiyonlar ve parametreleri, vb.. Tan mlarayr renklendirilmedi den kod yaznak daha zordur.Breakpoint, yada watch gibi, hata ay klama unsurlar yoktur.Notepad, Wordpad.. editr olarak kullan labilir.

    Program derleme ve ba lama i lemi editr d nda genelliklekomut sat r zerinde yap l r.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    30/54

    IDE (Tmle ik geli tirme ortam )

    Tmle ik geli tirme ortamlar , Genellikle derleyicileri ba lay c lar ortam iinden kullanabilmeyi yada derleyici veba lay c ya ortam iinden eri me yollar n sa larlar (Makefilevs..). Bunun yan s ra;Derleyici ve ba lay c tmle ik olna yap larda Hataay klama, Gzlem penceresi gibi bile enler mevcuttur.Yaz m ilemini kolayla t racak vurgulamalar ve uyar larmevcuttur.Derleyici ve ba lay c parametreleri menlerdenayarlanabilir.

    Yard mlar mevcuttur.Her yaz l m dilinin kendi IDE si mevcuttur. Ancak baz IDEler birden fazla yaz l m dili iin ortam sa layabilir.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    31/54

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    32/54

    Gml sistem programlamas iin Keil uVision3 IDE

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    33/54

    Windows Ortam ndaki geli tirmeler iin MS VS C++ 6.0

    DERLEYCLER BALAYICILAR (COMPILERS

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    34/54

    - LINKERS

    Derleyiciler: Bir derleyici, bir metin editr yada IDE zerindeyaz lan program kodlar n , makinenin anlayabilece i OBJ kodlaradn tren bir uygulama yaz l m d r. Derleyicilerin biro u, Programdilinin yan s ra makine dilinin(assembler) de kullan lmas na izin

    verir.Ba lay c lar: Bir ba lay c , derleyici taraf ndan derlenmi olan OBJprogram kodlar n uygun bellek blgelerine yerle tirerek,de ikenlerin ve sabitlerin bellek atamalar n ve ilklemelerinigerekleyerek tek bir al t r labilir program elde eden bir uygulamayaz l m d r (windows iin exe dosya).rnek derleyiciler ve ba lay c lar:MS VC++ 6.0 iin CL.exe derleyici, Link.exe ba lay cKeil uVision 8051 iin c51.exe derleyici, Ld51.exe ba lay cgcc.exe a k kaynakl cretsiz bir derleyici ve ba lay c

    Bir derleyici ve ba lay c komut sat r ndan al t r labilece i gibi bir makefilearac l yla da al t r labilir.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    35/54

    Editr Derleyici Balay c

    .c

    .cpp

    .pas

    .obj

    .out

    .coff

    .exe

    .hex.bin

    .asm

    YORUMLAYICILAR (INTERPRETERS)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    36/54

    YORUMLAYICILAR (INTERPRETERS)

    Yorumlay c lar, program kodunu bir btn olarakde erlendirmez. Program kodunu sat r, sat r yorumlayarakal t r rlar. Bu nedenle gnmzde derleyicilere gre dahak s tl uygulamalara sahiptirler, internet uygulamalar vebilimsel alanda yayg n kullan lmaktad rlar.Baz yorumlay c lar, yaz lan program sat r n , daha etkin birbiime evirip, hemen uygularlar. Bunlar aras nda: Perl,

    Phyton, Matlab, Mathcad gibi yorumlay c lar say labilir.Baz yorumlay c lar ise, yorumlay c sistemin bir paras olan bir derleyici taraf ndan nceden derlenip saklanm kodlar uygularlar. Java bunlar aras nda say labilir.

    SAYI SSTEMLER

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    37/54

    SAYI SSTEMLER

    Gnlk ya ant m zda 10 luk say sistemi kullan l r. Ancak, bilgisayar sistemleri2 lik say sistemini kullan l rlar. 10 luk sistemde taban 10, ikilik sistemdetaban 2 dir.

    Say sistemlerinde say y oluturan her bir rakam digit olarak adland r l r.

    Onluk say

    sistemlerinde herbir rakam decimal digit yada sadece digit ken,ikilik sistemde binary digit yada k saca bit olarak adland r l r.

    123456 6 digit lik onlu say

    100101 6 bit lik ikili say

    Say sembolleri 0 .. (Taban 1) aras ndad r.

    Onluk dzende rakamlar 0..9, ikilik dzende rakamlar 0 , 1 den olu ur.

    Say lar n olu turulmas 123456 = 1*10 5 + 2*10 4+ 3*10 3 + 4*10 2 + 5*10 1 + 6*10 0

    100101 = 1*2 5 + 0*2 4+ 0*2 3 + 1*2 2 + 0*2 1 + 1*2 0

    BYTE VE WORD ve NIBBLE KAVRAMLARI

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    38/54

    BYTE VE WORD ve NIBBLE KAVRAMLARI

    Sekiz bitlik ikili say lara bir byte l k say lar denir10011101 8 bit yada bir byte d r.

    16 bit uzunluklu say lara 1 word luk say lar say lar denmesinera men, bu kavram bazen i lemcinin veri yolu uzunlu u kadar bitsay s ile de e letirilmektedir.11001001 11100011 2 byte l k yada 1 word luk say .

    Ayr ca her 4 bit, bir Nibble olarak adland r l r.

    POZTF VE NEGATF SAYILAR

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    39/54

    POZTF VE NEGATF SAYILAR

    Bir bytel k en kk ve en byk pozitif say lara bakal m00000000 (decimal 0)11111111 (decimal 255)

    Buradaki tm say

    lar, pozitiftir. Bir ba ka deyi le say

    iaretsizdir. Negatif say lar sz konusu oldu unda bu say lar n yar s n n pozitif, yar s n n negatif olduu sylenebilir.rne in 1 bytel k say -127 ile +127 aras nda de iecektir.

    kilik sistemde negatif say

    lar,

    karma i leminin toplama arac

    l

    ylayap labilmesini sa lamak amac yla tmleyen say larla gsterilir.Tmleyen say , verilen say y , o bit say s iin temsil edilen en byk say yatamamlayan say d r. (Pratikte bit evirerek yap l r.)

    rne in 00001010 n tmleyeni 11110101 dir. (255 10). Bu trdentmleyene 1e tmleyen say denir. Dikkat edilirse en a rl kl (en soldaki) bitnegatif say lar iin 1 olmaktad r. Pratikte pek kullan lmaz, nk burada ikitane 0 sz konusudur (0000 0000 ve 1000 0000) ve i lemcinin do rudantoplamas yla karma elde edilemez.

    kiye Tmleyen (2s Complement)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    40/54

    kiye Tmleyen (2 s Complement)kiye tmleyen say da tek bir 0 vard r. Say lar -2 bitsay s -1 .. 0 ..(2 bitsay s -1 1) aras nda de iir. rne in 8 bit iin -128 ..0 .. 127.kiye tmleyen say aa daki ekilde elde edilir.2bitsay s say

    rnek : -20 -(0001 0100) say s n 8 bitlik ikili say ile ifade edelim28 - 20 =256 20 =236= 1110 1100Pratik yntem say y evirip 1 eklemektir.

    0001 01001110 1011 + 1 = 1110 1100

    karma i lemirne in 40 20 yi 2ye tmleyenle hesaplayal m

    0010 1000

    + 1110 1100

    0001 0100 = (20 dec)

    Hexadecimal say lar (Hex)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    41/54

    Hexadecimal say lar (Hex)

    Bilgisayar sistemlerinde uzun bit dizilerini temsil etmekzor olaca iin yaz m biimi olarak hexadecimal say lartercih edilmektedir. Hex say lar 16 l k say lard r. HerbirNibble bir Hex say ile temsil edilebilir. Bylelikle ikili

    say n n yaz m uzunlu u 4 te bir digite d ecektir.Hex sistemde say lar 16 sembolden olu ur ve a a dakigibidir

    0000 0 0100 4 1000 8 1100 C0001 1 0101 5 1001 9 1101 D0010 2 0110 6 1010 A 1110 E0011 3 0111 7 1011 B 1111 F

    rnek 0011 1010 = 3A Hex, 1110 0101 = E5 Hex0101 1101 1100 1001 0110 0111 =5DC967 Hex

    KOD SSTEMLER

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    42/54

    KOD SSTEMLER

    Bilgisayarlar yaln zca say larla al rlar, oysa bizim harflere vedier sembollere de gereksinimimiz vard r. Bu semboller desay lara kar l k d rlecek biimde kodlan rlar. Programrne in bu say ile kar la rsa ekrana kar l k d en sembolbasar, yada klavyeden gelen say n n sembolik kar l n ,yaz c dan kar r.Bir ok kodlama tr olmas na kar n dnyada bilgisayarortamlar nda ANSI taraf ndan 1963 y l nda standartla t r lanASCII (American N ational Code for I nformation I nterchange)kodlamas youn olarak kullan lamaktad r. Ancak gnmzde ,ASCII kodlar ok dillii sa layabilmek iin yetersiz kald ndanUNICODE kodlamas yayg nlamaktad r. Ancak pek okuygulamada ASCII kodlamas hala geerlili ini korumaktad r.ASCII temel olarak 7 bit tir. 127 karakterden olu ur. AmaExtended k sm yla birlikte 8 bit kullan lmaktad r. Ancakgeni letilmi k s mdaki semboller yaz l m ortam na grede iebilmektedir

    ASCII lk 128 sembol

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    43/54

    ASCII geni letilmi k s m

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    44/54

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    45/54

    C

    PROGRAMLAMA

    D L

    TARHE VE STANDARTLAMA

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    46/54

    TARHE VE STANDARTLAMA

    C Dili,C Dili,Dennis RitchieDennis Ritchie ve arkada lar taraf ndan 1972 y l ndave arkada lar taraf ndan 1972 y l nda AT&T Bell AT&T Belllaboratuarlar nda, genel amal bir dil olarak BCPLlaboratuarlar nda, genel amal bir dil olarak BCPLve B dillerinden gelitirilmitir.ve B dillerinden gelitirilmitir.

    UnixUnix iletim sistemini yazabilmek amac yla gelitirilmitir.iletim sistemini yazabilmek amac yla gelitirilmitir.Donan m ba ms zd r.Donan m ba ms zd r.

    19701970 lerinlerin sonunda Klasik C ye dn mtr.sonunda Klasik C ye dn mtr.

    1989 y l nda ANSI taraf ndan standartla t r lm t r. Standart1989 y l nda ANSI taraf ndan standartla t r lm t r. Standart ANSI taraf ndan 1999 da gncellenmi tir. ANSI taraf ndan 1999 da gncellenmi tir.

    Gnmzde hemen hemen tm i letim sistemleri C yadaGnmzde hemen hemen tm i letim sistemleri C yadaC++ ile yaz lm t r C++ ile yaz lm t r ..

    C++C++ , C, C ninnin nesne ynelimli yap lar ieren daha geli mi bir nesne ynelimli yap lar ieren daha geli mi bir halidir.halidir.

    C PROGRAMLAMA DLNE GR

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    47/54

    C OG G

    C yap sal bir programlama dilidir.

    C yksek seviyeli bir dildir.

    Hemen hemen makine ve i letim sistemi ba ms zd r. Yaz l mc n n, program n al aca bilgisayar yerine

    problem zerine yo unla mas

    n

    sa lar. C dili, byk kk harf duyarl d r.

    Temel Kavramlar

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    48/54

    Atom (Token): Bir programlama dilinde anlam ta yan enkk birimdir.#include void main()

    {int Deger1,Deger2;

    printf(Ltfen Bir Say Giriniz:\n);

    scanf(%d,&Deger1);Deger2=Deger1 * Deger1;

    printf(Say n n Karesi =%d\n,Deger2);

    }

    Burada

    # include < stdio.h >

    void main ( ) { int Deger1 , Deger2 ; printf ( LtfenBir Say Giriniz:\n ) ;

    vb.. birer atomdur.

    ATOMLARIN SINIFLARI

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    49/54

    Atomlar 6 s n fa ay rabiliriz.1. Anahtar kelimeler:Programlama dili iin belli bir

    anlam ta yan ve de iken olarak kullan lmas yasak

    olan szcklerdirrnek: printf, scanf, include, int2. De ikenler: Bellekte geici yada kal c bir yer belirten

    belirli yaz

    m kurallar

    na gre isimlendirilenatomlard r.rnek: Deger1, Deger2

    3. Operatrler: Tan

    mlanm

    bir tak

    m ilemleri yapanatomlard r.rnek: +, -, *, / , & , =, ==,

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    50/54

    4. Sabitler: De iken bilgi iermeyen atomlard r.rnek: 10 , 3.14

    5. Stringler: ki t rnak aras ndaki karakterlerden olu anatomlard r.rnek: Ltfen Bir Say Giriniz:\n

    6. Ayralar: Ayra ve sonland r c olarak kullan lanatomlard r.

    rnek: { , } , ; gibi.

    Nesne

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    51/54

    Bellekte yer kaplayan ve de erlerine eri ilebilen blgelereNesne denir Nesneler a a daki parametreler ile tan mlan r.

    simleri: Nesnelerin yaz

    l

    mc

    taraf

    ndan belirlenen ad

    d

    r.De erleri: Nesnelerin gsterdi i bellek blgesindekide erleridir.Trleri: Nesnelerin, bellekte kaplad yerler ve derleyicitaraf ndan nas l de erlendirilece idir. rne in char, integer, floatvs..mrleri ve geerli oldu u blgeler: Nesnenin mevcut oldu usre ve yaz l n n hangi k s mlar nda kullan labilece ini ifadeeder.

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    52/54

    rnek : z= x+y;a=200;

    Burada z, x, ve a birer nesnedir.

    a nesnenin ad d r, nesnenin de eri 200 dr.Nesne sabit bir de ere sahip olabilece i gibi de iken birde ere de sahip olabilir.Buna gre de iken yada sabit olarak isimlendirilir.

    fadeDeiken , operatr ve sabitlerin olu turdu u ilemlere ifade denir.X-y+1 , 2*x+y gibi..

    Sol Taraf De eri (Left Value)

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    53/54

    erisine de er atanabilen nesnelere sol taraf de eri denilir.rne in y=x+2; burada y sol taraf de eridir.

    x+2 ise sol taraf de eri olmaz.Sol taraf de erleri

    De ikenler, a,b

    dizi elemanlar

    a[1], b[10]Gstericiler *a, **b

    gibi nesnelerden olu ur.

    C derleyicisinin ieri i

  • 7/31/2019 TemelBilgBilimleri_Bolum1

    54/54

    C derleyicileri h z ve verimlilikler assembly diline yak nbir kod retirler. Ancak, bunun yan s ra, yksek seviyelibir dilin zelliklerini de ierirlerC derleyicileri, birle ik nesneler zerinde i lem yapmaz( C++ bu konuda farkl lam t r) , Giri - k olanaklar sunmaz, dosya eri im yntemleri sa lamaz. Tm buyksek seviyeli mekanizmalar, ayr ca a r lacak birstandart fonksiyonlar ktphanesi ile sa lan r.