Kezdőoldal » Számítástechnika » Programozás » Sk=1-1/2+1/3-1/4+. +-1/k...

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?

Figyelt kérdés
addig jutottam el, hogy felveszek egy sz=1(számláló) és egy n=1(nevező) változót intbe és sz=sz*(-1), n=n+1, emellett szerintem kell egy s1 és egy s2, ahol s2=s1+ még egy tag. E-t szerintem doublebe kell. Valaki le tudná írni?

2014. okt. 22. 19:00
1 2 3
 11/24 SimkoL ***** válasza:

#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.-

2014. okt. 23. 16:16
Hasznos számodra ez a válasz?
 12/24 SimkoL ***** válasza:
* páratlan negatív - páratlan pozitív, bocsi felbosszantottam magam
2014. okt. 23. 16:18
Hasznos számodra ez a válasz?
 13/24 A kérdező kommentje:

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.

2014. okt. 23. 18:09
 14/24 SimkoL ***** válasza:

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' :)

2014. okt. 23. 22:10
Hasznos számodra ez a válasz?
 15/24 A kérdező kommentje:

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);

}

}

2014. okt. 24. 12:54
 16/24 anonim ***** válasza:
#15: Minek is bele elágazás? :)
2014. okt. 24. 12:58
Hasznos számodra ez a válasz?
 17/24 A kérdező kommentje:

elírtam :)

H=SZUMMA[(3-k)/(k^2-9)] tehát nevező nem lehet 0.

2014. okt. 24. 13:10
 18/24 anonim ***** válasza:

if (k*k-9 != 0 ) {

összeadsz;

}

k++;

2014. okt. 24. 13:14
Hasznos számodra ez a válasz?
 19/24 anonim ***** válasza:
Bocs, k++ nem is kell, azt a for ciklus megcsinálja.
2014. okt. 24. 13:15
Hasznos számodra ez a válasz?
 20/24 A kérdező kommentje:
neked mennyi az eredmény?
2014. okt. 24. 13:20
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!