Taschenrechner Version 6.1

Größe: px
Ab Seite anzeigen:

Download "Taschenrechner Version 6.1"

Transkript

1 Taschenrechner Version 6.1 Wie kann ich ein Programmteil 10 mal wiederholen? Start i := 1 FOR i := 1 TO 10 DO Eingabe Berechnung Ausgabe BLOCK i:= i+1 i<= 10 nein Ende ja Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 51 Taschenrechner Version 6.1 Module Taschenrechner; (* Dies ist das Taschenrechnerprogramm Version 6.1 *) FROM InOut IMPORT (*PROC*) WriteInt, ReadInt, WriteString, WriteLn, Read; CONST max = 10; (* GENAU 10 Berechnungen *) VAR x,y,erg,i : INTEGER; Op : CHAR; WriteString ('Hallo, ich bin ein Taschenrechner.');WriteLn; FOR i := 1 TO max DO WriteString('Eingabe x:'); ReadInt(x); WriteString('Eingabe y:'); ReadInt(y); WriteString('Welche Operation (+,-,*)?'); Read(Op); CASE Op OF '+' : Erg := x+y '-' : Erg := x-y '*' : Erg := x*y ELSE WriteString('Die Eingabe war nicht korrekt') WriteString('Ergebnis:'); WriteInt(Erg); WriteLn; END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 52

2 Schleifen FOR-Anweisung ForStatement 51 FOR Ident 1 := Expression 39 TO Expression 39 BY ConstExpr. 27 DO StatementSequence 14 END Die Zahl der Durchläufe muss vorher schon feststehen. Die Laufvariable kann den Typ INTEGER, CARDINAL, BOOLEAN, CHAR, Enumeration oder Subrange haben. Die Ausdrücke hinter := und TO müssen ausdruckskompatibel mit der Laufvariablen sein. Der Konstantenausdruck (die Schrittweite) muss vom Typ INTEGER oder CARDINAL (jeweils <> 0) sein. Bei Fehlen, wird Schrittweite 1 angenommen. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 53 Schleifen Ausführung einer FOR-Anweisung Der Anfangswert und der Endwert werden zu Begin berechnet (d.h. nur einmal!) Der Wert der Laufvariablen sollte im Schleifenrumpf nicht durch den Programmierer verändert werden! Der Wert der Laufvariablen ist nach Beendigung der Schleife undefiniert. Problem: Es ist nur eine konstante Anzahl von Aufrufen möglich. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 54

3 Taschenrechner Version 6.2 Wie kann ich beliebig oft wiederholen? Start REPEAT BLOCK Eingabe Berechnung Ausgabe Abfrage Weiter j/n nein Antwort = n ja Ende UNTIL Antwort = 'n'; Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 55 Taschenrechner Version 6.2 Module Taschenrechner; (* Taschenrechnerprogramm Version 6.2 *) FROM InOut IMPORT (*PROC*) WriteInt, ReadInt, WriteString, WriteLn, Read; VAR x, y, Erg : INTEGER; Op, Antwort : CHAR; (* Wiederholung (j)a oder (n)ein *) WriteString ('Hallo, ich bin ein Taschenrechner.'); WriteLn; REPEAT WriteString('Eingabe x:'); ReadInt(x); WriteString('Eingabe y:'); ReadInt(y); WriteString('Welche Operation (+,-,*)?'); Read(Op); CASE Op OF '+' : Erg := x+y '-' : Erg := x-y '*' : Erg := x*y ELSE WriteString('Die Eingabe war nicht korrekt') WriteString ('Ergebnis:'); WriteInt(Erg); WriteString('Weiter (j)a oder (n)ein?'); Read(Antwort); UNTIL Antwort = 'n'; END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 56

4 Schleifen Repeat-Anweisung RepeatStatement 50 REPEAT StatementSequence 14 UNTIL Expression 39 (1) Der Schleifenrumpf einmal ausgeführt. (2) Dann wird die Schleifenbedingung ausgewertet: a) Falls TRUE, dann ist die REPEAT-Schleife beendet und die darauf folgende Anweisung wird ausgeführt b) Falls FALSE gehe zurück zu (1) Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 57 Taschenrechner Version 6.3 Bis jetzt muss eine Berechnung ausgeführt werden. Wie kann man die Schleife so gestalten, dass man auch ohne Berechnung das Programm beenden kann? Start WHILE Antwort = 'n' DO Abfrage Weiter j/n? ja Antwort = 'n' nein Eingabe Berechnung Ausgabe BLOCK Abfrage Weiter j/n Ende Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 58

5 Taschenrechner Version 6.3 Module Taschenrechner; (* Taschenrechnerprogramm Version 6.3 *) FROM InOut IMPORT (* PROC *) WriteInt, ReadInt, WriteString, WriteLn, Read; VAR x, y, Erg: INTEGER; Op, Antwort : CHAR; (* Wiederholung (j)a oder (n)ein *) WriteString('Hallo, ich bin ein Taschenrechner.'); WriteLn; WriteString('Weiter (j)a oder (n)ein?'); Read(Antwort); WHILE Antwort = 'j' DO WriteString('Eingabe x:'); ReadInt(x); WriteString('Eingabe y:'); ReadInt(y); WriteString('Welche Operation (+,-,*)?'); Read(Op); CASE Op OF '+' : Erg := x+y '-' : Erg := x-y '*' : Erg := x*y ELSE WriteString('Die Eingabe war nicht korrekt') WriteString ('Ergebnis:'); WriteInt(Erg); WriteString('Weiter (j)a oder (n)ein?'); WriteLn; Read(Antwort); END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 59 Schleifen WHILE-Anweisung WhileStatement 49 WHILE Expression 39 DO StatementSequence 14 END (1) Die Schleifenbedingung wird ausgewertet: a) Falls TRUE, wird der Schleifenrumpf einmal ausgeführt und bei (1) die WHILE-Bedingung erneut abgeprüft. b) Falls FALSE, ist die WHILE-Schleife beendet. (2) Die darauf folgende Anweisung wird ausgeführt. Problem: Doppelte Programmierung der Abbruchbedingung nötig Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 60

6 Taschenrechner Version 6.4 Wie kann ich eine Schleife an einer beliebigen Stelle verlassen? Module Taschenrechner; (* Taschenrechnerprogramm Version 6.4 *) FROM InOut IMPORT (* PROC *) WriteInt, ReadInt, WriteString, WriteLn, Read; VAR x, y, Erg : INTEGER; Op : CHAR; WriteString ('Hallo, ich bin ein Taschenrechner.'); WriteLn; WriteString('Weiter (j)a oder (n)ein?'); Read (Antwort); LOOP WriteString('Eingabe x:'); ReadInt(x); WriteString('Eingabe y:'); ReadInt(y); WriteString('Welche Operation (+,-,*)?'); Read(Op); CASE Op OF '+' : Erg := x+y '-' : Erg := x-y '*' : Erg := x*y ELSE WriteString('Die Eingabe war nicht korrekt'); EXIT WriteString('Ergebnis:'); WriteInt(Erg); WriteString('Weiter (j)a oder (n)ein?'); Read(Antwort); IF Antwort = 'n' THEN EXIT END END END Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 61 Schleifen LOOP-Anweisung mit EXIT-Anweisung allgemeinste und flexibelste Form der Schleife WHILE, REPEAT, FOR sind wegen ihrer größeren Sicherheit der LOOP vorzuziehen LoopStatement 52 LOOP StatementSequence 14 END ExitStatement 53 EXIT Der Rumpf wird solange ausgeführt, bis man auf die EXIT-Anweisung stößt. Die EXIT-Anweisung bewirkt das sofortige Verlassen der Schleife. Danach wird mit der darauf folgenden Anweisung fortgefahren. In einer LOOP Schleife dürfen mehrere EXITs vorkommen. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 62

7 Prozeduren Wie kann man ein Programm in Teilbereiche strukturieren? Idee: Programmteile die mehrmals im Programm vorkommen, können als "Prozeduren" programmiert werden. Diese stellen Unterprogramme dar, die von dem Hauptprogramm oder anderen Prozeduren aufgerufen werden können. Realisierung: Modularisierung durch Prozeduren Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 63 Prozeduren Wesentlicher Vorteil: Komplexes Programm Komplexes Programm zerlegen Kleinere "leichtere" Teilprobleme Prozeduren Ein großes Programm (Problem) kann in kleinere Prozeduren (Teilprobleme) zerlegt werden. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 64

8 Prozeduren Beispiel: Unser Taschenrechner soll mit einer Funktion zur Potenzberechnung erweitert werden. X Y für X,Y aus den natürlichen Zahlen Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 65 Prozeduren Option 1: Direktes Einfügen der Potenzfunktion in unser bestehendes Taschenrechnerprogramm MODULE Taschenrechner; (* Programmfragment *) VAR x,y,erg,i : INTEGER; : : WriteString ('Welche Operation (+,-,*,^)?'); Read(Op); CASE Op OF '+' : Erg := x+y; '-' : Erg := x-y; '*' : Erg := x*y; '^' : Erg := 1; For i := 1 TO y DO Erg := x * Erg; END ELSE WriteString('Die Eingabe war nicht korrekt'); End Taschenrechner. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 66

9 Prozeduren Nachteile des bisherigen Ansatzes: 1) Wiederverwendung in anderen Programmteilen! (nur durch Duplizierung des entsprechenden Programmteils) Beispiel: Wiederholte Berechnung von X Y MODULE immerwieder1; VAR... : FOR i=1 TO y DO Erg:= x*erg; FOR i=1 TO y DO Erg:= x*erg; Wiederholter Programmteil Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 67 Prozeduren 2) Schlechtere Lesbarkeit (bei wachsender Programmgröße) Wie finde ich den Teil, der XY implementiert? Wie finde ich alle Programmzeilen, die für die Implementierung von XY benötigt werden? Wo ist Erg definiert? Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 68

10 Prozeduren 3) Änderungen bzw. Modifikationen im Programm werden erschwert potentielle Inkonsistenz wenn der Programmteil kopiert wurde! potentielle Fehlerquelle, da es schwer wird die "richtigen" Zeilen zu finden und zu ändern. 4) Fehlersuche (Debugging) wird erschwert Das Programm kann für gewöhnlich nur als Ganzes getestet werden, obwohl z.b. nur eine einzelne Teilfunktion geändert wurde. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 69 Prozeduraufruf Option 2: Aufruf eines entsprechenden Unterprogramms zur Berechnung der Potenzfunktion MODULE Taschenrechner : Prozeduraufruf : CASE Op OF : input Pot '^' : Erg:=Pot(x,y); output Prozedur zur Berechnung : der Potenz basis exp END Taschenrechner. Das Konzept ist vergleichbar mit dem Einsatz mathematischer Funktionen. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 70

11 Prozeduraufruf Ein- bzw. Ausgabeparameter von Prozeduren Eine Prozedur benötigt 0 bis n Eingabeparameter (Input) und kann 0 bis 1 Ausgabeparameter (Output) liefern. x,y :INTEGER x y :INTEGER Beispiel: Input Output POT Input 2, 3 POT 2 3 = 8 Output Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 71 Prozeduraufruf Jeder Prozedur ist eine Schnittstelle (Signatur) zugeordnet. Die Signatur enthält die Anzahl und den Typ der Parameter, die von der entsprechenden Prozedur benötigt werden, sowie den Ausgabetyp (falls vorhanden). Typ-In_1,...,Typ-In_n Typ-Out Beim Prozeduraufruf müssen die aktuellen Parameter in Anzahl und Typ immer zur Signatur der Prozedur passen. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 72

12 Prozeduraufruf Beispiel: Die Signatur von Pot(basis,exp:INTEGER):INTEGER ist gegeben durch INTEGER,INTEGER INTEGER. Folgende Fehler sind an der Signatur von Pot erkennbar: falscher Parametertyp: Erg := Pot('zwei','drei'); falsche Anzahl von Parametern: Erg := Pot(1); falscher Typ beim "RETURN" der Prozedur: PROCEDURE Pot(basis,exp : INTEGER ): INTEGER; : : RETURN TRUE; END Pot; Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 73 Prozeduraufruf Überprüfung der Signatur Der Compiler prüft bereits beim Übersetzen des Programms (compile time), ob alle Prozeduraufrufe mit der Signatur der Prozedur übereinstimmen: Liegt ein Fehler vor, so wird dieser vom Compiler gemeldet, und der Programmierer kann den Fehler beheben. Vorteil: Somit werden Fehler, die aufgrund von nicht kompatiblen Typen zur Laufzeit (run time) auftreten könnten, schon zur Übersetzungszeit abgefangen (static type checking). Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 74

13 Typüberprüfung Typisierung von Programmiersprachen (1) 1) Eine Sprache wird als statisch typisiert (statically typed) bezeichnet, wenn der Typ jedes Ausdrucks zur Übersetzungszeit bekannt ist. Beispiele: MODULA-2, PASCAL, C 2) Ansonsten ist sie dynamisch typisiert (dynamically typed) Beispiele: C++, andere objekt-orientierte Sprachen Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 75 Typüberprüfung Typisierung von Programmiersprachen (2) 3) Untypisiert (non-typed) heißen alle Sprachen, bei denen kein Typ zur Übersetzungszeit bekannt ist. In solchen Fällen kann keine Typüberprüfung durchgeführt werden. Beispiele: LISP, SMALLTALK 4) Eine Sprache ist streng typisiert (strongly typed), wenn zugesichert ist, dass alle Programme, die der Programmierer als korrekt ansieht, zur Laufzeit keine Typfehler erzeugen. Der Typ jedes Ausdrucks muss jedoch nicht bekannt sein ( statisch oder dynamisch typisiert). Solche Programme heißen typsicher (type safe). Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 76

14 Typüberprüfung Beispiel für eine typsichere Programmiersprache: MODULA-2 MODULE Typfehler; VAR x: REAL; y: INTEGER; x := 2.3; y := x; (* compile time TYPE ERROR *) END Typfehler. Eine Zuweisung INTEGER REAL ist z.b. in C/C++ möglich. In solchen Fällen wird hierbei intern eine Typumwandlung (type coercion) durchgeführt. Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 77 Typüberprüfung Hinsichtlich der Typkompatibilität von INTEGER und REAL ergeben sich folgende mögliche bzw. e Zuweisungen: Zuweisung Sprache MODULA-2 PASCAL C C++ ADA ALGOL FORTRAN Integer Real möglich (interne Konvertierung) möglich (interne Konvertierung) möglich (interne Konvertierung) möglich (interne Konvertierung) Real Integer möglich (automatisches TRUNC) möglich mit Warnung (automatisches TRUNC) Praktische Informatik 1 R.Zicari / JWG-Universität Frankfurt Kap.3 - Modula-2 S. 78

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Schleifenprogrammierung in C/C++, Fortran und Pascal

Schleifenprogrammierung in C/C++, Fortran und Pascal Schleifenprogrammierung in C/C++, Fortran und Pascal Stefan Ackermann Mathematisches Institut der Universität Leipzig 8. April 2009 1 Die kopfgesteuerte Schleife Bei der kopfgesteuerten Schleife steht

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 4. Schleifen

Grundlagen der Programmierung Prof. H. Mössenböck. 4. Schleifen Grundlagen der Programmierung Prof. H. Mössenböck 4. Schleifen While-Schleife Führt eine Anweisungsfolge aus, solange eine bestimmte Bedingung gilt i 1 sum 0 i n sum sum + i i i + 1 i = 1; sum = 0; while

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

2.5 Programmstrukturen Entscheidung / Alternative

2.5 Programmstrukturen Entscheidung / Alternative Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung

Mehr

monika.heiner@informatik.tu-cottbus.de SS 2013 1.4-1 / 16 schrittweise Verfeinerung -> Wirth, 1971, Programm Development by Stepwise Refinement

monika.heiner@informatik.tu-cottbus.de SS 2013 1.4-1 / 16 schrittweise Verfeinerung -> Wirth, 1971, Programm Development by Stepwise Refinement IMPLEMENTIERUNGSSTRATEGIE bis jetzt: Programmstruktur für Programmieren im Kleinen jetzt: Programmstruktur für Programmieren im Großen zunächst allgemein, d. h. sprachunabhängig monika.heiner@informatik.tu-cottbus.de

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Access 2010 Programmierung Schleifen

Access 2010 Programmierung Schleifen Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze

Mehr

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

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Webbasierte Programmierung

Webbasierte Programmierung Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,

Mehr

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

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

4 Schleifen -= Entstanden unter Excel 2003 =-

4 Schleifen -= Entstanden unter Excel 2003 =- Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal

Mehr

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

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Großübung zu Einführung in die Programmierung

Großübung zu Einführung in die Programmierung Großübung zu Einführung in die Programmierung Daniel Bimschas, M.Sc. Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/bimschas Inhalt 1. Besprechung Übung 4 Iteration

Mehr

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

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Übungen: 6 Schleifen Objektorientierte Programmierung OOP Programmieren mit Java 1. do-schleife 2. while-schleife 3. a) c) Verschiedene for-schleifen 6 Schleifen Übungen 4. for-schleife: halber Tannenbaum

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Flussdiagramm / Programmablaufplan (PAP)

Flussdiagramm / Programmablaufplan (PAP) Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze

Mehr

ModProg 15-16, Vorl. 5

ModProg 15-16, Vorl. 5 ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

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

P r o g r a m m a b l a u f s t e u e r u n g Jede Programmiersprache braucht Konstrukte zur Steuerung des Programmablaufs. Grundsätzlich unterscheiden wir Verzweigungen und Schleifen. Schleifen dienen dazu, bestimmte Anweisungen wiederholt auszuführen,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. 1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. Beschreiben Sie ferner je einen frei gewählten Datentyp aus der Gruppe der skalaren und einen aus der Gruppe der strukturierten

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Inhalt. 4.7 Funktionen

Inhalt. 4.7 Funktionen Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern

Mehr

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

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 Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns

Mehr

Fachseminar. Semantische Analyse

Fachseminar. Semantische Analyse Fachseminar Vortragender: Arton Berisha Thema : Semantische Analyse Kursleiter: Prof. Dr. Helmut Weber Agenda 1. Einleitung 1.1 Phasen eines Compilers 1.2 Symboltabelle 2. Semantische Analyse 2.1 Was ist

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

Grundlagen der Programmierung in C Funktionen

Grundlagen der Programmierung in C Funktionen Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Die Algorithmenbeschreibungssprache Jana

Die Algorithmenbeschreibungssprache Jana Jana 1 Die Algorithmenbeschreibungssprache Jana Günther Blaschek, Institut für Systemsoftware, JKU Linz Juni 2011 Jana (Java-based Abstract Notation for Algorithms) ist eine Beschreibungssprache zur Formulierung

Mehr

Einfache Rechenstrukturen und Kontrollfluss II

Einfache Rechenstrukturen und Kontrollfluss II Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative

Mehr

Computer und Software 1

Computer und Software 1 omputer und oftware 1 hristof Köhler 7. aple Programmieren Folien: alint Aradi Details zu den Klausuren Die Klausuren finden am 11. bzw. 12. ärz statt. Die genaue Einteilung erfolgt nach dem 31. Januar

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am 1 Aufgabe 1 a) procedure FeldMinMax(inFeld: tfeld; var outmin, outmax: integer); { Ermittelt den kleinsten sowie den größten aller Werte in infeld und gibt diese in den Ausgabeparametern outmin bzw. outmax

Mehr

5.13 Umgang mit Fehlern

5.13 Umgang mit Fehlern 5.13 Umgang mit Fehlern Klassifikation von Fehlern: Syntaxfehler: Lexikalische Fehler: Falsche oder unbekannte Worte String s neu String("Max"); Falsche Anordnung von Anweisungen: Falscher Typ: import

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 10 10 V Wirtschaftsinformatik für Wirtschaftwissenschaftler Algorithmen und ihre Programmierung -Teil 1 - Dr. Chris Bizer WS 007/008 Einführung Definition: Algorithmus Ein Algorithmus

Mehr

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

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

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren 1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

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

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

Jede der folgenden Richtlinien erlaubt Ausnahmen, die ganz im Ermessen der Autoren sind.

Jede der folgenden Richtlinien erlaubt Ausnahmen, die ganz im Ermessen der Autoren sind. www.programmieraufgaben.ch Richtlinien für Autoren Dieses Dokument beschreibt, wie Aufgaben, Verifikationen und Musterlösungen auf www.programmieraufgaben.ch erfasst werden sollten, damit die Lernaufgaben

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive

Mehr

Arbeiten mit JavaKara

Arbeiten mit JavaKara Arbeiten mit JavaKara 1. Programmierumgebung Möchte man ein neues Programm erstellen, so wird einem ein Programmeditor zur Verfügung gestellt, der bereits eine vorgefertigte Schablone darstellt. In der

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

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

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

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

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Programmiersprache Visual Basic. 4. Grundlagen der Datenbanktechnologie.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Programmiersprache Visual Basic. 4. Grundlagen der Datenbanktechnologie. 1. Einführung in die Informatik Inhalt 2. Algorithmen 3. Programmiersprache Visual Basic 4. Grundlagen der Datenbanktechnologie Peter Sobe 1 Programmiersprache Visual Basic Inhalt des Abschnitts Varianten

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren für Wirtschaftswissenschaftler SS 2015 DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 3. Verzweigungen und Schleifen

Mehr

Steuern des GSR-Interface mit QBasic

Steuern des GSR-Interface mit QBasic Steuern des GSR-Interface mit QBasic Erstellt von Jochen Sendler, Geschwister-Scholl-Realschule Mannheim Inhaltsverzeichnis 1. Die Programmiersprache QBasic 3 2. Starten von QBasic 3 3. Ansteuern einzelner

Mehr

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist

Mehr

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

13. Einführung in die Programmiersprache Strukturierter Text (ST) 13. Einführung in die Programmiersprache Strukturierter Text (ST) 13.1 Übersicht Strukturierter Text (ST, auch SCL) ist eine der sechs in IEC 61131-3 festgeschriebenen Programmiersprachen für Automatisierungstechnik.

Mehr

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Haskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell

Haskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell Haskell, Typen, und Typberechnung Grundlagen der Programmierung 3 A Typen, Typberechnung und Typcheck Prof. Dr. Manfred Schmidt-Schauß Ziele: Haskells Typisierung Typisierungs-Regeln Typ-Berechnung Milners

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr