Pascalban hogyan kell használni az elágazást?
Egy olyan programot kell írnom, amely beolvas egy változót, és ha az igaz, akkor írja, ki, ha hamis, akkor pedig álljon le.
Arra lennék kíváncsi, hogy ez így jó e?
var a:integer
begin
readln(a)
If a=1 then
write('Január')
else end
end.
Azért bizonytalanodtam el, mert két end követi egymást.
#10: Windows alatt Delphi-ben kenterbe verlek bármilyen témában :) Te most csak a vérem szívod ?
Itt igyekszem a más nyelvekhez való későbbi hozzáállást is beléjük verni, mert a Pascal nagyon jó tanuló nyelv, de később magában kevés, mint más nyelv is.
Sokan fordultak már hozzám privátban Pascal, Delphi kérdésekkel, az volt az első, hogy a kódot kipofásítottam, jó, ki is javítottam és mindig megkapták a 'lebaszást', hogy ilyen hányadék kódon nem segítek csak egyszer. Érdekes módon megtanulták. De talán nézzük meg tabaki kollégát. Nem mai kakas - tudom hogy fiú :) -, de ő is szépen átvette, megszokta a szép Pascal kódolást. Gyönyörű, sokszor tankönyvbe illő kódokat lehet látni tőle.
Sok nyelvet ismerek, érteni a Delphi-hez értek igazán, de gusztustalan, 'spagetti' kódot soha nem adnék ki egy nyelven sem, mert engem minősítene le az igénytelenség szintjére.
Lehet, sőt biztos, hogy hülyének néztek, de talán majd az évek során rájöttök, hogy valahol igazam volt.
Nem ám azért, mert SimkoL ilyen derekasan megdicsért, de ebben a kérdésben neki adok igazat. Egyrészt: Hogy a szigorúbb nyelvekben a mai napig csak vergődöm, legalábbis részben annak köszönhető, hogy anno megszoktam a basic meg a pascal lazaságát -- mivel nem vagyok programozó, ennek a világ folyására nincs hatása, de megerősíthetem, hogy elég nagy szippantás. Másrészt: Ha ez az oldal nem is sorolható a programozói fórumok krémjéhez, de mégiscsak nyilvánosság, ahol érdemes törekedni arra, hogy a szűkebben vett megoldáson túl is követésre érdemes példákat publikáljon az ember, kivált, amikor kezdőknek válaszol.
A pascal megengedi a kis- és nagybetűk pongyola kezelését, és az is egy megközelítés, hogy épp azért van benne ez a lehetőség, hogy éljünk vele, ha nekünk úgy kényelmesebb. Hogyha viszont SimkoL sok évnyi pályatapasztalat után úgy látja, hogy mindenkinek jobb a más nyelvekben szokásos korlátozások figyelembe vétele, szerintem nincs miért nem egyetérteni vele. A pontosság kiemelheti a pascalt a „tanulónyelv” lenézett státusából (ld. „Még egy érv az ellen, hogy Pascalban...”), igaz, ez valamiért nem mindenkinek szívderítő gondolat.
A fenti szócsata indulatai nem egészen érthetők ennek az egy kérdésnek a válaszaiból. SimkoL gyakran gyűjt parazsat a fejére ezzel a megítélésével (meg egyebekkel), úgyhogy nem meglepő, ha érzékenyebben reagál, amikor a téma terítékre kerül. Az se, ha más emiatt megorrol. Azt viszont nem tartom elegánsnak, ha megvitatásra érdemes, hasznos vélemények közti különbség lepontozásban nyilvánul meg.
Viszont Simkol ott követte el a hibát, hogy egy ilyen jellegű - Pascal esetén - esztétikai gixert felnagyít és - a szabvány/a gyakorlat ellenére - megengedhetetlen hibaként tüntet fel, és destruktívan közli ezt.
Ha ezt konstruktív kiegészítésként tenné mindezt - például:
"Ámbár Pascalban ugyancsak esztétikai probléma, de érdemes ügyelni a kis-nagybetű különbözőségre - jelen esetben a feltételnél"
akkor máris máshogy állna a leányzó fekvése és nem növekedne ilyen nagyra a topik tartalma.
Oktatási szempontból - évek során szerzett tapasztalatból mondom - sem annyira vészes ez a dolog. Megszokás kérdése az egész. Tudni kell, hogy Pascalban/Basicben megengedő a nyelvezet, C-ben és egyéb nyelvekben nem.
Hasonló a helyzet Pythonban: ott például az indentálás létfontosságú - máshol csak esztétikai kérdés, és vannak egyéb stílusbeli javaslatok is:
amelyek más nyelveknél is alkalmazhatóak.
De C és C++ esetén is vannak ilyen kódolási konvenciók:
Vagy Javascriptnél:
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!