Software Engineering I. Musterlösungen zur Hauptklausur vom Aufgabe 1
|
|
- Hella Huber
- vor 7 Jahren
- Abrufe
Transkript
1 1 Software Engineering I Musterlösungen zur Hauptklausur vom Aufgabe 1 a) Wir entwickeln das ER-Modell aus der Problembeschreibung in mehreren Schritten. Zu Beginn identifizieren wir vier Entitätsstypen mit folgenden Attributen: "Student" mit den Attributen "Name", "Matrikelnummer" "Korrektor" mit den Attributen "Name", "Adresse", "Stundenanzahl" "Kurs" mit den Attributen "KursNr" und "Kursname" Einsendung mit den Attributen "Kurseinheit" "Korrekturzustand" und "Punktzahl" Zwischen diesen Entitätstypen finden wir folgende Beziehungen: Ein Student belegt mehrere Kurse, ein Kurs wird von mehreren Studenten belegt Ein Student schickt mehrere Einsendungen ein, jede Einsendung stammt von genau einem Studenten Ein Korrektor korrigiert mehrere Einsendungen, jede Einsendung wird von genau einem Korrektor korrigiert. Eine Einsendung gehört zu genau einem Kurs, zu einem Kurs gibt es viele Einsendungen Ein Korrektor bekommt für jeden Kurs einen Dienstvertrag, der u.a. die wöchentliche Arbeitszeit (in Stunden) festlegt. Aufgrund der Reduktionsregeln aus dem Kurstext (S. 119) halten wir folgende Punkte fest: Ein Entitätstyp Lehrstuhl ist überflüssig, weil das Programm nur den Korrekturbetrieb eines einzigen Lehrstuhls verwaltet. Auch Kurseinheit ist als Entitätstyp nicht erforderlich, weil es außer dem Identifikator Kurseinheitnummer keine weiteren Attribute gibt. Für die siebte Beispielabfrage aus der Aufgabenstellung benötigen wir die Anzahl der Kurseinheiten, die wir als Attribut von Kurs speichern. Aus diesen Überlegungen ergibt sich folgendes ER-Diagramm:
2 2 Stunden prowoche KursNr Kursname Semester Anzahl Kurseinheiten MatrikelNr Name Adresse Dienstvertrag m Kurs n belegt m Student 1 1 gehört zu Name Adresse n Korrektor 1 n korrigiert n Einsendung n schickt Kurseinheit Eingangsdatum Korrekturzustand Punktzahl b) Die Konsistenzregeln 2 und 3 sind bei der Modellierung aus a) immer erfüllt, weil jede Entität des Typs Einsendung über (1,n)-Beziehungen nur mit jeweils einer Entität des Typs Kurs bzw. Korrektor verbunden ist. Die Einhaltung der Konsistenzregel 1 müßte mit einer Prozedur überprüft werden, weil in dem obigen ER-Modell zwischen Student und Einsendung durchaus eine Beziehung bestehen kann, obwohl der Student den zugehörigen Kurs nicht belegt hat. Eine solche Prozedur würde folgendermaßen vorgehen: Durchlaufe alle Einsendungen und ermittle zu jeder Einsendung den zugehörigen Kurs und den einsendenden Studenten. Wenn nicht jedes Paar (Kurs, Student) auch in der belegt -Relation vorkommt, ist die Konsistenzregel verletzt. Die Einhaltung der Konsistenzregel 4 müßte bei dem obigen Datenmodell ebenfalls mit einer Prozedur überprüft werden, weil mehrere Einsendungen eines Studenten zu einer Kurseinheit eines Kurses möglich sind. Vorgehensweise der Prozedur: Durchlaufe alle Einsendungen und erstelle eine dreistellige Relation (Kursnummer, Kurseinheit, Matrikelnummer). Kommt ein Tripel mehrfach vor, so ist die Konsistenzbedingung verletzt. Je nach Art der Datenmodellierung in a) könnte die Konsistenzregel 4 auch automatisch erfüllt sein.
3 3 Aufgabe 2 Das Ampelsystem enthält drei Komponenten, die sich in verschiedenen Zuständen befinden können: die Autoampel, die Fußgängerampel und den Anforderungskontakt. Der Anforderungskontakt wird durch den Fußgänger aktiviert und durch die grüne Fußgängerampel wieder deaktiviert. Es ergibt sich eine Folge von Zuständen, die zyklisch durchlaufen wird. Der zwei- Minuten-Abstand zwischen zwei Rotphasen wird schon vor der Gelbphase überprüft, damit die Ampel nicht im gelben Zustand wartet. Timer2 := 0 grün rot false Sensor betätigt Timer1 > 2 s Timer1 := 0 grün rot true rotgelb rot false Timer2 > 120 s Timer2 := 0; Timer1 := 0; Timer1 > 10 s Timer1 := 0 rot rot false gelb rot true Timer1 > 3 s Timer1 := 0 rot rot true Timer1 > 8 s Timer1 := 0 Timer1 > 1 s Timer1 := 0 Autos = Zustand der Autoampel Fußg. = Zustand der Fußgängerampel Anf. = Zustand des Anforderungskontaktes rot grün false Timer1 stoppt die Verweildauer der einzelnen Zustände Timer2 stoppt den Abstand der Rotphasen
4 4 Aufgabe 3 a) Der Entitätstyp Benutzungsbeziehung wird analog zu Abb.15.8 im Kurstext in ein Teilsystem Benutzungsbeziehungen übertragen (Abb. 3.1). Die Entitätstypen Knoten, Modul und Teilsystem werden analog zu Abb im Kurstext in ein Teilsystem Knoten übertragen (Abb. 3.2). Der Knoten enthält die gemeinsamen Eigenschaften von Modul und Teilsystem und trägt dadurch zur Redundanzvermeidung bei. Eine KnotenID repräsentiert entweder einen Modul oder ein Teilsystem. Benutzungsbeziehungen TS BB- Behälter ADO BB-Behälter- Schablone ID- Verwaltung BB ID BB = Benutzungsbeziehung Abb. 3.1: Teilsystem Benutzungsbeziehung
5 5 Knoten TS Knotenbehälter ADO Knotenbehälter- Schablone Modul Teilsystem KnotenID- Verwaltung Knoten KnotenID Abb. 3.2: Das Teilsystem Knoten enthält auch die Subentitätstypen Modul und Teilsystem b) Den "1,n"-Beziehungstyp enthält transformieren wir, indem wir den Datentyp TModul um ein Attribut TeilsystemNr und entsprechende Zugriffsoperationen ergänzen. Dazu muß der Modul den Typ TTeilsystem aus aus dem Teilsystem importieren. Während das Teilsystem eines Moduls (falls vorhanden) auf diese Weise direkt bestimmt werden kann, müssen zur Bestimmung aller Module eines Teilsystems alle Knoten durchlaufen werden. Die beiden diskutierten Funktionalitäten bilden Standardoperationen auf "1,n"-Beziehungstypen. Sie und alle weiteren Operationen, die ausschließlich den Beziehungstyp bearbeiten, werden in einem Funktionsmodul Enthält-Beziehung zusammengefaßt, der sich auf dem Knoten-Teilsystem abstützt. Den "2,n"-Beziehungstyp verbindet transformieren wir wie einen "1,n"-Beziehungstyp, nur mit dem Unterschied, daß bei jeder Entität vom Typ Benutzungsbeziehung zwei KnotenIDs gespeichert werden. Der -Modul Benutzungsbeziehung muß also den Typ TKnotenID aus dem -Modul KnotenID (über die Teilsystemschnittstelle des TS Knoten) importieren. Zur Verwaltung der "2,n"-Beziehung verwenden wir einen Funktionsmodul Verbindet- Beziehung.
6 6 c) Abb. 3.3 stellt die in den Teilaufgaben (a) und (b) diskutierte Softwarearchitektur graphisch dar. Benutzungsbeziehung Verbindet- Beziehung FM Enthält- Beziehung FM TS Knoten TS Abb. 3.3: Das Gesamtsystem d) Die Operation, die zu einer KnotenID den zugehörigen Knoten liefert, befindet sich im Modul Knotenbehälterschablone (vgl. Prozedur Suche im Modul DAOrdnerSchablone, Kurstext S. 731).
7 7 Aufgabe 4 a) In dieser Aufgabe waren die Prozeßspezifikationen der Operationen Create, Dispose, Duplicate, LiesName und SchreibName anzugeben. Bei der Operation Dispose ist darauf zu achten, daß der für den Namen eines Studenten allokierte Speicherplatz auch wieder an das System zurückgegeben wird. Prozeßspezifikation Create Parameter: Name: TText; (* IN *) MatrikelNr : CARDINAL; (* IN *) lokale Variable: Stud : TStudent; Allokiere Speicherplatz für Stud; Stud.Name := TextVW.Duplicate(Name); Stud.MatrikelNr := MatrikelNr; RETURN S END Create; Prozeßspezifikation Dispose Parameter: Stud : TStudent; (* INOUT *) TextVW.Dispose(Stud.Name); Deallokiere Speicherplatz für Stud; END Dispose; Prozeßspezifikation Duplicate Parameter: Stud : TStudent; (* IN *) lokale Variable: outstud : TStudent; outstud := Create(Stud.Name, Stud.MatrikelNr); RETURN outstud; END LiesName; Prozeßspezifikation LiesName Parameter: Stud : TStudent; (* IN *) RETURN TextVW.Duplicate(Stud.Name); END LiesName; Prozeßspezifikation SchreibName Parameter: Stud : TStudent; (* INOUT *) Name : TText; (* IN *) TextVW.Equalize(Stud.Name, Name); END SchreibName;
8 8 b) Wegen der Vorbedingung NOT IsEmpty brauchen brauchen wir den Fall eines leeren Baumes nicht behandeln: Prozeßspezifikation GoSmallest Parameter: BB: TBinärbaum[TObjekt] (* INOUT *) GoRoot(BB); WHILE NOT IsLeaf(BB) DO StepLeft(BB); END; END GoSmallest; c) MODULSPEZIFIKATION Studentenverzeichnisschablone; SCHNITTSTELLENSPEZIFIKATION... (*******************************************************************************************) RUMPFSPEZIFIKATION IMPORTE IMPORTIERE Binärbaum AUS Student IMPORTIERE Student.Create, Student.Dispose, Student.Duplicate, Student.IsEqual, Student.Equalize, Student.MatrikelNrKleiner, Student.MatrikelNrGleich; (* Die Operationen MatrikelNrKleiner und MatrikelNrGleich fehlen leider im Student, dafür gibt s keine Punktabzüge *) INSTANTIIERUNG GENERIERE Studentenverzeichnisschablone AUS Binärbaum MIT DATENTYPEN TObjekt => TStudent OPERATIONEN Objekt.Create => Student.Create Objekt.Dispose => Student.Dispose Objekt.Duplicate => Student.Duplicate Objekt.IsEqual => Student.IsEqual Objekt.Equalize => Student.Equalize Objekt.SmallerValue => Student.MatrikelNrKleiner Objekt.SameValue => Student.MatrikelNrGleich UMBENENNUNGEN TBinärbaum[TStudent] => TStudentenverzeichnis; SPEZIFIKATIONSENDE MODUL Studentenverzeichnisschablone.
9 9 d) Die Operation GoSmallest wird an den Studentenverzeichnisschablone weitergereicht. Als Parameter wird das Modulgedächtnis des ADO (Variable StudentenverzeichnisADO) übergeben. Prozeßspezifikation GoSmallest Studentenverzeichnisschablone.GoSmallest(StudentenverzeichnisADO); END GoSmallest;
10 10 Aufgabe 5 a) Abb. 5.1 stellt den kompaktifizierten Kontrollflußgraphen der Prozedur IndexOfSubstring dar. n start 1 n init n while n init n while n if n then n inc n if n then n return n final 12 Abb. 5.1: Kompaktifizierter Kontrollflußgraph der Prozedur ApproxRoot. b) Bei der Eingabe ( A, A ) wird der Pfad (1,2,3,4,5,6,8,5,9,3,11,12) bzw. (n start,n init1, n while1, n init2, n while2, n if1, n inc1, n while2, n if2, n while1, n return, n final ) durchlaufen.
11 11 c) Boundary interior-test: Zu jeder Schleife sind drei Klassen von Testfällen zu betrachten: Umgehung der Schleife einmalige Schleifenausführung (boundary-test) zweimalige Schleifenausführung (interior-test) Da wir die IF-Konstruktionen jeweils als black box betrachten dürfen, bekommen wir zu jeder Schleife nur genau drei Testfälle. Wir beginnen mit der äußeren Schleife: Schleife Test Pfad Eingabe zu diesem Pfad erwartete Ausgabe while1 Umgehung 1,2,3,11,12 (, ) 0 boundary 1,2,3,4,5,9,3,11,12 ( A, ) 0 interior 1,2,3,4,5,6,7,8,5,9,10, 3,4,5,6,7,8,5,9,10,3,11,12 ( AB, C ) 2 while2 Umgehung 1,2,3,4,5,9,3,11,12 ( A, ) 0 boundary 1,2,3,4,5,6,8,5,9,3,11,12 ( A, A ) 0 interior 1,2,3,4,5,6,8,5,6,8,5,9, 3,11,12 ( AB, AB ) 0
Kurs 1793 Software Engineering I Hauptklausur am 07.08.1999
Kurs 793 Software Engineering I Seite: 5 Aufgabe (2 Punkte) Dienstverträge Problembeschreibung An einem Informatik-Lehrstuhl der FernUni werden studentische Hilfskräfte beschäftigt. Die Hilfskräfte können
MehrKurs 1793 Software Engineering I Nachklausur am 25.09.1999
Seite: 1 Aufgabe 1 (15 Punkte) Raumplanung In dieser Aufgabe soll anhand einer Problembeschreibung ein ER-Diagramm entworfen werden. Problembeschreibung In der Oberstufe einer Schule werden die Schüler
MehrKurs 1793 Software Engineering I Nachklausur am 23.09.2000
Seite: 5 Aufgabe 1 (18 Punkte) Klausurbeaufsichtigung ER-Analyse Die Informatikklausuren der FernUni werden im Sommersemester 2000 an fünf verschiedenen Terminen und in zehn verschiedenen Städten geschrieben.
MehrKurs 1793 Software Engineering I Hauptklausur am 05.08.2000. Gründung eines E-Commerce-Unternehmens ER-Analyse
Kurs 1793 Software Engineering I Seite: 5 Aufgabe 1 (25 Punkte) Gründung eines E-Commerce-Unternehmens ER-Analyse Als Systemanalyst einer Softwarefirma besuchen Sie einen jungen Unternehmer, der Ihnen
MehrSoftware Engineering I. Musterlösungen zur Hauptklausur vom Aufgabe 1
1 Software Egieerig I Musterlösuge zur Hauptklausur vom 05.08.2000 Aufgabe 1 a) Abb. 1.1 zeigt ei ER-Diagramm, das zur Beatwortug der Afrage i der Aufgabestellug ausreicht: Perso E-Mail-Adresse KotoNr
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;
MehrKurs 1613 Einführung in die imperative Programmierung Lösungen der Aufgaben zum Studientag
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { Programm sortiert das Eingabefeld iofeld aufsteigend var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1;
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
MehrKurs 1613 Einführung in die imperative Programmierung
1 Wintersemester 2002/2003 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur "Konzepte imperativer Programmierung". Lesen Sie sich
MehrHinweise zur Bearbeitung der Klausur zum Kurs Einführung in die imperative Programmierung
Name: Matrikelnr.: Hinweise zur Bearbeitung der Klausur zum Kurs 01613 Einführung in die imperative Programmierung 1. Prüfen Sie die Vollständigkeit Ihrer Unterlagen. Die Klausur umfasst: 2 Deckblätter
MehrDatenbanksysteme: Entwurf
Wichtigste Themen hier: Datenbanksysteme: Entwurf DB Entwurf ist in der Regel eingebettet in ein größeres Projekt: siehe Informationssysteme Die Daten dienen einem Zweck und sind dennoch universell nutzbar:
MehrWintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung
Name: Matrikelnr.: Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur Einführung in die imperative Programmierung.
MehrKurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am
1 Lösung 1 ( 4+4 Punkte) a) procedure VerschiebeZyklisch ( iofeld : tfeld); { verschiebt die Werte innerhalb eines Feldes eine Position nach rechts; der Wert iofeld[max] wird nach iofeld[1] übertragen
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
Mehr(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
Mehr1 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
MehrKurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am
1 Aufgabe 1 Analysiert man das Verfahren anhand des angegebenen Beispiels, ist schnell zu erkennen, dass das erste Element von infeld2 nach outfeld an Index 2 kopiert wird, das zweite den Index 4 bekommt,
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
Mehr1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l
Einführung in die wissenschaftliche Programmierung Klausur 1. März 2010 Seite 1/7 Name, Vorname, Unterschrift: Matrikelnummer: 1 Bizz Buzz Woof (ca. 3+9+6=18 Punkte) In dieser Aufgabe sollen Zahlen codiert
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
Mehr1 Stückweise konstante Funktionen (ca =10 Punkte)
Einführung in die wissenschaftliche Programmierung Klausur Seite 1/5 Name, Vorname, Unterschrift: Matrikelnummer: 1 Stückweise konstante Funktionen (ca. 4+2+4=10 Punkte) In dieser Aufgabe soll eine Klasse
MehrViel Erfolg bei der Bearbeitung der Aufgaben!
Musterlösung Name:... 1 2 3 4 5 Gesamt Note 12 8 10 15 11 56 Bitte tragen Sie auf dem Deckblatt Ihr Namen und Ihre Matrikelnummer ein und auf allen weiteren Seiten nur noch Ihre Matrikelnummer. Lösungen
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrInstallationsanleitung für CAO-FAKTURA Connector.
Installationsanleitung für CAO-FAKTURA Connector. Folgende Schritte müssen beachtet werden, damit CAO-Faktura mit Ihrem Shop kommunizieren und Daten austauschen kann. Server-Konfiguration Wenn Sie PHP
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 10
Prof. Dr. Wilhelm Schäfer Paderborn, 5. Januar 2015 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 10 Aufgabe 1 Decision-Tables
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
Mehr5. Übung - Kanalkodierung/Programmierung
5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode
MehrDas konzeptionelle Datenmodell
Das konzeptionelle Datenmodell Signifikanz der Datenmodellierung Anforderungsanalyse Effizienz der Anwendung. Redundanzfreiheit. Datenintegrität. Reibungsarme Umsetzung des Datenmodells in das physikalische
MehrVeranstaltung Pr.-Nr.: Datenmodellierung. Veronika Waue WS 07/08. Phasenschema der Datenbankentwicklung (grob) Informationsanalyse
Veranstaltung Pr.-Nr.: 101023 Datenmodellierung Veronika Waue WS 07/08 Phasenschema der Datenbankentwicklung (grob) Informationsanalyse Konzeptualisierung und Visualisierung (z.b. mittels ERD) (Normalisiertes)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrKlausur Programmiertechnik (Probeklausur 1)
Klausur Programmiertechnik (Probeklausur 1) Prüfer: Achim Bitzer Übung Matrikelnr: Name: Bitte tragen Sie auf jedem Blatt Ihre Matrikelnummer in der Kopfzeile ein! Punkte: von 70 Note: Unterschrift Prüfer
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrInhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrKurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am
Kurs 1613 Einführung in die imperative Programmierung 1 Aufgabe 1 procedure NachVorn( inwert: integer; var iorefanfang: trefelement); {Sucht das erste vorkommende Element mit inwert in der info-komponente
MehrInstallationsanleitung für CAO-FAKTURA Connector.
Installationsanleitung für CAO-FAKTURA Connector. Folgende Schritte müssen beachtet werden, damit CAO-Faktura mit Ihrem Shop kommunizieren und Daten austauschen kann. Server-Konfiguration Wenn Sie PHP
MehrAufgabe 1 (Programmanalyse, Punkte)
2 Aufgabe 1 (Programmanalyse, 8 + 6 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Schreiben Sie hierzu jeweils die ausgegebenen Zeichen hinter den Kommentar OUT:. public class
MehrÜbungen zu Programmierung I - Blatt 8
Dr. G. Zachmann A. Greß Universität Bonn Institut für Informatik II 1. Dezember 2004 Wintersemester 2004/2005 Übungen zu Programmierung I - Blatt 8 Abgabe am Mittwoch, dem 15.12.2004, 15:00 Uhr per E-Mail
MehrKurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am
1 Aufgabe 1 a) Da Effizienzbetrachtungen bei der Lösung der Aufgabe keine Rolle spielen, wählen wir einen einfachen, aber ineffizienten Algorithmus mit zwei ineinander verschachtelten for-schleifen. Dadiefor-Schleifen
MehrKapitel 1: Einführung 1.1 Datenbanken?
Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank
MehrMB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am
MB-ALG, SS1 Seite 1 Hauptklausur, geschrieben am.07.01 Vorname Nachname Matrikel-Nr Diese Klausur ist mein letzter Prüfungsversuch (bitte ankreuzen): Ja Nein Ihre Lösung für Aufgabe 1 können Sie direkt
MehrWintersemester 98/99 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung
Klausur am 10.04.1999 1 Wintersemester 98/99 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung Wir begrüßen Sie zur Klausur "Konzepte imperativer Programmierung". Lesen
MehrEinführung in Datenbanken
Einführung in Datenbanken Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrEinführung in die Informatik Iterations
Motivation Einführung in die Informatik Iterations Konstruktion, Anwendungen, Varianten Wolfram Burgard Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen
MehrGrundlagen der Informatik
Grundlagen der Informatik Musterklausur 1. Dynamische Datenstrukturen und objektorientierte Programmierung Zur Verwaltung einer digitalen Fotogalerie sollen Techniken der objektorientierten Programmierung
MehrUML - SequenzDiagramme
UML - Sequenzdiagramme - Seite 1 UML - SequenzDiagramme (1.) Kopieren Sie das erste Beispiel in Dateien und lassen Sie es laufen! Zeichnen Sie das zugehörige Sequenzdiagramm aus dem Quellkode(evtl. rechte
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christian-Albrechts-Universität zu Kiel CAU 8-1 Objektorientiertes Programmieren Die Programme, die bisher in diesem Kurs verwendet wurden, sind alle klein und überschaubar
MehrProf. Dr. Uwe Schmidt. 30. Januar 2017
Prof. Dr. Uwe Schmidt 30. Januar 2017 Aufgaben zur Klausur Algorithmen und Datenstrukturen im WS 2016/17 ( B Inf, B TInf, B MInf, B CGT, B WInf, B Ecom, B ITE) Zeit: 75 Minuten erlaubte Hilfsmittel: keine
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-6 5.1.3 Kopieren eindimensionaler Felder... 5-7
MehrHumboldt-Universität zu Berlin Berlin, den Institut für Informatik
Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrExcel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013
Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrAlgorithmen und Datenstrukturen
Übung 3: Die generische Klasse BinärerSuchbaum in Java 1 Datenelemente der Klasse BinaererSuchbaum Das einzige Datenelelement in dieser Klasse ist die Wurzel vom Typ BinaerBaumknoten. Die Klasse BinaerBaumknoten
MehrKurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrInformatik I Übung, Woche 41
Giuseppe Accaputo 8. Oktober, 2015 Plan für heute 1. Fragen & Nachbesprechung Übung 3 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 4 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrCognitive Interaction Technology Center of Excellence
Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich
Mehr3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
MehrLabor Software-Entwicklung 1
Labor Software-Entwicklung 1 Übereinkunft zu Programmablaufplänen PAP - Grundlagen Wintersemester 2015/2016 Seite 1 von 9 Inhalt DIN 66 001: Sinnbilder für Programmablaufplan... 3 Grenzstelle... 3 Ablauflinie...
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrMergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117
C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 Mergeable Heaps Erweiterung von Standardheaps, die die folgenden fünf Operationen unterstützen. Make-Heappq liefert neuen, leeren Heap. InsertpH, xq fügt
Mehr1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster
1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrPraktikum 3 Algorithmik SS Aufgabe 10: Aufgabe 9 ( Skyline-Problem ) weitere Aufgaben folgen. Name:... Matr-Nr:...
Praktikum 3 Algorithmik SS 2007 14052007 Aufgabe 9: Aufgabe 10: Das Skyline-Problem Union-Find-Strukturen weitere Aufgaben folgen Name: Matr-Nr: Datum: Unterschrift des Dozenten (wenn bestanden): Aufgabe
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrFunktionen nur wenn dann
Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative
MehrKapitel 1: Einführung 1.1 Datenbanken?
1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine
Mehr8 Elementare Datenstrukturen
Algorithmen und Datenstrukturen 186 8 Elementare Datenstrukturen In diesem und dem folgenden Kapitel werden grundlegende Techniken der Darstellung und Manipulation dynamischer Mengen auf Computern vorgestellt.
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
Mehr- EINSTIEG IN JAVA - (1/5) Datum:
- EINSTIEG IN JAVA - (1/5) Datum: 2.2 Wir lernen die Programmiersprache Java und entwickeln ein Computerspiel Schritt #1: Constructor-Methoden: Wir setzen die beiden Spieler in die 'Welt' (das Spielfeld)
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrTheorie zur Übung 8 Datenbanken
Theorie zur Übung 8 Datenbanken Relationale Datenbanksysteme Ein relationales Datenbanksystem (RDBS) liegt vor, wenn dem DBS ein relationales Datenmodell zugrunde liegt. RDBS speichern Daten in Tabellenform:
MehrKapitel 12: Induktive
Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter
MehrÜber Arrays und verkettete Listen Listen in Delphi
Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete
MehrGrundlagen von C# - 2
Grundlagen von C# - 2 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Arrays 2. Kontrollstrukturen 3. Verzweigungen Bedingte Verzweigung (if else) 4. Schleifen Kopfgesteuerte Schleife (while) Fußgesteuerte
MehrObjektorientierung II
9Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 09 19.12.2016 Objektorientierung II Aufgabe 9.1. Modellierung - Geometrische Figuren
MehrAllgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,
MehrCADSTAR MRP-Link. MRP-Link ist erstellt von:
CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub
MehrSemestrale Softwaretechnik: Software-Engineering
Semestrale Softwaretechnik: Software-Engineering Dr. Bernhard Rumpe WS 2002/2003 06. Februar 2003 Nachname: Vorname: Matrikelnummer: Hauptfach: Informatik als: [ ] Diplom [ ]Bachelor [ ]Master [ ]Nebenfach
Mehrzu E 1 der Form (0, 1) erfüllen.
1 Aufgabe 4.1: Sei B ein Beziehungstyp über den drei Entitätstypen E 1, E 2 und E 3. Sei ohne Beschränkung der Allgemeinheit die Beziehungskomplexität zu E 1 der Form (0, 1). Wir zeigen, dass B durch die
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester
MehrMusterlösung zu Übungsserie 09
Musterlösung zu Übungsserie 09 Prof. Dr. H. Schweppe I. Dageförde M. Waldvogel Aufgabe 9.1 Für diese Aufgabe gibt es nicht genau eine beste Lösung. Zunächst sei bemerkt, dass eine rekursive Lösung möglich
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrObjektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrJava Kurzreferenz Für Fortgeschrittene
Java Kurzreferenz Für Fortgeschrittene 1. Initialisierung von Applets: Die Methode init Wenn ein Applet gestartet wird, werden immer zwei Methoden aufgerufen. Diese heissen init und start. Um gewisse Berechnungen
Mehr