Avatar
Go
Člen
Avatar
Go:

Zdravím

Na stará kolena jsem se dal na školu a dost bojuji s programováním. Pascal jako takový jsem ještě zvládal, ale OOP v Pascalu mě drtí.

Máme úkol, kde jsou tři příklady a které musíme vytvořit. První úlohu jsem po dvou týdnech dodělal. U druhé úlohy zhruba chápu co se po mě chce a pokouším se něco vymyslet (provádění operací s n-rozměrovými vektory), ale poslední příklad jsem prakticky nepochopil zadání.

Předpokládám, že pohled programátora bude odlišný a tak zkusím zde. Chápe prosím někdo toto zadání a dokázal by mi poradit, co je po mě požadováno?

Pomocí objektů a dědičnosti rozliště typy klientů (id_konta, jmeno, suma) v
bance na spořící a splácející úvěr. K nim definujte metody PocVklad (uložení id,
jmeno, počáteční suma), Splatka (zaplacení jedné splátky), Sporeni (připsání
jedné částky na spoření), getsuma, Vypis (jednoho klienta).
Použijte v jednoduchém programu.

Jako doplňující dotaz: Kdysi jsme ještě na CZFree komunikovali pomocí kanálu IRC. Nevíte, existuje ještě nějaká online diskuze na programování i dnes? Na některé maličkosti není vhodné dotazovat se na fóru a online se možná vyřeší mnohem rychleji. Bohužel, anglicky moc neumím, já se ještě učil rusky, ale v ruštině si také netroufám na nějaké diskuze, takže jsem omezený na češtinu :o/

 
Odpovědět 28.4.2015 10:02
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Go
David Čápka:

Ahoj, nevím, jestli mluvíš o Delphi nebo opravdu ještě o stařičkém Pascalu. Každopádně co se po tobě chce je vytvořit 2 objekty, jeden SporiciKlient a jeden SplacejiciKlient. Máš použít dědičnost, abys nemusel každému klientovi znovu opisovat vlastnosti jako jméno, suma atd. Buď může jeden klient dědit od druhého (což mi nepřijde moc logické) nebo můžeš udělat objekt Klient jen se základními vlastnostmi a od něj oddědit další 2 konkrétní objekty, kterým dodáš požadované metody. Potom v programu ty třídy jednoduše použiješ, je asi již na tobě jak, třeba je vytvoříš, necháš něco splatit a pak vypíšeš.

Internetové diskuze mají tu výhodu, že když někdo bude řešit ten samý problém jako ty, tak vygooglí řešení, které ti zde poskytneme. Proto se online komunikace v těchto komunitách příliš neobjevuje.

Nahoru Odpovědět  +3 28.4.2015 10:44
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Go
Člen
Avatar
Odpovídá na David Čápka
Go:

Ahoj

Moc děkuji za překlad. Pokusím se s tím poprat při programování, ale tohle mi zatím pomohlo. Určitě přijdu na další věci, které nevím jak udělat, ale takhle jsem ani nechápal zadání.

Skutečně mluvím o starém Pascalu (pracujeme ve FreePascalu). Dělali jsme normální algoritmizaci a nyní Objektově orientované programováni.

Té diskuzi rozumím, ale jen tak mě to napadlo.

 
Nahoru Odpovědět 28.4.2015 13:00
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Go
David Novák:

V tom úplně původním Pascalu nebylo možné programovat objektově. Takže se nejspíš jedná o Object Pascal (za kterého vychází i Delphi) :)

Nahoru Odpovědět 28.4.2015 13:07
Chyba je mezi klávesnicí a židlí.
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na David Novák
Martin Dráb:

V tom úplně původním Pascalu nebylo možné programovat objektově.

Nevím, kdy tam podporu objektů přidali, ale Borland Pascal 7, který se snad ještě na šklách vyskytuje, už tu podporu má. Na rozdíl od Object Pascalu se pro deklaraci třídi používá slovo object, ne class (v Object Pascalu lze kvůli kompatibilitě použít obě varianty).

FreePascal by měl podporovat také obě varianty, minimálně v Delphi-kompatibilním režimu.

Nahoru Odpovědět 28.4.2015 13:22
2 + 2 = 5 for extremely large values of 2
Avatar
David Novák
Tým ITnetwork
Avatar
Nahoru Odpovědět 28.4.2015 13:23
Chyba je mezi klávesnicí a židlí.
Avatar
coells
Redaktor
Avatar
Odpovídá na David Novák
coells:

Tohle jsou fámy, které tu už nějaký čas roznáší neznámý pachatel. Turbo Pascal 6.0 už měl plnohodnotnou podporu OOP, stálo na tom celé tehdejší GUI - Turbo Vision, kdo v něm neprogramoval, nemůže pochopit, jak revoluční to bylo. :-D

 
Nahoru Odpovědět 28.4.2015 14:58
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na coells
David Novák:

Tak Turbo Pascal 6 není původní Pascal, ne? :D

Ale je fakt, že jsem se s tím setkal jen na škole, kde jsme používali právě Turbo Pascal (netuším, jakou verzi) a další rok přecházeli na Delphi (aka Object Pascal).. A učitelka nám tvrdila, že hlavní zlepšení je zavedení objektového programování..

Ponaučení? Nevěřit učitelům na středních školách :D Zase na druhou stranu věk měla takový, že nejspíš v mládí programovala na Adě..

Nahoru Odpovědět 28.4.2015 15:51
Chyba je mezi klávesnicí a židlí.
Avatar
coells
Redaktor
Avatar
Odpovídá na David Novák
coells:

Složitá otázka, je to asi podobné jako se ptát na původní BASIC. Ve své době jsem aktivně používal více než 5 různých BASICů, a ani jeden nebyl původní, ale všechny byly známější.

Faktem je, že opravdové rozšíření Pascalu přišlo s Turbo Pascalem a ten se stal de facto standardem pro Pascal. Ani přejmenování na Borland Pascal už nesmazalo nálepku TP, a když řekneš pascal, většina z nás si představí právě TP a striktně oddělí Delphi.

Takže ne, původní Wirthův Pascal byl čistě strukturální jazyk, ale historii píšou vítězové a bez TP bychom o něm dnes nevěděli.

 
Nahoru Odpovědět  +1 28.4.2015 19:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.