Übungspaket 5 Abstrakte Programmierung

Ähnliche Dokumente
Übungspaket 5 Abstrakte Programmierung

Übungspaket 10 Fallunterscheidungen

Übungspaket 9 Logische Ausdrücke

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 6 Arbeiten mit Syntaxdiagrammen

Übungspaket 14 Eindimensionale Arrays

Übungspaket 25 Kommandozeilenargumente

Übungspaket 17 Der gcc Compiler

Übungspaket 13 Der Datentyp double

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 4 Klassifikation von Dreiecken

Übungspaket 8 Datentyp int

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 7 Angemessenes Formatieren von C-Programmen

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

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

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 24 Zeichenketten

Übungspaket 17 Der gcc Compiler

Übungspaket 8 Datentyp int

Übungspaket 4 Funktionszeiger

Klausur Grundlagen der Programmierung

Übungspaket 11 Schleifen

Übungspaket 22 Rekursive Funktionsaufrufe

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

Flussdiagramm / Programmablaufplan (PAP)

Kapitel 1: Informationsverarbeitung durch Programme

Einführung in die Informatik I

Übungspaket 19 Programmieren eigener Funktionen

Technische Universität München SoSe 2018 Fakultät für Informatik, I Mai 2018 Dr. Stefanie Demirci

Über die Eignung der Programmiersprache Scratch zur Aneignung von Programmierungskompetenzen

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Programmieren I. Modulbezeichnung Programmieren I Modulverantwortliche(r) Müller

Übungspaket 13 Der Datentyp double

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Kapitel 1: Informationsverarbeitung durch Programme

Algorithmen und ihre Programmierung -Teil 2-

Hochschule München, FK 03 FA SS Ingenieurinformatik

Arbeitsblätter für Algorithmierung und Strukturierung

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik

fl diese Variablen haben jeweils den Wahrheitswert "wahr" oder "falsch", es sind damit boolesche Variablen (Datentyp: bool bzw.

Algorithmen & Datenstrukturen

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Informatik 1 für Studiengang Elektrotechnik/Kommunikationstechnik

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ingenieurinformatik. Einführung in die Programmiersprache C

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

ECDL MODUL COMPUTING. Syllabus Version 1.0

Paritäts-Bit- Generator

Software-Praktikum. Überblick und Zeitplan

Literatur: Kapitel 2.1 des Skripts Rot-Schwarz-Bäume Kapitel 2.2 des Skripts Treaps Cormen. Kapitel 13, Red-Black-Trees

Kontrollstrukturen -- Schleifen und Wiederholungen

Modulhandbuch. Wintersemester 2016/17: Veranstaltungen der Arbeitsgruppe Diskrete Mathematik, Optimierung und Operations Research keine Zuordnung

Übungspaket 28 Module und getrenntes Übersetzen

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

Schulcurriculum Klasse 7 Fachschaft Informatik

Intensivübung zu Algorithmen und Datenstrukturen

Klausur Informatik II

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Arbeitsblätter für Algorithmierung und Strukturierung C #

Ideen und Konzepte der Informatik

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/18

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Webbasierte Programmierung

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Datenstrukturen und Algorithmen

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus

Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter

Programmierung mit Java Teil 1

Modulhandbuch für das Studienfach. Digital Humanities. als Bachelor-Nebenfach (Erwerb von 60 ECTS-Punkten)

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18

Digital Humanities. Bereichsgegliedertes Modulhandbuch. für das Studienfach. als Bachelor-Nebenfach (Erwerb von 60 ECTS-Punkten)

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11)

Inhalt. 1 Mathematik? 2 PROLOG-1: Aussagen und Mengen. 3 PROLOG-2: Funktionen. 4 PROLOG-3: Zahlenmengen und vollständige Induktion

Einführung in die Informatik I (autip)

Transkript:

Ü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 der Schrittweisen Verfeinerung Kapitel: 11 bis 14 Semester: Wintersemester 2018/19 Betreuer: Thomas, Tim und Ralf Synopsis: In diesem Übungspaket betrachten wir Vorgänge aus dem alltäglichen Leben, die letztlich nichts anderes als Algorithmen sind und die wir daher mittels Struktogrammen und der Methode der Schrittweisen Verfeinerung beschreiben wollen. Dabei geht es uns mehr um die Anwendung der erlernten Methoden und nicht um eine ultra präzise Beschreibung der alltäglichen Situationen.

Teil I: Stoffwiederholung Aufgabe 1: Datentypen und Werte Welche Datentypen werden üblicherweise in der Programmierung verwendet? Gebe zu allen Datentypen ein paar Beispiele für mögliche Werte. Datentyp Beispielhafte Werte Aufgabe 2: Anweisungen Welche fünf grundlegenden Anweisungarten haben wir in Skript und Vorlesung besprochen? Nr. Anweisung Beschreibung 1. 2. 3. 4. 5. Einführung in die Praktische Informatik, Wintersemester 2018/19 5-1

Aufgabe 3: Abstrakte Programmierung: warum? Erkläre mit eigenen Worten, warum wir immer mit der abstrakten Programmierung und nicht gleich mit dem Eintippen eines kleinen C-Programms anfangen. Aufgabe 4: Fallunterscheidungen Beschreibe mit eigenen Worten, warum Fallunterscheidungen notwendig sind und illustriere am Beispiel wie diese in der abstrakten Programmierung aussehen. Aufgabe 5: Schleifen Beschreibe mit eigenen Worten, warum Schleifen notwendig sind und illustriere am Beispiel wie diese in der abstrakten Programmierung aussehen. 5-2 Wintersemester 2018/19, Einführung in die Praktische Informatik

Teil II: Quiz Aufgabe 1: Beispiel: Schleife Was macht nebenstehendes Programm? setze summe = 0 für i = -3 bis 3 schrittweite 1 setze summe = summe + i Drucke "resultat: " summe Aufgabe 2: Beispiel: Fallunterscheidung Was macht nebenstehendes Programm? Lese Variablen i und j i > j oder j < 0 wahr falsch setze i = -j setze i = j - i Drucke "Resultat: " i Einführung in die Praktische Informatik, Wintersemester 2018/19 5-3

Teil III: Fehlersuche Aufgabe 1: Suche von Semantikfehlern Das folgende Programm soll die Summe aller ungeraden Zahlen von -1 bis 13 (einschließlich) ausrechnen. Doch offensichtlich hat unser Aushilfsprogrammierer Dr. No ein paar Fehler gemacht. Finde die vier Fehler, erkläre und korrigiere sie. setze summe = 0 für i = -3 bis 13 schrittweite 1 setze summe = summe - i Drucke "resultat: " summe + 2 5-4 Wintersemester 2018/19, Einführung in die Praktische Informatik

Teil IV: Anwendungen Von den folgenden 4 Aufgaben sind mindestens drei zu bearbeiten und jede der beiden Methoden ist mindestens einmal zu verwenden. Bei allen Aufgaben gibt es kein Richtig oder Falsch. Anhand der Aufgaben sollt Ihr lernen, Arbeitsabläufe mittels strukturierter Methoden zu beschreiben und diese in einigen wenigen Stufen schrittweise zu verfeinern, bis sie wirklich klar sind. Diesen Prozess könnte man bei jedem Detail nahezu endlos weiterführen; findet also eine sinnvolle Ebene (ein sinnvolles Abstraktionsniveau), bei dem ihr abbrecht, weil die Beschreibung hinlänglich klar ist. Da es uns um die Prinzipien geht, sollte jede Beschreibung aus maximal 15-20 Zeilen bestehen. Aufgabe 1: Auto betanken Aufgabenstellung: Ihr fahrt mit dem Auto und der Tank ist fast leer. Beschreibe, wie ihr an die Tankstelle fahrt, tankt und bezahlt. Einführung in die Praktische Informatik, Wintersemester 2018/19 5-5

Aufgabe 2: Kaffeeklatsch in der Kneipe Aufgabenstellung: Du sitzt mit ein paar Freunden zusammen in der Kneipe, ihr seid am Klönen über dies, das und die Lehrveranstaltung. Je nach Zusammensetzung der Gruppe sollst du verschiedene Getränke bestellen. Auch sollte die Auswahl davon abhängig sein, ob die Schwiegereltern anwesend sind oder nicht. Je nach Stimmungslage sind zwei bis vier Runden zu bestellen. Aufgabe 3: Organisation eines Lernabends Aufgabenstellung: Für die anstehenden Klausuren trefft ihr euch als Lerngruppe immer reihum bei einem der Mitglieder. Beschreibe, wie du den heutigen Abend organisierst: 5-6 Wintersemester 2018/19, Einführung in die Praktische Informatik

Aufgabe 4: Reparieren eines Fahrradschlauchs Aufgabenstellung: Was muss man alles in welcher Reihenfolge machen, wenn man einen kaputten Fahrradschlauch reparieren soll? Einführung in die Praktische Informatik, Wintersemester 2018/19 5-7