Taschenrechner Version 6.1
|
|
|
- Axel Junge
- vor 9 Jahren
- Abrufe
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
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
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
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
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
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
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
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
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
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
[email protected] 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 [email protected]
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
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
Ü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
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
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,
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,
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
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
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
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
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,
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
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
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
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
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:
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
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
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
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
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
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Rückblick Datentypen (int, long, double, boolean, String) Variablen und Variablendeklarationen
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: [email protected]
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
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,
Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung
Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung [email protected] 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben
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,
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
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:
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
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.)
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)
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
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).
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");
Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. [email protected]. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth [email protected] Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
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
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
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
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
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
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 [email protected] Ältester Mechanismus für Code-Reuse:
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
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
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
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
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
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
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
Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein ([email protected]) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!
1.8 Kontrollstrukturen 73 default : ziffer = 0; if (ziffer > 0) { cout
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
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,
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
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
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
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
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)
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
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
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
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
Übersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
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
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
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
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
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
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
Propädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) [email protected] Universität Leipzig Institut für Informatik Technische Informatik
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
Ü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
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
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
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
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
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
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.
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: [email protected] Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
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"
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
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
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
