Fonksiyon ödevlerinin çözümleri using System; namespace FonkClass class Program static void Main() int toplam = Topla3Sayi(3, 4, 5); Console.WriteLine("Toplam = " + toplam); int sonuc = Carp3Sayi(3, 4, 5); Console.WriteLine("Çarpım = " + sonuc); int fark = Cikar(23, 12); Console.WriteLine("Fark = " + fark); double bolum = Bol(23, 12); Console.WriteLine("Bölüm = " + bolum); int mt1 = MutlakDeger(12); int mt2 = MutlakDeger(-11); int mt3 = MutlakDeger(0); Console.WriteLine("mt1=0, mt2=1, mt3=2", mt1, mt2, mt3); int mod = ModAl(8, 3); Console.WriteLine("mod = " + mod); int kare = KareAl(8); Console.WriteLine("kare = " + kare); int kup = KupAl(8); Console.WriteLine("küp = " + kup); double us = UsAl(2, 4); Console.WriteLine("üs = " + us); bool asal_mi = AsalMI(177); Console.WriteLine("177 asal mi :" + asal_mi); double vize = YuzdeAl(86, 40); Console.WriteLine("Vizeden alacağın not:" + vize); double final = YuzdeAl(93, 60); Console.WriteLine("Finalden alacağın not:" + final); Console.WriteLine("Ortalama = " + (vize + final)); int fak = Faktoriyel(5); Console.WriteLine("5!=" + fak); int per = Permutasyon(8, 3); Console.WriteLine("P(8,3) = " + per); int kom = Kombinasyon(8, 3); Console.WriteLine("C(8,3) = " + kom); int tp10 = ToplaNsayi(10); Console.WriteLine("tp10 = " + tp10); 1 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi
int tp3 = ToplaNsayi2(10, 3); Console.WriteLine("10'e kadar 3'ün katlarının toplamı =" + tp3); double ort; char harf = NotKontrol(65, 40, 73, 60, out ort); Console.WriteLine("Ortalama = 0 --> Geçme notu = 1", ort, harf); double islem_sonucu = IslemYap(5, '+', 6); Console.WriteLine("işlem sonucu = " + islem_sonucu); //AsciiTablosu(); KareCiz('#', 10); KareCiz('*', 20); KareCiz('+', 5); Console.WriteLine(); Tekrarla(8); Console.ReadLine(); /*üç sayının toplamını geri gönderir*/ static int Topla3Sayi(int a, int b, int c) return a + b + c; /*üç sayının çarpımını geri dönderir*/ static int Carp3Sayi(int a, int b, int c) return a * b * c; /* girilen sayıların farkını alır*/ static int Cikar(int a, int b) return a - b; /* bölme işlemi */ static double Bol(float bolunen, float bolen) return bolunen / bolen; /* girilen sayinin mutlak değerini geri dönderir*/ static int MutlakDeger(int n) /*if (n >= 0) return n; else return -n;*/ return n >= 0? n : -n; //return Math.Abs(n); 2 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi
/* a mod b işleminin sonucunu dönderir. uyarı: C#'ta mod alma operatörünü kullanmayacaksınız */ static int ModAl(int a, int b) //return a % b; while (a > b) a = a - b; return a; /* girlen sayının karesini dönderir*/ static int KareAl(int n) return n * n; /* girlen sayının küpünü dönderir*/ static int KupAl(int n) return n * n * n; /* girilen a sayisinin b ninci dereceden kuvvetini dönderir. örn: a^b */ static double UsAl(int a, int b) //return Math.Pow(a, b); double sonuc = 1; for (int i = 0; i < b; i++) sonuc *= a; return sonuc; /* girilen sayının asal sayı olup olmadığına bakıp asal ise true, değilse false döndürür */ static bool AsalMI(int a) for (int i = 2; i < a; i++) if (a % i == 0) return false; return true; /* bir sayinin yüzde kısmını alır örnek: double yzd = YuzdeAl(70,26); yzd değişkeninin değeri 70 in yüzde 26 sı olacak. */ static double YuzdeAl(double sayi, double yzd) return (sayi / 100) * yzd; 3 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi
/* n! : 1 den n e kadar sayilarin çarpımı*/ static int Faktoriyel(int n) int sonuc = 1; sonuc *= i; return sonuc; /* P(n,r) = n! / (n-r)! yazdığın faktoriyel fonksiyonunu kullan*/ static int Permutasyon(int n, int r) return Faktoriyel(n) / Faktoriyel(n - r); /* C(n,r) = n!/ [ r!* (n-r)! ] yazdığın faktoriyel fonksiyonunu kullan*/ static int Kombinasyon(int n, int r) return Faktoriyel(n) / (Faktoriyel(r) * Faktoriyel(n - r)); /* 1 den n e kadar sayilarin toplamı*/ static int ToplaNsayi(int n) //return n * (n + 1) / 2; int top = 0; top += i; return top; /* 1 den n e kadar y ye bölünebilen sayıların toplamı */ static int ToplaNsayi2(int n, int y) int top = 0; if (i % y == 0) top += i; return top; 4 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi
/* girilen vize ve final notlarının ve yüzdelerinin durumuna göre ort >= 85 ise A 85 > ort >= 70 ise B 70 > ort >= 55 ise C 55 > ort >= 45 ise D 45 > ort ise F sonucunu dönderen fonksiyon */ static char NotKontrol(int vize, int v_yuzde, int final, int f_yuzde, out double ort) ort = vize * (v_yuzde / 100.0) + final * (f_yuzde / 100.0); if (ort >= 85) return 'A'; else if (ort >= 70) return 'B'; else if (ort >= 55) return 'C'; else if (ort >= 45) return 'D'; else return 'F'; /* isleme göre sayi1 ve sayi2 yi toplayan, çarpan, çıkaran, bölen, mod alan ve sonucu dönderen fonksiyon örnek: IslemYap(3,'+', 2); toplama yapacak IslemYap(3,'-', 2); çıkarma yapacak IslemYap(3,'*', 2); çarpma yapacak IslemYap(3,'/', 2); bölme yapacak IslemYap(3,'%', 2); mod alacak */ static double IslemYap(double a, char isl, double b) switch (isl) case '+': return a + b; case '-': return a - b; case '*': return a * b; case '/': return a / b; case '%': return a % b; default: return 0; /*BONUS */ /* ASCII tablosundaki karkterleri her satırda 8 karakter olacak * şekilde değerleri ile beraber yazdıran bir fonksiyon yazın */ static void AsciiTablosu() for (int i = 0; i < 256; i++) if (i % 8 == 0) Console.WriteLine(); Console.Write("0:D3:1 ", i, (char)i); 5 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi
/* girilen karakteri kullanarak boyut ebatında kare çizer. örneğin: karakter olarak + ve boyut olarak 3 girildi ise : +++ +++ +++ karakter olarak # ve boyut olarak 4 girildi ise : Karakter olarak S ve boyut olarak 8 girildi ise */ static void KareCiz(char karakter, int boyut) for (int i = 0; i < boyut; i++) for (int j = 0; j < boyut; j++) Console.Write(karakter); Console.WriteLine(); /* girilen sayi kadar tekrar eden çıktı örneğin n = 3: 1 22 333 örneğin n = 5: 1 22 333 4444 55555 */ static void Tekrarla(int n) for (int j = 0; j < i; j++) Console.Write(i); Console.WriteLine(); 6 BMYO- Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Bahar Dönemi