C# Ders Anlatımı ve Projeler...

sR-77

Katılımcı Üye
19 Haz 2010
361
0
Nereye
Arkadaslar Her qun 1 Ders Anlatıcam Size ve İns 1 ay Sonunda c# Dilini Oreneceksiniz...
Eger Sizde öğrenmek İstiorsanız Bu Konuy Takip Edin..
Anlatımlar Ve Projeleri Acık Kaynak Olarak sunucam Size.. Üstünde calısabılmeniz icin
 

sR-77

Katılımcı Üye
19 Haz 2010
361
0
Nereye
Merhaba Arkadaşlar,

1. Klavyeden girilen 5 adet sayıdan sadece çift olan sayıların ortalamasını bulup, ekrana yazan consol programını yapınız.
01int sayi, adet = 0, toplam = 0, ort = 0;
02for (int a = 1; a<= 5; a++)
03{
04 Console.WriteLine("sayilari giriniz");
05 sayi = int.Parse(Console.ReadLine());
06 if (sayi % 2 == 0)
07 {
08 adet++; // adet=adet+1 veya adet+=1
09 toplam = toplam+sayi;
10 }
11}
12ort = toplam / adet;
13Console.WriteLine("çift sayilarin ortalaması: {0}", ort);
14Console.ReadKey();
15
16//Programın 2.yolu şu şekildedir.
17int sayi, adet = 0, toplam = 0, sayac=1, ort;
18while (sayac<=5)
19{
20 Console.WriteLine("sayilari giriniz");
21 sayi = int.Parse(Console.ReadLine());
22 if (sayi % 2 == 0)
23 {
24 adet++; // adet=adet+1 veya adet+=1
25 toplam = toplam+sayi;
26 }
27 sayac=sayac+1;
28}
29ort = toplam / adet;
30Console.WriteLine("çift sayilarin ortalaması: {0}", ort);
31Console.ReadKey();


2. Klavyeden girilen bir sayının faktöryelini hesaplayan ve ekrana yazan consol programını yapınız.

01int sayi,faktoryel=1;
02sayi=int.Parse(Console.WriteLine());
03for (int i=1; i<=sayi;i++)
04{
05 faktoryel=faktoryel*i;
06}
07Console.WriteLine("sayının faktöryeli={0}",faktoryel);
08Console.ReadKey();
09
10//Programın 2.yolu şu şekildedir.
11int sayi,faktoryel=1,sayac=1;
12sayi=int.Parse(Console.WriteLine());
13while(sayac<=sayi)
14{
15 faktoryel=faktoryel*sayac;
16 sayi++;
17}
18Console.WriteLine("sayının faktöryeli={0}",faktoryel);
19Console.ReadKey();


3. Klavyeden “1″ giriline kadar girilen tüm sayıların toplamını ekrana yazan consol programını yapınız.

01int t = 0, sayi;
02sayi=5; // Burada a değişkenine döngünün içine girebilsin diye
03 // 1 den farklı herhangi bir değer atıyoruz.
04while (sayi != 1)
05{
06 sayi = int.Parse(Console.ReadLine());
07 t = sayi + t;
08}
09Console.WriteLine("Sayıların toplamı= {0}", t);
10Console.ReadKey();
11
12/*Programın 2.yolu şu şekildedir. Ki bu yolda while döngüsünün
13farklı bir formunu kullanacağım. Fark şöyle ki, öğrendiğimiz
14while döngü bloğunda şart döngünün başında kontrol ediliyordu.
15Ancak şimdi kullanacağım formda while döngü bloğu, koşulu
16en sonda kontrol edecektir. While bloğunu bu formda
17kullanmamın şu şekilde bir artısı var. Döngü içine sokmak için
18sayi değişkenine bir değer atamam gerekmeyecektir.
19*/
20int toplam = 0, sayi;
21do
22{
23 sayi = int.Parse(Console.ReadLine());
24 toplam = toplam+sayi;
25} while (sayi != 1);
26// son girilen 1 sayısını da toplama dahil ettiği için
27// toplamı yazdırırken 1 eksiğini yazdırıyorum.
28Console.WriteLine("Sayıların Toplamı= {0}", toplam-1);
29Console.ReadKey();
30
31//Programın 3.yolu şu şekildedir.
32int toplam = 0, sayi=0;
33do
34{
35 toplam = toplam+sayi;
36 sayi = int.Parse(Console.ReadLine());
37} while (sayi != 1);
38Console.WriteLine("Sayıların Toplamı= {0}", toplam);
39Console.ReadKey();


4. Klavyeden “0” girilene kadar kaç adet sayı girildiğini bulan ve ekrana yazan consol programını yapınız.

01int adet = 0, a=1; // a değişkenine 0 dan farklı bir değer atadım
02while (a!=0)
03{
04 a = int.Parse(Console.ReadLine());
05 adet++;
06}
07Console.WriteLine(adet);
08Console.ReadKey();
09
10//Programın 2.yolu şu şekildedir.
11int sayi,adet=0;
12do {
13 sayi=int.Parse(Console.ReadLine());
14 adet++;
15}while ( sayi!=0);
16Console.WriteLine(adet);
17Console.ReadKey();


5. Kullanıcı “c” tuşuna basan kadar programı sonlandırmayan ve sürekli harf okuyan consol programını yapınız.

01string harf;
02harf="a"; // c den farklı bir harf atadım
03while (harf!="c")
04{
05Console.WriteLine("harf giriniz");
06harf = Console.ReadLine();
07}
08Console.ReadKey();
09
10//Programın 2.yolu şu şekildedir.
11char harf;
12do{
13 Console.WriteLine("harf giriniz");
14 harf = char.Parse(Console.ReadLine());
15}while (harf != 'c');
16Console.ReadKey();


6. Klavyeden iki sayı girilerek, kullanıcıya
toplam-çarpım-bölüm-fark ı bulunuz?
şeklinde seçenekler sunarak, kullanıcının yaptığı seçime göre 1 ise bu iki sayıyı toplayan, 2 ise çarpan, 3 ise farkını bulan, 4 ise bölümünü bulan ve arkasından “Programdan çıkmak ister misiniz?(E/H)” şeklinde bir soru sorarak eğer “e” tuşuna kullanıcı basarsa programı sonlandıran “h” tuşuna basılırsa tekrar aynı soruyu soran(kullanıcı “e” tuşuna basana kadar) consol programını yapınız.
7. Klavyeden 10 adet sayı girilerek, bu sayıların en büyüğünü bulup, ekrana yazan consol programını yapınız.
01int enbuyuk=0,sayi;
02for (int a = 1; a<= 10; a++)
03{
04 sayi= int.Parse(Console.ReadLine());
05 if (sayi>enbuyuk) enbuyuk = sayi;
06}
07Console.WriteLine("en buyuk:{0}",enbuyuk);
08Console.ReadKey();
09
10//Programın 2.yolu şu şekildedir.
11int enbuyuk, sayi, k=1;
12while(k<=10) {
13 sayi= int.Parse(Console.ReadLine());
14 if (k==1) enbuyuk=sayi;
15 if (sayi>enbuyuk) enbuyuk = sayi;
16 k=k+1;
17}
18Console.WriteLine("en buyuk:{0}",enbuyuk);
19Console.ReadKey();


8. Sayı tahmin oyununu yapınız. Kullanıcıya 3 tahmin hakkı verilecektir.

01int sayi,tutulan_sayi ;
02//Rastgele sayı üretmek için Random deyimi kullanıyoruz.
03Random rasgele = new Random();
04tutulan_sayi = rasgele.Next(1, 50);
05for (int a = 1; a<= 3; a++)
06{
07 sayi= int.Parse(Console.ReadLine());
08 if (sayi== tutulan_sayi)
09 {
10 Console.WriteLine("tebrik ederiz dogru bildiniz");
11 break;
12 }
13 else
14 {
15 Console.WriteLine("bir daha deneyin");
16 }
17}
18if (a==4) Console.WriteLine("Hakkınız bitti.Tuttuğum sayı={0}",tutulan_sayi);
19Console.ReadKey();


9. Klavyeden 1 sayı girilerek, girilen bu sayının asal olup olmadığını bulan ve ekrana yazan consol programını yapınız.

Programın Çözümü: Öncelikle asal sayının ne demek olduğunu açıklayalım. Yalnızca 1 ve kendisine bölünebilen sayılara asal sayı denir. Kullanıcıdan bir girmesine isteyeceğiz. Daha sonra sayıların hepsi 1'e bölünebildiği için 2 den başlayarak girilen sayının 1 eksiğine (çünkü tüm sayılar kendisine de bölünüyor.) kadar sıra ile dönerek sayının döngü değişkenine bölünüp bölünmediğini kontrol edeceğiz. (bolen<=sayi-1) ya da (bolen < sayi) bolen değişkeninin sayi değerine ulaşmasını istemiyorum. Zaten kendisine her sayı bölünür kontrole gerek yok. Herhangi bir sayı bolen değişkeninin değerini tam böldükten (kalan==0) sonra diğerlerine bakmaya gerek yok. Direk döngüden çıkarıyoruz. Döngü son değere kadar döndüyse (bolen==sayi) demek ki sayıyı tam bölen bir sayı yoktur. Yani asaldır.

01 int sayi, bolen = 2;

02 int kalan=0;
03 Console.WriteLine("Sayı giriniz:");
04 sayi = int.Parse(Console.ReadLine());
05 while (bolen < sayi)
06 {
07 kalan = sayi % bolen;
08 if (kalan == 0)
09 {
10 Console.WriteLine("Sayınız asal değildir");
11 break;
12 }
13 bolen++;
14 }
15 if (kalan != 0) Console.WriteLine("asaldır");
16 Console.ReadKey();
17
18//Programın 2.yolu şu şekildedir.
19 int sayi, kalan=0,bolen=2;
20 Console.WriteLine("Sayı giriniz:");
21 sayi = int.Parse(Console.ReadLine());
22 for (bolen = 2; bolen < sayi;bolen++ )
23 {
24 kalan = sayi % bolen;
25 if (kalan == 0)
26 {
27 Console.WriteLine("Sayınız asal değildir");
28 break;
29 }
30
31 }
32 if (bolen== sayi) Console.WriteLine("asaldır");
33 Console.ReadKey();
34 }


10. Klavyeden girilen 10 adet sayının en büyüğünün ve en küçüğünün toplamını bulup, ekrana yazan consol programını yapınız.

01int eb = 0, ek = 100000000, sayi;
02for (int a = 1; a <= 10; a++)
03{
04 sayi = int.Parse(Console.ReadLine());
05 if (sayi > eb) eb = sayi;
06 if (sayi < ek) ek = sayi;
07}
08Console.WriteLine("en büyük sayı: {0} - en küçük sayı: {1}", eb, ek);
09Console.ReadKey();
10
11// Programın 2.yolu şu şekildedir.
12int eb=0, ek=0, sayi;
13for (int k = 1; k <= 10; k++)
14{
15 sayi = int.Parse(Console.ReadLine());
16 if (k == 1)
17 {
18 ek = sayi;
19 eb = sayi;
20 }
21 if (sayi > eb) eb = sayi;
22 if (sayi < ek) ek = sayi;
23}
24Console.WriteLine("en büyük sayı: {0} - en küçük sayı: {1}", eb, ek);
25Console.ReadKey();
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.