Kezdőoldal » Számítástechnika » Programozás » Számológép, és lottó pascalban?

Számológép, és lottó pascalban?

Figyelt kérdés

Nos azt szeretném, hogy van például a számológép, és van pl az összeadás és a faktoriális , hogy leehtne megcsinálni boolean-nal, hogy összeadásnál bekérje a második számot, de a faktoriálisnál ne (tehát +-nál c=true, !-nál c=false



tehát valahogy így gondoltam if c:=true then writeln('Add meg a második számot: '); readln(b);


2014. aug. 8. 19:18
1 2
 11/16 SimkoL ***** válasza:
Hát amit én írtam [link] a mezei Turbo Pascal alatt is lefordul, semmi különleges nincs benne, de ezek után lehet nem volt értelme :)
2014. aug. 9. 01:13
Hasznos számodra ez a válasz?
 12/16 SimkoL ***** válasza:
Valamit nem értek ! Szégyen nem szégyen programozni már 'tudtam' de nem tudtam mi az a faktoriális - falusi paraszt voltam, vagyok - Ha ilyenekkel tisztában van a kérdező akkor nem értem, hogy nem tud felfogni egyszerű dolgokat ?
2014. aug. 9. 01:19
Hasznos számodra ez a válasz?
 13/16 tabaki ***** válasza:
Ó, én is megírtam már több változatban, de még csak a sima CASE-blokkosat tettem föl a múltkor, ne legyen túl nagy az ugrás... Azonban úgy tűnik, már azzal se kellett volna fáradnom, így hirtelenjében annyi fejlődést látok, hogy végre egyetlen értelmes változónév felbukkant a sok értelmetlen közt, és megjelentek az összetett utasítások, az egyéb tanácsok elszálltak a szélbe. Gondolom, a mostaniaknak is ez lesz a sorsa.
2014. aug. 9. 03:34
Hasznos számodra ez a válasz?
 14/16 A kérdező kommentje:

Amiket írtok azokat köszönöm, de mivel nem tanulatlan nem mindegyiket tudom alkalmazni(amit viszont megértek eszt más programban használok (talán 1-2)) csak amiket megértek, még tavaly kezdtem a pascal , és azt is csak heti 1 órában, és még az sem volt mindig megtartva, ezért rosszul vagy nehezen ragadt meg a tananyag. Ezért használom , az ilyenekre az if-et mert mást nem tudok, olyat használni amit meg nem tudok felesleges, mert úgy magam sem tudom mit csinál. Amiket mondtok próbálgatom magamtól tanulni, de nem mindig sikerül, mert nekem kell a 'tanári magyarázat'.


UI.:Ha kell leírhatom azt is , hogy mit 'tanultam', bár nem hiszem hogy nagyon értek vele valamit..

2014. aug. 9. 10:03
 15/16 tabaki ***** válasza:

Na jó. Egyikünk sem bántani akar, csak szeretnénk, ha öles léptekkel haladnál a tanulás útján... Lenne egy-két javaslatom a továbbiakkal kapcsolatban.


1. Ne csak azért programozz, hogy a tanultakat erősítsd. A programozás csak mellékesen tananyag (illetve némelyeknek megélhetés), elsősorban egy élvezetes, végtelen fejtörő játék. Ez többek közt azzal jár, hogy akkor tudsz benne előrelépni, ha valamit már jól megoldottál, de azzal is, hogy akkor új ismeretekre van szükséged a továbbhaladáshoz. Legyen az nagyon mindegy, hogy az iskolában mit adnak le neked, mert valószínűleg ezentúl is lassan és nehézkesen fogtok haladni. Te tudjál annyit, amennyi a téged foglalkoztató érdekességekhez szükséges, a gyenge iskolai szintet meg majd lekened rutinból.

2. Nincs sok értelme, hogy a tanárodra rosszat mondjak, valószínűleg van elég baja (esetleg éppen veletek?) ahhoz, hogy ne bántsam. Ettől függetlenül ténykérdés, hogy az alapokat is elég gyengén sikerült közvetítenie. Nemcsak arra gondolok, hogy a legegyszerűbb IF-es elágazást sem érted még igazán, hanem például a semmit sem jelentő, betűjeles változónevek használatára, amit szerintem neki köszönhetsz. Mi az, hogy a, b, c, d, e, stb.? Nem érthetőbb, hogy pl. elso_szam, muvelet, eredmeny, hiba, szoveg meg effélék? Nem mulatságosabb és indokoltabb az általunk használt hulyevagy meg mi_a_francot_csinaljak változónév? Neked persze nem muszáj marhulni, sokkal kényelmesebb kitalálni, mit jelent a VALASZ, mint percekig töprengeni a program fölött, hogy vajon mit takarhat a rejtélyes D jelölés.

3. Továbbra is állítom, hogy egy rövid, de hibátlan program többet ért, mint egy hosszú, de félig megoldott. Ha a programodat tökéletesen írtad volna meg két műveletre, a továbbiak hozzákapcsolása már semmiféle nehézséggel nem járna. Így viszont csak kanyarog, mint az ökörpisilés, és aki ránéz, semmi kedvet nem érez arra, hogy a részleteket elemezgesse, hiszen az egész szétesik.

4. Annak ellenére, hogy az iskolában még nem vettétek, saját használatra igenis tanuld meg, hogy hogyan lehet a program feladatait eljárásokba és függvényekbe szervezni. Ha a suliban nem kell, ott ne használd őket, de otthon jobb, ha megszokod, hogy a program értelmesen elkülönített, egymástól függetlenül módosítható és többször felhasználható építőkockákból is állhat, nem muszáj ismétlődésekkel teli, átláthatatlan katyvasznak lennie.


Szerintem kezdd először az IF megértésével. Ez alaphelyzetben egy plusz tevékenységet iktat a programba. Például: Elindulok hazafelé, de ha a haverom otthon van, felugrom hozzá kockulni. A terv mindenképpen az, hogy otthon vacsorázom, de a feltétel teljesülése esetén még szórakozom is előtte egy keveset.

ELINDULAS;

IF HAVER=OTTHON THEN MINECRAFT;

VACSORA;


A másik lehetőség, hogy vacsora előtt még mindenképpen akarok valamit csinálni, mondjuk: ha a haver nincs kéznél, moziba megyek.

ELINDULAS;

IF HAVER=OTTHON THEN MINECRAFT ELSE MOZI;

VACSORA;


Ilyen egyszerű. Összesen két lehetőséged van (a program két utasítása), ezek közül választhatsz. A világ ennél bonyolultabb, egy választás sok tevékenységgel járhat, ezt a programban úgy oldod meg, hogy BEGIN és END kulcsszavak közé fogott utasításokból alkotott összetett utasítást használsz. Az összetett utasításban szintén lehetnek választások és egyéb összetett utasítások, tehát a rendszer építhető akármeddig. Így például tegyük fel, hogy amikor a haverodhoz mégy, viszel neki kólát, virágot adsz a mamájának, és csókolózol a húgával. Ha meg moziban kötsz ki, de rossz a film, inkább elmégy fagyizni és békát fogni:

ELINDULAS;

IF HAVER=OTTHON THEN

__BEGIN

____PEPSI;

____VIRAG;

____HUGI;

____MINECRAFT;

__END

ELSE

__IF FILM=KAFA THEN

____MOZI

____ELSE

______BEGIN

________FAGYI;

________BEKA;

______END;

VACSORA;


A programodban nagyon nem elegáns, hogy egymással összefüggő feltételeket egymástól függetlenül vizsgálsz. Ha például megnézed, hogy a műveleti jel '+' volt-e, akkor ennek az IF-nek az ELSE-ágában illenék vizsgálnod, hogy ha nem, akkor a következő '-' teljesül-e, és így tovább, egyre beljebb az ELSE-vonalon. Most igen válasz esetén így néz ki a szerkezet:

A művelet összeadás -- IGEN!!!

A művelet kivonás? -- Nem...

A művelet szorzás? -- Nem...

A művelet osztás? -- Nem...

A művelet hatványozás? -- Nem...

A művelet gyökvonás? -- Nem...

A művelet faktoriális? -- NEEEM, a fene egye meg, minek ezt végigkérdezgetni, mikor elsőre kiderült???

Persze, NEM válasz esetén a programrész nem hajtódik végre, tehát működésbeli hibát nem okoz, de szükségtelen a vizsgálat, ezért rusnya, időpocsékoló, bonyolultabb program esetén meg áttekinthetetlen.

2014. aug. 9. 13:09
Hasznos számodra ez a válasz?
 16/16 SimkoL ***** válasza:

Ez tetszett tabaki kollega :)

A kérdezőnek viszont üzenem, hogy egy év autodidakta módon tanulás után és már pénzt kaptam a programomért.

2014. aug. 9. 13:46
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!