Kezdőoldal » Számítástechnika » Programozás » Van két egyszerű programom....

Van két egyszerű programom. Papiron megvalositottam h naggyábol hogy kell, de nem jöttem rá teljesen. Feltételezem hogy a két programot egyszerre is lirhatnám. Hogyan lehetséges ez? (progik lent)

Figyelt kérdés

program teglalap;

var a,b:integer;

begin

writeln('Kerem a tegalap oldalait: ');

write('a= ');

readln(a);

write('b= ');

readln(b);

writeln('A teglalap kerulete, k= ',2*a+2*b);

writeln('A teglalap terulete: t= ',a*b);

readln;

end.



program negyzet;

var a,k,t:integer;

begin

writeln('Kerem a negyzet oldalanak hosszat: ');

readln(a);

k:=4*a;

t:=a*a;

writeln('A negyzet kerulete: ',k);

writeln('A negyzet terulete: ',t);

readln;

end.



2014. jan. 14. 18:48
 1/5 uno20001 ***** válasza:

Például:


program egybe;

uses sysutils, strutils;

var parancs:char;

procedure teglalap;

var a, b:integer;

begin

writeln('Kerem a tegalap oldalait: ');

write('a= ');

readln(a);

write('b= ');

readln(b);

writeln('A teglalap kerulete, k= ',2*a+2*b);

writeln('A teglalap terulete: t= ',a*b);

readln;

end;

procedure negyzet;

var a, k, t:integer;

begin

writeln('Kerem a negyzet oldalanak hosszat: ');

readln(a);

k:=4*a;

t:=a*a;

writeln('A negyzet kerulete: ',k);

writeln('A negyzet terulete: ',t);

readln;

end;

begin

writeln('Parancs: ');

readln(parancs);

case parancs of

'T':teglalap;

'N':negyzet;


end;


end.


-------------------

Ha a parancs "T", akkor a téglalapot hívja meg, ha "N", akkor a négyzetet.

2014. jan. 14. 20:12
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
nagyon szépen köszönöm :)
2014. jan. 14. 20:17
 3/5 tabaki ***** válasza:

A négyzet maga is téglalap, tehát az egész szétválasztás fölösleges. Szerintem valójában egy problémád van: A téglalap két adatot kér, a négyzet meg csak egyet.

A beolvasást amúgy is érdemesebb stringgel intézni, azt meg elemezheted, hogy hány szót kaptál. Ha kettőt, akkor az egyiknek a val() értéke megy A-ba, a másik B-be. Ha csak egyet, akkor csak A-ba, és B:=A. Innentől lehet tökegyforma a számolás, a végén meg IF A=B alapján dönthetsz, hogy a kiíratásnál négyzet vagy téglalap értékeiről beszélsz.

2014. jan. 15. 10:46
Hasznos számodra ez a válasz?
 4/5 tabaki ***** válasza:
Aha, az most tűnt föl, hogy külön akarod bekérni a két adatot... Akkor meg az elején tegyél fel egy kérdést, hogy melyik idomról van szó. Ha téglalap, akkor 2 számot olvas be, ha négyzet, akkor meg csak egyet, és átmásolja az értékét a másik változóba, a többi mint fentebb.
2014. jan. 15. 10:58
Hasznos számodra ez a válasz?
 5/5 SimkoL ***** válasza:

Ez valóban egy prograram :)


program negyzet;

uses Crt;

var a, b : real;

valaszt : char;

beker : string;

hiba : integer;

begin

WriteLn('Negyzet vagy teglalap ( N / T )');

repeat

valaszt := ReadKey;

until valaszt in [ 'n', 'N', 't', 'T' ];

hiba := 1;

while hiba <> 0 do

begin

Write('Kérem az "a" oldalt: ');

ReadLn(beker);

Val(beker, a, hiba);

end;

if UpCase(valaszt)= 'T' then

hiba := 1;

begin

while hiba <> 0 do

begin

Write('Kérem az "b" oldalt: ');

ReadLn(beker);

Val(beker, b, hiba);

end;

end;

if UpCase(valaszt) = 'N' then

begin

WriteLn('A negyzet terulete: ', a * a :10:3);

WriteLn('A negyzet kerülete: ', a * 4 :10:3);

end

else

begin

WriteLn('A teglalap terulete: ', a * b :10:3);

WriteLn('A teglalapl kerülete: ', (a + b) * 2 :10:3);

end;

end.

2014. jan. 15. 15:30
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!