Programlama Temelleri Değişkenler
-
Upload
kadirolmez -
Category
Technology
-
view
152 -
download
1
Transcript of Programlama Temelleri Değişkenler
![Page 1: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/1.jpg)
PROGRAMLAMA TEMELLERİ PROJE ÖDEVİ
AD: AbdülkadirSoyad: ÖLMEZSınıf: 10/BNumara: 136
DEĞİŞKENLER
![Page 2: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/2.jpg)
Değişken Nedir ?• C’de değişken, verinin tutulacağı yerdir. Değişkenler
bellekte belli bir yer kaplar ve onlar aracılığıyla belleğin bu bölümlerine değerler verilebilir ve daha sonra gerektiğinde okunabilir.
• Bilgisayarın belleği büyük eşit parçalar halinde düşünülebilir. Bu büyük parçalar birim parçalardan oluşmuştur ve ardışık bir şekilde homojen bir görünümde dizilmişlerdir. Bu parçalara bellek adresleri denir. Değişkenler ise bir veya birkaç birim parça yer işgal eden çeşitli değerler alabilen özel bellek parçalarıdır.
![Page 3: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/3.jpg)
Değişken İsimlendirme Kuralları• Değişkenler isimlendirilirken kelimeler arasında boşluk karakteri
kullanılmaz. Gerekli durumlarda _ ile kelimeler birleştirilebilir.• C#’da değişken isimleri büyük-küçük harf duyarlıdır. Yani sayi ile
SAYI aynı değişkeni göstermez.• Değişken isimlerinde zorunluluk olmamasına karşın Türkçe
karakter kullanılmamalıdır.• Değişken isimleri ?,!,:,% gibi özel karakterler içeremez.• Değişken ismi olarak C# dilindeki özel kelimeler seçilemez.• Değişken isimlerinde zorunlu olmamasına karşın küçük harf
kullanımı tercih edilir. Eğer değişken ismi iki ya da daha fazla kelimeden oluşuyorsa ilk kelime hariç diğer kelimelerin ilk harfi büyük yazılır. (sayi, maasMiktari, kitapSayisi v.b.)
![Page 4: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/4.jpg)
Temel Değişken TipleriC’ın değişken tipleri konusunda aslında hiçbir sınırlaması yoktur çünkü bu dil programcının da değişken tipi tanımlamasına izin verir. Ancak C’ın ve benzeri birçok dilin içinde gelen dört tane temel değişken tipi vardır ve bunlar yeterlidir:
int (integer) - tamsayıfloat (floating point) - ondalıklı sayıdouble – çift duyarlıklı ondalıklı sayıchar (character) – karakter türünde veri
![Page 5: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/5.jpg)
Değişken Tipi Değişken Boyutu Değer Aralığıunsigned short int 2 byte 0 – 65,535short int 2 byte -32,768 – 32,767unsigned long int 4 byte 0 – 4,294,967,295long int 4 byte -2,147,483,648 –
2,147,483,647int (16 bit) 2 byte -32,768 – 32,767int (32 bit) 4 byte -2,147,483,648 –
2,147,483,647unsigned int (16 bit) 2 byte 0 – 65,535unsigned int (32 bit) 4 byte 0 – 4,294,967,295char 1 byte 0 – 255 (256 karakter)
float 4 byte 1.2e-38 – 3.4e38double 8 byte 2.2e-308 – 1.8e308
Adı CTS Karşılığı Açıklamaobject System.Object Bütün veri türlerinin türediği kök
eleman
string System.String Unicode karakterlerinden oluşan string
Referans tip listesi
Değer tip listesi
Değer Tipleri
![Page 6: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/6.jpg)
Veri Tipleri2.17.1Int TipInteger = TamsayıTamsayıları içerir. Bellekte 2 Byte tutar.5 , -19 , 25000 gibiMinimum : -231 = -32768Maksimum : 231-1 = 32767
![Page 7: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/7.jpg)
Gerçel Tipler (Float, Double)• Gerçel sayıları içerirler.• 2.18.1.float : Bellekte 4 Byte yer tutar. 3.4E-38
ile 3.4E+38 aralığında değer alır. Hassasiyet 7-8 basamaktır.
• 2.18.2.double : Bellekte 8 Byte ter tutar. 1.7E-308 ile 1.7E308 aralığında değer alır. Hassasiyet 15-16 basamaktır.
• 218.1 , -5.2 , 4.0• Bilimsel gösterim biçimi 2.5*103 = 2.5E3
2.5*10-3 = 2.5E-3
![Page 8: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/8.jpg)
Char TipChar : Karakter : Alfanumerik karakterleri içerir.'5' , '*' , 'K' 2.20.Sabitler (CONST)#include <stdio.h>main(){const float PI=3.14; Tanımlama kısmıfloat r, Alan;scanf("%f",r); alan := PI*r*r; printf(('Alan = %f', alan); }
![Page 9: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/9.jpg)
CONST (sabit)
Değeri programın çalışması boyunca değiştirilemez. Kullanım biçimiconst tip Belirleyici=değeri;const float PI=3.14;Tip belirtilmez ise tamsayı kabul edilir.
![Page 10: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/10.jpg)
Değişken KavramlarıDeğişkenler bellekte kapladıkları alanla orantılı olarak değer alabilirler. Yani değişken bellekte ne kadar çok yer kaplıyorsa o kadar geniş bir değer aralığına sahiptir. Ancak bu değer aralığını genişletmenin bir yöntemi daha var. O da ‘unsigned’ yani ‘işaretsiz’ tanımlaması. Eğer tanımlayacağımız değişkenin negatif değer alma ihtimali yoksa; örneğin yaş, boy, nüfus, yakıt durumu, yüzde gibi veriler kullanılacaksa, bu durumda ‘unsigned’ tanımlanması tercih edilebilir. Bir değişkeni ‘unsigned’ tanımladığımız zaman değişkenin tüm bitlerini değer aralığı için kullanabiliriz. Aksi taktirde değişkenin en soldaki biti ‘negatif - pozitif’ durumunu kontrol etmek için kullanılır.
![Page 11: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/11.jpg)
Bir Değişken TanımlamakProgramcı ne tür bir program yazıyor olursa olsun, programın tasarlanması aşamasında en çok dikkat etmesi gereken faktörlerden biri değişken tanımlamalarıdır. Değişkenin tipinin ve isminin yanlış seçilmesi o an için bir problem teşkil etmeyebilir ancak aradan belli bir zaman geçtikten sonra çok büyük sorunlara neden olabilir. Öyle ki kesirli işlemler yapılacağı halde birtakım değişkenler tamsayı belirlenmişse ve test aşamasında şansa kesirli sonuçlar vermeyen değerler girildiğinde o an için program düzgün çalışıyormuş gibi gözükebilir. Ayrıca değişkenlere anlamsız isimler verildiğinde yine o an için bir sorun çıkmasa da programcının üç beş ay sonra yeniden aynı programla uğraşmaya başladığında hangi değişkenin ne amaçla kullanıldığını bulabilmek için programı başından sonuna adım adım takip etmesi gerekebilir. Büyük bir projede karmaşa yüzünden adım adım takip de mümkün olmayabilir. Bu tür durumlarla karşılaşmamak için değişkenlere her zaman anlamlı isimler vermek daha doğrudur. O anda ‘x yolu’ diye aklınızdan geçen bir şey varsa o değişkene ‘x’ adını vermek yerine ‘yol’ demek sonrası için daha iyi olacaktır.
![Page 12: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/12.jpg)
Büyük / Küçük Harf HassasiyetiC dilinde değişkenlere isimler verirken harflerin büyük veya küçük olmasıyla ilgili bir sınırlandırma getirilmemiştir. Bunun yanısıra C’ın değişkenlerle ilgili bir özelliği aynı isimde iki değişken olamamasıdır. Ancak aynı değişken isminde harflerin bir veya birkaçı büyük/küçük farklılığı gösteriyorsa bu durumda aynı isimde iki değişken olabilir.
![Page 13: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/13.jpg)
Birden Fazla Kelime İçeren Degisken AtamakDeğişken isimlerinin mümkün olduğunca anlamlı olması gerektiğinden bahsetmiştik. Bir arabanın hızının tutulacağı değişkenin ismi en basit mantıkla ‘araba hızı’ olabilir. Ama ne yazık ki bu tanımlama hatalıdır. Birden fazla kelimeden oluşan değişkenlerin isimlendirmesiyle ilgili birkaç genel yöntem mevcuttur. Bunlardan en kullanışlı iki tanesi şunlardır:1)araba_hizi,sol_ust_kose_koordinati2) arabaHizi, solUstKoseKoordinati
![Page 14: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/14.jpg)
Bir Seferde Birden Fazla Değişken TanımlamakAynı tipteki değişkenleri alt alta satır satır tanımlamak yerine tek satırda tanımlama olanağı yine C++’ın bize sağladığı kolaylıklardan biri.int x;int y;int z;float px;float py;double sinT;double cosT;char quoteChar;char tabChar;int zoom;int pers;
![Page 15: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/15.jpg)
Typedefunsigned long int’, ‘unsigned short int’ gibi çok uzun değişken tipi tanımlamaları kullanmak mümkün. Bunları #define komutu ile daha kısa cümlecikler halinde ifade etmemiz mümkün. Unutulmaması gereken birşey var ki o da #define’ın bir C programlama dili komutu değil bir derleyici komutu olmasıdır. Ayrıca # define sadece değişken tipleri değil her türlü tanımlama için kullanılabilir. Bir C++ komutu olan ‘typedef’ ise bize #define kullanmadan tip tanımlamamızı sağlıyor. Komutun açılımı “Type Define” yani “Tip Tanımı”. Kullanım biçimi ise #define’a oldukça benziyor.
![Page 16: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/16.jpg)
Ne Zaman Short, Ne Zaman Long Kullanmalıyız?
Ne zaman ‘short’ kullanmamız, ne zaman ‘long’ kullanmamız gerektiği aslında oldukça basit. Ne zaman kullandığımız değişkenin değeri tipi için çok büyüktür, bu durumda daha büyük bir değişken tipi kullanmamız gerekir. ‘short int’ yetmiyorsa ‘long int’, ‘float’ yetmiyorsa ‘double’ kullanmamız gerekir. Eğer değişkenin değeri tipi için çok çok değil de biraz büyük ise ve bu değişkenin negatif değer almasına olanak yoksa, bu durumda değişkeni unsigned (işaretsiz) tanımlamak bizim için yeterli olacaktır.
![Page 17: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/17.jpg)
Karakterler Ve SayılarBellek en temel birim olarak Bit’lerden yani ‘0’ ve ‘1’lerden oluşuyordu ve 8 bitin birleşiminden 1 Byte elde ediyorduk. ‘char’ karakter tanımlamasının da 1 Byte’lık alana karşılık geldiğini görmüştük. 1 Byte demek 0’dan 255’e kadar 256 farklı sayı değeri demektir. Bu durumda bilgisayara ‘harf’ ve ‘sembol’ kavramlarını kazandırmak adına her sayıya karşılık gelen bir karakter tanımlamak gerekir. Bu karakterlere ASCII karakterleri denir. ASCII’nin açılımı “American Standard Code for Information Interchange” yani “Bilgi Alışverişi için Amerikan Standart Kodu”dur.
![Page 18: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/18.jpg)
Özel İşlevli KarakterlerBazı karakterler C derleyicisinin kullanımı sırasında özel işlevlere sahip oldukları için diğer karakterler gibi tanımlanamazlar. Bunun için ‘\’ karakterinden sonra tanımlanırlar. Örneğin ‘Enter’ tuşu genellikle bir alt satıra geçişi sağlar ancak printf() komutuyla ekrana yazılan bir metin içerisinde alt satıra geçmek istediğimizde ‘Enter’ tuşunu kullanamayız. Çünkü bu durumda derleyici ekranında alt satıra geçsek bile, boşluk ve satırlar derleyici tarafından önemsenmediği için, metin satırları yan yana çıkacaktır. Bunun için ‘’\n’’ kullanırız.
![Page 19: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/19.jpg)
Değişken Kullanım Örnekleri234567891011
int sayi=5;int x,y=8,z; //Aynı türdeki değişkenler aynı anda tanımlanabilir.bool aktif = true; float f = 5.4f; // Değerin sonuna eklediğimiz f harfi değişkenin float türünde olduğunu gösterir.double d = 3.2;byte b = 230;long l = 123456789;short s = -312;decimal dec = -5.26m; //Değerin sonundaki m harfi değişkenin decimal türünde olduğunu gösterir.char ch = 'c'; //Char tipinde ki değişkenler tek tırnak içerisine yazılır.String deger=”merhaba”
![Page 20: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/20.jpg)
Değişken Kapsamı• b) Değişken Kapsamı• Değişkenlerin programda kullanılabilmesi için programın başında bildirimlerinin yapılması gerekir. Bir değişkenin
kapsamı program içerisindeki erişilebilirliğidir. Değişken program içerisinde yerel yada genel olarak tanımlanabilir.• Yerel Değişkenler: fonksiyon tanımlandığı zaman, fonksiyon tarafından ayrılan bellek alanıdır. Bu değişkenler
sadece tanımlandığı fonksiyon içerisinde anlamlıdır ve diğer fonksiyonlar tarafından kullanılamaz. Derleyici yerel değişkeni yalnızca tanımlandığı fonksiyonun bir parçası olarak gördüğü için, farklı fonksiyonlarda aynı isme sahip yerel değişkenler tanımlanabilir.
• Genel Değişkenler: Derleyici tarafından ayrılan bellek alanları olup, bütün fonksiyonlar tarafından kullanılabilir.• Örnek
• #include <stdio.h>• int sayi;//Genel değişken• int main()
{• int sayi_mod_2;//Yerel değişken
int sayi_mod_4;// Yerel değişken• sayi=1000;
sayi_mod_2 = sayi >> 1; sayi_mod_4= sayi >>2; printf("mod_2 = %d\n\r mod_4 = %d",sayi_mod_2,sayi_mod_4);
• return 0; }
![Page 21: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/21.jpg)
ÖRNEKLER1-) 7 tam sayısını tutan bir değişken tanımlayın.
234567891011
int sayi= 7;veya int sayi;sayi = 7;Console.Readkey();
![Page 22: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/22.jpg)
2-) Abdulkadir yazısını tutan bir değişken tanımlayın.
234567891011
string x;x = "Abdulkadir";Console.Readkey();
![Page 23: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/23.jpg)
3-) 2 tane meyve tanımlayarak değer veriniz.Toplam Meyve sayısını bulunuz.
234567891011
int armut,elma; // int kullanarak 2 meyve tanımladık.int toplam_meyve;armut = 11;elma = 5;toplam_meyve = armut + elma;Console.Writeline("Toplam Meyve Sayısı =" + toplam_meyve);Console.Readkey();
![Page 24: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/24.jpg)
4-)Ekrana Abdulkadir Ölmez yazan programı tasarlayınız
234567891011
Console.Write("Abdulkadir Ölmez");Console.ReadKey();
![Page 25: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/25.jpg)
5-) Ekrana 2 Sayının Toplamını Yapan ve Yazdıran Programı Tasarlayınız.234567891011
int sayi1, sayi2;Console.Write("1. sayıyı giriniz: ");sayi1 = Convert.ToInt32(Console.ReadLine());Console.Write("2. sayıyı giriniz: ");sayi2 = Convert.ToInt32(Console.ReadLine());Console.WriteLine("{0} + {1} = {2}", sayi1, sayi2, sayi1 +sayi2");Console.ReadKey();
![Page 26: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/26.jpg)
6-) Girilen sayıyı 5 ile çarpıp 2 ye bölen ve çıkan sayıyı ekrana yazdıran programı tasarlayınız
234567891011
String a;Console.Write("Bir Sayı Giriniz");a = Console.Readline();int x,y;x = Convert.Toint32(a);k = (x * 5) / 2;Console.Writeline(k);Console.Readline();
![Page 27: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/27.jpg)
7-) Kullanıcıdan isim girmesini isteyen programı tasarlayınız
234567891011
string isim;Console.Write("İsminizi Giriniz:");isim = Console.Readline();Console.Writeline("Hoşgeldiniz:" + isim);Console.Readkey();
![Page 28: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/28.jpg)
8-) x değişkeninin değerini ekrana yazan programı tasarlayınız.
234567891011
int x = 8; Console.WriteLine("x değişkeninin değeri = {0} dir " , x); Console.ReadKey();
![Page 29: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/29.jpg)
234567891011
int x = 8, y=5; Console.WriteLine("x + y = " + x + y); // birleştirme işlemi Console.WriteLine("x + y = " + (x + y)); // x ile y toplaranak sonuc icin birleştirme işlemi yapılır Console.ReadKey();
9-) 2 değişkenin birleştirme işlemini yapan programı tasarlayınız
![Page 30: Programlama Temelleri Değişkenler](https://reader036.fdocuments.net/reader036/viewer/2022081422/587177561a28ab230b8b5447/html5/thumbnails/30.jpg)
10-) Kullanıcıdan Sırasıyla Ad,Soyad,Yaş,Meslek girmesini isteyen programı tasarlayınız
234567891011
String ad,soyad,yas,meslek;Console.Writeline( Lütfen Sırasıyla Ad,Soyad,Yas,Meslek Giriniz…);ad = Console.Readline();Soyad = Console.Readline();yas= Console.Readline();Meslek = Console.Readline();
Console.Writeline("Ad: "+ ad);Console.Writeline("Soyad: "+ soyad);Console.Writeline("Yaş: "+ yas);Console.Writeline("Meslek: "+ meslek);