Professional Documents
Culture Documents
JAG, 2001
Második rész
Utasítások
Az imperatív nyelvek jellegzetes progra-mozási
eszköze.
Két csoportba sorolhatóak: a fordítóprog-ramnak
szóló deklarációs utasítások ill. a végrehajtható
utasítások.
A fordítóprogram szempontjából fontos különbség,
hogy a deklarációs utasítások mögött nincs kód míg
a végrehajtható utasítások mögött mindig ott van a
kód.
Utasításcsoport
read(változólista) vagy
read(állnév,változólista)
Jelentése: Beolvassa a változólista
elemeit a standard input egységről
(billentyűzet) avagy az állnév nevű
állományból.
Példa: read(a,b,c)
readln
readln(a)
Jelentése: beolvassa a értékét a standard
input egységről (billentyűzet), majd
végrehajt egy „kocsi vissza, soremelés”
műveletet. („A következő sor elejére áll.”)
Írás
write(kifejezéslista)
Jelentése: Kiírja a kifejezéslista elemeit
a standard output egységre (képernyő)
avagy az állnév nevű állományba.
write(‘Harom=‘,3)
write(‘a+b értéke’,a+b)
writeln
writeln(állnév,kifejezéslista)
Jelentése: Kiírja a kifejezéslista elemeit
a standard output egységre (képernyő) majd
végrehajt egy „kocsi vissza, soremelés”
műveletet.
writeln(‘Harom=‘,3)
Lezárás
Itt TILOS a ; !
ELSE utasítás2
Feltételes utasítás Pascalban
if szam1>=szam2 then nagyobb:=szam1 else
nagyobb:=szam2
***
if tomb[i]>tomb[i+1]then
begin
csere:=tomb[i];
tomb[i]:=tomb[i+1];
tomb[i+1]:=csere;
vancsere:=true
end
Többágú feltételes utasítás
ELSE utasítás
Többágú feltételes utasítás
case 2*i of
2: volt:=1;
4: volt:=2;
6: volt:=3
else volt:=0
end
Előfeltételes ciklus Pascalban
utasítás
repeat
j:=j-1;
tomb[j+1]:=tomb[j]
until tomb[j-1]<=seged
Tanács: nézd csak meg a beszúrásos
rendezés algoritmusát!
Előírt lépésszámú ciklus
Pascalban
TO
FOR ciklusváltozó := kezdõérték végérték DO utasítás
DOWNTO
fej mag
for j:=2 to n do
if tomb[j]>maximum then maximum:=
tomb[j];
Tanács: nézd csak meg a maximális elem
kiválasztásának algoritmusát!
Programegységek
{deklarációk}
Programtörzs begin
{vh. utasítások}
Programvég end.
A Pascal főprogram - példa
program hello1;
begin
write('Hello vilag!!!')
end.
A Pascal főprogram - példa II.
program hello2;
begin
writeln('Hello vilag!!!');
readln;
end.
Gyakorlatok
program nagyobb;
type szam=integer;
var
a,b,nagyobb:szam;
begin
write('Kerem az elso szamot:');
readln(a);
write('Kerem a masodik szamot:');
readln(b);
Gyakorlatok - kisebb-nagyobb
program osszeg2;
type szam=integer;
var
i,n:integer;
osszeg:szam;
begin
write('Meddig tartson az osszegzes?');
readln(n);
Gyakorlatok - összegzés II.
osszeg:=0; i:=1;
while i<=n do
begin
osszeg:=osszeg+i;
i:=i+1;
end;
write('A szamok osszege ',n,
’-ig:',osszeg);
readln;
end.
Gyakorlatok - összegzés III.
program osszeg3;
type szam=integer;
var
i,n:integer;
osszeg:szam;
begin
write('Meddig tartson az osszegzes?');
readln(n);
osszeg:=0;
i:=0;
Gyakorlatok - összegzés III.
repeat
osszeg:=osszeg+i;
i:=i+1;
until i>n;
write('A szamok osszege ',n,
'-ig:',osszeg);
readln;
end.
Gyakorlatok - összegzések
A példaprogramok rendre
osszeg1.pas
osszeg2.pas
osszeg3.pas
Összefoglalva
Összegzés.doc
A csomag programegység
Alprogram neve
Fej
Formális paraméterek
Dekalarációs rész
Törzs
Végrehajtható rész
Vég
Lokális és globális nevek
PROCEDURE név ;
formális
( )
paraméterlista
A Pascal eljárás - példa
procedure beolvas(n:integer);
var j:integer;
begin
for j:=1 to n do
begin
write('Kerem a(z)',j,
'. elemet! ');
readln(tomb[j]);
end;
end;
A függvény
formális
( )
paraméterlista
A Pascal függvény - példa
function hatvany(a,k:real):real;
begin
hatvany:=exp(k*ln(a));
end;
…
szam:=2*hatvany(3,2);{ami 18}
writeln(hatvany(2,3));
Gyakorlat - alprogramok
A példaprogramok rendre
nagyobb.pas
faktor.pas
maxi.pas
linkeres.pas
Összefoglava
Alprogramok_I.doc
Keresés.doc
A formális paraméterek
A példaprogramok rendre
faktor2.pas
rekhatv.pas
rekmax.pas
Összefoglalva
Rekurzió.doc
Paraméterek átadása
A példaprogramok rendre
binkeres.pas
beszur.pas
buborek.pas
Összefoglava
Rendezés.doc
Keresés.doc
Gyakorlat - halmazok
A példaprogramok rendre
halmaz1.pas (Betűk)
halmaz2.pas (Eratoszthenész szitája)
Összefoglava
Halmazok.doc
Gyakorlat - rekordok és
filekezelés
A példaprogramok rendre
rekord1.pas
rekord2.pas
Összefoglava
Rekordfile.doc