Írjunk programot, amely a megadott első tag és a differencia ismeretében kiszámítja a számtani sorozat n-edik tagját rekurzív függvénnyel.
A feladat megoldása
static int Számtanisor(int a, int d, int n)
{
if (n == 1)
return a;
else
return d + Számtanisor(a, d, n - 1);
}
int első, diff, szám;
private void Végrehajtás_Click(object sender, EventArgs e)
{
int n_edik;
if (textBox1.Text != "" && textBox2.Text != "" &&
textBox3.Text != "")
{
első = Int32.Parse(textBox1.Text);
diff = Int32.Parse(textBox2.Text);
szám = Int32.Parse(textBox3.Text);
n_edik = Számtanisor(első,diff,szám);
textBox4.Text = "A sorozat " + szám + ". tagja: "
+ n_edik;
}
}
private void Kiírás_Click(object sender, EventArgs e)
{
string s;
s = "";
listBox1.Items.Clear();
listBox1.Items.Add("1.elem: " + első);
s = 1 + ".elem: " + első;
s = "";
for (int i = 2; i <= szám; i++)
{
első += diff;
s = i + ".elem: " + első;
listBox1.Items.Add(s);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
A program futási eredményei: