Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanNarin Yumlu Değiştirilmiş 10 yıl önce
1
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul
2
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 2
3
Input/Output Kütüphanesi C#’ta I/O fonksiyonları System.Console sınıfında tanımlanmıştır. –System System isim alanını programın başına eklemeniz gerekiyor –Bu eklemeyi using önişlemci komutuyla yapmanız gerekiyor. 3 using System;
4
Klavye Input/ Monitör Output 4 using System; … static void Main() { Console.ReadLine(); Console.WriteLine(); } Console.ReadLine() Console.WriteLine()
5
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!”); 5 Merhaba Dünya! _ Merhaba Dünya!_ Bunu yazdıktan sonra kursör bir satır aşağıya iner Bunu yazdıktan sonra kursör olduğu yerde kalır.
6
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. 6
7
İlk C# programının Çalışması using System; class Program { /* inch’i santimetreye dönüştürme */ static void Main() { double inch; double santimetre; 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} santimetre eder", inch, santimetre); } 7 ? değer ? inch VERİLER ? 15.4 PROGRAM inch gir: 15.4 inch 39.116 santimetre eder 15.4 santimetre ? 39.116
8
Write/WriteLine Fonksiyonu Ekrana veriyi biçimlendirerek yazabilen bir fonksiyondur. Kullanımı: 8 Console.WriteLine(“formatlı yazı”, ifadeler); Formatlı yazı yazdırmak istediğin yazılar ifadeler değişkenler, işlemler, değerler…
9
Write/WriteLine Fonksiyonu 9 double inch = 15.4; double santimetre = 39.116; Console.Write("{0} inch {1} santimetre eder",inch, santimetre); Format kısmı değişkenler / ifadeler kısmı ifadeler kısmı 15.4 inch 39.116 santimetre eder
10
Write/WriteLine Fonksiyonu 10 double inc = 15.4; Console.Write("{0} inch {1} santimetre eder", inc, 15.4*2.54); Format kısmı değişkenler / ifadeler kısmı ifadeler kısmı 15.4 inch 39.116 santimetre eder Virgülden sonra sadece iki basamak göstermek istersem ne yapmalıyım ?
11
Write/WriteLine Fonksiyonu 11 double inc = 15.4; Console.Write("{0} inch {1:F2} santimetre eder", inc, 15.4*2.54); Format kısmı değişkenler / ifadeler kısmı ifadeler kısmı 15.4 inch 39.12 santimetre eder
12
Biçimlendirme Kuralı 12 {argumentSırası[,hizalama][:biçim]} Console.Write(“sayı={0,10:F2}", 25); Console.Write(“sayı={0,-10:F0}", 25); sayı= 25,00 sayı=25output:
13
Hizalama 13 Örnekoutput Console.Write("--{0,10}--", "test");-- test-- Console.Write("--{0,-10}--", "test");--test -- Console.Write(“={0,-10}={0,10}=", "test");=test = test= {0,10} sağa hizalı 10 karakterde yazacak {0,-10} sola hizalı 10 karakterde yazacak
14
Sayı Biçimlendirme 14 KarakterAçıklamaÖrnekÇıktı C veya cPara birimi Console.Write("{0:C}", 2.5); Console.Write("{0:C}", -2.5); 2,50 TL -2,50 TL D veya dHaneli Console.Write("{0:D5}", 25); 00025 E veya eBilimsel Console.Write("{0:E}", 250000); 2.500000E+005 F veya fVirgüllü Console.Write("{0:F2}", 25); Console.Write("{0:F0}", 25); 25,00 25 G veya gGenel Console.Write("{0:G}", 2.5); 2,5 N veya nBinlik Ayraçlı Console.Write("{0:N}", 2500000); 2.500.000,00 X veya xHexadecimal (Onaltılık sayı sistemi) Console.Write("{0:X}", 250); Console.Write("{0:X}", 0xffff); FA FFFF
15
Özel Sayı Biçimlendirme 15 İşaretTipBiçim output (double 1.2345) 0Sıfır yer tutucu{0:00.000}01.235 #Hane yer tutucu{0:#.##}1.23. Virgülden sonra basamak sayısı {0:0.0}1.21.2,Binlik ayracı{0:0,2}1 %yüzde{0:0%}123%
16
Tarih biçimlendirme 16 işaretTip output (17.10.2011 02:44:06) dKısa Tarih 17.10.2011 DUzun Tarih 17 Ekim 2011 Pazartesi tKısa Saat 02:44 TUzun Saat 02:44:06 fFul tarih ve saat 17 Ekim 2011 Pazartesi 02:44 FFull tarih ve saat (uzun) 17 Ekim 2011 Pazartesi 02:44:06 gVarsayılan tarih saat 17.10.2011 02:44 GVarsayılan tarih saat (uzun) 17.10.2011 02:44:06 MGün / Ay 17 Ekim rRFC1123 date string Mon, 17 Oct 2011 02:44:06 GMT sSıralanabilir tarih Saat 2011-10-17T02:44:06 uEvrensel tarih saat 2011-10-17 02:44:06Z YAy / Yıl Ekim 2011
17
Tarih Biçimlendirme 17 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
18
Özel Tarih Biçimlendirme 18 İşaretTip output (Haziran 8, 1970 12:30:59) ddGün08 dddKısa Gün AdıPzt ddddTam Gün AdıPazartesi hh2 rakam saat12 HH2 rakam saat (24 saat)12 mm2 rakam dakika30 MMAy06 MMMKısa Ay AdıHaz MMMMTam Ay AdıHaziran ssSaniye59 ttAM/PMPM yy2 rakam yıl70 yyyy4 rakam yıl1970 :ayraç, örneğin: {0:hh:mm:ss}12:30:59 /ayraç, örneğin: {0:dd/MM/yyyy}08/06/1970
19
Console.Write örnekleri 19 double fp = 251.7366; int i = 25; Console.Write("Gerçek sayı: {0:F2}\n", fp); Console.Write("Hizalanmış: {0,10}\n", i); Gerçek sayı: 251.74 Hizalanmış: 25output:
20
Console.Write Örnekleri 20 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 ın 15 basamak hassasiyeti var (300001456789012)
21
Console.Write Örnekleri 21 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,00E+002 ve 2,40E-003 float ve double için bilimsel görünüm. Not: float için hassasiyet 7 rakamdır.
22
String Birleştirme Yazıları + operatörü ile birleştirebiliriz. String ile toplanan herşey toplanmadan önce string yapılır. 22 int a = 3; int b = 5; Console.Write(a + "*" + b + " = " + a * b); 3*5 = 15
23
ToString() 23 int sayi = -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 Kullanımı: değer.ToString(format)
24
Console.ReadLine() Fonksiyonu Programa veri almak için kullanılan bir fonksiyondur Kullanım: 24 string str = Console.ReadLine(); Enter karakterini görene kadar klavyeden girilen tüm karakterleri alır. Aldığı herşey string biçimindedir. *Tip dönüştürmeler ile istediğimiz tipe dönüştürebiliriz.
25
Örnek C# Program(2) using System; class Program { static void 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; int carp = sayi1 * sayi2; float ort = (float)top / 2; Console.WriteLine("toplam={0} çarpım={1},ortalama={2}", top, carp, ort); Console.ReadLine(); } } 25 Kullanıcıdan sayı1 ve sayı2 yi girmelerini iste toplam = sayı1 + sayı2 toplam, çarpım ve ortalamayı ekrana yaz çarpım = sayı1 * sayı2 ortalama =toplam/2 Başla Bitiş
26
26 using System; class Program { static void Main() { 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; int carp = sayi1 * sayi2; float ort = top / 2; Console.WriteLine("toplam={0} çarpım={1}, ortalama={2}",top, carp, ort); Console.ReadLine(); }
27
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 27 Console.Write("sayı 1'i gir:"); int sayi1 = int.Parse(Console.ReadLine());
28
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. 28 Console.Write("sayı 1'i gir:"); int sayi1 = 0; int.TryParse(Console.ReadLine(), out sayi1);
29
TryParse örnek: 29 using System; class Program { /* inch ’ i santimetreye d ö n ü şt ü rme */ static void Main() { double inch,santimetre; Console.Write("inch gir: "); // girilen değeri okuyor ve tip d ö n ü şt ü r ü l ü yor double.TryParse(Console.ReadLine(), out inch); santimetre = inch * 2.54; Console.WriteLine("{0} inch {1} santimetre eder",inch,santimetre); }
30
using ile takma isim kullanma using Ekran = System.Console; class Program { static void 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); } 30
31
DINLEDIĞINIZ IÇIN TEŞEKKÜRLER… Öğr. Gör. Bayram AKGÜL31
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.