4. Feltételes utasítások
- A feltételes utasítások általános felépítése
- Egy végrehajtandó utasítás esetén
- Több végrehajtandó utasítás esetén
- Több feltétel esetén
- Egymásba ágyazott feltételek esetén
- Aritmetikai és logikai IF
- Aritmetikai IF
- Logikai IF
- A SELECT CASE állítás
a) A feltételes utasítások általános felépítése
- Egy végrehajtandó utasítás esetén:
IF
(logikai kifejezés) utasítás
Példa:
egyutasitas.f90
Amennyiben
az
a szám kisebb mint a
b, így
annak értékét kiírja a képernyőre.
program
egyutasitas
integer :: a,b
a=1
b=2
IF (a<b) write(*,*) 'Kisebb:', a
end program egyutasitas
Fordítása és futtatása:
gfortran
egyutasitas.f90 -o egyutasitas.exe
./egyutasitas.exe
Az
eredmény:
Kisebb:
1
- Több végrehajtandó utasítás esetén:
IF (logikai kifejezés) THEN
utasítások
ENDIF
Példa:
tobbutasitas.f90
Amennyiben
az a szám kisebb, mint a b, úgy
értékét a “kis” nevű
változó, míg b
értékét a “nagy” nevű változó kapja
meg. Ezeket kiírja a
képernyőre.
program tobbutasitas
integer :: a,b
a=1
b=2
if (a<b) then
kis=a
nagy=b
write(*,*) 'Kisebb:',kis,',nagyobb:',nagy
endif
end program tobbutasitas
Fordítása és futtatása:
gfortran
tobbutasitas.f90 -o tobbutasitas.exe
./tobbutasitas.exe
Az
eredmény:
Kisebb:
1
,nagyobb:
2
- Több feltétel esetén:
IF (logikai kifejezés) THEN
utasítások
ELSEIF
(logikai kifejezés) THEN
utasítások
ELTE
utasítások
ENDIF
Példa:
tobbif.f90
A
két szám relációját vizsgálva a képernyőre kiírja az eredményt.
program
tobbif
integer :: a,b
a=2
b=2
if (a<b) then
write(*,*) 'Kisebb szam:',a
elseif (b<a) then
write(*,*) 'Kisebb szam:',b
else
write(*,*) 'Egyenloek.'
endif
end program tobbif
Fordítása és futtatása:
gfortran
tobbif.f90 -o tobbif.exe
./tobbif.exe
Az
eredmény:
Egyenloek.
- Egymásba ágyazott feltételek esetén:
IF (logikai kifejezés) THEN
IF (logikai
kifejezés) THEN
utasítások
ENDIF
...
ENDIF
Példa:
egybeif.f90
Vizsgálja,
hogy
a szám kisebb-e, mint
b
szám. Ha igen, akkor megnézi, hogy
a
szám
b szám felénél is kisebb-e. Ha ez is igaz,
akkor ezt kiírja
a képernyőre.
program
egybeif
integer :: a,b
a=1
b=4
if (a<b) then
if (a<(b/2)) then
b_2=b/2
write(*,*) 'A ket szam
kulonbsege nagyobb, mint',b_2
endif
endif
end program egybeif
Fordítása és futtatása:
gfortran
egybeif.f90 -o egybeif.exe
./egybeif.exe
Az
eredmény:
A ket szam
kulonbsege nagyobb, mint 2.00000000
<< Előző | Következő >>
Oldal tetejére | Vissza a főoldalra