Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
1. Riešiteľská dokumentácia
 
1.1.	Zadanie príkladu
 
TERČ
Programovanie I
 
K tomuto všeobecnému zadaniu si každý číselné hodnoty parametrov vymysli.
 
Zadanie obsahuje
ž	Počet medzikruží v terči M
ž	Bodové hodnoty jednotlivých medzikruží B[1] .. B[M]
ž	Celkový počet výstrelov V
ž	Celkový počet nastrieľaných bodov v terči Z
Akými kombináciami zásahov sa dá dosiahnuť počet bodov Z? Určite všetky vektory
P ( P[1] .. P[M] ) počtov zásahov do medzikružia.
Vytvorte program, ktorý vypíše všetky možné riešenia a ich počet (0, 1, 2, …).
 
Program vypracujte v jazyku Borland Pascal 7.0 pre DOS .
 
K programu vypracujte
ž	riešiteľskú dokumentáciu (opis zvoleného riešenia, odôvodnenie voľby,
definovanie náväznosti na iné entity)
ž	používateľskú dokumentáciu (návod na použitie, používateľskú príručku)
Vypracované časti (komentovaný zdrojový program a súbory dokumentácie)
odovzdajte na diskete alebo ich umiestnite na pevný disk počítača, ktorý
používate na cvičeniach. Program nazvite Vaším priezviskom (bez diakritických
znakov, najviac 8 znakov).
 
 
1.2.	Analýza problému + postup
 
Program TERČ by mal slúžiť na vyhľadanie všetkých možných kombinácii mnou
zadaných počtov výstrelov do terča, ktorými sa dá nastrielať mnou zadaný počet
bodov. Samozrejme pri danej úlohe som si musela zvoliť i počet medzikruží a
bodové hodnoty týchto medzikruží.
 
V samotnom úvode som príkazom uses crt  oznámila programu, že budem využívať
niektoré príkazy z jednotky  (knižnice) crt (napr. ClrScr). Potom som si
zadefinovala potrebné vstupné hodnoty, príkazom const (konštanty, ktoré sa počas
celého programu nemenia). Počet medzikruží = 4, počet výstrelov = 4 a počet
nastrieľaných bodov = 11. Samozrejme i bodové hodnoty v jednotlivých
medzikružiach ( Kruh1 = 1, Kruh2 = 2, Kruh3 = 3 a  Kruh4 = 4 ). Pri voľbe počtu
nastrieľaných bodov si treba uvedomiť, že táto hodnota  musí byť väčšia, alebo
rovná súčinu počtu výstrelov a najnižšieho bodového ohodnotenia medzikružia a
menšia, alebo rovná súčinu  počtu výstrelov a najvyššieho bodového ohodnotenia
medzikružia.
 
Následne pomocou príkazu var som zadefinovala premenné, ktoré budem potrebovať
na výpočet (počet riešení, zásah1, zásah2, zásah3, zásah4).Tieto premenné sa
počas programu budú meniť.
 
Príkaz ClrScr  mi vymaže aktívne okno a umiestni kurzor do ľavého horného rohu
obrazovky.  Výstupný príkaz Writeln mi vypíše text na obrazovku, ale len v
prípade ak text  vpíšem do úvodzoviek.
Ak by som napísala výstupný príkaz Writeln bez parametrov, tak mi vloží prázdny
riadok.
Príkaz ReadKey  bez parametrov spôsobí, že program čaká na vstup z klávesnice,
čiže čaká až  kým užívateľ stlačí ľubovoľnú klávesu. Tento príkaz som použila z
dôvodu, aby si užívateľ mohol prečítať výsledky.
 
 
Celá myšlienka realizácie je založená na vnorených cykloch, čo znamená, že počet
vnorení zodpovedá počtu mnou zadaných medzikruží, t.j. M = 4.
Pomocou vnorených cyklov priradí premenným ZÁSAH1 až ZÁSAH4 hodnoty od 0 do 4 a
to tak, že najprv všetkým priradí 0 a postupne zvyšuje hodnotu  až po počet
výstrelov, čím vytvorí všetky kombinácie nehľadiac na počet výstrelov a počet
bodov.
Vo vnútri vnorených cyklov overujem, či sú splnené 2 podmienky a to pomocou
neúplného podmieneného príkazu If.
 
ž	Prvá podmienka – totožnosť (rovnosť)mnou zadaného počtu výstrelov.
ž	Druhá podmienka – totožnosť  (rovnosť) počtu dosiahnutých bodov.
Ak sú obe podmienky splnené, tak  zvýši počítadlo riešení o 1 (ktoré som si na
začiatku vynulovala) a vypíše aktuálne riešenie.
 
 
2. Používateľská dokumentácia
 
Program je naprogramovaný v jazyku Borland Pascal 7.0 pre DOS.
Otvorenie -  File -> Open ( alebo klávesa F3) -> vybrať súbor  NAME.PAS (nechcem
zverejnovat meno)
Spustenie -  Run -> Run ( alebo klávesa Ctrl+F9).
Následne program zrealizuje požadovaný výpočet a na obrazovku vypíše výsledky
podľa zadania úlohy.
 
 
3. Zoznam použitej literatúry
Toto si uz kazdy doplni podla potreby