Grundgebiete der Informatik
1. Semester Wirt. Ing. RWTH AACHEN
1. Semester Wirt. Ing. RWTH AACHEN
-
- 1 / 121
-
Lernkarten
Definition von Informatik (Computer Science)
Informatik ist die Wissenschaft, die sich mit der Entwicklung und Nutzung von Computersystemen beschäftigt.
Nenne zwei Vorteile von höheren Programmiersprachen gegenüber dem Maschinencode
Definiere Imperative Sprachen
konkrete Beschreibung eines Algorithmus als Folge von Anweisungen (Beispiel C oder PASCAL)
Definiere Deklarative Sprachen
Beschreibung eines erwünschten Programmverhaltens, konkrete Umsetzung erfolgt teilweise durch den Compiler und Laufzeitsystem (LISP oder Prolog)
Definiere Objektorientierte Sprachen
Zusammenfassung von Algorithmen und Daten zu Objekten, dadurch einfachere Programmwartung (C++ und JAVA)
Nenne die sechs Schritte für den Software Life Cycle
1. Problem (-> Analyse + Definition)
2. Spezifikation (-> Implementierung)
3. Dokumentiertes Programm (-> Test)
4. Modifiziertes Programm (-> Installation)
5. Software Produkt (-> Wartung und Kundensupport)
6. Verschrottung
Erkläre Algorithmus
- Abstrakte Handlungsanweisung, um ein Problem zu lösen
- Ausgabe als Funktion der Eingabe
- endlicher Zeit, eindeutig und deterministisch
Erkläre Programm
Codierung eines Algorithmus in Programmiersprache
Erkläre Datenstruktur
- Mathematisches Objekt zur Speicherung von Daten
- angeordnet und zusammengefasst
Nenne die drei Kriterien für einen Algorithmus
Erkläre Bibliotheken (Libraries)
Von vielen Programmen häufig wiederverwendeter Code wird in Bibliotheken abgelegt
- keine selbst ausführbaren Programme / sondern Funktionen die abgerufen werden
Erkläre Schleifen
Code wird so lange wiederholt, bis die Bedingung nicht mehr erfüllt ist
Nenne die zwei Parameter, welche stets der printf Funktion übergeben werden.
1. die Art der Ausgabe der Daten (ganzzahlig, Fließkomma)
2. die auszugebenen Daten
Erkläre C-Präprozessor
Der C-Präprozessor läuft vor dem Compiler über den Quellcode
- cpp-Anweisung #..
- cpp-Verwendung erhöht die Lesbarkeit
Nenne zwei Arten von fehlerhaften Programmen
Möglichkeit 1: Programm entspricht nicht dem C Standard (Compiler findet die Fehler)
Möglichkeit 2: Programm ist gültig, führt aber nicht die gewünschte Funktion aus (Debugging)
Definition Datentyp
Ein Datentyp (DT) ist eine Menge von Werten und eine Sammlung von Operationen auf diesen Werten.
Definition abstrakter Datentyp
Ein abstrakter Datentyp (ADT) ist ein Datentyp der nur über eine Schnittstelle zugänglich ist.
Was ist ein Objekt?
Ein Objekt ist ein benannter Speicherbereich
Wie viel Speicherplatz benötigt der Datentyp char?
1 Byte (8bits)
Wie viel Speicherplatz benötigt der Datentyp int?
short int: mind. 16bit
long int: mind. 32bit
Erkläre Variablen
- speichern Werte eines bestimmten Datentyps
- müssen vor Verwendung deklariert werden
- besitzen einen eindeutigen Namen
Was sind Identifier?
eindeutige Namen für Variablen, Konstanten, Datentypen und Funktionen
Was sind reguläre Ausdrücke?
Ein regulärer Ausdruck (RA) beschreibt eine Menge von Wörtern. Neben Symbolen des zu Grunde liegenden Alphabets kommen in einem regulären Ausdruck in der Regel auch noch Metasymbole vor. Das sind zusätzliche Symbole, die zur Konstruktion der Wortmenge benutzt werden.
Erkläre typedef
Ein Datentyp wird unter einem neuen Namen bekannt gemacht.
Erkläre Konstanten
Werte die sich innerhalb eines Programmes nie ändern.
- bessere Lesbarkeit des Codes
-Konstanten benötigen keine Deklaration
Erkläre Konstante Ausdrücke
Definiert man eine symbolische Konstante (#define MAXCOUNT 1000) kann man diese Konstante als konstanten Ausdruck innerhalb des Programms verwenden (MAXCOUNT +1). Diese werden vom Compiler vorab ausgerechnet und zählen nicht zur Programm-Laufzeit.
Unterscheide ROM und RAM
Beim Speicher unterscheidet man ROM (read only) und RAM (random access memory). Letzterer kann beliebig zugegriffen werden. ROM ist aber platzsparender.
Was ist das Ergebnis einer Vergleichsoperation? (== / !=)
Ein Boolescher Wert (true or false)
Beurteile type casts
Die mangelnde Standardisierung der type casts ist sicher eine Schwäche der Sprache C. Daher sollte insbesondere von expliziten type casts sparsamer Gebrauch gemacht werden.
Erkläre Short-Circuit-Auswertung
Versucht man komplexere Bedingungen durch logische Verknüpfungen zu verbinden, werden diese ausgewertet um nur so viel wie für das Gesamtresultat notwendig ist zu verwenden.
Erkläre Labels und gotos
Ein Label ist eine symbolische Sprungmarke im Code.
Allgemein sind Labels und gotos Statements welche eine Verzweigung ermöglichen.
Beurteile Labels und gotos
- beeinträchtigen die Lesbarkeit
- sind ein "historisches Relikt"
- sind unnötig und sollten nur bei zwingenden Gründen eingesetzt werden
Erkläre switch Verzweigung
Fallunterscheidung über eine bestimmte Variable mit jeweils konstantem Vergleichswert.
Beurteile die Switch Verzweigung
- kompakter und damit auch besser lesbar
- kann vom Compiler in einen effizienteren Assemblercode übersetzt werden
Beurteile die Switch Verzweigung
- kompakter und damit auch besser lesbar
- kann vom Compiler in einen effizienteren Assemblercode übersetzt werden
Erkläre Schleifen und unterscheide drei Arten
Schleifen sind die wiederholte Ausführung einer Anweisungsfolge
for / while / do
Wann sollte man die for Schleife benutzen?
falls die Anzahl der Durchläufe von vornherein feststeht
Wann sollte man die do Schleife benutzen?
falls mindestens ein Durchlauf stattfinden muss
Wann sollte man die while Schleife benutzen?
Wenn die Anzahl nicht feststeht und nicht mindestens ein Durchlauf stattfinden muss
Warum ist count = 1 ein Ausdruck?
Weil in C Zuweisungen Ausdrücke sind.