KLAUSUR Flashcards
HARDWARE
Gesamtheit aller technischen Geräte eines Informationsverarbeitenden Systems (eines Computers). Als physische, materielle Teile NICHT kopierbar oder veränderbar.
KOMPONENTEN DER HARDWARE
- PROZESSOR: mit Registern, in denen Zahlenwerte gespeichert und vom Prozessor verändert werden können
- ARBEITSSPEICHER / PRIMÄRSPEICHER: Darstellung außerhalb der Register
- BUSSE (LEITUNGEN)
EIN/AUSGABE VON DATEN; PERIPHERIEGERÄTE: - Tastatur, Maus, Bildschirm, Drucker, Sekundärspeicher, Netzwerkinterface, Verbindungsleitungen
SOFTWARE
Gesamtheit aller Programme, die auf einer Rechenanlage eingesetzt werden können, samt der dazugehörigen Daten. Können Änderungen der Werte in den Registern und im Arbeitsspeicher der Zentraleinheit bewirken.
LEICHT veränderbar und kopierbar.
PROGRAMM
Text (Code), der einen Algorithmus formuliert, so dass er maschinell ausgeführt werden kann
ALGORITHMUS
Eine Folge von Anweisungen, die Eingabedaten in Ausgabedaten überführt
IN JEDE EINGABE VOM ALGORITHMUS MUSS EINDEUTIG FESTSTEHEN
- Welche Anweisung wird zuerst ausgeführt?
- Welche Anweisung folgt aus eine gerade ausgeführte?
- Wann ist der Algorithmus beendet?
PROZESS (TASK)
Ein gestartetes Programm, das gerade von einem Rechner ausgeführt wird
BETRIEBSSYSTEM
Basissoftware, die den Betrieb eines Rechners ermöglicht. Übernimmt Aufgaben wie Steuerung der Hardware, Speicherverwaltung, Verwaltung der Prozesse, Nutzerverwaltung, Kommunikation mit Benutzern
CHARAKTERISTIKA MODERNER BETRIEBSSYSTEME
- Multiprogramming
- Multitasking
- Multiuser
- Multiprozessing
- Netzwerkbetriebssysteme
LAN (LOCAL AREA NETWORK) ZWECK
Gemeinsame Nutzung von Betriebsmitteln
SERVER
Prozesse, die Betriebsmitteln bereitstellen
CLIENTS
Prozesse, die die Betriebsmitteln nutzen
VARIABLEN
Haben einen Namen und dienen zum Merken von Werten. Werte können durch Anweisungen verändert werden.
KOLLEKTIONEN
Spezielle Variablen zum Merken einer Vielzahl von Werten.
WERTE
Mögliche Werte gehören zu einem Datentyp.
Datentypen sind bestimmt durch eine Menge von gültigen Werten (Wertebereich), Operationen auf diesen Werten.
Zugriff auf einzelne Werte über einen Index: L[index]
| L | = Länge einer Liste
MODELL
Repräsentiert einen Realitätsausschnitt und Beschränkung auf relevante Aspekte der Realität. Abstraktion und dient immer einem Zweck.
BRUTE FORCE ALGORITHM
Oft erste Idee, direkt an Definition des Modells orientiert. Systematisches Durchprobieren aller Möglichkeiten. Einfach zu beschreiben, aber oft sehr ineffizient.
PROZEDUREN
Lösen oft typische Aufgabenstellungen bei der Programmierung. Eignen sich, in demselben oder anderen Programmen wiederverwendet zu werden. Können in einem Programm oder in einer Programm-Bibliothek verwaltet werden.
PROZEDURALE PROGRAMMIERUNG
Erlaubt es Programmen, definierte Prozeduren aufzurufen.
FUNKTIONEN
Prozeduren mit Rückgabewert
ITERATION
Wiederholter Aufruf der Funktion in einer Schleife, wobei die Ausgabe des letzten Aufrufs als Eingabe des nächsten Aufrufs verwendet wird
REKURSION
Definition der Funktion enthält Selbstaufruf mit anderer Parameterliste. Für einen festen Wet wird das Ergebnis vordefiniert.
TAXONOMIE VON PROGRAMMIERSTILEN
- IMPERATIVER STIL
Programm legt fest, wie gerechnet wird. Befehlsfolge. Prozedurale und objektorientierte Programmierung. - DEKLARATIVER STIL
Programm legt fest, was berechnet wird. Rechenweg wird vom Laufzeitsystem festgelegt. Funktionale und logische Programmierung.
LAUFZEITSYSTEM
Sammlung von Prozeduren, die den Ablauf von Programmen ermöglichen.
IMPERATIVER STIL: PROZEDURALE PROGRAMMIERUNG
Definition von Prozeduren als Folge von Befehlen. Aufruf von Prozeduren durch Prozeduren. Funktionen als Prozeduren mit Rückgabewert.
Sprache: Pascal, C, Cobol.
IMPERATIVE STIL: OBJEKTORIENTIERTE PROGRAMMIERUNG
Weiterentwicklung der prozeduralen Programmierung. Zuordnung von Funktionen zu den Datenobjekten, die sie manipulieren. (Methoden zu Objekten).
Sprachen: Java, C#, Smalltalk.
DEKLARATIVER STIL: FUNKTIONALE PROGRAMMIERUNG
Intuitiver Algorithmus-Begriff - Abbildung von Eingabedaten auf Ausgabedaten, maschinell ausführbar. Prozeduraufrufe durch Komposition von Funktionen.
Sprachen: LISP, Scheme, ML, Caml.
DEKLARATIVER STIL: LOGISCHE PROGRAMMIERUNG
Definition von Fakten / Axiomen und Regeln als Wissensbasis. Beantwortung von Anfragen durch Anwendung der Regeln auf Axiome nah den Prinzipien der mathematischen Logik.
AXIOM: Wahre Aussage.
COMPILER
Übersetzung des gesamten Programms von der Ausführung und (meist) Speichern der Übersetzung in neuer Datei. Ausführung des übersetzten Programms.
INTERPRETER
Übersetzung zeilenweise. Unmittelbare Ausführung nach der Übersetzung (Zeile für Zeile).
UNGERICHTETER GRAPH
Ein Paar G = (V,E), wobei V eine endliche Menge von Knoten und E eine Menge von ungeordneten Paaren (Zweiermengen) von Knoten ist.
GERICHTETER GRAPH
Ein Paar G = (V,E), wobei V eine endliche Menge von Knoten und E eine Menge von geordneten Knotenpaaren ist: E subset of V x V.
VORTEILE VON OO-PROGRAMMIERUNG
- Besonderheiten der Programmiersprachen können versteckt werden (klare, einfache Schnittstellen und einfache Wiederverwendbarkeit)
- Nähe zum Problembereich (valide Software)
- Vorteile offenbaren sich am besten bei großen Softwareprojekten
CURRYING
Überführung mehrstelliger in einstellige Funktionen
ASSEMBLERSPRACHE
Befehlssprache für eine Prozessor-Architektur (textliche Beschreibung der Befehlsfolge, abhängig von der Prozessor-Architektur). Benutzen Befehle, die der Prozessorsteuerung dienen. Weniger abstrakt, näher an der Technik. Unübersichtlicher, größere Fehlergefahr.
HOCHSPRACHEN
Benutzen Abstraktionen, die dem algorithmischen Denken entsprechen
MASCHINENSPRACHE
Binär kodierte Beschreibung der Befehlsfolge, Bytes oder Byte-Sequenzen kodieren sowohl Befehle eines konkreten Prozessors als auch Daten
DATENTYP
Eine Wertemenge mit darauf definierten Operationen.
SIND ALLE PROBLEME ALGORITHMISCH LÖSBAR?
Nein, die meisten Funktionen sind nicht berechenbar. Es gibt (deutlich) mehr Funktionen als Algorithmen. Es gibt (nur) abzählbar unendlich viele Algorithmen.
Es gibt aber überabzählbar viele Funktionen.
ABZÄHLBAR UNENDLICH
Eine Menge M ist abzählbar unendlich, wenn sie gleichmächtig zur Menge N der natürlichen Zahlen ist.
(Die Menge N + Z)
GLEICHMÄCHTIG
Zwei Mengen A und B heißen gleichmächtig, A ~ B, wenn es eine eindeutige Abbildung von A auf B gibt.
ÜBERABZÄHLBAR UNENDLICH
Menge R der reellen Zahlen.
ENTSCHEIDBARES PROBLEM
Eingabe: natürliche Zahl n
Ausgabe: 1, wenn n Primzahl, dann 0
UNENTSCHEIDBARES PROBLEM
Eingabe: Programm und Funktion
Ausgabe: Berechnet das Programm die Funktion?
-
Eingabe: Zwei Programme
Ausgabe: Berechnen die Programm dieselbe Funktion?