test12_3 - oth

Werbung
Hochschule Regensburg
Terminierung und Determinierung,
Applikative und Imperative Algorithmen
Test Nr. 12_3
Spezielle Algorithmen
Name: ________________________
Lehrbeauftragter: Prof. Sauer
Vorname: _____________________
1. Wann heißt ein Algorithmus terminierend? __________________________________________
______________________________________________________________________________
2. Was bedeutet determinierter Ablauf eines Algorithmus? _______________________________
______________________________________________________________________________
3. Wann wird ein determiniertes Ergebnis von Algorithmen geliefert? _______________________
______________________________________________________________________________
______________________________________________________________________________
4. Welche Paradigma werden in der Informatik diskutiert?
______________________________________________________________________________
______________________________________________________________________________
5. Was versteht man unter einem Algorithmenparadigma? _______________________________
______________________________________________________________________________
6. Was versteht man unter einem objektorientiertem Paradigma? __________________________
______________________________________________________________________________
______________________________________________________________________________
7. Welche grundlegenden Algorithmen-Paradigmen sind bekannt?
- _____________________________________________________________________________
_____________________________________________________________________________
- _____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
1
8. Zeige, wie in Java bzw. in C++ jeweils die Fakultät bzw. der größte gemeinsame Teiler
a) in der Form eines applikativen Algorithmus
b) in der Form eines imperativen Algorithmus
implementiert werden kann.
Fakultätsberechnung
a) ________________________________________
_________________________________________
_________________________________________
_________________________________________
b) ________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
Größter gemeinsamer Teiler
a) ________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
b) ________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
2
Fachhochschule Regensburg
Terminierung und Determinierung,
Applikative und Imperative Algorithmen
Test Nr. 12_2 (Lösung)
Algorithmen und Datenstrukturen
Name: ________________________
Lehrbeauftragter: Prof. Sauer
Vorname: _____________________
1. Wann heißt ein Algorithmus terminierend? Ein Algorithmus heißt terminierend, wenn er (bei jeder
erlaubten Eingabe von Parameterwerten) nach endlich vielen Schritten abbricht
2. Was bedeutet determinierter Ablauf eines Algorithmus? Der Algorithmus legt eine eindeutige
Vorgabe der Schrittfolge der auszuführenden Schritte fest.
3. Wann wird ein determiniertes Ergebnis von Algorithmen geliefert? Ein determiniertes Ergebnis wird
von Algorithmen dann geliefert, wenn bei vorgegebener Eingabe ein eindeutiges Ergebnis geliefert
wird, auch bei mehrfacher Ausführung des Algorithmus (natürlich mit denselben Eingabeparametern)
4. Welche Paradigma werden in der Informatik diskutiert?
- Algorithmenparadigma
- objektorientiertes Paradigma
5. Was versteht man unter einem Algorithmenparadigma? Ein Algorithmenparadigma legt die
Denkmuster fest, die einer Beschreibung eines Algorithmus zugrunde liegen.
6. Was versteht man unter einem objektorientiertem Paradigma? Das ist ein Paradigma zur
Strukturierung von Algorithmen, das sowohl mit applikativen, imperativen und logischen Konzepten
zusammen eingesetzt werden kann.
7. Welche grundlegenden Algorithmen-Paradigmen sind bekannt?
- Applikative Algorithmen sind eine Verallgemeinerung der Funktionsauswertung mathematisch
notierter Funktionen. In ihnen spielt die Rekursion eine wesentliche Rolle
- Imperative Algorithmen basieren auf einem einfachen Maschinenmodell mit gespeicherten und
änderbaren Werten (basiert auf den Konzepten Anweisungen und Variablen). Hier werden primär
Schleifen und Alternativen als Kontrollbausteine eingesetzt.
8. Zeige, wie in Java jeweils die Fakultät bzw. der größte gemeinsame Teiler
c) in der Form eines applikativen Algorithmus
3
d) in der Form eines imperativen Algorithmus
implementiert werden kann.
Fakultätsberechnung
a) public static int fak(int n)
{
if (n == 0) return 1;
else return n*fak(n-1);
}
b) public static int fakIt(int n)
{
int y = 1;
while (n > 1)
{
y = y * n;
n--;
}
return y;
}
Größter gemeinsamer Teiler
a) public static int ggt(int x, int y)
{
if (y == 0) return x;
else return ggt(y,x % y);
// damit ist auch die Funktion endrekursiv
}
b) public static int ggtIt(int a, int b)
{
while (a != b)
if (a > b) a -= b; else b -= a;
return a;
}
4
Zugehörige Unterlagen
Herunterladen