INP (05) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter

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

Übersicht Programmablaufsteuerung

Fallunterscheidung: if-statement

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

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

Einführung in die Programmierung

Einfache Rechenstrukturen und Kontrollfluss II

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Erwin Grüner

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

C/C++ Programmierung

Kontrollstrukturen, Strukturierte Programmierung

5. Tutorium zu Programmieren

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

Java-Schulung Grundlagen

Softwareentwicklung 1. Übungsaufgabe 4 Kontrollstrukturen

Kontrollstrukturen. Bedingter Ablauf: if. Bedingter Ablauf: if-else

Sprachbeschreibung und Erweiterung

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

Entwurf von Algorithmen - Kontrollstrukturen

Einführung in die C-Programmierung

Grundlagen von C. Ausarbeitung von Jonas Gresens

Primitive Datentypen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Kontrollstrukturen - Universität Köln

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Einführung in die Programmierung

P r o g r a m m a b l a u f s t e u e r u n g

Einführung in VisualBasic for Applications. Stefan Mahlitz

Entscheidungen und Wertkonstanten

Kap 4. Befehle und Struktogramme

Prinzipien der Softwareentwicklung S. Strahringer

Dieser Teil führt in die Kontrollstrukturen von C++ ein. Eine Kontrollstruktur definiert, wie die einzelnen Anweisungen ausgeführt werden, z.b.

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

Programmieren von Webinformationssystemen

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt

Tutorium Rechnerorganisation

Sin-Funktion vgl. Cos-Funktion

JavaScript in Beispielen

Einführung in ActionScript

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Dr. Monika Meiler. Inhalt

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

Einführung in die Java- Programmierung

Linux Tutorium. 12. Shellprogrammierung. Version vom :38:56

"Alles, was einen Wert zurueckliefert, ist ein Ausdruck." Konstanten, Variablen, "Formeln" oder auch Methoden koennen Werte zurueckgeben.

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

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Linux Prinzipien und Programmierung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

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

Methodische Grundlagen des Software Engineering - Übung 9

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Erwin Grüner

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

VBA KURZTUTORIUM... 1

Modul 122 VBA Scribt.docx

Moderne C-Programmierung

Selber Programmieren

floatchart Flußdiagramme in TEX/L A TEX

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Programmieren von Webinformationssystemen

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

1. Der Einstieg in Java

7. Formale Sprachen und Grammatiken

Prinzipieller Grundaufbau eines einfachen C-Programmes

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung.

C Überlebenstraining

Excel Funktionen durch eigene Funktionen erweitern.

Angewandte Mathematik und Programmierung

1. Der Einstieg in Java. Was heißt Programmieren?

Python Programmieren. Variablen, Ausdrücke und Anweisungen

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

DBSP. Prof. Dr. rer. nat. Nane Kratzke. Vorlesung. Praktische Informatik und betriebliche Informationssysteme

Java-Programmierung mit NetBeans

13. Einführung in die Programmiersprache Strukturierter Text (ST)

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Lua Grundlagen Einführung in die Lua Programmiersprache

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Propädeutikum zur Programmierung

Übung Programmierung WS 2007/08 - Blatt 5

HEUTE. Effizienzbeispiel: bekannte Version (Übung ) Mathematik: Was ist Effizienz? vollständige Induktion

Termin 4: Programmieren in MATLAB

<Trainingsinhalt> C# programmieren

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

Einführung in die Informatik

C++ für Spieleprogrammierer

ARBEITSBLATT ZU FORMALEN SPRACHEN

Einführung in die Programmierung mit BlueJ

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Extrem kurzer Einstieg in die Programmierung mit Java

Datenbankanwendungsprogrammierung Crashkurs Java

Sommersemester 2003 Martin Ellermann Heiko Holtkamp. Interaktive Webseiten mit PHP und MySQL

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Einführung in die Programmierung mehr Ein- und Ausgabe, Programmfluss, Funktionen. Arvid Terzibaschian

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach

for ($i=1 ;$i<=25 ;$i++) { echo "$i "; }?> <br> <a href=" zur Index-Seite</a> </body> </html>

Transkript:

INP (05) 1 of 16 INP (05) Prof. Dr.-Ing. S. Gössner University of Applied Sciences Lippe & Höxter

INP (05) 2 of 16 Inhalt INP (05) Inhalt Kontrollanweisungen if - Anweisung if... else - Anweisung if.. else - Verkettung switch... case - Anweisung Konditionaloperator Schleifen while - Schleife do... while - Schleife for - Schleife for... in - Schleife break und continue - Anweisung Verschachtelte Schleifen

INP (05) 3 of 16 Kontrollanweisungen Normalerweise wird ein Programm sequentiell von der ersten bis zur letzten Anweisung ausgeführt. Eine solche sequentielle Ausführung ist der voreingestellte Programmfluss. Auf der Grundlage dieses Verhaltens lassen sich nur sehr simple Programme schreiben. Programmiersprachen stellen daher eine Menge von Anweisungen zur Verfügung, mittels derer der Programmfluss kontrolliert werden kann. Javascript hat die Kontrollanweisungen der C-Sprachfamilie übernommen. Verzeigungsanweisungen oder Auswahlanweisungen if if... else switch... case Auswahloperator?: Wiederholungsanweisungen while do... while for for... in Eine weitere Form der Kontrolle des Programmflusses ist die Verwendung von Funktionen und Methoden, bzw. die Ausnahmebehandlung mittels throw, try, catch.

INP (05) 4 of 16 if - Anweisung if (<Bedingung>) { Nach dem reservierten Wort if folgt innerhalb eines runden Klammerpaars eine Bedingung als Ausdruck. Wenn und nur wenn diese Bedingung unmittelbar oder nach der Umwandlung in einen Wert vom Typ Boolean true liefert, wird der nachfolgende Block von Anweisungen ausgeführt. Beachte: Wenn genau eine Anweisung nach if (<Bedingung>) folgt, dann kann das geschweifte Klammerpaar weggelassen, also if (<Bedingung>) <Anweisung>; geschrieben werden. Ein unmittelbar nach der if-anweisung folgendes Semikolon ist i.a. ein Fehler! Ein einzelnes Semikolon steht hier für eine leere Anweisung, was i.d.r. nicht das ist, was man will.

INP (05) 5 of 16 if... else - Anweisung if (<Bedingung>) { else { <alternative Anweisung>* Unmittelbar nach der if-anweisung folgt das Schlüsselwort else und ein Block alternativer Anweisungen. Beachte: else steht für ein bedingungsloses "andernfalls", und benötigt keinen in runden Klammern folgenden Ausdruck. Wenn genau eine Anweisung nach else folgt, dann kann das geschweifte Klammerpaar wegelassen, also "else <Anweisung>;" geschrieben werden.

INP (05) 6 of 16 if.. else - Verkettung if (<Bedingung>) { else if (<Bedingung>) { else { Die Anweisung im else-zweig einer if... else-anweisung kann wiederum eine if- oder if.. else-anweisung sein. Hierdurch gelangen wir zu einer multikonditionalen Anweisungsfolge. Beispiel var color = "rot", action; if (color == "grün") action = "gehen"; else if (color == "rot") action = "stehen"; else if (color == "grün+gelb") action = "fertigmachen"; else if (color == "gelb") action = "rennen"; else alert("ungültige Farbe/Farbkombination");

INP (05) 7 of 16 switch... case - Anweisung switch(<ausdruck>) { case <Wert-1>: ; case <Wert-2>: ;... case <Wert-n>: ; default: Die switch...case-anweisung ist eine multikonditionale Anweisung, die den Wert eines Ausdrucks mit einer Reihe gegebener Konstanten vergleicht. Liefert der Vergleich <Ausdruck> == <Wert-i> den Wert true, so werden die zu diesem case-zweig gehörigen Anweisungen ausgeführt. Liefern alle case-vergleiche den Wert true, werden die Anweisungen eines vorhandenen default-zweigs ausgeführt. Beispiel var color = "rot", action; switch (color) { case "grün"; action = "gehen"; case "rot": action = "stehen"; case "grün+gelb": action = "fertigmachen"; case "gelb": action = "rennen"; default: alert("ungültige Farbe/Farbkombination"); Beachte:

INP (05) 8 of 16 Der default-zweig ist optional. Die break-anweisung verhindert, dass nach einem zutreffenden case-zweig die nachfolgenden case-zweige ebenfalls ausgeführt werden. Das break fehlt also nur in Ausnahmefällen

INP (05) 9 of 16 Konditionaloperator <Bedingung>? <Ausdruck> : <Alternativausdruck> Dieser ternäre Operator liefert den Wert eines Ausdrucs und stellt keine Anweisung dar. Wegen der Ähnlichkeit zur if...else-anweisung bietet sich eine Diskussion hier jedoch an. Liefert <Bedingung> den Wert true, erhält der Gesamtausdruck den Wert von <Ausdruck>, sonst von <Alternativausdruck>. Beispiel: var alter = 8, eintritt = alter < 13? "frei" : "kostenpflichtig";

INP (05) 10 of 16 Schleifen Um eine Folge von Anweisungen mehrfach hintereinander ausführen zu können, bietet Javascript die üblichen Wiederholungsanweisungen der C-Sprachfamilie. Wiederholungsanweisungen werden auch als Schleifen oder Iterationen bezeichnet. Allen ist gemeinsam, dass sie in jedem Durchlauf eine Ausdruck auswerten und im Falle von true die Iteration fortsetzen, andernfalls abbrechen. Javascript bietet: while do while for for in

INP (05) 11 of 16 while - Schleife while (<Laufbedingung>) { Dem Schlüsselwort while folgt in einem runden Klammerpaar die <Laufbedingung>. Besitzt diese den Wert true, wird der nachfolgende Block von Anweisungen ausgeführt, sonst nicht. Beispiel var eingabe = prompt("eingabe", ""); while (eingabe!= "") { document.write(eingabe + "\n"); eingabe = prompt("eingabe", ""); Beachte: Wenn genau eine Anweisung nach while (<Laufbedingung>) folgt, dann kann das geschweifte Klammerpaar weggelassen, also while (<Laufbedingung>) <Anweisung>; geschrieben werden. Ein unmittelbar nach der while-anweisung folgendes Semikolon ist i.a. ein Fehler! Ein einzelnes Semikolon steht hier für eine leere Anweisung, was i.d.r. nicht das ist, was man will.

INP (05) 12 of 16 do... while - Schleife do { while (<Laufbedingung>) Ein Anweisungsblock wird von den Schlüsselwörtern do und while eingeschlossen, gefolgt von einem runden Klammerpaar, das eine <Laufbedingung> beinhaltet. Besitzt diese den Wert true, wird der eingeschlossene Block von Anweisungen wiederholt ausgeführt, sonst nicht. Da die Laufbedingung am Ende der do...while-schleife geprüft wird, bietet diese sich für solche Fälle an, in denen mindestens eine Iteration durchgeführt werden soll. Beispiel var eingabe; do { eingabe = prompt("eingabe", ""); document.write(eingabe + "\n"); while (eingabe!= "")

INP (05) 13 of 16 for - Schleife for (<Initialisierung>; <Laufbedingung>; <Iteration>) { Hinter dem Schlüsselwort for steht innerhalb eines runden Klammerpaars eine Folge von drei durch Semikoli getrennte Sektionen mit der Bedeutung: <Initialisierung> Vorbelegung von Variablen, die den Schleifenablauf steuern (Laufvariablen). <Laufbedingung> Besitzt diese den Wert true, wird der nachfolgende Block von Anweisungen ausgeführt, sonst nicht. <Iteration> Hier werden die Laufvariablen aktualisiert. Die Arbeitsweise: 1. 2. 3. 4. 5. Zum Schleifeneintritt werden die Anweisungen in der <Initialisierung>-Sektion ausgeführt. Es wird die <Laufbedingung> geprüft. Liefert die <Laufbedingung> den Wert true, werden die Anweisungen im Schleifenblock ausgeführt, sonst wird die Schleife abgebrochen. Es werden die Ausdrücke in der <Iteration> - Sektion ausgewertet. Weiter mit Schritt 2. Die for-schleife ist sehr leistungsfähig und die weitaus häufigst benutzte Wiederholungsanweisung. Beispiel var sum = 0; for (var i=1, max=100; i<=max; i++) sum += i*i;

INP (05) 14 of 16 for... in - Schleife for (<Eigenschaft> in <Objekt>) { Hinter dem Schlüsselwort for steht innerhalb eines runden Klammerpaars eine Variable(ndefinition) gefolgt vom reservierten Wort in und einer Objektvariablen. Während der Schleifenausführung nimmt die Variable <Eigenschaft> nacheinander alle Eigenschaftsbezeichnungen des Objekts <Objekt> an. Beispiel var adresse = { ort="lemgo", plz="32657", str="liebigstr.", nr=87 ; for (var e in adresse) document.write(e + "=" + adresse[e] + "\n");

INP (05) 15 of 16 break und continue - Anweisung break Die break - Anweisung kann neben ihrem Einsatz in der switch...case - Anweisung in allen Schleifen verwendet werden. Sie veranlasst den unmittelbaren Abbruch der Schleife. Beispiel var eingabe; for (;;) { // for ever eingabe = prompt("eingabe", ""); if (eingabe == "") document.write(eingabe + "\n"); continue Die continue kommt ausschliesslich in Schleifen zum Einsatz. Sie veranlasst unmittelbar eine neue Überprüfung der Laufbedingung. Beispiel var zahl; while (zahl!= 0) { zahl = parsefloatprompt("zahl bitte!", "0")); if (isnan(zahl)) { alert("bitte gültige Zahl eingeben!") continue; document.write(zahl + "\n");

INP (05) 16 of 16 Verschachtelte Schleifen Verschachtelte Schleifen haben eine grosse Bedeutung bei der Behandlung von zwei- und mehrdimensionalen Strukturen. for (var i=0; i<n; i++) { // Zeilensteuerung for (var j=0; j<m; j++) { // Spaltensteuerung //... // Zelleninhalt Beispiel: Ausgabe eines ASCII-Musters ------- / / / / / ------- var n = 7, out = document.write; for (var i=0; i<n; i++) { if (i==0 i==n-1) for (var j=0; j<n; j++) out("-"); else { for (var j=0; j<n-i-1; j++) out(" "); out("/"); out("\n");