Begriffsdefinitionen Flashcards
Was versteht man unter einem Algorithmus?
Darunter versteht man allgemein eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten. eine bestimmte Art von Problemen umfasst eine Klasse von gleichartigen Problemen.
Wie lautet die Definition für einen Geschäftsprozess?
Dabei handelt es sich um eine zusammengehörende Abfolge von Unternehmens Verrichtungen zum Zweck einer Leistungserstellung. Der Zweck der Leistungserstellung liegt in einer Sach -oder Dienstleistung. Diese kann von einem externen Kunden oder einen internen Kunden abgenommen werden.
Was versteht man unter einem Programm?
Es ist die Darstellung eines Algorithmus in einer für die Aufgabenstellung geeigneten Programmiersprache.
Was versteht man unter einer Programmiersprache?
Es ist ein Darstellungsmittel für einen Algorithmus, dessen Aktionen über die Formulierung direkt in die Maschinensprache des Rechners übertragen werden kann.
Welche drei grundlegenden Eigenschaften haben Algorithmen?
- Endlich: Beschreibung des Algorithmus ist endlich.
- Allgemein gültig: Lösung einer Klasse von Problemen mit gleicher logischer Struktur.
- Deterministisch: in jeder Stufe des Algorithmus muss der nächste Schritt eindeutig bestimmt sein.
Was versteht man unter prozeduraler Programmierung?
Es ist ein bestimmter Ansatz (Programmierparadigma) zum Aufbau von Rechnerprogrammen. Dabei werden Algorithmen schrittweise verfeinert, bis hin zu kleinsten und unteilbaren Schritten, welche als eine Folge von Anweisungen bezeichnet werden.
Welche andere Paradigmen für Programmierungen neben der prozeduralen Programmierung gibt es?
- Ergebnisorientierte Programmierung (in Kombination)
- OOP (Basis von OOS)
Welche Eigenschaften hat die prozedurale Programmierung?
- Programmierung im Kleinen
- Auf der Vorarbeit der Algorithmierung basierende Programmierung
- Algorithmus wird als letzte Stufe der Verfeinerung in einer Programmiersprache notiert
- Programmiersprache: Sprache der 3. Generation (z.B. Basic, Pascal,
Welche Konstruktionsprinzipien gibt es beim Algorithmus?
- Prinzip der schrittweisen Verfeinerung
- Top-Down-Entwicklung
- Nutzung von wenigen Ablaufstrukturen (Kontrollstrukturen)
- Strukturierte Programmierung (defensiv Ansatz, Transparenz statt Undurchsichtigkeit)
- Bewertung von Algorithmen durch die Zeitkomplexität
Was versteht man unter dem Prinzip der schrittweisen Verfeinerung?
Die Aufteilung einer großen, komplexen Aufgabe in kleinere Teilschritte, die wiederum wieder in kleineren Teilschritte aufgeteilt werden, usw. Dieser Vorgang wird so lange durchgeführt, bis die Teilschritte in der gewählte Programmiersprache ausgedrückt werden können.
Was versteht man unter der so genannten Top-Down-Entwicklung?
Teilschritte werden nach zeitlicher Abfolge in einer Baumstruktur angeordnet. Eine Ebene darunter wird jeder Teilschritt wiederum in kleinere Teilschritte aufgeteilt. Somit beschreibt jede Ebene für sich allein das Problem, jedoch unterschiedlich detailliert.
Was umfasst die Ablaufsteuerung?
Verschiedene Formen des Zusammenhangs einzelner Lösungsschritte:
- Sequenz (Aufeinanderfolge)
- Iteration (Wiederholung)
- Alternative (alternative Ausführung abhängig von Bedingungen)
Was besagt das Prinzip der beschränkten Ablaufsteuerung?
Programme sollten so einfach und übersichtlich wie möglich gestaltet sein, um eine bessere Wartung und Pflege zu ermöglichen.
Welche Zeit Komplexität für einen Algorithmus gibt es?
- logarithmische Komplexität (am besten)
- polynomiale Komplexität (durchführbar)
- exponentielle Komplexität (nicht akzeptabel)
Welche Darstellungsformen gibt es für Algorithmen?
- Pseudocode
- Programmablaufpläne (PAP)
- Struktogramm
Was versteht man unter einem Pseudocode?
Eine verbale, umgangssprachliche Formulierung der einzelnen Lösungsschritte. Er ist nicht standardisiert, ähnelt der Optik des Codes, ist aber nicht vom Rechner interpretierbar.
Was versteht man unter Programmablaufplänen?
Darstellung der logischen Aufeinanderfolge der einzelnen Bearbeitungsschritte mittels grafischer Symbole. Wird auch Flussdiagramm genannt.
Welche Probleme bestehen bei Programmablaufplänen?
- Oft unübersichtlich, aufgrund vieler Verzweigungen und Vor-/Rückwärtssprüngen
- Zerlegbarkeit oft sehr schwierig
- Schlechte Änderungsfähigkeit/Wartbarkeit der Programme
Was versteht man unter einem Struktogramm?
Eine grafische Darstellung von strukturierten Programmen. Es handelt sich um meine konsequente Verbindung des Blockkonzepts mit den drei Strukturen Sequenz/Iteration/Alternative.
Welche Eigenschaften haben die Strukturblöcke beim Struktogramm?
- fassen inhaltlich zusammenhängende Lösungsschritte zusammen
- Jeder Blog hat genau einen Eingang und einen Ausgang
- Beziehung zwischen 2 Blöcken:
• völlig unabhängig
• völlig abhängig (Block ist vollständig in anderem Block enthalten)
• teilweise Überlappung von Blöcken nicht möglich
Was versteht man unter dem Strukturelement Sequenz?
Eine einfache Reinigung von Strukturblöcken.
Was versteht man unter dem Strukturelement Iteration?
Die mehrfache Ausführung eines gewissen Strukturblocks in Abhängigkeit von einer bestimmten Bedingungen, wobei sich die steuernden Parameter ändern müssen.
Was versteht man unter einer kopfgesteuerten Iteration?
Es handelt sich hierbei um eine Wiederholung mit vorausgehender Bedingungsprüfung. Die Prüfung einer Bedingung erfolgt vor jedem Durchlauf. Nur bei Erfüllung der Bedingung wird der Strukturblock ausgeführt.
Was zeichnet ein fußgesteuerte Iteration aus?
Hierbei handelt es sich um eine Wiederholung mit nachfolgender Bedingungsprüfung. Zuerst wird der Strukturblock ausgeführt, dann wird die Bedingung geprüft. Bei Nichterfüllung der Bedingung wird der Strukturblock erneut ausgeführt.
Was versteht man unter dem Strukturelement Alternative?
Es beschreibt die bedingte Durchführung von Strukturblöcken in Abhängigkeit von Bedingungen.
–> Wenn Bedingung erfüllt dann Block1 sonst Block2. Bei Verschachtelung besteht die Gefahr, dass sich Bedingungen nicht mehr ausschließen. Liegt eine Mehrfachalternative vor, so spricht man von einer Mehrfachverzweigung.
Was versteht man unter rekursiven Algorithmen?
Algorithmen heißen rekursiv, wenn sie sich selbst aufrufen. Dabei gilt das Prinzip „Teile und herrsche”:
1. kleine Datenmenge oder einfache
–> Problem wird durch einfache Operationen gelöst
2. große/komplizierte Datenmenge
–> Zerlegung in kleinere/einfachere Datenmengen
3. eventuelle Wiederholung von 2.
Es muss darauf geachtet werden, dass rekursive Algorithmen endlich sind um Dauerschleifen zu verhindern.
Welche Elemente haben Programmiersprachen?
- Variablen: Darstellung von veränderlichen Objekten
- Datentypen: Beschreibung der Eigenschaften der Objekte
- Operatoren: Ausführung zulässiger Operationen, wie Eingabe, Verarbeitung, Speicherung, Ausgabe
- Kontrollstrukturen: Darstellung der Aufeinanderfolge einzelner Schritte/Blöcke