pondělí 7. června 2010

Náhodná čísla v Pascalu

RANDOMIZE to zamíchá, RANDOM vybere náhodné číslo z intervalu 0..(to, co je v závorce)
Následující ukázka vypisuje náhodná celá čísla z intervalu 0..1



 uses Crt;
 begin
   Randomize;
   repeat
     Write (Random(2)+1);
   until KeyPressed;
 end.

úkol:

  1. Upravte předchozí ukázku tak, aby program vypisoval celá čísla z intervalu 6..16
  2. Upravte předchozí ukázku tak, aby program vypisoval pouze celá sudá čísla z intervalu 6..16
  3. Upravte předchozí ukázku tak, aby program vypisoval pouze celá lichá čísla z intervalu 20..30

řešení úkolu 2:

 uses Crt;
 var i:integer;
 begin
   Randomize;
   repeat
     { Píše text v náhodných barvách }
     i:= (Random(11)+6);
     if (i mod 2)=0 then writeln(i);
   until KeyPressed;
 end.

poznámka k řešení úkolu 2:
  • funkce MOD vrací zbytek po celočíselném dělení (tedy např. 16 : 2 = 8 zbytek je 0,    17 : 2 = 8 zbytek je 1, MOD je ten zbytek)
  • MOD 2 tedy  u sudých čísel vrací nulu a u lichých jedničku

Žádné komentáře:

Okomentovat