Tag 1

Werbung
Vorsemesterkurs
Quick-Start Informatik
Übungsaufgaben
Tag 1b - Datentypen und if-else
Aufgabe 1: Primitive Datentypen
( Schwierigkeit: ∗ )
(a) Im interaktiven Modus von python:
i. Erstelle zwei Boolsche Variablen a und b mit unterschiedlichen Belegungen.
ii. Gib das Ergebnis der Konjunktion dieser Variablen aus.
iii. Gib das Ergebnis der Disjunktion dieser Variablen aus.
iv. Belege die Variable a mit ihrem negierten Wert.
v. Gib das Ergebnis der Konjunktion der beiden Variablen aus.
vi. Gib das Ergebnis der Disjunktion der beiden Variablen aus.
(b) Im interaktiven Modus von python berechne (2 + 3 · 4) · 365, wobei:
i. nur Integers benutzt werden dürfen,
ii. arithmetische Operationen nur für Variablen benutzt werden dürfen,
iii. in jeder Zeile auf einmal nur eine arithmetische Operation berechnet werden darf.
250 · 48 − 6
, wobei
35 · 23
i. arithmetische Operationen nur für Variablen benutzt werden dürfen,
ii. in jeder Zeile auf einmal nur eine arithmetische Operation berechnet werden darf,
iii. 1. nur Floats benutzt werden dürfen,
2. nur Floats benutzt werden dürfen aber ein gerundetes Ergebnis erwartet wird,
3. nur Integers benutzt werden dürfen und Divisionen als ganzzahlige Division ausgeführt
werden müssen.
(c) Im interaktiven Modus von python berechne
(d) Im interaktiven Modus von python erzeuge eine Variable, die die Zeichenkette Hello world!!!
enthält. Dabei soll jedes Zeichen dieser Zeichenkette durch sein ASCII-Zeichencode eingegeben
werden.
Aufgabe 2: Integer vs. Float
( Schwierigkeit: ∗ )
(a) Beantworte die folgenden Fragen, ohne den python-Interpreter zu nutzen. Überprüfe dein Ergebnis anschließend, indem du die Terme vom Interpreter berechnen lässt.
1.
2.
3.
4.
Ist (3*12)+15 in python dasselbe wie 3*12+15?
Ist 21/7 in python dasselbe wie 21.0/7.0?
Was ist (20/3)*3 + 1 == 21?
Wie ist es mit (20//3)*3 + 1 == 21? Warum?
(b) Gegeben seien zwei Integer-Variablen x und y. Überlege dir, wie man mit den sechs Grundrechenarten herausfinden kann, ob sich x // y von x / y unterscheidet.
(c)
1. Berechne den Wahrheitswert von:
not (True or False) == (not True and not False).
2. Ersetze auf beiden Seiten des Vergleichs True durch False.
3. Ersetze auf beiden Seiten des Vergleichs False durch True.
4. Überlege, wieso das Ergebnis so sein könnte, wie es ist. (mehr dazu im Theorieteil)
Aufgabe 3: Algorithmen
( Schwierigkeit: ∗ )
Ein Algorithmus ist eine Abfolge von Anweisungen, die so präzise sind, dass ein Computer sie ohne
das Zutun eines Menschen ausführen kann. In dieser Aufgabe wirst Du eine Tätigkeit Deines Alltags
algorithmisch beschreiben.
(a) Beschreibe die Tätigkeit Aufstehen“, d. h. alles, was Du vom Aufwachen bis zum Verlassen des
”
Hauses tust. Verwende hierbei die folgenden Aktionen:
1.
2.
3.
4.
5.
6.
essen(ding)
anziehen(ding)
reinigen(ding)
öffnen(ding)
schließen(ding)
duschen()
und Dinge:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Augen
Kleiderschrank
Frühstück
Schuhe
Socken
Hose
Pullover
Zähne
Haustüre
(Die Reihenfolge der Aktionen in Deinem Algorithmus sollte plausibel sein.)
Aufgabe 4: Zahlentrick
( Schwierigkeit: ∗ )
Es gibt einen Zahlentrick, der folgendermaßen funktioniert:
Man bittet jemanden, sich eine einstellige Zahl auszudenken. Dann soll er zu dieser Zahl noch einmal
dieselbe Zahl addieren. Danach soll die 10 hinzuaddiert werden und durch 2 geteilt werden. Schließlich
wird noch die gedachte Zahl abgezogen.
Egal, welche Zahl ausgedacht wurde - das Ergebnis ist immer die 5.
Um dies zu überprüfen, schreibe ein Programm, das eine einstellige Zahl als Eingabe bekommt und
führe genau diese Rechenschritte mit dieser Zahl aus. Gib das Ergebnis aus.
Aufgabe 5: if-else: Einstieg
( Schwierigkeit: ∗ )
Gegeben ist folgendes Python-Programm:
x=42
if x<0:
x=0
print(’Negative changed to zero’)
elif x==0:
print(’Zero’)
elif x==1:
print(’Single’)
else:
print(’More’)
(a) Führe das Programm aus. Welche Ausgabe erhälst du?
(b) Wie musst du die erste Zeile (d.h. x = 42) ändern, um folgende Ausgabe zu erhalten:
(i) ’Negative changed to zero’
(ii) ’Zero’
(iii) ’Single’
Seite 2 von 3
(c) Füge eine weitere Bedingung hinzu, so dass folgendes gilt:
Wenn x den Wert 1.5 hat, soll die Ausgabe ’One Point Five’ lauten.
Teste dein Programm, indem du x auf 1.5 setzt.
Aufgabe 6: if-else: Fehlersuche
( Schwierigkeit:
∗∗
)
Gegeben ist folgendes Python-Programm.
x=1,5
if x<0
print("Negative Zahl")
else if x=0:
print("Null")
else:
print("Positive Zahl)
(a) In dem Programm gibt es fünf Fehler. Finde sie.
(b) Teste dein Programm, indem du die erste Zeile jeweils durch eine der folgenden ersetzt.
1. x=-27
2. x=0
3. x=11
Welche Ausgabe erhälst du jeweils?
Aufgabe 7: Boolesche Ausdrücke
( Schwierigkeit:
∗∗∗∗
)
Weise den Variablen im folgenden python-Programm Werte zu, sodass folgende Sätze im Terminal
ausgegeben werden:
1
2
3
4
5
6
7
#!/usr/bin/env python
# encoding: utf-8
def main():
bauer = True
koenig = False
gewaehlt = False
streichholz = False
8
9
10
11
12
13
14
15
16
17
18
19
if bauer and koenig:
print("Seid ihr der König?")
if bauer and koenig and not gewaehlt:
print("Ich hab’ euch nicht gewählt!")
else:
if bauer and streichholz:
print("Wir haben eine Hexe gefunden.")
print("Dürfen wir sie verbrennen?")
else:
if bauer:
print("Hilfe hilfe ich werde unterdrückt!")
20
21
22
if __name__ == ’__main__’:
main()
(a) Seid ihr der König? Ich hab’ euch nicht gewählt!
(b) Seid ihr der König? Wir haben eine Hexe gefunden. Dürfen wir sie verbrennen?
Viel Erfolg!
Seite 3 von 3
Herunterladen