Upload
niclaus-bohnhoff
View
104
Download
1
Embed Size (px)
Citation preview
Kurzreferat überKurzreferat überFunktionen undFunktionen und
ProzedurenProzeduren
Von Alexander Roth Homepage: www.roth.22o.de
Strukturierung des ReferatsStrukturierung des Referats
procedureprocedure• ParameterübergabeParameterübergabe
StandardStandard als Konstantenals Konstanten als Variablenals Variablen
functionfunction• ParameterübergabeParameterübergabe• RückgabewertRückgabewert
procedure und die Parameterübergabeprocedure und die Parameterübergabe
procedure Multiplikation(i:integer);begin i:=i*5; writeln(i);end;
Übergabe der Parameter als Standard-Ohne Schlüsselwort
-Variable bleibt von außen unverändert
-Innerhalb der Procedure kann die Variable einen anderen Wert annehmen
procedure Multiplikation(const i:integer);begin{i:=i*5; würde zu einem Fehler führen} writeln(i);end;
Übergabe der Parameter als Const
-Schlüsselwort const
-Konstante bleibt immer unverändert
procedure und die Parameterübergabeprocedure und die Parameterübergabe
procedure Multiplikation(var i:integer);begin i:=i*5; writeln(i);end;
Übergabe der Parameter als Var
-Schlüsselwort var-Variable kann sich wirklich verändern
procedure Multiplikation(a:integer; const b:integer; var i:integer);begin a:=5; {auf b darf nicht geschrieben werden, aber gelesen} i:=5;end;
{Hauptprogramm}{Hauptprogramm} var x1,x2,x3:integer;Begin x1:=0; x2:=0; x3:=0; Multiplikation(x1,x2,x3); writeln(x1); writeln(x2); writeln(x3);End.
Kombinationen und BeispielKombinationen und Beispiel
-Anstatt einer Variable kann man einen konkreten Wert angeben bei:
-Standardübergabe
-Übergabe mit const
- Bei Übergabe mit var muss eine Variable übergeben werden.
functionfunction-Funktionen können genau wie die Prozeduren Parameter übernehmen
-Im Gegensatz zu Prozeduren haben Funktionen immer einen Rückgabewert
-Der Rückgabewert muss nicht verwendet werden
-Funktion kann wie eine Variable verwendet werden
procedure setzte(var i:integer);Begin i:=5;End;
function setzte:integer;Begin setzte:=5;End;
Anstatt: So geht es viel kürzer:
BeispieleBeispiele
function day(zahl:longint):string;function day(zahl:longint):string;beginbegin case zahl ofcase zahl of 1:day:='Mo';1:day:='Mo'; 2:day:='Di';2:day:='Di'; 3:day:='Mi';3:day:='Mi'; 4:day:='Do';4:day:='Do'; 5:day:='Fr';5:day:='Fr'; 6:day:='Sa';6:day:='Sa'; 7:day:='So';7:day:='So'; end;end;end;end;
Rückgabe des Tagnamens in einer Rückgabe des Tagnamens in einer ProzedurProzedur
procedure day(zahl:longint; var t:string);procedure day(zahl:longint; var t:string);beginbegin case zahl ofcase zahl of 1:t:='Mo';1:t:='Mo'; 2:t:='Di';2:t:='Di'; 3:t:='Mi';3:t:='Mi'; 4:t:='Do';4:t:='Do'; 5:t:='Fr';5:t:='Fr'; 6:t:='Sa';6:t:='Sa'; 7:t:='So';7:t:='So'; end;end;end;end;
Rückgabe des Tagnamens in einer Rückgabe des Tagnamens in einer FunktionFunktion
{Hauptprogramm}{Hauptprogramm} Var tag:string;Var tag:string;BeginBegin Day(1,tag);Day(1,tag); Writeln(tag);Writeln(tag);End.End.
{Hauptprogramm}{Hauptprogramm}BeginBegin Writeln(Day(1));Writeln(Day(1));End.End.