WS 98/99                                            Grundlagen der Informatik I                                                              Übungsblatt 6
                                                            Prof. Dr. Eggenberger



 
 

Aufgabe 23

Gegeben sei folgendes Pacal-Programm:

program test;
var y, z, y1, x2: integer;
procedure test1;
  var y: integer;
  procedure test2;
  var x, y, z: integer;
  begin x :0 x2; y := x+x; z := y+1; ausgeben(x);
	ausgeben(y); ausgeben(z); end;
  begin y := y1; z := y+1; ausgeben(z); test2;
	ausgeben(y); ausgeben(z); end;
begin;
y :=5; z := 5; y1 := 5; x2 := 5; test1; ausgeben(y); ausgeben(z);
y :=1; z := 2; y1 := 3; x2 := 4; test1; ausgeben(y); ausgeben(z)
end.

Welche Lebensdauer und Gültigkeitsbereiche haben die Variablen x, y und z.
Welche Ausgaben erzeugt das Programm bei folgenden Eingaben:

 

Hauptprogramm

y

z

test1

y

test2

x

a)

 

5

5

 

5

 

5

b)

 

1

2

 

3

 

4


 

 

Aufgabe 24

Schreiben Sie ein Pascal-Programm, da eine quadratische Matrix mit 7 Zeilen und Spalten so initialisiert, daß mit Ausnahme der Werte auf den Diagonalen alle Werte 1 sind. Die Werte auf den Diagonalen sollen 0 sein. Anschließend ist die Matrix auszugeben.

 

Aufgabe 25

Ein Skatblatt besteht aus 32 Karten. Die Karten eines Skatspiels haben eine Spielfarbe (Karo, Herz, Pik, Kreuz), einen Spielwert (sieben, acht, neun, Bube, Dame, König, zehn, As) und eine Punktezahl (sieben, acht, neun = 0, Bube = 2, Dame = 3, König = 4, zehn = 10, As = 11). Deklarieren Sie in Pascal einen Datentyp Spielkarte, der die Spielfarbe, den Spielwert und die Punktezahl einer Karte beinhaltet.

 

Aufgabe 26

Welche Ausgabe erzeugt das folgende PASCAL-Programm?

program rek;
   function WasKommtRaus(x: integer): integer;
   begin
	if x > 0
	then WasKommtRaus := WasKommtRaus(x-5)
	else WasKommtRaus := 0;
   end;
begin
   ausgeben(WasKommtRaus(17));
end.