Algoritma: Herhangi bir programın yazılmadan önce adım adım tasarlanmasıdır. Örnek : Herhangi iki sayının programın algoritmasını yazınız. toplamını bulan Örnek : Herhangi iki sayı ile dört işlemi yapan programın algoritmasını yazınız. Örnek : Klavyeden girilen değerler ile üçgenin alanını ve çevresini hesaplayan programın algoritmasını yazınız. Örnek : Bir öğrencinin ortalamasını hesaplayan programın algoritmasını yazınız (2 yazılı, 1 sözlü). Akış Diyagramı: Adım adım hazırlanan her hangi bir programın hangi yöne doğru dallandığını gösteren şekillerden oluşan diyagramlardır. Semboller: Örnek : Klavyeden girilen değerler ile bir öğrencinin matematik dersinden geçip / kaldığını mesaj eden programın algoritmasını yazarak, akış diyagramını çiziniz. (2 yazılı, 1 sözlü, Geçme notu = 50) Örnek :Klavyeden girilen değerler ile öğrencinin matematik dersinden 5’li sisteme göre kaç aldığını mesaj eden programın algoritmasını yazarak, akış diyagramını çiziniz. 1 0 ile 49 arası 2 50 ile 59 arası 3 60 ile 69 arası 4 70 ile 84 arası 5 85 ile 100 arası (Sayılar dahildir.) ÖDEV SORULARI 1-Klavyeden girilen değerler ile kare ve dikdörtgenin alanını hesaplayıp, en büyük alana sahip olanı ekrana yazdıran programın algoritmasını yazarak, akış diyagramını çiziniz. 2-Farklı girilen üç sayıdan en büyüğünü bulan programın algoritmasını yazarak, akış diyagramını çiziniz. 3-Klavyeden girilen değerler ile işçinin maaşını hesaplayan programın algoritmasını yazarak, akış diyagramını hesaplayınız. (Maaş = Saat ücreti * Aylık toplam saat) Örnek :Klavyeden girilen 5 adet sayının toplamını ve ortalamasını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. Örnek :Klavyeden girilen N adet sayının toplamını ve ortalamasını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. Örnek :N personele sahip bir işyerinde bayanların ve erkeklerin sayısını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. ÖDEV SORULARI 1-20’ye kadar olan çift sayıların toplamını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. 2-Klavyeden girilen N adet sayıdan; Pozitif sayıların toplamını (0 sayısı pozitiftir) Negatif sayıların toplamını Bütün sayıların toplamını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. 3-N kişilik bir sınıfta geçenlerin ve kalanların sayısını bulan programın algoritmasını yazarak, akış diyagramını çiziniz (Geçme notu 50). 4-N personele sahip bir işyerinde; Çocuğu olmayanların sayısını 1 çocuğu olanların sayısını 2 çocuğu olanların sayısını 3 ve daha fazla çocuğu olanların sayısını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. 5-100 personele sahip bir işyerinde; Yaşı 25’e eşit ve küçük olanların sayısını Yaşı 25’den büyük erkeklerin sayısını Yaşı 40 ve daha küçük bayanların sayısını Bekar bayanların sayısını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. 6-Sıfır değeri girilinceye kadar klavyeden sayı girişi yapılıyor. Girilen sayılardan pozitif sayıların toplamını Girilen sayılardan pozitif sayıların adedini Girilen sayılardan pozitif sayıların ortalamasını bulan programın algoritmasını yazarak, akış diyagramını çiziniz. Örnek :Klavyeden girilen farklı üç adet sayıyı büyükten küçüğe sıralayıp ekrana yazdıran programın algoritmasını yazarak, akış diyagramını çiziniz. VISUAL STUDIO İçerisinde birden fazla programlama dilini barındıran bir platformdur. IDE Tümleşik gelişme ortamı da denir. .NET tabanlıdır. .NET teknolojisi Microsoft tarafından atılmıştır. Sadece Microsoft platformlarında çalışır. ortaya .NET Framework; birçok uygulama türünün bir arada geliştirilebileceği bir uygulama geliştirme platformudur. İşletim sistemleri üzerinde, kurulu oldukları donanımları yöneten bileşenlerdir. Programcılar tarafından oluşturulan uygulamalar monitör, yazıcı ya da klavyeyle iletişim kurabilmek için işletim sistemi ile bağlantı kurmalıdırlar. .NET Framework tam bu noktada devreye girer. .NET Framework platformu, işletim sistemi ile uygulamalar arasındaki katmandır. Burada ara katmanın görevi; işletim sistemi ile uygulamalar arasında ilişki kurmaktır. .NET Framework sayesinde uygulamalar işletim sistemi ile bağlantı kurarak donanımları kullanabilirler. CLR; (CommonLanguage Runtime – Ortak Çalışma Zamanı) Bellek yönetimi ya da hata yönetimi gibi karmaşık alt yapı işlerinin sorumlusudur. Farklı ortamlarda geliştirme yapmak için programcının bellek yönetimi gibi çözümü zor problemler ile uğraşması ve kendisinin bilgisi dışında oluşan hatalara da çözüm üretmesi gerekmektedir. .NET Framework platformu içerisinde bulunan CLR sayesinde programcının bu gibi sorunlar ile uğraşmasına gerek kalmaz. CLS; (CommonLanguage Spesification – Ortak Dil Spesifikasyonu) .NET mimarisi kullanılan bütün dillerin ortak olarak CLR tarafından çalıştırılabilmesi için gerekli olan kurallar bütünüdür. CTS; (CommonTypeSystem – Ortak Tip Sistemi) .NET mimarisi kullanılan dillerin birbiri ile uyumlu bir şekilde çalışmasını sağlar ve bu dillerden biri ile geliştirilen bir tipin diğer dillerde de kullanılabilmesini sağlar. TEMEL SINIF KÜTÜPHANESİ; (Base Class Library) Uygulamalarda kullanacağımız ve temel olarak uygulamanın temel ihtiyaçlarını karşılayacak olan sınıfları içerir. Örneğin; System.IO isimli sınıf kütüphanesi, bilgi girişi ve çıkışı işlemlerinin yapıldığı komutları barındırır. Uygulamanın başına bu sınıf kütüphanesini ekleyerek, bu komutları çalıştırabiliriz. C#(.NET Kod Geliştirme Ortamı) Microsoft firması tarafından 1999 yılı sonu itibari ile geliştirilmeye başlanan C# programlama dili, 2002 yılı itibari ile 1.0 sürümü ile .NET dilleri arasında yerini almıştır. 1.0 versiyonu(2002 – ManagedCode) ile birlikte yönetilebilir kod yapısı kullanılmaya başlanmıştır. 2.0 versiyonu (2005 - Generics) ile generics, anonymousmethods (isimsiz metodlar) gibi programlama yapıları kullanılmaya başlandı. 3.0 versiyonu (2007 – LINQ) ile birlikte lambda ifadeleri, extensionmethods (genişletme metodları), LINQ gibi programlama yapıları kullanılmaya başlandı. 4.0 versiyonu (2010 – Dynamic) ile birlikte dynamic veri tipi, named ve optionalparameters gibi programlama yapıları kullanılmaya başlandı. 5.0 versiyonu (2012 – Asynchronous) ile asenkron programlama yapısı kullanılmaya başlandı. C# Dilinde şu tür uygulamalar geliştirilir; Console uygulamaları (DOS ortamında çalışır) Windows uygulamaları (Form üzerinde çalışır) Web uygulamaları (Web üzerinde çalışır) Web sunucu veya Local Web sunucuda çalışır. ASP tabanlıdır. Sunucu olarak IIS kullanılır. Using Projeye kütüphaneleri dahil eder. kütüphaneler .NET Framework’ün içerisindedir. Kaynak Dosyalar Program dosyalardır. C# program.cs Visual Basic program.vb kodlarının Bu yazıldığı Kaynak Kod (sourcecode) Programcının yazdığı kod. C #’da bir uygulama NameSpace’de (isim uzayı) başlar. Çünkü içerisinde sınıflar barındırır. Bizim yazdığımız programlarda, içerisinde bir sürü sınıfın bulunduğu bir yapı elde ederiz. Proje, hazır dahil edilen veya programcının yazmış olduğu sınıflardan oluşur. Demek oluyor ki; NameSpace içerisinde bir sürü sınıf barındıran bir kümedir. C #’da ana fonksiyon main’dir. Yeni bir proje açmak; Console uygulamaları (DOS ortamında çalışan) New Project C # Windows consoleaplication uygulama1 Windows uygulaması New Project C # Windows windows aplication uygulama2 (Form’larla çalışır. En az bir form açılır.) SINIF ÜYELERİ İki grupta toplanır; a)Veri üyelei (datamembers) b)Fonksiyon üyeleri (membersfunctions) A-Veri Üyeleri 1)Alanlar (değişkenler) 2)Sabitler 3)Olaylar (Bir işlemin gerçekleşmesi) B-Fonksiyon üyeleri (iş yapan üyelerdir) 1)Yöntemler methots 2)Özellikler properties 3)Yapıcı fonksiyonlar constructors (Nesne ilk oluşturulduğunda çağrılıyor, yani sınıf çalıştırıldığında) 4)Sonlandırıcılar destructor (nesne sonlandığında çağrılıyor) 5)Operatörler 6)Dizinleyiciler index Değişkenleri İsimlendirme Kuralları (Sabitler için de aynıdır) Değişkenlerin isimleri harf ile başlamalıdır. Ama ilk harf hariç diğer karakterler sayı olabilir. Bazı programlama dilleri büyük ve küçük harfe duyarlıdır. Yani Sayi, sayi ve SAYI hepsi ayrı değişken olarak algınabilir. (C# büyük/küçük harfe duyarlıdır.) Değişken isimleri birden fazla kelime olduğu zaman; kelimelerin arasına boşluk konmaz. Bu tür değişkenleri ya kelimeleri birleştirerek veya kelimeler arasına _(alt tire) karakteri koyarak isimlendiririz. Değişkenlerin isimleri !, ?, {, ] gibi karakterler içeremez. Programlama dili için tanımlanmış anahtar kelimelerini (komutları) değişken isimleri olarak kullanamayız. Değişken Program içerisinde üretilen değerleri bellekte (RAM) geçici olarak saklamak amacı ile kullanılırlar. Değişken Elde edilen bilgilerin hafızada (RAM hafıza) tutulduğu bölgelerin adıdır. Bir değişken tanımlanırken değişken ismi ve değişken veri tipi belirtilerek tanımlanırlar. Kullanımı; Veri tipi Değişken Adı ; Not : İlk değer kullanımı zorunlu değildir. Program içerisinde istenirse daha sonra değişkene değer aktarımı yapılabilir. Sabit İçeriği sabit olan değer ve ifadelerin saklanması amacı ile kullanılırlar. C# dilinde sabitleri const ya da readonly ifadesi kullanarak iki şekilde tanımlamak mümkündür. Kullanımı; Const veri tipi sabit ismi = değer; VISUAL STUDIO İçerisinde birden fazla programlama dilini barındıran bir platformdur. IDE Tümleşik gelişme ortamı da denir. .NET tabanlıdır. .NET teknolojisi Microsoft tarafından ortaya atılmıştır. Sadece Microsoft platformlarında çalışır. .NET Framework; birçok uygulama türünün bir arada geliştirilebileceği bir uygulama geliştirme platformudur. İşletim sistemleri üzerinde, kurulu oldukları donanımları yöneten bileşenlerdir. Programcılar tarafından oluşturulan uygulamalar monitör, yazıcı ya da klavyeyle iletişim kurabilmek için işletim sistemi ile bağlantı kurmalıdırlar. .NET Framework tam bu noktada devreye girer. .NET Framework platformu, işletim sistemi ile uygulamalar arasındaki katmandır. Burada ara katmanın görevi; işletim sistemi ile uygulamalar arasında ilişki kurmaktır. .NET Framework sayesinde uygulamalar işletim sistemi ile bağlantı kurarak donanımları kullanabilirler. CLR;(CommonLanguage Runtime – Ortak Çalışma Zamanı) Bellek yönetimi ya da hata yönetimi gibi karmaşık alt yapı işlerinin sorumlusudur. Farklı ortamlarda geliştirme yapmak için programcının bellek yönetimi gibi çözümü zor problemler ile uğraşması ve kendisinin bilgisi dışında oluşan hatalara da çözüm üretmesi gerekmektedir. .NET Framework platformu içerisinde bulunan CLR sayesinde programcının bu gibi sorunlar ile uğraşmasına gerek kalmaz. CLS;(CommonLanguage Spesification – Ortak Dil Spesifikasyonu) .NET mimarisi kullanılan bütün dillerin ortak olarak CLR tarafından çalıştırılabilmesi için gerekli olan kurallar bütünüdür. CTS;(CommonTypeSystem – Ortak Tip Sistemi) .NET mimarisi kullanılan dillerin birbiri ile uyumlu bir şekilde çalışmasını sağlar ve bu dillerden biri ile geliştirilen bir tipin diğer dillerde de kullanılabilmesini sağlar. TEMEL SINIF KÜTÜPHANESİ;(Base Class Library) Uygulamalarda kullanacağımız ve temel olarak uygulamanın temel ihtiyaçlarını karşılayacak olan sınıfları içerir. Örneğin; System.IO isimli sınıf kütüphanesi, bilgi girişi ve çıkışı işlemlerinin yapıldığı komutları barındırır. Uygulamanın başına bu sınıf kütüphanesini ekleyerek, bu komutları çalıştırabiliriz. C# (.NET Kod Geliştirme Ortamı) Microsoft firması tarafından 1999 yılı sonu itibari ile geliştirilmeye başlanan C# programlama dili, 2002 yılı itibari ile 1.0 sürümü ile .NET dilleri arasında yerini almıştır. 1.0 versiyonu (2002 – ManagedCode) ile birlikte yönetilebilir kod yapısı kullanılmaya başlanmıştır. 2.0 versiyonu (2005 - Generics) ile generics, anonymousmethods (isimsiz metodlar) gibi programlama yapıları kullanılmaya başlandı. 3.0 versiyonu (2007 – LINQ) ile birlikte lambda ifadeleri, extensionmethods (genişletme metodları), LINQ gibi programlama yapıları kullanılmaya başlandı. 4.0 versiyonu (2010 – Dynamic) ile birlikte dynamic veri tipi, named ve optionalparameters gibi programlama yapıları kullanılmaya başlandı. 5.0 versiyonu (2012 – Asynchronous) ile asenkron programlama yapısı kullanılmaya başlandı. C# Dilinde şu tür uygulamalar geliştirilir; Console uygulamaları (DOS ortamında çalışır) Windows uygulamaları (Form üzerinde çalışır) Web uygulamaları (Web üzerinde çalışır) Web sunucu veya Local Web sunucuda çalışır. ASP tabanlıdır. Sunucu olarak IIS kullanılır. UsingProjeye kütüphaneleri dahil eder. Bu kütüphaneler .NETFramewok’ün içerisindedir. Kaynak Dosyalar Program kodlarının yazıldığı dosyalardır. C# program.cs Visual Basic program.vb Kaynak Kod (sourcecode)Programcının yazdığı kod. C #’da bir uygulama NameSpace’de (isim uzayı) başlar. Çünkü içerisinde sınıflar barındırır. Bizim yazdığımız programlarda, içerisinde bir sürü sınıfın bulunduğu bir yapı elde ederiz. Proje, hazır dahil edilen veya programcının yazmış olduğu sınıflardan oluşur. Demek oluyor ki; NameSpace içerisinde bir sürü sınıf barındıran bir kümedir. C #’da ana fonksiyon main’dir. Yeni bir proje açmak;Console uygulamaları (DOS ortamında çalışan) New Project C # Windows consoleaplication uygulama1 Windows uygulaması New Project C # Windows windowsaplication uygulama2 (Form’larla çalışır. En az bir form açılır.) SINIF ÜYELERİ İki grupta toplanır; a)Veri üyelei (datamembers) b)Fonksiyon üyeleri (membersfunctions) A-Veri Üyeleri 1)Alanlar (değişkenler) 2)Sabitler 3)Olaylar (Bir işlemin gerçekleşmesi) B-Fonksiyon üyeleri (iş yapan üyelerdir) 1)Yöntemler methots 2)Özellikler properties 3)Yapıcı fonksiyonlar constructors (Nesne ilk oluşturulduğunda çağrılıyor, yani sınıf çalıştırıldığında) 4)Sonlandırıcılar destructor (nesne sonlandığında çağrılıyor) 5)Operatörler 6)Dizinleyiciler index Değişkenleri İsimlendirme Kuralları (Sabitler için de aynıdır) Değişkenlerin isimleri harf ile başlamalıdır. Ama ilk harf hariç diğer karakterler sayı olabilir. Bazı programlama dilleri büyük ve küçük harfe duyarlıdır. Yani Sayi, sayi ve SAYI hepsi ayrı değişken olarak algınabilir. (C# büyük/küçük harfe duyarlıdır.) Değişken isimleri birden fazla kelime olduğu zaman; kelimelerin arasına boşluk konmaz. Bu tür değişkenleri ya kelimeleri birleştirerek veya kelimeler arasına _(alt tire) karakteri koyarak isimlendiririz. Değişkenlerin isimleri !, ?, {, ] gibi karakterler içeremez. Programlama dili için tanımlanmış anahtar kelimelerini (komutları) değişken isimleri olarak kullanamayız. DeğişkenProgram içerisinde üretilen değerleri bellekte (RAM) geçici olarak saklamak amacı ile kullanılırlar. Bir değişken tanımlanırken değişken ismi ve değişken veri tipi belirtilerek tanımlanırlar. Kullanımı;Değişken tipi Değişken Adı = İlk Değer ; Not :İlk değer kullanımı zorunlu değildir. Program içerisinde istenirse daha sonra değişkene değer aktarımı yapılabilir. Sabitİçeriği sabit olan değer ve ifadelerin saklanması amacı ile kullanılırlar. C# dilinde sabitleri const ya da readonly ifadesi kullanarak iki şekilde tanımlamak mümkündür. Kullanımı; Constveri tipi sabit ismi = değer; ÇIKIŞ İŞLEMLERİ Bir metin ifadesini ekrana yazdırmak için kullanılan metotlardır (komutlardır). 1-Console.Write( ) : Ekrana yazdırma işleminden sonra imleç, yazdırılan ifadenin yanında bekler. Örnek : Ekrana isminizi yazdıran projeyi oluşturunuz. static void Main(string[] args) { Console.Write("Emine Özel"); Console.ReadKey(); } Escape (kaçış) karakterleri : Belli bir eylemi yerine getiren karakterlerdir. \ işareti ile kullanılır. Karakter \n \r Açıklama Alt satıra iner Satır başı Static void Main(string[] args) { Console.Write("Emine Özel \n"); Console.Write("İstanbul"); Console.ReadKey(); } 2-Console.WriteLine( ) : Yazdırma işleminden sonra, imleç yazdırılan ifadenin alt satırında bekler. Örnek : Ekrana adınızı ve bulunduğunuz şehri yazan projeyi oluşturunuz. Static void Main(string[] args) { Console.WriteLine("Emine Özel"); Console.WriteLine("İstanbul"); Console.ReadKey(); } Static void Main(string[] args) { Console.Write("\nEmine \nÖzel\n"); Console.Write("İstanbul"); Console.ReadKey(); } Örnek : Verilen iki sayı ile toplama işlemini yapan projeyi oluşturunuz. Static void Main(string[] args) { int x, y, toplam; x = 5; y = 10; toplam = x + y; Console.Write("Sayıların Toplamı...={0}", toplam); Console.ReadKey(); } Veya; Static void Main(string[] args) { int x, y; x = 5; y = 10; Console.Write("Sayıların Toplamı...={0}", x + y); Console.ReadKey(); } Veya; Static void Main(string[] args) { int x, y, toplam; x = 5; y = 10; toplam = x + y; Console.Write("{0} sayısı ile {1} sayısının toplamı...={2}",x,y,toplam); Console.ReadKey(); } Örnek : Verilen iki sayı ile dört işlemi yapan projeyi oluşturunuz. Not: Değişken değerlerini ekrana birlikte yazdırmanın diğer bir yolu da + (artı) işaretidir. Bu işaret birleştirme işlemini gerçekleştirir. staticvoid Main(string[] args) { int x, y, toplam; x = 5; y = 10; toplam = x + y; Console.WriteLine("x değişkeninin değeri..=" + x + " y değişkeninin değeri...=" + y); Console.WriteLine("x + y = {0} ", toplam); Console.ReadKey(); } Örnek : Verilen ad ve soyadı ekrana birleştirerek yazdıran projeyi oluşturunuz. Static void Main(string[] args) { string ad, soy; ad = "Emine"; soy = "Özel"; Console.Write(ad + " " + soy); Console.ReadKey(); } Örnek :Verilen değerler ile üçgenin çevresini ve alanını bulan projeyi oluşturunuz. Static void Main(string[] args) { int a,b,c,h; int cevre, alan; a b c h = = = = 3; 4; 5; 4; cevre = a + b + c; alan = (a * h) / 2; Console.WriteLine("Üçgenin Alanını...={0}", alan); Console.WriteLine("Üçgenin Çevresi...={0}", cevre); Console.ReadKey(); } Örnek :Verilen değerler ile dikdörtgenin çevresini ve alanını bulan projeyi oluşturunuz. ÖDEV: 1-Verilen iki oluşturunuz. sayı ile dört işlemi yapan projeyi 2-Verilen değerler ile üçgenin çevresini ve alanını bulan projeyi oluşturunuz. 3-Verilen değerler ile dikdörtgenin çevresini oluşturan projeyi oluşturunuz. 4-Klavyeden girilen iki sayı ile dört işlemi yapan projeyi oluşturunuz. 5- Klavyeden girilen değerler ile öğrencinin İngilizce dersinden ortalamasını hesaplayan projeyi oluşturunuz. (2 yazılı, 1 sözlü) 6- Klavyeden girilen değerler ile personelin maaşını hesaplayan projeyi oluşturunuz. (maaş = saat ücreti * aylık toplam saat) GİRİŞ KOMUTLARI Klavyeden bilgi girişi sağlayan metotlardır (komutlardır). 1-Console.Read( ) : Kullanıcının klavyeden giriş yapmasını sağlar. Tek karakter okur. Geriye tam sayı tipinde bir değer döndürür. Bu değer okunan karakterin “ascii” kod karşılığıdır. Kullanımı : Değişken adı = Console.Read( ); 2-Console.ReadLine( ) : Kullanıcının klavyeden bir değer girmesini sağlar. Bu değeri string bir ifade olarak geri döndürür. Kullanımı : Değişken adı = Console.ReadLine( ); Örnek : Klavyeden öğrencinin okul kimlik bilgisini giren ve ekrana yazdıran projeyi oluşturunuz. Static void Main(string[] args) { string ad, soy, sn; int num; Console.Write("Adınızı giriniz...:"); ad = Console.ReadLine(); Console.Write("Soyadınızı giriniz...:"); soy = Console.ReadLine(); Console.Write("Sınıfınızı giriniz...:"); sn = Console.ReadLine(); // Sınıf girilir Console.Write("Numaranızı giriniz...:"); num = Convert.ToInt16(Console.ReadLine()); Console.Clear(); //Girilen değerleri ekrana yazdırıyoruz Console.WriteLine("Adınız......:{0}", ad); Console.WriteLine("Soyadınız...:{0}", soy); Console.WriteLine("Sınıfınız...:{0}", sn); Console.WriteLine("Numaranız...:{0}", num.ToString()); Console.ReadKey(); } OPERATÖRLER Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmamızısağlayan karakter ya da karakter topluluklarına operatör denir. 1-Aritmetiksel Operatörler: Aritmetik işlemler yaparken kullandığımız operatörlerdir. Dört İşlem Operatör + * / Açıklama Toplama İşlemi Çıkarma İşlemi Çarpma İşlemi Bölme İşlemi Mod Alma: Bir sayının başka bir sayıya bölümünden kalan sonucu alma işlemine mod alma denir. Bu işlemi yapmak için % karakteri kullanılır. 2-İlişkisel Operatörler : İlişkisel operatöler iki değerin karşılaştırılması işlemi için kullanılır. Programımızdakoşul ifadelerinde kullanılarak programın akşını değiştirmemizi sağlar. Karşılaştırmasonucunda doğru(true) ve yanlış(false) olmak üzere boolen bir değer döndürür. Operatör == != > < >= <= Açıklama Eşittir Eşit Değildir Büyüktür Küçüktür Büyük Eşittir Küçük Eşittir 3-Mantıksal Operatörler :Mantıksal operatörler birden fazla şartın olduğu durumlarda kullanılır. Birden çokboolen değeri tek bir boolen değere indirmek için kullanılır. Operatör && || ! 4-İşlem Önceliği : İşlem öncelik sırası aşağıdaki tabloda en yüksekten en düşüğe doğru sıralanmıştır. Açıklama Ve Veya Değil En Yüksek () ! *, /, % +, <, > = =, != && || En Düşük PROGRAM AKIŞININ KONTROLÜ Programın akışı ilk satırdan başlayıp, sırası ile tüm satırları çalıştırarak devam eder. Tüm programlama dillerinde programın çalışma şekli aynıdır. Bu çalışma şeklini Akış Kontrol Komutları ile değiştirebiliriz. Akış Kontrol Komutları; Aritmetiksel işlemlerden Değişkenlerden Mantıksal ifadelerden Fonksiyonların gönderdiği değerlerden Sayısal ve mantıksal değer üretebilen ifadelerden oluşur. tüm 1-if { } yapısı :Şartlı (koşullu) kontrol yapısıdır. Şartın karşılaştırılması sonucunda; şart doğru ise işlem/işlemler yapılır. Şart yanlış ise bloktan sonraki işleme geçilir. Kullanımı: if (şart) { İşlem/işlemler; } Örnek: ekrana Static { int x, Klavyeden girilen iki sayıdan büyük olan sayıyı görüntüleyen projeyi oluşturunuz. void Main(string[] args) y; Console.Write("1. sayıyı giriniz...:"); x = Convert.ToInt16(Console.ReadLine()); Console.Write("2. sayıyı giriniz...:"); y = Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if (x == y) { Console.Write("Sayılar birbirine eşittir..."); } if (x > y) { Console.Write("1. sayı büyüktür...:{0}", x); } if (y > x) { Console.Write("2. sayı büyüktür...:{0}", y); } Console.ReadKey(); } Veya; if (x == y) Console.Write("Sayılar birbirine eşittir..."); if (x > y) Console.Write("1. sayı büyüktür...:{0}", x); if (y > x) büyüktür...:{0}",y); Console.Write("2. sayı Not: Şarttan sonra yapılacak işlem, bir işlem ise blok içerisine almak gerekmez. Alınırsa problem olmaz. Örnek: Klavyeden girilen değerler ile öğrencinin geçip kaldığını mesaj eden projeyi oluşturunuz. (2 yazılı, 1 sözlü, Geçme notu = 50) Static void Main(string[] args) { int y1, y2, s1; double ort; Console.Write("1. yazılıyı giriniz...:"); y1 = Convert.ToInt16(Console.ReadLine()); Console.Write("2. yazılıyı giriniz...:"); y2 = Convert.ToInt16(Console.ReadLine()); Console.Write("Sözlü notunu giriniz...:"); s1 = Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); ort = (y1 + y2 + s1) / 3; if (ort > 49) { Console.Write("Öğrenci Geçmiştir....:{0}", ort); } if (ort < 50) { Console.Write("Öğrenci Kalmıştır....:{0}", ort); } Console.ReadKey(); } Örnek: Klavyeden girilen değerler ile cinsiyetini mesaj eden projeyi oluşturunuz. (Bayan = B , Erkek = E) personelin Static void Main(string[] args) { string cin; Console.Write("Personelin cinsiyetini giriniz <Bayan=B / Erkek=E>..:"); cin = Console.ReadLine(); Console.WriteLine("---------------------"); if ((cin == "B") || (cin == "b")) { Console.Write("Personelin cinsiyeti...: BAYAN"); } if ((cin == "E") || (cin == "e")) { Console.Write("Personelin cinsiyeti...: ERKEK"); } Console.ReadKey(); } Örnek: Klavyeden girilen cinsiyet ve yaş bilgisine göre, kişinin askere gidip/gidemeyeceğini mesaj eden projeyi oluşturunuz. staticvoid Main(string[] args) { string cin; int yas; Console.Write("Kişinin cinsiyetini giriniz <Bayan=B / Erkek=E>..:"); cin = Console.ReadLine(); Console.Write("Kişinin yaşını giriniz...:"); yas = Convert.ToInt16(Console.ReadLine()); Console.WriteLine("----------------------------"); if (((cin == "E") || (cin == "e")) && (yas > 19)) { Console.Write("Kişi askere gidebilir..."); } Console.ReadKey(); } 2-if { } else { } yapısı :Şartlı (koşullu) kontrol yapısıdır. Şartın karşılaştırılması sonucunda; şart doğru ise işlem/işlemler yapılır. Şart yanlış ise else’den sonraki işlem/işlemleryapılır. Kullanımı: if { (şart) İşlem/işlemler; } Else { İşlem/işlemler; } Örnek: Klavyeden girilen değerler ile personelin maaşını hesaplayan projeyi oluşturunuz. Çocuk yardımı saat ücreti * 10 (Tek çocuk yardımı) (En fazla iki çocuk için yardım alabilir.) Yakacak Yardımı Evli ise saat ücreti * 15 Bekar ise saat ücreti * 10 Vergi Kesintisi Evli ise saat ücreti * 10 Bekar ise saat ücreti * 5 Maaş=(saat ücreti*Aylık Toplam saat)+yardımlar – kesinti staticvoid Main(string[] args) { // su: saat ucreti , ats : aylık toplam saat // cs: çocuk sayısı , md:medeni durum // ----------------------------------------// Değişkenler tanımlanır ve sıfırlanır. int su, ats, cs; string md; int cocukydm, yakacakydm, vergi, yardim, maas; cocukydm = 0; yakacakydm = 0; vergi = 0; yardim = 0; //--------------------------------------------// Veri girişleri // Console.Write("Personelin saat ücretini giriniz..:"); su = Convert.ToInt16(Console.ReadLine()); Console.Write("Per.aylık toplam saatini giriniz..:"); ats = Convert.ToInt16(Console.ReadLine()); Console.Write("Personelin çocuk sayısını giriniz <Çocuk yoksa 0 giriniz>...:"); cs = Convert.ToInt16(Console.ReadLine()); Console.Write("Personelin medeni durumunu giriniz <Evli=E / Bekar=B>.......:"); md = Console.ReadLine(); //----------------------------------------------if (cs < 3) { cocukydm = cs * (su * 10); } if (cs > 2) { cocukydm = 2 * (su * 10); } if ((md=="E") || (md=="e")) { yakacakydm = su * 15; vergi = su * 10; } if ((md == "B") || (md == "b")) { yakacakydm = su * 10; vergi = su * 5; } //maas = (su * ats) + cocukydm + yakacakydm - vergi; yardim = cocukydm + yakacakydm; maas = (su * ats) + yardim - vergi; Console.WriteLine(""); Console.Write("Personelin Maaşı........= {0}", maas); Console.ReadKey(); } Örnek: Klavyeden girilen değerler ile kişinin ideal kilosunu hesaplayan projeyi oluşturunuz. Kaç kilo fazlalığı veya eksikliği hesaplanacak ve ilgili mesaj verdirilecek İdeal kiloda ise ilgili mesaj verdirilecek İdeal Kilo= ((Boy – 100) + (yaş / 10 )) * K K Bayan 0,8 Erkek 0,9 intyas, boy; doublekilo, idealkilo,fark; stringcin; Console.Write("Kilonuzu giriniz......: "); kilo=Convert.ToDouble(Console.ReadLine()); Console.Write("Boyunuzu giriniz......:"); boy=Convert.ToInt16(Console.ReadLine()); Console.Write("Yaşınızı girinz.......:"); yas=Convert.ToInt16(Console.ReadLine()); Console.Write("Cinsiyetinizi belirtiniz (Bayan = B),(Erkek = E)"); cin=Console.ReadLine(); if ((cin=="b") || (cin=="B")) { idealkilo= ((boy-100) + (yas/10))*0.8; } if ((cin=="e") || (cin=="E")) { idealkilo= ((boy-100) + (yas/10)) *0.9; } if (kilo==idealkilo) { Console.Write(" Tebrikler ideal kilonuzdasınız "); } if (kilo>idealkilo) { fark=kilo-idealkilo; Console.WriteLine("İdeal kilonuz.....: {0} ", idealkilo); Console.Write("{0} KG kilo vermelisiniz....", fark); } if (kilo<idealkilo) { fark=idealkilo-kilo; Console.WriteLine("İdeal kilonuz.....: {0} ", idealkilo); Console.Write("{0} KG kilo almalısınız....", fark); } Console.ReadKey(); } Örnek: Girilen üçgen kenarlarından, o üçgenin ne çeşit üçgen olduğunu bulan projeyi oluşturunuz. Kenar kuralı; İki kenarın toplamı üçüncü kenardan büyüktür. İki kenarın farkı üçüncü kenardan küçüktür. Not: Mutlak değer fonksiyonu kullanılacak.(ABS) staticvoidMain(string[] args) { inta, b, c; Console.Write("Üçgenin 1. kenarını giriniz....:"); a=Convert.ToInt16(Console.ReadLine()); Console.Write("Üçgenin 2. kenarını giriniz....:"); b=Convert.ToInt16(Console.ReadLine()); Console.Write("Üçgenin 3. kenarını giriniz....:"); c=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if ((((a+b) >c) && ((Math.Abs(a-b)) <c)) || (((a+c) >b) && ((Math.Abs(a-c)) <b)) || (((b+c) >a) && ((Math.Abs(b-c)) <a))) { if ((a==b) && (a==c)) { Console.Write("Bu üçgen Eşkenar üçgendir....:{0}{1}-{2}", a, b, c); } if (((a==b) && (a!=c)) || ((a==c) && (a!=b)) || ((b==c) && (b!=a))) { Console.Write("Bu üçgen İkizkenar üçgendir....:{0}-{1}-{2}", a, b, c); } if ((a!=b) && (a!=c) && (b!=c)) { Console.Write("Bu üçgen Çeşitkenar üçgendir....:{0}-{1}-{2}", a, b, c); } } else { Console.Write("Bu değerler üçgen oluşturmaz..."); } Console.ReadKey(); } Örnek: 100’lü sisteme göre puanı girilen bir öğrencinin, 5’li sistem karşılığını bulan projeyi oluşturunuz. 0-49 1 50-59 2 60-69 3 70-84 4 85-100 5 0-100 arası puan girişi kontrolü yapılacaktır. staticvoidMain(string[] args) { intpuan; Console.Write("Öğrencinin puanını giriniz <0 – 100 arası> ..:"); puan=Convert.ToInt16(Console.ReadLine()); if ((puan>-1) && (puan<101)) { if (puan<50) Console.Write("1 notu aldınız......={0} ", puan); if ((puan>49) && (puan<60)) Console.Write("2 notu aldınız......={0} ", puan); if ((puan>59) && (puan<70)) Console.Write("3 notu aldınız......={0} ", puan); if ((puan>69) && (puan<85)) Console.Write("4 notu aldınız......={0} ", puan); if (puan>84) Console.Write("5 notu aldınız......={0} ", puan); } else { Console.Write("Geçerli bir puan girişi yapılmadı..."); } Console.ReadKey(); } Örnek: Klavyeden saniye cinsinden girilen bir zamanı; Saat, dakika ve saniye biçiminde hesaplayan projeyi oluşturunuz. Örnek: Klavyeden girilen sayının pozitif veya negatif sayı olduğunu mesaj eden projeyi oluşturunuz. 0 değeri işleme dahil edilmeyecektir. Örnek: Klavyeden 1-5 arasındaki illerin plaka numaraları girildiğinde, il ismini ekrana yazan projeyi oluşturunuz . (1=Adana, 2=Adıyaman, 3=Afyon, 4=Ağrı, 5=Amasya) 1-5 arası sayı girişi kontrolü yapılacaktır. staticvoidMain(string[] args) { intx; Console.Write("Sayıyı giriniz <1-5 arası değer>...:"); x=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if ((x>0) && (x<6)) { if (x==1) { Console.Write("ADANA"); } if (x==2) { Console.Write("ADIYAMAN"); } if (x==3) { Console.Write("AFYON"); } if (x==4) { Console.Write("AĞRI"); } if (x==5) { Console.Write("AMASYA"); } } else { Console.Write("1-5 arası değer girişi yapılmadı..."); } Console.ReadKey(); } Örnek: Klavyeden 1 ile 7 arasında girilen sayının, haftanın hangi gününe geldiğini mesaj eden projeyi oluşturunuz. 1-7 arası sayı girişi kontrolü yapılacaktır. staticvoidMain(string[] args) { intgun; Console.Write("Sayıyı giriniz <1-7 arası değer>...:"); gun=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if ((gun<1) || (gun>7)) { Console.Write("1-7 arası değer girişi yapılmadı..."); } else { if (gun==1) { Console.Write("PAZARTESİ"); } if (gun==2) { Console.Write("SALI"); } if (gun==3) { Console.Write("ÇARŞAMBA"); } if (gun==4) { Console.Write("PERŞEMBE"); } if (gun==5) { Console.Write("CUMA"); } if (gun==6) { Console.Write("CUMARTESİ"); } if (gun==7) { Console.Write("PAZAR"); } } Console.ReadKey(); } Zemin Rengi BackgroundColor Console ekranında yazılan yazıların arka plan (zemin rengi) rengini değiştirmek için kullanılır. Not: Zemin rengini tüm console ekranında geçerli kılmak için Console.Clear() metodunu kullanarak ekranı temizlememiz gerekir. Yazı Rengi ForegroundColor Console ekranında yazılan yazıların rengini değiştirmek için kullanılır. Not:Console zemin ve yazı rengini varsayılan renklere döndürmek için Console.ResetColor() mrtodu kullanılır. staticvoidMain(string[] args) { Console.BackgroundColor=ConsoleColor.White; Console.ForegroundColor=ConsoleColor.Red; Console.Clear(); Console.Write("Emine ÖZEL"); Console.ReadKey(); Console.ResetColor(); Console.Clear(); Console.Write("Emine ÖZEL"); Console.ReadKey(); } Programdan Çıkış Environment.Exit(0) Uygulamayı sonlandırıp, console ekranından çıkmak için kullanılır. Örnek : Programdan çıkmak için mesaj veren projeyi oluşturunuz. staticvoidMain(string[] args) { stringcevap; Console.Write("Çıkmak istediğinizden emin misiniz? [E/H]...:"); cevap=Console.ReadLine(); if ((cevap=="E") || (cevap=="e")) { Environment.Exit(0); } else { Console.Write("Devam......"); } Console.ReadKey(); } Örnek : Matematiksel işlemleri gerçekleştiren projeyi oluşturunuz. **** İŞLEMLER **** 1-Toplama 2-Çıkarma 3-Çarpma 4-Bölme 5-Programdan Çıkış Seçiminiz…..: staticvoidMain(string[] args) { intx, y, sec, sonuc; Console.Write("1.sayıyı giriniz....:"); x=Convert.ToInt16(Console.ReadLine()); Console.Write("2.sayıyı giriniz....:"); y=Convert.ToInt16(Console.ReadLine()); Console.Clear(); Console.WriteLine("***** İŞLEMLER *****"); Console.WriteLine(" 1-Toplama"); Console.WriteLine(" 2-Çıkarma"); Console.WriteLine(" 3-Çarpma"); Console.WriteLine(" 4-Bölme"); Console.WriteLine(" 5-Programdan Çıkış"); Console.WriteLine(""); Console.Write("Seçiminiz...........:"); sec=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if (sec==1) { sonuc=x+y; Console.Write("Sayıların Toplamı....:{0}", sonuc); } if (sec==2) { sonuc=x-y; Console.Write("Sayıların Farkı....:{0}", sonuc); } if (sec==3) { sonuc=x*y; Console.Write("Sayıların Çarpımı....:{0}", sonuc); } if (sec==4) { sonuc=x/y; Console.Write("Sayıların Bölümü....:{0}", sonuc); } if (sec==5) { Environment.Exit(0); } Console.ReadKey(); } 2-Switch-Case yapısı : Kontrol yapısıdır. İlgili etiket var ise, o etikete giderek işlemleri yapar. İlgili etiket yok ise, yapıdan çıkar. Kullanımı: Switch (değişken adı) { Case etiket 1: Yapılacak işlemler; Break; Case etiket 2: Yapılacak işlemler; Break; - Case etiket n: Yapılacak işlemler; Break; Default: Yapılacak işlemler; Break; } Not: Default kullanımı zorunlu değildir. staticvoidMain(string[] args) { intsayi; Console.Write("Bir sayı giriniz <1-5>...:"); sayi=Convert.ToInt16(Console.ReadLine()); //if //if //if //if //if (sayi (sayi (sayi (sayi (sayi == == == == == 1) 2) 3) 4) 5) Console.Write("ADANA"); Console.Write("ADIYAMAN"); Console.Write("AFYON"); Console.Write("AĞRI"); Console.Write("AMASYA"); switch (sayi) { case1: Console.Write("ADANA"); break; case2: Console.Write("ADIYAMAN"); break; case3: Console.Write("AFYON"); break; case4: Console.Write("AĞRI"); break; case5: Console.Write("AMASYA"); break; default: Console.Write("1-5 arasında bir sayı girmediniz..."); break; } Console.ReadKey(); } Örnek : Matematiksel işlemleri gerçekleştiren projeyi oluşturunuz (switch..case kullanılacak). **** İŞLEMLER **** 1-Toplama 2-Çıkarma 3-Çarpma 4-Bölme 5-Programdan Çıkış Seçiminiz…..: staticvoidMain(string[] args) { intx, y, sec, sonuc; Console.Write("1.sayıyı giriniz....:"); x=Convert.ToInt16(Console.ReadLine()); Console.Write("2.sayıyı giriniz....:"); y=Convert.ToInt16(Console.ReadLine()); Console.Clear(); Console.WriteLine("***** İŞLEMLER *****"); Console.WriteLine(" 1-Toplama"); Console.WriteLine(" 2-Çıkarma"); Console.WriteLine(" 3-Çarpma"); Console.WriteLine(" 4-Bölme"); Console.WriteLine(" 5-Programdan Çıkış"); Console.WriteLine(""); Console.Write("Seçiminiz...........:"); sec=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); switch (sec) { case1: sonuc=x+y; Console.Write("Sayıların Toplamı....:{0}", sonuc); break; case2: sonuc=x-y; Console.Write("Sayıların Farkı....:{0}", sonuc); break; case3: sonuc=x*y; Console.Write("Sayıların Çarpımı....:{0}", sonuc); break; case4: sonuc=x/y; Console.Write("Sayıların Bölümü....:{0}", sonuc); break; case5: Environment.Exit(0); break; default: Console.Write("Geçerli bir sayı girişi yapmadınız..."); break; } Console.ReadKey(); } Not: Seçim değişkeni string tanımlanırsa, etiket isimleri çift tırnak içerisinde yazılmalıdır. Örnek: Aşağıdaki menü işlemlerini yapan projeyi oluşturunuz. switch..case yapısı etiket kullanılacak. **** ALAN HESAPLARI **** 1-Kare 2-Dikdörtgen 3-Programdan Çıkış Seçiminiz…..: Goto: Bir blok yapısını çağrıldığı sürece çalıştıran yapıdır. En az bir kez çalışır. Kullanımı: Etiket ismi: İşlemler; If (koşul) goto etiket ismi; Not:if kullanımı zorunlu değildir. Gerektiğinde kullanılır. Örnek: Klavyeden girilen yazılı notunu kontrol eden projeyi oluşturunuz. staticvoidMain(string[] args) { inty1; tekrar: Console.Clear(); Console.Write("Yazılı notunu giriniz <0-100>.:"); y1=Convert.ToInt16(Console.ReadLine()); if ((y1<0) || (y1>100)) { Console.Write("0 ile 100 arasında not girmelisiniz..."); Console.ReadKey(); gototekrar; } Console.WriteLine(""); Console.Write("Alınan not....:{0}", y1); Console.ReadKey(); } Örnek: Aşağıdaki menü işlemlerini yapan projeyi etiket kullanarak oluşturunuz. **** İŞLEMLER **** 1-Toplama 2-Çıkarma 3-Çarpma 4-Bölme 5-Programdan Çıkış Seçiminiz…..: staticvoidMain(string[] args) { intx,y,sec,sonuc; stringcev; Console.Write("1.sayıyı giriniz...:"); x=Convert.ToInt16(Console.ReadLine()); Console.Write("2.sayıyı giriniz....:"); y=Convert.ToInt16(Console.ReadLine()); tekrar: Console.Clear(); Console.WriteLine("***İŞLEMLER***"); Console.WriteLine(" 1-Toplama"); Console.WriteLine(" 2-Çıkarma"); Console.WriteLine(" 3-Çarpma"); Console.WriteLine(" 4-Bölme"); Console.WriteLine(" 5-Programdan Çıkış"); Console.WriteLine(""); Console.Write("Seçiminiz....:"); sec=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if (sec==1) { sonuc=x+y; Console.Write("Sayıların Toplamı....:{0}",sonuc); } if (sec==2) { sonuc=x-y; Console.Write("Sayıların Farkı....:{0}", sonuc); } if (sec==3) { sonuc=x*y; Console.Write("Sayıların Çarpımı....:{0}", sonuc); } if (sec==4) { sonuc=x/y; Console.Write("Sayıların Bölümü....:{0}", sonuc); } if (sec==5) { Console.Write("Çıkmak istediğinizden emin misiniz? <E/H>...:"); cev=Console.ReadLine(); if ((cev=="E") || (cev=="e")) { Environment.Exit(0); } else { gototekrar; } } Console.ReadKey(); gototekrar; } ÖDEV: 1.6.3. Formatlı Çıkış İşlemleri deftere yazılacak. Basit Kodlar modülü. Sayfa 16-17 (Modül sayfası). Soru-1: Klavyeden girilen sayının tek veya çift sayı olduğunu mesaj eden projeyi yazınız. Soru-2: Klavyeden girilen bir sayının 6’ya bölünüp bölünmediğini bulan projeyi oluşturunuz. Mod’lu bölme yapılacaktır. Soru-3: Kullanıcıdan günde ortalama kaç saat okula geldiği bilgisini alarak, ömrünün okulda geçen yüzdesini bulan projeyi oluşturunuz. Bir yılda ortalama 8 ay okula gidiliyor. Bir ay 30 gün alınacaktır. Soru-4: Günde ortalama 2 km yol yürüyen bir insan, doğumundan bugüne kadar dünyanın çevresini kaç kez dolaşacak kadar yürüdüğünü bulan projeyi oluşturunuz. Dünyanın çevresi 40000 km Kişi 10 yaşından itibaren yürümeye başlasın. Soru-5: Bugüne kadar kaç saat uyuduğunu ve ömrünün yüzde kaçını uykuda geçirdiğini bulan projeyi oluşturunuz. Soru-6: Klavyeden girilen x ve y değerlerine göre (x-3)2 + (y+8)2 işleminin sonucunu bulan projeyi oluşturunuz. ÇÖZÜMLERİ Soru-1: Klavyeden girilen sayının tek veya çift sayı olduğunu mesaj eden projeyi yazınız. staticvoidMain(string[] args) { intsayi; Console.Write("Sayıyı giriniz....:"); sayi=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if ((sayi%2) ==0) { Console.Write("Sayı çift sayıdır....:{0}", sayi); } else { Console.Write("Sayı tek sayıdır....:{0}", sayi); } Console.ReadKey(); } Soru-2: Klavyeden girilen bir sayının 6’ya bölünüp bölünmediğini bulan projeyi oluşturunuz. Mod’lu bölme yapılacaktır. staticvoidMain(string[] args) { intsayi; Console.Write("Sayıyı giriniz....:"); sayi=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); if ((sayi%6) ==0) { Console.Write("6'ya bölünür....:{0}", sayi); } else { Console.Write("6'ya bölünmez....:{0}", sayi); } Console.ReadKey(); } Soru-3: Kullanıcıdan günde ortalama kaç saat okula geldiği bilgisini alarak, ömrünün okulda geçen yüzdesini bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intsaat, yil, yas, omur; floatyüzde, okul; Console.Write("Günde okula ortalama kaç saat gidiyorsunuz?....:"); saat=Convert.ToInt16(Console.ReadLine()); Console.Write("Kaç yıl okula gittiniz?....:"); yil=Convert.ToInt16(Console.ReadLine()); Console.Write("Kaç yaşındasınız?.....:"); yas=Convert.ToInt16(Console.ReadLine()); okul= (yil* (8*30)) *24; omur= (yas*365)*24; yuzde= (okul/omur) *100; //Bölme işlemine girecek değişkenlerin biri float olmak zorunda. Console.Write("Hayatının okulda geçen yüzdesi..: % {0:F2}", yuzde); //virgülden sonra iki hane görüntülenecek. Console.WriteLine(""); Console.ReadKey(); } Soru-4: Günde ortalama 2 km yol yürüyen bir insan, doğumundan bugüne kadar dünyanın çevresini kaç kez dolaşacak kadar yürüdüğünü bulan projeyi oluşturunuz. Dünyanın çevresi 40000 km Kişi 10 yaşından itibaren yürümeye başlasın. staticvoidMain(string[] args) { intyas, yil, gun; floatyuzde, km; Console.Write("Yaşınızı giriniz....:"); yas=Convert.ToInt16(Console.ReadLine()); Console.WriteLine(""); yil= (yas-10); if (yil>0) { gun=yil*365; //yürüyüş yaptığı gün sayısı km=gun*2; //yürüdüğü km yuzde=km/40000; Console.Write("Dünyanın çevresini {0:F2} tur dolaşmıştır...", yuzde); } else { Console.Write("Dünyanın çevresi dolaşılmaya başlanmamıştır...."); } Console.ReadKey(); } Soru-5: Bugüne kadar kaç saat uyuduğunu ve ömrünün yüzde kaçını uykuda geçirdiğini bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intyas, saat, gun, toplamsaat, uykusaat; floatyuzde, uykugun; Console.Write("Yaşınızı giriniz....:"); yas=Convert.ToInt16(Console.ReadLine()); Console.Write("Günde ortalama kaç saat uyuyor sunuz?.:"); saat=Convert.ToInt16(Console.ReadLine()); gun=yas*365; //yaşadığı gün sayısı toplamsaat=gun*24; //yaşadığı saat sayısı uykusaat=gun*saat; //ömrünün uykuda geçen saat sayısı uykugun= (uykusaat*gun) /toplamsaat; //ömrünün uykuda geçen gün sayısı yuzde= (uykugun/gun) *100; //ömrünün uykuda geçen yüzdeliği Console.WriteLine(""); Console.WriteLine("Yaşınız...........:{0}", yas); Console.WriteLine("Ömrünüzün toplam uyku saati:{0} saat",uykusaat); Console.Write("Ömrünüzün % {0:F2}'si uykuda geçmiştir.",yuzde); Console.ReadKey(); } Soru-6: Klavyeden girilen x ve y değerlerine göre (x-3)² + (y+8)³ işleminin sonucunu bulan projeyi oluşturunuz. Sayının karesi Alt + 0178 Sayının küpü Alt + 0179 staticvoidMain(string[] args) { intx, y; floatsonuc; Console.Write("x değerini giriniz.....:"); x=Convert.ToInt16(Console.ReadLine()); Console.Write("y değerini giriniz......:"); y=Convert.ToInt16(Console.ReadLine()); sonuc= ((x-3)*(x-3)) + ((y+8)*(y+8)*(y+8)); Console.WriteLine(""); Console.WriteLine("x değeri........={0}", x); Console.WriteLine("y değeri........={0}", y); Console.WriteLine(""); Console.WriteLine("(x-3)² + (y+8)³ ={0}", sonuc); Console.ReadKey(); } DÖNGÜ KOMUTLARI Döngüler bir program içerisinde belirli işlemlerin defalarca yapılmasını sağlayan komut bloklarıdır. Sonsuz döngüler yapılabildiği gibi, belirli kriterleri sağlayana kadar devam eden döngüler de yapılabilir. Döngü çeşitleri; For döngüsü While döngüsü Do..while döngüleri Foreeach döngüsü 1-For Döngüsü: Belirlenen başlangıç değerinden itibaren, belirtilen koşul (şart) sağlandığı sürece, blok içerisine yazılan kod parçasını çalıştıran döngü yapısıdır. Kullanımı: For (başlangıç değeri ; koşul; artış miktarı) { İşlem / İşlemler; } Örnek: Ekrana isminizi 10 defa yazdıran projeyi oluşturunuz. staticvoidMain(string[] args) { inti; Console.Clear(); for (i=1; i<=10; i++) { Console.WriteLine("Emine ÖZEL"); } Console.ReadKey(); } Örnek: Ekrana 1’den 10’ kadar olan sayıları yazdıran projeyi oluşturunuz. staticvoidMain(string[] args) { inti; Console.Clear(); for (i=1; i<=10; i++) { Console.WriteLine(i+".sayı:{0}",i); } Console.ReadKey(); } Örnek: 10’dan 1’e kadar olan sayıları ekrana alt alta yazdıran projeyi oluşturunuz. staticvoidMain(string[] args) { inti; for (i=10; i>=1; i--) { Console.WriteLine(11-i+".sayı={0}",i); } Console.ReadKey(); } Örnek: 10 adet girilen sayının toplamını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { inti, sayi, toplam; toplam=0; for (i=1; i<=10; i++) { Console.Write(i+".sayıyı giriniz....:"); sayi=Convert.ToInt16(Console.ReadLine()); toplam=toplam+sayi; } Console.WriteLine(""); Console.Write("Sayıların toplamı....:{0}", toplam); Console.ReadKey(); } Örnek: N adet girilen sayının toplamını ve ortalamasını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intn; inti; intsayi; inttop; floatort; top=0; Console.Write("Sayı adedini giriniz (N) : "); n=Convert.ToInt16(Console.ReadLine()); // for (i = 1 ; i<=n ; i++) for (i=0; i<n; i++) //Bu döngü n kez çalışır. { // Console.Write( i + ".sayıyı giriniz:"); Console.Write( i+1+".sayıyı giriniz:"); sayi=Convert.ToInt16(Console.ReadLine()); top=top+sayi; // top += sayi; } ort=top/n; Console.WriteLine("Sayıların toplamı: {0}", top); Console.WriteLine("Sayıların ort.:{0:f2}", ort); Console.ReadKey(); } Örnek: a’dan z’ye kadar olan harfleri ekrana alt alta yazdıran projeyi oluşturunuz. staticvoidMain(string[] args) { chari; for (i='a'; i<='z'; i++) { Console.WriteLine(i); } Console.ReadKey(); } Örnek: z’dan a’ye kadar olan harfleri ekrana alt alta yazdıran projeyi oluşturunuz. staticvoidMain(string[] args) { chari; for (i='z'; i>='a'; i--) { Console.WriteLine(i); } Console.ReadKey(); } Örnek: İki değer aralığındaki sayıların toplamını ve ortalamasını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intbas, son; inti, toplam, adet; floatort; toplam=0; // adet = 0; Console.Write("Başlangıç değerini giriniz....:"); bas=Convert.ToInt16(Console.ReadLine()); Console.Write("Bitiş değerini giriniz....:"); son=Convert.ToInt16(Console.ReadLine()); for (i=bas; i<=son; i++) { toplam=toplam+i; // adet = adet + 1; } adet= (son-bas) +1; ort=toplam/adet; Console.Clear(); Console.WriteLine("Sayıların Toplamı...:{0}", toplam); Console.WriteLine("Sayıların ortalaması:{0:f2}", ort); Console.ReadKey(); } Örnek: İki değer aralığındaki sayıların toplamını ve ortalamasını bulan projeyi oluşturunuz. Artan veya azalan değerlerde aynı döngü çalışacak. Örnek: Belli aralıktaki çift sayıların toplamını bulan projeyi oluşturunuz. Örnek: 200’den 100’e kadar olan tek sayıların toplamını ve ortalamasını bulan projeyi oluşturunuz. 2-While Döngüsü: Şartlı döngü yapısıdır. Şart sağlandığı sürece döngü içerisi çalışır. Şart sağlanmadığında yani şart yanlış ise döngüden çıkılır. Kullanımı: While(şart) { yapılacak işlem veya işlemler; } Örnek: Klavyeden girilen 10 adet sayının toplamını ve ortalamasını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intsayi, i, toplam; floatort; toplam=0; i=1; while (i<=10) { Console.Write(i+".sayıyı giriniz.....="); sayi=Convert.ToInt16(Console.ReadLine()); toplam=toplam+sayi; i++; } ort=toplam/10; Console.Clear(); Console.WriteLine("Sayıların Toplamı....={0}", toplam); Console.WriteLine("Sayıların ortalması..={0}", ort); Console.ReadKey(); } Örnek: 100 ile 200 arasındaki sayıların toplamını bulan projeyi while döngüsü ile oluşturunuz. staticvoidMain(string[] args) { inti, toplam; i=100; toplam=0; while (i<=200) { toplam=toplam+i; i++; } Console.WriteLine("Sayıların Toplamı....={0}", toplam); Console.ReadKey(); } Örnek: İki değer aralığındaki sayıların toplamını ve ortalamasını bulan projeyi while döngüsü kullanarak oluşturunuz. staticvoidMain(string[] args) { inti, bas,son,gec; floattoplam,ort; Console.Write("Başlangıç değerini giriniz....="); bas=Convert.ToInt16(Console.ReadLine()); Console.Write("Bitiş değerini giriniz........="); son=Convert.ToInt16(Console.ReadLine()); if (bas>son) { gec=bas; bas=son; son=gec; } i=bas; toplam=0; while (i<=son) { toplam=toplam+i; i++; } ort=toplam/ (son-bas) +1; Console.Clear(); Console.WriteLine("Sayıların Toplamı....={0}", toplam); Console.WriteLine("Sayıların Ortalaması.={0:f2}", ort); Console.ReadKey(); } Örnek: İki değer aralığındaki sayılardan; Çift sayıların toplamını Tek sayıların toplamını bulan projeyi while döngüsü kullanarak oluşturunuz. staticvoidMain(string[] args) { inti,bas,son,gec; inttoplam1,toplam2; intcift,tek; Console.Write("Başlangıç değerini giriniz......="); bas=Convert.ToInt16(Console.ReadLine()); Console.Write("Bitiş değerini giriniz..........="); son=Convert.ToInt16(Console.ReadLine()); if (bas>son) { gec=bas; bas=son; son=gec; } cift=0; tek=0; if (bas%2==0) { cift=bas; tek=bas+1; } if (bas%2==1) { tek=bas; cift=bas+1; } i=cift; toplam1=0; while (i<=son) { toplam1=toplam1+i; i=i+2; } i=tek; toplam2=0; while (i<=son) { toplam2=toplam2+i; i=i+2; } Console.Clear(); Console.WriteLine("Çift Sayıların Toplamı......={0}", toplam1); Console.WriteLine("Tek Sayıların Toplamı.......={0}", toplam2); Console.ReadKey(); } 3-Do..While Döngüsü: Şartlı döngü yapısıdır. Şart sağlandığı sürece döngü içerisi çalışır. Şart sağlanmadığında yani şart yanlış ise döngüden çıkılır. Not: Şart döngü sonunda kontrol edildiğinden dolayı, döngü içerisi en az bir kez çalışır. Kullanımı: do { yapılacak işlem veya işlemler; } while(koşul); Örnek: N adet sayının toplamını ve ortalamasını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { intn, i, sayi; inttoplam; floatort; Console.Write("Sayı adedini giriniz....:"); n=Convert.ToInt16(Console.ReadLine()); i=1; toplam=0; do { Console.Write(i+".sayıyı giriniz....:"); sayi=Convert.ToInt16(Console.ReadLine()); toplam=toplam+sayi; i++; } while (i<=n); ort=toplam/n; Console.Clear(); Console.WriteLine("Sayıların Toplamı....:{0}", toplam); Console.WriteLine("Sayıların ortalaması.: {0:f2}", ort); Console.ReadKey(); } Örnek: Aşağıdaki menü işlemlerini yapan projeyi oluşturunuz. do .. while döngü yapısı switch .. case yapısı kullanılacak seçim etiket içine alınacak *** ALAN HESAPLARI *** 1-Kare 2-Dikdörtgen 3-Programdan Çıkış staticvoidMain(string[] args) { intsec,a,b,alan; do { tekrar: Console.Clear(); Console.WriteLine("***ALAN HESAPLARI***"); Console.WriteLine("1. KARE"); Console.WriteLine("2. DİKDÖRTGEN"); Console.WriteLine("3. PROGRAMDAN ÇIKIŞ"); Console.WriteLine(""); Console.Write("Seçiminiz... <1-3 arasında olmalı.> :"); sec=Convert.ToInt16(Console.ReadLine()); if ((sec<1) || (sec>3)) { Console.WriteLine(""); Console.WriteLine("1 ile 3 arasında bir değer girmelisiniz..."); Console.WriteLine("Devam için bir tuşa basınız...."); Console.ReadKey(); gototekrar; } switch(sec) { case1: Console.Clear(); Console.Write("Karenin kenar uzunluğunu giriniz..:"); a=Convert.ToInt16(Console.ReadLine()); alan=a*a; Console.WriteLine(""); Console.WriteLine("Karenin alanı...:{0}",alan); Console.WriteLine(""); Console.WriteLine("Devam için bir tuşa basınız....."); Console.ReadKey(); break; case2: Console.Clear(); Console.Write("Kısa kenarı giriniz..:"); a=Convert.ToInt16(Console.ReadLine()); Console.Write("Uzun kenarı giriniz...:"); b=Convert.ToInt16(Console.ReadLine()); alan=a*b; Console.WriteLine(""); Console.WriteLine("Dikdörtgenin alanı...:{0}",alan); Console.WriteLine(""); Console.WriteLine("Devam için bir tuşa basınız....."); Console.ReadKey(); break; case3: Environment.Exit(0); break; } } while(sec<3); } Break: Şarta bağlı veya değil olarak döngüden ve ya yapıdan çıkma özelliğidir. Örnek: 1’den 20’ye kadar olan sayılardan, 8’den sonrasını ekrana yazmayan projeyi oluşturunuz. staticvoidMain(string[] args) { inti; for (i=1; i<=20; i++) { if (i==9) break; /* if (i>8) break; */ Console.WriteLine("Sayı..:{0}", i); } Console.ReadKey(); } Continue: Döngü içerisinde atlanması gereken bir adım veya işlem var ise, şarta bağlı veya değil olarak gerçekleştiren özelliktir. Örnek: 1’den 20’ye kadar olan sayılardan, 9 sayısını ekrana yazdırmadan devam eden projeyi oluşturunuz. staticvoidMain(string[] args) { inti; for (i=1; i<=20; i++) { if (i==9) continue; Console.WriteLine("Sayı..:{0}", i); } Console.ReadKey(); } RASTGELE SAYI ÜRETME Belli aralıktaki sayı grubu içerisinden rastgele bir sayı üretmek için kullanılan yapıdır. Random rnd = new Random( ); Değişken ismi = rnd.Next(sayı aralığı); Örnek :1 ile 100 arasında olan sayılardan rastgele sayı üreten kod satırını yazınız. Random rnd = new Random( ); Sayi = rnd.Next(1,100); Örnek : 1 ile 100 arasında 10 adet rastgele üretilen sayının toplamını ve ortalamasını bulan projeyi oluşturunuz. staticvoidMain(string[] args) { inti, sayi, toplam; floatort; Randomrnd=newRandom(); toplam=0; for (i=1; i<=10; i++) { sayi=rnd.Next(1, 100); Console.WriteLine(i+".sayı..={0}", sayi); toplam=toplam+sayi; } ort=toplam/10; Console.WriteLine(""); Console.WriteLine("Sayıların Toplamı.:{0}", toplam); Console.WriteLine("Sayıların Ortalaması.:{0}", ort); Console.ReadKey(); } WINDOWS FORM APPLICATION Açılan arayüz aşağıdaki bölümlerden oluşur; Başlık çubuğu Menü çubuğu ToolBar (Araç çubuğu) ToolBox (Araç Kutusu – İlgili denetimler) Properties (Özellikler – ilgili denetimin özellikleri) Solution Explorer (Projemizin içinde bulunan yapıyı gösterir) Form alanı Windows application’da proje oluştururken izlenecek yol aşağıdaki gibidir; ToolBox’dan (Araç kutusundan) ilgili denetim seçilir. Formun üzerine tasarlanır. Properties (Özellikler) penceresinden ilgili denetime verilmesi gereken özellikler atanır. İlgili denetime gerekiyorsa, kod penceresinden kodlar yazılır. Örnek : TextBox’a girilen projeyi oluşturunuz. iki sayıyı toplayan privatevoidbutton2_Click(objectsender, EventArgse) { inta, b, toplam; a= Convert.ToInt16(textBox1.Text); b=Convert.ToInt16(textBox2.Text); toplam=a+b; textBox3.Text=toplam.ToString(); } privatevoidbutton1_Click(objectsender, EventArgse) { Environment.Exit(0) } Örnek : TextBox’a girilen iki sayı ile 4 işlemi yapan projeyi oluşturunuz. namespaceWindowsFormsApplication4 { publicpartialclassForm1 : Form { inta, b, sonuc; publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender, EventArgse) { a=Convert.ToInt16(textBox1.Text); b=Convert.ToInt16(textBox2.Text); sonuc=a+b; textBox3.Text=sonuc.ToString(); } privatevoidbutton2_Click(objectsender, EventArgse) { Environment.Exit(0); } privatevoidbutton3_Click(objectsender, EventArgse){ a=Convert.ToInt16(textBox1.Text); b=Convert.ToInt16(textBox2.Text); sonuc=a-b; textBox4.Text=sonuc.ToString(); } privatevoidbutton4_Click(objectsender, EventArgse) { a=Convert.ToInt16(textBox1.Text); b=Convert.ToInt16(textBox2.Text); sonuc=a*b; textBox5.Text=sonuc.ToString(); } privatevoidbutton5_Click(objectsender, EventArgse){ a=Convert.ToInt16(textBox1.Text); b=Convert.ToInt16(textBox2.Text); sonuc=a/b; textBox6.Text=sonuc.ToString(); } } Örnek : TextBox’a girilen değerler ile öğrencinin 5’li sisteme göre kaç aldığını bulan projeyi oluşturunuz. namespace WindowsFormsApplication1 { publicpartialclassForm1 : Form { int y1, y2, y3, p1, durum; float ort; public Form1() { InitializeComponent(); } privatevoid Form1_Load(object { button2.Visible = button3.Visible = textBox11.Visible } sender, EventArgs e) false; false; = false; privatevoid button1_Click(object sender, EventArgs e) { button2.Visible = true; button3.Visible = true; textBox11.Visible = true; durum = 0; y1 y2 y3 p1 = = = = Convert.ToInt16(textBox5.Text); Convert.ToInt16(textBox5.Text); Convert.ToInt16(textBox5.Text); Convert.ToInt16(textBox5.Text); ort = ((y1 + y2 + y3 + p1) / 4); textBox9.Text = ort.ToString(); if (ort < 50) { textBox10.Text = "1"; durum = 1; } if ((ort > 49) && (ort < 60)) { textBox10.Text = "2"; durum = 2; } if ((ort > 59) && (ort < 70)) { textBox10.Text = "3"; durum = 2; } if ((ort > 69) && (ort < 85)) { textBox10.Text = "4"; durum = 2; } if ((ort > 84) && (ort < 101)) { textBox10.Text = "5"; durum = 2; } } privatevoid button2_Click(object sender, EventArgs e) { switch (durum) { case 1: textBox11.Text = "16 Haziran 2014 tarihinde sınavınız var."; break; case 2: textBox11.Text = "Dersi Geçtiniz....."; break; } } privatevoid button3_Click(object sender, EventArgs e) { textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = ""; textBox6.Text = ""; textBox7.Text = ""; textBox8.Text = ""; textBox9.Text = ""; textBox10.Text = ""; textBox11.Text = ""; button2.Visible = false; textBox11.Visible = false; } privatevoid button4_Click(object sender, EventArgs e) { Environment.Exit(0); } } } Örnek : 1-7 arasındaki girilen sayının hangi güne karşılık geldiğini bulan projeyi oluşturunuz. 1 – 7 sayı kontrolü yapılsın ve MessageBox penceresinde ilgili mesaj verilsin privatevoid button1_Click(object sender, EventArgs e) { int gun = Convert.ToInt16(textBox1.Text); if (gun == 1) textBox2.Text = "Pazartesi"; if (gun == 2) textBox2.Text = "Salı"; if (gun == 3) textBox2.Text = "Çarşamba"; if (gun == 4) textBox2.Text = "Perşembe"; if (gun == 5) textBox2.Text = "Cuma"; if (gun == 6) textBox2.Text = "Cumartesi"; if (gun == 7) textBox2.Text = "Pazar"; if ((gun < 1) || (gun > 7)) { MessageBox.Show("Lütfen sadece 1 ile 7 arasında sayı giriniz"); textBox1.Clear(); } } Örnek : Basit Hesap Makinası oluşturunuz. namespace WindowsFormsHesapMakinasi { publicpartialclassForm1 : Form { double x; string islem; public Form1() { InitializeComponent(); } privatevoid button10_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "0"; else textBox1.Text =textBox1.Text+ "0"; } privatevoid button1_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "1"; else textBox1.Text = textBox1.Text + "1"; } privatevoid button2_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "2"; else textBox1.Text = textBox1.Text + "2"; } privatevoid button3_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "3"; else textBox1.Text = textBox1.Text + "3"; } privatevoid button4_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "4"; else textBox1.Text = textBox1.Text + "4"; } privatevoid button5_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "5"; else textBox1.Text = textBox1.Text + "5"; } privatevoid button6_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "6"; else textBox1.Text = textBox1.Text + "6"; } privatevoid button7_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "7"; else textBox1.Text = textBox1.Text + "7"; } privatevoid button8_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "8"; else textBox1.Text = textBox1.Text + "8"; } privatevoid button9_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = "9"; else textBox1.Text = textBox1.Text + "9"; } privatevoid button11_Click(object sender, EventArgs e) { x = Convert.ToDouble(textBox1.Text); islem = "+"; textBox1.Clear(); } privatevoid button12_Click(object sender, EventArgs e) { x = Convert.ToDouble(textBox1.Text); islem = "-"; textBox1.Clear(); } privatevoid button13_Click(object sender, EventArgs e) { x = Convert.ToDouble(textBox1.Text); islem = "*"; textBox1.Clear(); } privatevoid button14_Click(object sender, EventArgs e) { x = Convert.ToDouble(textBox1.Text); islem = "/"; textBox1.Clear(); } privatevoid button16_Click(object sender, EventArgs e) { x = Convert.ToDouble(textBox1.Text); islem = "%"; textBox1.Clear(); } privatevoid button15_Click(object sender, EventArgs e) { if (textBox1.Text == "") textBox1.Text = ""; elseif (textBox1.Text != "") textBox1.Clear(); } privatevoid button17_Click(object sender, EventArgs e) { double y = Convert.ToDouble(textBox1.Text); if (islem == "") MessageBox.Show("Lütfen Tekrar Deneyiniz."); elseif (islem == "+") textBox1.Text = Convert.ToString(x + y); elseif (islem == "-") textBox1.Text = Convert.ToString(x - y); elseif (islem == "*") textBox1.Text = Convert.ToString(x * y); elseif (islem == "/") textBox1.Text = Convert.ToString(x / y); elseif (islem == "%") textBox1.Text = Convert.ToString(x % y); } privatevoid button18_Click(object sender, EventArgs e) { if (textBox1.Text == " ") textBox1.Text = ","; else textBox1.Text = textBox1.Text + ","; } } } Örnek : İki değer aralığındaki sayıların toplamını ve ortalamasını bulan projeyi oluşturunuz. (Console Application) staticvoidMain(string[] args) { floatort, son, bas, gec, i, toplam; Console.Write("1.sayıyı giriniz.....="); bas=Convert.ToInt16(Console.ReadLine()); Console.Write("2.sayıyı giriniz.....="); son=Convert.ToInt16(Console.ReadLine()); if (bas>son) { gec=bas; bas=son; son=gec; } toplam=0; for (i=bas; i<=son; i++) { toplam=toplam+i; } ort=toplam/ ((son-bas) +1); Console.WriteLine(""); Console.WriteLine("Sayıların Toplamı....={0}", toplam); Console.WriteLine("Sayıların Ortalaması.={0:f2}", ort); Console.ReadKey(); } (Windows Application) intbas, son, gec, i; inttoplam; floatort; bas=Convert.ToInt16(textBox1.Text); son=Convert.ToInt16(textBox2.Text); if (bas>son) { gec=bas; bas=son; son=gec; } toplam=0; for (i=bas; i<=son; i++) { toplam=toplam+i; } ort=toplam/ ((son-bas) +1); textBox3.Text=toplam.ToString(); textBox4.Text=ort.ToString(); } privatevoidbutton2_Click(objectsender, EventArgse) { Environment.Exit(0); } Örnek : Rastgele üretilen bir sayıyı bulmaya çalışan projeyi oluşturunuz. 10 hak verilecektir. Puan 1000’den başlayıp, her bilemediğinde 100 puan düşecektir. Her tahminden sonra, bilinemediğinde “Tahmininizi Büyültün” veya “Tahmininizi Küçültün” mesajları verdirilecektir. Tahmin bilindiğinde, kaçıncı hakta bilindiği ve puanı görüntülenecektir. Tahmin hakkı bittiğinde ilgili mesaj verdirilecektir. Sayı 1 ile 100 arasında rastgele üretilecektir. staticvoidMain(string[] args) { intsayi, i; inttahmin, puan; Randomrnd=newRandom(); sayi=rnd.Next(1,100); puan=500; for (i=1; i<=5; i++) { Console.Write(i+". tahmininizi giriniz...:"); tahmin=Convert.ToInt16(Console.ReadLine()); if (sayi==tahmin) { Console.WriteLine(i+".tahminde {0} sayısını buldunuz....", sayi); Console.WriteLine(""); Console.WriteLine("Puanınız...= {0}", puan); gotobitis; } if (sayi<tahmin) { Console.WriteLine("Tahmininizi küçültün..."); Console.WriteLine(""); puan=puan-100; } if (sayi>tahmin) { Console.WriteLine("Tahmininizi büyültün..."); Console.WriteLine(""); puan=puan-100; } } bitis: { if (i>5) { Console.WriteLine(""); Console.WriteLine("Tahmin hakkınız bitmiştir....."); Console.WriteLine("Sayi.....={0}", sayi); Console.WriteLine("Puan.....={0}", puan); } Console.ReadKey(); } } Örnek : Sıfır değeri girilinceye kadar, girilen sayıların toplamını ve ortalamasını bulan projeyi oluşturunuz (While döngüsü veya Do..While döngüsü) staticvoidMain(string[] args) { intsayi, i, toplam; floatort; i=0; toplam=0; do { Console.Write(i+1+".sayıyı giriniz.....="); sayi=Convert.ToInt16(Console.ReadLine()); toplam=toplam+sayi; i++; //i = i + 1; } while (sayi!=0 ); ort=toplam/ (i-1); Console.Clear(); Console.WriteLine("Sayıların toplamı..={0}",toplam); Console.WriteLine("Sayıların ortalaması.={0}", ort); Console.ReadKey(); } ComboBox Kontrolü İçerisindeki değerleri açılabilen liste şeklinde görüntüleyen nesnedir. NOT : ComboBox nesnesindeki elemanlara index numaraları ile ulaşılabilir. İlk eleman 0. İndex numarasına sahiptir. ComboBox Kontrolünün Özellikleri: Items ComboBox içerisindeki değerleri temsil eder. Text ComboBox içerisinde görüntülenen metindir. SelectedIndex ComboBox içerisinde seçili olan elemanın index numarasını verir. Sorted True değerini aldığında ComboBox içerisindeki elemanların sıralı şekilde listelenmesini sağlar. ComboBox kontrolünün metodları: Items özelliği aşağıdaki metodları içerir. Add ComboBox içerisine belirtilen değeri listenin sonuna ekler. Remove ComboBox içerisindeki belirtilen değeri siler. RemoveAt ComboBox içerisindeki belirtilen index numaralı değeri siler. Count ComboBox içerisindeki toplam değer sayısını verir. Insert Belirtilen değeri ComboBox içerisinde istenilen bir konuma ekler. Clear ComboBox içerisini siler. ListBox Kontrolü İçerisindeki değerleri liste şeklinde görüntüleyen nesnedir. NOT : ListBox nesnesinin, ComboBox nesnesi ile hemen hemen tüm özellik, metod ve olayları aynıdır. Örnek : Öğrencinin kimlik bilgisini ListBox’a aktaran projeyi oluşturunuz. privatevoidbutton1_Click(objectsender, EventArgse) { stringad, soy, sn, num; ad=textBox1.Text; soy=textBox2.Text; sn=textBox3.Text; num=textBox4.Text; listBox1.Items.Clear(); listBox1.Items.Add(ad); listBox1.Items.Add(soy); listBox1.Items.Add(sn); listBox1.Items.Add(num); } Örnek : Tatil yöresi seçimi yapan projeyi oluşturunuz. privatevoidForm1_Load(objectsender, EventArgse) { comboBox1.Items.Add("Kuşadası"); comboBox1.Items.Add("Marmaris"); comboBox1.Items.Add("Fethiye"); comboBox1.Items.Add("Datça"); comboBox1.Items.Add("Kapadokya"); comboBox1.Items.Add("Kemer"); comboBox1.Items.Add("Bodrum"); comboBox1.SelectedIndex=2; } privatevoidbutton1_Click(objectsender, EventArgse) { intadet; adet=comboBox1.Items.Count; textBox1.Text=adet.ToString(); //textBox2.Text = comboBox1.SelectedItem.ToString(); textBox2.Text=comboBox1.Text; } Veya; privatevoidcomboBox1_SelectedIndexChanged(objectse nder, EventArgse) { intadet; adet=comboBox1.Items.Count; textBox1.Text=adet.ToString(); textBox2.Text=comboBox1.SelectedItem.ToString(); } InputBox (Bilgi Giriş Penceresi) Veri girişi amacı ile kullanılan giriş penceresidir. C# içerisinde InputBox nesnesi mevcut değildir. Project Add Reference Asswmblies Framework Microsoft.VisualBasic sınıfını projemize referans olarak eklemeliyiz. Kod sayfasındaki kütüphanelerin olduğu yere; usingMicrosoft.VisualBasic; satırını yazmamız gerekir. Kullanımı: Değişken ismi = Interaction.InputBox(“Mesaj”, “Pencere Başlığı”); Örnek : Giriş butonuna tıklandığında, klavyeden girilen ismi textbox’a yazdıran projeyi oluşturunuz. Project Add Reference Asswmblies Framework Microsoft.VisualBasic sınıfını projemize referans olarak eklemeliyiz. usingMicrosoft.VisualBasic; privatevoidForm1_Load(objectsender, EventArgse) { textBox1.Text="İsminiz Görüntülenecektir."; } privatevoidbutton1_Click(objectsender, EventArgse) { stringad; textBox1.Text=""; ad=Interaction.InputBox("Adınızı Giriniz......:","Bilgi Girişi"); textBox1.Text=ad; } Örnek : Klavyeden girilen N adet sayıyı ListBox’da görüntüleyen projeyi oluşturunuz. Project Add Reference Asswmblies Framework Microsoft.VisualBasic sınıfını projemize referans olarak eklemeliyiz. usingMicrosoft.VisualBasic; publicpartialclassForm1 : Form { intsayi, i, n; publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender, EventArgse) { n=Convert.ToInt16(Interaction.InputBox("Sayı adedini giriniz.....:", "Bilgi Girişi")); for (i=1; i<=n; i++) { sayi=Convert.ToInt16(Interaction.InputBox(i+".sayı yı giriniz.....:", "Bilgi Girişi")); listBox1.Items.Add(sayi); } textBox1.Text=i.ToString(); } Örnek : Rastgele üretilen bir sayıyı bulmaya çalışan projeyi oluşturunuz. 10 hak verilecektir. Puan 1000’den başlayıp, her bilemediğinde 100 puan düşecektir. Her tahminden sonra, bilinemediğinde “Tahmininizi Büyültün” veya “Tahmininizi Küçültün” mesajları verdirilecektir. Tahmin hakkı bittiğinde ilgili mesaj verdirilecektir. Sayı 1 ile 100 arasında rastgele üretilecektir. Project Add Reference Asswmblies Framework Microsoft.VisualBasic sınıfını projemize referans olarak eklemeliyiz. usingMicrosoft.VisualBasic; privatevoidbutton1_Click(objectsender, EventArgse) { intpuan, sayi, tahmin,i; puan=1000; label1.Visible=true; textBox1.Visible=true; label3.Visible=true; textBox3.Visible=true; textBox1.Text=puan.ToString(); Randomrnd=newRandom(); sayi=rnd.Next(1, 100); for (i=1; i<=10; i++) { Console.Write(i+". tahmininizi giriniz...:"); tahmin=Convert.ToInt16(Interaction.InputBox(i+". tahmininizi giriniz....:","Tahmin Girişi")); if (sayi==tahmin) { textBox3.Text="Tebrikler Bildiniz...."; label2.Visible=true; textBox2.Visible=true; textBox2.Text=sayi.ToString(); gotobitis; } if (sayi<tahmin) { textBox3.Text="Tahmininizi küçültün....."; puan=puan-100; textBox1.Text=puan.ToString(); } if (sayi>tahmin) { textBox3.Text="Tahmininizi büyültün....."; puan=puan-100; textBox1.Text=puan.ToString(); } } bitis: { if (i>10) { textBox3.Text="Tahmin hakkınız bitmiştir....."; label2.Visible=true; textBox2.Visible=true; textBox2.Text=sayi.ToString(); } } } CheckBox Kontrolü İki ya da üç duruma sahip olabilen, onay ve seçim işlemleri için kullanılan bir kontroldür. CheckBox Kontrolünün özellikleri; Checked :True değerini aldığında CheckBox nesnesi işaretlidir, False değerini aldığında ise işaretli değildir. CheckState : 3 değer alır; Unchecked : İşaretsiz Checked : İşaretli Indeterminate : Belirsiz. FlatStyle : CheckBox nesnesinin görünüm şeklini değiştirir. CheckBox Kontrolünün olayları; CheckedChanged :Durumu değiştirildiğinde gerçekleşen olaydır. CheckedListBox Kontrolü İçerisindeki değerleri işaretlenebilir liste şeklinde görüntüleyen nesnedir. CheckedListBox Kontrolünün özellikleri; Items :CheckedListBox içerisindeki tüm elemanları temsil eder. CheckedItems : CheckedListBox içerisindeki işaretlenmiş tüm elemanları temsil eder. CheckedListBox Kontrolünün Metodları; Items özelliği aşağıdaki metodları içerir. Add :Belirtilen değeri listenin sonuna ekler. Remove : Belirtilen değeri siler RemoveAt : Belirtilen index numaralı değeri siler. Count : Eleman sayısını verir. Insert : Belirtilen değeri listenin istenilen bir yerine ekler. Clear : CheckedListBox içerisindeki değerlerin hepsini siler. Contains : Eğer belirtilen değervar ise True, yok ise False değerini döndürür. IndexOf : Değeri belirtilen elemanın index numarasını geriye döndürür. CopyTo : Belirtilen elemanı bir dizi içerisine kopyalayarak aktarır. NOT : CheckedItems özelliği ise; Count IndexOf Contains CopyTo metodlarına sahiptir. RadioButton Kontrolü Birden fazla seçenekten yalnızca birini seçme durumlarında kullanılan nesnedir. Checked özelliği : RadioButton nesnesinin seçili olup olmamasını belirler. Örnek : TextBox’daki mesajı biçim veren projeyi oluşturunuz. Kalın – Eğik – Altı çizili (checkBox) sola dayalı–ortala–sağa dayalı (radioButton) private void checkBox2_CheckedChanged(……) { textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style ^ FontStyle.Italic); } private void checkBox1_CheckedChanged(……) { textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style^ FontStyle.Bold); } private void checkBox3_CheckedChanged(……) { textBox1.Font = new Font(textBox1.Font.Name, textBox1.Font.Size, textBox1.Font.Style ^ FontStyle.Underline); } private void radioButton1_CheckedChanged(……) { textBox1.TextAlign = HorizontalAlignment.Left; } private void radioButton2_CheckedChanged(……) { textBox1.TextAlign = HorizontalAlignment.Center; } private void radioButton3_CheckedChanged(……) { textBox1.TextAlign = HorizontalAlignment.Right; } MessageBox (Mesaj Penceresi) Program içerisinde üretilen sonuçların ekranda gösterilmesi amacı ile kullanılan pencerelerdir. Kullanımı : MessageBox.Show(Mesaj, Başlık, Buton Tipi, Simge, Varsayılan Buton); Mesaj Görüntülenmesi istenilen mesajdır. Mesaj en fazla 1024 karakter olabilir. Başlık Mesaj penceresinin başlığıdır. Buton Tipi Mesaj penceresinde görüntülenecek butonları belirler. MessageBoxButtons.OKCancel Tamam, İptal MessageBoxButtons.OK Tamam MessageBoxButtons.AbortRetryIgnore Durdur, Yeniden Dene, Yoksay MessageBoxButtons.RetryCancel Yeniden Dene, İptal MessageBoxButtons.YesNo Evet, Hayır Simge Mesaj penceresinde görüntülenecek olan simgeler belirlenir. MessageBoxIcon.Error MessageBoxIcon.Hand MessageBoxIcon.Stop DUR işaretini görüntüler MessageBoxIcon.Exclamation ÜNLEM işaretini görüntüler MessageBoxIcon.Warning MessageBoxIcon.Information BİLGİ işaretini görüntüler MessageBoxIcon.Asterisk MessageBoxIcon.Question SORU işaretini görüntüler Örnek : Form1’i tıkladığımızda, üzerinde BİLGİ işareti ve TAMAM, İPTAL düğmeleri olan bir mesaj penceresi; privatevoid Form1_Click(object sender, EventArgs e) { MessageBox.Show("Dikkat ediniz....", "UYARI", MessageBoxButtons.OKCancel, MessageBoxIcon.Information } NOT : Mesaj penceresinde, birden fazla satır yazdırmak için; \n parametresi veya Environment.NewLine ifadesi kullanılır. Örnek : Form1’i tıkladığımızda, Okul Kimlik Bilginizi 2 satır olacak şekilde mesaj penceresinde görüntüleyiniz. \n ile; privatevoid Form1_Click(object sender, EventArgs e) { MessageBox.Show("Emine ÖZEL \n" + "Sınıf : 10 Numara :120", "OKUL KİMLİK BİLGİSİ", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); } Environment NewLine ile; privatevoid Form1_Click(object sender, EventArgs e) { MessageBox.Show("Emine ÖZEL" + Environment.NewLine + "Sınıf :10 Numara :120", "OKUL KİMLİK BİLGİSİ", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); } NOT : Mesaj penceresinde bulunan butonların hangisinin aktif olacağını belirler. Bir şey belirtilmemiş ise 1.buton aktif olarak varsayılır. MessageBoxDefaultBotton.Button1 1.buton aktif MessageBoxDefaultBotton.Button22.buton aktif MessageBoxDefaultBotton.Button33.buton aktif Örnek : Mesaj penceresinde “Çıkmak istediğinize emin misiniz?” mesajını EVET, HAYIR butonları ile görüntüleyiniz (HAYIR butonu aktif olsun). privatevoid Form1_Click(object sender, EventArgs e) { MessageBox.Show("Çıkmak istediğinize emin misiniz?", "DİKKAT", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); } NOT : Mesaj penceresi üzerindeki butonlardan hangisine basılıp, basılmadığını anlayabilmek için DialogResult nesnesini kullanırız. Geriye dönen değeri bir değişkene atamamız gerekir. Atanan değişken DialogResult ile tanımlanmak zorundadır. Örnek : Yukarıdaki soruda TIKLA butonuna tıklanınca, EVET butonu tıklandığında proje kapatılsın. privatevoid button1_Click(object sender, EventArgs e) { DialogResult cevap; cevap = MessageBox.Show("Çıkmak istediğinize emin misiniz?", "DİKKAT", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (cevap == DialogResult.Yes) { Environment.Exit(0); } if (cevap == DialogResult.No) { MessageBox.Show("devammm"); } } Örnek : Girilen döviz değerinin, Türk Lirası karşılığını bulan projeyi oluşturunuz. Dolar seçeneği aktif olarak görüntülenecektir. Euro 2,5 TL Dolar 2 TL Sterlin 3 TL private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.Add("Euro"); comboBox1.Items.Add("Dolar"); comboBox1.Items.Add("Sterlin"); comboBox1.SelectedIndex = 1; label1.Text = comboBox1.Text; } private void button1_Click(object sender, EventArgs e) { double sayi, sonuc; sayi = Convert.ToInt16(textBox1.Text); if (comboBox1.SelectedIndex == 0) { sonuc = sayi * 2.5; textBox2.Text = sonuc.ToString(); label1.Text = comboBox1.Text; } if (comboBox1.SelectedIndex == 1) { sonuc = sayi * 2; textBox2.Text = sonuc.ToString(); label1.Text = comboBox1.Text; } if (comboBox1.SelectedIndex == 2) { sonuc = sayi * 3; textBox2.Text = sonuc.ToString(); label1.Text = comboBox1.Text; } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { label1.Text = comboBox1.Text; textBox1.Text = ""; textBox2.Text = ""; } Örnek : İki değer aralığındaki sayılardan; Tek sayıların toplamını Çift sayıların toplamını bulan projeyi oluşturunuz. İki sayının kontrolü yapılacaktır While veya Do…While döngüsü kullanılacaktır. private void Form1_Load(object sender, EventArgs e) { radioButton1.Checked = true; } private void button1_Click(object sender, EventArgs e) { int ilk, son, i, toplam, gec; toplam = 0; ilk = Convert.ToInt16(textBox1.Text); son = Convert.ToInt16(textBox2.Text); if (ilk { gec ilk son } > son) = ilk; = son; = gec; if (radioButton1.Checked) { if (ilk % 2 == 0) { ilk = ilk + 1; } i = ilk; while (i <= son) { toplam = toplam + i; i = i + 2; } textBox3.Text = toplam.ToString(); } if (radioButton2.Checked) { if (ilk % 2 != 0) // if (ilk % 2 == 1) { ilk = ilk + 1; } i = ilk; while (i <= son) { toplam = toplam + i; i = i + 2; } textBox3.Text = toplam.ToString(); } } Örnek : N adet girilen sayıları ListBox’a aktaran projeyi oluşturunuz. Sayı adedi girişi textBox1’den yapılacaktır Sayıların girişi Interaction.InputBox ile yapılacaktır InputBox ile girilen her sayı ListBox1’e eklenecektir. using Microsoft.VisualBasic; private void button1_Click(……) { int n, sayi,i; n = Convert.ToInt16(textBox1.Text); for (i = 1; i <= n; i++) { sayi = Convert.ToInt16(Interaction.InputBox (i.ToString() + ".sayıyı giriniz=")); listBox1.Items.Add(sayi); } } Örnek : Daire seçiminde istenilen özellikleri listeleyen projeyi oluşturunuz. private void button1_Click(object sender, EventArgs e) { if (checkBox1.Checked) { listBox1.Items.Add(checkBox1.Text); } if (checkBox2.Checked) { listBox1.Items.Add(checkBox2.Text); } if (checkBox3.Checked) { listBox1.Items.Add(checkBox3.Text); } if (checkBox4.Checked) { listBox1.Items.Add(checkBox4.Text); } if (checkBox5.Checked) { listBox1.Items.Add(checkBox5.Text); } if (checkBox6.Checked) { listBox1.Items.Add(checkBox6.Text); } } private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); checkBox1.Checked checkBox2.Checked checkBox3.Checked checkBox4.Checked checkBox5.Checked checkBox6.Checked = = = = = = false; false; false; false; false; false; } Örnek : ListBox ve button kullanarak sayıları yazdırın. (0-10 arasını) public Form1() { InitializeComponent(); } privatevoid button1_Click(objectsender,EventArgs e) { int i = 0; while (i < 10) { listBox1.Items.Add(i); i++; } } VEYA; privatevoid button1_Click(object sender, EventArgs e) { int i = 0; for(i=0;i<=10;i++) listBox1.Items.Add(i); } Örnek-1)Girilen üçgen kenarlarının ne çeşit üçgen oluşturduğunu mesaj eden programı yazınız. Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, b, c As Short Dim ucgen As Boolean = False Dim sart1 As Boolean = False Dim sart2 As Boolean = False Dim sart3 As Boolean = False a = Convert.ToInt16(TextBox1.Text) b = Convert.ToInt16(TextBox2.Text) c = Convert.ToInt16(TextBox3.Text) ' üçgen olma şartı kontrol ediliyor If (Math.Abs(b - c) < a And (b + c) > a) Then sart1 = True End If If (Math.Abs(a - c) < b And (a + c) > b) Then sart2 = True End If If (Math.Abs(b - a) < c And (b + a) > c) Then sart3 = True End If If (sart1 = True And sart2 = True And sart3 = True) Then ucgen = True End If If ucgen = False Then MsgBox("Girdiğiniz değerler ile üçgen oluşmaz! Yeni değerler giriniz...") End If If ucgen = True Then If a <> b And b <> c Then Label5.Text = "Çeşitkenar üçgen" End If If a = b And b <> c Then Label5.Text = "İkizkenar üçgen" End If If a = c And c <> b Then Label5.Text = "İkizkenar üçgen" End If If c = b And b <> a Then Label5.Text = "İkizkenar üçgen" End If If a = b And b = c Then Label5.Text = "Eşitkenar üçgen" End If End If End Sub End Class Örnek-2)Personelin maaşını hesaplayan programı yazınız. Mesai Public Class Form1 Dim su, ats, cs, ps Dim mesai, maas Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label9.Visible = False Label10.Visible = False TextBox8.Visible = False TextBox9.Visible = False End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label9.Visible = True Label10.Visible = True TextBox8.Visible = True TextBox9.Visible = True su = Val(TextBox4.Text) ats = Val(TextBox5.Text) cs = Val(TextBox6.Text) ps = Val(TextBox7.Text) Select Case ps Case 0 To 10 mesai = ps * 1 Case 11 To 20 mesai = ((ps - 10) * 1.5) + (10 * 1) Case 21 To 30 mesai = ((ps - 20) * 2) + (10 * 1) + (10 * 1.5) Case Is > 30 mesai = ((ps - 30) * 2.5) + (10*1) + (10*1.5) + (10 * 2) End Select TextBox8.Text = mesai maas = (su * ats) + ((su * 10) * cs) + mesai - ((su * ats) * 0.1) TextBox9.Text = maas End Sub End Class Örnek-3)Kronometre programı Public Class Form1 Dim KalanSure As Integer Private Sub btnBasla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBasla.Click ' Başlangıç zamanını text kutusundan aldım KalanSure = Val(txtSure.Text) ' Kalan süreyi kullanıcıya göstermek lblSure.Text = KalanSure 'liste kutusuna başlama zamanı yazılır lbKayit.Items.Add("Kronometre başladı:" & Now.TimeOfDay.ToString) 'Timerın çalışma hızı ayarlanır. Timer1.Interval = cmbInterval.Text Timer1.Start() End Sub Private Sub btnDur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDur.Click 'Timer durdurulur Timer1.Stop() 'liste kutusuna kayıt girilir lbKayit.Items.Add("Kronometre durduruldu:" & Now.TimeOfDay.ToString) End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick KalanSure = KalanSure - 1 lblSure.Text = KalanSure If KalanSure = 0 Then Timer1.Stop() lbKayit.Items.Add("Süre Doldu:" & Now.TimeOfDay.ToString) End If End Sub End Class Örnek-4)Kişinin ideal kilosunu hesaplayan programı yazınız. Public Class Form1 Dim yas, boy, kilo, eksik, fazla Dim k, idealkilo Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label11.Visible = False TextBox6.Visible = False TextBox7.Visible = False End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label11.Visible = True TextBox6.Visible = True yas = Val(TextBox3.Text) boy = Val(TextBox4.Text) kilo = Val(TextBox5.Text) If RadioButton1.Checked = True Then k = 0.8 If RadioButton2.Checked = True Then k = 0.9 idealkilo = Math.Round(((boy - 100) + (yas / 10)) * k) TextBox6.Text = idealkilo If kilo = idealkilo Then TextBox7.Visible = False Label12.Text = "TEBRİKLER.. İdeal Kilodasınız..." End If If kilo < idealkilo Then TextBox7.Visible = True eksik = idealkilo - kilo TextBox7.Text = eksik Label12.Text = "Kilo almalısınız..." End If If kilo > idealkilo Then TextBox7.Visible = True fazla = kilo - idealkilo TextBox7.Text = fazla Label12.Text = "Kilo vermelisiniz..." End If End Sub End Class Örnek-5)Hesap makinesi programı Public Class Form1 Dim x, y, z, t, kontrol Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = TextBox1.Text & 1 End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = TextBox1.Text & 2 End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = TextBox1.Text & 3 End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click TextBox1.Text = TextBox1.Text & 4 End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click TextBox1.Text = TextBox1.Text & 5 End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click TextBox1.Text = TextBox1.Text & 6 End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click TextBox1.Text = TextBox1.Text & 7 End Sub Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click TextBox1.Text = TextBox1.Text & 8 End Sub Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click TextBox1.Text = TextBox1.Text & 9 End Sub Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click TextBox1.Text = TextBox1.Text & 0 End Sub Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click x = Val(TextBox1.Text) kontrol = "+" TextBox1.Text = "" End Sub Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click y = Val(TextBox1.Text) kontrol = "-" TextBox1.Text = "" End Sub Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click z = Val(TextBox1.Text) kontrol = "*" TextBox1.Text = "" End Sub Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click t = Val(TextBox1.Text) kontrol = "/" TextBox1.Text = "" End Sub Private Sub Button15_Click(ByVal sender System.EventArgs) Handles Button15.Click If kontrol = "+" Then TextBox1.Text If kontrol = "-" Then TextBox1.Text If kontrol = "*" Then TextBox1.Text If kontrol = "/" Then TextBox1.Text End Sub As System.Object, ByVal e As = = = = x y z t + * / Val(TextBox1.Text) Val(TextBox1.Text) Val(TextBox1.Text) Val(TextBox1.Text) Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click TextBox1.Text = "" End Sub Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click End End Sub End Class FATURA TUTARINI YAZI İLE YAZDIRMA Geliştirdiğiniz programda fatura yazdırma özelliği varsa, fatura tutarını yazıya çevirmeniz gerekir.Bu konuda ihtiyacı karşılayacak bir çevirme fonksiyonu hazırladım.Ayrıca fonksiyonun kullanıldığı küçük bir program da yazdım. Fonksiyonun çalışmasını bu program üzerinden test edebilirsiniz. İnşallah işinize yarar. ? 1 privatestringyaziyaCevir(decimaltutar) { 2 stringsTutar = tutar.ToString("F2").Replace('.', ','); // Replace('.',',') ondalık 3 ayracının . olma durumu için 4 stringlira = sTutar.Substring(0, sTutar.IndexOf(',')); //tutarın tam kısmı stringkurus = sTutar.Substring(sTutar.IndexOf(',') + 1, 2); 5 stringyazi = ""; 6 7 string[] birler = { "", "BİR", "İKİ", "Üç", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", 8 "DOKUZ"}; 9 string[] onlar = { "", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", 10"SEKSEN", "DOKSAN"}; string[] binler = { "KATRİLYON", "TRİLYON", "MİLYAR", "MİLYON", "BİN", ""}; 11 //KATRİLYON'un önüne ekleme yapılarak artırabilir. 12 13 intgrupSayisi = 6; //sayıdaki 3'lü grup sayısı. katrilyon içi 6. (1.234,00 daki 14grup sayısı 2'dir.) 15 //KATRİLYON'un başına ekleyeceğiniz her değer için grup sayısını artırınız. 16 17 lira = lira.PadLeft(grupSayisi * 3, '0'); //sayının soluna '0' eklenerek sayı 'grup 18sayısı x 3' basakmaklı yapılıyor. 19 stringgrupDegeri; 20 21 for(inti = 0; i < grupSayisi * 3; i += 3) //sayı 3'erli gruplar halinde ele 22alınıyor. 23 { 24 grupDegeri = ""; 25 if(lira.Substring(i, 1) != "0") 26 grupDegeri += birler[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ"; 27//yüzler 28 29 if(grupDegeri == "BİRYÜZ") //biryüz düzeltiliyor. grupDegeri = "YÜZ"; 30 31 grupDegeri += onlar[Convert.ToInt32(lira.Substring(i + 1, 1))]; //onlar 32 33 grupDegeri += birler[Convert.ToInt32(lira.Substring(i + 2, 1))]; 34//birler 35 if(grupDegeri != "") //binler 36 grupDegeri += binler[i / 3]; 37 38 if(grupDegeri == "BİRBİN") //birbin düzeltiliyor. grupDegeri = "BİN"; 39 40 yazi += grupDegeri; 41 } 42 43 if(yazi != "") yazi += " TL "; 44 45 intyaziUzunlugu = yazi.Length; 46 47 if(kurus.Substring(0, 1) != "0") //kuruş onlar 48 yazi += onlar[Convert.ToInt32(kurus.Substring(0, 1))]; 49 if(kurus.Substring(1, 1) != "0") //kuruş birler 50 yazi += birler[Convert.ToInt32(kurus.Substring(1, 1))]; 51 52 if(yazi.Length> yaziUzunlugu) 53 yazi += " Kr."; else 54 yazi += "SIFIR Kr."; 55 56 returnyazi; 57} 58 59 Örnek : 1-7 arasındaki girilen sayının hangi güne karşılık geldiğini bulan projeyi oluşturunuz. 1 – 7 sayı kontrolü yapılsın ve MessageBox penceresinde ilgili mesaj verilsin Örnek : Basit Hesap Makinası oluşturunuz. Örnek : 1-7 arasındaki girilen sayının hangi güne karşılık geldiğini bulan projeyi oluşturunuz. 1 – 7 sayı kontrolü yapılsın ve MessageBox penceresinde ilgili mesaj verilsin Örnek : Basit Hesap Makinası oluşturunuz.
© Copyright 2024 Paperzz