Turbo_Pascal_I.pdf

(1476 KB) Pobierz
Microsoft Word - Turbo_Pascal_I_1998_.doc
TURBO PASCAL I.
Petr Drlík
(c) 1998 www.am-skalka.sk
2
ÚVOD
Kto vám môže narobiť problémy? Len ten, kto vie, na čo ste citliví a na čo vás “chytí”. A mám
za to, že tak presne a priamo pod kožu ich vie sformulovať iba informatik. Prečo také odvážne
tvrdenie? Ak skutočne, a nie len listovaním, dočítate túto knihu do konca a sem-tam-stále si niečo
skúsite vyriešiť, verím, že ďalšie dôkazy uvádzať nie je potrebné.
Ale naspäť kmeritu (jadierku) veci. Chrobáka a výzvu menom PROBLÉM, resp.
Programovanie v pascale mi nasadil do hlavy pokušiteľ-vydavateľ. Pozná moju minulosť i
súčasnosť, a tým aj slabosti. Dal mi lukratívnu ponuku (písomne zvečniť to, čo mažem z tabule
na prednáškach už nejaký ten rok. Som mu vďačný za “výzvu na súboj”. S jeho “Dvojkou”
(Turbo pascal II.) sa však bojuje ťažko. Sú tam použité tie najkrajšie, najťažšie a najúčinnejšie
programátorské zbrane. Mne zostali iba nižšie “zbrane krátkeho doletu”. Pre niekoho sú to možno
primitívne záležitosti a partie. Ale bez základov nie je možné stavať dom. V jednom prípade sa to
dá – ak si postavíte (najlepšie na kľúč) vzdušný zámok. Potom ale pozor, aby nezafúkal silný
vietor alebo nepršalo! Pre programovanie – riešenie problémov na počítači to platí dvojnásobne.
Hodiny “relaxu” za počítačom a hľadania chýb zúčastnených strán (človek kontra počítač, či
naopak) môžu byť pre okolie signálom hodnotenia osoby okupujúcej počítač:
1. Ticho! Veď ON rieši tak zložitý problém!!
2. Preboha! TENTO by mal radšej vypnúť počítač a ísť od toho preč!
Prajem vám, aby o vás ostatní hovorili iba parafrázy prvého variantu. A keď (zo začiatku) nie,
nevadí! Skúste natiahnuť plachty fantázie, chytiť ten správny vietor, nerobiť si z problémov ešte
väčšie problémy a mať dosť trpezlivosti, intuície, potrebných znalostí a “strojového” času.
Dostal som striktný pokyn (nie príkaz!), že programovanie by sa nemalo realizovať cez
matematiku, ktorá vraj veľa ľudí nebaví. Pokúsim sa ho držať, no niekde mi to nedá, niektoré
deformácie sú trvalé. Ale nebojte sa! Bude vám stačiť iba trošku logicky rozmýšľať, aj keď je to
niekedy, resp. u niekoho problém, a sem-tam si oprášiť svoje nesmrteľné matematické vedomosti
zo základnej školy. Myslím si, že kto sa dobrovoľne rozhodol čítať knihu s takýmto názvom,
nebude mať žiadne výhrady.
Ďakujem všetkým, ktorých som využil ako “pokusných králikov” – mojim bývalým i súčasným
študentom; všetkým, ktorí boli a sú pre mňa vzormi – mojim učiteľom i kolegom, zvlášť
docentovi Hvoreckému a profesorovi Kasatkinovi; ako aj tým, ktorí mi zabezpečili pohodu
a inšpiráciu pri písaní – manželke Ľube, synom Martinovi a Ľubošovi.
(c) 1997 - 2006 www-am-skalka.sk
Drlík, Petr: Turbo Pascal I.
10150752.001.png
3
1 PROBLÉM A RIEŠENIE PROBLÉMU (POSTUP – ALGORITMUS –
PROGRAM)
Ako začať?
Chceme sa naučiť riešiť problémy pomocou počítača 1 , vedieť s ním komunikovať nielen ako
bežní používatelia hotových produktov, ale aj ako tvorcovia (autori) “nových” riešení. Je zrejmé,
že je málo toho, čo by už nebolo povedané či napísané. Ale nie je isté, či to bolo povedané a
napísané tak, ako to dokážeme my. Do programov – zjednodušene povedané predpisov toho, čo
má vykonávať počítač – vkladá každý programátor kúsok seba, spolu s klasickým postupom
riešenia dodáva k nemu aj svoj estetický a podľa neho efektívny pohľad na spracovávanú
problematiku. O tom, či je to pre iného používateľa estetické a efektívne, by sa dalo meditovať.
Ale základom programovania je práve možnosť realizovať riešenie problému podľa svojich
predstáv, dať riešeniu svoj vlastný “image” (čítaj “imidž” - preložiť zrejmé pojmy je obtiažne). Je
to podobné umeniu i skutočnému životu (nie škole), kde platí, že keď dvaja robia to isté, nikdy to
nie je to isté.
Programovanie má oproti mnohým iným činnostiam, ku ktorým nás “dobrovoľne-povinne”
vedú v škole, obrovskú výhodu. Často nás núti poriadne naplno roztočiť svoje mozgové závity,
rozmýšľať o tom, čo je podstatné a čo nie, čo má byť viditeľné a čo skryté, realizovať svoju
vlastnú predstavu použitím známych prostriedkov. Vždy, keď sa človek do niečoho pustí, musí
mať správnu motiváciu. Tou môže byť aj skutočnosť, že s počítačmi a informačnými
technológiami sa už dnes stretnete prakticky všade. Nechcete dokázať prinútiť stroj – počítač,
aby robil presne to, čo mu zadáte? Je to výzva, ktorej sa ťažko odoláva, ak chcete naozaj niečo
dosiahnuť. Skúste to!
Prvé, čo potrebujeme, je zaviesť základné pojmy, vzťahy medzi nimi a metódy – t. j. spôsoby
práce s nimi, skrátka a múdro povedané - terminológiu . Mali sme tu pojmy “problém”,
“vyriešenie problému”, “informatika”, “programovanie”, “počítač”, určite toho však budeme
musieť zvládnuť viac.
1.1 Terminológia
Každý vedný odbor má svoje základné pojmy a metódy ich spracovania, hlavne však
špecifikáciu toho, čo je predmetom jeho záujmu. Matematika sa zaoberá predovšetkým
1 “Osobné počítače, ktoré sa dostali aj do domácností majú oproti ostatným členom domácnosti, kde dnes často hrajú významnú
úlohu aj domáce zvieratá, isté prednosti: a) nehryzú, neškriabu, neštekajú, b) nerobia kôpky a mláčky, nepotrebujú venčiť, c)
s kýmkoľvek sa ochotne hrajú najrôznejšie hry, d) narozdiel od ostatných členov domácnosti sa dajú hocikedy vypnúť, e) môžeme
ich chovať bez akýchkoľvek problémov a sporov so susedmi aj v špecifických podmienkach panelákov, f) v prenosnom vydaní sú
vhodné aj na rande do parku, či na dlhé cesty (ak nemáte na lietadlo) za poznaním.” (I. Kopeček, J. Kučera: Programátorské
poklesky. Mladá fronta, Praha 1989.)
(c) 1997 - 2006 www-am-skalka.sk
Drlík, Petr: Turbo Pascal I.
10150752.002.png
4
kvantitatívnymi a priestorovými vzťahmi, fyzika skúmaním podstaty a spôsobov zmien energie,
biológia existenciou a fungovaním biologických systémov aprocesov... Informatika je
v porovnaní s týmito klasickými prírodovednými disciplínami dieťaťom v plienkach. Kým
matematika, fyzika, biológia... sa vyučujú stovky až tisíce rokov, informatika nemá ako vedná
disciplína ani päťdesiat (a ako predmet vyučovania ešte menej). Prečo sa potom dostala do takej
pozornosti spoločnosti, prečo by mal jej základy ovládať každý (stredoškolsky) vzdelaný človek?
Všimnime si, čo je dnes dôležité pre každého z nás. Okrem klasických poznatkov, zručností a
návykov sa musíme dokázať orientovať v množstve najrôznejších informácií (aj dezinformácií),
efektívne využívať rôzne databázy údajov, komunikovať pomocou najrozličnejších technických
prostriedkov nielen v regionálnom, ale aj v celosvetovom rámci. Dnešná spoločnosť prežíva
informačnú revolúciu; bez potrebných znalostí a prostriedkov nie je možné udržať krok so
svetom nielen vo vede, ale ani v obchode, priemysle, politike... Kľúčom k úspechu by mohla byť
práve znalosť informatiky zaoberajúcej sa spracovaním informácií z rôznych zorných uhlov.
Pri chápaní informatiky, jej poslania a cieľov dochádza niekedy k deformácii. Väčšina laikov
redukuje informatiku a jej vyučovanie len na znalosť a zručnosť práce s počítačom, prípadne
výpočtovou technikou. Je to veľmi podobné situácii, keď by sme matematiku a jej vyučovanie
“povýšili” iba na počítanie. “Veď z toho, čo sme sa učili v matematike v škole, dnes potrebujem
iba sčítať, odčítať, násobiť, niekedy deliť, najviac desatinné čísla a vedieť si vypočítať nejaké
percentá,” - tvrdí veľa ľudí. Potom by ale stačilo, keby sme sa na matematike učili iba prácu
s kalkulačkou?! ( Úloha : Zistite, kedy sa objavili prvé kalkulačky! Pozn. Vieme isto, že Robinson
Crusoe ich ešte nemal k dispozícii.) 1
Vyučovanie (učenie sa) matematiky však sleduje iný cieľ, ktorý má podstatne väčší význam pre
rozvoj osobnosti: učí človeka koncepčne a logicky rozmýšľať, dávať si do súvislostí logické
vzťahy medzi presne definovanými objektmi, dokázať riešiť úlohy teoretického, ale aj
praktického charakteru. Podobné je to aj s vyučovaním (učením sa) informatiky. Výpočtová
technika je iba prostriedkom, ktorý umožňuje efektívne realizovať informatické poznatky.
Informatika aj výpočtová technika sa veľmi úzko ovplyvňujú, spolu vytvárajú jeden celok a
vzájomne sa rýchlo posúvajú dopredu. Informatika okrem poznatkov z hardware a software
výpočtovej techniky dáva teoretické a praktické poznatky o tom, ako spracovávať, uchovávať,
organizovať, prenášať a vyhľadávať informácie ľubovoľného druhu, rozvíja tiež schopnosti
efektívne využívať rôzne technické prostriedky pre spracovanie informácií. Navyše umožňuje
rozvíjať systematické a koncepčné myslenie, využívať obmedzenú sadu nástrojov pre riešenie
daného problému – teda riešiť problémy. A to je jeden z najdôležitejších výsledkov, ktoré nám
vyučovanie (učenie sa) informatiky môže priniesť.
Dnes sa často objavuje pojem informačné technológie. Zjednodušene si ich môžeme predstaviť
ako spôsoby, metódy a prostriedky spracovania informácií najrôznejšieho druhu s využitím
modernej techniky a spôsoby prenosu týchto informácií na veľké vzdialenosti. Informačné
technológie sú istým spôsobom akýmsi praktickým zastrešením čiastkových poznatkov
informatiky a výpočtovej techniky. Vzhľadom na iné ciele sa im však v tejto knihe venovať
nebudeme.
1 Keby ste náhodou nenašli príslušný zdroj informácií: Kalkulačka v dnešnom ponímaní sa objavila okolo r. 1970, kedy sa začali
vyrábať LCD-displeje - zobrazovače, ktoré umožnili vybaviť kalkulačky menej energeticky náročným realizátorom a
zobrazovačom činnosti.
(c) 1997 - 2006 www-am-skalka.sk
Drlík, Petr: Turbo Pascal I.
10150752.003.png
5
1.2 Mám problém, čo s ním?
Kto dnes nemá problémy? Bolo by však dobré, keď sa chceme zaoberať riešením problémov,
presne si používané pojmy charakterizovať. Pokúsme sa o to. Pripomínam však, že
charakteristiky pojmov sú iba opisné, ich presné “definovanie” je dosť problematické.
Problém je stav, v ktorom jestvuje rozdiel medzi tým, čo v danom momente poznáme (vieme,
máme), a tým, čo potrebujeme. Inak povedané: disproporcia medzi možnosťami a cieľom.
Problém je viazaný na jeho “majiteľa” (pre iného to nemusí byť problém, ale nezmysel) a na isté
problémové prostredie (citové, finančné, školské... problémy). V našom prípade sa zameriame na
hľadanie riešení problémov z oblasti spracovania informácií.
Riešenie problému chápeme vo význame splnenia cieľa, t. j. odstránenia disproporcie. Potom
môžeme schematicky znázorniť postup vyriešenia problému ako na obrázku.
Vováloch sú uvedené stavy, ktoré pri odstránení problému potrebujeme absolvovať,
v obdĺžnikoch činnosti, ktoré musíme pre zmeny od problému k riešeniu vykonať. Šípky
naznačujú postupnosť zmien stavov a činností.
Všimnime si činnosti Nájdenie postupu a Vykonanie postupu .
Činnosť Nájdenie postupu je činnosť tvorivá – je potrebné aktívne premyslieť jej podrobnosti a
postupné kroky. Vymyslením postupu riešenia je možné poveriť iba človeka, zatiaľ (pre človeka
našťastie) nejestvuje také technické zariadenie, ktoré by bolo schopné tvorivo myslieť.
Inak je to s činnosťou Vykonanie postupu : Táto je rutinnou činnosťou v prípade, že postup je už
daný alebo známy. Jej vykonaním môžeme poveriť niekoho, kto je schopný daný postup
realizovať – či už človeka, alebo stroj. Nemusí rozmýšľať, stačí, ak bude daný postup presne
realizovať. Takémuto zariadeniu sa hovorí procesor . (Pozor! Procesor je v tomto význame oveľa
širší pojem ako zaužívané označenie pre technickú jednotku – súčasť hardware počítačov.) Ak
uvažujeme, že budeme riešiť problémy z oblasti spracovania informácií, potom procesorom
spôsobilým vykonávať nami vytvorené postupy môže byť buď človek, alebo počítač.
Problém
Nájdenie postupu
riešenia
Prípadná korekcia
Postup riešenia
Vykonanie postupu
Riešenie problému
1.3 Algoritmus
Je samozrejmé, že postup musí byť určený pre nemysliace zariadenie, ktoré vôbec nevie, čo má
byť výsledkom jeho realizácie. Preto máme isté obmedzenia, na ktoré musíme pri formulácii
postupu myslieť. Postupu určenému pre nemysliace zariadenie (procesor) hovoríme algoritmus .
(c) 1997 - 2006 www-am-skalka.sk
Drlík, Petr: Turbo Pascal I.
10150752.004.png
Zgłoś jeśli naruszono regulamin