Einführung Flashcards
Vorlesung 01: Einführung in die Informatik, Terminologie und wichtigste Begriffe. (29 cards)
Was ist Informatik?
Die Wissenschaft der systematischen Verarbeitung von Informationen (insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern).
Was ist der Unterschied zwischen Informatik und EDV-Kenntnissen?
EDV-Kenntnisse beschreiben das Anwenderwissen (Umgang mit Computer, Bedienung von Computerprogrammen, …);
Informatik beschreibt das Grundlagenwissen (Wie funktioniert ein Computer? Wie schreibt man ein Programm?)
Was ist ein Algorithmus?
Handlungsanweisung zur schrittweisen Lösung eines Problems, dessen Ausführung keine Intelligenz sondern nur Genauigkeit erfordert.
Welches sind die drei Abstraktionsstufen eines Algorithmus?
1. Kernidee (abstrakt): Die Essenz eines Algorithmus. 2. Pseudocode (semi-detailliert): Für Menschen gemacht (Skizze) 3. Implementierung (sehr detailliert): Für Mensch & Computer gemacht (les- & ausführbar)
Wie werden Daten und Programme gespeichert?
Als Folge von Bits aus {0, 1}.
Was ist ein Programmzustand?
Werte aller Bits.
Wie und zu was werden Bits zusammengefasst?
8 Bits = 1 Byte
Was bedeutet “Random Access”?
Die Zugriffszeit auf eine Speicherzelle ist (nahezu) unabhängig von ihrer Adresse.
Was macht ein Prozessor?
Ein Prozessor (CPU):
- führt Befehle in Maschinensprache aus
- hat eigenen schnellen Speicher (Register)
- kann vom Hauptspeicher lesen und in ihm schreiben
- beherrscht eine Menge einfachster Operationen (z.B. Addieren)
Wie ist ein Computerprogramm definiert?
Als Folge von Befehlen, die man dem Computer mittels einer Programmiersprache erteilt.
Was für Einordnungen für Programmiersprachen gibt es?
- Kompilierte vs. interpertierte Sprachen
(C++, C#, Java, etc. vs. Python, Javascript, Matlab) - Höhere Programmiersprachen vs. Assembler
- Mehrzwecksprachen vs. zweckgebundene Sprachen.
- Prozedurale, objektorientierte, funktionsorientierte und logische Sprachen
Nach welchen zwei Regeln müssen Programme geformt werden und was ist der zentrale Unterschied zwischen den beiden?
(1) Syntax: Zusammenfügungsregeln für elementare Zeichen.
(2) Semantik: Interpretationsregeln für zusammengefügte Zeichen, z.B. Mehrdeutigkeiten vermeiden.
Syntax kann im Gegensatz zur Semantik vom Computer überprüft werden, die Semantik braucht menschliches Verständnis.
Welche vier Dinge braucht man zum Programmieren?
Editor, Compiler, Computer, Betriebssystem.
Wozu braucht man Kommentare?
Kommentare braucht man, um zu dokumentieren, was das Programm wie macht und die Programmlogik zu widerspiegeln.
Wozu braucht man folgenden Befehl? #𝚒𝚗𝚌𝚕𝚞𝚍𝚎
Macht Ein-/Ausgabe verfügbar.
Womit beginnt und endet ein C++-Programm? Wie würde das kürzeste C++-Programm aussehen?
Die Hauptfunktion 𝚖𝚊𝚒𝚗() ist der Startpunkt eines Computerprogramms. Die Funktion und somit das Programm terminiert bei der Rückgabeanweisung 𝚛𝚎𝚝𝚞𝚛𝚗 0. Man könnte das kürzeste Programm folgendermassen konstruieren:
𝚒𝚗𝚝 𝚖𝚊𝚒𝚗 () {𝚛𝚎𝚝𝚞𝚛𝚗 0;}
Was sind Anweisungen?
Anweisungen sind die sequenziell ausgeführten Bausteine eines C++-Programms. Sie enden mit einem Semikolon und haben einen potenziellen Effekt.
Was sind Ausdrucksanweisungen?
Haben die Form “expr”, wobei “expr” ein Ausdruck ist, z.B. 𝚋 = 𝚋 * 𝚋;. Der Wert von “expr” wird ignoriert.
Was sind Rückgabeanweisungen?
Treten nur in Funktionen auf und sind von der Form 𝚛𝚎𝚝𝚞𝚛𝚗 “expr”, wobei “expr” ein Ausdruck ist. Sie spezifizieren den Rückgabewert einer Funktion, z.B. in der Hauptfunktion 𝚛𝚎𝚝𝚞𝚛𝚗 0.
Was sind Deklarationsanweisungen?
Sie führen neue Namen im Programm ein und können Variablen initialisieren, z.B.: 𝚒𝚗𝚝 𝚋 = 𝚊 * 𝚊.
Welche Fundamentaltypen existieren in C++ und wofür werden sie gebraucht?
- 𝚒𝚗𝚝 für ganze Zahlen
- 𝚞𝚗𝚜𝚒𝚐𝚗𝚎𝚍 𝚒𝚗𝚝 für natürliche Zahlen
- 𝚏𝚕𝚘𝚊𝚝 und 𝚍𝚘𝚞𝚋𝚕𝚎 für reelle Zahlen
- 𝚋𝚘𝚘𝚕 für Wahrheitswerte.
Was sind Variablen?
Variablen sind im Programmtext sichtbare Platzhalter für (wechselnde) Werte und haben Name, Typ, Wert und Adresse.
Was sind Ausdrücke und was für Ausdrücke existieren?
Ausdrücke repräsentieren Berechnungen und sind entweder primär (𝚋) oder zusammengesetzt aus anderen Ausdrücken mit Hilfe von Operatoren (𝚋 * 𝚋). Sie haben Typ, Wert und einen potentiellen Effekt.
Was sind Literale?
Literale repräsentieren konstante Werte und haben einen festen Typ und Wert, z.B. hat 𝟷 den Typ 𝚒𝚗𝚝 und den Wert 𝟷.