Kezdőoldal » Számítástechnika » Programozás » Pascal: Lehet eljárásban levő...

Pascal: Lehet eljárásban levő While ciklusban másik függvényt és eljárást meghívni?

Figyelt kérdés
Vagy így csinálom, vagy a két eljárás, egy függvény helyett egy darab eljárást, de úgy "csúnya". Így viszont hibát jelez, az eljárás (amiben a másikokat meghívnám) nevét változónak veszi, és kiírja, hogy változó nem található.
2011. márc. 14. 20:44
1 2
 1/16 MultiVadász ***** válasza:
Lehet.
2011. márc. 14. 20:45
Hasznos számodra ez a válasz?
 2/16 A kérdező kommentje:
És akkor logikusan a főprogramban nem kell meghívni, csak az egyik eljárást, mert az meghívja a többit?
2011. márc. 14. 21:06
 3/16 anonim ***** válasza:

Igen.

Sőt egy eljárásban saját magát is meghívhatod, ezt nevezik rekurziónak. :P

2011. márc. 14. 21:08
Hasznos számodra ez a válasz?
 4/16 MultiVadász ***** válasza:
0%

Off:


Rekurzió igazából nem ez. Nézd meg a szótárban.


Rekurzió: Lásd: rekurzió. :)

2011. márc. 14. 21:11
Hasznos számodra ez a válasz?
 5/16 A kérdező kommentje:

[link]

Ez a hibaüzenet. Abban a sorban, amit ír, ennyi van:

procedure vizsg;

A procedure szót biztosan nem írtam el, mert akkor más színnel írná ki a FreePascal.

Eddig volt paraméter átadva, de most nincs, mert amiket ez az eljárás használ - használna - azok a változók globálisak, és azokat elvileg látnia kell így is. Ha nem így van, akkor valamit nagyon félreérthettem előző órán (amivel most szenvedek, az a HF).

2011. márc. 14. 21:19
 6/16 MultiVadász ***** válasza:
Mi lenne, ha leírnád a teljes kódot? :D
2011. márc. 14. 21:21
Hasznos számodra ez a válasz?
 7/16 A kérdező kommentje:

Az igazsághoz hozzátartozik, hogy az eljárást utólag módosítottam - állítólag nem szereti, ha ciklusokat utólag módosítanak. Ez eljárásra is igaz? Mert akkor ennyi lehet a gond.

Bár ennek kiküszöbölésére "csináltam" egy új .pas-t Notepad++-ban, jól el is rontotta a kommentekben levő ékezetes betűket, mert nem tudom, mi a kódolást, "ő" se jött rá... Mindegy, nem a kommentek a lényegesek. Hanem, hogy a matrix4.pas-t megnyitottam Notepad++-szal, elneveztem matrix5.pas-ra, és megnyitottam FreePascal-ban. U.az a hiba.

Nem úszom meg így se azt, hogy át kelljen írni az egész programot?

2011. márc. 14. 21:25
 8/16 MultiVadász ***** válasza:
Biztos, de én felajánlottam, hogy megnézem a kódot, de akkor csak szenvedj nyugodtan.
2011. márc. 14. 21:27
Hasznos számodra ez a válasz?
 9/16 A kérdező kommentje:
Biztos nincs már megoldás? :(
2011. márc. 14. 21:35
 10/16 anonim ***** válasza:

"Lehet eljárásban levő While ciklusban másik függvényt és eljárást meghívni?"

- Lehet


"Az igazsághoz hozzátartozik, hogy az eljárást utólag módosítottam - állítólag nem szereti, ha ciklusokat utólag módosítanak. Ez eljárásra is igaz?"

- Pongyolán fogalmazva mondjuk hogy igen.


"jól el is rontotta a kommentekben levő ékezetes betűket."

ASCII kódolást használ mert karakeres program. Kommentbe nem szoktak ekezetes betuket hasznali a programozok.


"Eddig volt paraméter átadva, de most nincs, mert amiket ez az eljárás használ - használna - azok a változók globálisak, és azokat elvileg látnia kell így is."

A hívó eljárás előbb van mint a hívott? Mert ha nem akkor nem fogja megtalálni csak úgy. A paraméterben átadott változó cím szerint vagy név szerint volt? Paraméterben használt változó neve más volt mint az átadott változó neve? Tipikus eseteket soroltam fel kérdésként, nem mondhatok konkrétabbat látatlanba.


"Nem úszom meg így se azt, hogy át kelljen írni az egész programot?"

Attól függ mennyire obfuszkált a kód, mennyire strukturált, illetve mennyire vagy gyakorlott.

2011. márc. 15. 13:06
Hasznos számodra ez a válasz?
1 2

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!