Kontrollfragen 3

1. Wir haben eine Möglichkeit kennen gelernt, eine Grafik auf einen Knopf vom Typ TBitBtn zu erzeugen. Nennen Sie diese Möglichkeit!

kind


2. In welchem Bereich werden Zufallszahlen durch die folgenden Zeilen erzeugt?
a) Zfz:= Random (20)+10;
b) Zfz:= Random (10)+20;
c) Zfz:= Random (55)+44;
d) Zfz:= Random (33)-62;

a) 10 bis 29
b) 20 bis 29
c) 44 bis 98
d) -62 bis -30

3. Durch welchen Quelltext erzeugt man ganzzahlige Zufallszahlen in folgenden Bereichen und weist sie der Variablen Zfz zu?

a) von 20 bis 40
Zfz:=Random (21)+20
b) von 50 bis 100
Zfz:=Random (51)-50
c) von -5 bis 5
Zfz:=Random (11)-5
d) von -30 bis -15
Zfz:=Random (16)-30

4. Was versteht man unter einer lokalen Variablen? Was ist ihr Gültigkeitsbereich und wo kann man sie deklarieren?

Variable in Prozedur und diese vor beginn einstellen

5. Was versteht man unter einer globalen Variablen? Was ist ihr Gültigkeitsbereich und wo kann man sie deklarieren?

Variable der gesamten Anwendung und vor der implementation eingeben (bevor prozedur begonnen wird)

6. Nennen Sie mindestens 4 vordefinierte Farbkonstanten mit ihrer deutschen Bedeutung!

clYellow bedeutet gelb
clGreen bedeutet grün
clRed bedeutet rot
clPurple bedeutet lila

7. Wie kann man die Schriftfarbe eines Labels/Panels zur Laufzeit ändern?

Label.font.color:=clred;

8. Wie kann man die Schriftgröße eines Labels/Panels zur Laufzeit ändern?

Label.font.size:=12;

9. Nennen Sie ein Ereignis, das jeweils beim Start des Programms auftritt. Wie kann man eine Ereignisbehandlungsroutine für dieses Ereignis erzeugen?

Ereignis oncreate (auf eine freie Fläche im Formblatt doppelklicken)

10. Wie kann man den Text in einem Edit-Feld zur Laufzeit löschen?

FEdit.Text:=’ ’;

11. Wie kann man die Ausgabe auf einem Panel zur Laufzeit löschen?

AusgabePanel.caption:=’ ’;

12. Wenn eine bestimmte Bedingung erfüllt ist, sollen 3 Anweisungen ausgeführt werden. Wie kann man das erreichen?

If Bedingung
THAN begin
Anweisung1;
Anweisung2;
Anweisung3
End;

13. Wie kann der Fokus zur Laufzeit auf ein Edit-Feld gelenkt werden?

FeldEdit.Setfocus;

14. Wie kann der Fokus zur Laufzeit auf ein Label gelenkt werden?

Feld.Label.Setfocus;

15. Wie kann man erreichen, dass in einem Programm durch Aufruf der Funktion Random wirklich zufällige Zufallszahlen erzeugt werden?

oncreate
randomize;

16. Beschreiben Sie einen Weg, wie man mit möglichst wenigen Versuchen eine Zufallszahl in einem bestimmten Bereich ermitteln kann. Wie viele Versuche benötigt man nach dem von Ihnen genannten Verfahren maximal, um eine Zahl im Bereich von 100, 1000, 2000 bzw. 10000 Zahlen richtig zu erraten? Begründen Sie Ihre Aussage!

Man benötigt möglichst wenig Versuche, wenn man den Mittelwert der gegebenen Zahl ermittelt.
Bei 100 maximal 8
Bei 1000 maximal 12
Bei 2000 maximal 12
Bei 10000 maximal 15

17. warum ist es sinnvoll, ein Programm strukturiert aufzuschreiben?

Es ist dadurch übersichtlicher

18. Welche Regeln zur Strukturierung von Programmen kennen Sie?

- Anweisungen die zusammengehören werden eingerückt (besser erkennbar wann Einheit beginnt und endet)
- dadurch lassen sich auch Wörter wie BEGIN und END besser finden
- auch für bessere Lesbarkeit und schnellere Fehlersuche

Für die nächsten 4 Aufgaben soll der folgende Sachverhalt gelten: In einem Programm ist eine globale Variable mit Namen ZAHL deklariert. In einer Prozedur (Button1Click) wurde auch eine Variable mit Namen ZAHL deklariert, eine zweite Prozedur (Button2Click) enthält keine Variable mit Namen ZAHL.

20. Wie ändert sich der Wert der globalen Variablen ZAHL, wenn der Inhalt der Variablen ZAHL in der Prozedur Button1Click auf den Wert 20 gesetzt wird?

Das Ende einer Prozedur wird mit end gekennzeichnet und die lokale Variable wird nur in einer Prozedur verändert, d.h. keine andere Prozedur verändert sich.

21. Wie ändert sich der Wert der globalen Variablen ZAHL, wenn der Inhalt der Variablen ZAHL in der Prozedur Button2Click auf den Wert 50 gesetzt wird?

Der Wert ändert sich nur in der Prozedur wenn diese aufgerufen wird.

22. Wie ändert sich der Wert der lokalen Variablen ZAHL in der Prozedur Button1Click, wenn der Inhalt der globalen Variablen ZAHL auf den Wert 100 gesetzt wird?

Wenn in beiden Prozeduren der Wert gesetzt wird ist das ein Fehler, da alle unterschiedliche Namen erhalten sollten. Die lokale Variable passt sich der globalen Zahl an, d.h. sie bekommen beide den gleichen Wert.

23. Wie ändert sich der Wert der Variablen ZAHL in der Prozedur Button2Click, wenn der Inhalt der globalen Variablen ZAHL auf den Wert 100 gesetzt wird?

In dem Button2Click gibt es keine Zahl, d.h. nur die globale verändert sich.

21.11.06 13:24, kommentieren