Kontrollfragen 4./5. Streich

1. Nennen Sie mindestens 4 Gemeinsamkeiten von Funktionen und Prozeduren!

-werden im Deklarationsteil der Unit deklariert
-enthalten nur formale Parameter und lokale Variablen
-bestehen aus Kopf-/Deklarations- und Anweisungsteil zwischen "begin" und "end;"
-werden im aufrufenden Unterprogramm und Namen eventueller Parameterliste (aktuelle Parameterliste) aufgerufen


2. Wie viele Werte können an eine Funktion übergeben werden?

Eine beliebige Anzahl


3. Wie viele Werte kann eine Funktion zurückliefern?

Nur ein Wert zurückliefern.


4. Wie viele Werte kann eine Prozedur zurückliefern?

Kann mehere Werte zurückliefern.


5. Beschreiben Sie den allgemeinen Aufbau einer Funktion!

Sie besteht aus einer Kopfzeile die mit dem Schlüsselwort Function beginnt, außerdem aus einem Interfaceteil, wo die z.B. die lokale Variable deklariert wird und mit dem Anweisungsteil ("begin" -> "end;").


6. Beschreiben Sie die verschiedenen Varianten zur Rückgabe der Werte bei Funktionen. Welche dieser Varianten sollte man bevorzugen? Warum?

Zur Ausgabe der Werte kann man entweder den Namen der Funktion verwenden oder mit dem Befehl result aberneiten, bei dem automatisch. Ich bevorzuge Result ist geläufiger.


7. Beschreiben Sie den allgemeinen Aufbau einer Prozedur!

Sie besteht aus einer Kopfzeile die mit dem Schlüsselwort Procedure beginnt dort können Eingangs- und Ausgangsparameter stehen, außerdem aus einem Interfaceteil, wo die z.B. die lokale Variable deklariert wird und mit dem Anweisungsteil ("begin" -> "end;").


8. Nennen Sie drei Vorteile der Arbeit mit Units!

-Übersichtlichkeit
-ermöglicht Arbeit im Team
-weitere Verwendung in weiteren Projekten


9. Aus welchen drei Teilen besteht eine Unit mindestens?

-Unit-Kopf/Kopfzeile
-Interface-Teil
-Implementierungsteil


10. Welche zwei weiteren Teile kann eine Unit noch besitzen?

-Initialisierungsteil
-Finalisierungsteil


11. Beschreiben Sie die Funktion und den Aufbau der einzelnen Teile der Unit!

-Kopfzeile: Schlüsselwort: Unit -> Unit Name muss mit dem Dateinamen einer Unit übereinstimmen.

-Interfaceteil: Schlüsselwort Interface. Der Interface-Teil enthält die Liste aller öffentlicher Bezeichner, die an andere Programme oder Programmteile exportiert werden dürfen (z.B. Funktionen, Prozeduren, Variable, Datentypen, Konstanten). Andere Teile, die lediglich als Hilfsprozeduren notwendig sind, können nach außen hin versteckt werden.

-Implementiertungsteil: Schlüsselwort Implementation. Hier befinden sich die eigentlichen Programmblöcke zu den unter INTERFACE aufgeführten "Öffentlichen" Funktionen und Prozeduren, hier können noch weitere Proz./Funkt. Variablen, Typen,... deklariert werden, die aber nur im Implementierungsteil genutzt werden können und im Interface-Teil nicht zur Verfügung stehen.

-Initialisierungsteil: Schlüsselwort Initialization: Dieser Teil dient dazu, Operationen durchzuführen, die nur einmal, zum Start des Programms aufgerufen werden sollen. Man kann das vergleichen mit dem Aufruf der Prozedur FORMCREATE (S. Projekt Zahlenraten), nur besitzt unsere selbst geschriebene Unit ja kein Formular.
Die Unit wird abgeschlossen mit dem Schlüsselwort end.

-Finalisierungsteil: Schlüsselwort Finalization. Der Finalisierungs-Teil dient dazu, Operationen durchzuführen, die nur einmal, nämlich beim Schließen des Programms, durchgeführt werden sollen. Das kann z. b. die Freigabe von Systemressourcen sein, die vorher vom Programm belegt wurden. Der Finalisierungs-Teil beginnt mit dem Schlüsselwort Finalization, er steht noch vor dem abschließenden END. des Programms.


12. Welche Einschränkungen gelten für die Kopfzeile einer Unit?

Unit Name muss mit dem Dateinamen einer Unit übereinstimmen. Keine Sonderzeichen usw.


13. Wie kann man eine neue Unit erzeugen?

1.Datei --> 2. Neu --> 3. Unit


14. Wie und wo kann man eine vorhandene Unit in ein neues Programm einbinden?

Unter Implementation mit "uses Name der Datei"


15. Nennen Sie je ein Beispiel für vorhandene Delphifunktionen, die mit keinem, mit einem bzw. mit mehreren Parametern aufgerufen werden!

Mit einem: function Zufallszahl
Mit zwei: function Kreisfläche
Mit mehren: function Maximum


16. Was passiert, wenn man bei der von uns behandelten Prozedur TAUSCHE das Schlüsselwort VAR in der Kopfzeile weglässt?

Ohne var würde die Prozedur nicht funktionieren
--> Fehlermeldung


17. Wie kann man eine Funktion in eine gleichnamige Prozedur umwandeln? Was ändert sich am Aufruf der Prozedur gegenüber dem Aufruf der Funktion?

Zum Beispiel so

function max (Z1,Z2:real):real;
begin
If Z1>Z2
Then max:= Z1
Else max:= Z2
end;

ZU

procedure max (Z1,Z2:real;var e:real);
begin
If Z1>Z2
Then e:= Z1
Else e:= Z2
end;


18. Wie kann man den Wert von zwei Variablen tauschen?

begin
Hilf:=Z1;
Z1:=Z2;
Z2:=Hilf;
end;
14.2.07 10:54
 


bisher 0 Kommentar(e)     TrackBack-URL

Name:
Email:
Website:
E-Mail bei weiteren Kommentaren
Informationen speichern (Cookie)



 Smileys einfügen




























Gratis bloggen bei
myblog.de