Fakultät IV Elektrotechnik/Informatik. Klausur Einführung in die Informatik I (Technikorientierung) 28. März Bearbeitungszeit: 120 Minuten

Ähnliche Dokumente
Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Klausur Einführung in die Informatik I für Elektrotechniker 16. Juli 2003

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Fakultät IV Elektrotechnik/Informatik

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Musterlösung Stand: 5. Februar 2009

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

Informatik 1 für Nebenfachstudierende Beispiele für Klausuraufgaben

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2008/09

Probeklausur C/C++ Einführung in die Informatik. Wintersemester 2016/2017

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

Klausur Einführung in die Informatik II für Elektrotechniker 16. Juli 2003

Computational Engineering I

Schriftliche Prüfung

Übung Programmierung WS 2007/08 - Blatt 6

Scheinklausur zur Vorlesung Praktische Informatik I. 12. November Punkteübersicht

Nachklausur Bitte in Druckschrift leserlich ausfüllen!

2. Tutorium Digitaltechnik und Entwurfsverfahren

Vorlesung Objektorientierte Programmierung Klausur

Klausur zur Vorlesung Einführung in die Programmierung

Intensivübung zu Algorithmen und Datenstrukturen

Klausur zur Vorlesung Höhere Mathematik I

Klausur "ADP" SS 2015

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

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

Probeklausur C/C++ Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Matrikelnummer:

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

OOP Aufgabenblatt 7 6. Dezember 2013

Programmierung

Klausur - Informatik I SS 05. Note: Bearbeitungszeit 120 Minuten Keine Hilfsmittel

Computational Engineering I

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

Vorbereitende Aufgaben

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Vorlesung Objektorientierte Programmierung Klausur

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

Logik (Teschl/Teschl 1.1 und 1.3)

Wiederholungsklausur "C#" SS 2013

Klausur zur Vorlesung Technische Informatik 1 im WS 06/07 Donnerstag, den von Uhr Uhr, HS 5

Auswertung. Hinweise. Einführung in die Technische Informatik WS 2006/2007 Probeklausur. Aachen, 02. November 2006 SWS: V2/Ü2, ECTS: 4

Vorbereitende Aufgaben

Praktische Informatik II FSS 2012 Programmierklausur

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

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

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

hue12 January 24, 2017

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

Probeklausur zur Vorlesung

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Übungsklausur - Beispiellösung

Klausur "ADP" SS 2016

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.

Technische Grundlagen der Informatik

DuE-Tutorien 17 und 18

Klausur Grundlagen der Informatik SS 2013

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

Klausur "ADP" SS 2012

Klausur "C#" WS 2012/2013

Einführung in die Informatik I

1.) Zahlensysteme (10 Punkte)

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

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

Algebra mit Schaltungen I Städtisches Gymnasium Bad Laasphe

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

4. Zahlendarstellungen

Vorname: Nachname: Matrikelnummer: Studiengang (bitte ankreuzen): Informatik Bachelor Informatik Lehramt Mathematik Bachelor Sonstige:

Grundlagen der Technischen Informatik

1. Logische Verknüpfungen

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

DuE-Tutorien 16 und 17

Klausur Algorithmen und Datenstrukturen I SS 03

Übungs-Klausur zur Vorlesung. Digitale Informationsverarbeitung (Magister)

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017

Fakultät IV Fachgebiet NI

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Wiederholungsklausur "ADP" WS 2016/2017

Informatik A WS 2007/08. Nachklausur

Klausur Grundlagen der Programmierung

1.) Zahlensysteme (10 Punkte)

II. Grundlagen der Programmierung

Übungen zu Algorithmen

Klausur Einführung in die Programmierung

hue13 January 30, 2017

Klausur Algorithmen und Datenstrukturen

Klausur "ADP" WS 2013/2014

2. Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 30. März Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

Wiederholungsblatt Einführung in die Programmierung Lösungen

, 2017S Übungstermin: Di.,

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Allgemeine Informatik II

Transkript:

Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I (Technikorientierung) Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung Aufgabe Punkte Erreichte Punkte 1 4 2 6 3 6 4 10 5 9 6 4 7 4 8 5 9 12 Summe 60 Hinweise: Verwenden Sie für die Lösung der Aufgaben nur das mit diesem Deckblatt ausgeteilte Papier. Lösungen, die auf anderem Papier geschrieben werden, können nicht bewertet werden. Schreiben Sie ihre Lösung auch auf die Rückseiten der Blätter; benötigen Sie für eine Lösung mehr als ein Blatt, finden Sie am Ende der Klausur Leerblätter. Zusätzliches Papier können Sie von den Tutoren bekommen. Tragen Sie vor Beginn der eigentlichen Bearbeitungszeit auf allen Blättern ihren Namen und ihre Matrikelnummer ein. Schreiben Sie deutlich! Unleserliche oder mehrdeutige Lösungen können nicht gewertet werden. Schreiben Sie nicht mit Bleistift und nicht mit rotem oder grünem Stift (das sind die Farben für die Korrektur). Als Hilfsmittel sind zwei A4 Blätter, welche beidseitig handschriftlich beschrieben sein dürfen, zugelassen. Viel Erfolg!

A1 Aufgabe 1 (4 Punkte) Rechneraufbau. 1. (1 Punkt) Um welche aus der Vorlesung bekannte Schaltung handelt es sich? 2. (1 Punkt) Bitte geben Sie eine Schaltungsskizze für den Halbaddierer an. Verwenden Sie dazu nur die Gatter AND und XOR. 3. (1 Punkt) Nennen Sie zwei der vier in der Vorlesung vorgestellten Funktionseinheiten des Prozessors. 4. (1 Punkt) Nennen Sie drei der fünf Zustände im Lebenszyklus eines Prozesses. Aufgabe 1 Seite 1

A2 Aufgabe 2 (6 Punkte) Zahlendarstellungen. 1. (1 Punkt) Wandeln Sie 98 10 in eine 8-Bit-Zweierkomplementzahl um. Die Rechenschritte müssen erkennbar sein! 2. (2 Punkte) (a) Addieren Sie die beiden 8-Bit-Zweierkomplementzahlen 10001001 2 und 11010100 2. (b) Ist bei der Addition ein Unterlauf aufgetreten? Begründen Sie Ihre Antwort mit Hilfe des Überlauf-Bits. (c) Wandeln Sie das Ergebnis der Addition in eine Dezimalzahl um. Aufgabe 2 Seite 2

A2 3. (1 Punkt) Stellen Sie die Dualzahl 010.001 2 im verkürzten 9-Bit-Gleitkommaformat dar (1-Bit-Vorzeichen, 3-Bit-Exponent, 5-Bit-Mantisse, Exzess=3). 4. (2 Punkte) Multiplizieren Sie die im o.g. 9-Bit-Gleitkommaformat dargestellten Zahlen 000011100 und 011101110 und geben Sie das Ergebnis wieder im 9-Bit-Gleitkommaformat an. Aufgabe 2 Seite 3

A3 Aufgabe 3 (6 Punkte) ALU. Gegeben sei eine ALU, die zwei 4-Bit Daten a = (a 3... a 0 ) und b = (b 3... b 0 ) anhand der folgenden ALU-Gleichungen verarbeiten kann. b i = (u b i) (v b i ) (1) ü i = (a i b i (ü i 1 (a i b i))) m (2) s i = a i b i ü i 1 (3) Dabei sei a b := (a b) ( a b) die XOR-Verknüpfung. Betrachten Sie den Steuervektor st = (m, u, v) = (1, 0, 0). 1. (3 Punkte) Vereinfachen Sie die ALU-Gleichungen (1)-(3) für den gegebenen Steuervektor st. 2. (2 Punkte) Simulieren Sie die ALU mit dem gegebenen Steuervektor st für die Eingänge a = (0111) und b = (1011). Dabei gilt: ü 1 = 1 3 2 1 0 a 0 1 1 1 b 1 0 1 1 b ü s 3. (1 Punkt) Welche arithmetische oder logische Funktion führt die ALU für den gegebenen Steuervektor st aus? Aufgabe 3 Seite 4

A4 Aufgabe 4 (10 Punkte) Boolesche Algebra. Wir betrachten die Boolesche Algebra der Aussagenlogogik. 1. (3 Punkte) (a) Überprüfen Sie mit Hilfe einer Wertetabelle, ob die folgenden Booleschen Ausdrücke äquivalent sind: A 1 := (a c) (a b c) ( a b c c) A 2 := (a b) (b c) (b) Erklären Sie kurz, wie Sie in Aufgabenteil (a) vorgegangen sind, um die beiden Booleschen Ausdrücke auf Äquivalenz zu untersuchen. Begründen Sie Ihre in (a) getroffene Entscheidung. Aufgabe 4 Seite 5

A4 2. (5 Punkte) Zeigen Sie mit algebraischer Umformung, dass die folgenden Booleschen Ausdrücke äquivalent sind: A 1 := (c b) (b a) A 2 := c b a Der Lösungsweg muss folgenden Bedingungen genügen: Es dürfen nur die unten angegebenen Regeln (R1) (R17) verwendet werden. Schreiben Sie bei jeder Umformung über das Gleichheitszeichen die Regel, die Sie verwendet haben. Beispiel: (x 0) y (R7) = x y Anwendungen einer der Regeln (R1) (R4) (Kommutativ und Assoziativgesetze) müssen nicht kenntlich gemacht werden. (R1) x (y z) = (x y) z (R7) x 0 = 0 und x 0 = x (R13) x x = x (R2) x (y z) = (x y) z (R8) x 1 = 1 und x 1 = x (R14) x x = x (R3) x y = y x (R9) x (y z) = (x y) (x z) (R15) x = x (R4) x y = y x (R10) x (y z) = (x y) (x z) (R16) (x y) = x y (R5) x (x y) = x (R11) x x = 1 (R17) (x y) = x y (R6) x (x y) = x (R12) x x = 0 Aufgabe 4 Seite 6

A4 3. (2 Punkte) Wandeln Sie den folgenden Booleschen Ausdruck unter Anwendung algebraischer Umformungen in eine disjunktive Normalform um. Die Umwandlung muss nachvollziehbar sein. (Keine Wertetabelle!) A := (a b) (c d) Hinweis: Es gilt x y = (x y) (x y). Aufgabe 4 Seite 7

A5 Aufgabe 5 (9 Punkte) Schaltungsentwurf. 1. (3 Punkte) Es soll ein 5-Bit-Datenpaket (a, b, c, d und y) übertragen werden. Der Empfänger soll erkennen können, ob es zu Übertragungsfehlern gekommen ist. Daher wird der eigentlichen Information im 4-Bit-Code (a, b, c, d) das zusätzliches Pfrüfbit (y) hinzugefügt. Dieses Prüfbit wird so codiert, dass der 5-Bit-Code (alle Bits a, b, c, d und y) stets eine ungerade Anzahl von Einsen enthält. Wird beim Empfänger eine gerade Anzahl von Einsen ermittelt, handelt es sich um einen Übertragungsfehler. (a) Bestimmen Sie bitte in nachfolgender Tabelle die Werte des Prüfbits y jeweils so, dass die Datenpakete (a, b, c, d und y) in jeder Zeile eine ungerade Anzahl von Einsen enthalten. a b c d y 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 (b) (1 Punkt) Lesen Sie aus der obenstehenden Tabelle die ausgezeichnete disjunktive Normalform (ADNF) aus. 2. (4 Punkte) Minimieren Sie die folgende boolesche Funktion mit Hilfe des Quine-McCluskey-Verfahrens. a b c y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Aufgabe 5 Seite 8

A5 3. (2 Punkte) Zeichnen Sie die Schaltung zu der Funktion y = ( (a b) a ). Dazu dürfen nur UND- und ODER-Gatter mit zwei Eingängen sowie Negationen verwendet werden. Aufgabe 5 Seite 9

A6 Aufgabe 6 (4 Punkte) Java Matrizen. Betrachten Sie folgende Matrixoperation: Zuerst wird das Produkt b = Ax einer (m n)-matrix A = (a ij ) und eines n-elementigen Vektors x = (x j ) berechnet: b i = n a ij x j, j=1 für alle i {1, 2,..., m}. Nun wird ein Ergebnisvektor o = (o i ) zurückgeliefert: { 1 : für bi <= 0 o i = +1 : für b i > 0 Hier ein Bespiel für die Berechnung: A = ( 1 1 3 0 2 1 ), x = 1 2 3 ( 6 daraus folgt: b = Ax = 7 ) ( 1 und somit: o = 1 ) Implementieren Sie eine Methode double[] calc(double[][] a, double[] x), die oben beschriebene Operation auf die Matrix a und den Vektor x anwendet und den Ergebnisvektor zurückliefert. Gehen Sie davon aus, dass a und x nicht null sind und die Dimensionen zusammenpassen (die Anzahl der Spalten der Matrix entspricht der Anzahl der Elemente des Vektors). double[] calc(double[][] a, double[] x) { } Aufgabe 6 Seite 10

A7 Aufgabe 7 (4 Punkte) Java Rekursion. Betrachten Sie die folgende rekursiv definierte Funktion: { n : für m 1 g : N N N, g(n, m) = g(n + n, m 1) : für m > 1 1. (3 Punkte) Implementieren Sie eine rekursive Java-Methode, die g(n) berechnet. Es dürfen keine Schleifen verwendet werden. Hinweis: Implementieren Sie nur die Methode und verzichten Sie auf eine Klassendefinition. 2. (1 Punkt) Zeichnen Sie den Aufrufbaum von g für g(3, 5). Aufgabe 7 Seite 11

A8 Aufgabe 8 (5 Punkte) Java Auswertung von Ausdrücken. Wie lauten die Ausgaben des folgenden Java-Programms? Schreiben Sie die Ausgaben in die vorgegebenen Bereiche, die als Kommentare gekennzeichnet sind. 1 class C { 2 3 int[] a; 4 5 C(int n) { 6 a = new int[n]; 7 for (int i=0; i<a.length; i++) { 8 a[i] = i; 9 } 10 } 11 12 void f(int[] a) { this.a = a; } 13 14 void f(c y) { 15 a = new int[y.a.length]; 16 for (int i=0; i<a.length; i++) { 17 a[i] = y.a[i]; 18 } 19 } 20 21 public static void main(string[] args) { 22 C x = new C(2); 23 C y = new C(4); 24 x.a[1] = ++y.a[3]; 25 System.out.println(x.a[1]); // 26 System.out.println(y.a[3]); // 27 28 int[] a = {1, 2, 3}; 29 x.a = a; 30 y.f(a); 31 System.out.println(x.a[2]); // 32 System.out.println(y.a[0]); // 33 34 x.a[2] = 7; 35 System.out.println(a[2]); // 36 System.out.println(y.a[2]); // 37 38 int[] b = {4, 5}; 39 x.a = b; 40 y.f(x); 41 b[1] = 10; 42 System.out.println(x.a[1]); // 43 System.out.println(y.a[1]); // 44 45 x = y; 46 y.a[1] = 20; 47 System.out.println(x.a[1]); // 48 System.out.println(y.a[1]); // 49 } 50 } Aufgabe 8 Seite 12

A9 Aufgabe 9 (12 Punkte) Java Modellierung. In dieser Aufgaben sollen Sie für eine beliebige Lehrveranstaltung LV ein vereinfachtes Java-Programm zur Verwaltung von Studentendaten implementieren. 1. (5 Punkte) Gegeben ist eine leere Klassendefinition der Klasse Student, die einen Studenten repräsentiert. Vervollständigen Sie die Klassendefinition gemäß der in den Kommentaren gegebenen Spezifikationen. class Student { /************************************************************************************************ Attribute (1,5 Punkte) Ein Student hat einen Namen, eine Matrikelnummer und eine aktuelle Gesamtpunktezahl in den bisher erbrachten Übungsleistungen. Wählen Sie geeignete Typen für die Attribute. ************************************************************************************************/ /************************************************************************************************ Konstruktor (2 Punkte) Der Konstruktor erhält als Parameter einen Namen und eine Matrikelnummer zur Initialisierung der entsprechenden Attribute. Die aktuelle Gesamtpunktezahl wird mit dem Wert 0 initialisiert. ************************************************************************************************/ Aufgabe 9 Seite 13

A9 /************************************************************************************************ Methode addierepunkte(...) (1,5 Punkte) Die Methode addierepunkte(...) addiert zur aktuellen Gesamtpunktezahl einen Betrag, der als Parameter übergeben wird. Die Addition wird nur dann ausgeführt, wenn der spezifizierte Betrag größer oder gleich Null ist. Andernfalls ist die Addition ohne Wirkung. Diese Methode liefert den Wert true genau dann zurück, wenn die aktuelle Gesamtpunktezahl um den spezfizierten Betrag geändert werden konnte. ************************************************************************************************/ } Aufgabe 9 Seite 14

A9 2. (7 Punkte) Gegeben ist eine leere Klassendefinition der Klasse LV, die eine Datenbank aller Studenten der Lehrveranstaltung repräsentiert. Vervollständigen Sie die Klassendefinition gemäß der in den Kommentaren gegebenen Spezifikationen. class LV { /************************************************************************************************ Attribute (1 Punkt) Die Lehrveranstaltung (LV) hat eine LV-Nummer und einen Array von Studenten. Wählen Sie geeignete Typen für die Attribute. ************************************************************************************************/ /************************************************************************************************ Konstruktor (1,5 Punkte) Der Konstruktor erhält als Parameter eine LV-Nummer und die maximale Anzahl der Studenten zur Initialisierung der entsprechenden Attribute. ************************************************************************************************/ Aufgabe 9 Seite 15

A9 /************************************************************************************************ Methode neuerstudent(...) (2 Punkte) Die Methode neuerstudent(...) erhält als Parameter einen Namen und eine Matrikelnummer. Sie fügt einen neuen Studenten mit dem spezifizierten Namen und Matrikelnummer hinzu. Die Methode liefert true zurück genau dann, wenn ein neuer Studenteneintrag angelegt werden konnte. ************************************************************************************************/ /************************************************************************************************ Methode getpunktezahl(...) (2,5 Punkte) Die Methode getpunktezahl(...) erhält als Parameter eine Matrikelnummer. Sie liefert die Gesamtpunktezahl des Studenten zurück, sofern der Studenteneintrag existiert. Gehen Sie davon aus, dass eine Matrikelnummer nicht mehrfach existiert. ************************************************************************************************/ } Aufgabe 9 Seite 16

Seite 17