Kezdőoldal » Számítástechnika » Programozás » Haromszog Pascalban?

Haromszog Pascalban?

Figyelt kérdés

Sziasztok adott a kovetkezo problemam , megirtam a programot de nem tudom hol lehet a gond.Kerlek segitsetek.

program feladat1;

var a,b,c:integer;

begin

write('Kerlek adj meg 3 szamot:');

write(a);

readln(a);

write(b);

readln(b);

write(c);

readln(c);

if a> b+c or b> a+b or c> a+b and a>0 and b> 0 and c> 0 then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');

else if sqr(a)=aqr(b)-sqr(c) or sqr(b)=sqr(a)-sqr(c) or sqr(c)=sqr(a)-sqr(b) and a=b or b=c or c=b then writeln('A haromszog egyenlo szaru derekszogu)

else writeln('a haromszog derekszogu')

if a=b or b=c or c=a then writeln('A haromszog egyenlo szaru')

else writeln('Egyenlo oldalu)

if a=b=c then writeln('egyenlo oldalu')

else write('altalanos')

end.



2013. nov. 23. 16:13
 1/4 anonim ***** válasza:

pl:

writeln('A haromszog egyenlo szaru

derekszogu)

itt kimaradt az aposztrof

2013. nov. 23. 16:15
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Koszi de meg van hiba.
2013. nov. 23. 16:22
 3/4 tabaki ***** válasza:

Hát igen, hol pontosvesszőt teszel az else ág elé, hol meg utána nem...

Ja, meg alkothatJA.

2013. nov. 24. 03:43
Hasznos számodra ez a válasz?
 4/4 coopper ***** válasza:

Szia.


Akkor nézzük :


1. Minek kiirni az oldalt amikor utánna ugyis bekéred és ezáltal felüliratod (kiirsz egy random számot) :


write(a);

readln(a);

write(b);

readln(b);

write(c);

readln(c);


A writeln-es sorok mind feleslegesek szerintem.


2. Ha tudjuk 3 oldalának a hosszát: ez akkor lehetséges, ha bármelyik két oldal hosszának az összege nagyobb, mint a harmadik oldal hossza.


Forrás : [link]


Tehát nem or, hanem and és elvileg zárójelezni kell a logokai kifejezéseket illetve nem jó egy összehasonlitás : a>b+c ez ok, b>a+b szerintem ehelyett b>a+c, és c>a+b ez megint ok. :

if a> b+c or b> a+b or c> a+b and a>0 and b> 0 and c> 0 then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');


Szerintem :


if (a>b+c) and (b>a+c) and (c>a+b) and (a>0) and (b>0) and (c>0) then writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');


3. sqr függvény helyett jobb lenne az egyszerű szorzást használni : c*c=a*a+b*b (pitagorasz)


4. Az if -eket begin endbe kellene rakni, hogy jobban elkülönöljön, azt hogy mit is szeretnél :


if (a>b+c) and (b>a+c) and (c>a+b) and (a>0) and (b>0) and (c>0) then begin

writeln('Az alatalad megadott 3 szam alkothat egy haromszog oldalinak a hosszat');

end

else begin

...

...

end ;


Talán ennyi, nézd meg még ezt :

http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..


Sok sikert.

Üdv.

2013. nov. 24. 08:16
Hasznos számodra ez a válasz?

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!