Program zistí akými kombináciami zásahov do terča sa dá dosiahnuť požadovaný počet bodov Z v pascale
Delphi & Pascal (česká wiki)
Kategórie: Programy v Pascalu
Program: Terc.pas, Terclight.pas, Terc2.pas
Soubor exe: Terc.exe, Terc2.exe
Soubor ubuntu: Terc
Příklady: Terc.txt, Terc2.txt
Program: Terc.pas, Terclight.pas, Terc2.pas
Soubor exe: Terc.exe, Terc2.exe
Soubor ubuntu: Terc
Příklady: Terc.txt, Terc2.txt
Program zistí akými kombináciami zásahov do terča sa dá dosiahnuť požadovaný počet bodov Z. Určí všetky vektory P ( P[1] .. P[M] ) a počet zásahov do medzikružia. Nakoniec vypíše všetky možné riešenia a ich počet (0, 1, 2,
). Podrobný postup riešenia nájdete v Terc.txt.
Ako všade aj tu platí že sa dá naprogramovať jednodušia verzia TercLight.pas ktorá ale nieje taká výkonná.
Nakoniec ešte uverejňujem verziu Terc2.pas od prispievateľky s nickom Quetocek. Vďaka nej je k dispozícii aj dokumentácia.
Ako všade aj tu platí že sa dá naprogramovať jednodušia verzia TercLight.pas ktorá ale nieje taká výkonná.
Nakoniec ešte uverejňujem verziu Terc2.pas od prispievateľky s nickom Quetocek. Vďaka nej je k dispozícii aj dokumentácia.
Postup riešenia: - Znulujem vektor výstrelov vv a na prvú pozíciu dám celkový počet nastrieľaných bodov z. - V cykle postupne generujem jednotlivé kombinácie výstrelov funkciou DalsiVektor. - Po vygenerovaní zistím ži počet nastrieľaných bodov je požadovaný (premená z) - Ak je to potrebný počet bodov, vypíšem tento vektor na monitor a zväčším premenú poc. - Nakoniec vypíšem premenú poc čo je celkový počet vektorov. Popis funkcie DalsiVektor: Funkcia sa nezaoberá posledným číslom vektora. Toto číslo vždy dopočíta. Takže najprv nájde posledné číslo ktoré je nenulové. Od tohoto čísla odpočíta 1 a do ďalšieho čísla dá všetky ostatné výstrely ktoré mu tak ostali. Príklad pred: 4 1 0 0 Príklad po: 3 2 0 0 Takto postupuje až pokial sa nestane že na prvej pozícii je nula a vtedy končí, pretože vyčerpal všetky možnosti.