120 likes | 344 Views
C#. Elazığ, 2012. Fonksiyon ve Altprogram. double fak( byte x ) //fonksiyon satırları { byte i; double s; s = 1; for (i = 1; i <= x; i++) s = s * i; return s; }.
E N D
C# Elazığ, 2012
Fonksiyon ve Altprogram double fak(byte x) //fonksiyon satırları { byte i; double s; s = 1; for (i = 1; i <= x; i++) s = s * i; return s; } private void textBox1_TextChanged(object sender, EventArgs e) { byte sayı; double sonuç; sayı = byte.Parse(textBox1.Text); sonuç = fak(sayı); //gönderme satırı label1.Text = sonuç.ToString(); }
1-20 arası sayıların faktöryeli privatevoid Form1_Load(objectsender, EventArgs e) { byte i; for (i = 1; i <= 20; i++) listBox1.Items.Add(fak(i).ToString()); }
f(n,r) private void button1_Click(object sender, EventArgs e) { byte n, r; double s; n = byte.Parse(textBox2.Text); r = byte.Parse(textBox3.Text); s = fak(n) / (fak(r) * fak((byte)(n - r))); MessageBox.Show("n-r kombinasyonu:"+s.ToString()); }
Hipotenüs – iki değer gönderelim double hipotenus(double x, double y) { returnMath.Sqrt(x*x+y*y); } privatevoid Form1_Load(objectsender, EventArgs e) { MessageBox.Show(hipotenus(3, 4).ToString()); MessageBox.Show(hipotenus(5, 12).ToString()); }
N tane sayının kareleri toplamı double kare_topla(paramsdouble[] x) { double t = 0; int i; for (i = 0; i <= x.Length - 1; i++) t = t + Math.Pow(x[i], 2); return t; } private void button1_Click(object sender, EventArgs e) { double sonuç; sonuç = kare_topla(5,12); MessageBox.Show(sonuç.ToString()); }
Birden fazla değer geri gönderme void ayir2(double x, refinttam, ref double ondalik) { tam = (int)x; //sayının tam kısmını al ondalik = x - tam; } private void button1_Click(object sender, EventArgs e) { double x, z = 0; int y = 0; x = 145.39; ayir2(x, ref y, ref z); MessageBox.Show("tam kısım " + y.ToString()+"ondalık kısım "+z.ToString()); }
Birden fazla değer geri gönderme void ayir2(double x, outint tam, out double ondalik) { tam = (int)x; //sayının tam kısmını al ondalik = x - tam; } private void button1_Click(object sender, EventArgs e) { double x, z = 0; int y = 0; x = 145.39; ayir2(x, out y, out z); MessageBox.Show("tam kısım " + y.ToString()+"ondalık kısım "+z.ToString()); }
Aynı isme sahip prosedür = Overload int topla(int x, int y) { MessageBox.Show("2 parametreli olan fonk çalışıyor"); return x+y; } int topla(int x, int y, int z) { MessageBox.Show("3 parametreli olan fonk çalışıyor"); return x + y + z; } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(topla(5,6).ToString()); MessageBox.Show(topla(5,6,7).ToString()); } Parametre veya türü farklı olabilir.
Olaylara ortak kod yazma private void button1_Click(object sender, EventArgs e) { MessageBox.Show("merhaba"); } private void button2_Click(object sender, EventArgs e) { button1_Click(sender, e); //button1 deki kodu çağır }
Olaylara ortak kod yazma privatevoidislem_yap(objectsender, EventArgs e) { MessageBox.Show("merhaba"); }
Uygulama Soruları • Alt programa gönderilen N tane sayının karekökleri toplamını bulan prog? • Alt programa gönderilen sayının karekökünü ve küp kökünü geri gönderen prog?