Umiestnenie súboru www.TrSek.com/cover/slavkovsky/pretekar.pas
{ PRETEKAR.PAS       Copyright (c) Radovan Slavkovsky alias Raistgar}
{                                                                   }
{ Ide o program, ktorý bol zadaný ako semestrálna práca ku predmetu }
{ programovanie.                                                    }
{                                                                   }
{ Pretekár dosiahol po niekoµkých pretekoch urèitý bodový zisk      }
{(za ka¾dý pretek urèitý poèet bodov).                              }
{ Úloha 1: Vypoèítajte programom a zobrazte na obrazovke v¹etky     }
{ mo¾nosti (kombinácie), ako bolo mo¾né dosiahnu» aktuálny bodový   }
{ zisk z jednotlivých pretekov (nezále¾í na poradí).                }
{ Úloha 2: Vypoèítajte programom a zobrazte na obrazovke            }
{ najúspe¹nej¹iu mo¾nos» (alebo mo¾nosti), v ktorom (ktorých) získal}
{ pretekár najväè¹í poèet prvých umiestnení v pretekoch.            }
{                                                                   }
{ Poznámka: Pre ka¾dého ¹tudenta je pripravené konkrétne zadanie    }
{ s konkrétnymi hodnotami celkového bodového zisku, jednotlivých    }
{ ocenení za konkrétne poradové miesto v pretekoch, poèet pretekov, }
{ ktorých sa pretekár zúèastnil. Rie¹enie musí zobrazi» výstup      }
{ na obrazovke spôsobom, ako ukazuje konkrétne zadanie pre ¹tudenta.}

PROGRAM XXX;

USES crt;

VAR m1,m2,m3,m4,m5,z,b:integer;          {ciselne premenne }
    m6,OUT,x:integer;
    POMOC:ARRAY[1..10]OF integer;        {ciselne pole, ktore pomoze porovnat }
    i,j,k:integer;
BEGIN
     clrscr;
     WRITELN('PROGRAM: Pretekar');
     WRITELN('Riesil : Radovan Slavkovsky');
     WRITELN('Zadanie: 129');
     WRITELN('Celkovo ziskanych 23 bodov, v 5 zavodoch');
     z:=5;      { definovany pocet zavodov = 5 }
     b:=23;     { definovany povet ziskanych bodov = 23 }

     writeln('Bodove ohodnotenie za ziskane umiestnenie');
     writeln;
     writeln('1.miesto = 9 bodov ');
     writeln('2.miesto = 8 bodov');
     writeln('3.miesto = 6 bodov');
     writeln('4.miesto = 4 body');
     writeln('5.miesto = 2 body');

     writeln;

     FOR m1:= 0 TO 5 DO        { hodnota m1-m6=miesto 1-6. nadobuda postupne hodnotu 0 az 5 }
     FOR m2:= 0 TO 5 DO        { hodnoty nadobudaju aj nulovu hodnotu prave preto, ze v moznostiach,}
     FOR m3:= 0 TO 5 DO        { * sa moze objavit i moznost kde pretekar zavod absolvoval bez toho }
     FOR m4:= 0 TO 5 DO        { aby obsadil vsetky pozicie . } { m6 prave preto ze ide v dalsiom ktoru}
     FOR m5:= 0 TO 5 DO        { o nulovu konstantu (nebodove miesto ) }
     FOR m6:= 0 TO 5 DO

     IF(m1+m2+m3+m4+m5+m6=z)THEN   {podmienka vravi , ze sa sucet 'miest'm1-m6 musi rovnat celkovemu poctu zavodov}

     IF(9*m1+8*m2+6*m3+4*m4+2*m5+0*m6=b)THEN {podmienka - sucet miest vynasobenych prislusnou hodnotou miesta sa musi }
                                             { rovnat celkovemu poctu bodov }
                { ak su splnene obe podmienky, nasleduje cyklus }
     BEGIN
     x:=succ(x);   { x nadobuda nasledujucu hodnotu z povodnej }

                   { vypis }
     writeln('Moznost c.',x,': ',m1,'x, ',m2,'x, ',m3,'x, ',m4,'x, ',m5,'x');

     OUT:=m1; { VYVEDENIE posledneho / najvyssieho clena prveho miesta }
              { pole pomocou cyklu nadobuda postupne hodnoty prveho miesta }
     POMOC[X]:=M1;

     END;

     writeln;
     write('Celkovy pocet moznosti: ');writeln(x);  {vypis poslednej hodnoty x }
     write('Najviac prvych miest  : ');writeln(OUT); {vyvedenie najvyssieho prveho miesta}
     WRITE('Najlepsia moznost     : ');

     FOR I:= 1 TO X DO    { cyklus I, ktory nadobuda hodnotu od 1 po X!, pricom }
     BEGIN                { je stanovena podmienka, pri ktorej pole nadobuda hodnotu }
                          { cyklu postupne, v podmienke je stanovene, ak sa I-ty clen pola }
     IF(POMOC[I]=OUT)THEN WRITE(I,'. ');     { zhoduje s najvyssim prvym miestom, tak sa clen vypise }
     END;


     READLN;

     { program a popis zostavil Radovan Slavkovsky, ( AKA ) Raistgar }

END.

Copyrigth by Zdeno Sekerak 2007, http://www.trsek.com