Vorlesung 5 Flashcards

1
Q

Was sind Festkommazahlen?

A

Komma an bestimmer stelle

Es kann nur ein beschränkter wertebereich abgedeckt werden

Stelle des kommas muss allgemein festgelegt werden

Wird nur für spezialanwendungen genutzt

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

Was sind Gleitkommazahlen?

A

Beispiel 1.0111101 * 2^3

Mit Mantisse und Exponent dargestellt

Kommastelle muss nicht im vorhinein bekannt sein

Großer darstellungsbereich

Übliche darstellungsweise für kommazahlen im Rechner

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

Was ist das IEEE 754/854- Format?

A

Standardformat zur Darstellung von Gleitkommazahlen

Normalisierte Kodierung, sodass das gedachte Komma immer nach der ersten stelle steht (Verschiebung über Exponent)

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

IEEE 754/854 Format: Aus was setzt sich eine Zahl zusammen?
(32-Bit Single Precision)

A

1 Bit Vorzeichen -> (0 = positive zahl, 1= negative zahl)

8 Bits Biased Exponent -> (bei float 127 + stellen um die bei der normalisierung verschoben wird) , (bei double 1023 +stellen um die bei der normalisierung verschoben wird)

23 Bits Mantisse -> (der teil nach der ersten 1 und dem punkt. nachdem die zahl normalisiert wurde)

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

Nenne die 4 Spezialen Belegungen von Float-Werten

A

Null (vorzeichen bit:0 biased exp bits:0 mantisse bits:0 )

Positive unendlichkeit (vorzeichen bit:0 biased exp bits:1 mantisse bits: 0)

negative unendlichkeit (vorzeichen bit:1 biased exp bits:1 mantisse bits:0 )

keine gültige nummer (not a number) (vorzeichen bit:0 biased exp bits:1 mantisse bits:1 )

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

was ist das problem bei der darstellung von peiodischen binärzahlen als Float?

A

es führt zu einem genauigkeitsverlust

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

Was ist die Semantisch Lücke im Von Neumann Rechner?

A

der typ der baiablen kann aus dem speicherinhalt nicht ermittelt werden: gefahr der fehlinterpretation

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

Wie sieht der Adressoperator aus und was ist seine funktion?

A

der adressoperator &
int zahl;
&zahl; liefert die adresse der variable (in der regel nur die erste adresse, wenn die anzahl belegter speicherstellen durch den datentyp bekannt ist)

1 speicherstelle = 1 Byte / 8Bit
Länge des datentyps int; 2 Byte, also 2 speicherstellen

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

was ist ein Zeiger?

A

ein zeiger ist eine variable, die die adresse einer variablen enthält

zeiger sind tyspgebunden

zeigerdefinition in C;

“datentyp” *variablenname

Beispiel
double zahl = 12;
double *gleitkommazeiger = &zahl;

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

was heißt: zeiger sind typgebunden?

A

das bedeutet, sie müssen einen bestimmten datentyp haben.

da zeiger jedoch nur adressen speichern, ist der speicherbedarf aller zieger auf einem system identisch, egal ob zeiger des typs int oder des typs double.

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

was ist dereferenzierung und wie sieht der inhaltsoperator aus?

A

der inhaltsoperator ist ein *

zugriff auf den Inhalt der speicherstelle, auf die der zeiger verweist.

dieser zugriff wird dereferenzierung genannt.

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

gib ein beispiel für dereferenzierung an

A

/* Beispiel Zeiger */
int main()
{
short int n, m;
short int *zeiger;
n = 15;
zeiger = &n;
m = *zeiger;
*zeiger = 42;
}

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

was sind 3 anwendungen von zeigern?

A
  • Werterückgabe bei Funktionen: einer Funktion kann eine Adresse einer
    Variablen übergeben, in der Sie ein Ergebnis, eine Benutzereingabe, etc.
    ablegt (siehe schon bekanntes Beispiel scanf), aus Sicht der Funktion ist dies
    ein Zeiger.
  • Dynamische Speicherverwaltung: wenn bei der Erstellung des Programms
    nicht feststeht, wie viel Speicher benötigt wird. Mit speziellen Funktionen
    kann Speicher angefordert werden, die Startadresse wird in einer
    Zeigervariablen gespeichert.
  • Hardwarenahe Programmierung: wenn direkt auf feste Speicherstellen
    zugegriffen werden muss.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

was ist die generelle Definition von Aussagenlogik?

A
  • Logik ist die Lehre von der Folgerichtigkeit des Denkens und Schließens.
  • Die einfachste Form von Logik ist die Aussagenlogik
  • Jeder Aussage ist genau einer der zwei Wahrheitswerte „wahr“ und „falsch“
    zugeordnet.
  • Der Wahrheitswert einer zusammengesetzten Aussage lässt sich ohne
    zusätzliche Informationen aus den Wahrheitswerten ihrer Teilaussagen
    bestimmen.
  • Ziele der Aussagenlogik:
  • Analyse der Wahrheitswerte zusammengesetzter Aussagen
  • Ist eine zusammengesetzte Aussage erfüllbar / allgemeingültig / äquivalent zu
    einer anderen Aussage?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Elementaraussagen?

A

aussagen, denen genau ein wahrheitswert zugeordnet ist

wahr = w =1
falsch =f =1

auch atomare Formeln genannt

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

Was sind zusammengesetzte Aussagen?

A

verknüfpte elementaraussagen ergeben zusammengesetze aussagen

ᴧ (und),
ᴠ (oder),
¬ (nicht)

Sind A und B Aussagen, so sind auch
A ᴧ B,
A ᴠ B,
¬ A
Aussagen und haben entweder den Wahrheitswert „wahr“ oder „falsch“.

17
Q

Was bedeutet konjunktiv, disjunktiv, Negation, Subjunktion, Bijunktion im Bereich der Aussagenlogik?

A

UND-Operator (Konjunktion)
Eine mit dem UND-Operator (ʌ) gebildete Aussage ist nur dann wahr,
wenn beide Teilaussagen in A ʌ B wahr sind

ODER-Operator (Disjunktion)
Eine mit dem ODER-Operator (ᴠ) gebildete Aussage ist wahr, wenn
mindestens eine der Einzelaussagen in A ᴠ B wahr ist

Nicht-Operator (Negation)
Eine mit dem Nicht-Operator (¬) gebildete Aussage ¬A ist wahr, wenn die
Ursprungsaussage A falsch ist.

zusatz: doppelte verneinung ist eine bejahung
¬ ¬ A = A

Implikation: wenn → dann (Subjunktion)
Ist die Bedingung A (Prämisse) wahr, so muss auch die Folgerung
(Konklusion) B wahr sein, damit die Subjunktion A → B wahr ist.
* Ist die Bedingung (Prämisse) A falsch, so ist die Subjunktion A → B
unabhängig vom Wahrheitswert von B wahr.
* A → B kann durch ¬ A v B ersetzt werden.

Äquivalenz: genau dann, wenn (Bijunktion)
Zwei Aussagen A und B sind äquivalent, wenn sowohl A B impliziert als
auch B A impliziert.
* Die Aussage A ↔ B ist also genau dann wahr, wenn (A → B) ʌ (B → A)
wahr ist.
* Vereinfacht: A ↔ B ist genau dann wahr, wenn A und B entweder beide
wahr oder beide falsch sind.

XOR / Exklusives Oder (Antivalenz)
Eine mit dem XOR-Operator (⨁) gebildete Aussage ist nur dann wahr,
wenn die Einzelaussagen in A ⨁ B unterschiedliche Wahrheitswerte haben.

18
Q

Wie lautet die Bindungshirarchie der Junktoren?

A
  • ¬ bindet stärker als ʌ (nicht stärker als und)
  • ʌ bindet stärker als ᴠ (und stärker als oder)
  • ᴠ bindet stärker als → (oder stärker als Implikation)
  • → bindet stärker als 㲗 (Implikation stärker als Äquivalenz)
  • dann folgen die anderen Operatoren

Beispiele:
¬ A ʌ B ᴠ C =
¬ A ᴠ B ʌ C =
((¬ A) ʌ B) ᴠ C
(¬ A) ᴠ (B ʌ C)

19
Q

Wann ist eine aussagenlogische Formel erfüllbar?

A

wenn es mindestens eine Belegung der variablen gibt, so dass die aussage wahr ist.

wenn eine Formel nicht erfüllbar ist, ist sie widerspruchvoll

20
Q

Wie kommt man von Umgangssprache zu einer Aussagenlogischen Struktur?

A
  1. Identifiziere Elementaraussagen (Aussagen, die wahr oder falsch sein
    können) und ordne ihnen Aussagen-Variablen zu.
  2. Markiere alle Wörter, welche die Verknüpfungen der Aussagen
    beschreiben (z.B. nicht, und, oder).
  3. Prüfe welche logischen Operatoren den umgangssprachlichen
    Beschreibungen am besten entsprechen.
  4. Prüfe, welche Gliederung der Aussage (Klammer-Setzung) der Intention
    des Verfassers am besten entspricht
21
Q

was ist allgemeingültigkeit in der aussagenlogik?

A
  • Eine aussagenlogische Formel heißt allgemeingültig, wenn sie für
    jede Belegung der Variablen wahr ergibt.
    Einfaches Beispiel:
    Es regnet (A) oder es regnet nicht (¬A).
    A v ¬A (für alle Belegungen wahr)
  • Oder: Eine Formel F ist genau dann allgemeingültig,
    wenn ¬F widerspruchsvoll ist.
22
Q

was heißt Äquivalenz von aussagen im Bereich der Aussagenlogik?

A

Wenn zwei Aussagen für alle Variablenbelegungen dieselben Wahrheitswerte
besitzen, nennt man diese Aussagen äquivalent.
z. B. A → B und ¬ A v B

23
Q

wie werden wahrheitswerte in C gespeichert?

A

in form von zahlenwerten
der wert != 0 entspricht wahr
der wert 0 entspricht falsch

24
Q

wie funktioniert die if-Anweisung in C?

A

Syntax:
if (Ausdruck) {
Anweisungsblock1
}
● Wenn Ausdruck wahr ist, wird Anweisungsblock1 ausgeführt.

● Reaktion auf alle andere Ereignisse mit else:
if (Ausdruck) {
Anweisungsblock1
} else {
Anweisungsblock2
}

● Reaktion auf alternative bedingte Ereignisse mit beliebig vielen else if:
if (Ausdruck1) {
Anweisungsblock1
} else if (Ausdruck2) {
Anweisungsblock2
} else if (Ausdruck3) {
Anweisungsblock3

} else {
Anweisungsblock4
}

● if-Anweisungen werden von oben nach unten ausgeführt.
● Wird nur eine Anweisung als Reaktion auf ein if/else/else if-Zweig
ausgeführt, darf man auf geschweifte Block-Klammern { } verzichten.
Dies ist aber schlechter Stil.
● Daher: Immer geschweifte Klammern nach if-Anweisungen!

25
Q

was sind die relationalen operatoren und was sind ihre funktionen?

A

ermöglichen vergleiche zwischen werten

ergebnis ist 0 oder 1, also wahr oder falsch (bei wahr wird die if anweisung ausgeführt)

if(x == y) {
printf(“x ist gleich y.\n”);
}
if(x != y) {
printf(“x ist ungleich y.\n”);
}
if(x >= y) {
printf(“x ist größer oder gleich y.\n”);
}

Mathematisch C-Operator
= ==
≠ !=
> >
≥ >=
< <
≤ <=

Die Operatoren = (Zuweisung) und == (Vergleich) sollten nicht verwechselt
werden.

26
Q

was sind die logischen operatoren und was sind ihre funktionen?

A

ermöglichen auswertung von logischen aussagen

ergebnis ist 0 oder 1, also wahr oder falsch (bei wahr wird die if anweisung ausgeführt)

int adult = (age > 17);
if(adult) {
printf(“You are an adult.”);
}
if(age > 17) {
printf(“You are an adult.”);
}
if(age >= 13 && age < 20) {
printf(“You are a teenager.”);
}
if(age < 13 || age > 19) {
printf(“You are not a teenager.”);
}
if(!(age >= 13 && age < 20)) {
printf(“You are not a teenager.”);
}

Boolesche Logik C-Pendant
f(alsch) 0
w(ahr) ≠0 (meist 1)
nicht (¬) !
und (ʌ) &&
oder (ᴠ) ||