hey ich hoff mir kann da jemand helfen, wir müssen für die uni informatik machen und ich blicks auf keinem auge.. die programiersprache ist ada und des programm sieht aus wie folgt:
1 with Ada.Integer Text IO;
2 with Ada.Text IO;
3
4 procedure Tu Was Mit Einem Array is
5
6 type Boolean Array is array(Positive range <>) of Boolean;
7
8 function Berechne Array (G: Integer) return Boolean Array is
9 My Array : Boolean Array (2..G) := (others => False);
10 begin
11 for I in 2..G / 2 loop
12 for J in 2.. G / I loop
13 My Array (I * J) := True;
14 end loop;
15 end loop;
16 return My Array;
17 end Berechne Array;
18
19 procedure Put (To Put : Boolean Array) is
20 begin
21 for I in To Put'range loop
22 if not To Put (I) then
23 Ada.Integer Text IO.Put (I);
24 Ada.Text IO.New Line;
25 end if;
26 end loop;
27 end Put;
28
29
30 Grenze: Integer;
31
32 begin
33 Ada.Text IO.Put ("Gib die Grenze ein: ");
34 Ada.Integer Text IO.Get (Grenze);
35 Ada.Text IO.Put Line ("Ergebnis: ");
36 Put (Berechne Array (Grenze));
37 end Tu Was Mit Einem Array;
a) [3 Punkte] Was genau macht die Procedure Put (Zeile 19-27)?
b) [2 Punkte] Was wird in Zeile 9 deniert?
c) [5 Punkte] Die geschachtelten For-Schleifen (Zeile 11-15) setzen einige Stellen
des Feldes auf den Wert True. Welche Stellen werden auf True gesetzt?
d) [2 Punkte] Welche Stellen sind nach dem Ausfuehren der geschachtelten For-
Schleifen aus Aufgabenteil c) noch mit demWert False gefuellt? Was berechnet
und gibt das Programm also aus?
also ich hab durch ausprobieren rausbekommen, dass das programm alle primzahlen bis zu der angegebenen Grenze anzeigt, aber trotzdem komm ich nich wirklich weiter!
Bitte um Hilfe , bin echt am verzweifeln!!
Edit: Hab nun Zeilenangaben
1 with Ada.Integer Text IO;
2 with Ada.Text IO;
3
4 procedure Tu Was Mit Einem Array is
5
6 type Boolean Array is array(Positive range <>) of Boolean;
7
8 function Berechne Array (G: Integer) return Boolean Array is
9 My Array : Boolean Array (2..G) := (others => False);
10 begin
11 for I in 2..G / 2 loop
12 for J in 2.. G / I loop
13 My Array (I * J) := True;
14 end loop;
15 end loop;
16 return My Array;
17 end Berechne Array;
18
19 procedure Put (To Put : Boolean Array) is
20 begin
21 for I in To Put'range loop
22 if not To Put (I) then
23 Ada.Integer Text IO.Put (I);
24 Ada.Text IO.New Line;
25 end if;
26 end loop;
27 end Put;
28
29
30 Grenze: Integer;
31
32 begin
33 Ada.Text IO.Put ("Gib die Grenze ein: ");
34 Ada.Integer Text IO.Get (Grenze);
35 Ada.Text IO.Put Line ("Ergebnis: ");
36 Put (Berechne Array (Grenze));
37 end Tu Was Mit Einem Array;
a) [3 Punkte] Was genau macht die Procedure Put (Zeile 19-27)?
b) [2 Punkte] Was wird in Zeile 9 deniert?
c) [5 Punkte] Die geschachtelten For-Schleifen (Zeile 11-15) setzen einige Stellen
des Feldes auf den Wert True. Welche Stellen werden auf True gesetzt?
d) [2 Punkte] Welche Stellen sind nach dem Ausfuehren der geschachtelten For-
Schleifen aus Aufgabenteil c) noch mit demWert False gefuellt? Was berechnet
und gibt das Programm also aus?
also ich hab durch ausprobieren rausbekommen, dass das programm alle primzahlen bis zu der angegebenen Grenze anzeigt, aber trotzdem komm ich nich wirklich weiter!
Bitte um Hilfe , bin echt am verzweifeln!!
Edit: Hab nun Zeilenangaben
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von killakorbi ()