310 likes | 608 Views
BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Konular. Input/Output F onksiyonları Console . Write Console . WriteLine Biçimlendirerek yazdırma Sayı Biçimlendirme Hizalama Tarih Biçimlendirme ToString
E N D
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul
Konular • Input/Output Fonksiyonları • Console.Write • Console.WriteLine • Biçimlendirerek yazdırma • Sayı Biçimlendirme • Hizalama • Tarih Biçimlendirme • ToString • Console.ReadLine • Console.Read • using ile takma isim kullanma
Input/OutputKütüphanesi • C#’ta I/O fonksiyonları System.Console sınıfında tanımlanmıştır. • System • Systemisim alanını programın başına eklemeniz gerekiyor • Bu eklemeyi using önişlemci komutuyla yapmanız gerekiyor. usingSystem;
Klavye Input/ Monitör Output • Console.ReadLine() • Console.WriteLine() usingSystem; … staticvoid Main() { Console.ReadLine(); Console.WriteLine(); }
Output Fonksiyonları • Monitör (Ekran) Output • Write -- Girilen yazıyı ekrana yazar • WriteLine -- Girilen yazıyı ekrana yazar sonuna enter karakteri ekler. • Kullanımları: • Console.WriteLine(“Merhaba Dünya!”); • Console.Write(“Merhaba Dünya!”); Merhaba Dünya! _ Merhaba Dünya!_ Bunu yazdıktan sonra kursör olduğu yerde kalır. Bunu yazdıktan sonra kursör bir satır aşağıya iner
Input Fonksiyonları • Klavye Input • Read -- klavyeden girilen değeri karakter karakter okur. Sonucunu int olarak alır. • ReadLine -- Entere basana kadar veri girmeni bekler. Entere basınca girilen tüm yazıyı string olarak alır.
İlk C# programının Çalışması using System; classProgram { /* inch’isantimetreyedönüştürme */ staticvoid Main() { double inch; doublesantimetre; string değer; Console.Write("inch gir: "); değer = Console.ReadLine();// girilen değeri okuyor inch = double.Parse(değer);// tip dönüştürme santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetreeder", inch, santimetre); } } PROGRAM VERİLER değer 15.4 ? ? inch 15.4 ? santimetre 39.116 ? inch gir: 15.4 inch39.116 santimetre eder 15.4
Write/WriteLineFonksiyonu • Ekrana veriyi biçimlendirerek yazabilen bir fonksiyondur. • Kullanımı: Console.WriteLine(“formatlı yazı”, ifadeler); Formatlı yazıyazdırmak istediğin yazılar ifadelerdeğişkenler, işlemler, değerler…
değişkenler / ifadeler kısmı Format kısmı Write/WriteLineFonksiyonu double inch = 15.4; doublesantimetre = 39.116; Console.Write("{0} inch {1} santimetreeder",inch, santimetre); 15.4 inch39.116 santimetre eder
değişkenler / ifadeler kısmı Format kısmı Write/WriteLineFonksiyonu double inc = 15.4; Console.Write("{0} inch {1} santimetreeder",inc, 15.4*2.54); 15.4 inch39.116 santimetre eder Virgülden sonra sadece iki basamak göstermek istersem ne yapmalıyım ?
değişkenler / ifadeler kısmı Format kısmı Write/WriteLineFonksiyonu double inc = 15.4; Console.Write("{0} inch {1:F2} santimetreeder",inc, 15.4*2.54); 15.4 inch39.12santimetre eder
output: sayı=25,00 sayı=25 Biçimlendirme Kuralı {argumentSırası[,hizalama][:biçim]} Console.Write(“sayı={0,10:F2}", 25); Console.Write(“sayı={0,-10:F0}", 25);
Hizalama {0,10} sağa hizalı 10 karakterde yazacak {0,-10} sola hizalı 10 karakterde yazacak
Tarih Biçimlendirme DateTime t = DateTime.Now; Console.WriteLine("{0:d}", t);//17.10.2011 Console.WriteLine("{0:D}", t);//17 Ekim 2011 Pazartesi Console.WriteLine("{0:t}", t);//02:58 Console.WriteLine("{0:T}", t);//02:58:27 Console.WriteLine("{0:f}", t);//17 Ekim 2011 Pazartesi 02:58 Console.WriteLine("{0:F}", t);//17 Ekim 2011 Pazartesi 02:58:27 Console.WriteLine("{0:g}", t);//17.10.2011 02:58 Console.WriteLine("{0:G}", t);//17.10.2011 02:58:27 Console.WriteLine("{0:M}", t);//17 Ekim Console.WriteLine("{0:r}", t);//Mon, 17 Oct 2011 02:58:27 GMT Console.WriteLine("{0:s}", t);//2011-10-17T02:58:27 Console.WriteLine("{0:u}", t);//2011-10-17 02:58:27Z Console.WriteLine("{0:Y}", t);//Ekim 2011
output: Gerçek sayı: 251.74 Hizalanmış: 25 Console.Writeörnekleri doublefp = 251.7366; int i = 25; Console.Write("Gerçek sayı: {0:F2}\n", fp); Console.Write("Hizalanmış: {0,10}\n", i);
Console.Write Örnekleri Console.Write("{0:F9}\n", 300.00145678901f); Console.Write("{0:F19}\n", 300.0014567890123456789); Console.Write("{0:F30}\n", 300.12345678987654321); 300.001500000 300.0014567890120000000 300.123456789877000000000000000000 floatın 7 basamak hassasiyeti var (3000015) doubleın15basamak hassasiyeti var (300001456789012)
Console.Write Örnekleri Console.Write("{0:E}ve {1:E}\n", 300.00145678901f, 0.0024f); Console.Write("{0:E} ve {1:E}\n", 300.00145678901, 0.0024); Console.Write("{0:E2} ve {1:E2}\n", 300.00145678901, 0.0024); 3,000015E+002 ve 2,400000E-003 3,000015E+002 ve 2,400000E-003 3,00E+002 ve 2,40E-003 float ve double için bilimsel görünüm. Not: float için hassasiyet 7 rakamdır.
String Birleştirme • Yazıları + operatörü ile birleştirebiliriz. • String ile toplanan herşey toplanmadan önce string yapılır. int a =3; int b =5; Console.Write(a +"*"+ b +" = "+ a * b); 3*5 = 15
ToString() Kullanımı: değer.ToString(format) intsayi=-16325; Console.Write(sayi.ToString("G")); //-16325 Console.Write(sayi.ToString("C")); // -16.325,00 TL Console.Write(sayi.ToString("D8")); // -00016325 Console.Write(sayi.ToString("E4")); // -1,6325E+004 Console.Write(sayi.ToString("e3")); // -1,633e+004 Console.Write(sayi.ToString("F")); // -16325,00 Console.Write(sayi.ToString("N")); // -16.325,00 Console.Write(sayi.ToString("P")); // -%1.632.500,00 Console.Write(sayi.ToString("X")); // FFFFC03B
Console.ReadLine() Fonksiyonu • Programa veri almak için kullanılan bir fonksiyondur • Kullanım: stringstr = Console.ReadLine(); • Enter karakterini görene kadar klavyeden girilen tüm karakterleri alır. • Aldığı herşeystring biçimindedir. *Tip dönüştürmeler ile istediğimiz tipe dönüştürebiliriz.
Başla Kullanıcıdan sayı1 ve sayı2 yi girmelerini iste toplam = sayı1 + sayı2 çarpım = sayı1 * sayı2 ortalama =toplam/2 toplam, çarpım ve ortalamayı ekrana yaz Bitiş Örnek C# Program(2) usingSystem; classProgram { staticvoid Main() { int sayi1 , sayi2; Console.Write("sayı 1'i gir:"); int.TryParse(Console.ReadLine(), out sayi1); Console.Write("sayı 2'yi gir:"); int.TryParse(Console.ReadLine(), out sayi2); int top = sayi1 + sayi2; intcarp = sayi1 * sayi2; floatort = (float)top / 2; Console.WriteLine("toplam={0} çarpım={1},ortalama={2}" , top, carp, ort); Console.ReadLine(); } }
usingSystem; classProgram { staticvoidMain() { Console.Write("sayı 1'i gir:"); // kullanıcıdan sayı1 isteniyor • int sayi1 =int.Parse(Console.ReadLine()); /* klavyeden girilen değerönce okunuyor sonra int.Parse ile int tipine dönüştürülüyor */ • Console.Write("sayı 2'yi gir:"); // kullanıcıdan sayı2 isteniyor • int sayi2 =int.Parse(Console.ReadLine()); /* klavyeden girilen değer int tipine dönüştürülüyor */ int top = sayi1 + sayi2; intcarp= sayi1 * sayi2; floatort= top /2; • Console.WriteLine("toplam={0} çarpım={1}, ortalama={2}",top, carp, ort); Console.ReadLine(); } }
Tip Dönüştürmede çıkabilecek hatalar hakkında: • Yukarıdaki kod ile kullanıcıdan bir sayı girilmesi isteniyor. • Kullanıcının tam sayı gireceği varsayılıyor. • Peki ya kullanıcı rakamlar yerine harf girerse ne olacak? • veya girilen sayı int sınırları dışında ise ne olacak? • Çok Basit: Hata verecek Console.Write("sayı 1'i gir:"); int sayi1 =int.Parse(Console.ReadLine());
tip.TryParse() • TryParse metodunu kullanın! • Bu durumda girilmiş yazı int tipine dönüştürüle- bilirse, dönüştürülüp sayi1 değişkenine atanmış olacak. • Eğer dönüştürülemeyecek ise, yani geçersiz bir sayı veya sınırlar dışında ise sayi1 değişkeni 0 olarak kalacaktır. • TryParse diğer tüm tipler için de geçerlidir. Console.Write("sayı 1'i gir:"); int sayi1 =0; int.TryParse(Console.ReadLine(), out sayi1);
TryParse örnek: usingSystem; classProgram { /* inch’i santimetreye dönüştürme */ staticvoidMain() { doubleinch,santimetre; Console.Write("inch gir: "); • // girilen değeri okuyor ve tip dönüştürülüyor • double.TryParse(Console.ReadLine(), outinch); • santimetre =inch*2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch,santimetre); } }
using ile takma isim kullanma usingEkran = System.Console; classProgram { staticvoid Main() { int numara; string isim; Ekran.Write("İsminizi Giriniz:"); isim = Ekran.ReadLine(); Ekran.Write("Numaranızı Giriniz:"); int.TryParse(Ekran.ReadLine(), out numara); Ekran.WriteLine("*****************"); Ekran.WriteLine("Numara:{0} \nİsim:{1}", numara, isim); } }
Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL