Naredba read

     

 

Naredba read prihvaća podatke sa standardnog ulaza i pridružuje ih varijablama u popisu. Varijable odvajamo zarezom. Podatke unosimo s tipkovnice onim redoslijedom kojim su navedene varijable u popisu. Također uneseni podaci trebaju po tipu odgovarati tipu varijabli u popisu. Opći oblik naredbi za unos podataka sa standardnog ulaza - tipkovnice je

read(popis varijabli);

Primjer

Naredba

read(a,b,c,d);

očekuje unos četiri varijable s tipkovnice. Uneseni podaci će se redom pridružiti varijablama iz popisa. Ako varijable najavimo kao cjelobrojne i unesemo podatke redom u jednom retku odvojene praznim mjestom:

2□6□8□45

varijabla a poprimit će vrijednost 2, varijabla b vrijednost 6, varijabla c vrijednost 8, a varijabla d vrijednost 45. Također naredba read "čeka" dok sva četiri podatka nisu unesena što znači da ako podatke unesete svaki u svom retku dobit ćete iste vrijednost varijabli.

Provjerite to na sljedećim primjerima:

Primjer 1:

program vjezba;
var
     a,b,c,d:integer; (*najava cjelobrojnih varijabli*)
begin
     read(a,b,c,d); (*naredba za unos podataka*)
     writeln('a=',a,' b=',b,' c=',c,' d=',d);
;     (*naredba za ispis vrijednosti varijabli*)
end.

Isto kao i u prethodnom primjeru, imali bi smo ako bi napisali za svaku varijablu njenu read naredbu:

read(a);
read(b);
read(c);
read(d);

Provjerite na primjeru i uočite da bez obzira kako unosili podatke (svaku vrijednost u svoj red ili sve u istom redu odvojeno razmakom) varijable uvijek imaju iste vrijednosti.

Primjer 2:

program vjezba;
var
     a,b,c,d:integer;
(*najava cjelobrojnih varijabli*)
begin
     read(a);
     read(b);
     read(c);
     read(d); (*naredba za unos podataka*)
     writeln('a=',a,' b=',b,' c=',c,' d=',d);
(*naredba za ispis vrijednosti varijabli*)
end.

Proučite što se događa ako su varijable različitog tipa o svojim saznanjima popričajte s ostalim polaznicima u alatima za Diskusiju pod temom "Unos podataka".

Primjer 3:

program
vjezba;
var
     a:char;
     b:integer;
     c:real;
begin
     read(a,b,c);
     writeln('a=' ,a,' b=',b,' c=',c);
end.

Primjer 4:

program
vjezba;
var
     a:char;
     b:integer;
     c:real;
begin
     read(a);
     read(b);
     read(c);
     writeln('a=',a,' b=',b,' c=',c);
end.

U idućoj lekciji proučite naredbu readln koja nakon pridruživanja vrijednosti varijablama zanemaruje sve unesene vrijednosti do kraja reda.