Upload
emery
View
30
Download
3
Embed Size (px)
DESCRIPTION
IF stavek - odločitveni stavek v programskem jeziku Turbo Pascal (teorija in primer uporabe). ŠC PTUJ, POKLICNA IN TEHNIŠKA ELEKTRO ŠOLA Volkmerjeva 19, 2250 Ptuj Predmet: Algoritmi in programski jeziki. [email protected], 2002. - PowerPoint PPT Presentation
Citation preview
ŠC PTUJ,POKLICNA IN TEHNIŠKA ELEKTRO ŠOLAVolkmerjeva 19, 2250 PtujPredmet: Algoritmi in programski jeziki
[email protected], 2002
IF stavek - odločitveni stavek
v programskem jeziku Turbo Pascal
(teorija in primer uporabe)
Razširjena verzija IF stavka: IF pogoj THENBEGIN zaporedje stavkov 1, opravil1;END ELSEBEGIN
zaporedje stavkov 2, opravil2;END;
Osnovna verzija IF stavka: IF pogoj THEN
BEGIN zaporedje stavkov, opravil;END;
Odločitveni stavek IF nam omogoča, da z uporabo pogojev določimo, katera opravila, ukaze, prireditve bomo izvajali.
To zaporedje stavkov sledi then, ki se izvrši, če je pogoj
pravilen (true).
To zaporedje stavkov sledi else, ki se izvrši, če je pogoj
nepravilen (false).
To zaporedje stavkov se izvrši, če je pogoj pravilen
(true).
IF pogoj THEN BEGIN zaporedje stavkov 1;END ELSEBEGIN zaporedje stavkov 2;END;
Izgled razširjenega IF stavka:
zaporedje stavkov 1.
zaporedjestavkov 2
nadaljevanje programa
pogojpogoj
pravilen
Diagram poteka:
Zapis v Turbo Pascalu:
pogoj nepravilen
Pogoj IF stavka
lahko nastopa ali
ne
Pri IF stavku moramo upoštevati :– če je pogoj TRUE (pravilen) se izvršijo stavki za THEN,– če je pogoj FALSE (nepravilen) se izvršijo stavki za ELSE,– BEGIN in END sta obvezna, če za then (ali else) sledi več stavkov, drugače ju lahko izpustimo,– ELSE je opcija - lahko nastopa ali ne.
Program ifstavek; (* ime programa*)
Begin (*glavni start*)
End. (*konec glavni*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Najprej napišimo ogrodje programa. Z rdečo barvo so označene spremembe programa.
Program ifstavek; (* ime programa*)
Begin (*glavni start*)
End. (*konec glavni*)
Varstev1 : Integer; (*prvo število*)
Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Dodajmo navodila uporabniku in čitajmo prvo število.
, stev2
Write('Podaj drugo število: '); Readln(stev2);
Program ifstavek; (* ime programa*)Varstev1 : Integer; (*par števil*)
Begin (*glavni start*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*)
End. (*konec glavni*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Čitajmo drugo število.
Program ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)
Begin (*glavni start*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2);
End. (*konec glavni*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Preverimo ali je prvo število večje in ugotovitev izpišemo.
If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpis*) Write(’Manjše je drugo število: ’, stev2); End;
Readln; (* da si ogledam izpis na monitorju*)
Program ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)
Begin (*glavni start*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpisi*) Write(’Manjše je drugo število: ’, stev2); End
Readln; (* da si ogledam izpis na monitorju*)End. (*konec glavni*)
Else (*konec if then*) Begin (*drugo število je večje*) Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; (*konec if else*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Dodajmo možnost, da je drugo število večje..
Program ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)
Begin (*glavni start*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpisi*) Write(’Manjše je drugo število: ’, stev2); End Else Begin (*drugo število je večje*) Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; (* da si ogledam izpis na monitorju*)End. (*konec glavni*)
Naloga: Napiši program, ki bo čital par števil in izpisal katero je večje.
Navodila: Program je končan. Oglejmo si njegovo delovanje.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Rezerviramo prostor velikosti 16 bitov za spremenljivko “stev1”in 16 bitov za “stev2”.stev1=naključna vrednoststev2=naključna vrednost
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=0stev2=0
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Podaj prvo število:
stev1=0stev2=0
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=0
Podaj prvo število: 456
Vtipkam število 456.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=0
Podaj prvo število: 456Podaj drugo število:
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=123
Podaj prvo število: 456Podaj drugo število: 123
Vtipkam število 123.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=123
Podaj prvo število: 456Podaj drugo število: 123
456 > 123: pravilen (true)
Pogoj:
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=123
Podaj prvo število: 456Podaj drugo število: 123Večje je prvo število: 456
456 > 123 : true
Pogoj:
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=456stev2=123
Podaj prvo število: 456Podaj drugo število: 123Večje je prvo število: 456 Manjše je drugo število: 123
456 > 123 : true
Pogoj:
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: Standardna izhodna enota
Vtipkam katerikoli znak na tipkovnici
Tipkovnica:
Pomnilnik:
stev1=456stev2=123
Podaj prvo število: 456Podaj drugo število: 123Večje je prvo število: 456 Manjše je drugo število: 123
456 > 123 : true
Pogoj:
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa:Program se konča, vrnemo se v okolje kjer smo program zagnali.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Rezerviran prostor za spremenljivke se sprosti in je na razpolago drugim programom.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa: drugo število je večje od prvega.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Rezerviramo prostor velikosti 16 bitov za spremenljivko “stev1”in 16 bitov za “stev2”.stev1=naključna vrednoststev2=naključna vrednost
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa:drugo število je večje od prvega.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=0stev2=0
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Podaj prvo število:
stev1=0stev2=0
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=0
Podaj prvo število: 234
Vtipkam število 234.
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=0
Podaj prvo število: 234Podaj drugo število:
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=8123
Podaj prvo število: 234Podaj drugo število: 8123
Vtipkam število 8123.
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=8123
Podaj prvo število: 234Podaj drugo število: 8123
234 > 8123: false(nepravilen)
Pogoj:
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=8123
Podaj prvo število: 234Podaj drugo število: 8123Večje je drugo število: 8123
234 > 8123 : false
Pogoj:
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
stev1=234stev2=8123
Podaj prvo število: 234Podaj drugo število: 8123Večje je drugo število: 8123 Manjše je prvo število: 234
234 > 8123 : false
Pogoj:
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Standardna izhodna enota
Vtipkam katerikoli znak na tipkovnici
Tipkovnica:
Pomnilnik:
stev1=234stev2=8123
Podaj prvo število: 234Podaj drugo število: 8123Večje je drugo število: 8123 Manjše je prvo število: 234
234 > 8123 : false
Pogoj:
Delovanja programa: drugo število je večje od prvega.
Program ifstavek;Varstev1, stev2: Integer;
Begin Write('Podaj prvo število: '); Readln(stev1); Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin Writeln(’Večje je prvo število: ’, stev1 ); Write(’Manjše je drugo število: ’, stev2); End Else Begin Writeln(’Večje je drugo število: ’, stev2); Write(’Manjše je prvo število: ’, stev1); End; Readln; End.
Delovanja programa:Program se konča, vrnemo se v okolje kjer smo program zagnali.
Standardna izhodna enota
Tipkovnica:
Pomnilnik:
Rezerviran prostor za spremenljivke se sprosti in je na razpolago drugim programom.
Dodatno delo: Dodaj, da uporabnik določi, koliko parov števil bomo primerjali.Program ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)st_parov: ShortInt; (* število parov(8bitov) *)I : integer; (*stevec for zanke (16 bitov)*)Begin (*glavni start*) Write(’Vpisi stevilo parov za primerjavo: ’); Readln (st_parov); For I:=1 to st_parov do begin (*start for*) Writeln(i,'. par števil.'); (*kateri par primerjam*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpisi*) Writeln(’Manjše je drugo število: ’, stev2); End Else Begin (*drugo število je večje*) Writeln(’Večje je drugo število: ’, stev2); Writeln(’Manjše je prvo število: ’, stev1); End; end; (*konec for*) Readln; (* da si ogledam izpis na monitorju*)End. (*konec glavni*)
Končni izgled programa s komentarjiProgram ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)st_parov: ShortInt; (* število parov(8bitov) *)I : integer; (*stevec for zanke (16 bitov)*)Begin (*glavni start*) Write(’Vpisi stevilo parov za primerjavo: ’); Readln (st_parov); For I:=1 to st_parov do begin (*start for*) Writeln(i,'. par števil.'); (*kateri par primerjam*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpisi*) Writeln(’Manjše je drugo število: ’, stev2); End Else Begin (*drugo število je večje*) Writeln(’Večje je drugo število: ’, stev2); Writeln(’Manjše je prvo število: ’, stev1); End; end; (*konec for*) Readln; (* da si ogledam izpis na monitorju*)End. (*konec glavni*)
Varianta z dvema IF stavkoma.Program ifstavek; (* ime programa*)Varstev1, stev2: Integer; (*par števil*)st_parov: ShortInt; (* število parov(8bitov) *)I : integer; (*stevec for zanke (16 bitov)*)Begin (*glavni start*) Write(’Vpisi stevilo parov za primerjavo: ’); Readln (st_parov); For I:=1 to st_parov do begin (*start for*) Writeln(i,'. par števil.'); (*kateri par primerjam*) Write('Podaj prvo število: '); (*navodila uporabniku *) Readln(stev1); (*prečitam prvo število*) Write('Podaj drugo število: '); Readln(stev2); If stev1 > stev2 Then Begin (*prvo število je večje*) Writeln(’Večje je prvo število: ’, stev1 ); (* izpisi*) Writeln(’Manjše je drugo število: ’, stev2); End; (* konec prvi IF stavek*) If stev2 > stev1 Then Begin (*drugo število je večje*) Writeln(’Večje je drugo število: ’, stev2); Writeln(’Manjše je prvo število: ’, stev1); End; (*konec drugi IF stavek*) end; (*konec for*) Readln; (* da si ogledam izpis na monitorju*)End. (*konec glavni*)