![]() |
Klausur-Fragen
Hallo , ich schreibe morgen eine Informatik-LK-Klausur und habe nun ein paar Fragen:
Was sind Parameter , wo ist der Unterschied zwischen Parameter und Variable , haben Parameter einen Vorteil? Warum ist es nicht gut , Variablen global zu deklarieren ? Eine Funktion liefert einen Wert zurück , eine Prozedur nicht , mein Lehrer : eine Prozedur auch => verunsichert. Record : Eine Zusammenfassung von verschiedenen Datentypen zu einem komplexen ? Richtig ? Wäre echt nett , wenn die Fragen beantwortet werden , ist super wichtig ! |
AW: Klausur-Fragen
Unter diesem
![]() |
AW: Klausur-Fragen
Hallo,
Parameter übergibst du einer Prozedur/Funktion, eine Variable deklarierst du: procedure <Name>(<Parameter>); <Variablen- und Konstanten> begin <Anweisungen> end; function <Name>(<Parameter>): <Rückgabetyp>; <Variablen- und Konstanten> begin <Anweisungen> end; Warum ist es nicht gut , Variablen global zu deklarieren ? Keine Ahnung! Vllt der Übersicht halber, oder zum Schutz, dass sie nicht zufällig überschrieben wird, wenn eine andere Prozedur drauf zugreift? Eine Funktion liefert einen Wert zurück , eine Prozedur nicht , mein Lehrer : eine Prozedur auch => verunsichert. Noch nie davon gehört. Record : Eine Zusammenfassung von verschiedenen Datentypen zu einem komplexen ? Richtig ? Was sind Records? Records ermöglichen es, mehrere Variablen zu gruppieren. Dies ist beispielsweise dann hilfreich, wenn oft die gleiche Menge an Variablen benötigt wird, oder eine Menge Variablen logisch zusammengefasst werden soll. Eine weitere Situation in der Records unverzichtbar sind ist, wenn im Programm mehrere Datensätze gespeichert und verwaltet werden sollen, beispielsweise in einem Adressbuch (Quelle: ![]() MfG schlagzu |
AW: Klausur-Fragen
Parameter:
Delphi-Quellcode:
Globale Variable:
procedure Foo( IchBinEinParameter : string );
var IchBinEineVariable : string; begin // irgendwas end; Da besteht die Gefahr, dass man sich eben diese gegenseitig überschreibt:
Delphi-Quellcode:
besser also so (ganz ohne Globale Variable)
var
IchBinGlobal : integer; procedure Foo1; begin WriteLn( IntToStr( IchBinGlobal ) ); end; procedure Foo2: begin for IchBinGlobal := 1 to 10 do Foo1; end; procedure Foo3; begin for IchBinGlobal := 1 to 10 do Foo2; end;
Delphi-Quellcode:
Procedure/Function Wert zurückliefern
procedure Foo1( Value : integer );
begin WriteLn( IntToStr( Value ) ); end; procedure Foo2: var IchBinLokal : integer; begin for IchBinLokal := 1 to 10 do Foo1( IchBinLokal ); end; procedure Foo3; var IchBinLokal : integer; begin for IchBinLokal := 1 to 10 do Foo2; end;
Delphi-Quellcode:
Record: da hast du ja im Prinzip schon die richtige Definition gegeben ;)
function FooFunc : integer;
begin Result := 10; end; procedure FooProc( var Value : integer ); begin Value := 10; end; var FooValue : integer; begin FooValue := 0; FooValue := FooFunc; WriteLn( IntToStr( FooValue ) ); // Ausgabe: 10 FooValue := 0; FooProc( FooValue ); WriteLn( IntToStr( FooValue ) ); // Ausgabe 10 end. |
AW: Klausur-Fragen
Alles klar vielen Dank für die Antworten !
|
AW: Klausur-Fragen
Zitat:
|
AW: Klausur-Fragen
Mein Compiler erlaubt das, gibt aber eine Warnung aus.
|
AW: Klausur-Fragen
Zitat:
nur so viel noch dazu: Funktionen haben einen Rückgabewert, ja. Prozeduren haben keinen Rückgabewert, nein. Prozeduren können aber übergebene Variablen verändern (Funktionen eigentlich auch *scratch* - nicht so wichtig), sofern diese im Kopf als var-Parameter deklariert sind (
Delphi-Quellcode:
).
procedure FooProc( var Value : integer );
Wenn nicht würde diese Prozedur zwar abgearbeitet, die übergebene Variable aber nicht verändert. Viel Erfolg :) |
AW: Klausur-Fragen
Zitat:
Delphi-Quellcode:
procedure Test;
var Bar: integer; procedure Foo; begin for Bar := 0 to 3 - 1 do showmessage(inttostr(Bar)); end; begin Foo; end; Zitat:
|
AW: Klausur-Fragen
Zitat:
z.B.
Delphi-Quellcode:
Gruß
procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word);
K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz