home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 March / pcx08_9703.iso / melyviz / pcx-user / pascal / lemezml.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-01-20  |  2.1 KB  |  70 lines

  1. program Haromszog;
  2.  
  3. uses Crt;
  4.  
  5. var a_oldal, b_oldal, c_oldal,
  6.     H_Terulet, H_Kerulet     : Real;
  7.  
  8. procedure Input(var a, b, c: Real);         { az adatok beolvasása }
  9. var Jo: Boolean;
  10. begin
  11.   repeat
  12.     WriteLn;
  13.     WriteLn('A háromszög oldalainak megadása');
  14.     Write('a oldal: '); ReadLn(a);          { az a oldal beolvasása }
  15.     Write('b oldal: '); ReadLn(b);          { az b oldal beolvasása }
  16.     Write('c oldal: '); ReadLn(c);          { az c oldal beolvasása }
  17.     if (a+b<=c) or (a+c<=b) or (b+c<=a)     { háromszögegyenlöség vizsgálata }
  18.        then begin
  19.               WriteLn('Hibás adatok: a háromszög nem szerkeszthetö meg!');
  20.               Jo:=False;
  21.             end
  22.        else Jo:=True;
  23.   until Jo=True;
  24.   WriteLn;
  25. end;
  26.  
  27. procedure Output(a, b, c: Real; Szoveg: String; Ered: Real);     { adatok kiírása a képernyöre }
  28. var Bill: Char;
  29. begin
  30.   WriteLn;
  31.   WriteLn('A háromszög adatai');
  32.   WriteLn('a oldal :',a:10:2);       { az a oldal kiírása }
  33.   WriteLn('b oldal :',b:10:2);       { az b oldal kiírása }
  34.   WriteLn('c oldal :',c:10:2);       { az c oldal kiírása }
  35.   WriteLn;
  36.   WriteLn(Szoveg,' ',Ered:10:2);     { az eredény kiírása }
  37.   WriteLn;
  38.   WriteLn('Üss le egy billentyüt!');
  39.   Bill:=ReadKey;     { várakozás egy billentyü leütésére }
  40.   WriteLn;
  41. end;
  42.  
  43. function Terulet(a, b, c: Real): Real;     { a terület kiszámítása }
  44. var  S: Real;
  45. begin
  46.   S:=(a+b+c)/2;                            { félkerület }
  47.   Terulet:=Sqrt(S*(S-a)*(S-b)*(S-c));      { Heron képlet }
  48. end;
  49.  
  50. function Kerulet(a, b, c: Real): Real;     { a terület kiszámítása }
  51. begin
  52.   Kerulet:=a+b+c;
  53. end;
  54.  
  55.  
  56. BEGIN     { a föprogram kezdete }
  57.  
  58.   ClrScr;     { képernyötörlés }
  59.  
  60.   Input(a_oldal,b_oldal,c_oldal);     { oldalak beolvasasa }
  61.  
  62.   H_Kerulet:=Kerulet(a_oldal,b_oldal,c_oldal);     { kerületszámítás }
  63.  
  64.   Output(a_oldal,b_oldal,c_oldal,'A háromszög kerülete:',H_Kerulet);     { eredmény kiírása }
  65.  
  66.   H_Terulet:=Terulet(a_oldal,b_oldal,c_oldal);     { területszámítás }
  67.  
  68.   Output(a_oldal,b_oldal,c_oldal,'A háromszög területe: ',H_Terulet);     { eredmény kiírása }
  69.  
  70. END.