Valaki, aki segítene gyakorolni?
Sziasztok, mielőtt mindenki elkezdene leugatni, elmondanám hogy mindössze kis útmutatást szeretnék kérni a programom elkészítéséhez!
Szóval, 3-4 napja kezdtem el programozni Free Pascalban, azt mondták ez jó nyelv a kezdéshez, és egy programot írtam is, ami nagyon egyszerű mert egy téglalap területét számolja ki, most azt szeretném hogy:
Bekéri, hogy téglalapot vagy négyzetet akarsz számolni, ezt kiírja, majd a program "eldönti" hogy mit szereték számolni, ezt eléggé hülyén fogalmaztam, szóval az ötletem az lenne, ha helyes, ha nem akkor már az első lépés is rossz:
van 2 változó, a és b amik integer változók. Aztán, olvastam, hogy van egy ún. boolean logikai változó, ami igaz, vagy hamis lehet, nos ezt szeretném hasznosítani oly módon hogy a négyzet legyen igaz, és a téglalap legyen hamis, ehhez kérnék útmutatót hogy ezt hogyan lehetne megoldani, én nem kérem tőletek hogy oldjátok meg helyettem, nem is az a célom, csak sosem tanulok meg programozni alapfokon sem, ha már itt megakadok. Remélem érthetően fogalmaztam, ha nem akkor írjatok és megpróbálom újrafogalmazni. Aki hasznos választ ad, zöld kezet kap
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Teljesen fölösleges ide a logikai változó.
Ha az a célod, hogy kiszámolja a négyzet/téglalap területét, akkor a következőt kell tenned. Kell 3 változó (a,b,t) és nincs más dolgod mint az előző programba (t:=a*b), és azt megvizsgálni egy elágazással, hogy a = b ha igen akkor kiírja, hogy négyzet ha nem akkor téglalap. Ennyire egyszerű.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Ehhez nem igazán kell boolean, egyszerűen IF-fel eldöntheted:
If (a = b) then negyzet(a)
else
teglalap(a,b);
-----------------------
ha mindenkeppen bool-t akarsz gyakorlaskeppen akkor
Var negyzete: Boolean;
.
.
.
if (a=b) then negyzete=TRUE;
if (negyzete) then negyzet(a)
else
teglalap(a,b);
-----------------------------
Ebben az osszefuggesben most nem erdemes bool-t hasznalni, mert az If (a = b) ugyanezt a feladatot ellatja. Egy csomo mas esetben hasznos, illetve ha most tanulod, akkor legalabb eljatszhatsz vele.
(a szintaktika csak 95%-os, mert kb 10 eve nem nyultam pascalhoz. Azert remelem jo)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
OFF: nem arról van szó, hogy rosszul gondoltad, hanem arról, hogy még nincs meg a rutin, hogy mit mikor kell használni. Gondolok itt arra, hogy pl tök fölösleges döntést hozni egy ilyen helyzetben, csak egy függvény kell, mivel a terulet akkor is a*b ha a=b
Ezt a gyakorlat majd hozza.
Első "komoly" programnak a másodfokú egyenlet megoldását javaslom úgy, hogy mindent vizsgálsz. (pl. nulla vagy nagyobb-e a diszkrimináns, egy vagy két valós gyök van, stb.)
Function, procedure használatát és a köztük lévő különbséget minél hamarabb értsd meg, mert sokat segítenek.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!