Anweisungen und Kontrollstrukturen

Ähnliche Dokumente
2. Programmierung in C

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

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

Übersicht Programmablaufsteuerung

3. Anweisungen und Kontrollstrukturen

2.5 Programmstrukturen Entscheidung / Alternative

Vorlesung Programmieren

Flussdiagramm / Programmablaufplan (PAP)

BKTM - Programmieren leicht gemacht.

Grundlagen der Programmierung

ModProg 15-16, Vorl. 5

Grundlagen der Programmierung

Einführung in die Programmierung Wintersemester 2011/12

Schleifen in C/C++/Java

Webbasierte Programmierung

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

4. Ablaufsteuerung (Kontrollstrukturen)

Kontrollstrukturen, Strukturierte Programmierung

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Fallunterscheidung: if-statement

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

C- Kurs 04 Anweisungen

Programmieren in C/C++ und MATLAB

5. Elementare Befehle und Struktogramme

Kapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

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

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

C/C++ Programmierung

Entwurf von Algorithmen - Kontrollstrukturen

Objektorientierte Programmierung

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Die Programmiersprache C Eine Einführung

Welche Informatik-Kenntnisse bringen Sie mit?

Programmieren I. Kapitel 5. Kontrollfluss

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

Schleifenanweisungen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

6. Iteration (Schleifenanweisungen)

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

Grundlagen der Programmierung in C++ Kontrollstrukturen

Kontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe

Steueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Programmierkurs Python I

Präzedenz von Operatoren

Annehmende Schleife do while

Einführung in die C-Programmierung

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Einfache Rechenstrukturen und Kontrollfluss II

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!

Programmieren in C / C++ Grundlagen C 4

Einführung in die Programmierung

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

INE1 Wiederholungen while, do...while, for

Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"

RO-Tutorien 3 / 6 / 12

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

Theoretische Informatik SS 03 Übung 3

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PROGRAMMIERUNG IN JAVA

Java I Vorlesung Objektorientiertes Programmieren

SAS-Treff am URZ 14. März 2003

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

2. Die Darstellung von Algorithmen

5. Tutorium zu Programmieren

1 Vom Problem zum Programm

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Verzweigungen und Wiederholungen

Sage 0: Einführung Basics

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr SS INSTITUT FÜR ELEKTRONIK BIT

Vom Problem zum Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Schnellübersichten. Visual C# 2015 Grundlagen Programmierung

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Einstieg in die Informatik mit Java

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Objektorientierte Programmierung OOP Programmieren mit Java

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Dr. Monika Meiler. Inhalt

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Gliederung Programmiersprachen. Programmiersprachen Einführung in C. Kontrollstrukturen. Verzweigung mit IF. Beispiel: Zahlenklassifizieren

4 Schleifen -= Entstanden unter Excel 2003 =-

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Syntax von LOOP-Programmen

Grundlagen der C++ und der Java-Programmierung

1. Grundlegende Konzepte der Informatik

Einführung in die C++ Programmierung für Ingenieure

Transkript:

Anweisungen und Kontrollstrukturen Anweisungen werden im Programm nacheinander als Sequenz abgearbeitet, wenn nichts anderes angegeben ist. Einzelne Anweisung mit einer Zuweisung, zum Beispiel: A = 2*r*r; Eine Anweisung ist auch der Aufruf einer Funktion, zum Beispiel: printf( Der Erdumfang betraegt %lf km\n, 2.0*3.14159*erdradius); Verbundanweisungen (auch als Blöcke bezeichnet) mit lokalen Variablen: { int x, y, z; z=2*x+4*y; printf("%d %d %d\n", x,y,z); Peter Sobe 1

Beeinflussung des Kontrollflusses, d.h. der Reihenfolge, wie die Anweisungen abgearbeitet werden. 1. Sequenz Kontrollstrukturen 2. Selektion (auch Alternative) zwingend notwendig 3. Zyklus 4. Funktionsaufruf (Unterprogramme) und Varianten von 2,3,4 Peter Sobe 2

Selektion: if Die if-anweisung ist das Ausdrucksmittel für die Selektion in C. if ( Bedingung) Anw; if (Bedingung) Verbundanweisung Beispiel: int monat; printf("bitte Monat Ihres Geburtsdatums eingeben:"); scanf("%d",&monat); if (monat<1 monat>12) { printf( falscher Wert für Monat eingegeben!\n"); exit(exit_failure); Peter Sobe 3

Selektion: if-else if ( Bedingung ) Anw1; else Anw2; if (Bedingung) Verbundanweisung1 else Verbundanweisung2 Beispiel: char kuehlen = 0, heizen = 0; if (temperatur-zielwert > 2) { printf("zu warm -> kuehlen\n"); kuehlen = 1; else { if (zielwert temperatur > 2 ) { printf( zu kalt -> heizen\n"); heizen = 1; Peter Sobe 4

Mehrfachselektion: switch-case Zur Selektion unter mehreren alternativen Zweigen switch(fallausdruck) { case Wert_1: Anw_1; break; case Wert_2: Anw_2; break; case Wert_n: Anw_n; break; default: // kann entfallen Anw_0; Peter Sobe 5

Mehrfachselektion: switch-case Beispiel unsigned int tag, monat, jahr; // Eingabe des Datums switch(monat) { case 1: printf("januar"); break; case 2: printf("februar"); break; case 3: printf("maerz");break; default: printf("-undefiniert-"); In einen Fall (case) wird bei entsprechendem Wert (Konstante) des Fallausdrucks gesprungen. Nach case folgt eine oder mehrere Anweisungen. Achtung keine Verbundanweisung mit { Die break-anweisung ist erforderlich, damit nicht zusätzlich der jeweils folgende Fall auch abgehandelt wird! Peter Sobe 6

Zyklus: while Allgemeine Formen: while ( Bedingung ) Anweisung; while ( Bedingung ) Verbundanweisung Die Anweisung oder Verbundanweisung wird solange wiederholt ausgeführt, wie die Bedingung zutrifft. Durch Änderungen der Variablenwerte wird die Bedingung i.d.r. nach endlich vielen Durchläufen irgendwann nicht mehr zutreffen und die Wiederholung endet. Trifft die Bedingung bei Eintritt in die Schleife nicht zu, wird die Anweisung nicht (auch nicht ein einziges mal) ausgeführt. Peter Sobe 7

Zyklus: while Beispiel: int summe = 0; int i = 10; while (i >= 1) { // entspricht while (i>0), entspricht while (i) summe += i; --i; // oder i--; printf( Die Summe der Zahlen von 1 bis 10 ist %d \n, summe);. Peter Sobe 8

Zyklus: do-while Allgemeine Formen: do Anweisung; while ( Bedingung); do Verbundanweisung while (Bedingung); Die do-while-schleife wird mindestens einmal durchlaufen. Die Anweisung oder Verbundanweisung wird solange noch einmal ausgeführt, wie die Bedingung nach der Ausführung zutrifft. Typischerweise ändert die Anweisung oder Verbundanweisung den Inhalt der Variable, die für die Bedingung benutzt werden. Damit wird erreicht, dass die Wiederholung irgendwann endet. Peter Sobe 9

Zyklus: do-while Beispiel: int summe = 0; int i = 10; do { summe += i; --i; while (i >= 1); printf( Die Summe der Zahlen von 1 bis 10 ist %d \n,summe); Peter Sobe 10

Zähl-Zyklus: for Entsprechende Form: for (Lv=awert; Lv<=ewert ; Lv=Lv+s) Anw Lv dient hier als Zählvariable Allgemeine Form: for ( Init-Ausdruck ; Bedingung ; Schritt-Ausdruck ) Anweisung; for ( Init-Ausdruck ; Bedingung ; Schritt-Ausdruck ) Verbundanweisung Solange die Bedingung erfüllt ist, wird die Anweisung wiederholt. Die Ausdrücke in der for-schleife können auch leer sein. Peter Sobe 11

Zähl-Zyklus: for Beispiel: int i; int summe = 0; for (i = 10; i > 0; --i) { summe += i; printf( Die Summe ist %d \n,summe); Peter Sobe 12

Zähl-Zyklus: for Wirkungsweise einer for-schleife als Programmablaufplan: for ( Init-Ausdruck ; Bedingung ; Schritt-Ausdruck ) Anweisung Init-Ausdruck Bedingung ja nein Anweisung Schritt-Ausdruck Peter Sobe 13

Zähl-Zyklus: for Beispiel 1, Zwerge durchzählen: int zwergnr; for ( zwergnr=1 ; zwergnr<=7 ; zwergnr=zwergnr+1 ) printf( Zwerg Nr. %d meldet sich zur Arbeit. \n, zwergnr); Beispiel 2, Scannen von Termineinträgen: int h,m; // h Stunden, m Minuten for (h=0; h<24;h=h+1) { for (m=0; m<60; m=m+1) { if ( termin(h,m) ) printf( Termin um %02d:%02d \n,h,m); Peter Sobe 14

break-anweisung Die break-anweisung kann in allen Schleifen verwendet werden, um die aktuelle Iteration vorzeitig zu beenden, d.h. vor Erreichen der normalen Ende-Bedingung. Es wird danach aus der Schleife herausgegangen. Anwendung für while-, do-while- und for-schleifen Beispiel: for (i=0; i<imax; i++) { if (bedingung1) { break;... if (bedingung2) { break;... if (bedingung3) { break;... Peter Sobe 15

continue-anweisung Die continue-anweisung kann in allen Schleifen verwendet werden, um die aktuelle Ausführung des Schleifenkörpers vorzeitig zu beenden, d.h. vor Erreichen der normalen Ende-Bedingung. Es wird dann mit der folgenden Iteration weiter gemacht. Anwendung für while-, do-while- und for-schleifen Beispiel: for (i=0; i<imax; i++) { // do something... if (bedingung) { continue;... // do somethinge else... Peter Sobe 16

Nutzung der verschiedenen Zyklen Die drei verschiedenen Varianten für den Zyklus while, do-while und for können alternativ verwendet werden. Aspekte für eine sinnvolle Auswahl: Verwendung der while-anweisung, wenn die Anzahl der Iterationen n unbekannt ist, mit n >= 0 (auch null Durchläufe möglich!) Verwendung der do-while-anweisung, wenn im Gegensatz dazu n>=1 (mindestens ein Durchlauf!) und Bevorzugung des for-zyklus dann, wenn die Anzahl der Iterationen schon bekannt ist. Peter Sobe 17