Miért írja ki így?
Ez egy pascalos feladat:
Készítsünk programot, amely ki fogja kérdezni a matematikát (két szám összeadását, kivonását és szorzását az <1,10> intervallumból). A két számot és a műveletet a számítógép véletlenszerűen válassza ki. A program akkor fejeződjön be, ha a felhasználó 10 példát kiszámolt helyesen. Rossz válasz esetén kérdezze újra ugyanazt a példát. A program végén írjuk ki az eredményességet százalékokban.
A megoldásom:
program matek;
var a, b, j, e, m, sz, r, o:Integer;
Begin
Randomize;
m:=0;
Repeat
r:=0;
a:=1+random(10);
b:=1+random(10);
j:=1+random(3);
case j of
1:Begin
Repeat
Write(a,'+',b,'=');
ReadLn(e);
if (a+b=e) and (r=0) then
inc(sz)
else r:=1;
inc(o);
until a+b=e;
inc(m);
end;
2:Begin
Repeat
Write(a,'-',b,'=');
ReadLn(e);
if (a-b=e) and (r=0) then
inc(sz)
else r:=1;
inc(o);
until a+b=e;
inc(m);
end;
3:Begin
Repeat
Write(a,'*',b,'=');
ReadLn(e);
if (a+*b=e) and (r=0) then
inc(sz)
else r:=1;
inc(o);
until a+b=e;
inc(m);
end;
end;
until m=10;
WriteLn('Százalékban jó megoldásaid: ',sz/o*100,'%');
ReadLn;
End.
Ezzel csak annyi a problémám, hogy ezt írja ki például a végén:
Százalékban jó megoldásaid: 1.0000000000000000E+0002%
nem értem.
Előre köszönöm válaszaitokat!
A végén mást ír bocsi:
8.1818181818181818E+0001%
8.1818181818181818E+0001
Ez a "tudományos" jelölése a törtszámoknak, hívjuk normál alaknak is.
8.1818181818181818 az alap, és az E (ami az exponent, hatvány szóra utal) után van, hogy 10 a hanyadikonnal kell szorozni. Tehát
8.1818181818181818 * 10^1 = 81.818181818181818
Ugyanígy fentebb: 1.000000E+0002
1.000000 * 10^2 = 100
Itt van egy jó válasz a real formázásáról.
Próbáld így kiíratni:
WriteLn('Százalékban jó megoldásaid: ',sz/o*100:4:2,'%');
"Write(a,'*',b,'='); " itt szorzatot íratsz ki, aztán meg összeget "until a+b=e; " ellenőrzöl. Ez meg mi? (a+*b=e)
sz és o válzozónak nincs kezdőérték adva. Meg had ne soroljam tovább a hibákat.
8.1818181818181818E+0001 = 8.181818... szor 10 az elsőn. 81 egész 8181 stb. normálalakba.
sz/o*100 helyett sz/o*100:0:4 így 4 tizedes jegyig írja ki.
Köszönöm a válaszokat.
Neharagudjatok a hibákért csak gyorsan irtam.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!