Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, March 29, 2024

File: [Platon] / doc / ztp-zbierka / 00-diploma-thesis.tex (download)

Revision 1.5, Tue Aug 21 09:44:30 2007 UTC (16 years, 7 months ago) by nepto


Changes since 1.4: +2 -2 lines

Fixed typo

%
% 00-diploma-thesis.tex
%
% Developed by Ondrej Jombik <nepto@platon.sk>
% Copyright (c) 2003-2007 Platon Group, http://platon.sk/
% Licensed under terms of GNU General Public License.
% All rights reserved.
%
% Changelog:
% 2007-08-08 - created
%

% $Platon: doc/ztp-zbierka/00-diploma-thesis.tex,v 1.4 2007-08-16 12:42:52 nepto Exp $

%%
%% Cestne prehlasenie
%%

\thispagestyle{plain}
\mbox{} % potrebujeme dat nieco prazdne na zaciatok stranky, aby
        % zafungoval \vfill
\vfill

\begin{minipage}[b!]{\textwidth}
    Čestne vyhlasujem, že predkladanú diplomovú prácu som vypracoval
    samostatne s~využitím uvedenej literatúry.

    \bigskip
    \bigskip
    \bigskip

    \begin{flushright}
        \begin{tabular}{ccc}
            \hline
            \hspace{1cm} & Ondrej Jombík & \hspace{1cm}
        \end{tabular}
    \end{flushright}

    \bigskip

\end{minipage}

\newpage

%%
%% Podakovanie
%%

\thispagestyle{plain}
\mbox{} % potrebujeme dat nieco prazdne na zaciatok stranky, aby
        % zafungoval \vfill
\vfill


%\newlength{\odstavec}
%\setlength{\odstavec}{\hsize}
\begin{flushright}

    \newlength{\sirkaPodakovania}
    \newsavebox{\podakovanie}
    \savebox{\podakovanie}{
    Ďakujem môjmu diplomovému vedúcemu
    \textsc{RNDr.~Dušanovi} % Martišovitšovi,~CSc.}
    }
    % zistime sirku riadku a na takuto sirku text narofmatujeme
    % To preto, aby sa meno zle nelamalo
    \settowidth{\sirkaPodakovania}{\usebox{\podakovanie}}

%\parbox{16cm}{ \noindent
\parbox{\sirkaPodakovania}{ \noindent
    Ďakujem môjmu diplomovému vedúcemu
    \textsc{RNDr.~Dušanovi Gullerovi,~PhD.} za cenné rady a odbornú pomoc
    pri písaní diplomovej práce.}
    
\parbox{\sirkaPodakovania}{ \noindent
    Ďalej chcem poďakovať mojim rodičom, priateľom a spolužiakom za ich
    veľmi silnú podporu, trpezlivosť a~toleranciu.}

\parbox{\sirkaPodakovania}{ \noindent
    Moje osobitné poďakovanie patrí \textsc{Mgr.~Ľubomírovi~Hostovi}
    za~vytvorenie skvelého pracovného a zostavovacieho rámca pre prácu
    so~systémami \LaTeX{ }a pdf\TeX.}
\end{flushright}

\newpage

\chapter*{Abstrakt}
\addcontentsline{toc}{chapter}{Abstrakt}

\bibauthor{Ondrej Jombík}:
\bibwork{Matematická teória programovania. Zbierka riešených úloh.}
Diplomová práca. Univerzita Komenského. Fakulta matematiky,
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
tématicky patriacu k základným okruhom matematickej teórie
programovania, ako sú schémy, programy, interpretácie,
(ne)rozhodnuteľnosť vlastností, správnosť
programov, dokazovanie správnosti, sémantika programov a pod. Medzi
ú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 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.
Tvrdenia sú uvádzané bez dôkazov.

Kľúčové slová: matematická teória programovania, základy teórie
programovania, cvičenia, príklady, úlohy, riešenia, zbierka úloh, ZTP.

\chapter*{Predhovor}
\addcontentsline{toc}{chapter}{Predhovor}

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
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
č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žší.

Matematická teória programovania prednášaná ako predmet Základy teórie
programovania pánom doktorom RNDr.~Igorom~Prívarom,~CSc. ma 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,
problematika ma zaujímala, ale absentovali mi teoretické znalosti. Dnes
už viem ľahko posúdiť, že môj vtedajší spôsob uvažovania o programovaní
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 iných
š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
motivácie. Sám pre seba som si povedal, že chcem do toho vidieť. Keď nám
navyše náš vtedajší cvičiaci Mgr.~Rastislav Graus položartom povedal, že v
tomto predmete správne riešenia neexistujú a vraj sú len správne
zadania, začal som s~prepisovaním cvičených príkladov do \LaTeX{}ového
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
práce. Pôvodný cieľ samozrejme nebol až taký smelý, chcel som len spísať
riešenia pre známe príklady z cvičení Teórie programovania. Postupne som
v zbierke vychytával chyby, dopĺňal príklady, vylepšoval riešenia. Ako
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
odovzdala do mojho programátorského života sú k nezaplateniu. Okrem
toho, že som si značne rozšíril okruh svojich vedomostí, som si uvedomil
aj fakt, že sa signifikantne zmenil spôsob mojho uvažovania. Nie som
viac obyčajný programátor, ale architekt. Kód, ktorý vytvorím, je menej
náchylný na~chyby. Viac sa zamýšlam nad kritickými stavmi programu,
analyzujem dosiahnuteľnosť výsledkov, skúmam časovú zložitosť
algoritmov. Vďaka poznatkom z oblasti sémantiky viem podrobne skúmať
úseky programov a v krátkom čase o nich povedať vlastnosti, ku ktorým by
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
kategórií. Príklady sú formulované jasne a zrozumiteľne, aby nebolo
žiadnych pochýb o tom, čo je úlohou študenta. Riešenia sú podrobné,
niekedy trošku dlhé, ale snažia sa dosiahnuť kompletné pochopenie daného
problému u riešiteľa. Lepší študenti môžu čítať rýchlejšie a preskakovať
jednoduché pasáže, tí zvyšní majú všetko podrobne vysvetlené.
K~niektorým príkladom sú uvedené aj viaceré riešenia, čo má ukázať
široké možnosti matematickej teórie programovania.

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
veľmi rád, pretože sa mi týmto splnil môj sen, ktorý som mal od začiatku
štúdia na vysokej škole. Aby moja diplomová práca nebola užitočná len
mne, ale aby pomáhala aj ďalším luďom a neostala zapadnutá prachom v
školskom archíve.

% vim: ts=4
% vim600: fdl=0 fdm=marker fdc=3


Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top