Kapitel 4: Maya Embedded Language

Größe: px
Ab Seite anzeigen:

Download "Kapitel 4: Maya Embedded Language"

Transkript

1 [ Computeranimation ] Kapitel 4: Maya Embedded Language Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 4. Maya Embedded Language [Computeranimation] p.1/61

2 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.2/61

3 Maya Embedded Language Features: Skript Sprache (scripting language) Programme werden zeilenweise interpretiert Kein Compilieren / Linken notwendig Aber auch kein IDE vorhanden Gesamte GUI von Maya in MEL implementiert Syntax orientiert sich an Java / C Entwickeln mit MEL: Iterativer Zyklus (1) Editiere Script (2) Ausführen, Testen (3) Falls Fehler: Gehe zu (1) 4. Maya Embedded Language [Computeranimation] p.3/61

4 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.4/61

5 Kommandoeingabe Command Line Schreiben und Ausführen einfacher Scripts Mehrere Kommandos mit Semikolon trennen Command Shell Window/General Editor.../Command Shell Interaktion wie mit Linux-Shell Script Editor schreiben und ausführen mehrzeiliger Scripts History Panel: Stellt Ergebnisse der MEL-Kommandos dar Command Input Panel: Editieren und ausführen von Scripts. [Enter] Neue Zeile ohne Ausführen [Enter] + [Strg] oder [Enter] auf Num-Pad: Ausführen der Kommandos 4. Maya Embedded Language [Computeranimation] p.5/61

6 Kommandoeingabe Shelf Speichern und Ausführen von Scripts Script Files: Dateien, in denen Scripts gespeichert sind Können in Script Editor geladen und ausgeführt werden werden durch source Dateiname.mel. Wird sourcing genannt. 4. Maya Embedded Language [Computeranimation] p.6/61

7 Kommando-Syntax Kommandos zum: Erzeugen von Objekten Positionieren... Syntaxarten Imperative Syntax Funktionen Syntax 4. Maya Embedded Language [Computeranimation] p.7/61

8 Imperative Syntax Ähnlich Linux oder Dos-Shell Befehle: Kommando [flags] ; Beispiel: sphere -name "MySphere" -radius 10; Spezialfall: String-Argumente können auch ohne oberes Anführungszeichen verwendet werden. Beispiel: sphere -name MySphere -radius 10; 4. Maya Embedded Language [Computeranimation] p.8/61

9 Funktionen Syntax Ähnlich Funktionenaufruf in Java Imperativ: abs -50; Funktion: abs(50); 4. Maya Embedded Language [Computeranimation] p.9/61

10 Kommando-Modi In MEL gibt es drei verschiedene Modi, wie Kommandos ausgeführt werden: Create-Modus Query-Modus Edit-Modus Create-Modus Kommando ohne -edit oder -query Flag Erzeugt Objekte / Knoten im Szenengraphen Beispiel: sphere -radius 1.5 -name MySphere; 4. Maya Embedded Language [Computeranimation] p.10/61

11 Kommando-Modi Query-Modus Aktiviert durch -query-flag Gibt den Wert eines Attributes zurück Beispiel: sphere -radius 1.5 -name MySphere; sphere -query -radius MySphere; Edit-Modus Aktiviert durch -edit-flag Veränderung eines oder mehrerer Attribute Beispiel: sphere -edit -radius 3 MySphere; 4. Maya Embedded Language [Computeranimation] p.11/61

12 Kommando-Modi create,query und edit können nicht gleichzeitig verwendet werden Nicht alle MEL-Kommandos unterstützen alle Modi Maya-Hilfe: Unterstütze Modi werden durch C, Q, E und M gekennzeichnet Speziell M: Argumente die mehrere Male von einem Flag verwendet werden können. 4. Maya Embedded Language [Computeranimation] p.12/61

13 Kommentare // Einzeilige Kommentare /* */ mehrzeilige Kommentare Keine Schachtelung von Kommentaren erlaubt. 4. Maya Embedded Language [Computeranimation] p.13/61

14 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.14/61

15 Variablen Deklaration [Typ] $Bezeichner [Initialisierung]; Beispiel: $rad = 2; sphere -radius $rad; Bezeichner: Beginnt mit Buchstaben Es folgen weitere Zeichen oder keines MEL ist case sensitive: Groß- und Kleinschreibung wird unterschieden Guter Programmierstil: Bei Deklaration immer Datentyp angeben! 4. Maya Embedded Language [Computeranimation] p.15/61

16 Ganze Zahlen Datentyp: int Speicherplatz: Plattformabhängig, mindestens 4 Byte (=32 Bit) Kleinster Wert , größter Wert Default-Wert: 0 Beispiel: int $a = -23; int $b = 100; int $c = ; 4. Maya Embedded Language [Computeranimation] p.16/61

17 Gleitkommazahlen Datentyp: float Äquivalent zu double in Java Speicherplatz: Mindestens 8 Byte = 64 Bit Ca. 15 Stellen Genauigkeit Default-Wert: 0.0 Beispiel: float $a = ; float $b = 1.0; 4. Maya Embedded Language [Computeranimation] p.17/61

18 Wahrheitswerte In MEL kein eigener Datentyp boolean vorhanden Wahrheitswerte werden als int gespeichert Boolsche Literale true und false entsprechen 1 und 0. Beispiel: $a = true; $b = false; print(a + ", " + n); // Result: 1, 0 Achtung: Alle Integerwerte 0 werden als true interpretiert true hat den Wert 1 4. Maya Embedded Language [Computeranimation] p.18/61

19 Zeichenketten Datentyp: string Speichert eine Sequenz von Textzeichen Defaultwert: Leere Zeichekette Beispiel: string $txt = "Hallo"; string $leer; // Leere Zeichenkette 4. Maya Embedded Language [Computeranimation] p.19/61

20 Zeichenketten Escape-Sequenzen und Sonderzeichen \n Neue Zeile \t Tab \\ Backslash \" Oberes Anführunszeichen Beispiel: string $Dateipfad = "C:\\Dev\\Melskipte"; Konkatenation von Strings: mit + Operator Beispiel: string $vorne = "Computer"; string $hinten = "-Animation"; string $txt = $vorne + $hinten; 4. Maya Embedded Language [Computeranimation] p.20/61

21 Vektoren Datentyp: vector 3D- Vektor vom Typ float Komponenten heißen x, y und z Beispiel vector $v; vector $w = << 10.0, 5.0, 2.5 >> // Initialisierung Default-Wert: << 0.0, 0.0, 0.0 >> 4. Maya Embedded Language [Computeranimation] p.21/61

22 Vektoren Lesender Zugriff: Vektorkomponente muss mit geklammert werden: print $w.x; print ($w.x); //Fehler Schreibender Zugriff: Kein direkter Weg! $w.x = 3.0; ($w.x) = 3.0; // Fehler // Fehler Statt dessen: Erzeuge neuen Vektor und belege Komponente neu $w = << 3.0, w.y, w.z >>; 4. Maya Embedded Language [Computeranimation] p.22/61

23 Arrays Ein Array ist eine geordnete Liste von Werten des gleichen Datentyps Achtung: Im Gegensatz zu Java bei MEL nur eindimensionale Arrays Deklaration Datentyp $Bezeichner[] Beispiel: int $ari[]; float $values[] = {2.2, 5.3, 7.7, 6.2}; Setzen der Feldlänge string $name[3]; string $nachname[] = {"Neumann", "Golubitzky"}; Indizees: 0... Feldlänge-1 4. Maya Embedded Language [Computeranimation] p.23/61

24 Arrays Lesender Zugriff auf eine Element: $Bezeichner[index] Beispiel: print($value[2]); Schreibender Zugriff auf ein Element: $Bezeichner[index] =... Beispiel: $values[2] = 12.34; $values[3] = $values[0] + $values[1]; 4. Maya Embedded Language [Computeranimation] p.24/61

25 Arrays Größe eines Arrays: size Kommando: int $numelement = size($values); print $numelement; // Result Maya Embedded Language [Computeranimation] p.25/61

26 Arrays - Dynamische Größenveränderung Bei Java: Feldgröße kann nicht mehr verändert werden. Bei MEL: Die Feldgröße eines Arrays kann vergrößert (aber nicht verkleinert) werden. Beispiel 2: int $values[2] = {5, 1}; $values[3] = 7; print $values; // Result Beispiel 2: int $values[]; //Leeres Array int $values[0] = 2; int $values[3] = 6; print $values; // Result Maya Embedded Language [Computeranimation] p.26/61

27 Arrays - Manuelle Speicherfreigabe Große Arrays brauchen viel Speicherplatz Falls Array nicht mehr gebraucht wird: Speicherplatz wieder freigeben mit clear Beispiel: int $vielewerte[1000]; $vielewerte[999] = 10; print ($vielewerte); // Result clear ($vielewerte); print ($vielewerte); // Result 4. Maya Embedded Language [Computeranimation] p.27/61

28 Matrizen Eine Matrix ist ein zweidimensionale Feld von Gleitkommazahlen Deklaration: matrix $Bezeichner[n][m]; Achtung: Größe von Matrizen muss spezifiziert werden! Initialisierung; matrix $a[3][4] = << 2.5, 34.2, 77.2, 23.2; 32.2, 65.2, 65.1, 34.2; 65.1, 99.3, 23.0, 54.2 >> 4. Maya Embedded Language [Computeranimation] p.28/61

29 Matrizen Lesender Zugriff: float $wert = $a[0][2]; print ($a[0][0]); Schreibender Zugriff: $a[2][3] = 8.8; Keine dynamische Änderung der Matrixgröße! 4. Maya Embedded Language [Computeranimation] p.29/61

30 Explizite Typkonvertierung Durch Spezifikation des Typs in Klammern vor dem Wert Beispiel: $v = (vector)"<<1, 2, 3>>"; // Typ: vector(<<1, 2, 3>>) $zahl = (float) 72; // Typ: float (72) $ausgabe = (string) $zahl; // Typ: string ("72"); Durch Spezifizierung des Typs, gefolgt vom Wert in Klammern Beispiel: $zahl = int(3.67); // Typ: int(3) 4. Maya Embedded Language [Computeranimation] p.30/61

31 Automatische Typkonvertierung Von zu Beispiel Bemerkung int float float $i = 3; exakt //Result: $i = 3.0 int vector vector $v = 3; exakt //Result: $v=<<3.0,3.0,3.0 >> float int int $i = 3.45; ganzzahliger Anteil //Result: $i = 3 float vector vector $v = 3.4; exakt //Result: $v=<<3.4,3.4,3.4>> vector int int $i = <<1,2,3>>; * //Result: $i = 3 vector float float $i = <<1,2,3>>; Länge des Vektors //Result: $i= *: Ganzzahliger Anteil der Länge des Vektors 4. Maya Embedded Language [Computeranimation] p.31/61

32 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.32/61

33 Zuweisungsoperatoren Zuweisungsoperator = Weist den Wert links vom Zuweisungsoperator der Variablen links davon zu Beispiel: int $score; $score = 242; 4. Maya Embedded Language [Computeranimation] p.33/61

34 Arithmetische Operatoren Addition + und Subtraktion - int, float: wie gewohnt vector: Vektoraddition matrix: Matrizenaddition Multiplikation * int, float: wie gewohnt vector: Skalarprodukt (dot product) Beispiel vector $v = << 1, 2, 3 >>; vector $w = << 6, 2, 1 >>; print($v * $w); // Result: 1 matrix: Matrixmultiplikation (nur mit quadratischen Matrizen) Kein Operator für Matrix-Vektormultiplikation vorhanden. 4. Maya Embedded Language [Computeranimation] p.34/61

35 Arithmetische Operatoren Division / float: Division int: Ganzzahlige Division vector, matrix: Komponentenweise Division vector $v1 = << 2, 3, 4 >>; print($v1 / 4); // Result: Modulo % int: Modulo Kreuzprodukt Kreuzproduktoperator ˆ berechnet Kreuzprodukt zweier Vektoren vector $v1 = << 1, 0, 0>>; vector $v2 = << 0, 1, 0 >>; vector $v3 = $v1ˆ$v2; print($v3); // Result Maya Embedded Language [Computeranimation] p.35/61

36 Vergleichoperatoren Syntax und Semantik der Vergleichsoperatoren wie in Java Vergleichsoperatoren: <, >, <=, >=, ==,!= Logische Operatoren:, &&,! Inkrement und Dekrement-Operatoren: ++, -- Abgekürzte Zuweisungsoperatoren: +=, -=, *=, /= 4. Maya Embedded Language [Computeranimation] p.36/61

37 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.37/61

38 Kontrollstrukturen Syntax und Semantik wie in Java for... else switch while do... while break und continue Zusätzlich: for... in Abkürzenden Schreibweise um über Elemente eines Arrays zu iterieren. Beispiel: int $nums[4] = {4, 7, 2, 3}; int $elem; for ($elem in $nums) { print($elem + " "); }; 4. Maya Embedded Language [Computeranimation] p.38/61

39 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.39/61

40 Prozeduren Syntax: proc Prozedurbezeichner(argumente) { } Beispiel: Anweisung1;... AnweisungN; proc printname(string $name) { } print("vorlesung " + $name); Syntax angelehnt an Java. Es kommt lediglich das Schlüsselwort proc vor den Bezeichner. Variablen werden call by value übergeben. 4. Maya Embedded Language [Computeranimation] p.40/61

41 Funktionen Syntax: proc Ergebnistyp Prozedurbezeichner(argumente) { Anweisung1;... AnweisungN; return Ergebnis; } Beispiel: proc int sum(int $a, int $b) { int $c = $a + $b; return $c; } Aufruf: int $res = sum(4, 3); print $res; 4. Maya Embedded Language [Computeranimation] p.41/61

42 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.42/61

43 Gültigkeitsbereiche - Scope Gültigkeitsbereich (scope) von Variablen und Prozeduren bestimmt: Lebensdauer Lokal: Nur bei Ausführung des Skripts Global: Bis zum Ende der Maya-Session Zugreifbarkeit Lokal: Innerhalb des zugehörigen Skripts Global: Von anderen Skripten aufrufbar bzw. erreichbar 4. Maya Embedded Language [Computeranimation] p.43/61

44 Blöcke Gruppen von Anweisungen, umgeben von geschweiften Klammern Beispiel: { } int $c; int $a = 3+5; Variablen die innerhalb eines Blocks deklariert werden, existieren nur innerhalb des Blocks werden nach Ausführen des Blocks gelöscht 4. Maya Embedded Language [Computeranimation] p.44/61

45 Lokale Variablen Variablen haben lokale Gültigkeit wenn sie innerhalb eines Blocks deklariert werden Beispiel: MEL-Skript { } float $a = 2.34; print $a; proc test() { int $c = 45; print $c; } print $a; test(); print $c; // Fehler, kein Zugriff // Fehler, kein Zugriff 4. Maya Embedded Language [Computeranimation] p.45/61

46 Beispiel für fehlerhaften Zugriff { // Block 1 int $a = 12; { // Block 2 int $b = 10; print $b; } } print $b; //Fehler! $b ist wieder gelöscht 4. Maya Embedded Language [Computeranimation] p.46/61

47 Globale Variablen Variablen haben globale Gültigkeit wenn sie im Skript-Editor auf äußerster Ebene (d.h. nicht in einem Block) in einem MEL-Skript auf äußerster Ebene (d.h. nicht in einem Block) mit dem global-schlüsselwort deklariert werden. 4. Maya Embedded Language [Computeranimation] p.47/61

48 Beispiel SkriptA.mel: global int $bbb = 34; SkriptB.mel: proc print_bbb() { global int $bbb; print ($bbb); } //$bbb wird als global deklariert print_bbb(); 4. Maya Embedded Language [Computeranimation] p.48/61

49 Fehlerhafter Zugriff SkriptA.mel: global int $aaa = 34; SkriptB.mel: proc print_aaa() { } print ($aaa); // Variable $aaa nicht deklariert print_aaa(); 4. Maya Embedded Language [Computeranimation] p.49/61

50 Überdeckung durch lokale Variable SkriptA.mel: global int $ccc = 34; SkriptB.mel: proc weisezu_ccc() { $ccc = 2; //neue lokale Variable } weisezu_ccc(); print($ccc); //Result 34; 4. Maya Embedded Language [Computeranimation] p.50/61

51 Initialisierung von globalen Variablen Globale Variablen können nur einmal initialisiert werden Initialisierung bei erster Deklaration Initialisierung nur mit konstantem Wert möglich Spätere Initialisierungen sind wirkungslos Zuweisungen sind aber möglich 4. Maya Embedded Language [Computeranimation] p.51/61

52 Initialisierung von globalen Variablen Beispiel: proc go() { global int $depth = 3; print ("\n" + $depth); $depth = 1; print (" " + $depth); } go(); go(); Gibt folgendes aus: Maya Embedded Language [Computeranimation] p.52/61

53 Konflikte Regel: Globale Variablen soweit wie möglich vermeiden! Wertübergabe mit Hilfe von Prozeduraufrufen durchführen Nachteile globaler Variablen Können von allen Skripten benutzt werden es kann zu Namenskonflikten kommen Können während einer Maya-Session nicht gelöscht werden Quelle vieler Fehler Falls globale Variablen trotzdem verwendet werden: Verwende eindeutige Bezeichner! Achtung: Kein g am Anfang von Bezeichner. 4. Maya Embedded Language [Computeranimation] p.53/61

54 Lokale Prozeduren Prozeduren sind lokal gültig, wenn Sie in einem MEL-Skript deklariert sind. Zugriff auf Prozedur nur innerhalb des Skripts möglich. Beispiel: SkriptA.mel proc machwas() { } print("es geht was"); procmachwas(); SkriptB.mel machwas(); // Fehler: Prozedur nicht deklariert 4. Maya Embedded Language [Computeranimation] p.54/61

55 Globale Prozeduren Globale Prozeduren Können von allen Skripten genutzt werden Deklaration mit vorangestelltem Schlüsselwort global oder im Skript-Editor Beispiel: SkriptA.mel global proc printname(string $name) { } print $name; SkriptB.mel printname("tex Avery"); Mit globalen Prozeduren können Bibliotheken häufig genutzter Prozeduren erstellt werden 4. Maya Embedded Language [Computeranimation] p.55/61

56 Skript für alle Szenen zur Verfügung stellen Finde heraus, unter welchen Verzeichnispfaden Maya standardmäßig nach MEL-Skripten sucht (script path): getenv "MAYA_SCRIPT_MAYA"; Deklariere globale Prozedur in.mel-datei mit Namen <prozedurname>.mel Speichere Datei in einen der Verzeichnispfade Dann: Sourcing nicht notwendig Bei Prozeduraufruf sucht Maya in Skriptpfaden nach.mel-datei mit entsprechendem Namen. 4. Maya Embedded Language [Computeranimation] p.56/61

57 Inhalt 4.1 Kommandos 4.2 Datentypen 4.3 Operatoren 4.4 Kontrollstrukturen 4.5 Prozeduren und Funktionen 4.6 Gültigkeitsbereiche 4.7 Ausführungsmodi 4. Maya Embedded Language [Computeranimation] p.57/61

58 Ausführungsmodi von Kommandos MEL Komandos können mit mehreren Mechanismen ausgeführt werden Beipiele: currenttime -query; currenttime - query eval("currenttime - query"); Alle Kommandos führe die selbe Aktion aus. Verschiedene Modi steuern Rückgabewert und Ausführung. 4. Maya Embedded Language [Computeranimation] p.58/61

59 Standard-Ausführung Synatx Kommando flags; Beispiel: currenttime -query; Kommando wird ausgeführt Ergebnis wird nicht zurückgegeben int $Zeit; $Zeit = currenttime -query; // Fehler print($zeit); 4. Maya Embedded Language [Computeranimation] p.59/61

60 Kommando-Ergebnisse Unterscheide Kommandos von Prozeduren. $username = printname(); Der Return-Wert der Prozedur printname() wird der Varialben $username zugewiesen. Rückgabewert von Kommandos nicht direkt abrufbar $time = currenttime -query; // Fehler Kommando muss in (backticks) geklammert werden: $time = currenttime -query ; 4. Maya Embedded Language [Computeranimation] p.60/61

61 Eval-Kommando Sehr mächtiges Kommando! Syntax: eval(zeichenkette); Führt die Kommandos die in Zeichenkette vom Typ string gespeichert sind aus und gibt Ergebniswert zurück. Beispiel global proc calc(string $statement) { } float $res = eval("float $_dummy = " + $statement); print("\n" + $statement + " = " + $res); Benutzereingabe calc("10 * 2 / 5"); führt zur Ausgabe 10 * 2 / 5 = 4 4. Maya Embedded Language [Computeranimation] p.61/61

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

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 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

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der 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.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einfü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)

Mehr

Hello 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. 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

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen 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.

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

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

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

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

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java 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

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

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

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

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

VisualBasic - Variablen

VisualBasic - 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

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

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

Einfache Arrays. 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

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

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

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java 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

Mehr

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

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

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

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

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

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 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das 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

Mehr

5.4 Klassen und Objekte

5.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

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

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

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

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

Mehr

Zusammengesetzte Datentypen -- Arrays und Strukturen

Zusammengesetzte Datentypen -- Arrays und Strukturen Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

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

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

Inhaltsverzeichnis. 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

Mehr

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

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Funktion Inhalt Erläuterung

Funktion Inhalt Erläuterung Funktionen Folgende Funktionen können in den Spezialfiltern und in den Überschriften (auch für die Gruppenüberschrift) verwendet werden: Vereinsname() Heute() Jahr() Monat() Tag() liefert den Namen des

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 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

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

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren 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

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

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein

Datenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein Datenfelder (Arrays) Vektoren, Matrizen, Tabellen Dr. Beatrice Amrhein Überblick Eindimensionale Arrays o Deklaration, Initialisierung, Zugriff Mehrdimensionale Arrays o Deklaration, Initialisierung, Zugriff

Mehr

3 Die Grundrechenarten

3 Die Grundrechenarten 3 Die Grundrechenarten In diesem Kapitel wollen wir uns unter anderem mit folgenden Themen beschäftigen: Operatoren für die Addition, Subtraktion, Multiplikation und Division Modulooperator, auch Restoperator

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Scala kann auch faul sein

Scala kann auch faul sein Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Die Programmiersprache C

Die 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,

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Projektverwaltung Problem Lösung: Modulare Programmierung

Projektverwaltung Problem Lösung: Modulare Programmierung Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden

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

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11

Mehr

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen, Strukturierte Programmierung , Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Luis Kornblueh. May 22, 2014

Luis Kornblueh. May 22, 2014 Einführung in die Bash Luis Kornblueh KlosterCluster Team 2013/2014, Klosterschule May 22, 2014 1 / 17 Inhaltsverzeichnis Einführung in das Scripting Einfache Beispiele Kommandos ersetzen Bedingungen Tests

Mehr

Vorkurs C++ Programmierung

Vorkurs 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:

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

Einfü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 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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

1. EINLEITUNG 2. GLOBALE GRUPPEN. 2.1. Globale Gruppen anlegen

1. EINLEITUNG 2. GLOBALE GRUPPEN. 2.1. Globale Gruppen anlegen GLOBALE GRUPPEN 1. EINLEITUNG Globale Gruppen sind system- oder kategorieweite Gruppen von Nutzern in einem Moodlesystem. Wenn jede Klasse einer Schule in eine globale Gruppe aufgenommen wird, dann kann

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

affilinet_ Flash-Spezifikationen

affilinet_ Flash-Spezifikationen affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr