An die Teilnehmerinnen und Teilnehmer des Kurses 1613 Einführung in die imperative Programmierung im WS 05/06

Größe: px
Ab Seite anzeigen:

Download "An die Teilnehmerinnen und Teilnehmer des Kurses 1613 Einführung in die imperative Programmierung im WS 05/06"

Transkript

1 FACHBEREICH Informatik Lehrgebiet Software Engineering Prof. Dr. H.-W. Six FernUniversität in Hagen Hagen An die Teilnehmerinnen und Teilnehmer des Kurses 1613 Einführung in die imperative Programmierung im WS 05/06 Ihr Zeichen Ihre Nachricht vom Mein Zeichen Auskunft erteilt Kursbetreuer 1612/1613 Telefon Telefax Hausanschrift Universitätsstr Hagen Datum Klausur-Informationen Liebe Fernstudierende, die Hauptklausur zu dem Kurs 1613 findet am statt. Studierende, die an diesem Termin verhindert sind oder die Hauptklausur nicht bestehen, können am an der Nachklausur teilnehmen. Um an den Klausuren teilnehmen zu können, müssen Sie sich anmelden. Einen entsprechenden Link finden Sie auf der OKB-Startseite: Eine Liste der Klausurorte liegt als Anlage bei. Die Klausur für den Kurs 1613 dauert jeweils 2 Stunden von Uhr bis Uhr. Um den Belegern des Kurses 1613 einen Eindruck von der Art der Aufgabenstellung in den Klausuren zu vermitteln, haben wir diesem Schreiben die Aufgaben und Musterlösung der Hauptklausur des WS 01/02 als Probeklausur beigelegt. Versuchen Sie als Vorbereitung auf die Klausur, die Aufgaben unter Klausurbedingungen zu bearbeiten, und kontrollieren Sie erst dann Ihre Lösungen anhand der Musterlösung. Sollten Sie noch Rückfragen haben, so wenden Sie sich bitte zu den angegebenen Sprechzeiten an unser Lehrgebiet (Tel ). Die Räume für die Studientage ( in Frankfurt, in Hagen) stehen noch nicht fest, wir werden Sie kurzfristig in einem gesonderten Schreiben informieren. Mit freundlichen Grüßen Ihre Kursbetreuer Anlagen: Liste der Klausurorte für die Haupt- und Nachklausur Hauptklausur WS 01/02 Musterlösung der Hauptklausur Telefonzentrale Zentraler Telefaxeingang Internet Buslinien 515 Haltestelle FernUniversität

2 Liste der Orte für die Hauptklausur am von Uhr Ort: Klausuranschrift: Hörsaal: Berlin Humbold Universität Berlin 3038/035 * Unter den Linden /92 * Berlin 3094/96 * Bochum Ruhruniversität Bochum HZO 10 Ostforum Universitätsstr Bochum Frankfurt Johann-Wolfgang-Goethe-Universität Frankfurt Hörsaal I * Mertonstr Hörsaal II * Frankfurt / Main Hamburg Universität Hamburg Hörsaal B * Von-Melle-Park 6 Hörsaal C * Hamburg Karlsruhe Universität Karlsruhe Gerthsen-HS Engesserstr. 9 Geb Karlsruhe Köln Universität zu Köln H1 * Erziehungswissenschaftliche Fakultät H4 * Gronewaldstr. 2a (je 1. Etage) Köln München Ludwig-Maximilian-Universität München Liebig * Butenandtstr Willstätter * München/Großhadern Bregenz Studienzentrum Bregenz Die Raumnummer ist Belrupstraße 10 dem Aushang im SZ A-6900 Bregenz zu entnehmen. Wien Fernstudienzentrum Wien Die Raumnummer ist Strozzigasse 2 dem Aushang im SZ A-1080 Wien zu entnehmen *) Falls für einen Klausurort mehrere Hörsäle angegeben sind, so verteilen sich die an diesem Termin zu verschiedenen Kursen parallel stattfindenden FernUni-Klausuren auf die genannten Räume. Informieren Sie sich bitte vor Ort, in welchem Raum die 1613-Klausur stattfindet. 2

3 Liste der Orte für die Nachklausur am von Uhr Ort: Klausuranschrift: Hörsaal: Berlin Humbold-Universität Berlin 2002 Unter den Linden Berlin Bochum Ruhruniversität Bochum HZO 30 Ostforum Universitätsstr Bochum Frankfurt Johann-Wolfgang-Goethe-Universität Frankfurt Hörsaal I Mertonstr Frankfurt / Main Hamburg Universität Hamburg Hörsaal B Von-Melle-Park Hamburg Karlsruhe Universität Karlsruhe Gaede-Hörsaal Engesserstr. Geb Karlsruhe Köln Universität zu Köln H4 Erziehungswissenschaftliche Fakultät Gronewaldstr. 2a Köln München Ludwig-Maximilian-Universität München Liebig Butenandtstr München/Großhadern Bregenz Studienzentrum Bregenz Die Raumnummer ist Belrupstraße 10 dem Aushang im SZ A-6900 Bregenz zu entnehmen. Wien Fernstudienzentrum Wien Die Raumnummer ist Strozzigasse 2 dem Aushang im SZ A-1080 Wien zu entnehmen 3

4 Wintersemester 2001/2002 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". Lesen Sie sich diese Hinweise vollständig und aufmerksam durch, bevor Sie mit der Bearbeitung der Aufgaben nen: 1. Prüfen Sie die Vollständigkeit Ihrer Unterlagen. Die Klausur umfasst: - 2 Deckblätter, - 1 Formblatt für eine Bescheinigung für das Finanzamt, - diese Hinweise zur Bearbeitung, - 5 Aufgaben (Seite 5 - Seite 12), - die Muß-Regeln des Programmierstils. 2. Füllen Sie, bevor Sie mit der Bearbeitung der Aufgaben nen, folgende Seiten des Klausurexemplares aus: a) BEIDE Deckblätter mit Namen, Anschrift sowie Matrikelnummer. Markieren Sie vor der Abgabe auf beiden Deckblättern die von Ihnen bearbeiteten Aufgaben. b) Falls Sie eine Teilnahmebescheinigung für das Finanzamt wünschen, füllen Sie bitte das entsprechende Formblatt aus. Nur wenn Sie beide Deckblätter vollständig ausgefüllt haben, können wir Ihre Klausur korrigieren! 3. Schreiben Sie Ihre Lösungen auf den freien Teil der Seite unterhalb der Aufgabe bzw. auf die leeren Folgeseiten. Sollte dies nicht möglich sein, so vermerken Sie, auf welcher Seite die Lösung zu finden ist. Streichen Sie ungültige Lösungen deutlich durch. 4. Schreiben Sie auf jedem von Ihnen beschriebenen Blatt oben links Ihren Namen und oben rechts Ihre Matrikelnummer. Wenn Sie weitere eigene Blätter benutzt haben, heften Sie auch diese, mit Name und Matrikelnummer versehen, an Ihr Klausurexemplar. Nur dann werden auch Lösungen außerhalb Ihres Klausurexemplares gewertet! 5. Neben unbeschriebenem Konzeptpapier und Schreibzeug (Füller oder Kugelschreiber) sind keine weiteren Hilfsmittel zugelassen. Die Muß-Regeln des Programmierstils, die Tabelle mit den im Kurs verwendeten Hoare-Regeln und die Definition der Terminierungsfunktion finden Sie im Anschluß an die Aufgabenstellung. 6. Es sind maximal 42 Punkte erreichbar. Sie haben die Klausur sicher dann bestanden, wenn Sie mindestens 21 Punkte erreicht haben. Wir wünschen Ihnen bei der Bearbeitung der Klausur viel Erfolg! 4

5 Aufgabe 1 (6 Punkte) Eine natürliche Zahl n heißt perfekt, wenn n als Summe aller natürlicher Zahlen i (1 i n -- ), durch die n ohne Rest teilbar ist, dargestellt werden kann. Die Zahl 28 ist beispielsweise eine perfekte Zahl. Es ist 28 = und 1, 2, 4, 7 und 14 sind genau 2 alle Zahlen, durch die 28 ohne Rest teilbar ist. Schreiben Sie ein Programm perfekte- Zahl, das alle perfekten Zahlen zwischen 1 und 1000 auf dem Bildschirm ausgibt. 5

6 Aufgabe 2 (8 Punkte) Ein Handlungsreisender muss MAXORTSZAHL Städte besuchen (MAXORTSZAHL > 1) und möchte dafür eine Reise planen, bei der jede Stadt genau einmal besucht wird. Aus Sparsamkeits- und Umweltschutzgründen sollte die Reise möglichst kurz sein. Es soll eine PASCAL-Prozedur Reise entwickelt werden, die eine Reise ermittelt und die Ortsnummern in der Reihenfolge der Reise sowie die insgesamt zu fahrenden Kilometer ausgibt. Dazu wird der Prozedur eine Entfernungsmatrix übergeben, in der das Element in der i-ten Zeile und j-ten Spalte die Entfernung zwischen der Stadt i und der Stadt j angibt. Die Entfernungen zwischen den Städten und die Länge der Reise sind immer positive integer-zahlen kleiner als maxint. Zur Bestimmung einer kurzen Reise wird folgendes Verfahren benutzt: Ausgehend von Stadt 1 wird diejenige Stadt bestimmt, welche die kürzeste Entfernung von Stadt 1 besitzt. Von dieser Stadt aus wird wiederum die nächstgelegene Stadt ermittelt und von der aus wieder die nächstgelegene usw., bis alle Städte besucht worden sind. Die Information, welche Städte schon besucht sind, wird in einem booleschen Feld abgelegt. Als Beispiel für MAXORTSZAHL = 3 geben wir die folgende Entfernungsmatrix und die resultierende Prozedurausgabe an: 123 Prozedurausgabe: Entfernungsmatrix: Reise: km Ihre Aufgabe besteht darin, unter Benutzung der Konstantendefinition und Typdefinitionen const MAXORTSZAHL = 10; type tortsindex = 1..MAXORTSZAHL; tentfernung = 0..maxint; tentfmatrix = array [tortsindex, tortsindex] of tentfernung; untenstehende Prozedur so zu ergänzen, dass sie obiges Verfahren implementiert. procedure Reise (var inmat : tentfmatrix); { berechnet eine kurze Reise aus der Entfernungsmatrix inmat } 6

7 type tboolfeld = array [tortsindex] of boolean; { zur Markierung bereits besuchter Staedte } var besucht : tboolfeld; Gesamtstrecke : tentfernung; hier, { gibt die aktuelle Stadt an } naechste, { gibt die naechste zu besuchende Stadt an } i : tortsindex; {...setzen Sie hier evtl. weitere Deklarationen ein } { procedure } for i := 1 to MAXORTSZAHL do besucht [i] := false; { initialisiert das Feld besuchter Staedte } Gesamtstrecke := 0; hier := 1; besucht [hier] := true; writeln ('Reise: '); writeln (hier); { es sind noch MAXORTSZAHL - 1 Staedte zu besuchen } for i := 1 to MAXORTSZAHL - 1 do Komplettieren Sie den Schleifenrumpf von Reise, indem Sie die hier erforderlichen Anweisungen nach dem untenstehenden Buchstaben A angeben. end; writeln (Gesamtstrecke, ' km') end; { Reise } 7

8 Aufgabe 3 (5 + 5 Punkte) Zwei Mengen M1 und M2 mit ganzen Zahlen seien durch einfach-verkettete lineare Listen realisiert. Die Zahlen innerhalb der Liste sind nicht sortiert. Die Prozedur Minus(M1, M2) entfernt alle Zahlen aus der Liste M1, die ebenfalls in der Liste M2 enthalten sind. Das Entfernen dieser Zahlen aus der Liste M1 soll ausschließlich durch Ändern der Verkettung geschehen. Implementieren Sie die Prozedur Minus, indem Sie die Teilaufgaben a) und b) bearbeiten. Gehen Sie dabei von den angegebenen Typen und Prozedurköpfen aus. type trefliste = ^tliste; tliste = record info : integer; next : trefliste end; a) Implementieren Sie eine Funktion finden, die einen Suchwert in einer Liste finden soll. Der zu suchende Wert wird in dem Parameter inwert und die zu durchsuchende Liste in dem Parameter inrefliste an die Funktion übergeben. Wird der Suchwert in der Liste gefunden, so soll die Funktion einen Zeiger auf dieses Element zurückliefern, ansonsten gibt die Funktion den Wert nil zurück. function finden ( inwert : integer; inrefliste : trefliste) : trefliste; { sucht den Wert inwert in der Liste, auf deren Anfang inrefliste zeigt. Wird der Wert gefunden, liefert die Funktion einen Zeiger auf dieses Element zurueck, ansonsten nil } b) Implementieren Sie die Prozedur Minus unter Benutzung der Funktion finden. Vervollständigen Sie dazu untenstehende Prozedur, indem Sie für die Platzhalter (1) bis (5) in der Prozedur einen Ausdruck, eine Bedingung, eine Anweisung oder eine Anweisungsfolge einsetzen. procedure Minus ( var iorefm1 : trefliste; inrefm2 : trefliste); { entfernt nur durch Aendern der Verkettung alle Elemente aus iorefm1, deren Werte auch in iorefm2 vorkommen. } var RefWert, RefLauf1, RefLauf2: trefliste; RefLauf2 := inrefm2; 8

9 } iorefm1 } while RefLauf2 <> nil do RefWert := finden((1), (2)); if RefWert <> nil then { Suchwert in iorefm1 gefunden? if (3) then { Sonderfall: Suchwert ist erstes Element in (4) end else { Normalfall } (5) end end; { if RefWert <> nil } RefLauf2 := RefLauf2^.next; end { while } end; { Minus } Platzhalter Ausdruck, Bedingung, Anweisung oder Anweisungsfolge (1) (2) (3) (4) (5) 9

10 Aufgabe 4 (10 Punkte) Gegeben sei ein (nicht sortierter) binärer Baum und ein Zeiger RefZ auf einen Knoten, der im Baum enthalten ist. Ihre Aufgabe ist es, eine Prozedur Trennen zu implementieren, die den Teilbaum, auf dessen Wurzel RefZ zeigt, vom Baum abtrennt. Zeigt RefZ auf die Wurzel des Baumes, dann ist nichts zu tun. Die folgende Abbildung veranschaulicht das Prinzip. RefWurzel A RefZ RefWurzel A RefZ F G F G R S K M R S K M Gehen Sie von den folgenden Typdefinitionen und dem angegebenen Prozedurkopf aus. type trefbinbaum = ^tbinbaum; tbinbaum = record info : char; links, rechts : trefbinbaum end; procedure Trennen ( inrefwurzel, inrefz : trefbinbaum); { trennt den Teilbaum, auf dessen Wurzel inrefz zeigt, vom Baum ab, auf dessen Wurzel inrefwurzel zeigt; zeigen inrefwurzel und inrefz auf denselben Knoten, geschieht nichts } 10

11 Aufgabe 5 (2 + 6 Punkte) Die Funktion Hoch berechnet die n-te Potenz einer integer-zahl, die größer 0 ist. Beispielsweise ist die 4-te Potenz von 6 gleich 6 * 6 * 6 * 6 = 1296; also Hoch (6,4) = Sie können annehmen, dass Zahl > 0 und n>=0 gilt. Gehen Sie dabei von folgender Typdefinition aus: type tnatzahl = 0..maxint; tnatzahlplus = 1..maxint; function Hoch (Zahl : tnatzahlplus; n : tnatzahl): tnatzahlplus; {berechnet fuer n >= 0 die n-te Potenz von Zahl > 0} var Temp1, Temp2 : tnatzahlplus; Temp3 : tnatzahl; 1 Temp1 := 1; 2 Temp2 := Zahl; 3 Temp3 := n; 4 while Temp3 > 0 do 5 6 if odd(temp3) then 7 Temp1 := Temp1 * Temp2; 8 Temp2 := sqr(temp2); 9 Temp3 := Temp3 div 2 10 end; 11 Hoch := Temp1 end; {Hoch} 11

12 Wir geben zusätzlich den kompaktifizierten Kontrollflußgraphen zu Hoch an: n start Zeilen 1-3 n init Zeile 4 n while Zeilen 5-6 n if Zeile 7 n then Zeilen 8-10 n do Zeile 11 n tail n final Kompaktifizierter Kontrollflußgraph von Hoch a) Geben Sie eine Knotenfolge an, die eine vollständige Anweisungsüberdeckung für die Funktion Hoch bildet. Wie lautet ein Testdatum zu dieser Knotenfolge? b) Es soll ein boundary-interior Test der Funktion durchgeführt werden. Geben Sie für jede der drei Testklassen einen passenden Pfad und die dazugehörigen assoziativen Testfälle an. Wählen Sie für die interior-klasse n=2, d.h. betrachten Sie Testdaten, die die Schleife genau zweimal durchlaufen. 12

13 Lösung 1 (6 Punkte) Der Kern des Programms perfektezahl besteht aus zwei ineinander geschachtelten for- Schleifen. Die äußere der beiden Schleifen läuft über den gegebenen Zahlenbereich 1 bis In der inneren Schleife werden sukzessiv alle Teiler i der gerade aktuellen Zahl n ermittelt und aufsummiert. Ist diese Summe gleich n, dann ist n eine perfekte Zahl. program perfektezahl (input, output); { berechnet alle "perfekten Zahlen" zwischen 1 und 1000 } const MINIMAL = 1; MAXIMAL = 1000; type tnatzahl = 0..maxint; tloesungsbereich = MINIMAL..MAXIMAL; var n : tloesungsbereich; i, Summe : tnatzahl; writeln; write ('perfekte Zahlen: '); { alle Zahlen zwischen 1 und 1000 untersuchen } for n := MINIMAL to MAXIMAL do Summe := 0; { alle Teiler von n zwischen 1 und n/2 summieren } for i := 1 to (n div 2) do if n mod i = 0 then Summe := Summe + i; if n = Summe then write (n,', ') end end. { perfektezahl } 13

14 Lösung 2 (8 Punkte) Wir erstellen die Reise, indem wir in der Variablen hier die jeweils aktuelle Stadt festhalten. Die von hier aus nächste Stadt wird anhand der Entfernungen in der durch hier indizierten Matrixzeile ausgesucht, wobei das Feld besucht angibt, welche Städte bereits besucht worden sind. Auch hier geben wir wieder ein Rahmenprogramm an, welches den Test der Prozedur Reise ermöglicht: program Aufgabe (input, output); { Testprogramm fuer die Prozedur Reise } const MAXORTSZAHL = 10; type tortsindex = 1..MAXORTSZAHL; tentfernung = 0..maxint; tentfmatrix = array [tortsindex, tortsindex] of tentfernung; var EntfMatrix : tentfmatrix; i, j : tortsindex; procedure Reise (var inmat : tentfmatrix); { berechnet eine kurze Reise aus der Entfernungsmatrix inmat } type tboolfeld = array [tortsindex] of boolean; { zur Markierung bereits besuchter Staedte } var besucht : tboolfeld; Gesamtstrecke : tentfernung; hier, { gibt die aktuelle Stadt an } Spalte, i : tortsindex; Einzelstrecke : tentfernung; { bisher gefundene kuerzeste Entfernung von hier zu einer anderen noch nicht besuchten Stadt } naechste : tortsindex; { die Stadt mit Entfernung Einzelstrecke von der Stadt hier } { procedure } for i := 1 to MAXORTSZAHL do besucht [i] := false; { initialisiert das Feld besuchter Staedte } 14

15 Gesamtstrecke := 0; hier := 1; besucht [hier] := true; writeln ('Reise: '); writeln (hier); { es sind noch MAXORTSZAHL - 1 Staedte zu besuchen } for i := 1 to MAXORTSZAHL - 1 do Einzelstrecke := maxint; { suche die naechstgelegene, noch nicht besuchte Stadt } for Spalte := 1 to MAXORTSZAHL do if not besucht [Spalte] then if inmat [hier, Spalte] < Einzelstrecke then Einzelstrecke := inmat [hier, Spalte]; naechste := Spalte end; writeln (naechste); Gesamtstrecke := Gesamtstrecke + Einzelstrecke; besucht [naechste] := true; hier := naechste end; writeln (Gesamtstrecke, ' km') end; { Reise } for i := 1 to MAXORTSZAHL do for j := i to MAXORTSZAHL do { Einlesen einer symmetrischen Entfernungsmatrix: } write ('Strecke von ', i, 'nach ', j, ': '); readln (EntfMatrix [i, j]); EntfMatrix [j, i] := EntfMatrix [i, j]; end; Reise (EntfMatrix) end. { Aufgabe } 15

16 Lösung 3 (5 + 5 Punkte) a) function finden ( inwert : integer; inrefliste : trefliste) : trefliste; { sucht den Wert inwert in der Liste, auf deren Anfang inrefliste zeigt. Wird der Wert gefunden, liefert die Funktion einen Zeiger auf das Element zurueck, ansonsten nil } var reflauf : trefliste; gefunden := false; reflauf := inrefliste; while ((reflauf <> nil) and (not gefunden)) do if reflauf^.info = inwert then gefunden := true else reflauf := reflauf^.next; finden := reflauf end; { einfuegen } b) Platzhalter Ausdruck, Bedingung, Anweisung oder Anweisungsfolge (1) RefLauf2^.info (2) iorefm1 (3) RefWert = iorefm1 (4) iorefm1 := iorefm1^.next; dispose(refwert) end (5) RefLauf1 := iorefm1; while RefLauf1^.next <> RefWert do RefLauf1 := RefLauf1^.next; RefLauf1^.next := RefLauf1^.next^.next; dispose(refwert) 16

17 Lösung 4 (10 Punkte) Das Problem in dieser Aufgabe ist, dass der Baum durchlaufen werden muss, bis der Vaterknoten des Elementes gefunden ist, auf das inrefz zeigt. Am einfachsten wird solch ein Baumdurchlauf als rekursive Prozedur implementiert. procedure Trennen ( inrefwurzel, inrefz : trefbinbaum); { trennt den Teilbaum, auf dessen Wurzel inrefz zeigt, vom Baum ab, auf dessen Wurzel inrefwurzel zeigt; zeigen inrefwurzel und inrefz auf denselben Knoten, geschieht nichts } if inrefwurzel <> inrefz then if inrefwurzel^.links = inrefz then inrefwurzel^.links := nil else if inrefwurzel^.links <> nil then Trennen (inrefwurzel^.links, inrefz); if inrefwurzel^.rechts = inrefz then inrefwurzel^.rechts := nil else if inrefwurzel^.rechts <> nil then Trennen (inrefwurzel^.rechts, inrefz) end end; { Trennen } 17

18 Lösung 5 (2 + 6 Punkte) a) Eine vollständige Anweisungsüberdeckung wird durch den Pfad (n start, n init, n while, n if, n then, n do, n while, n tail, n final ) erreicht. Ein Testdatum zu diesem Pfad ist: ((1, 1), 1) b) Folgender Pfad umgeht die Ausführung der while-schleife: (n start, n init, n while, n tail, n final ) Der zugehörige assoziierte Testfall ist: T 1 ={((a, 0), 1) a aus {1, 2, 3,...}} Zu genau einem Schleifendurchlauf gehören die beiden folgenden Pfade mit ihren assoziierten Testfällen: (n start, n init, n while, n if, n then, n do, n while, n tail, n final ) Der zugehörige assoziierte Testfall ist: T 2 ={((a, 1), a) a aus {1, 2, 3,...}} (n start, n init, n while, n if, n do, n while, n tail, n final ) Zu diesem Pfad existiert kein Testdatum: T 3 ={ } Die while-schleife wird genau zweimal durchlaufen bei den folgenden vier Pfaden und ihren assoziierten Testfällen: (n start, n init, n while, n if, n then, n do, n while, n if, n then, n do, n while, n tail, n final ) Der zugehörige assoziierte Testfall ist: T 4 ={((a, 3), a 3 ) a aus {1, 2, 3,...}} (n start, n init, n while, n if, n then, n do, n while, n if, n do, n while, n tail, n final ) Zu diesem Pfad existiert kein Testdatum: T 5 ={ } (n start, n init, n while, n if, n do, n while, n if, n then, n do, n while, n tail, n final ) Der zugehörige assoziierte Testfall ist: T 6 ={((a, 2), a 2 ) a aus {1, 2, 3,...}} (n start, n init, n while, n if, n do, n while, n if, n do, n while, n tail, n final ) Zu diesem Pfad existiert kein Testdatum: T 7 ={ } 18

An alle Teilnehmer(innen) des Kurses Einführung in die imperative Programmierung im Wintersemester 2008/2009. Klausur-Informationen

An alle Teilnehmer(innen) des Kurses Einführung in die imperative Programmierung im Wintersemester 2008/2009. Klausur-Informationen Lehrgebiet Software Engineering Prof. Dr. H.-W. Six FernUniversität in Hagen 58084 Hagen An alle Teilnehmer(innen) des Kurses 01613 Einführung in die imperative Programmierung im Wintersemester 2008/2009

Mehr

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich "Konzepte imperativer Programmierung"

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich Konzepte imperativer Programmierung FernUniversität -Gesamthochschule- in Hagen Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich. FERNUNIVERSITÄT - Gesamthochschule - EINGANG Postanschrift: FernUniversität

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2003/2004 Hinweise zur Bearbeitung der Klausur zum Wir begrüßen Sie zur Klausur "Einführung in die imperative Programmierung". Lesen Sie sich diese Hinweise vollständig und aufmerksam

Mehr

FernUniversität -Gesamthochschule- in Hagen

FernUniversität -Gesamthochschule- in Hagen FernUniversität -Gesamthochschule- in Hagen Fachbereich Informatik Praktische Informatik III Prof. Dr. Hans-Werner Six Prof. Dr. H.-W. Six FernUniversität Postfach 940 D-58084 Hagen An die Teilnehmerinnen

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 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

Mehr

Hinweise zur Bearbeitung der Klausur zum Kurs Einführung in die imperative Programmierung

Hinweise 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

Mehr

Einladung zur Klausur

Einladung zur Klausur FACHBEREICH Informatik Lehrgebiet Software Engineering Prof. Dr. H.-W. Six FernUniversität in Hagen An alle Teilnehmer(innen) des Kurses 01794 Software Engineering II im Sommersemester 2005 Ihr Zeichen

Mehr

Wintersemester 2010/2011 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung

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

Mehr

( = 18 Punkte)

( = 18 Punkte) 1 Lösung 1 ( 6 + 5 + 3 + 4 = 18 Punkte) a) function countziff (inzahl : tnatzahl): tnatzahl; {gibt die Stellenanzahl der inzahl} i, j : tnatzahl; i := inzahl; j := 1; while i => 10 do j := j + 1; i :=

Mehr

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich Einführung in die imperative Programmierung

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich Einführung in die imperative Programmierung FernUniversität in Hagen Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich. FERNUNIVERSITÄT - Gesamthochschule - EINGANG Postanschrift: FernUniversität D - 58084

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am Kurs 1613 Einführung in die imperative Programmierung 1 Aufgabe 1 In einer ersten for-schleife wird das Kandidatenfeld initialisiert, so dass alle Kandidaten hinten stehen. Eine zweite for-schleife simuliert

Mehr

Einladung zur Klausur

Einladung zur Klausur FACHBEREICH Informatik Lehrgebiet Software Engineering Prof. Dr. H.-W. Six FernUniversität in Hagen An alle Teilnehmer(innen) des Kurses 01794 Software Engineering II im Wintersemester 2005/06 Ihr Zeichen

Mehr

Wie schreibe ich ein Programmierstils in Deutschland

Wie schreibe ich ein Programmierstils in Deutschland 1 Wintersemester 2006/2007 Hinweise zur Bearbeitung der Klausur zum Wir begrüßen Sie zur Klausur "Einführung in die imperative Programmierung". Lesen Sie sich diese Hinweise vollständig und aufmerksam

Mehr

Wintersemester 2007/2008 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung

Wintersemester 2007/2008 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2007/2008 Hinweise zur Bearbeitung der Klausur zum Wir begrüßen Sie zur Klausur "Einführung in die imperative Programmierung". Lesen Sie sich diese Hinweise vollständig und aufmerksam

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 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

Mehr

Wir wünschen Ihnen bei den Klausuren viel Erfolg. Falls er sich nicht einstellen sollte: Der Kurs soll nächstmalig im SS 2008 stattfinden.

Wir wünschen Ihnen bei den Klausuren viel Erfolg. Falls er sich nicht einstellen sollte: Der Kurs soll nächstmalig im SS 2008 stattfinden. Fakultät für Mathematik und Informatik Lehrgebiet Programmiersysteme Prof. Dr. Friedrich Steimann FernUniversität in Hagen 58084 Hagen Ihr Zeichen Ihre Nachricht Mein Zeichen Jsch Auskunft Frau Schmidt

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2009/2010 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur

Mehr

Wintersemester 98/99 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung

Wintersemester 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

Mehr

Wintersemester 2005/2006 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung

Wintersemester 2005/2006 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung 1 Wintersemester 2005/2006 Hinweise zur Bearbeitung der Klausur zum Kurs 1612 Konzepte imperativer Programmierung Wir begrüßen Sie zur Klausur "Konzepte imperativer Programmierung". Lesen Sie sich diese

Mehr

FernUniversität -Gesamthochschule- in Hagen

FernUniversität -Gesamthochschule- in Hagen FernUniversität -Gesamthochschule- in Hagen Fachbereich Informatik Praktische Informatik III Prof. Dr. H.-W. Six FernUniversität Postfach 940 D-58084 Hagen An die Studierenden des Kurses 1793 Software

Mehr

Klausuren zu Kurs 1618 im SS Liebe Fernstudentin, lieber Fernstudent,

Klausuren zu Kurs 1618 im SS Liebe Fernstudentin, lieber Fernstudent, Fakultät für Mathematik und Informatik Lehrgebiet Programmiersysteme Prof. Dr. Friedrich Steimann FernUniversität in Hagen 58084 Hagen Ihr Zeichen Ihre Nachricht Mein Zeichen Jsch Auskunft Frau Schmidt

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 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

Mehr

Die Klausur zu MATHEMATISCHE METHODEN DER PHYSIK UND TECHNIK I findet am. Samstag, dem 26. September 2009, Uhr

Die Klausur zu MATHEMATISCHE METHODEN DER PHYSIK UND TECHNIK I findet am. Samstag, dem 26. September 2009, Uhr Univ.-Prof. (em.) Dr. Kresimir Veselić FernUniversität in Hagen 58084 Hagen Informationen für unsere Studentinnen und Studenten Ihr Zeichen: Ihre Nachricht vom: Mein Zeichen: q1281_09.doc Meine Nachricht

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am 1 Aufgabe 1 a) Die erste Variante (Verkettungsänderung) ist vorzuziehen. Sie hat zwei wesentliche Vorteile: Zunächst ist eine solche Implementierung universell einsetzbar, unabhängig davon, wieviele Informationen

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Kurs 1613 Einführung in die imperative Programmierung 1 Wintersemester 2009/2010 Hinweise zur Bearbeitung der Klausur zum Kurs 1613 Einführung in die imperative Programmierung Wir begrüßen Sie zur Klausur

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 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

Mehr

Kurs 1613 Einführung in die imperative Programmierung Lösungen der Aufgaben zum Studientag

Kurs 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;

Mehr

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich "Konzepte imperativer Programmierung"

Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich Konzepte imperativer Programmierung Bitte hier unbedingt Matrikelnummer und Adresse eintragen, sonst keine Bearbeitung möglich. Postanschrift: FernUniversität D - 58084 Hagen Name, Vorname INF Straße, Nr. PLZ, Wohnort FernUniversität in

Mehr

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am 1 Aufgabe 1 a) Idee: Die Zahl wird so lange durch 10 dividiert, bis sie einstellig ist. Die gesuchte Ziffernzahl ist um eins größer als die Anzahl dieser Divisionen. function countziff (inzahl : tnatzahl):

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 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;

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am

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

Mehr

Kurs 1612 Konzepte imperativer Programmierung Kurs 1613 Einführung in die imperative Programmierung

Kurs 1612 Konzepte imperativer Programmierung Kurs 1613 Einführung in die imperative Programmierung Aufgaben Aufgabe 1 Schreiben Sie eine PASCAL-Prozedur transponierematrix, die als Parameter eine quadratische Matrix von integer-werten erhält und diese Matrix transponiert, also die Zeilen und Spalten

Mehr

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Nachklausur am

Kurs 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

Mehr

INF. Fachbereich Informatik. FERNUNIVERSITÄT in Hagen D Hagen Sicherheit im Internet. Hauptklausur am

INF. Fachbereich Informatik. FERNUNIVERSITÄT in Hagen D Hagen Sicherheit im Internet. Hauptklausur am FERNUNIVERSITÄT In Hagen EINGANG INF FERNUNIVERSITÄT in Hagen D-58084 Hagen Fachbereich Informatik Kurs: 1866 Sicherheit im Internet Hauptklausur am 20.09.2003 Hörerstatus: Klausurort: Vollzeitstudent

Mehr

die Übungsklausur zu MATHEMATIK FÜR INGENIEURE III sowie die Prüfungsklausuren MATHEMATIK FÜR INGENIEURE I/II und III/IV finden am

die Übungsklausur zu MATHEMATIK FÜR INGENIEURE III sowie die Prüfungsklausuren MATHEMATIK FÜR INGENIEURE I/II und III/IV finden am Lehrgebiet Anwendungsorientierte Analysis Dr. Andreas Wiegner FernUniversität in Hagen 58084 Hagen Informationen für unsere Studentinnen und Studenten Ihr Zeichen: Ihre Nachricht vom: Mein Zeichen: q1193_4.doc

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake FernUniversität in Hagen 58084 Hagen Vorname Name Straße Hausnr. Informatikzentrum Universitätsstr. 1 58084

Mehr

Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013

Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

22. Februar 2003 von bis Uhr

22. Februar 2003 von bis Uhr O FernUniversität Gesamthochschule in Hagen Fachbereich Mathematik Lehrgebiet Analysis Prof. Dr. W. Beekmann FernUniversität Gesamthochschule 58084 Hagen Informationen zum Kurs 1132 Analysis I Lützowstraße

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester 2004/2005

Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester 2004/2005 Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr. Wolfgang Effelsberg Teilprüfung Software- und Internettechnologie Programmierkurs 2 Wintersemester

Mehr

Klausur zum Kurs Verteilte Systeme (1678) am 3. März 2012

Klausur zum Kurs Verteilte Systeme (1678) am 3. März 2012 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Verteilte Systeme (1678) am 3. März 2012 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

m n 1 Kurs Fach KursNr Art Abb. 1.1: Das ER-Diagramm

m n 1 Kurs Fach KursNr Art Abb. 1.1: Das ER-Diagramm 1 Software Engineering I Musterlösungen zur Nachklausur vom 25.09.1999 Aufgabe 1 a) Wir entwickeln das ER-Modell aus der Problembeschreibung in mehreren Schritten. Zu Beginn identifizieren wir drei Entitätsstypen

Mehr

Fernuniversität in Hagen r- I Name. Vorname ~- Fachbereich Informatik. ( ) Vollzeitstudent ( ) Teilzeitstudent ( ) Zweithörer ( ) Gasthörer

Fernuniversität in Hagen r- I Name. Vorname ~- Fachbereich Informatik. ( ) Vollzeitstudent ( ) Teilzeitstudent ( ) Zweithörer ( ) Gasthörer -P-! @ Fernuniversität in Hagen r- 7 I Bitte hier unbedingt Matrikelnummer und i Adresse eintragen, Postanschrift: FernUniprsität D - 58084 Hagen - sonst keine Bearbeitung möglich. I Name. Vorname ~- -

Mehr

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 18. April 2012

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 18. April 2012 Kompaktkurs Einführung in die Programmierung Klausur Seite 1/10 Name, Vorname, Unterschrift: Matrikelnummer: Wichtig: Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek

Mehr

Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS Juli 2002 Bearbeitungszeit: 120 Minuten BEISPIELLÖSUNG

Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS Juli 2002 Bearbeitungszeit: 120 Minuten BEISPIELLÖSUNG Vordiplom für Wirtschaftswissenschaften Allgemeine Informatik II SS 00 30. Juli 00 Bearbeitungszeit: 10 Minuten BEISPIELLÖSUNG Name: Vorname: Matrikelnummer: Aufgabe Punkte Bewertung 1 8 a) b) 6 8 3 8

Mehr

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Klausur am

Kurs 1612 Konzepte imperativer Programmierung Musterlösung zur Klausur am Kurs 1612 Konzepte imperativer Programmierung 1 Aufgabe 1 a) Wir müssen zunächst die Abbruchbedingung des Verfahrens festlegen: Wir beenden die Rekursion, wenn das zu untersuchende Feldstück nur noch aus

Mehr

Hinweise zur Bearbeitung der Klausur zum Kurs 1662/1663,,Datenstrukturen"

Hinweise zur Bearbeitung der Klausur zum Kurs 1662/1663,,Datenstrukturen Kurs 166211 663,,Datenstrukturen6' Klausur am 09.08.2003 Seite 1 Hinweise zur Bearbeitung der Klausur zum Kurs 1662/1663,,Datenstrukturen" Bitte lesen Sie sich diese Hinweise vollständig und aufmerksam

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

Viel Erfolg bei der Bearbeitung der Aufgaben!

Viel 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

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen und Algorithmen 2. Klausur SS 2001 UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................

Mehr

Klausur "ADP" WS 2013/2014

Klausur ADP WS 2013/2014 PD Dr. J. Reischer 4.2.2014 Klausur "ADP" WS 2013/2014 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

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

Mehr

Kurs 1575, Klausur vom , Musterlösung

Kurs 1575, Klausur vom , Musterlösung Aufgabe 1: Schleife, Fallunterscheidung (CASE) Schreiben Sie ein Programm, das eine positive ganze Zahl (im Gültigkeitsbereich von integer) einliest und ihre Ziffern in umgekehrter Reihenfolge als Text

Mehr

Allgemeine Hinweise:

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,

Mehr

Kurs 1661 Datenstrukturen I Klausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I

Kurs 1661 Datenstrukturen I Klausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I Kurs 1661 Datenstrukturen I Klausur am 17.9.2011 Seite 1 Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I Bitte lesen Sie sich diese Hinweise vollständig und aufmerksam durch, bevor

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Kurs 1575, Musterlösung der Klausur vom

Kurs 1575, Musterlösung der Klausur vom Vorbemerkung: Gehen Sie bei Ihren Lösungen grundsätzlich davon aus, dass die Eingabedaten in einer Datei zur Verfügung stehen und über input eingelesen werden, und dass die Ausgabe über output in eine

Mehr

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011 Kompaktkurs Einführung in die Programmierung Klausur Seite 1/10 Name, Vorname, Unterschrift: Matrikelnummer: Wichtig: Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek

Mehr

Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth

Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth Klausur zu Grundlagen der Informatik I mit Lösungen 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth A Nr Max Bewertung 1 14 2 12 3 14 4 12 5 12 6 12 7 12 8 12 Summe 100 Klausur

Mehr

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Klausur am 1 Aufgabe 1 a) procedure FeldMinMax(inFeld: tfeld; var outmin, outmax: integer); { Ermittelt den kleinsten sowie den größten aller Werte in infeld und gibt diese in den Ausgabeparametern outmin bzw. outmax

Mehr

Klausur "ADP" SS 2015

Klausur ADP SS 2015 PD Dr. J. Reischer 20.7.2015 Klausur "ADP" SS 2015 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur

Mehr

Prüfung Informatik D-MATH/D-PHYS :00 17:00

Prüfung Informatik D-MATH/D-PHYS :00 17:00 Prüfung Informatik D-MATH/D-PHYS 9. 8. 0 5:00 7:00 Prof. Bernd Gartner Kandidat/in: Name:. Vorname:. Stud.-Nr.:. Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen ablegen

Mehr

Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth

Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth Klausur zu Grundlagen der Informatik I 28. Februar 2005 (WS 2004/2005) Dr. Andreas F. Borchert Norbert Heidenbluth A Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN! Name: Vorname: Matrikelnummer:

Mehr

Klausur zur Wirtschaftsinformatik II im Grundstudium

Klausur zur Wirtschaftsinformatik II im Grundstudium Prof. Dr. R. Gabriel Sommersemester 2005 Wirtschaftsinformatik 19. August 2005 Ruhr-Universität Bochum Klausur zur Wirtschaftsinformatik II im Grundstudium - Die Bearbeitungszeit der Klausur beträgt 90

Mehr

Liebe Fernstudentin, lieber Fernstudent,

Liebe Fernstudentin, lieber Fernstudent, Lehrgebiet Programmiersysteme Univ.-Prof. Dr. Friedrich Steimann FernUniversität in Hagen 58084 Hagen Ihr Zeichen: Ihre Nachricht vom: Mein Zeichen: Meine Nachricht vom: Auskunft erteilt: Bastian Ulke

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

Wiederholungsklausur "ADP" WS 2016/2017

Wiederholungsklausur ADP WS 2016/2017 PD Dr. J. Reischer 23.02.2017 Wiederholungsklausur "ADP" WS 2016/2017 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes

Mehr

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

FERNUNIVERSITÄT in Hagen Hagen. Fakultät für Mathematik und Informatik Sicherheit im Internet I - Ergänzungen. Klausur am

FERNUNIVERSITÄT in Hagen Hagen. Fakultät für Mathematik und Informatik Sicherheit im Internet I - Ergänzungen. Klausur am FERNUNIVERSITÄT in Hagen EINGANG MI FERNUNIVERSITÄT in Hagen 58084 Hagen Fakultät für Mathematik und Informatik Kurs: 01868 Sicherheit im Internet I - Ergänzungen Klausur am 05.02.2011 Hörerstatus: Klausurort:

Mehr

INF. Fachbereich Informatik. FERNUNIVERSITÄT in Hagen D Hagen Technische Informatik II. Hauptklausur am

INF. Fachbereich Informatik. FERNUNIVERSITÄT in Hagen D Hagen Technische Informatik II. Hauptklausur am FERNUNIVERSITÄT In Hagen EINGANG INF FERNUNIVERSITÄT in Hagen D-58084 Hagen Fachbereich Informatik Kurs: 1708 Technische Informatik II Hauptklausur am 07.02.2004 Hörerstatus: Klausurort: Vollzeitstudent

Mehr

Liebe Fernstudentin, lieber Fernstudent,

Liebe Fernstudentin, lieber Fernstudent, Fakultät für Mathematik und Informatik Lehrgebiet Programmiersysteme Prof. Dr. Friedrich Steimann FernUniversität in Hagen 58084 Hagen Ihr Zeichen Ihre Nachricht Mein Zeichen Ke Auskunft Frau Dr. Keller

Mehr

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Programmierung. (K-)II/Wb17 Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:

Mehr

Gruppe A. kommtvor := proc(x::anything, l::list) local y; for y in l do if x=y then return true end if end do; return false end proc

Gruppe A. kommtvor := proc(x::anything, l::list) local y; for y in l do if x=y then return true end if end do; return false end proc Midterm-Klausur Einführung in die Programmierung, WS 2006/07, 19.12.2006 Seite 1/6 Name, Vorname, Matrikelnummer: Unterschrift: Gruppe A 1 Permutationen (5+5+5=15 Punkte) a) Schreiben Sie eine Prozedur

Mehr

Probeklausur zur Vorlesung

Probeklausur zur Vorlesung Dr. Jochen Hoenicke Alexander Nutz Probeklausur zur Vorlesung Einführung in die Informatik Sommersemester 2014 Die Klausur besteht aus diesem Deckblatt und elf Blättern mit den Aufgaben, sowie einem Blatt

Mehr

Kurs 1575, Klausur vom , Musterlösung

Kurs 1575, Klausur vom , Musterlösung Kurs 1575, Klausur vom 7.2.1998, Musterlösung Sie wollen die Tause von Büchern in Ihrem heimischen Bücherregal lich systematisch erfassen. Dazu schreiben Sie sich von jedem Buch Autorenname, Titel sowie

Mehr

Kurs 1793 Software Engineering I Nachklausur am

Kurs 1793 Software Engineering I Nachklausur am Seite: 1 Aufgabe 1 (14 + 4+ 3 = 21 Punkte) Klausurbetrieb Problembeschreibung An der FernUni werden die Klausuren gleichzeitig in mehreren Hörsälen geschrieben. In einem Hörsaal (der durch den Namen einer

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

1 Bizz Buzz Woof (ca =18 Punkte) def read file(file_in): fp = open(file_in, r ) l = fp.read() fp.close() return l

1 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

Mehr

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

Technische Universität München SoSe 2018 Fakultät für Informatik, I Mai 2018 Dr. Stefanie Demirci Name: Vorname: Matr. Nr.: Technische Universität München SoSe 2018 Fakultät für Informatik, I-16 9. Mai 2018 Dr. Stefanie Demirci Probeklausur zu Algorithmen und Datenstrukturen Allgemeine Hinweise Die

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu 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

Mehr

Liebe Fernstudentin, lieber Fernstudent,

Liebe Fernstudentin, lieber Fernstudent, Fakultät für Mathematik und Informatik Lehrgebiet Programmiersysteme Prof. Dr. Friedrich Steimann FernUniversität in Hagen 58084 Hagen Ihr Zeichen Ihre Nachricht Mein Zeichen Ke Auskunft Frau Dr. Keller

Mehr

Klausur Informatik WS 2012/13

Klausur Informatik WS 2012/13 Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

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

Mehr

Klausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Klausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden! Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Klausur Informatik 2: Algorithmen und Datenstrukturen Donnerstag, 9. März 21, 2017, 9:00 bis 12.00 Uhr Name:.....................................................................

Mehr

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Kurs 1661 Datenstrukturen I Nachklausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I

Kurs 1661 Datenstrukturen I Nachklausur am Seite 1. Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I Kurs 1661 Datenstrukturen I Nachklausur am 19.09.2009 Seite 1 Hinweise zur Bearbeitung der Klausur zum Kurs 1661 Datenstrukturen I Bitte lesen Sie sich diese Hinweise vollständig und aufmerksam durch,

Mehr

Prüfung Algorithmen und Datenstrukturen I

Prüfung Algorithmen und Datenstrukturen I Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2016/17 Prüfung Algorithmen und Datenstrukturen I Datum : 23.01.2017, 08:30 Uhr

Mehr

Demoklausur Allgemeine Informatik II (SS 2004) mit Lösungen

Demoklausur Allgemeine Informatik II (SS 2004) mit Lösungen Demoklausur Allgemeine Informatik II (SS 2004) mit Lösungen Dies ist eine Sammlung von 7 Aufgaben, die der Klausur am 10. Juli nahekommen. Verzeichnis der Aufgaben Seite 1: BNF-Grammatik Seite 3: Rekursion

Mehr

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

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte Universität Düsseldorf Mathematisch-naturwissenschaftliche Fakultät Institut für Informatik Prof. Dr. Michael Schöttner Florian Klein Kevin Beineke Janine Haas Klausur zur Vorlesung Informatik 1 im Wintersemester

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

Wiederholungsklausur "C#" SS 2013

Wiederholungsklausur C# SS 2013 PD Dr. J. Reischer 16.07.2013 Wiederholungsklausur "C#" SS 2013 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes

Mehr

Übungen zu Programmierung I - Blatt 8

Ü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

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2009/10 22. Februar 2010 Aufgabe 1 2 3 4 5 6 7 Summe mögliche Punkte 15 15 20 15 20 20 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr