Sk=1-1/2+1/3-1/4+. +-1/k eredménye, addig amíg |S2-S1|<E. E-t mi adjuk meg. Valaki le tudná írni ennek a programnak a forráskódját C#-ban?
#9: a program kimenete: [link]
A sorozat minden páros tagja negatív minden páratlan negatív előjelű ezért a számolgatás se legyen gyanús :), de nem értem a kérdezőt, hogy egy ciklust és egy feltételt miért nem ért meg...
a repeat ... until a do.. while ciklusnak felel meg. Az Inc(i) i++ jelent. A write.. read.. szerintem egyértelmű, a kiíratásnál használt s2:5:5 formázás csak - hossz, tizedesek. - Google 1 perc.-
double s1 = 1, s2 = 0, E = 0.12;
int n = 1;
Console.Write("E: ");
string st;
st = Console.ReadLine();
E = Convert.ToDouble(st);
do
{
n = n + 1;
s2 = s1;
if (n % 2 == 0)
{
s1 = s1 + (-1 / n);
}
else
{
s1 = s1 + (1 / n);
}
}
while (Math.Abs(s2 - s1) > E);
Console.Write("s=");
Console.WriteLine(s1);
Console.ReadKey();
megcsináltam. minden E-re s=1-et ír ki.
Elővettem egy C#-ot:
static void Main(string[] args)
{
double n = 1, s1 = 1, s2 = 0, E = 0.12;
Console.Write("E: ");
string st;
st = Console.ReadLine();
E = Convert.ToDouble(st);
do
{
n++;
s2 = s1;
if (n % 2 == 0)
{
s1 += (-1 / n);
}
else
{
s1 += (1 / n);
}
}
while (Math.Abs(s2 - s1) > E);
Console.WriteLine("s= {0:N5}", s1);
Console.ReadKey();
}
Mivel n int-nek volt deklarálva ezért az 1/n is int lett, tehát nem lehetett törtérték. A Pascal nem ennyire 'kényes' :)
Köszönöm szépen! :)
Még annyit szeretnék kérdezni, hogy H=SZUMMA[(3-k)*(k^2-9)]-et kéne átírni c# utasítássá, ahol k=-10..10.
én így gondoltam:
H=0;
for (k=-10;k<11;k++)
{
if (k==3|-3)
k++;
else
{
H=H+(3-k)*(k^2-9);
}
}
elírtam :)
H=SZUMMA[(3-k)/(k^2-9)] tehát nevező nem lehet 0.
if (k*k-9 != 0 ) {
összeadsz;
}
k++;
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!