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.}
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 }
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 }