• Keine Ergebnisse gefunden

Informatikgrundlagen f¨ ur Humanmedizin

N/A
N/A
Protected

Academic year: 2022

Aktie "Informatikgrundlagen f¨ ur Humanmedizin"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Departement Informatik

Informatikgrundlagen f¨ ur Humanmedizin

Dr. Hans-B¨ockenhauer Dr. Dennis Komm

https://courses.ite.inf.ethz.ch/inform_med_21/

21. Oktober 2021

Ubungsblatt 1 ¨

L¨ osungsvorschl¨ age

Aufgabe 1

Schreiben Sie ein Programm, das die Benutzerin nach einem Z¨ahler und einem Nenner fragt und dann den Z¨ahler ganzzahlig durch den Nenner teilt.

Hier ist ein Beispiel einer Ausgabe:

1 Gib den rechten Operanden ein: 6

2 Gib den linken Operanden ein: 4

3 Wir teilen 6 durch 4 und erhalten: 1

Uberlegen Sie sich, was passiert, wenn der linke Operand eine Null ist. ¨¨ Uberpr¨ufen Sie Ihre Annahme.

L¨ osung

1 a = int(input("Gib den rechten Operanden ein: "))

2 b = int(input("Gib den linken Operanden ein: "))

3 print("Wir teilen", a, "durch", b, "und erhalten:", a//b)

Die erste Zeile mit der input()-Funktion gibt einen String zur¨uck. Da wir in Zeile 2 eine Zahl definieren, muss der String zus¨atzlich in einen Integer umgewandelt werden. Dazu verwenden wir die bereits bekannte Funktion int().

In Zeile 3 wird das Resultat von a//b ausgegeben, was der ganzzahligen Division von Python entspricht.

(2)

Aufgabe 2

Schreiben Sie ein Programm, das die Benutzerin nach einer Zahl n fragt und danach die ersten n Fibonacci-Zahlen ausgibt.

Hinweis: Die ersten beiden Fibonacci-ZahlenF1 undF2 sind definiert als F1 :=F2 := 1.

Die k-te Fibonacci-Zahl Fk, f¨ur k ≥3, ist dann definiert als Fk :=Fk−2+Fk−1. Die ersten sechs Fibonacci-Zahlen sind beispielsweise 1, 1, 2, 3, 5, 8.

L¨ osung

1 n = int(input("Geben Sie eine Zahl ein: "))

2 fib = [1, 1]

3 for i in range(2, n):

4 fib.append(fib[i-2] + fib[i-1])

5

6 print("Die ersten ", n, "Fibonacci-Zahlen sind: ", fib)

Zuerst wird n eingelesen und direkt durch die int()-Funktion von einem Zeichen in einen Integer umgewandelt. Die Liste fibwird mit den ersten beiden Fibonacci-Zahlen initialisiert und dann in einer for-Schleife mithilfe der append()-Funktion schrittweise mit den ersten n Fibonacci-Zahlen gef¨ullt.

Aufgabe 3

Bestimmen Sie die Ausgabe des folgenden Programms.

1 l = [":)","^^","XD","~(-.-)","0.0"]

2 print("for i in l: ", end= "")

3 for i in l:

4 print(i, end=" ")

5 print()

6 print("for i in range(0, len(l)): ", end= "")

7 for i in range(0, len(l)):

8 print(i, end=" ")

9 print()

L¨ osung

Die folgende Ausgabe wird erzeugt.

1 for i in l: :) ^^ XD ~(-.-) 0.0

2 for i in range(0, len(l)): 0 1 2 3 4

Die erste for-Schleife l¨auft durch die einzelnen Elemente von l, w¨ahrend die zweite for-Schleife durch die Zahlen von 0 bis 4 l¨auft.

(3)

Aufgabe 4

Schreiben Sie ein Programm, das Folgendes ausgibt.

1 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

2 [0, 0, 0, 0, 1, 1, 0, 0, 0, 0]

3 [0, 0, 0, 2, 2, 2, 2, 0, 0, 0]

4 [0, 0, 3, 3, 3, 3, 3, 3, 0, 0]

5 [0, 4, 4, 4, 4, 4, 4, 4, 4, 0]

6 [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

L¨ osung

1 for i in range(0, 6):

2 line_outer = [0]*(5-i)

3 line_middle = [i]*(i*2)

4 line = line_outer + line_middle + line_outer

5 print(line)

In der for-Schleife wird eine Zeile nach der andern erstellt. Dabei wird jede Zeile aus drei Teilen zusammengesetzt. Der erste Teil entspricht einer Liste mit der korrekten Anzahl Nullen auf der linken Seite. Der zweite Teil entspricht dem Mittelteil mit ¨andernden Zahlen und der dritte Teil ist wiederum wie der erste Teil die korrekte Anzahl Nullen auf der linken Seite.

Teil 1 und 3 sind immer gleich lang und k¨onnen darum mit einer Liste erstellt werden.

Diese Liste heisst hier line_outer und wird in Zeile 2 erstellt. Sie hat die L¨ange 5-i.

Der zweite Teil heisst hier line_middle und wird in Zeile 3 erstellt. Er hat die L¨ange 2 * i und jedes Element erh¨alt den Wert i.

In Zeile 4 werden die Listen dann zusammengesetzt zu einer Liste die der aktuellen Zeile entspricht.

In Zeile 5 wird diese Liste ausgegeben.

Aufgabe 5

Schreiben Sie ein Programm, das die Benutzerin nach einer Zahl fragt und eine Pyramide mit dieser Zahl als H¨ohe ausgibt.

Hier eine Beispielausgabe.

1 Gib eine Zahl ein: 8

2 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

3 [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]

4 [0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0]

5 [0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0]

6 [0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0]

7 [0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0]

8 [0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0]

9 [0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0]

10 [8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]

(4)

L¨ osung

1 limit = int(input("Gib eine Zahl ein: "))

2 for i in range(0,limit+1):

3 line_outer = [0]*(limit-i)

4 line_middle = [i]*(i*2)

5 line = line_outer + line_middle + line_outer

6 print(line)

Diese Aufgabe funktioniert sehr ¨ahnlich wie Aufgabe 4. Der einzige Unterschied liegt darin, dass die Werte 5 und 6 durch eine Variable limit ersetzt werden. Diese Variable wird in Zeile 1 eingelesen und mit int() in eine Zahl umgewandelt.

Referenzen

ÄHNLICHE DOKUMENTE

Das bessere Ver- ständnis dieser komplexen Zusammen- hänge, insbesondere das Entstehen einer provisorischen Matrix für den Aufbau neuer Hartgewebe, hat weit reichende

Nr.. Fachbezogene Berechnungen 6 Punkte Das durchgefärbte MDF ist in den Abmessungen 2005 x 1250 mm lieferbar. Skizzieren Sie die Aufteilung der Platte mit Maßen! Maßstab

Schreiben Sie den Funktionsk¨ orper einer Funktion, die zwei Zahlen x und y als Eingabe erh¨ alt und die kleinste Zahl findet, die sowohl durch x als auch durch y teilbar ist.

Durch die Veranstaltungen wird den Frauen bewusst, dass sie trotz Krankheit viel Spaß zusammen haben können, aber auch, dass es guttut, über Gefühle zu sprechen, Ängste zu

Die von einem Vertragspartner für rechtswirksam erklärten, allgemein durchzuführenden Gesetze und Verwaltungsvorschriften, Gerichts- und Verwaltungsentscheidungen, die sich

Die Säule 3b wird als freie Vorsorge – auch als ungebundene Altersvorsorge - bezeichnet, da das angesparte Kapital jederzeit wieder frei bezogen werden kann. Im

Aus Sorge vor einem schlechten Image und wegen der eigenen Verwicklung in die aktuellen Probleme des Kosovos, bemühen sich Regierung und Ministerien durch eine Reihe

Kumulierte Emission von Treibhaus-gasen aller Haushalte pro Jahr.