pt 02 basit kodlar 482bk0122
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