Abschnitt 6: Grundlagen der imperativen Programmierung
|
|
- Nicolas Koenig
- vor 6 Jahren
- Abrufe
Transkript
1 Abschnitt 6: Grundlagen der imperativen Programmierung 6. Grundlagen der imperativen Programmierung Prozeduraufrufe 6.3 Variablen, Anweisungen und Prozeduren in Java 6.4 Bedingte Anweisungen und Iteration 6.5 Reihungen (Arrays) 6.6 Zeichenketten (Strings) 6.7 Strukturierung von Programmen 6.8 Zusammenfassung und Beispiele Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
2 Überblick 6. Grundlagen der imperativen Programmierung Prozeduraufrufe 6.3 Variablen, Anweisungen und Prozeduren in Java 6.4 Bedingte Anweisungen und Iteration 6.5 Reihungen (Arrays) 6.6 Zeichenketten (Strings) 6.7 Strukturierung von Programmen 6.8 Zusammenfassung und Beispiele Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
3 Road Map Wir wenden uns jetzt dem imperativen Paradigma zu. Zur Erinnerung: imperative Algorithmen werden typischerweise als Folge von Anweisungen formuliert. Diese Anweisung haben meist Nebeneffekte, bei denen Größen (meist in Form von Variablen) geändert werden. Wir werden sehen, dass einiger der funktionalen Konzept der vergangenen Kapitel entsprechende imperative Pendants haben, bzw. dass sich funktionale und imperative Konzepte sehr gut miteinander vereinbaren lassen. Wir verwenden wie vorher wieder eine Pseudo-Sprache, um die Konzepte zu erklären und sehen uns dann deren Umsetzung in Java an. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
4 Variablen Im vorherigen Kapitel haben wir Ausdrücke nur mit Operationssymbolen (Literale und mehrstelligen Operatoren) gebildet; als Variablen haben wir nur die Eingabevariablen der Algorithmen (Funktionen) zugelassen. Diese Einschränkung über der Menge der für Ausdrücke zur Verfügung stehenden Variablen V geben wir jetzt auf: Wir erlauben nun auch weitere Variablen in Ausdrücken, allerdings müssen diese vorher vereinbart, also bekannt, sein. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
5 Variablen Wozu sind Variablen gut? Betrachten wir als Beispiel folgenden (in funktionaler Darstellung) angegebenen Algorithmus: Berechne die Funktion f (x) für x 1 mit f : R R gegeben durch f (x) = ( x ) 2 für x 1 x + 1 Eine imperative Darstellung erhält man z.b. durch Aufteilung der Funktionsdefinition in mehrere Anweisungen, die nacheinander auszuführen sind: y 1 = x + 1; y 2 = y y 1 ; y 3 = y 2 y 2; f (x) =y 3. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
6 Variablen Intuition des Auswertungsvorgangs der imperativen Darstellung: y1, y 2 und y 3 repräsentieren drei Zettel. Auf diese Zettel werden der Reihe nach Rechenergebnisse geschrieben (Werte verändert Nebeneffekte). Bei Bedarf wird der Wert auf dem Zettel abgelesen. Formal steckt hinter dieser Intuition eine Substitution: x wird beim Aufruf der Funktion wie bisher durch den Eingabewert substituiert. y1 wird mit dem Wert des Ausdrucks x + 1 substituiert wobei x bereits substituiert wurde (der Wert von y 1 ist damit beim Aufruf von f wohldefiniert). Mit y2 und y 3 kann man analog verfahren. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
7 Variablen und Konstanten Bei genauerer Betrachtung: Nachdem der Wert von y1 zur Berechnung von y 2 benutzt wurde, wird er im folgenden nicht mehr benötigt. Eigentlich könnte der Zettel nach dem Verwenden (Ablesen). radiert und für die weiteren Schritte wiederverwendet werden In diesem Fall kämen wir mit einem Zettel y aus: y = x + 1; y = y + 1 ; y y = y y; f (x) =y. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
8 Variablen und Konstanten, Anweisungen Beobachtung 1: Es gibt also offenbar radierbare Zettel (Variablen) und nicht-radierbare Zettel (Konstanten 10 ). Beobachtung 2: Der Wert von f wurde jetzt nicht durch einen (auswertbaren) Ausdruck angegeben, sondern durch eine Menge von Anweisungen, die sequentiell abzuarbeiten sind. Das ist genau genommen ein imperativer Algorithmus, den wir nun als Prozedur (imperatives Pendant zur Funktion) darstellen. 10 Nicht zu verwechseln mit Literalen! Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
9 Prozeduren In unserer Modul-Schreibweise (Pseudo-Sprache) würden wir diese Prozedur für f wie folgt notieren: Mit mehreren Variablen: procedure fberechnen1(x : R) R output Berechnung der Funktion f pre x 1 body var y 1, y 2, y 3 R; y 1 x + 1; y 2 y 1 + 1/y 1; y 3 y 2 y 2; return y 3; Mit einer Variablen: procedure fberechnen2(x : R) R; output Berechnung der Funktion f pre x 1 body var y R y x + 1; y y + 1/y; y y y; return y; In beiden Algorithmen benutzen wir wieder eine implizite Sortenanpassung. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
10 Prozeduren Der einzige Unterschied zu unseren bisherigen Fuktionen: Der Name procedure anstelle von function zeigt an, dass es sich um eine Prozedur, also einem imperativen Algorithmus handelt (alles andere von Signatur über Eingabevariablen gilt analog). Im Prozedur-Rumpf (nach body) stehen jetzt eine Menge von Anweisungen. Bei diesen Anweisung handelt es sich um Anweisungen mit Variablen (wir erlauben Analoges mit Konstanten siehe folgende Folien). Die letzte Anweisung beginnt mit dem Schlüsselwort return, gefolgt von einem Ausdruck a; dies bedeutet, dass der Wert von a als Ergebnis der Prozedur zurück gegeben werden soll. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
11 Anweisungen mit Variablen und Konstanten Variablen und Konstanten können deklariert werden, z.b. var y 1, y 2, y 3 R in fberechnen1 bzw. var y R in fberechnen2. Intuitiv wird dabei ein leerer Zettel (Speicherzelle) angelegt. Formal bedeutet die Deklaration einer Variablen/Konstanten v, dass der Bezeichner v zu der Menge der zur Verfügung stehenden Variablen V, die wir in Ausdrücken (im Rumpf) verwenden dürfen, hinzugefügt wird. Der Typ der Variable muss bei der Deklaration angegeben werden. Um anzuzeigen, dass wir Konstanten deklarieren, verwenden wir das Schlüsselwort const statt var. Wir fassen Variablen- und Konstantendeklarationen formal ebenfalls als Anweisungen auf. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
12 Anweisungen mit Variablen und Konstanten Achtung: Variablen sind (bei uns) Ausdrücke und haben daher (bei uns) einen Typ! Besonderheit: Wir fordern, dass zu Beginn einer Prozedur alle Variablen bekannt gemacht werden müssen (das ist nicht in allen Programmiersprachen so, bspw. auch in Java nicht; es erleichtert uns aber das Leben etwas die nachfolgenden Formalisierungen sind aber leicht erweiterbar). Damit enthält die Menge V der in Ausdrücke im Prozedurrumpf erlaubten Variablen alle Eingabe-Variablen (im Prozedurkopf) und alle im Rumpf unter var deklarierten Variablen bzw. unter const deklarierten Konstanten. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
13 Anweisungen mit Variablen und Konstanten Deklarierte Variablen und Konstanten können intialisiert werden, d.h. erstmalig einen (Wert eines) Ausdruck(s) zugewiesen bekommen, z.b. y 1 x + 1 in fberechnen1 oder y x + 1 in fberechnen2. Intuitiv wird ein Wert auf den Zettel (in die Speicherzelle) geschrieben. Dadurch wird der Variablen/Konstanten v V der Wert eines Ausdrucks a zugewiesen (dies nennt man auch Wertzuweisung). Formal bedeutet dies, dass v durch a substituiert wird, d.h. [v/a] Die Schreibweise x y weist also der Variablen/Konstanten x den Wert des Ausdrucks y zu; wir fordern sinnvollerweise, dass x und y den selben Typ haben. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
14 Variablen und Konstanten Der Wert einer Variablen kann später auch noch durch eine weitere Wertzuweisung an einen Ausdruck (mit gleichem Typ) verändert werden, z.b. y 1/y in fberechnen2. Dabei kann man auch auf den alten Wert des Zettels zurückgreifen (ihn vor dem radieren ablesen und sich merken), d.h. der neue Wert kann vom alten abhängig sein. Intuitiv wird der alte Wert auf dem Zettel radiert und der Wert des neuen Ausdrucks auf den Zettel geschrieben. Formal also eine erneute Substitution. Konstanten können nur einmal verändert (initialisiert) werden. Variablen können beliebig oft durch Wertzuweisungen verändert werden. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
15 Variablen und Konstanten in Java Wir illustrieren noch kurz die Verwendung von Konstanten an der Funktion f von oben. In der Variante f 1 könnten wir y 1, y 2, y 3 auch als Konstanten verwenden, da sie nur einmal initialisiert und dannach nicht mehr verändert werden: Mit Konstanten: procedure fberechnen3(x : R) R output Berechnung der Funktion f pre x 1 body const y 1, y 2, y 3 R; y 1 x + 1; y 2 y 1 + 1/y 1; y 3 y 2 y 2; return y 3; Mit Variablen und Konstanten: procedure fberechnen4(x : R) R; output Berechnung der Funktion f pre x 1 body var v R; const c R; v x + 1; v v + 1/v; c v v; return c; Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
16 Funktionen und Prozeduren Nochmal allgemein der Zusammenhang Prozedur/Funktion: Die Prozedur dient (ähnlich wie die Funktion) zur Abstraktion von Algorithmen (genauer: von den einzelnen Schritten eines Algorithmus). Wie bei Funktionen wird durch Parametrisierung von der Identität der Daten abstrahiert: die Berechnungsvorschriften werden mit abstrakten (Eingabe-) Parametern (Variablen) formuliert, so wie bei Funktionen der Rumpf mit den (Eingabe-) Parametern gebildet wurde. konkrete Eingabedaten bilden die aktuellen (Parameter-) Werte mit denen die Eingabedaten dann beim Aufruf substituiert werden. Durch Spezifikation des (Ein- / Ausgabe-) Verhaltens wird von den Implementierungsdetails abstrahiert. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
17 Funktionen und Prozeduren Vorteile der Abstraktion durch Prozeduren: Örtliche Eingrenzung (Locality): Die Implementierung einer Abstraktion kann verstanden oder geschrieben werden, ohne die Implementierungen (also die einzelnen Anweisungen) anderer Abstraktionen kennen zu müssen. Änderbarkeit (Modifiability): Jede Abstraktion kann reimplementiert (z.b. die Anweisungen verändert) werden, ohne dass andere Abstraktionen geändert werden müssen. Wiederverwendbarkeit (Reusability): Die Implementierung einer Abstraktion kann beliebig wiederverwendet werden. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
18 Funktionen und Prozeduren Funktionen und Prozeduren haben also gewisse Gemeinsamkeiten, aber: eine Funktion kann man als Prozedur bezeichnen, nicht jede Prozedur ist jedoch eine Funktion. Eine Funktion stellt nur eine Abbildung von Elementen aus dem Definitionsbereich auf Elemente aus dem Bildbereich dar, es werden aber keine Werte verändert. Im imperativen Paradigma können Werte von Variablen verändert werden (durch Anweisungen), dies kann Effekte auf andere Bereiche eines Programmes haben. Treten in einer Prozedur solche sog. Seiteneffekte (oder Nebeneffekte) auf, kann man nicht mehr von einer Funktion sprechen. Eine Funktion kann man also als eine Prozedur ohne Seiteneffekte auffassen. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
19 Funktionen und Prozeduren Das beliebte erste Beispiel für ein Java Programm verwendet übrigens eine Prozedur main in einem Modul HelloWorld: public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello, World!"); } Der Seiteneffekt ist die Ausgabe von "Hello World!" auf der Kommandozeile. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
20 Prozeduraufrufe Überblick 6. Grundlagen der imperativen Programmierung Prozeduraufrufe 6.3 Variablen, Anweisungen und Prozeduren in Java 6.4 Bedingte Anweisungen und Iteration 6.5 Reihungen (Arrays) 6.6 Zeichenketten (Strings) 6.7 Strukturierung von Programmen 6.8 Zusammenfassung und Beispiele Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
21 Prozeduraufrufe Prozeduraufrufe Genauso wie bei Funktionen stellt sich auch für die Prozeduren die Frage: was passiert, wenn eine Prozedur mit konkreten (Eingabe-Werten) ausgeführt wird, also die Anweisungen im Rumpf der Prozedur ausgeführt werden? In unserem Beispiel also: was passiert, wenn z.b. die Prozedur fberechnen1 mit dem Wert 3.0 also fberechnen1(3.0) aufgerufen wird? Wir klären diese Frage zunächst wieder informell mit unserer Intuition, dass eine Variable/Konstante ein Zettel ist. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
22 Prozeduraufrufe Prozeduraufrufe Offenbar bewirkt eine Anweisung eine Veränderung des Zustands indem sich ein Programm (in Ausführung) gerade befindet. Eine Wertzuweisung an eine Variable z.b. verändert den Zustand so, dass die Variable einen neuen Wert bekommt (also ab jetzt neu substituiert wird). Stellt sich noch die Frage, wie so ein Zustand aussehen kann: intuitiv besteht ein Zustand aus der Menge an Zetteln, die anfangs vereinbart wurden Wenn wir Deklarationen zu beliebigen Zeitpunkten im Rumpf zulassen würden, entsprechen alle Zettel, die bis zu dem entspr. Zeitpunkt deklariert wurden. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
23 Prozeduraufrufe Zustände Formal ist ein Zustand (engl. State) eine Menge S von Paaren z =(x, d) mit folgenden Eigenschaften x ist eine Variable (x V), d.h. x ist ein Eingabeparameter (im Kopf der Prozedur), eine (unter const vereinbarte) Konstante, oder eine (unter var vereinbarte) Variable. x heißt Name oder Bezeichner von z. d ist ein Objekt der Sorte von x (oder undefiniert, notiert als ω) und heißt Inhalt von z. Die Menge S enthält keine zwei verschiedenen Paare (x, d1) und (x, d 2) mit gleichem Namen x. Ein Paar (x, d) formalisiert das Bild eines Zettels x auf dem der Wert d steht. (x,ω) kann als leerer Zettel verstanden werden. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
24 Prozeduraufrufe Zustände Wir unterscheiden jetzt noch die Bezeichner (Variablen), die formale Eingabeparameter der Prozedur sind (die kennen wir ja schon von Funktionen als V(σ)), und Bezeichner, die als Variablen oder Konstanten zu Beginn des Rumpfs mit var und const vereinbart werden: Sei N(S) die Menge aller Namen in S und V(S) N(S) die Menge der (formalen) Eingabeparameter der aufgerufenen Prozedur (so wie wir das von Funktionen kennen), d.h. V(S) sind die Eingabevariablen (aus dem Kopf wie bisher). N(S) \ V(S) sind die deklarierten Konstanten/Variablen im Rumpf. Ein Zustand S definiert eine Substitution für alle Namen x N(S) in S deren Wert d ω ist: das Paar (x, d) Sdefiniert offenbar die Substitution σ =[x/d]. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
25 Prozeduraufrufe Zustände Dies kommt Ihnen bekannt vor: Bei Funktionen haben wir gesehen, dass der Aufruf eines Algorithmus eine Substitution σ für die Eingabeparameter des Algorithmus V(σ) spezifiziert (analog gilt dies nun für V(S), das wir bisher mit V(σ) bezeichnet hatten). Zustände beinhaltet offenbar nun aber nicht mehr nur die Eingabeparameter sondern auch die im Rumpf zusätzlich vereinbarten Konstanten und Variablen, daher ist N(S) auch wirklich eine Obermenge von V(S). Dieser Unterschied zwischen Funktion und Prozedur drückt sich auch in unserer unterschiedlichen Schreibweise aus: σ bzw. S und V bzw. N. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
26 Prozeduraufrufe Zustände Die Unterscheidung in V und N ist leider nötig: Offensichtlich ist für einen Prozeduraufruf (e, d) Smit d ω für alle Eingabeparameter e V(S), d.h. alle Variablen, die Eingabeparameter bezeichnen, sind definiert/nicht leer (der Aufruf der Prozedur mit konkreten Werten erwirkt eine entsprechende Substitution). Dies gilt aber nicht notwendigerweise für alle vereinbarten Variablen und Konstanten N(S) \ V(S), denn Variablen und Konstanten müssen in unserer Schreibweise nicht sofort initialisiert werden (das passiert teilweise erst viel später), können also zunächst leer bzw. undefiniert sein. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
27 Prozeduraufrufe Zustände Damit wird der Wert eines Ausdrucks u nun abhängig vom Zustand S, in dem er betrachtet wird. Wir schreiben daher nun W S statt W σ (was OK ist, da S ja auch eine Substitution definiert). Die formale Definition von W S ist allerdings leicht: es genügt eine Erweiterung der rekursiven Definition des Wertes eines Ausdrucks u für den Fall, dass u eine im Rumpf vereinbarte Variable oder Konstante 12 aus N(S) \ V(S) ist. 12 Wir schreiben auch lokale Variable/Konstante. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
28 Prozeduraufrufe Zustände Die anderen Fälle, dass u ein Eingabeparameter, ein Literal, die Anwendung eines Basisoperators oder ein Aufruf einer Funktion (mit Rückgabewert ohne Seiteneffekte) ist, bleiben unverändert: In diesen Fällen ersetzen wir einfach W σ (u) durch W S (u)). Für den Fall u = x mit x N(S) \ V(S) (lokale Variable/Konstante) definieren wir nun zusätzlich: ist (x, d) Sund d ω, soistws(u) =d ist (x,ω) Soder x N(S), soistws(u) =ω Wir schreiben W(u) statt W S (u), wenn sich S aus dem Kontext ergibt. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
29 Prozeduraufrufe Zustandsübergänge Was passiert mit einem Zustand S, wenn Anweisungen ausgeführt werden, die Variablen aus N(S) verändern bzw. neue vereinbaren? Intuitiv: Bei der Vereinbarung einer Variablen (analog Konstanten) am Anfang des Prozedurrumpfs 13 wird ein neuer Zettel hinzugefügt, der Zettel ist zunächst leer. Bei der Initialisierung einer Variablen (analog Konstanten) wird der entsprechende Zettel (erstmalig) verändert (bildlich: der leere Zettel wird durch einen neuen, nun nicht-leeren Zettel gleichen Namens ersetzt). Bei einer weiteren Wertzuweisung an eine Variable wird der entsprechende Zettel (wieder) verändert. 13 wieder leicht erweiterbar auf beliebige Stellen im Rumpf. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
30 Prozeduraufrufe Zustandsübergänge Formal: sei die Anweisung a eine Variablen- bzw. Konstantendeklaration, eine Initialisierung oder eine Wertzuweisung, und sei S eine Sorte. a bewirkt eine Zustandsänderung von Zustand S in einen Nachfolgezustand Ŝ wie folgt Deklaration: Hat a die Form var x S bzw. const x S Ŝ = S {(x,ω)} mit x N(S), soist Initialisierung: Hat a die Form x u; mit x N(S) und ist u ein Ausdruck mit W(u) ω, so ist Ŝ = S\{(x,ω)} {(x, W(u))} Wertzuweisung: Hat a die Form x u; mit (x, d) S(d.h. x N(S) hat den Wert d) und ist u ein Ausdruck mit W(u) ω, soistŝ = S\{(x, d)} {(x, W(u))} Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
31 Prozeduraufrufe Zustandsübergänge Wie bereits erwähnt enthält der Anfangszustand beim Aufruf eines Algorithmus (einer Prozedur) S 0 bereits die Eingabevariablen V(S) des Algorithmus (so wie bei Funktionen, bei denen es ja nur diesen Zustand gibt), der ausgeführt wird mit den entsprechenden konkreten Eingabe-Werten des Aufrufs. Beispiel: Beim Aufruf der Prozedur fberechnen1(x) mit 3.0, also fberechnen1(3.0), ist der initiale Zustand S 0 = {(x, 3.0)}, der wie bei Funktionen die Substitution des Eingabeparameters x durch den konkreten Wert 3.0 enthält. Peer Kröger (LMU München) Einführung in die Programmierung WS 16/ / 745
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrPIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008
PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik
MehrAbschnitt 9: Schnittstellen: Interfaces
Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrEINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrArrays und Methoden. Programmiervorkurs WS 2010 / 11
Arrays und Methoden Programmiervorkurs WS 2010 / 11 Einleitung Bisher sind einfach Programme möglich Nun wollen wir Organisation und Stil verbessern Gesamter Code sollte nicht an einer Stelle stehen Nicht
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
MehrÜ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
MehrTutorium Java Ein Überblick. Helge Janicke
Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren
MehrErwin Grüner 15.12.2005
FB Psychologie Uni Marburg 15.12.2005 Themenübersicht Mit Hilfe der Funktionen runif(), rnorm() usw. kann man (Pseudo-) erzeugen. Darüber hinaus gibt es in R noch zwei weitere interessante Zufallsfunktionen:
MehrObjekt-Orientierte Programmierung
Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrAKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen
L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen
MehrObjektorientierte 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
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
Mehr1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung
K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrProgrammierung 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
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
MehrEinfache 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
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrTest zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003
Test zu Grundlagen der Programmierung Leitung: Michael Hahsler 1. November 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat Wirtschaftsinformatik
MehrObjektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ
Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die
MehrInformationsverarbeitung im Bauwesen
4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte
Mehr5. 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
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
Mehreinkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung
PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrErste Schritte in Java
Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem
MehrLiebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.
Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
Mehr5 Logische Programmierung
5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrC 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
MehrAndroid will doch nur spielen. Java Eine kurze Einführung
Android will doch nur spielen Java Eine kurze Einführung Agenda Einführung in Java Syntax und Semantik Komplexe Datenstrukturen OOP Weitere Java-Elemente 2 Einführung in Java Was ist Java? lt. Sun: einfach
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
Mehr4. Objektorientierte Programmierung
4. Objektorientierte Programmierung In Abschnitt 3 ging es um fundamentale Basiskonzepte von Java, wie es sie in jeder anderen gängigen Programmiersprache so oder so ähnlich auch gibt. In Abschnitt 4 nun
MehrProseminar Funktionales Programmieren. Stephan Kreutzer
Proseminar Funktionales Programmieren Die Programmiersprache LISP Stephan Kreutzer Teil I: Funktionales Programmieren Imperative Sprachen Imperative Sprachen: Befehlsorientiert Imperative Sprachen orientieren
Mehr2. 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)
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrInteraktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
MehrAlgorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.
Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte
Mehr4 Codierung nach Viginere (Lösung)
Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen
MehrKapitel 8: Funktionen / Prozeduren
8. Funktionen/Prozeduren 8-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 8: Funktionen / Prozeduren Deklaration von Funktionen/Prozeduren Parameter, Übergabemechanismen Referenzen Globale
MehrFunktionen in PHP 1/7
Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt
MehrPrinzipielle Ausführungsvarianten I
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!
MehrGrundlagen der Programmierung (Vorlesung 14)
Grundlagen der Programmierung (Vorlesung 14) Ralf Möller, FH-Wedel Vorige Vorlesung Verifikation von Anweisungen und Anweisungsfolgen Schleifen Inhalt dieser Vorlesung Funktionen und Prozeduren Lernziele
MehrVorkurs Informatik WiSe 15/16
Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan
MehrKlassendefinitionen verstehen
Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
MehrVisualBasic - Variablen
Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEin erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrTeil 1: Grundeigenschaften von Rechnern und Software
Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [3P] Nennen Sie mindestens 3 Arten von Programmen zur Softwareentwicklung Editor, Compiler, Linker, Debugger, Interpreter,...
MehrÜbersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15
Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen
MehrAusarbeitung des Interpreter Referats
Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrProgrammierkurs 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
MehrInformatik. 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
MehrWeb und Mobile Apps Programmieren mit Dart
Web und Mobile Apps Programmieren mit Dart Marco Jakob Workshop INFOS 2013 in Kiel 28.09.2013. ZIEL attraktiv aktuell Programmierunterricht wenig Hürden Inhalt Weshalb Web und Mobile im Unterricht? aktuelle
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrThemen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)
Themen der Übung Java CoMa-Übung II TU Berlin 1 Java-Installation Hello World 3 Temperature 4.10.01 CoMa-Übung II (TU Berlin) Java 4.10.01 1 / 8 CoMa-Übung II (TU Berlin) Java 4.10.01 / 8 Java installieren
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013 Aufgabenblatt 3 18. November
MehrEinführung in die Informatik Grammars & Parsers
Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrBeispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf
16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 1 Prof. R. Westermann, A. Lehmann,
MehrKapitel 3 Das Projekt Bankkonto Seite 1
Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.
MehrAufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.
»Programmieren«, WS 006/007 Nino Simunic (nino.simunic@uni-due.de) Übungsblatt 4 Aufgabe 1 OOP In dieser Aufgabe sollen Sie Autos als Klasse Car modellieren. Die Eigenschaften auf attributiver Ebene sind:
MehrNachholklausur (6 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach...
Ludwig-Maximilians-Universität München WS 2012/13 Institut für Informatik 19.04.2013, 12:00 14:00 Uhr Prof. Dr. R. Hennicker, A. Klarl Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung
Mehr