10 szám generálása stb

Üdv emberek.
Találtam egy nehéz feladatot ami a következőből áll:
Generálj tíz számot , írasd ki és irasd ki hogy páros vagy páratlan.
Itt hogy kellene generálni 10 számot?
Előre is köszy a segítséget!
Elég amatőr vagyok pascalból sajnos. Nagyon kéne a segítség.
Tomcsi1987

Hozzászólások

Szervusz !

Kb másfél évtizeddel ezelőtt Turbo-Pascal-t használtam, munkahelyi elfoglaltságom miatt ma nem férek hozzá a könyveihez, dr:

vs a random() függvényt kell használni, ha "'szuper" véletlenszámot szeretnél, akkor előtte a randomize utasítás.

Ha a sima random() függvény 0-1 értéktartománybeli számot ad, akkor azt felszorozhatod.

CSZ


program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  i,v:integer;
begin
  Randomize;
  WriteLn('A véletlenszámgenerátor initializálva...');
  WriteLn('');
  WriteLn('A véletlenszámok');
  for i:=1 to 10 do begin
    v:=Random(100)+1;
    Write(Format('%.2d. szám=%d : ',[i, v]));
    if Odd(v) then WriteLn('páratlan.') else WriteLn('páros.');
  end;
  readln;
end.

Attila, Perger
-----------------------------------------------------
"Az a szoftver, amelyiket nem fejlesztik, az halott!"

igaz D2005-tel csináltam de {$APPTYPE CONSOLE} biztos kivehettő. És így a Lazarus Win32 alatt lefordítja:


program Project1;

uses
  SysUtils;

var
  i,v:integer;
begin
  Randomize;
  WriteLn('A véletlenszámgenerátor initializálva...');
  WriteLn('');
  WriteLn('A véletlenszámok');
  for i:=1 to 10 do begin
    v:=Random(100)+1;
    Write(Format('%.2d. szám=%d : ',[i, v]));
    if Odd(v) then WriteLn('páratlan.') else WriteLn('páros.');
  end;
  readln;
end.

Attila, Perger
-----------------------------------------------------
"Az a szoftver, amelyiket nem fejlesztik, az halott!"

De miért jó megadni a teljes megoldást? Ha majd munkába áll, és meg kell oldania egy programozás feladatot, akkor is megírod helyette?
Bocs a hülye hangnemért, csak szerintem sokkal hasznosabb, ha megpróbáljuk rávezetni a gyereket, hogy saját hibáiból tanulva, de önmaga rakja össze a kész programot...

program tizszam;
uses crt;
var     i,num:byte;

begin
        randomize;
        for i:=1 to 10 do
        begin
                num:=random(100);
                write(i,'. szám: ',num);
                if num mod 2=0 then
                begin
                        writeln(' :páros');
                end
                else
                begin
                        writeln(' :páratlan');
                end;
        end;
        readkey;
end.

Asszem ennyi. Ez nem nehéz program. A randomizálás amúgy egész pontosan így:


randomize;
szam:=random(meddig);

Ahol a randomize egy inicializálás (hogy az első érték ne 0 legyen), a random meddig paramétere pedig azt határozza meg, hogy mekkora lehet a legnagyobb véletlen szám. A legkisebb mindig a 0.

köszönöm mindenkinek a megoldásokat!
Kissé húzós volt a Delphi féle megoldást elmagyarázni a tanárnak pl mik a % ok meg stb-k meg mi az Odd de kiagyaltam, és végül is elfogadta.:)

Ez egy nagyon könnyű feladat. Nem lehetett volna bejárni órára?
Ciki ha a tanár is olvassa a HUP-ot.
Márpedig szeretném, ha minél több tanár olvasná.