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
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ű.
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)
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 © 2024, 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!