pt 02 basit kodlar 482bk0122

Upload: mebitefo

Post on 06-Apr-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    1/47

    T.C.

    MLL ETM BAKANLII

    BLM TEKNOLOJLER

    BAST KODLAR482BK0122

    Ankara, 2011

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    2/47

    Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereveretim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarakrencilere rehberlik etmek amacyla hazrlanm bireysel renmemateryalidir.

    Mill Eitim Bakanlnca cretsiz olarak verilmitir.

    PARA LE SATILMAZ.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    3/47

    i

    AIKLAMALAR ....................................................................................................................iiGR .......................................................................................................................................1RENME FAALYET1 ....................................................................................................21. DEKENLER VE SABTLER ........................................................................................2

    1.1. Deikenler ...................................................................................................................21.2. Deikenleri simlendirme Kurallar.............................................................................41.3. Veri tipleri .....................................................................................................................41.4. Sabitler ..........................................................................................................................61.5. Atama lemi .................................................................................................................71.6. k lemleri .............................................................................................................10

    1.6.1. Bir metin ifadesini ekrana yazdrma....................................................................101.6.2. lk deer atanan deiken deerini ekrana yazdrma...........................................121.6.3. Formatl k ilemleri ........................................................................................16

    1.7. Giri lemleri .............................................................................................................181.7.1. Klavyeden deikene deer atama.......................................................................18

    1.8. Giri-k ilemleri hata mesajlar .............................................................................211.9. Aklama Satrlar .......................................................................................................25UYGULAMA FAALYET .............................................................................................. 26LME VE DEERLENDRME ....................................................................................27

    RENME FAALYET2 ..................................................................................................292. OPERATRLER ...............................................................................................................29

    2.1. Aritmetiksel Operatrler ............................................................................................. 292.1.1. Drt lem ............................................................................................................292.1.2. Mod Alma............................................................................................................32

    2.2. likisel Operatrler..................................................................................................... 342.3. Mantksal Operatrler .................................................................................................362.4. lem ncelii .............................................................................................................37UYGULAMA FAALYET .............................................................................................. 38LME VE DEERLENDRME ....................................................................................39

    MODL DEERLENDRME .............................................................................................. 40CEVAP ANAHTARLARI.....................................................................................................42KAYNAKA ......................................................................................................................... 43

    NDEKLER

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    4/47

    ii

    AIKLAMALARKOD 482BK0122

    ALAN Biliim Teknolojileri

    DAL/MESLEK Alan Ortak

    MODLN ADI Basit Kodlar

    MODLN TANIMIBir programla dilinde kullanlan basit kodlara ait bilgilerinverildii renme materyalidir.

    SRE 40/32

    N KOULYETERLK Basit kodlar yazmak

    MODLN AMACI

    Genel AmaBu modl ile gerekli ortam salandnda temelprogramlamada basit kodlar yazabileceksiniz.

    Amalar1. Deiken ve sabit kullanabileceksiniz.2. Operatrleri kullanabileceksiniz.

    ETM RETMORTAMLARI VEDONANIMLARI

    Ortam: Bilgisayar laboratuvar

    Donanm: Kt, kalem, ak diyagramlar ile ilgili panolar,bilgisayar, lisansl programlama yazlm

    LME VEDEERLENDRME

    Modl iinde yer alan her renme faaliyetinden sonra verilenlme aralar ile kendinizi deerlendireceksiniz.retmen modl sonunda lme arac (oktan semeli test,doru-yanl vb.) kullanarak modl uygulamalar ilekazandnz bilgi ve becerileri lerek sizi deerlendirecektir.

    AIKLAMALAR

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    5/47

    1

    GRSevgili renci,

    Okul yaantnzda reneceiniz her konu, yaptnz her uygulama ve tamamladnzher modl bilgi daarcnz gelitirecek ve ileride atlacanz i yaantnzda size baarolarak geri dnecektir. Eitim srecinde daha zverili alr ve alma disiplininikazanrsanz; baarl olmamanz iin hibir neden yoktur.

    Gnmzde Windows tabanl grsel programlama dillerinin hzla gelimekte olduuve kullanmnn olduka yaygnlat grlmektedir. Bu programlama dilleri ile sizlerprogramlama mantn ve becerisini ok daha kolay kavrayacaksnz.

    Bu modlle, bir programlama dilinde kullanlabilecek basit kodlar ve uygulamalarnreneceksiniz.

    Bu modlde anlatlan konularn tmn rendiinizde, bir programlama dilindekullanlan deiken ve sabit kavramlar, tanmlanma ve program iinde kullanm ekillerinireneceksiniz. Ayn zamanda program iinde tanmladmz deiken ve sabitler zerindeilemler yapabilmek iin operatrlerin kullanmlarn kavram olacaksnz.

    GR

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    6/47

    2

    RENME FAALYET1

    Bu renme faaliyetinde bir programlama diline uygun deiken ve sabitlerikullanabileceksiniz.

    evrenizde deiken olarak nitelendirebileceiniz durumlar listeleyiniz.

    Bir gn iinde kullandnz nesneleri trlerine gre gruplandrnz.

    1. DEKENLER VE SABTLER

    1.1. Deikenler

    Deikenler bir programlama dilinde verilerin depolanma alanlarn temsil eder.Tanmlanan her deikene bellek blgesinden bir alan ayrlr. Bu bellek blgesine okuma veyazma ilemleri ise deiken ismi zerinden salanr. Genel olarak deikenler aadaki

    elikde tanmlanr.

    ;

    rnein;

    int i;

    Yukardaki rnekte bir int(say) veri tipinde bir deiken tanmlanmtr. Byleliklebellek blgesinde bir veri saklamak ve ileride kullanmak zere 4 bytel k bir alan ambulunuyoruz. Program iinde bu bellek blgesine erimek iin deiken ismi olan i ifadesinikullanyoruz.

    rnein;int i; //i adnda bellekte 4 bytelk bir blge a.;i = 5; //i adnn temsil ettii bellek blgesine 5 deerini yaz.;

    Bir deikene deer atama ilemi tanmlarken yaplabilir. Bir deikene deer atama ilemi yukardaki rnekte olduu gibi program iinde

    herhangi bir satrda yaplabilir. Bir veri tipi altnda birden fazla isimle farkl deikenler tanmlanabilir.

    ARATIRMA

    RENME FAALYET1

    AMA

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    7/47

    3

    rnek 1.1-1:

    bool dogrumu = false;

    double yuzde = 98.32, ortalama = 35.32;

    char karakter = 'A';

    Baz programlama dillerinde yerel bir deiken tanmlyorsak bu deikenikullanmadan nce bir deer atamas yapmak zorundayz.

    static void Main(string[] args)

    {

    int sayi;

    //sayi = 5;

    Console.WriteLine(sayi);Console.ReadKey();

    }

    Yukardaki kod blokunda sayi deikenine deer atamadnz iin hata verecektir(Use of unassigned local variable 'sayi'). nk sayi deikeni yerel bir deikendir. Eer//sayi = 5; aklama satrndaki // iaretlerini siler ve bu satr koda dhil edersenizhatann ortadan kalktn grrsnz.

    Tanmlanan yerel deikenler sadece tanmlandklar bloktan eriebilir. Yaamdngleri sadece o blok olduu iin baka bir bloktan eriilemez.

    rnek 1.1-2:

    namespace megepBilisim{

    class Program{

    static void Main(string[] args){

    { //Birinci blokint a = 10;

    }

    {//kinci blokint a = 20;}Console.WriteLine(a); // a deikeni bu blokta tanmlanmad

    iin program hata verecektir.}

    }}

    Yukardaki rnekte birinci ve ikinci blokta tanmlanan "a" isimli deikenler sadecekendi bloklarnda geerlidir. Main blounda kullanlmaya alld zaman program hataverecektir.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    8/47

    4

    1.2. Deikenleri simlendirme Kurallar

    Deikenlerin isimleri alfabede bulunan karakterlerle veya _(alt izgi) ilebalamaldr. Ama ilk harf hari dier karakterler say olabilir.

    Baz programlama dilleri byk ve kk harf duyarldr. Yani Sayi, sayi veSAYI hepsi ayr deiken olarak algnalr.

    Deiken isimleri birden fazla kelime olduu zaman; kelimelerin arasna bolukkonmaz. Bu tr deikenleri ya kelimeleri birletirerek veya kelimeler arasna_(alt izgi) karakteri koyararak isimlendiririz.

    Deikenlerin isimleri !, ?, {, ] gibi karakterler ieremez. Programlama dili iin tanmlanm anahtar kelimelerini de deiken isimleri

    olarak kullanamayz.

    Standart yazm ekilleri:

    Camel notasyonunda isim kk harfle balar, eer deiken isminde birden fazlakelime geiyor ise isimdeki dier kelimeler byk harfle balar.

    Camel Notasyonu:

    maas;

    maasMiktari;

    massMiktariAciklama;

    Pascal Notasyonunda kelime byk harfle balar. Camel Notasyonunda da olduu gibidier kelimelerde byk harfle balar.

    Pascal Notasyonu:

    Maas();

    MaasHesapla();

    Bu notasyonlarn kullanm mecburi deildir. Fakat srekli olarak bu tr bir notasyonauyarak kodlarnz yazarsanz, kodlarnz daha anlalr bir hle girer.

    1.3. Veri Tipleri.Net de iki eit veri tipi vardr:

    Deer tipleri (value type) Referans tipleri(reference type)

    Deikenler bellekte bulunan verilerdir. Bir deikeni kullandmz zaman odeikenin bellekte bulunduu yerdeki bilgiyi kullanrz. Deer tipleri bellein stackblgesinde saklanr ve veriyi direkt olarak bellek blgesinden alrken referans tipleri bellekteheap alannda saklanr. Yani referans tipleri iinde veri deil bellekteki heap alannnadres bilgisini tutarlar.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    9/47

    5

    int, double, float gibi veri tipleri deer tiplerine rnek gsterilebilir. Herhangi bir snf

    tr ise referans tipine rnek gsterilebilir. Deer tipleri birbirine eitlenirken deikeninbarndrd deer bir dier deikene kopyalanr. Bylece iki farkl bamsz deikenoluur. Referans tipleri ise eitleme srasnda deikenlerin tadklar veri deil heapblgesinde iaret ettikleri adres kopyalanr. Bylece eer iki referans deikeni birbirineeitledi isek ve daha sonra bunlardan birinde bulunan veriyi deitirdi ise otomatik olarakdier referans deikeninin deeri de deiir. nk adresde bulunan veri deiince buadresi iaret eden iki deikende yeni veri bilgisine ular.

    Toplam 15 veri tipi vardr bunlardan 13 deer tipindedir, 2si ise referans tipindedir.

    Deer tipleri

    Ad CTS Karl Aklama Max ve Min aralk yada deeri

    sbyte System.Byte 8 bit iaretli tam say -128 : 127

    short System.Int1616 bit iaretli tamsay

    -32.768 : 32.767

    int System.Int3232 bit iaretli tamsay

    -2.147.483.648 : 2.147.483.647

    long System.Int6464 bit iaretli tamsay

    -9.223.372.036.854.775.808 : -9.223.372.036.854.775.807

    byte System.Byte8 bit iaretsiz tamsay

    0,177083333

    ushort System.UInt16 16 bit iaretsiz tamsay 0 : 65.535

    uint System.UInt3232 bit iaretsiz tamsay

    0 : 4.294.967.295

    ulong System.UInt6464 bit iaretsiz tamsay

    0 : 18.446.744.073.709.551.615

    float System.Single 32 bit tek kayan say +yada - 1,5*10-45 : + ya da - 3,4*1038

    double Sytem.Double 64 bit ift kayan say +yada - 5*10-324 : + ya da - 1,7*10308

    decimal System.Decimal 128 bit ondalkl say +yada - 1,5*10-28 : + ya da - 7,9*1028

    bool System.Boolean true ya da falsechar System.Char

    Karakterleri temsileder

    16 Unicode karakterleri

    Tablo 1.1: Deer tip listesiReferans tipleri

    Ad CTS Karl Aklama

    object System.Object Btn veri trlerinin tredii kk eleman

    string System.String Unicode karakterlerinden oluan string

    Tablo 1.2: Referans tip listesi

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    10/47

    6

    1.4. Sabitler

    Program boyunca sabit kalacak veriler iin kullanlan tanmlamalardr. Bir sabittanmlamak iin const anahtar kelimesini kullanrz.

    Sabitler tanmlanrken ilk deer atamas yaplmak zorundadr. Program boyunca sabit deeri deitirelemez.

    Kullanm: const =deer;

    rnek 1.4-1:

    const double PI = 3.14;const double PI;

    Yukardaki tanmlanan sabitlerden birincisi doru ikincisi ise yanl bir tanmlamadr.nk sabitler tanmlanrken ilk deer atamas yaplmak zorundadr.

    Sabit kullanm hata mesajlar :

    The left-hand side of an assignment must be a variable, property orindexer: Tanmlanan sabit deikenin deeri deitirilmeye ald zamanoluaacak hata mesajdr. Bu yzden sabit deiken tanmlanrken atanan deer

    program boyunca sabit kalmaldr.

    rnek 1.4-2:

    const double pi = 3.14159265;pi = 2 * pi; //Burada pi deerini deitirdiiniz iin hata mesaj

    alrsnz.

    A const field requires a value to be provided: Tanmlanan sabit deikene ilkdeer atamas yaplmadysa oluan hata mesajdr. Dolaysyla sabit deikentanmlanrken ilk deer atamas yaplmaldr.

    rnek 1.4-3:

    const int pi; // Burada pi sabitine deer atanmad iin hata mesajalrsnz.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    11/47

    7

    1.5. Atama lemi

    = operatr: Genel atama ilemlerinde kullanlr. Eitliin sandaki deer eitliinsolundaki deikene atanr.

    rnek 1.5-1:

    int x, y=5; // 5 deerini y deikenine atamak iin = operatr kullanlmtr.

    x = y + 2; // y deiken deeri ile 2 says toplanarak x deikenine atamak iin =operatr kullanlmtr.

    += operatr: Eitliin sandaki deerle eitliin solundaki deiken deerinitoplayp tekrar eitliin solundaki deikene atar.

    rnek 1.5-2:

    int x=0, y=0, z=0;

    x += 5;//x'e 5 ekle ve x'e eitle 2.yol x = x + 5 eklinde de yazlabilir.

    y += 7;//y'ye 7 ekle ve y'ye eitle 2.yol y = y + 7 eklinde de yazlabilir.

    z += x;//z'ye x'i ekle ve z'ye eitle 2.yol z = z + x eklinde de yazlabilir.

    lem sonucu: x=5, y=7, z=5 olur.

    Not: Bir bir artrma ilemi iin x+=1 (veya x=x+1) yerine x++ ilemi kullanlabilir.

    rnek 1.5-3:

    int x=0, y=0,toplam;

    x++;//x'i bir artr

    y++;//y'yi bir artr

    toplam = x + y;//x ve y'yi toplayarak toplam deikenine ata.

    lem sonucu: x=1, y=1, toplam=2 olur.

    ++ deikenden sonra kullanlrsa nce atama ilemi yaplr sonra artrmayaplr.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    12/47

    8

    rnek 1.5-4:

    int x=0, y=0,toplam;

    x=y++;

    toplam = x + y;

    nce x yye eitlenir, daha sonra y artrlr. lem sonucu: x=0, y=1, toplam=1 olur.

    ++ deikenden nce kullanlrsa nce artrm yaplr daha sonra atamailemi yaplr.

    rnek 1.5-5:

    int x=0, y=0,toplam;

    x=++y;

    toplam = x + y;

    nce y artrlr daha sonra x yye eitlenir. lem sonucu: x=1, y=1, toplam=2 olur.

    -= operatr: Eitliin sandaki deeri eitliin solundaki deiken deerindeneksilterek tekrar eitliin solundaki deikene atar.

    rnek 1.5-6:int x=50, y=50, z=100;

    x -= 5;//x'den 5'i kar ve x'e eitle 2.yol x = x - 5 eklinde de yazlabilir.

    y -= 7;//y'den 7 yi kar ve y'ye eitle 2.yol y = y - 7 eklinde de yazlabilir.

    z -= x;//z'den x'i kar ve z'ye eitle 2.yol z = z - x eklinde de yazlabilir.

    lem sonucu: x=45 , y=43 , z=55 olur.

    Not: Bir bir azaltma ilemi iin x-=1 (veya x=x-1) yerine x-- ilemi kullanlabilir.

    rnek 1.5-7:

    int x=20, y=10,fark;

    x--;//x'i bir azalt

    y--;//y'yi bir azalt

    fark = x - y;//x ve y'yi kararak fark deikenine ata.

    lem sonucu: x=19 , y=9 , fark=10 olur.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    13/47

    9

    -- deikenden sonra kullanlrsa nce atama ilemi yaplr, sonra azaltma

    yaplr.rnek 1.5-8:

    int x=10, y=10,fark;

    x=y--;

    fark = x - y;

    nce x yye eitlenir, daha sonra y azalttrlr. lem sonucu: x=10, y=9 , fark=1 olur.

    -- deikenden nce kullanlrsa nce azaltma yaplr daha sonra atamailemi yaplr.

    rnek 1.5-9:

    int x = 10, y = 10, fark;

    x = --y;

    fark = x - y;

    nce y artrlr daha sonra x yye eitlenir. lem sonucu : x=9 , y=9 , fark=0 olur.

    *= operatr: Eitliin sandaki deerle eitliin solundaki deiken deeri arplptekrar eitliin solundaki deikene atar.

    rnek 1.5-10:

    int x = 2, y = 3, z = 2;

    x *= 2;//x ile 2'i arp ve x'e eitle 2.yol x = x * 2 eklinde de yazlabilir.

    y *= 2;//y ile 2 yi arp ve y'ye eitle 2.yol y = y * 2 eklinde de yazlabilir.

    z *= x;//z ile x'i arp ve z'ye eitle 2.yol z = z * x eklinde de yazlabilir.

    lem sonucu: x=4 , y=6 , z=8 olur.

    /= operatr: Eitliin solundaki deiken deerini eitliin sandaki deere blerek

    tekrar eitliin solundaki deikene atar.rnek 1.5-11:

    int x = 4, y = 10, z = 64;

    x /= 2;//x'i 2'ye bl ve x'e eitle 2.yol x = x / 2 eklinde de yazlabilir.

    y /= 2;//y'yi 2'ye bl ve y'ye eitle 2.yol y = y / 2 eklinde de yazlabilir.

    z /= x;//z'yi x'e bl ve z'ye eitle 2.yol z = z / x eklinde de yazlabilir.

    lem sonucu: x=2, y=5, z=32 olur.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    14/47

    10

    1.6. k lemleri

    1.6.1. Bir Metin fadesini Ekrana Yazdrma

    Bir metin ifadesini ekrana yazdrmak iin iki metot kullanlr:

    1. Metot Console.Write(): Yazdrma ileminden sonra imle yazdrlan ifadeninyannda bekler.

    rnek 1.6-1:

    static void Main(string[] args)

    {Console.Write("Merhaba Dnya");

    Console.ReadKey();// Klavyeden bir tua baslana kadar bekle.}

    kts:

    Resim 1.1: rnek 1.6-1 ekran kts

    Dikkat ederseniz imle yaznn sonunda beklemektedir. Bir baka metin yazdrmayaaltmz zaman imlecin bulunduu yerden devam eder.

    rnek 1.6-2:

    static void Main(string[] args){

    Console.Write("Merhaba Dnya");Console.Write("Gnaydn");

    Console.ReadKey();}

    kts:

    Resim 1.2: rnek 1.6-2 ekran kts

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    15/47

    11

    2. Metot Console.WriteLine():Yazdrma ileminden sonra imle yazdrlan ifadenin

    alt satrnda bekler.rnek 1.6-3:

    static void Main(string[] args){

    Console.WriteLine("Merhaba Dnya");

    Console.ReadKey();}

    kts:

    Resim1.3: rnek 1.6-3 ekran kts

    rnek 1.6-4:

    static void Main(string[] args){

    Console.WriteLine("Merhaba Dnya");Console.WriteLine("Gnaydn");

    Console.ReadKey();

    }

    kts:

    Resim 1.4: rnek 1.6-4 ekran kts

    Program altrdmzda ikinci metin bir alt satra yazlmtr.

    k parametreleri:

    \n: Bir alt satra gemek iin kullanlr.

    \r: Paragraf ba yapmak iin kullanlr.

    rnek 1.6-5:

    static void Main(string[] args){

    Console.WriteLine("\n\nMerhaba Dnya");

    Console.ReadKey();}

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    16/47

    12

    kts:

    Resim 1.5: rnek 1.6-5 ekran kts

    Ekran ktsna baktmzda 2 tane \n kullandmz iin yazmz 2 satr aadanbalamtr.

    1.6.2. lk Deer Atanan Deiken Deerini Ekrana Yazdrma

    Deiken tanmlamay daha nce grmtk. imdi deer atadmz deikeni ekranayazdrma ilemlerini greceiz.

    Deikene ilk deeri tanmlarken veya tanmladktan sonra atayabiliriz.

    int x = 5; // ilk deeri tanmlanrken atadk.

    int y;y = 3; // ilk dereri tanmlandktan sonra atadk.

    Bu deikenleri ekrana nasl yazdrabileceimize bakalm.

    rnek 1.6-6:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine(x);

    Console.WriteLine(y);

    Console.ReadKey();}

    kts:

    Resim 1.6: rnek 1.6-6 ekran kts

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    17/47

    13

    rnek 1.6-7:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine("x deikeninin deeri = {0}", x); // x'indeerini ssl parantez iinde belirtilen sfr (o) yazan yere yaz.

    Console.ReadKey();}

    kts:

    Resim 1.7: rnek 1.6-7 ekran kts

    {0} anlam: Virglden sonra tanmlanan ilk deiken deerini sfrn yerine yaznz.

    Eer ayn anda birden fazla deiken deeri ekrana yazdrlmak isteniyorsa{0},{1},{2} eklinde devam eder. Deikenler virglle ayrlarak tanmlanr.

    rnek 1.6-8:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine("x deikeninin deeri = {0} ydeikeninin deeri ={1}", x, y);

    Console.ReadKey();}

    kts:

    Resim 1.8: rnek 1.6-8 ekran kts

    Deiken deerlerini ekrana birlikte yazdrmann bir dier yoluda + iaretinikullanmaktr. + iareti ifadeleri birletirme ilemini gerekletirir.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    18/47

    14

    rnek 1.6-9:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine("x deikeninin deeri = " + x);

    Console.ReadKey();}

    kts:

    Resim 1.9: rnek 1.6-9 ekran kts

    Grld zere ssl parantez ile yaplan rnekle art iareti kullanlarak yaplanrnein ktlar ayndr.

    rnek 1.6-10:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine("x deikeninin deeri = " + x + "y deikeninin deeri =" + y);

    Console.ReadKey();

    }

    kts:

    Resim 1.10: rnek 1.6-10 ekran kts

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    19/47

    15

    rnek 1.6-11:

    static void Main(string[] args){

    string ad = "Sleyman";//lk deer tanmlanrken atand.string soyad;soyad = "GRHAN"; //lk deeri tanmladktan sonra atadk.

    Console.WriteLine(ad + " " + soyad);

    Console.ReadKey();}

    Resim 1.11: rnek 1.6-11 ekran kts

    rnek 1.6-12:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

    Console.WriteLine("x + y toplam = " + x + y ) ;

    Console.ReadKey();}

    kts:

    Resim 1.12: rnek 1.6-12 ekran kts

    Yapmak istediimiz ilem aslnda x ve y deiken deerlerini toplayp ekranayazdrmakt. Fakat + iaretinin buradaki grevi ifadeleri birletirmek olduundan x ve ydeiken deerlerini yan yana yazarak yanl sonu retmitir.

    rnek 1.6-13:

    static void Main(string[] args){

    int x = 5 ; // ilk deeri tanmlanrken atadk.

    int y;y = 3 ; // ilk dereri tanmlandktan sonra atadk.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    20/47

    16

    Console.WriteLine("x + y toplam = " + (x + y)); / / x + y

    ilemini parantez iine alrsak + iareti toplama ileminigerekletirecektir.

    Console.ReadKey();}

    kts:

    Resim 1.13: rnek 1.6-13 ekran kts

    Console.WriteLine("x + y toplam = " + (x + y)); satrnda x + y ileminiparantez iine alnca doru sonu elde edilmitir.

    Kod satrmz Console.WriteLine("x + y toplam = {0}", x + y ) ; eklinde deyazsaydk ayn sonucu elde ederdik.

    1.6.3. Formatl k lemleri

    Tam say tipinde tanmlanm deikenler zerinde uygulanabilecek format biimleriaadaki tablola belirtilmitir.

    Karakter sim rnek ktC veya c Currency Console.Write("{0:C}", 2500); 2.500,00 TL

    D veya d Decimal Console.Write("{0:D5}", 25);

    Console.Write("{0:D10}", 25);

    00025

    0000000025

    E veya e Scientific Console.Write("{0:E}", 250000); 2,500000E+005

    F veya f Fixed-point Console.Write("{0:F0}", 25);

    Console.Write("{0:F2}", 25);

    Console.Write("{0:F5}", 25);

    25

    25,00

    25,00000

    N veya n Number Console.Write("{0:N}", 2500000); 2.500.000,00

    X veya x Hexadecimal Console.Write("{0:X}", 250); FA

    Tablo 1.3: Tam say tipindeki deikenlere uygulanacak format listesi

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    21/47

    17

    Formatl yazmda kullanlan parametrelerin aklamas:

    C: Sayy para birimi eklinde gsterir.D: Tek kullanldnda bir anlam ifade etmez. Yanna say yazlarak kullanlr.

    Format alnacak saynn basamak deeri yannda yazlan saydan kkse arta kalan deerkadar yanna sfr eklenir.

    E: Sayy 10 zeri eklinde gsterir.F: Saylarn virglden sonraki basamak says ayarlamada kullanlr.N: Sayy binlik basamaklara ayrarak yazar.X: Sayy hexdecimal(16' lk say sistemi) olarak yazar.

    # iareti: Formatl yazmda her bir say iin # iaretini kullanabiliriz.

    rnek 1.6-14:static void Main(string[] args)

    {

    Console.Write("{0:(###) ### ## ##}", 2123552154);

    Console.ReadKey();}

    kts:

    Resim 1.14: rnek 1.6-14 ekran kts

    Tarih formatlama

    Karakter sim rnek(DateTime.Now) iin)

    d Ksa Tarih 01.04.2005

    D Uzun Tarih 01 nisan 2005 Cuma

    t Ksa Saat 20:24T Uzun Saat 20:24:27

    f Tam Tarih ve Saat 01 Nisan 2005 Cuma 20:24

    F Tam Tarih ve Uzun Saat 01 Nisan 2005 Cuma 20:24:27

    g Varsaylan Tarih ve Saat 01.04.2005 20:24

    G Varsaylan Tarih ve Uzun Saat 01.04.2005 20:24:27

    M Gn ve Ay 01 Nisan

    r RFC1123 Tarih Metni Fri, 01 Apr 2005 20:24:27 GMT

    s Sortable Tarih Metni 2005-04-01 20:24:27

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    22/47

    18

    u Universal sortable, Yerel Zaman 2005-04-01 T20:24:27Z

    U Universal sortable, GMT 01 Nisan 2005 Cuma 17:24:27

    Ay ve Yl Nisan 2005

    Tablo 1.4: Tarih tipindeki deikenlere uygulanacak format listesi

    zel tarih formatlama

    Karakter smi rnek rnekkts

    dd Gn Console.Write("{0:dd}", DateTime.Now); 01

    ddd Gn smi Console.Write("{0:ddd}", DateTime.Now); Cum

    dddd Tam Gn smi Console.Write("{0:dddd}", DateTime.Now); Cuma

    hh Saat Console.Write("{0:hh}", DateTime.Now); 08

    HH Saat(24 Saat) Console.Write("{0:HH}", DateTime.Now); 20

    mm Dakika 00-59 Console.Write("{0:mm}", DateTime.Now); 53

    MM Ay 01-12 Console.Write("{0:MM}", DateTime.Now); 04

    MMM Ay smi Console.Write("{0:MMM}", DateTime.Now); Nis

    MMMM Tam Ay smi Console.Write("{0:MMMM}", DateTime.Now); Nisan

    yy Yl, Son ki

    Karakter

    Console.Write("{0:yy}", DateTime.Now); 05

    yyyy Yl Console.Write("{0:yyyy}", DateTime.Now); 2005

    : Ayrc Console.Write("{0:hh:mm:ss}", DateTime.Now); 08:53:56

    / Ayrc Console.Write("{0:dd/MM/yyyy}",DateTime.Now);

    01/04/2005

    Tablo 1.5: zel tarih format listesi

    1.7. Giri lemleri

    1.7.1. Klavyeden Deikene Deer Atama

    Console.Read(): Console snfnn Read() metodu kullancnn klavyeden giriyapmasn salar tek karakter okur ve geriye tam say tipinde bir deer dndrr. Bu deerokunan karakterin ascii kod karldr.

    rnek 1.7-1:

    static void Main(string[] args){

    int x;Console.Write("Bir karakter giriniz: ");x = Console.Read();

    Console.WriteLine("ASCII kod karl : {0}", x);

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    23/47

    19

    Console.ReadKey();}

    kts:

    Resim 1.15: rnek 1.7-1 ekran kts

    Read() metoduyla klavyeden istediiniz kadar deer okutabiliriz, ama geriye sadeceilk karakterin ascii kod karln dndrecektir. Burda dikkat etmemiz gereken bir bakanokta ise Read() metodu geriye tam say bir deer dndrd iin atamay tam say tipinde

    bir deikene yapmalyz. Aksi hlde hata mesaj alrz ( Cannot implicitly convert type'int' to 'string') .

    Console.ReadLine(): Console snfnn ReadLine() metodu kullancnn klavyeden birdeer girmesini salar ve bu deeri metin(string) bir ifade olarak geri dndrr.

    rnek 1.7-2:

    static void Main(string[] args){

    string x;Console.Write("Adnz giriniz: ");x = Console.ReadLine();Console.WriteLine("Merhaba {0} ", x);

    Console.ReadKey();}

    kts:

    Resim 1.16: rnek 1.7-2 ekran kts

    ReadLine() metodu ile geri dndrlen deer metin(string) tipindedir. Dolaysylaokunan deeri metin(string) tipinde bir deikene atamalyz. Eer ki matematiksel bir ilemyaplacaksa deeri saysal ifadeye evirmemiz gerekmetedir. Bu ilem iin Convert snfveya veri trlerinin Parse zelliinden faydalnr.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    24/47

    20

    rnek 1.7-3:

    static void Main(string[] args){

    string x, y;Console.Write("1. Sayy Giriniz: ");x = Console.ReadLine();Console.Write("2. Sayy Giriniz: ");y = Console.ReadLine();Console.WriteLine("{0} + {1} = {2} ", x, y, (x+y));

    Console.ReadKey();}

    kts:

    Resim 1.17: rnek 1.7-3 ekran kts

    Grld zere string ifadeler zerinde matematiksel ilemler yapamyoruz.Matematiksel ilem yapacaksak deikenimizin tipini saysal ifadeye evirmeliyiz.

    rnek 1.7-4:

    static void Main(string[] args){

    string x, y;Console.Write("1. Sayy Giriniz: ");x = Console.ReadLine();Console.Write("2. Sayy Giriniz: ");y = Console.ReadLine();Console.WriteLine("{0} + {1} = {2} ", x, y,

    (Convert.ToInt16(x)+ Convert.ToInt16(y)));

    Console.ReadKey();}

    kts:

    Resim 1.18: rnek 1.7-4 ekran kts

    (Convert.ToInt16(x) ve Convert.ToInt16(y) eklinde tip dnm yaplarakstring tipindeki deiken deerlerimizi tam say tipine dntryoruz. Bylelikle zerinde

    matematiksel ilemler yapabiliyoruz.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    25/47

    21

    1.8. Giri-k lemleri Hata Mesajlar

    Hazrlayacamz programn en nemli zelliklerinden biri de stabil almasolmaldr. Stabil almas programmzn hatalara kar ne kadar hazrlkl ve kullancyaverdii geri dntle e deerdir. Programmzn almas srasnda oluabilecek hatalargenellikle kullanc girilerinden kaynaklanr. Bu yzden kullanc girilerini kontol altnaalarak alma zamannda oluabilecek hatalar en aza indirmek ise biz programclarngrevidir. nce hatalar olutuunda programn nasl sonlandn grelim daha sonra bununiin bir zm arayalm.

    rnek 1.8-1:

    static void Main(string[] args)

    {int x;Console.Write("Bir Sayy Giriniz: ");x = Convert.ToInt16(Console.ReadLine());

    Console.ReadKey();}

    Programmz altralm ve say yerine string bir ifade girelim.

    Resim 1.19: rnek 1.8-1 ekran kts

    Programda istenilen say yerine string bir ifade girdiimiz zaman ekran ktsaadaki gibi olacaktr. String ifade int tipine evrilmede zorlanlacandan programduracaktr. Giri dizesinin doru olmadna dair bir hata verecektir (Input string was notin a corrent format.) .

    Resim 1.20: Giri dizesi doru biimde deil hata mesaj

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    26/47

    22

    rnek 1.8-2:

    static void Main(string[] args){

    int x, y;Console.Write("1. Sayy Giriniz: ");x = Convert.ToInt16(Console.ReadLine());

    Console.Write("2. Sayy Giriniz: ");y = Convert.ToInt16(Console.ReadLine());

    Console.WriteLine("{0} / {1} = {2}", x, y, x / y);

    Console.ReadKey();

    }

    Programmz altralm ve aadaki gibi deerleri girelim.

    Resim 1.21: rnek 1.8-2 ekran kts

    Girilen saylardan biri sfr olduu zaman programmz sfra blme hatasyla

    karlaacandan dolay duracaktr (Attempted to divide by zero) .

    Resim 1.22: Sfra blem hata mesaj

    Yukardaki kodlarda da grld gibi program esnasnda kullanclar tarafndanyaplan hatal giriler programn hatayla karlamasna ve durmasna sebep olmaktadr. Bizbu hatalar program iinde nasl yakalarz ve kullancya hata hakknda nasl mesaj veririzbuna bakalm.

    .Net programclkta biz bu tr hatalara istisnalar(Exception) diyoruz. stisnalar,programmzn alma zamannda yani program alrken ortaya kan olaan ddurumlardr. .NET ortamnda her ey gibi istisnalar da snflar kullanlarak oluturulmakta vetm istisnalar temel System.Exception nesnesinden tretilmektedir.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    27/47

    23

    stisnalar program esnasnda yakalamak ve kullancya hata mesajn vermek iin

    try{} catch{} finally{} bloklarn kullanyoruz.try{} bloku: stisnann kmas muhtemel kodlarn yazld bloktur.

    catch{} bloku: Oluan istisnann yakaland ve kullancya sunulduu bloktur.

    finally{} bloku: Try bloku iinde hata olsa da olmasa da almasn istediimizkadolarn yazld bloktur. Finally blou genellikle baz kaynaklar serbest brakmak iinkullanlr. Kullanlmas istee bal bir bloktur. En sk kullanld yerler ak olan veritaban balantlarnn program krlsa da krlmasa da kapatlmas durumlardr.

    rnek 1.8-3:

    static void Main(string[] args){

    int x, y;Console.Write("1. Sayy Giriniz: ");x = Convert.ToInt16(Console.ReadLine());Console.Write("2. Sayy Giriniz: ");y = Convert.ToInt16(Console.ReadLine());try{

    Console.WriteLine("{0} / {1} = {2}", x, y, x / y);}catch (Exception e)

    { Console.WriteLine("Hata Olutu : {0}", e);}finally{

    Console.WriteLine("yi Gnler");}Console.ReadKey();

    }

    Programmz altrp aadaki gibi deerleri girdiimiz zaman herhangi bir hataylakarlalmadndan istediimiz sonucu retecektir.

    Resim 1.23: rnek 1.8-3 ekran kts

    Fakat prgorammza aadaki deerleri girdiimiz zaman hatayla karlalacak veprogrammz olduu yerde durup catch{} blokuna atlayacak ve buradan almaya devamedecektir.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    28/47

    24

    Resim 1.24: rnek 1.8-3 ekran kts

    Dikkat ederseniz her iki durumda da finally bloku iine yazdmz kodlaraltrlmaktadr.

    rnek 1.8-4:

    static void Main(string[] args){

    byte x ;

    try{

    Console.Write("0-255 Arasnda Bir Sayy Giriniz: ");x = Convert.ToByte(Console.ReadLine());

    Console.WriteLine("Doru Deer Girdiniz");}catch (Exception e){

    Console.WriteLine("Yanl Deer Girdiniz");Console.WriteLine("Hata Olutu : {0}", e);

    }finally{

    Console.WriteLine("yi Gnler");}

    Console.ReadKey();}

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    29/47

    25

    Resim 1.25: rnek 1.8-4 ekran kts

    Eer bizden istenildii gibi 0-255 aras bir deer girersek programmz herhengi birhatayla karlamayaca iin try bloku iindeki tm kodlar icra edilip finally blouna atlarve almasna ordan devam eder. Yukardaki ekran ktsnda grld gibi

    Resim 1.26: rnek 1.8-4 ekran kts

    Fakat istenilen deer dnda bir deer girdiimiz zaman program hataylakarlaacandan hatann olutuu satrda program durdurulur ve catch blokuna atlanr vealmasna ordan devam eder. Yukardaki ekran ktsnda grld zere hata x =Convert.ToByte(Console.ReadLine()); satrnda olutuundan bir sonraki satr icraedilmeden catch blokuna atlanm ve program buradan devam etmitir.

    1.9. Aklama Satrlar

    Aklama satrlar programcya kod iinde tanmlama metinleri yazma imkn salar.Bu sayede kod paracklarnn ne i yaptklar anlatlm olur. Kodlarmz arasna aklamasatrlar eklemek olduka nemlidir. Az satrl program kodlarnda birey ifade etmeyebilirfakat byk programlarda kod bloklarnn ne ie yaradklar yazlarak programcnn ileridekarlaaca problemleri kolay zmesinde yardmc olacaktr. Ayrca aklama satrlarprogram derlenirken dosya ierisine alnmadndan oluan dosyann boyutunu ya daalmasn etkilememektedir.

    static void Main(string[] args)

    {

    //Bu Satr ekrana Merhaba Dnya Yazar.

    Console.Write("Merhaba Dnya");

    }

    // karakterlerinden sonra gelen ve satrn sonuna kadar olan szckler yorumsatrlardr ve programlama dili derleyicisi tarafndan grnmez. Ayn zamanda birden fazlasatra yorum eklemek istiyorsak /* */ karakterleri arasna yorum yazarz.

    static void Main(string[] args)

    {

    /* Bu Satr ekrana Merhaba Dnya Yazar.

    Bu Ksm derleyici tarafndan yok saylr.

    */

    Console.Write("Merhaba Dnya");

    }

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    30/47

    26

    UYGULAMA FAALYET

    Aadaki uygulamalar yapnz.lem Basamaklar neriler

    Bir okul programnda kullanlabilecekdeikenleri maddeler hlinde yaznz.

    Deiken isimlendirme kurallarnadikkat ediniz.

    Tanmladnz her deikene bir tipbelirleyiniz.

    He deikenin bir tipi olmas gerektiiniunutmaynz.

    Tanmladmz her deikene bir deerataynz.

    Tanmlanan her yerel deikenin birdeeri olmas gerektiini unutmaynz.

    Tanmladmz deikenlerden sabit

    olarak ayrabileceklerimizi seiniz.

    Sabitlerin deeri tanmlandklarnda

    atanr ve program boyuncadeitirilemez.

    UYGULAMA FAALYET

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    31/47

    27

    LME VE DEERLENDRMEAadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.

    1. Aadaki deiken isimlerinden hangisi hataldr?

    A) ogrenciNo B) OgrenciAdC) ogrenci_soyad D) ogrenci sinif

    2. Aadakilerden hangisi veri tiplerinden deildir?

    A) string B) slong C) int D) byte

    3. 8 bit iaretsiz tam say tipi aadakilerden hangisidir?

    A) byte B) int C) long D) short

    4. Program boyunca sabit kalacak veriyi hangi kelime ile tanmlarz?

    A) float B) double C) bool D) const

    5. Aadaki kullanmlardan hangisi ile nce arttrma ilemi yaplp daha sonraatama ilemi yaplr?

    A) ++a B) a++ C) +a D) a+

    6. Aadaki yazmlardan hangisinin ekran ktseklindedir.

    A) Console.WriteLine("X dee r i = x y d eeri=y");B) Console.WriteLine("X deeri = {0} y deeri={1}" + 2 + 4 ) ;C) Console.WriteLine("X deeri = {0} y deeri={1}", 2, 4);D) Console.Write("X deeri = {0} y deeri={1}", 2, 4);

    7. Hangi tarih formatn kullanrsak ekran kts Nisan eklinde olur?

    A) Console.Write("{0:MMM}", DateTime.Now);B) Console.Write("{0:MMMM}", DateTime.Now);C) Console.Write("{0:yy}", DateTime.Now);D) Console.Write("{0:dddd}", DateTime.Now);

    LME VE DEERLENDRME

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    32/47

    28

    Aada verilen cmlelerde bo braklan yerlere doru szckleri yaznz.

    8. Bir metin ifadesini ekrana yazdrmak iin ......................... veya .......................metodunu kullanrz.

    9. Metni bir alt satrdan balayarak yazdrmak iin .. parametresini kullanrz.

    10. Muhtemel istisna olumasn dndmz kodlar ........................... bloklararasna alrz.

    DEERLENDRME

    Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevapverirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    33/47

    29

    RENME FAALYET2

    Bu renme faaliyetinde operatrleri kullanabileceksiniz.

    Matematik dersinde kullanlan ilem ncelii kurallarn liste hlinde

    hazrlaynz. ncelikle kendinize bir hedef belirleyiniz. Bu hedefe ulamak iin gerekli olantm artlar sralaynz. Hangi atlar gerekletirdiinizde hedefinizeulaabileceinizi iaretleyiniz.

    2. OPERATRLERProgramlama dillerinde tanmlanm sabit ve deikenler zerinde ilemler yapmamz

    salayan karakter ya da karakter topluluklarna operatr denir.

    rnein;

    int sayi = 2 + 3;

    Yukardaki rnekte + ve = karakterleri birer operatrdr. + karakteri 2 ve 3 sabitlerinitoplama yapyor ve = karakeri ise toplanan deeri tanmlanan deikene atama ileminigerekletiriyor.

    2.1. Aritmetiksel Operatrler

    Aritmetik ilemler yaparken kullandmz operatrlerdir.

    2.1.1. Drt lem

    Operatr Aklama+ Toplama lemi- karma lemi* arpma lemi / Blmelemi

    Tablo 2.1: Drt ilem operatr listesi

    ARATIRMA

    AMA

    RENME FAALYET2

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    34/47

    30

    rnek 2.1-1:

    using System;namespace Operatorler{

    class DortIslem{

    static void Main(string[] args){

    int x = 10;int y = 5 ;

    Console.WriteLine("x + y = {0}", x + y ) ;Console.WriteLine("x - y = {0}", x - y ) ;

    Console.WriteLine("x * y = {0}", x * y ) ;Console.WriteLine("x / y = {0}", x / y ) ;

    Console.ReadKey();}

    }}

    kts:

    Resim 2.1: rnek 2.1-1 ekran kts

    rnek 2.1-2:

    using System;

    namespace Operatorler{

    class DortIslem{

    static void Main(string[] args){

    int x = 10;int y = 4 ;

    int intSonuc = x / y;float floatSonuc = x / y;double doubleSonuc = x / y;

    Console.WriteLine("x / y = {0}", intSonuc);Console.WriteLine("x / y = {0}", floatSonuc);Console.WriteLine("x / y = {0}", doubleSonuc);

    Console.ReadKey();}

    }

    }

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    35/47

    31

    kts:

    Resim 2.2: rnek 2.1-2 ekran kts

    Aslnda sonu 2.5 olmas gerekirken 2 olarak kt. Bunun sebebi ise x ve ydeikenleri int yani tam say tipinde tanmlandklarndan kan sonucun da kesirli ksmatlp tam say ksm alnmaktadr.

    rnek 2.1-3:

    using System;

    namespace Operatorler{

    class DortIslem{

    static void Main(string[] args){

    int x = 10;int y = 4 ;

    int sonuc;

    float floatSonuc;

    sonuc = x / y;Console.WriteLine("x / y = {0}", sonuc);

    floatSonuc = (float)x / y;Console.WriteLine("x / y = {0}", floatSonuc);

    floatSonuc = x / (float)y;Console.WriteLine("x / y = {0}", floatSonuc);

    floatSonuc = (float) x / (float)y;

    Console.WriteLine("x / y = {0}", floatSonuc);

    floatSonuc = (float)(x / y);Console.WriteLine("x / y = {0}", floatSonuc);

    Console.ReadKey();}

    }}

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    36/47

    32

    kts:

    Resim 2.3: rnek 2.1-3 ekran kts

    Birinci kt: sonuc = x / y = 10/4 bir tam say blme ilemi olduundan blmn tamsay ksm alnmtr.

    kinci kt: floatSonuc = (float)x / y = (float)10 / 4 deyiminde, nce 10 say s floattipine dntrlyor, sonra 4 saysna blnyor. Bir float tipin bir tam sayya blm yinefloat tipindendir. Dolaysyla, (float)10 / 4 = 2.5tir.

    nc kt: Bu kt ikinci ktnn simetriidir. floatSonuc = x / (float)y = 10 /(float)4 deyiminde, nce 4 says float tipine dntrlyor, sonra 10 tam says 4.0 saysnablnyor. Bir tam say tipin bir float tipine blm yine float tipindendir. Dolaysyla, 10 /(float)4 = 2.5tir.

    Drdnc kt: kinci ve nc ktnn birleimidir. floatSonuc = (float)x / (float)y= (float)10 / (float)4 deyiminde, nce 10 ve 4 saylarnn her ikisi de float tipinedontrlr. Sonra iki float tipin birbirine blm yaplr. Bu ilemin sonucu, doal olarak

    bir float tipidir. Dolaysyla, (float)10 / (float)4 = 2.5tir.Beinci kt: floatSonuc = (float)(x / y) = (float)(10/4) deyiminde, nce (10 / 4 )

    blme ilemi yaplr. Bu bir tam say blme ilemi oldugu iin birinci ktda oldugu gibikan sonu 2 dir. (float) 2 = 2.0000000 olduundan kt 2dir.

    2.1.2. Mod Alma

    Bir saynn baka bir sayya blmnden kalan sonucu alma ilemine mod alma denir.Bu ilemi yapmak iin % karakteri kullanlr.

    rnek 2.1-4:

    using System;

    namespace Operatorler{

    class ModAlma{

    static void Main(string[] args){

    double x = 10;double y = 4 ;

    double sonuc = x % y;

    Console.WriteLine("x % y = {0}", sonuc);

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    37/47

    33

    Console.ReadKey();

    }}

    }

    kts :

    x % y = 2

    rnek 2.1-5:

    using System;

    namespace Operatorler{class ModAlma{

    static void Main(string[] args){

    int x, y;

    Console.Write("1. Deeri Giriniz :");x = Convert.ToInt16(Console.ReadLine());Console.Write("2. Deeri Giriniz :");y = Convert.ToInt16(Console.ReadLine());

    Console.WriteLine("{0} % {1} = {2}", x, y, x % y);

    Console.ReadKey();}

    }}

    kts :

    Resim 2.4: rnek 2.1-5 ekran kts

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    38/47

    34

    2.2. likisel Operatrler

    likisel operatler iki deerin karlatrlmas ilemi iin kullanlr. Programmzdakoul ifadelerinde kullanlarak programn akn deitirmemizi salar. Karlatrmasonucunda doru(true) ve yanl(false) olmak zere boolen bir deer dndrr.

    rnein, gnlk hayattan bir rnek verelim.

    ema 2.1: ki deerin karlatrlmasHava yamurlu mu sorusu bizim iin bir art ve bu art iinde havann durumunu

    yamurla karlatryoruz. Bu soruya darda yamur yayorsa evet(true) yamyorsahayr(false) eklinde boolen bir cevap veriyoruz. Dolaysyla verdiimiz cevaba gre deprogrammzn ak yn deitirmektedir.

    Operatr Aklama

    == Eittir!= Eit Deildir> Byktr< Kktr

    >= Byk Eittir

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    39/47

    35

    != Operatr: Ayn trdeki iki deerin birbirine eit olmadnn(eit deil) kontol

    iin kullanlan operatrdr.int x = 10;int y = 4 ;

    string str1 = "megep";string str2 = "megep";

    x ! = y // truestr1 != str2 // false

    3 ! = 3 // false1 ! = 3 // true

    > Operatr: Bir deerin ayn trdeki baka bir deerden byklnn kontrolnnyapld operatrdr. Bu operatr string ilemlere uygulanmaz.

    int x = 10;int y = 4 ;

    x > y // truey > x // false

    3 > 3 // false5 > 3 // true

    < Operatr: Bir deerin ayn trdeki baka bir deerden kklnn kontrolnnyapld operatrdr. Bu operatr string ilemlere uygulanmaz.

    int x = 10;int y = 4 ;

    x < y // falsey < x // true

    3 < 3 // false1 < 3 // true

    >= Operatr: Bir deerin ayn trdeki baka bir deerden byk veya eitliikontrolnn yapld operatrdr. Bu operatr string ilemlere uygulanmaz.

    int x = 10;int y = 4 ;

    x > = y // truey > = x // false

    3 > = 3 // true

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    40/47

    36

    int x = 10;

    int y = 4 ;

    x < = y // falsey < = x // true

    3 < = 3 // true

    2.3. Mantksal Operatrler

    Mantksal operatrler birden fazla artn olduu durumlarda kullanlr. Birden okboolen deeri tek bir boolen deere indirmek iin kullanlr.

    Operatr Aklama&& Ve|| Veya! Deil

    Tablo 2.3: Mantksal operatr listesi

    && Operatr: Ve anlamndadr. Sorgulanan tm artlar doru(true) olduu zamandoru(true), artlardan birinin yanl(false) olmas durumunda yanl(false) deerinidndrr.

    int x = 1 0 , y = 4 ;string str1 = "megep";

    x = = y & & "megep" = str1 // 1. art = false, 2. art = true -> sonu =false

    x = = 1 0 & & y = = 4 & & true == true // 1. art = true, 2. art = true, 3.art = true -> sonu = true

    || Operatr: Veya anlamndadr. Sorgulanan artlardan birinin doru(true) olmasdurumunda doru(true), artlarn hepsinin yanl(false) olmas durumunda yanl(false)deerini dndrr.

    int x = 1 0 , y = 4 ;

    string str1 = "megep";

    x = = y | | "megep" = str1 // 1. art = false, 2. art = true -> sonu =true

    x = = 4 | | y = = 1 0 | | "megep" = str1 // 1. art = false, 2. art = false,3. art = true -> sonu = true

    x = = 4 | | y = = 1 0 | | true == false // 1. art = false, 2. art = false,3. art = false -> sonu = false

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    41/47

    37

    ! Operatr: Deil anlamndadr. ! iareti deeri tersine evirir.

    (!true) // sonu = false(!false) // sonu = true

    2.4. lem ncelii

    lem ncelik sras aadaki tabloda en yksekten en de doru sralanmtr.

    En Yksek()!

    *, /, %+, -= =, !=&&||En Dk

    Tablo 2.4: lem ncelii listesi

    Yaplan ilemde yukardaki sra tamamlandktan sonra eer ayn tr ilemler kaldysa

    ilem soldan saa doru yaplr.

    rnek 2.4-1: 3+5*2 ileminin sonucu nedir?Yukardaki ilemde nce 3 ile 5i toplar ve sonucu 2 ile arparsanz sonu yanl kar.

    lem nceliine gre nce 2 ile 5i arpp kan sonula 3 topladmz zaman sonudoru kar.

    3+5*2 = 8*2 = 16 // yanl cevap3+5*2 = 3 + 10 = 13 // doru cevap

    rnek 2.4-2: 10/5*2 ileminin sonucu nedir?

    Yukardaki ilemde nce 5 ile 2yi arpar ve 10u kan sonuca blerseniz yanl cevapkar. Blme ve arpmann ilem ncelii e deer olduu iin ilem soldan saa doruileyecektir.

    10/5*2 = 10 / 10 = 1 // yanl cevap10/5*2 = 2 * 2 = 4 // doru cevap

    rnek 2.4-3: (5+2)*4-6/2 ileminin sonucu nedir?

    (5+2)*4-6/2 = 7*4-6/2 = 28-6/2 = 28-3 = 25 // doru cevap

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    42/47

    38

    UYGULAMA FAALYETAadaki ilemleri uygulaynz.

    lem Basamaklar neriler

    Tanmlanan deikenlere saysalhesaplamalar yaparak deer aktarnz.

    nce basit matematiksel ilemlerideneyebilirsiniz, yanz hesaplamakgibi

    Elde edilen deeri ekranda gsteriniz. Sadece sonucu gstermek anlamlolmaz.

    Mesela: "Yam: 16" gibi yazdrnz.

    Karmak matematiksel formllerdegerekli yerlere parantez ekleyerek ilemnceliklerini belirleyiniz.

    Deneyeceiniz formlleri hesapmakinesi ve hesap tablosu programlarile deneyip sonucu karlatrnz.Gvenilir sonular elde etmeye alnz.

    Metin birletirme operatr ile birdenfazla metin deeri birletiriniz.

    UYGULAMA FAALYET

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    43/47

    39

    LME VE DEERLENDRMEAadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.

    1. Mod alma ilemini aadaki karakterlerden hangisi gerekletirir.

    A) > B) ! C) % D) &

    2. Aadakilerden hangisi iliikisel operatrler arasnda yer almaz.

    A) || B)

    3. Ve mantksal operatr aadakilerden hangisidir.

    A) != B) == C) & D) &&

    4. (5+3)*4-6/2*3-(2*3) ileminin sonucu aadakilerden hangisidir.

    A) 33 B) 17 C) 25 D) 19

    Aada verilen cmlelerde bo braklan yerlere doru szc yaznz.

    5. 4 > 2 ilemi .......... sonucunu retir.

    6. Koul ifadelerinin karlatrlmasnda kullanlan operatrlere ................. denir.

    7. ... operatr deil anlamndadr. Deeri tersine evirir.

    DEERLENDRME

    Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevapverirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz.

    LME VE DEERLENDRME

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    44/47

    40

    MODL DEERLENDRME

    Aadaki soruyu dikkatlice okuyunuz ve doru seenei iaretleyiniz.1. Aadaki yerel deiken tanmlamalarndan hangisi doru yaplmtr?

    A) int16 sayi B) metin ad C) byte yas D) float 12Aadaki cmlelerin banda bo braklan parantezlere, cmlelerde verilen bilgilerdoru ise D, yanl ise Y yaznz.

    2. ( )Tanmlanan bir deikene, ancak tanmland blok iinde ulalabilir.

    3. ( )ogrNo ile OgrNO ayn hafza blgesini temsil eder.

    4. ( )Birden fazla artn olduu durumlarda aritmetiksel operatrler kullanlr.Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.

    5. Aadakilerden hangisi referans tipler arasnda yer alr?

    A) string B) float C) double D) bool

    6. Aadaki atama operatrlerinden hangisi doru kullanlmtr?

    A) a= = 5 B) a+- C) a++= 2 D) a+= 3

    7. Aadaki yazmlardan hangisi dorudur?

    A) Console.WriteLine("Boyunuz : {0} Kilonuz : {1}", boy, kilo);B) Console.WriteLine("Boyunuz : boy Kilonuz : kilo");C) Console.WriteLine("Boyunuz : [0] Kilonuz : [1]", boy, kilo);D) Console.WriteLine("Boyunuz : {0} Kilonuz : {1} " + boy + kilo);

    8. Console.Write("{0:C}", 3000); komutunun ekran kts aadakilerden hangisidir?

    A) 3.000 TL B) 3000 TL C) 3.000,00 TL D) 0003 TL

    9. 10 % 3 ileminin sonucu katr?

    A) 4 B) 1 C) 3 D) 2

    10. (8/2*4)+4-10*2 ileminin sonucu katr?

    A) 0 B) -15 C) -4 D) 15

    DEERLENDRME

    MODL DEERLENDRME

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    45/47

    41

    Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap

    verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.Cevaplarnzn tm doru ise bir sonraki modle gemek iin retmeninize bavurunuz.

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    46/47

    42

    CEVAP ANAHTARLARIRENME FAALYET 1 CEVAP ANAHTARI

    1 D2 B3 A4 D5 A6 C7 B8 Console.Write()

    Console.WriteLine()9 \n

    10 Try ..Catch

    RENME FAALYET 2CEVAP ANAHTARI

    1 C2 A3 D4 B5 true6 likisel7 !

    MODL DEERLENDRME CEVAP ANAHTARI

    1 C

    2 DORU3 YANLI4 YANLI5 A6 D7 A8 C9 B

    10 A

    CEVAP ANAHTARLARI

  • 8/3/2019 PT 02 Basit Kodlar 482BK0122

    47/47

    KAYNAKA

    http://www.ecma-international.org/

    http://www.gorselprogramlama.com/ (15.03.2011- 12:00)

    http://www.yazilimmutfagi.com/ (15.03.2011- 12:00)

    http://www.csharpnedir.com/ (15.03.2011- 12:00)

    http://www.programmersheaven.com/ (15.03.2011- 12:00)

    http://tr.wikipedia.org/wiki/Ana_Sayfa

    KAYNAKA