Kezdőoldal » Számítástechnika » Programozás » Csinálni akarok papámnak egy...

Csinálni akarok papámnak egy programot ami kiszámolja hány négyzetmétert gyalult meg. Az lenne a lényeg hogy egy deszkának a felszínét kell kiszámolni de a legkisebb oldalt nem kell számolni. Ezt hogy tudom megcsinálni?

Figyelt kérdés

Pascalban írom. Jelenleg így néz ki a progi:

program gyalu;

var h,s,v,l,o:real;

begin

write('Hany meter hosszu a deszka? ');

readln(h);

write('Hany meter szeles a deszka? ');

readln(s);

write('Hany meter vastag a deszka? ');

readln(v);

write('A deszka ',2h*2s+2h*2v' m2');

end.



2013. júl. 29. 15:35
1 2 3
 11/24 A kérdező kommentje:
köszönöm a válaszokat! sikerült megcsinálni. az l meg az o változó azért van(volt) ott mert nem sikerült működésre bírni a progit és próbálkoztam más módszerekkel is. mellesleg nekem senki nem tanított pascalt mert csak 8.-os vagyok, netrl tanulok.
2013. júl. 29. 21:01
 12/24 A kérdező kommentje:

ilyen eddig a progi:


program gyalu;

var h,s,v:real;

begin

write('Hany meter hosszu a deszka? ');

readln(h);

write('Hany meter szeles a deszka? ');

readln(s);

write('Hany meter vastag a deszka? ');

readln(v);

write('A deszka ',2*h*s+2*h*v,' m2');

readln;

end.

2013. júl. 29. 21:02
 13/24 anonim ***** válasza:
0%
Ha nincs szükség a vastagságra, akkor ki is hagyhatod.
2013. júl. 29. 21:24
Hasznos számodra ez a válasz?
 14/24 iostream ***** válasza:
Utolsó: hogy az istenbe ne lenne szükség a vastagságra. Használja is. Elemi matek nincs meg?
2013. júl. 29. 23:20
Hasznos számodra ez a válasz?
 15/24 A kérdező kommentje:

iostream xD! továbbírtam :P:


program gyalu;

var hossz,szelesseg,vastagsag:real;

var deszkadb:integer;

begin

write('Hany meter hosszu a deszka? ');

readln(hossz);

write('Hany meter szeles a deszka? ');

readln(szelesseg);

write('Hany meter vastag a deszka? ');

readln(vastagsag);

write('Hany db deszkat gyalultatnak? ');

readln(deszkadb);

writeln('A deszka ',2*hossz*szelesseg*deszkadb+2*hossz*vastagsag*deszkadb:5:5,' m2');

write('A bevetel :',2*hossz*szelesseg*deszkadb*300+2*hossz*vastagsag*deszkadb*300:5:0,'Ft');

readln;

end.



Írtam egy másik programot is. Akit érdekel megnézheti az oldalamon: [link] (ez ugye nem számít reklámnak :O?)

2013. júl. 30. 14:52
 16/24 anonim ***** válasza:

Ha már ennyire tanulni szeretnél:

- ne számold ki kétszer a legyalult felületet, elég egyszer.

- használd a zárójelet

felulet:=2*deszkadb*hossz*(szelesseg+vastagsag)

writeln('A deszka ',felulet:5:5, ' m2');

write('A bevetel :',felulet*300:5:0,'Ft');


Ennél a programnál nem sokat jelent futási időben, de ne alakíts ki már az elején rossz szokásokat. Mindenképp olvashatóbbá teszi a kódot.


A négyzetméterárat pedig érdemes lenne konstansként megadni, ne a kód közepén kelljen változtatni, ha módosul.


Ha tanácsot akarsz kérni, ne az exe-ket tedd fel az oldaladra.

2013. júl. 30. 15:20
Hasznos számodra ez a válasz?
 17/24 iostream ***** válasza:
Azt javaslom, hogy a többször használt képletek értékét mentsd ki külön változóba.
2013. júl. 30. 15:21
Hasznos számodra ez a válasz?
 18/24 anonim ***** válasza:
A négyzetméterárat, ha már figyelembe vesszük a módosulási eshetőséget, akkor ne kódba égetve használja, hanem kérje be. Így nem kell újrafordítani a programot, ha változik.
2013. júl. 30. 15:58
Hasznos számodra ez a válasz?
 19/24 tabaki ***** válasza:
100%

Miközben irkáltatok, én csináltam egy újabb változatot, és de jó, párhuzamos a megjegyzéseitekkel:

[link]

A fentieken kívül még szét is tagoltam, hogy a későbbiekben könnyebb legyen bolondbiztossá tenni (például a bevitelből lehetne functiont csinálni, amely nyomban ellenőrzi, hogy értelmes értékeket kapott-e).

A négyzetméterárat eléggé idegesítő lenne minden futtatáskor beírni, de ez kezdőként konzolon nehezen volna kikerülhető. Érdemes lenne valami felületet csinálni hozzá egy erre való gombbal, akár karakteres képernyőn, vagy egy értéket fenntartani a célra. A bevitelt talán amúgyis hasznos lenne stringekre átírni, akkor kezelhető, ha valaki tizedesvesszőt ír be, vagy odaírja, hogy 'centi'. Ekkor meg lehetne azt is csinálni, ha szám helyett valami kulcsszót írsz be, akkor megváltoztasd a négyzetméterárat. Azt meg nem ártana elmenteni, hogy legközelebb is az legyen érvényben...

2013. júl. 30. 17:40
Hasznos számodra ez a válasz?
 20/24 anonim ***** válasza:

"A négyzetméterárat eléggé idegesítő lenne minden futtatáskor beírni"


Hát most egy háromjegyű számot begépelni nem nagy fáradtság, hamár úgyis bekér 3 adatot ezen kívül. Plusz a te megoldásodban ugye több deszka adatait meg lehet adni ciklusban, és az árat pedig lehetne a program elején bekérni a ciklus előtt, így csak egyszer kell beírni. :)

2013. júl. 30. 17:52
Hasznos számodra ez a válasz?
1 2 3

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!