Lineare Programme - Ein- und Ausgabe

Die Beispiele aus diesem Abschnitt können in einem Jupyternotebook nachvollzogen werden. Es muss zusammen mit den Bilddateien vorher entpackt werden.

Notebook Lineare Programme

Danach kann man das Notebook zusammen mit den Bildern z.B. bei https://jupyter.org/try → JupyterLab hochladen und öffnen. Leider lassen sich die Beispiele mit IPythonturtle nur in Umgebungen ausführen, in denen das pip-Paket ipycanvas installiert ist.

Ein- und Ausgabefunktionen

Zur Ausgabe wird in Python die Funktion print() verwendet.

Syntax:

print(ausdruck1, ausdruck2, ...)

Die Ausdrücke können Zeichenketten, Zahlen, Variablen, Rechnungen und Funktionen sein. Sie werden ausgewertet und als Zeichenkette ausgegeben.

Beispiele:

print("Hallo Welt!") #gibt die Zeichenkette "Hallo Welt!" aus x = 5 print("x=",x) # gibt die Zeichenkette "x=" und den Wert von x aus a = 10 b = 15 print(a," + ",b," = ",a+b) # gibt den Werte von a und b und von a+b aus

Zur Eingabe wird in Python die Funktion input() verwendet.

Syntax:

eingabe = input()

Die Funktion input() hält das Programm an und erwartet eine Tastatureingabe. Nachdem die Eingabe mit <ENTER> abgeschlossen ist, wird die Zeichenkette an die Variable eingabe übergeben und kann weiterverarbeitet werden.

Beispiele:

eingabe=int(input()) # Die eingegebene Zeichenkette wird in eine ganze Zahl umgewandelt. eingabe=float(input("x=")) # Die eingegebene Zeichenkette wird in eine ganze Zahl umgewandelt. Vor der Eingabe steht x=.

Aufgabe

Teste die Beispiele!

Einfache Programme nach dem EVA-Prinzip

In Klasse 7 hast du das EVA-Prinzip (Eingabe-Verarbeitung-Ausgabe) kennengelernt, nach dem Infomatiksysteme funktionieren. Wir wollen im folgenden einfache Pythonprogramme schreiben, die nach diesem Prinzip funktionieren.

Beispiel 1

Im folgenden Programm werden zwei Zahlen a und b mit der Funktion input() eingegeben (Eingabe). Anschließend wird der Variablen s die Summe der Zahlen a und b zugewiesen (Verarbeitung). Zum Schluss wird die Summe mit der print()-Anweisung ausgegeben (Ausgabe).

# Beispiel 1 a = int(input("a = ")) b = int(input("b = ")) s = a + b print("Summe:", s)

Beispiel 2

Im Beispiel 2 wird das Beispiel 1 vereinfacht. Es gibt jetzt keine Extraanweisung zur Verarbeitung mehr. Die Summe wird jetzt direkt in der print()-Anweisung berechnet.

# Beispiel 1 a = int(input("a = ")) b = int(input("b = ")) print("Summe:", a + b)

Aufgabe

Teste die Beispiele!

Struktogramme

Struktogramme sind eine Möglichkeit, Algorithmen ohne Programmiersprache darzustellen. Das folgende Video gibt dir einen Überblick. Der Nachteil von Struktogrammen ist, dass sie im Vergleich zu einem Programm recht umständlich aufzuschreiben sind. Aber es gibt auch Tools wie zum Beispiel das Programm Struktorizer oder den Online Struktogramm Editor der TU Dresden, die uns die Arbeit erleichtern. Struktogramme haben aber den Vorteil, dass man mit Ihnen die Algorithmen unabhängig von einer bestimmten Programmiersprache formulieren kann. Um unsere einfachen linearen Programme im Struktogramm darzustellen benötigen wir lediglich Einzelanweisungen, die zu einer einzigen Sequenz (Folge von anweisungen) zusammengefasst werden. Die anderen Struktogrammelemente aus dem Video lernen wir später kennen.

Einzelanweisungen werden als Rechteck dargestellt. Wenn es sich um eine Eingabeanweisung handelt kann man das durch E: oder Eingabe: kennzeichnen, wenn es sich um eine Ausgabeanweisung handelt kann man das durch A: oder Ausgabe: kennzeichnen.

In Struktogrammen bin ich nicht an strenge Befehle gebunden, denn sie werden ja nicht ausgeführt. sie dienen lediglich als Übersicht für mich selbst.

Die Struktogramme für unsere Programmbeispiele würden so aussehen:

Struktogramm für Beispiel 1

Struktogramm für Beispiel 2

Beim Beispiel 2 wurden zwei Pythonbefehle zu einer Struktogrammanweisung zusammengefasst. Dies ist erlaubt, solange es übersichtlich bleibt.

Fehler beim Programmieren

Keiner ist perfekt und auch ein Programmierer macht Fehler. Man kann aber viel aus Fehlern lernen.

Aufgabe

Die drei folgenden Programme sind fehlerhaft. Finde die Fehler und versuche sie zu korrigieren! Was ist der Unterschied?

# Programm 1 name = input("Dein Name") print("Du heißt" name)
# Programm 2 a = input("a = ") b = input("b = ") print("a + b =",a + b)
# Programm 3 a = input("a = ") b = input("b = ") print("a * b =",a * b)