MezData-Logo Lösungen Button :PI-BASIS: Klassenarbeit 2 Musterlösung: Aufgabe 2 Programmanalyse

Hinweis:  n%i ist der Modulo-Operator (mod) und gibt den Rest einer Division n/i aus.

boolean p(int n){
  if (n==0||n==1) return true;
  for (int i=2;i<n;i++)
    if (n%i==0) return false;
  return true;
}

void ButtonClick(){ // Anfang
  Ausgabe(p(0)); 
  Ausgabe(p(2));
  Ausgabe(p(3));
  Ausgabe(p(4));
  Ausgabe(p(5));
}                   // Ende
Anweisung Kommentare Berechnungen Punkte
  Anfang    
Ausgabe(p(0)); Ausgabe(true)
Anweisung Kommentare n i
    0 -
if (n==0||n==1) true    
return true; true zurückgeben    
 
Ausgabe(p(2)); Ausgabe(true)
Anweisung Kommentare n i
    2 -
if (n==0||n==1) false 2 -
int i=2;   2 2
i<n false 2 2
return true; true zurückgeben    
2
Ausgabe(p(3)); Ausgabe(true)
Anweisung Kommentare n i
    3 -
if (n==0||n==1) false 3 -
int i=2;   3 2
i<n true 3 2
if (n%i==0) false 3 2
i++;   3 3
i<n false 3 3
return true; true zurückgeben    
2
Ausgabe(p(4)); Ausgabe(false)
Anweisung Kommentare n i
    4 -
if (n==0||n==1) false 4 -
int i=2;   4 2
i<n true 4 2
if (n%i==0) true 4 2
return false; false zurückgeben    
2
Ausgabe(p(5)); Ausgabe(true)
Anweisung Kommentare n i
    5 -
if (n==0||n==1) false 5 -
int i=2;   5 2
i<n true 5 2
if (n%i==0) false 5 2
i++;   5 3
i<n true 5 3
if (n%i==0) false 5 3
i++;   5 4
i<n true 5 4
if (n%i==0) false 5 4
i++;   5 5
i<n false 5 5
return true; true zurückgeben    
2
  Ende    

Hinweis: GZ = Ganze Zahl (auch OK ist Integer oder int)

nach Strukturierte Programmentwicklung (ABI) nach EasyCode
Funktion p(n : GZ) : Boolean

Lok. Var.: i : GZ

a) Struktogrammdarstellung 7
b) Berechnungen 8
c) p(n) ist true, wenn n eine Primzahl ist, sonst false 2
d) p(107) = true 1
e) p(111) = false 1

Zu Aufgabe 3