Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Ähnliche Dokumente
Sequenzen - Listen. Sequenzen Listen: Definition Listen: veränderliche Sequenzen Methoden Attribute Eine Liste von ganzen Zahlen

Informatik I: Einführung in die Programmierung

Programming 101. Carl Herrmann IPMB & DKFZ

WS2017/ Oktober 2017

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

WS2018/ Oktober 2018

Grundlagen der Programmierung

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

Einführung in die Informatik I

Grundlagen der Programmierung

Programmierkurs Python I

Quick-Start Informatik Programmieren in Python Teil 1

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

5. Elementare Befehle und Struktogramme

Informatik 1. Sommersemester Helmut Seidl. Institut für Informatik TU München

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

2 Eine einfache Programmiersprache

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache

Algorithmen und ihre Programmierung -Teil 2-

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Javakurs für Anfänger

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Einfache Bedingte Ausführung

Programmierkurs Java

1. Die rekursive Datenstruktur Liste

Algorithmen und Datenstrukturen (für ET/IT)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Tag 2 Repetitorium Informatik (Java)

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Vorkurs Informatik WiSe 16/17

Ideen und Konzepte der Informatik

if ( Logischer Operator ) { } else { Anweisungen false

Arithmetik in der tcsh

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

JAVA-Datentypen und deren Wertebereich

Grundlagen der Informatik I (Studiengang Medieninformatik)

Schleifen: Immer wieder dasselbe tun

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Anweisungen und Kontrollstrukturen

Vorkurs Informatik WiSe 17/18

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

Flussdiagramm / Programmablaufplan (PAP)

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

ECDL MODUL COMPUTING. Syllabus Version 1.0

2. Programmierung in C

Entscheidungen. INE1, Montag M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert

Datentypen: integer, char, string, boolean

C++ - Einführung in die Programmiersprache Schleifen

Algorithmen implementieren. Implementieren von Algorithmen

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Schleifenanweisungen

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Kapitel 1: Informationsverarbeitung durch Programme

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Brückenkurs Programmieren

Arbeitsblätter für Algorithmierung und Strukturierung

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

IoT-Werkstatt Das Internet der Dinge anfassbar machen Algorithmisches Denken

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Anweisungen und Kontrollstrukturen

Elementare Konzepte von

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

99 - Struktogramme - 2. Sequenz I

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte

Java: Syntax-Grundlagen III

WS2018/ Oktober 2018

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übersicht Shell-Scripten

Einführung in die Programmierung Wintersemester 2011/12

Operatoren (1) Operatoren (2)

Transkript:

Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile. Innerhalb des Programms wird aufgrund einer Bedingung entschieden, welcher Zweig des Programms ausgeführt werden soll. Bedingungen werden mit Hilfe von Vergleichsoperatoren und Boolesche Operatoren formuliert.

Beispiel einer einfachen Verzweigung

Flussdiagramm einer einfachen Verzweigung Schreiben "Ihre erste Zahl ist? " Die Eingabe lesen und in zahl_1 speichern Schreiben "Ihre zweite Zahl ist?" Die Eingabe lesen und in zahl_2 speichern JA zahl_1<=zahl_2 NEIN Schreiben zahl_1,"<=", zahl_2 Schreiben zahl_2,"<", zahl_1

Einfache Verzweigung in Python P0604.py

Übung Das Programm soll schreiben ob eine eingegebene ganze Zahl gerade oder ungerade ist. P0605.py

Mehrfache Verzweigungen Manchmal gibt es mehr als zwei Möglichkeiten. Wir brauchen mehr als zwei Zweige. Ein Weg eine Berechnung dieser Art auszudrücken ist eine Mehrfache Verzweigung:

Beispiel einer Mehrfachen Verzweigung

Flussdiagramm einer mehrfachen Verzweigung Schreiben "Ihre erste Zahl ist? " Die Eingabe lesen und in zahl_1 speichern Schreiben "Ihre zweite Zahl ist?" Die Eingabe lesen und in zahl_2 speichern JA zahl_1<zahl_2 NEIN NEIN zahl_2<zahl_1 JA Schreiben zahl_1,"<", zahl_2 Schreiben zahl_2,"<", zahl_1 Schreiben zahl_1,"=", zahl_2

Mehrfache Verzweigung in Python P0606.py

Mehrfache Verzweigung in Python wählt aus einer oder mehreren Aktionen (Anweisungsblöcken) aus. Ausgeführt wird die Folge, die zum ersten if oder elif Test mit Ergebnis Wahr gehört oder die else Folge, wenn alle anderen Falsch ergeben if Bedingung1: Anweisungsblock1 elif Bedingung2: Anweisungsblock2 else: Anweisungsblockn

Ohmscher Gesetz 10 Volt = 5 Ohm * 2 Ampere Schreiben Sie ein Programm, das nach dem ohmschen Gesetz: U = R * I d.h. Spannung = Widerstand * Intensität entweder die Spannung, den Widerstand oder den Intensität berechnet. Was berechnet werden soll, ist einzulesen. Je nach gesuchtem Wert sind dann die beiden anderen Werte einzulesen. Hinweis: Widerstand = Spannung/ Intensität Intensität = Spannung/Widerstand Spannung = Widerstand * Intensität

Zeichenketten Definition Operationen

Definition Der String ist eine unveränderliche geordnete Sammlung von Zeichen. Wir können auf seine Komponenten über ihre Position ( der Index) zugreifen. Indexe beginnen bei null und enden bei eins weniger als der Länge des Strings: Negative Indexe werden zu der Länge des Strings addiert

Operationen Zuweisung x in s Test auf enthalten sein x not in s s + s Zusammenfügen s = 'abcd' s * n, n * s Wiederholen

Funktionen Definition Einige Funktionen

Definition Funktionen sind Objekte, die einen Namen besitzen Funktionen werden in Ausdrücken abgerufen Sie akzeptieren durchgereichte Werte: die Argumente Sie geben Ergebnisse zurück Beispiele: Input: Druckt ggf. ihr Argument und gibt eine Eingabe des Benutzers zurück. raw_input: Druckt ggf. ihr Argument und gibt eine Eingabe des Benutzers als String zurück

Einige Funktionen len gibt die Länge ihres Arguments zurück min gibt das minimale Element ihres Arguments zurück max gibt das maximale Element ihres Arguments zurück int: gibt ihr Argument als ganze Zahl zurück float: gibt ihr Argument als Fließkommazahl zurück str: gibt ihr Argument als String zurück

Übungen len gibt die Länge ihres Arguments zurück min gibt das minimale Element ihres Arguments zurück max gibt das maximale Element ihres Arguments zurück int: gibt ihr Argument als ganze Zahl zurück float: gibt ihr Argument als Fließkommazahl zurück str: gibt ihr Argument als String zurück

Sequenzen Definition Teilbereiche (Slicing)

Definition Eine Sequenz ist eine Datenstruktur, in der mehrere Objekte stehen, wobei jede einen Index hat, der von 0 bis zur (Länge der Sequenz)-1 geht. Strings sind Sequenzen.

Teilbereiche einer Sequenz (Slicing) s[i:j] (Index j ausgeschlossen) (Index i eingeschlossen) s[:j] s[i:] bis Offset j (ausgeschlossen) ab Offset i (eingeschlossen)

Übungen 1- >>> string1 = "bon" >>> string2 = "jour" >>> offset1 = 1 >>> offset2 = 3 >>> print string1[offset1] >>> print string2[offset2] >>> print string1[-offset1] >>> print string1[-offset2]

Übungen 2- >>> string1 = "bon" >>> string2 = "jour" >>> offset2 = 3 >>> print string1 + string2 >>> print offset2 * string1

Übungen 3- >>> string1 = "bon" >>> string2 = "jour" >>> string = string1 + string2 >>> print string[2:5] >>> print string[:2] >>> print string[5:]

Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Eine Sequenz durchlaufen Flußdiagramm wahr s "BROL" t "" i 0 i = Länge von s? falsch x Objekt bei INDEX i in s t x + t i i + 1 i x t 0 B B 1 R RB 2 O ORB 3 L LORB 4 L LORB t schreiben

Pseudocode Eine Sequenz durchlaufen Für jedes Element in der Sequenz SEQUENZ tue Dieses Element in die Variable OBJEKT speichern Anweisungen Übersetzung in Python for OBJEKT in SEQUENZ: Anweisungen

Beispiel Vorgehensweise s "INFORMATIK«t "" Für jedes Element in s tue dieses Element in x speichern t x+t t schreiben I Ausführung NI FNI OFNI ROFNI MROFNI AMROFNI TAMROFNI ITAMROFNI KITAMROFNI

Umdrehen Der Anwender gibt eine Zeichenkette ein. Das System dreht sie um. P0608.py

Palindrom -1- Der Anwender gibt ein Wort ein. Das System erkennt ob das Wort ein Palindrom ist. (Palindrom das; -s, -e (Wort[folge] od. Satz, die vorwärts wie rückwärts gelesen den gleichen Sinn ergeben, z. B. Reittier; Rentner; Reliefpfeiler)

Bedingung am Anfang oder am Ende? Solange die Schüler ja sagen 5 Minuten Unterrichten falsch Die Schüler sagen ja wahr Den Unterricht beenden 5 Minuten Unterricht Wiederhole 5 Minuten Unterrichten 5 Minuten Unterricht bis die Schüler nicht ja sagen falsch Die Schüler sagen ja wahr Den Unterricht beenden

Solange tue in Python Antwort = raw_input ("möchten Sie Unterricht haben (ja)?") while Antwort=="ja": print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)?") print "Unterricht beendet" falsch Die Schüler sagen ja wahr Den Unterricht beenden 5 Minuten Unterricht

Wiederhole bis in Python print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)? ") while Antwort=="ja": print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)? ") print "Unterricht beendet" 5 Minuten Unterricht falsch Die Schüler sagen ja wahr Den Unterricht beenden

Palindrom -2- Der Anwender gibt ein Wort ein. Solange das eingegebene Wort kein Palindrom ist wird ein neues Wort gefragt. P0610.py

Primfaktoren Der Anwender gibt eine ganze Zahl ein. Das System zerlegt sie in Primfaktoren.

Primfaktoren Der Anwender gibt eine ganze Zahl ein. Das System zerlegt sie in Primfaktoren. P0611.py

GGT (größte gemeinsame Teiler) P0612.py

GGT Der Anwender gibt zwei ganze Zahlen ein. Das System rechnet ihren GGT. P0612.py

Summe der Teiler Der Anwender gibt eine ganze Zahl ein. Das System schreibt alle ihre Teiler und rechnet ihre Summe aus. P0613.py