| version 1.1, 2007/08/09 20:14:13 |
version 1.2, 2007/08/11 03:20:27 |
|
|
| % 2007-08-08 - created |
% 2007-08-08 - created |
| % |
% |
| |
|
| % $Platon: $ |
% $Platon: doc/ztp-zbierka/00-diploma-thesis.tex,v 1.1 2007-08-09 20:14:13 nepto Exp $ |
| |
|
| %% |
%% |
| %% Cestne prehlasenie |
%% Cestne prehlasenie |
|
|
| pri písaní diplomovej práce.} |
pri písaní diplomovej práce.} |
| |
|
| \parbox{\sirkaPodakovania}{ \noindent |
\parbox{\sirkaPodakovania}{ \noindent |
| Ďalej chcem poďakovať mojim rodičom a~priateľom za ich veľmi silnú |
Ďalej chcem poďakovať mojim rodičom, priateľom a spolužiakom za ich |
| podporu, trpezlivosť a~toleranciu.} |
veľmi silnú podporu, trpezlivosť a~toleranciu.} |
| |
|
| \parbox{\sirkaPodakovania}{ \noindent |
\parbox{\sirkaPodakovania}{ \noindent |
| Osobitné poďakovanie patrí \textsc{Ľubomírovi~Hostovi} za vytvorenie |
Moje osobitné poďakovanie patrí \textsc{Mgr.~Ľubomírovi~Hostovi} |
| skvelého pracovného a zostavovacieho rámca pre prácu so systémami |
za~vytvorenie skvelého pracovného a zostavovacieho rámca pre prácu |
| \LaTeX{ }a pdf\TeX.} |
so~systémami \LaTeX{ }a pdf\TeX.} |
| \end{flushright} |
\end{flushright} |
| |
|
| \newpage |
\newpage |
| |
|
| \chapter*{Abstrakt} |
\chapter*{Abstrakt} |
| |
\addcontentsline{toc}{chapter}{Abstrakt} |
| |
|
| JOMBÍK, Ondrej. Matematická teória programovania. Zbierka riešených |
\bibauthor{Ondrej Jombík}: |
| úloh. Diplomová práca. Univerzita Komenského. Fakulta matematiky, |
\bibwork{Matematická teória programovania. Zbierka riešených úloh.} |
| fyziky a informatiky.\\ |
Diplomová práca. Univerzita Komenského. Fakulta matematiky, |
| Školiteľ: RNDr. Dušan Guller, PhD. Obhajoba: Bratislava, 2007.\\ |
fyziky a informatiky. |
| |
|
| |
Školiteľ: RNDr. Dušan Guller, PhD.\\ |
| |
Obhajoba: Bratislava, august 2007 |
| |
|
| |
~ |
| |
|
| V našej práci sme sa snažili zozbierať reprezentatívnu vzorku úloh |
V našej práci sme sa snažili zozbierať reprezentatívnu vzorku úloh |
| tématicky patriacu k základným okruhom matematickej teórie |
tématicky patriacu k základným okruhom matematickej teórie |
| Line 98 programovania, ako sú schémy, programy, |
|
| Line 104 programovania, ako sú schémy, programy, |
|
| programov, dokazovanie správnosti, sémantika programov a pod. Medzi |
programov, dokazovanie správnosti, sémantika programov a pod. Medzi |
| úlohami sú zastúpené rôzne stupne obtiažnosti od ľahkých, cez stredne |
úlohami sú zastúpené rôzne stupne obtiažnosti od ľahkých, cez stredne |
| ťažké až po náročné úlohy. K všetkým úlohám sme poskytli stručné návody |
ťažké až po náročné úlohy. K všetkým úlohám sme poskytli stručné návody |
| a taktiež vzorové riešenia. Okrem praktických úloh zbierka obsahuje vŽdy |
a taktiež vzorové riešenia. Okrem praktických úloh zbierka obsahuje vždy |
| aj prehľad najdôležitejších definícií a tvrdení v danej oblasti. |
aj prehľad najdôležitejších definícií a tvrdení v danej oblasti. |
| Tvrdenia sú uvádzané bez dôkazov. |
Tvrdenia sú uvádzané bez dôkazov. |
| |
|
| Kľúčové slová: matematická teória programovania, základy teórie |
Kľúčové slová: matematická teória programovania, základy teórie |
| programovania, cvičenia, úlohy, zbierka úloh, ZTP. |
programovania, cvičenia, príklady, úlohy, riešenia, zbierka úloh, ZTP. |
| |
|
| \chapter*{Predhovor} |
\chapter*{Predhovor} |
| |
\addcontentsline{toc}{chapter}{Predhovor} |
| |
|
| Prvýkrát som sa s teóriou programovania stretol ako študent druhého |
Prvýkrát som sa s teóriou programovania stretol ako študent druhého |
| ročníka informatiky na FMFI UK. Vtedy sa škola ešte volala Matematicko |
ročníka informatiky na FMFI UK. Vtedy sa škola ešte volala Matematicko |
| fyzikálna fakulta. Od starších spolužiakov som sa dopočul, že je to vraj |
fyzikálna fakulta. Od starších spolužiakov som sa dopočul, že je to vraj |
| ťažký predmet. Po jeho absolvovaní s nimi môžem súhlasiť, ale len |
ťažký predmet. Po jeho absolvovaní s nimi môžem súhlasiť, ale len |
| čiastočne. Ľahký určite nebol, no aj napriek tomu sa mi stal v porovnaní |
čiastočne. Ľahký určite nebol, no aj napriek tomu sa mi stal v porovnaní |
| s ostatnými predmetmi spadajúcimi do nášho odboru bližší |
s ostatnými predmetmi spadajúcimi do nášho odboru bližší. |
| |
|
| Matematická teória programovania prednášaná ako predmet Základy teórie |
Matematická teória programovania prednášaná ako predmet Základy teórie |
| programovania pánom profesorom (doplniť presný titul) Igorom Prívarom ma |
programovania pánom profesorom (doplniť presný titul) Igorom Prívarom ma |
| zaskočila nepripraveného. Od základnej školy som vedel programovať, na |
zaskočila nepripraveného. Od základnej školy som vedel programovať a na |
| strednej škole som si túto zručnosť výrazne zlepšil. Veľmi ma to bavilo, |
strednej škole som si túto zručnosť výrazne zlepšil. Veľmi ma to bavilo, |
| problematika ma zaujímala, ale absentovali mi teoretické znalosti. Dnes |
problematika ma zaujímala, ale absentovali mi teoretické znalosti. Dnes |
| už viem ľahko posúdiť, že moj vtedajší spôsob uvaŽovania o programovaní |
už viem ľahko posúdiť, že moj vtedajší spôsob uvažovania o programovaní |
| bol veľmi povrchný a nekomplexný. Samozrejme s takýmto štýlom sa |
bol veľmi povrchný a nekomplexný. Samozrejme s takýmto štýlom sa |
| predmet úspešne dokončiť nedal. A tak som ho musel opakovať. Pre bežných |
predmet úspešne dokončiť nedal. A tak som ho musel opakovať. Pre iných |
| študentov by toto predstavovalo len ďalšiu obligátnu povinnosť, ktorú |
študentov by toto predstavovalo len ďalšiu obligátnu povinnosť, ktorú |
| treba mať čo najrýchlejšie z krku. U mňa to však bolo zdrojom veľkej |
treba mať čo najrýchlejšie z krku. U mňa to však bolo zdrojom veľkej |
| motivácie. Sám pre seba som si povedal, že chcem do toho vidieť. Keď nám |
motivácie. Sám pre seba som si povedal, že chcem do toho vidieť. Keď nám |
| navyše náš vtedajší cvičiaci Rastislav Graus položartom povedal, že v |
navyše náš vtedajší cvičiaci Rastislav Graus položartom povedal, že v |
| tomto predmete správne riešenia neexistujú a vraj sú len správne |
tomto predmete správne riešenia neexistujú a vraj sú len správne |
| zadania, začal som so spisovaním cvičených príkladov do LaTeXového |
zadania, začal som s~prepisovaním cvičených príkladov do \LaTeX{}ového |
| dokumentu, ktorý nam mal s tým správnymi riešeniami pomôcť. |
dokumentu, ktorý mal nám študentom s~tými správnymi riešeniami pomôcť. |
| |
|
| Od roku 2003 sa teda začali rodiť základy mojej terajšej diplomovej |
Od roku 2003 sa teda začali rodiť základy mojej terajšej diplomovej |
| práce, aj keď prvotný cieľ nebol až taký smelý. Postupne som vychytával |
práce. Pôvodný cieľ samozrejme nebol až taký smelý, chcel som len spísať |
| chyby, dopĺňal príklady, vylepšoval riešenia. Ako moje vedomosti a |
riešenia pre známe príklady z cvičení Teórie programovania. Postupne som |
| schopnosti rástli, zväčšovala sa aj kvalita tohto materiálu. Predmet som |
v zbierke vychytával chyby, dopĺňal príklady, vylepšoval riešenia. Ako |
| úspešne absolvoval a na samotnej skúške sa mi už ani nezdal taký ťažký. |
moje vedomosti a schopnosti rástli, zväčšovala sa aj kvalita samotného |
| |
materiálu. Predmet som napokon úspešne absolvoval a na samotnej skúške |
| |
sa mi už ani nezdal taký ťažký. |
| |
|
| |
\newpage |
| |
|
| Teoretické poznatky a prístupy ktoré mi matematická teória programovania |
Teoretické poznatky a prístupy ktoré mi matematická teória programovania |
| odovzdala do mojho programátorského života sú k nezaplateniu. Uvedomil |
odovzdala do mojho programátorského života sú k nezaplateniu. Okrem |
| som si, že okrem toho, že som značne rozšíril okruh svojich vedomostí, |
toho, že som si značne rozšíril okruh svojich vedomostí, som si uvedomil |
| zmenil som aj signifikantne spôsob uvažovania. Nie som viac obyčajný |
aj fakt, že sa signifikantne zmenil spôsob mojho uvažovania. Nie som |
| programátor, ale architekt. Kód, ktorý vytvorím je menej náchylný na |
viac obyčajný programátor, ale architekt. Kód, ktorý vytvorím, je menej |
| chyby, viacej sa zamýšlam nad kritickými stavmi, analyzujem |
náchylný na~chyby. Viac sa zamýšlam nad kritickými stavmi programu, |
| dosiahnuteľnosť výsledkov, skúmam časový zložitosť. Vďaka sémantickým |
analyzujem dosiahnuteľnosť výsledkov, skúmam časovú zložitosť |
| vlastnostiam viem podrobne skúmať úseky programu a v krátkom Čase o nich |
algoritmov. Vďaka poznatkom z oblasti sémantiky viem podrobne skúmať |
| povedať vlastnosti, ku ktorým by som inak dospel len dlhou analýzou. |
úseky programov a v krátkom čase o nich povedať vlastnosti, ku ktorým by |
| Vidím veci, ktoré som kedysi nevidel. |
som inak dospel len dlhou analýzou. Jednoducho -- vidím veci, ktoré som |
| |
kedysi nevidel. |
| |
|
| Zbierku som sa snažil koncipovať tak, aby pomáhala študentom všetkých |
Zbierku som sa snažil koncipovať tak, aby pomáhala študentom všetkých |
| kategórií. Príklady sú formulované jasne, aby nebolo pochýb o tom, čo je |
kategórií. Príklady sú formulované jasne a zrozumiteľne, aby nebolo |
| úlohou riešiteľa. Riešenia sú podrobné, niekedy trošku dlhé, ale snažia |
žiadnych pochýb o tom, čo je úlohou študenta. Riešenia sú podrobné, |
| sa dosiahnuť pochopenie daného problému u študenta. Lepší študenti môžu |
niekedy trošku dlhé, ale snažia sa dosiahnuť kompletné pochopenie daného |
| čítať rýchlejšie a preskakovať jednoduché pasáže, zvyšní študenti majú |
problému u riešiteľa. Lepší študenti môžu čítať rýchlejšie a preskakovať |
| všetko podrobne vysvetlené. K niektorým príkladom sú uvedené aj viaceré |
jednoduché pasáže, tí zvyšní majú všetko podrobne vysvetlené. |
| riešenia, čo má ukázať široké možnosti matematickej teórie |
K~niektorým príkladom sú uvedené aj viaceré riešenia, čo má ukázať |
| programovania. |
široké možnosti matematickej teórie programovania. |
| |
|
| Odozvy mojich mladších spolužiakov z nižších ročníkov ma prekvapili. |
Odozvy mojich mladších spolužiakov z nižších ročníkov ma prekvapili. |
| Zbierku vítajú a vnímajú ju ako užitočnú pomôcku pri štúdiu. Som tomu |
Zbierku vítajú a vnímajú ju ako užitočnú pomôcku pri štúdiu. Som tomu |