Aktív témák
-
DKristof
csendes tag
válasz
huntermati
#74
üzenetére
Érdemes szerintem a diszkriminánst külön változóba kitenni, többek közt akkor a zárójelet is nehezebb elrontani.
Sőt, én a két eredményt is először kiraknám egy változóba, így jóval hosszabb ugyan a kód, de átláthatóbb és könnyebben bővíthető.Egy klasszikus "pascal-os" kód szerintem valahogy így nézne ki:
program MasodFok;
var
A , B , C , { egyutthatok }
D , { diszkriminans }
X1 , X2 : Real; { megoldasok }
Mo : Integer; { megoldasok szama }
begin
{ beolvasas }
ReadLn(A , B , C);
{ ellenorzes: masodfoku? }
if A <> 0
then
begin
{ diszkriminans }
D := sqr(b) - (4*a*c);
if D > 0
then
begin
{ ket valos gyok van }
Mo := 2;
X1 := (-b + sqrt(d)) / (2*a);
X2 := (-b - sqrt(d)) / (2*a);
end
else if D = 0
then
begin
{ egy valos gyok van }
Mo := 1;
X1 := -b / (2*a);
end
else
{ nincs valos gyok }
Mo := 0;
{ eredmeny kiirasa }
case Mo of
0 : WriteLn('Az egyenletnek nincsen valos gyoke');
1 : WriteLn('Az egyenletnek egy valos gyoke van: ' , X1:12:4);
2 : WriteLn('Az egyenletnek ket valos gyoke van: ' , X1:12:4 , X2:12:4);
end;
end
else
WriteLn('A megadott egyenlet nem masodfoku');
ReadLn;
end. -
Karma
félisten
válasz
huntermati
#74
üzenetére
Rosszul zárójeleztél. A helyes képlet (-b ± sqrt(b^2 - 4ac)) / 2a.
De ha már itt tartunk, nem ártana ellenőrizni a determinánst, mielőtt nullával osztasz.A "szam1-2-3" változók helyett lehet, hogy az a, b, c beszédesebb és átláthatóbb lenne.
Aktív témák
- Einhell akkumulátoros fűnyíró eladó!
- Bomba ár! Panasonic CF-20-2 Tab+Laptop: i5-7G I 8GB I 256SSD I 10,1" WUXGA Touch I Cam I W11 I Gar
- Bomba ár! Lenovo ThinkPad L13 G2 - i5-11G I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad E15 G2 - i7-11G I 8-16GB I 512SSD I 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkBook 15 G2 - i5-11G I 16GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- Új HP 16 Victus FHD IPS 144Hz Ryzen7 8845HS 5.1Ghz 16GB 1TB SSD Nvidia RTX 4060 8GB Win11 Garancia
- Samsung Galaxy Tab S6 lite 64GB,Átlagos,Adatkabel,12 hónap garanciával
- MacBook Air M1 13" 16GB RAM 256GB SSD 27% áfás számla 0347AB
- MikroTik RB5009UPr+S+IN
- ÚRIS10!!! RAMÁRON! LEGION 5 i7-13650HX 16GB RAM 512GB SSD RTX 5070 8GB 2K OLED 165Hz 500NIT
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
