Einführung Flashcards

Vorlesung 01: Einführung in die Informatik, Terminologie und wichtigste Begriffe.

1
Q

Was ist Informatik?

A

Die Wissenschaft der systematischen Verarbeitung von Informationen (insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist der Unterschied zwischen Informatik und EDV-Kenntnissen?

A

EDV-Kenntnisse beschreiben das Anwenderwissen (Umgang mit Computer, Bedienung von Computerprogrammen, …);
Informatik beschreibt das Grundlagenwissen (Wie funktioniert ein Computer? Wie schreibt man ein Programm?)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist ein Algorithmus?

A

Handlungsanweisung zur schrittweisen Lösung eines Problems, dessen Ausführung keine Intelligenz sondern nur Genauigkeit erfordert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welches sind die drei Abstraktionsstufen eines Algorithmus?

A
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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie werden Daten und Programme gespeichert?

A

Als Folge von Bits aus {0, 1}.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist ein Programmzustand?

A

Werte aller Bits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie und zu was werden Bits zusammengefasst?

A

8 Bits = 1 Byte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was bedeutet “Random Access”?

A

Die Zugriffszeit auf eine Speicherzelle ist (nahezu) unabhängig von ihrer Adresse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was macht ein Prozessor?

A

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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie ist ein Computerprogramm definiert?

A

Als Folge von Befehlen, die man dem Computer mittels einer Programmiersprache erteilt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was für Einordnungen für Programmiersprachen gibt es?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nach welchen zwei Regeln müssen Programme geformt werden und was ist der zentrale Unterschied zwischen den beiden?

A

(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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche vier Dinge braucht man zum Programmieren?

A

Editor, Compiler, Computer, Betriebssystem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wozu braucht man Kommentare?

A

Kommentare braucht man, um zu dokumentieren, was das Programm wie macht und die Programmlogik zu widerspiegeln.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
Wozu braucht man folgenden Befehl?
#𝚒𝚗𝚌𝚕𝚞𝚍𝚎
A

Macht Ein-/Ausgabe verfügbar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Womit beginnt und endet ein C++-Programm? Wie würde das kürzeste C++-Programm aussehen?

A

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;}

17
Q

Was sind Anweisungen?

A

Anweisungen sind die sequenziell ausgeführten Bausteine eines C++-Programms. Sie enden mit einem Semikolon und haben einen potenziellen Effekt.

18
Q

Was sind Ausdrucksanweisungen?

A

Haben die Form “expr”, wobei “expr” ein Ausdruck ist, z.B. 𝚋 = 𝚋 * 𝚋;. Der Wert von “expr” wird ignoriert.

19
Q

Was sind Rückgabeanweisungen?

A

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.

20
Q

Was sind Deklarationsanweisungen?

A

Sie führen neue Namen im Programm ein und können Variablen initialisieren, z.B.: 𝚒𝚗𝚝 𝚋 = 𝚊 * 𝚊.

21
Q

Welche Fundamentaltypen existieren in C++ und wofür werden sie gebraucht?

A
  • 𝚒𝚗𝚝 für ganze Zahlen
  • 𝚞𝚗𝚜𝚒𝚐𝚗𝚎𝚍 𝚒𝚗𝚝 für natürliche Zahlen
  • 𝚏𝚕𝚘𝚊𝚝 und 𝚍𝚘𝚞𝚋𝚕𝚎 für reelle Zahlen
  • 𝚋𝚘𝚘𝚕 für Wahrheitswerte.
22
Q

Was sind Variablen?

A

Variablen sind im Programmtext sichtbare Platzhalter für (wechselnde) Werte und haben Name, Typ, Wert und Adresse.

23
Q

Was sind Ausdrücke und was für Ausdrücke existieren?

A

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.

24
Q

Was sind Literale?

A

Literale repräsentieren konstante Werte und haben einen festen Typ und Wert, z.B. hat 𝟷 den Typ 𝚒𝚗𝚝 und den Wert 𝟷.

25
Q

Was ist der Unterschied zwischen einem L-Wert und einem R-Wert?

A

Ein L-Wert (“links vom Zuweisungsoperator”) ist ein Ausdruck mit Adresse und Wert. Der Wert ist der Inhalt an der Speicheradresse und entspricht dem Typ des Audrucks. L-Werte können ihre Werte ändern. Namen von Variablen sind z.B. L-Werte.
Ein R-Wert (“rechts vom Zuweisungsoperator”) hingegen ist jeder Ausdruck, der kein L-Wert ist. Er kann seinen Wert nicht ändern und besitzt keine Adresse, wie z.B. Literale. Jeder L-Wert kann als R-Wert benutzt werden, aber nicht umgekehrt.

26
Q

Was sind Operatoren?

A

Operatoren machen aus Ausdrücken (Operanden) neue zusammengesetzte Ausdrücke. Sie spezifizieren für die Operanden und das Ergebnis ihre Typen und ob sie L- oder R-Werte sein müssen.

27
Q

Was macht der Zuweisungsoperator? Welchem mathematischen Operator entspricht er?

A

Der Zuweisungsoperator = weist einem L-Wert auf der linken Seite einen R-Wert auf der rechten Seite zu, z.B.: 𝚊 = 𝚋.
Er ist jedoch nicht zu verwechseln mit dem mathematischen Vergleichsoperator =, ist er viel eher der mathematische Operator :=.

28
Q

Was macht der Eingabeoperator?

A

Der Eingabeoperator&raquo_space; weist dem rechten Operanden den nächsten Wert aus der Eingabe zu, entfernt ihn aus der Eingabe und gibt den Eingabestrom als L-Wert zurück. Sowohl der linke als auch der rechte Operand sind L-Werte, z.B.:
𝚜𝚝𝚍::𝚌𝚒𝚗&raquo_space; 𝚊

29
Q

Was macht der Ausgabeoperator?

A

Gibt den Wert des rechten Operanden (R-Wert) aus, fügt ihn dem Ausgabestrom hinzu und gibt den Strom als L-Wert zurück, z.B.:
𝚜𝚝𝚍::𝚌𝚘𝚞𝚝 &laquo_space;𝚊