C# ile For(döngü);
Makale iki bölümden oluşmaktadır.
1. Bölüm C# for kullanımı
2.Bölüm C# for örnekleri
1.BÖLÜM
Bu yazımda sizlere for yani döngü’den bahsedeceğim.
Öncelikle döngü nedir bunu açılayalım:
Döngüler bir şeyi tekrar tekrar yazmak yerine belirli bir kod girip ekranda defalarca yazmasını sağlar. Sonsuz döngüler yapabildiğimiz gibi belirlediğimiz bir standarda göre de döngülerde yapabiliriz.
Örneğimizi yapalım;
- Başlangıcımıza yani i’ye 0 değerini vererek başladık. Eğer 1 yazarsak 10 kere değil, 9 kere ekrana yazar. Çünkü sistem 1 kere yazılmış varsayar.
- Döngünün ne kadar döneceğini belirleyen koşulumuz yani i < 10 ifadesini yazarız.
- i++ diyerek döngümüzün ne kadar artacağını belirleriz.
- Döngümüz sürekli koşul kısmını kontol eder. Aradığı sonuca yani i < 10 dan büyük olana kadar bu kodu ekrana yazdırır.
Kodumuz aşağıda ki gibi olur.
KODLAR;
1 2 3 4 5 6 7 8 9 10 |
for (int i = 0; i < 10; i++) { Console.WriteLine("Yazilimbilisim.net"); } Console.ReadKey(); |
For döngüsünün kullanımı;
1 2 3 4 5 6 7 8 9 |
For (başlangıç;koşul;artım) { yapılacak işler; } |
Şeklinde olduğu için For bloğunda ilk virgülden önce döngü değişkeni tanımlanır ki bu genelde i dir. Bu bir kural değildir. Başlangıç için döngü kontrol mekanizması da diyebiliriz. Bir nevi döngüde sayaç görevini üstlenir.
Başlangıcı yazdıktan sonra koşul yani kaç kez döneceğini belirten kodumuz tanımlanır. Koşul sağlandığı sürece döngü döner. Fakat koşul sağlanamadığı süreçte döngü durur. Örneğin siz i < 5 dediğinizde döngü i’nin değeri 5’ten küçük olduğu sürece dönecektir. Ama 6 dediğimizde döngü duracaktır.
Son kısım yani artım döngünün kaçar kaçar azalacağını veya artacağını belirtir. Eğer başlangıç değeri değişmezse döngümüz sonsuz olur.
Yukarıda ki artım için i++ dedik. Bunu döngümüzün birer birer artmasını istiyorsak kullanırız. Unutmayalım ki beşer beşer veya yedişer yedişer artmasını-azalmasını istiyorsak bunu kullanamayız. Peki dörder dörder veya sekizer sekizer artmasını-azalmasını istiyorsak nasıl yaparız ? İşte o zaman i+(kaçar kaçar artmasını istiyorsak) sayı yazarız. Yapılıcak işler kısmına ise Console.Write(“ne yazdırmak istiyorsak”); onu yazarız.
Örnek 2;
- Başlangıcımıza a ve z değerini verdik. Bunları int değişkenine yazma sebebimiz ise sorumuzda a ve z ye belirli bir sayısal değer vermemiz.
- Döngümüzün başlangıcında a=0 , z=20 değerini bu şekilde yani beraber kullanmamızın nedeni bu şekilde başlayacağını belirtir.
- Koşulumuz a<=z yani a’nın, z’den küçük ve eşit olduğu sürece programın çalışacağını, a=z olduğunda duracağını belirtir.
- Artım aşamasında ise a birer birer arttıkça, z’nin birer birer azalacağını İki sayı eşitlendiğinde ise yapılacak işler aşamasına gelir.
- Yapılacak işlerde ekranda hangi şekilde yazacağını belirtiriz. Yani ekran çıktısı a’nın 0 değeri için z=20 olarak başlar.
- Kodumuz aşağıda ki gibi olur.
KODLAR;
1 2 3 4 5 6 7 8 9 10 11 |
int a, z; for (a = 0, z = 20; a <= z; a++, z--) { Console.WriteLine("a'nın " + a + " değeri için z=" + z); } Console.ReadKey(); |
2.BÖLÜM
BİR KAÇ TANE C# FOR ÖRNENEĞİ
Şu yazılar da ilginizi çekebilir |
C# Console Uygulaması ile İki sayı arasındaki sayıları belirlenen adıma göre toplayan program örneği.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* İki sayı arasındaki sayıları belirlenen adıma göre toplayan program örn:başlangıç:10 bitiş:20 adım:2 ise toplam=10+12+14+16+18+20 şekliden oluşacak */ int baslangic, bitis, adim, toplam=0; Console.Write("Döngü Başlangıç değerini giriniz:"); baslangic = Convert.ToInt32(Console.ReadLine()); Console.Write("Döngü Bitiş değerini giriniz:"); bitis = Convert.ToInt32(Console.ReadLine()); Console.Write("Döngü Adım değerini giriniz:"); adim = Convert.ToInt32(Console.ReadLine()); for (int i = baslangic; i <= bitis; i+=adim) { toplam = toplam + i; } Console.WriteLine("Sonuc=" + toplam); Console.ReadLine(); |
C# console uygulaması ile Tabanı ve kuvveti girilen işlemin sonucu yazdıran program örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* Taban ve Kuvveti girilen sayının değerini hesaplama Örn: taban:2 üs:5 girildiğinde sonuc=32 yazıdıran program. */ int taban, us, sonuc = 1; Console.Write("Taban sayısını giriniz:"); taban = Convert.ToInt32(Console.ReadLine()); Console.Write("Kuvvet sayısını giriniz:"); us = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i <= us; i++) { sonuc = sonuc * taban; } Console.WriteLine("Tabanı {0} ve kuvveti {1} olan sayının değeri={2}",taban,us,sonuc); Console.ReadLine(); |
C# Console Uygulaması ile iki sayı arasındaki asal sayıları ekrana yazdıran program örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
/* Girilen iki sayı arasındaki asal sayıları ekrana yazdıran program <strong>Örneği: 2-100 arasındaki asal sayıları ekrana yazdıran program;</strong> */ int baslangic, bitis; Console.Write("Başlangıç sayısını giriniz: "); baslangic = Convert.ToInt32(Console.ReadLine()); Console.Write("Bitiş sayısını giriniz: "); bitis = Convert.ToInt32(Console.ReadLine()); for (int i = baslangic; i <= bitis; i++) { bool asalMi = true; for (int j = 2; j < i; j++) { if (i % j == 0) { asalMi = false; } } if (asalMi) { Console.WriteLine("{0} sayısı asal bir sayıdır.",i); asalMi = false; } } Console.ReadLine(); |
C# Console Application ile yapılmış olan, bir tamsayı dizisinde 50 den küçük sayıların adetini bulan ve ekrana yazdıran örnek uygulama
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
int[] sayilar = { 10, 15, 55, 36, 95, 46, 75 }; int sayac = 0; Console.Write("Dizideki sayılar : "); for(int i=0;i<sayilar.Length;i++) { Console.Write(sayilar[i]+"-"); if(sayilar[i]<50) { sayac++; } } Console.WriteLine("\nDizi içinde 50' den küçük {0} adet sayı bulunuyor.",sayac); Console.ReadKey(); |
C# Console Application ile yapılmış, içerisinde isimler bulunan string bir diziyi en son elemandan itibaren ekrana yazdıran uygulama örneği
1 2 3 4 5 6 7 8 9 |
string[] strDizi = { "Ahmet", "Hayri", "Recep", "Hüseyin","Seda" }; int son = strDizi.Length - 1; for (int i = son; i >= 0; --i) { Console.WriteLine(strDizi[i]); } Console.ReadKey(); |
C# ta 10 elemanlı dizi içine kulanıcının 10tane şehir eklemesini sağlayan Girilen baş harfe göre şehirleri listeleyen program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
static void Main(string[] args) { string[] sehir = new string[3]; for (int i = 0; i < sehir.Length;i++ ) { Console.Write("Şehir Adını girin: "); sehir[i] = Console.ReadLine(); } Console.Write("Listelemek istediğiniz şehrin baş harfini girin: "); char harf=Convert.ToChar(Console.ReadLine()); for(int i=0;i<sehir.Length;i++) { string dizisehir=sehir[i]; if(dizisehir[0]==harf) { Console.WriteLine(dizisehir); } } Console.ReadKey(); } |
1-100 arasındaki sayıların kullanıcının girdiği sayıya tam olarak bölünenleri ekrana yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//1-100 arasındaki sayıların kullanıcının girdiği sayıya tam olarak bölünenleri ekrana yazdırma //örnek kullanıcı 25 girdi 25,50,75,100 tam olarak bölünür. //örnek kullanıcı 3 girdi 3,6,9,......93,96,99 int sayi; Console.Write("Bölen sayıyı giriniz...:"); sayi = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i <= 100; i++) { if (i%sayi==0) { Console.WriteLine("{0} sayısı kalansız bölünür",i); } } Console.ReadKey(); |
Klavyeden girilen yazıyı merdiven şeklinde yazdıran C# Console Programı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Örnekler { class Program { static void Main(string[] args) { string ad; Console.Write("Adınızı giriniz :"); ad = Console.ReadLine(); for (int i = 0; i <= ad.Length; i++) { Console.WriteLine(ad.Substring(0, i)); } Console.ReadKey(); } } } |
Klavyeden girilen metni tersten yazdıran C# Console Örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Örnekler { class Program { static void Main(string[] args) { Console.Write("Herhangi Bir Yazı Giriniz : "); string yazi = Console.ReadLine(); int yaziuzunlugu = yazi.Length; for (int i = yaziuzunlugu; i > 0; i--) { Console.Write(yazi.Substring(i - 1, 1)); } Console.ReadKey(); } } } |
C# Console Üçgen Oluşturma.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
static void Main(string[] args) { int kenarUzunlugu; string nesne; Console.Write("Uzunluk : "); kenarUzunlugu = Convert.ToInt32(Console.ReadLine()); Console.Write("Ekrana yazılacak harf yada nesne: "); nesne = Console.ReadLine(); int ortaNokta = kenarUzunlugu - 1; int taban = kenarUzunlugu * 2 - 1; for (int i = 0; i < kenarUzunlugu; i++) { for (int k = 0; k < taban; k++) { if ((i + k == ortaNokta || k - i == ortaNokta)) { Console.Write(nesne); } else if ((i + k >= ortaNokta && k - i <= ortaNokta)) { Console.Write("*"); } else if (i == ortaNokta) Console.Write("*"); else Console.Write(" "); } Console.WriteLine(); } Console.ReadKey(); } |