Übungspaket 7 Angemessenes Formatieren von C-Programmen

Größe: px
Ab Seite anzeigen:

Download "Übungspaket 7 Angemessenes Formatieren von C-Programmen"

Transkript

1 Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 018/19 Betreuer: Thomas, Tim und Ralf Synopsis: Das Kodieren eines Algorithmus in ein C-Programm und das Eintippen in den Rechner ist eigentlich gar nicht so problematisch. Schwierig wird s nur bei der Fehlersuche, wenn das Programm nicht das macht, was es machen soll. Noch schwieriger wird es, wenn dann der Betreuer mal eben den Fehler finden soll. Hier helfen Kommentare und angemessenes Einrücken, was wir hier ein wenig üben wollen.

2 Teil I: Stoffwiederholung Aufgabe 1: Kommentare In der Programmiersprache C gibt es zwei Möglichkeiten, Kommentare zu verwenden. Erkläre kurz die Syntax und zeige ein Beispiel. Möglichkeit 1: Syntax Die erste Möglichkeit erfordert sowohl öffnende /* als auch schließende */ Klammern und kann sich über mehrere Zeilen erstrecken. Beispiel int i /* hier ist ein kommentar der hier zu ende ist */ = -1; Möglichkeit : Syntax Die zweite Möglichkeit besteht in //. Derartige Kommentare beginnen mit // und gehen immer bis zum Ende der Zeile. Bei mehrzeiligen Kommentaren ist das // entsprechend in jeder Zeile zu wiederholen. Beispiel int i = // variablendefinition -1; // initialisierung Aufgabe : Geschachtelte Kommentare Erkläre kurz, wie man Kommentare schachteln kann und was dabei passiert. Natürlich kann man Kommentare schachteln wie man will, nur muss man verstehen, was dabei passiert. Die wesentliche Frage ist immer, welche Kommentarform die äußere ist. 1. //-Kommentare: Egal, was man hier hineinschreibt, der Kommentar endet am Zeilenende. Auch wenn die schließende Klammer fehlt, ist dieser am Zeilenende zu Ende. Beispiel: // aeuesserer kommentar /* innerer kommentar. /*... */-Kommentare: Egal, was man hier hineinschreibt, der Kommentar ist beim Auftreten des ersten */ zu Ende, egal ob dies in der selben oder einer späteren Zeile der Fall ist. Beispiel: /* aeusserer kommentar */ kein kommentar mehr */ 7-1 Wintersemester 018/19, Einführung in die Praktische Informatik

3 Aufgabe 3: Angemessenes Einrücken Erkläre kurz in eigenen Worten, warum wir als Lehrpersonal so sehr auf eine angemessene Form des Einrückens Wert legen. Ein C-Programm besteht in der Regel aus Variablendefinitionen und Anweisungsblöcken. Ein Charakteristikum von Anweisungsblöcken ist, dass sie aus verschiedenen Elementen wie Fallunterscheidungen, Schleifen und weiteren Anweisungen bestehen, die ineinander verschachtelt sein können. Daraus ergibt sich eine logische Strukur. Für das Finden möglicher Fehler ist es für alle sehr hilfreich, wenn man die intendierte Struktur auf den ersten Blick erfasst. Damit vermeidet man nicht nur Fehler, sondern sieht sehr schnell, wo möglicherweise Klammern fehlen oder zu viele gesetzt sind. Aufgabe 4: Recherche Recherchiere etwa fünf bis zehn Minuten im Web zum Thema Einrücken in C und notiere deine zwei Favoriten. Mögliche Schlagwörter sind: einruecken c programm Die meisten von uns favorisieren einen Einrückstil, der sehr stark dem Allman/BSD/ East Coast Stil ähnelt. Ihr könnt selbstverständlich euren Einrückstil frei wählen, solange er auch tatsächlich einrückt (also nicht linksbündig schreibt), konsistent ist und alle Beteiligten damit zurecht kommen. Einführung in die Praktische Informatik, Wintersemester 018/19 7-

4 Teil II: Quiz Aufgabe 1: Finden von Kommentaren Im folgenden (recht sinnfreien) Text befinden sich einige Kommentare. Schaue dir die Texte an und unterstreiche alle Kommentare einschließlich der Kommentarklammern. Dabei ist jede Zeile für sich zu behandeln, d.h. eventuell noch nicht abgeschlossene Kommentare aus vorherigen Zeilen haben keinen Einfluss. Korrigiere die Kommentare, sofern dir dies sinnvoll, logisch oder naheliegend erscheint. 1 heute ist ein /* schoener */ tag gestern schien die sonne // den ganzen tag 3 /* das */ lernen der /* pro gr am mi er sp ra ch e C */ ist anstrengend 4 // ich wuenschte, das studium waere schon fertig 5 ich habe /* sehr /* nette */ */ kommilitonen 6 beim hochschulsport findet man viele /** gute */ kurse 7 im sommer ist es warm, im winter /* nicht **/ immer 8 mathe ist /* oft * / anstrengend, /* physik */ leider auch 9 das lernen /* in der // gruppe */ macht spass 10 schoen, // bald */ ist wochenende 11 kommentare sind /* sehr * / bloed // finde ich Im Text haben wir folgende Kommentare gefunden: Zeile Kommentar 1 /* schoener */ // den ganzen Tag 3 /* das */ 3 /* programmiersprache C */ 4 // ich wuenschte, dass studium waere schon fertig 5 /* sehr /* nette */ 6 /** gute */ 7 /* nicht **/ 8 /* oft * / anstrengend, /* physik */ 9 /* in der // gruppe */ 10 // bald */ ist wochenende 11 /* sehr * / bloed // finde ich 7-3 Wintersemester 018/19, Einführung in die Praktische Informatik

5 Die im Text verwendete Schreibweise legt nahe, dass einige Tippfehler passiert sind, die folgende Korrekturen nahelegen: Zeile Korrektur Begründung 5 /* sehr nette */ Kommentare kann man nicht schachteln 6 /* gute */ Vermutlich ein * zu viel 7 /* nicht */ Vermutlich ein * zu viel 8 /* oft */ vermutlich ein Leerzeichen zu viel 10 /* bald */ vermutlich Verwechslung von / und * 11 /* sehr */ vermutlich ein Leerzeichen zu viel Diese Korrekturen ergeben folgenden Text: 1 heute ist ein /* schoener */ tag gestern schien die sonne // den ganzen tag 3 /* das */ lernen der /* pro gr am mi er sp ra ch e C */ ist anstrengend 4 // ich wuenschte, das studium waere schon fertig 5 ich habe /* sehr nette */ kommilitonen 6 beim hochschulsport findet man viele /* gute */ kurse 7 im sommer ist es warm, im winter /* nicht */ immer 8 mathe ist /* oft */ anstrengend, /* physik */ leider auch 9 das lernen /* in der // gruppe */ macht spass 10 schoen, /* bald */ ist wochenende 11 kommentare sind /* sehr */ bloed // finde ich Einführung in die Praktische Informatik, Wintersemester 018/19 7-4

6 Teil III: Fehlersuche Aufgabe 1: Fehlerhafte Kommentare finden Im folgenden Programm befinden sich für seine Größe recht viele Kommentare. Leider hat der Programmierer hier und dort den einen oder anderen Fehler gemacht. Fehlerhaftes Programm: 1 # include < stdio. h > /* kommentar 3 int main ( int argc, kommentar char ** argv ) 4 // hier ist ganz /* viel 5 kommentar sogar ueber */ 6 // drei zeilen 7 { /* schon wieder ein /* einfacher */ kommentar */ 8 int // kommentar mitten i; drin 9 if ( i == ) 10 hier auch printf ( " true \n" ); 11 else printf ( " false \ n" ); /* und jetzt ist aber schluss 1 } Viele dieser Kommentare sind völlig sinnfrei. Aber dennoch, finde und korrigiere sie. Bedenke, dass es immer mehrere Möglichkeiten gibt, die Fehler zu korrigieren. Entscheide dich jeweils für eine. Bei richtig gesetzten Kommentaren sollte der Compiler folgendes Programm sehen, sofern er selbige entfernt hat: Programm, wie es ohne Kommentare sein sollte: 1 # include <stdio.h> 5 int i; 6 if ( i == ) 7 printf ( " true \n" ); 8 else printf ( " false \n" ); 9 } Die Richtigkeit der durchgeführten Korrekturen lässt sich sehr einfach feststellen. Einfach mal das Kommando cpp <datei.c> ausführen, wobei <datei.c> natürlich durch den richtigen Dateinamen zu ersetzen ist. Am Anfang steht sehr viel, das alles mit stdio.h zu tun hat. Am Ende jedoch sollte das Programm richtig erscheinen (unter Umständen sind aber die Zeilen ein wenig verrutscht). Statt cpp kann natürlich auch gcc -E verwendet werden. 7-5 Wintersemester 018/19, Einführung in die Praktische Informatik

7 Fehlerbeschreibung: Zeile Fehler Erläuterung Korrektur 1 */ fehlt Die schließende Kommentarklammer */ fehlt. */ ergänzen 3 /*...*/ kommentar steht nicht in Kommentarklammern. /*... */ fehlen ergänzen 4 Alles völlig korrekt. 5 /* oder // Der Kommentar wird zwar beendet, aber die öffnende /* oder // ergänzen fehlen Klammer fehlt. 6 Alles völlig korrekt 7 falsche Durch /* ist der hintere Teil kein Kommentar, da man Schachtelung Kommentare so nicht schachteln kann. neu anfangen 8 i ist im Kommentar Die Variable i ist leider im Kommentar. Hier muss der Kommentar vorher beendet und anschließend wieder angefangen werden. */ und // ergänzen 9 Alles völlig korrekt. 10 /*...*/ fehlen Die ersten beiden Wörter sind zu viel. Diese müssen durch weitere Kommentarklammern entfernt werden. /*...*/ ergänzen 11 */ fehlt Die schließende Kommentarklammer */ fehlt entweder */ am Ende ergänzen oder // am Kommentaranfang. Wir haben das schreckliche Programm jedenfalls wie folgt korrigiert: Korrigiertes Programm: */ ergänzen 1 # include < stdio. h > /* kommentar */ 3 int main ( int argc, /* kommentar */ char ** argv ) 4 // hier ist ganz /* viel 5 // kommentar sogar ueber */ 6 // drei zeilen 7 { /* schon wieder ein /* einfacher */ /* kommentar */ 8 int /* kommentar mitten */ i; // drin 9 if ( i == ) 10 /* hier auch */ printf ( " true \n" ); 11 else printf ( " false \ n" ); // und jetzt ist aber schluss 1 } Einführung in die Praktische Informatik, Wintersemester 018/19 7-6

8 Teil IV: Anwendungen In diesem Aufgabenteil sollt ihr schlecht formatierte Programme durch Verwenden von Leerzeichen und Zeilenumbrüchen so umwandeln, dass deren Struktur sofort erkennbar ist. Aufgabe 1: Ein erstes, einfaches Programm 1 # include < stdio.h> 5 int i, j; 6 if(i<j) 7 for (i =0;i <10; i=i +1) 8 printf ("ha ha\n"); 9 else 10 if(i==j) 11 for (i =0;i <3; i=i +1) 1 for (j =0;j <10; j=j +1) 13 printf ("ho ho\n"); 14 else 15 printf (" total bloed \n"); 16 } Neue Formatierung: 1 # include <stdio.h> 5 int i, j; 6 if (i < j ) 7 for ( i = 0; i < 10; i = i + 1 ) 8 printf ( "ha ha\n" ); 9 else if( i == j ) 10 for ( i = 0; i < 3; i = i + 1 ) 11 for ( j = 0; j < 10; j = j + 1 ) 1 printf ( "ho ho\n" ); 13 else printf ( " total bloed \n" ); 14 } Dies ist nur eine von vielen Möglichkeiten. Hauptsache die Programmstrukur ist auf den ersten Blick erkennbar! 7-7 Wintersemester 018/19, Einführung in die Praktische Informatik

9 Aufgabe : Ein zweites, einfaches Programm 1 # include < stdio.h> 5 int i, j; 6 if(i<j) 7 for (i =0;i <10; i=i +1) 8 if(i ==3) 9 for (j =0;j <3; j=j +1) 10 printf ("ha ha\n"); 11 else 1 printf ("ho ho\n"); 13 else 14 printf (" total bloed \n"); 15 } Neue Formatierung: (Konsistent, aber mit vielen geschweiften Klammern) 1 # include <stdio.h> 5 int i, j; 6 if (i < j) 7 { 8 for ( i = 0; i < 10; i = i + 1) 9 { 10 if (i == 3) 11 { 1 for ( j = 0; j < 3; j = j + 1) 13 { 14 printf ("ha ha\n"); 15 } 16 } 17 else { 18 printf ("ho ho\n"); 19 } 0 } 1 } else { 3 printf (" total bloed \n"); 4 } 5 } Einführung in die Praktische Informatik, Wintersemester 018/19 7-8

10 Ohne alle nicht unbedingt notwendigen geschweiften Klammern hätten wir folgendes, recht kompaktes Programm: 1 # include <stdio.h> 5 int i, j; 6 if (i < j) 7 for ( i = 0; i < 10; i = i + 1) 8 if (i == 3) 9 for ( j = 0; j < 3; j = j + 1) 10 printf ("ha ha\n"); 11 else printf ("ho ho\n"); 1 else printf (" total bloed \n"); 13 } Aufgabe 3: Ein drittes, einfaches Programm 1 # include /* eingabe */ < stdio. h > 5 int i 6 ; if ( i 7 == ) printf ( " true \n" ); else printf 8 ( " false \n" ); 9 10 } Neue Formatierung: 1 # include <stdio.h> /* eingabe */ 5 int i; 6 if ( i == ) 7 printf ( " true \n" ); 8 else printf ( " false \n" ); 9 } Bei diesem Programm haben wir zwecks Übersichtlichkeit und erkennbarer Programmstruktur zusätzlich die Inhalte zwischen den Zeilen hin- und hergeschoben. 7-9 Wintersemester 018/19, Einführung in die Praktische Informatik

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 016/17 Betreuer:

Mehr

Übungspaket 9 Logische Ausdrücke

Übungspaket 9 Logische Ausdrücke Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester

Mehr

Übungspaket 10 Fallunterscheidungen

Übungspaket 10 Fallunterscheidungen Übungspaket 10 Fallunterscheidungen Übungsziele: Skript: 1. Umgang mit der einfachen Fallunterscheidung, 2. sowie mehrfachen Fallunterscheidung und 3. problemangepasster Auswahl Kapitel: 24 und 25 Semester:

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Übungspaket 17 Der gcc Compiler

Übungspaket 17 Der gcc Compiler Übungspaket 17 Der gcc Compiler Übungsziele: Skript: 1. Sicherer Umgang mit gemischten Ausdrücken 2. Herleiten der unterschiedlichen Datentypen in gemischten Ausdrücken 3. Kenntnis über die implizite Durchführung

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 1 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char,. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 9 bis 31 sowie 4, 5 und

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 25 Kommandozeilenargumente

Übungspaket 25 Kommandozeilenargumente Übungspaket 25 Kommandozeilenargumente Übungsziele: Skript: 1. Umgang mit argc/argv 2. argc/argv als Schnittstelle von Programm und Betriebssystem 3. Vereinfachtes Testen mit argc/argv Kapitel: 51 und

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Übungspaket 4 Klassifikation von Dreiecken

Übungspaket 4 Klassifikation von Dreiecken Übungspaket 4 Klassifikation von Dreiecken Übungsziele: Skript: 1. Selbstständiges Entwickeln eines ersten Programms 2. Anwenden der Methoden des Software Life Cycles 3. Programmentwurf durch Anwendung

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 17 Der gcc Compiler

Übungspaket 17 Der gcc Compiler Übungspaket 17 Der gcc Compiler Übungsziele: Skript: 1. Sicherer Umgang mit gemischten Ausdrücken 2. Herleiten der unterschiedlichen Datentypen in gemischten Ausdrücken 3. Kenntnis über die implizite Durchführung

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 5 Abstrakte Programmierung

Übungspaket 5 Abstrakte Programmierung Übungspaket 5 Abstrakte Programmierung Übungsziele: Skript: 1. Strukturierung einer gegebenen Aufgabe, 2. Bearbeitung von Arbeitsabläufen des alltäglichen Lebens mittels Struktogrammen 3. und der Methode

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Übungspaket 28 Module und getrenntes Übersetzen

Übungspaket 28 Module und getrenntes Übersetzen Übungspaket 28 Module und getrenntes Übersetzen Übungsziele: Skript: 1. Verteilen von Programmteilen auf mehrere Dateien 2. Richtige Verwendung der Header-Dateien 3. Richtiger Umgang mit dem C-Compiler

Mehr

Übungspaket 11 Schleifen

Übungspaket 11 Schleifen Übungspaket 11 Schleifen Übungsziele: Skript: 1. Umgang mit den Schleifen in C. Wahl des richtigen Schleifentyps 3. Umwandlung der Schleifen ineinander Kapitel: 6 bis 8 Semester: Wintersemester 017/18

Mehr

Bedingte Anweisungen

Bedingte Anweisungen Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case

Mehr

Einführung in die Programmierung Wintersemester 2011/12

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

Mehr

Übungspaket 6 Arbeiten mit Syntaxdiagrammen

Übungspaket 6 Arbeiten mit Syntaxdiagrammen Übungspaket 6 Arbeiten mit Syntaxdiagrammen Übungsziele: Skript: Verstehen, Anwenden und Erstellen von Syntaxdiagrammen Kapitel: 20 Semester: Wintersemester 2017/18 Betreuer: Kevin, Theo, Thomas und Ralf

Mehr

Objektorientierte Programmierung - Was ist Programmieren?

Objektorientierte Programmierung - Was ist Programmieren? Objektorientierte Programmierung - Was ist Programmieren? Programmieren ist ein logischer, sequentieller Vorgang Programmieren Beim Programmieren nutzt man eine Sprache Diese Sprache ist ein Hilfsmittel

Mehr

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

Einführung in die Programmierung

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

Mehr

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungsziele: Skript: In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Java Ablaufsteuerung (Beispiele)

Java Ablaufsteuerung (Beispiele) Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen

Mehr

Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter

Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter Übungsziele: Skript: 1. Funktionen mit Zeigern als Parameter 2. Emulation von Variablenparametern 3. Funktionen mit Arrays als Parameter 4.

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

Mehr

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung for-schleife 1. Aufgabe: 1 Tippe die Zeilen in BlueJ ein. Was macht das Programm? public class C14ForSchleife { int i; for(i=0;i

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) Beispiel Beispiel: Namensliste konvertieren (Karl Egon Meier Meier, Karl Egon). s/(.*) (.*)/$2, $1/; Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio) s/(.*) (.*)/$2, $1/; s/(.*) ([a-z]+

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Übungspaket 24 Zeichenketten

Übungspaket 24 Zeichenketten Übungspaket 24 Zeichenketten Übungsziele: Skript: 1. Verständnis über die interne Repräsentation von Zeichenketten 2. Arbeiten mit Zeichenketten 3. Definition konstanter Zeichenketten 4. Verwendung diverser

Mehr

II ELEMENTARES PROGRAMMIEREN IN C++

II ELEMENTARES PROGRAMMIEREN IN C++ II ELEMENTARES PROGRAMMIEREN IN C++ S. BARTELS, 26.3.2018 1. Aufbau eines Programms Wir diskutieren typische Aspekte eines Computerprogramms am Beispiel der Programmiersprache C++, jedoch finden sich die

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 21.12.2006 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und Ihre Matrikelnummer,

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

06 While-Schleifen. While-Schleifen 1/7 Wiederholung: Schleifen

06 While-Schleifen. While-Schleifen 1/7 Wiederholung: Schleifen 06 While-Schleifen While-Schleifen 1/7 Wiederholung: Schleifen Eine Schleife ist eine Struktur, welche den Computer anweist, eine Liste von Befehlen mehrmals auszuführen. Falls Du ein Verfahren hast, das

Mehr

2.5 Programmstrukturen Entscheidung / Alternative

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

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Kapitel I.5: Verzweigungen Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät

Mehr

Übungspaket 5 Abstrakte Programmierung

Übungspaket 5 Abstrakte Programmierung Übungspaket 5 Abstrakte Programmierung Übungsziele: Skript: 1. Strukturierung einer gegebenen Aufgabe, 2. Bearbeitung von Arbeitsabläufen des alltäglichen Lebens mittels Struktogrammen 3. und der Methode

Mehr

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

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

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Schleifen in Javascript

Schleifen in Javascript Schleifen in Javascript Jobst-Hartmut Lüddecke 3. April 2013 Zusammenfassung In dieser Lektion geht es um Schleifen (engl. loop). Diese Schleifen sind in jeder Programmiersprache das beste Werkzeug für

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Schöner Programmieren

Schöner Programmieren Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 30.05.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 30.05.07

Mehr

Schöner Programmieren

Schöner Programmieren Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 20.11.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 20.11.07

Mehr

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen Peter Prinz Das Übungsbuch CTestfragen und Aufgaben mit Lösungen Grundlagen Dieses Kapitel enthält grundlegende Fragen und Aufgaben zur Erstellung von C-Programmen. Hierzu gehören folgende Themen: Header-Dateien

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen Kompaktkurs Einführung in die Programmierung 4. Kontrollstrukturen Stefan Zimmer 28.2.2008-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon ist

Mehr

Kapitel 4. Kontrollstrukturen

Kapitel 4. Kontrollstrukturen Kapitel 4 Kontrollstrukturen Kontrollstrukturen 1 Ziele Kontrollstrukturen in imperativen Programmen kennenlernen und verstehen. Realisierung der Kontrollstrukturen in Java. Kontrollstrukturen 2 Anweisungen

Mehr

Übungspaket 30 Kopieren von Dateien

Übungspaket 30 Kopieren von Dateien Übungspaket 30 Kopieren von Dateien Übungsziele: Skript: 1. Öffnen und Schließen von Dateien 2. Einfaches Lesen und Schreiben 3. Behandlung der EOF-Marke 4. Kopieren ganzer Dateien Kapitel: 59 bis 67 und

Mehr

Kapitel 4. Kontrollstrukturen

Kapitel 4. Kontrollstrukturen Kapitel 4 Kontrollstrukturen Kontrollstrukturen 1 Ziele Kontrollstrukturen in imperativen Programmen kennenlernen und verstehen. Realisierung der Kontrollstrukturen in Java. Kontrollstrukturen 2 Anweisungen

Mehr

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt? 1.8 Kontrollstrukturen 75 1.8.5 Wiederholungen Häufig muss die gleiche Teilaufgabe oft wiederholt werden. Denken Sie nur an die Summation von Tabellenspalten in der Buchführung oder an das Suchen einer

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

C-Propädeutikum Anweisungen

C-Propädeutikum Anweisungen C-Propädeutikum Anweisungen Stefan Freitag freitag@uni-leipzig.de Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Ausdrücke Institut

Mehr

Übungen zu Programmieren - Code-Formatierung -

Übungen zu Programmieren - Code-Formatierung - - Code-Formatierung - Tutoren: Sven Groppe Florian Frischat David Gregorczyk Dana Linnepe Sven-Erik Pfeiffer Markus Weigel Simon Werner groppe@ifis.uni-luebeck.de prog2@ifis.uni-luebeck.de prog6@ifis.uni-luebeck.de

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen.

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen. Grundlegende Programmstrukturen Seite 1 von 14 Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen. Sequenzen Eine Sequenz ist eine Folge von en (sblock) ohne Verzweigungen. Der

Mehr

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

<? $ZeilenMax = 9; $SpaltenMax = 9; echo <pre>; Vorbemerkungen Diese Schrittanleitung bezieht sich auf die Aufgaben 4 bis 6 von "Übung 2 - Schleifenbeispiele (1)" Sie soll als Anregung dienen, wie Sie Ihren Code blockweise erstellen und testen können.

Mehr

Schleifen in C/C++/Java

Schleifen in C/C++/Java Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.2010 (KW 18) Organisatorisches Im Web unter http://www.uni-ulm.de/in/programmierstarthilfe.html

Mehr

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im

Mehr

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmierung II. 3. Kontrollstrukturen Einführung in die Programmierung II 3. Kontrollstrukturen Thomas Huckle, Stefan Zimmer 2.5.2007-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Kontrollstrukturen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Kontrollstrukturen Wichtig: bedingte Ausführung

Mehr

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr