1 Aufgabe: Computer-Aufbau

Ähnliche Dokumente
Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur Grundlagen der Programmierung

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

Ein erstes Java-Programm

Probeklausur: Programmierung WS04/05

Einstieg in die Informatik mit Java

Nachklausur Bitte in Druckschrift leserlich ausfüllen!

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Wie entwerfe ich ein Programm?

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Javakurs für Anfänger

Klausur Fachprüfung Wirtschaftsinformatik. Name:

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Propädeutikum zur Programmierung

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Repetitorium Informatik (Java)

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

JAVA für Nichtinformatiker - Probeklausur -

Musterlösungen zur Klausur Informatik 3

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

5. Tutorium zu Programmieren

Welche Informatik-Kenntnisse bringen Sie mit?

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

MB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am

Musterlösung Stand: 5. Februar 2009

Algorithmen und Programmierung II

Primitive Datentypen

AuD-Tafelübung T-B5b

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Wird in Java zwischen Gross- und Kleinschreibung unterschieden?

Einführung in die Programmierung Vorlesungsprüfung

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

1 Polymorphie (Vielgestaltigkeit)

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

GI Vektoren

6. Globalübung (zu Übungsblatt 8)

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Computational Engineering I

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Algorithmen und Datenstrukturen

JAVA - Methoden

Javakurs für Anfänger

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Einführung in die Programmierung 1

Java: Vererbung. Teil 3: super()

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Motivation und Überblick

Algorithmen und Datenstrukturen

Abschlussklausur Informatik, SS 2012

Programmierkurs Java

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

Tag 4 Repetitorium Informatik (Java)

2. Programmierung in C

Informatik I - Einstiegskurs

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

Einstieg in die Informatik mit Java

Javakurs für Anfänger

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Klausur Fachprüfung Wirtschaftsinformatik. Name:

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

Einstieg in die Informatik mit Java

Statische und Nichtstatische Methoden Properties/ Eigenschaften

a) Wandeln Sie folgende Dualzahlen durch Gruppenbildung in das Oktal- und Hexdezimalsystem um

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Die Programmiersprache C Eine Einführung

1.) Zahlensysteme (10 Punkte)

KV Software Engineering Übungsaufgaben SS 2005

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

System.out.println("TEXT");

Informatik B von Adrian Neumann

Statische Methoden, Vererbung, Benutzereingabe

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Dr. Monika Meiler. Inhalt

Probeklausur: Programmierung WS04/05

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Transkript:

Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe: Jahr: WS 2016/17 Übungsleiter: Alexander Syndikus Unterschrift: 1 Aufgabe: Computer-Aufbau 1.1 Prinzipieller Aufbau eines Computers ( / 4,5) Nennen Sie die wesentlichen Bestandteile eines Computers (Von-Neumann-Architektur) CPU: Anm. die beiden Teile korrekt zuordnen (0,5 P) Recheneinheit (Arithmetic Logic Unit, ALU ) Steuerwerk oder Leitwerk (Control Unit) Speicherwerk (Memory) Eingabe- bzw. Ausgabewerk (I/O Unit) Ein System, welches die Komponenten verbindet (Bus) Nennen Sie 3 BUS-Systeme, die die Komponenten verbinden: Addressbus Datenbus Steuerbus Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 1/13

1.2 Computer-Grundlagen ( / 7) Sachverhalt Welches elektrische Bauteil ist die Grundlage einer CPU / Speicherbausteinen / Gatter Nennen Sie 3 unterschiedliche physikalische Speichertechniken, in denen digitale Daten gespeichert werden können Welche Logik wird in der Hardware-Computertechnik / Dual-System verwendet? In der von-neumann-architektur benötigt 1 Zyklus normalerweise 1 oder mehrere Takte? Schreiben Sie die Abkürzung CPU aus Transistor Antwort Halbleiterspeicher, magnetische Speicher, optische Speicher (3P) Boolsche Logik mehrere Central Processing Unit Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 2/13

2 Aufgabe: Begriffe der Informatik 2.1 Bestimmen Sie welche Aussage korrekt ist ( / 8) Sachverhalt Bedingung ja nein ( ) Die in Sachverhalt gezeigte Zeichnung ist ein Struktogramm ( X ) Die in Sachverhalt gezeigte Zeichnung ist ein Programmablaufplan Ein Compiler ist ( ) Hardware ( X ) Software Eine CPU ist ( X ) Hardware ( ) Software 45670 ist in JAVA ( ) ein Schlüsselwort ( X ) ein Literal Ein Compiler gehört zum Betriebssystem ( ) stimmt ( X ) stimmt nicht Bei Datenschutz geht es nur darum, dass keiner Daten stiehlt/kopiert In der Informatik versteht man unter Daten und Information das gleiche ( ) stimmt ( X ) stimmt nicht ( ) stimmt ( X ) stimmt nicht Debugger dienen zur Fehleranalyse ( X ) stimmt ( ) stimmt 2.2 Benennen Sie mit Begriffen der Informatik ( / 6) Sachverhalt Eine Sammlung von Anweisungen, die so exakt definiert ist, dass ein Computer sie ausführen kann Begriff der Informatik Algorithmus Bezeichnung der tatsächlichen Umsetzung / Programmierung Implementierung Kleinste addessierbare Einheit im Speicher eines Computers (Von-Neumann-Architektur) Im Betriebssystem gesetzte Variablen, die Auswirkungen auf ein Programm haben (können) z.b. PATH Programm zum direkten Ausführen in einer Programmiersprache geschriebenen Programm (z.b. JAVA-Script) Dateityp, in der z.b. Bild-/Audiodaten gespeichert sind Wort Umgebungsvariablen Interpreter Binärdatei Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 3/13

2.3 Begriffe aus der objektorientierten Programmierung ( / 9 P) Sachverhalt Wie werden class, public, int, double, return und weitere reservierte Wörter (in JAVA) noch bezeichnet? void main () // Sonderstellung der Funktion main - wie bezeichnet man diese Stelle? Wie bezeichnet man die Kontrollstruktur while? Wie bezeichnet man die beiden Strings der Methode? class Adressen { public Adressen (String vorname, String nachname) { Wie bezeichnet man die zusammengefassten Anweisungen inklusive der beiden { und? { int faktor = 10; while ( z < b ) z = z * faktor; Wie bezeichnet man = 0 aufgrund der angegebenen Definition? class Adressen { private int anzahl_adressen = 0; Was benötigt man um in einem Programm, das die Klasse Adressen verwendet um den Wert für anzahl_adressen zu setzen? class Adressen { private int anzahl_adressen = 0; Welche Anweisung muss in einer (Get-)Methode mindestens 1 mal vorkommen, das die Klasse Adressen verwendet um den Wert für anzahl_adressen auszulesen? Was sind char int long float double in JAVA? Begriff der Informatik Schlüsselwörter Einsprungpunkt Schleife (Übergabe-)Parameter Anweisungsblock Initialisieren Einen Setter Return-Anweisung primitive Datentypen Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 4/13

3 Aufgabe: Stellenwertsysteme 3.1 Welches Zahlensystem ist ein/kein Stellenwert-System? ( / 1,5) Antwort: Stellenwertsystem=Ja / kein Stellenwertsystem=Nein Antwort Ja Ja Nein Zahlensystem Binär-System SystemHexadezimal-System Römische-Ziffern-System 3.2 Umrechnung Dezimalsystem Dualsystem ( / 5) Gegeben sei die Dezimalzahl 139 wandeln Sie diese Zahl in die Zahlendarstellung zur Basis 2 um. Inklusive Rechenweg und Proberechnung. 139 / 2 = 69 R 1 69 / 2 = 34 R 1 34 / 2 = 17 R 0 17 / 2 = 8 R 1 8 / 2 = 4 R 0 4 / 2 = 2 R 0 2 / 2 = 1 R 0 1 / 2 = 0 R 1 (Rechenweg 2 P) Lösung: 10001011 (2) (1 P) Probe: 128 + 8 + 2 + 1 = 139 (2 P) 3.3 Umrechnung Hexadezimalsystem Dezimalsystem ( / 4) Gegeben sei die Zahl AB wandeln Sie diese Zahl in das Dezimalsystem um. Inklusive Rechenweg. 11 (B) * 1 = 11 10 (A) * 16 = 160 (Rechenweg 2 P) ===== 171 Lösung: 171 (10) (2 P) Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 5/13

3.4 Umrechnung Dezimalsystem Zahl Basis 8 ( / 5) Gegeben sei die Dezimalzahl 190 wandeln Sie diese Zahl in die Zahl zur Basis 8 um. Inklusive Rechenweg und Proberechnung. 190 / 8 = 23 R 6 23 / 8 = 2 R 7 2 / 8 = 0 R 2 (Rechenweg 2 P) Lösung: 276 (8) (1 P) Probe: 2*64 + 7*8 + 6 = 128 + 56 + 6 = 190 (2 P) 4 Aufgabe: Datentypen 4.1 Worin unterscheiden sich long und Long in JAVA? ( / 2) long ist ein primitiver Datentyp Long ist vom Typ Objekt 4.2 Worin unterscheiden sich int und float? ( / 1) (Tipp: Beschreiben Sie kurz wofür sich der Datentyp eignet) int eignet sich nur für Ganzzahlen; float eigent sich für Kommazahlen. Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 6/13

4.3 Datentypen ermitteln ( / 9) Vervollständigen Sie die Programmierzeile anhand der Beschreibung: Verwenden Sie den speichergünstigsten Datentyp. Eine Funktion soll die Multiplikation zweier Integer-Zahlen (int) berechnen (ohne Genauigkeitsverlust). long Mult2int ( int a, int b ) { (1 P) Eine Funktion soll den Prozentwert einer Integer-Zahl (int) berechnen (Rückgabe in maximaler Genauigkeit). double Prozent ( int wert, float prozent ) { (1 P) Eine Funktion soll aus einem String das erste Zeichen zurückgeben. char ZeichenInStringAnPosition1 ( String text ) { (1 P) Eine Funktion soll ein Array (primitiver Datentyp Integer) auswerten und den höchsten Wert zurückgeben. int MaxAusArray ( int [] array ) { (2 P) Eine Funktion soll ein Array (Objekt-Datentyp Integer) auswerten und den Mittelwert zurückgeben (maximale Genauigkeit). double MittelwertArray ( Integer[] array ) { (2 P) Eine Funktion soll die Multiplikation zweier byte-variablen berechnen. int_ ByteMalByte ( byte ganzzahl_1, byte ganzzahl_2 ) { (1 + 0,5 +0,5 P) Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 7/13

5 Aufgabe: JAVA-Programmierung 5.1 Programmanalyse: einfaches Programm ( / 2) Geben Sie die Ausgabe am Bildschirm an. public class Test1 { public static void main(string[] args) { int x = 1; while ( x < 30 ) { x = x * 2; System.out.println ("x = " + x); // end main // end Test1 Bildschirmausgabe: x = 2 x = 4 x = 8 x = 16 x = 32 Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 8/13

5.2 Programmanalyse: Fehleranalyse ( / 4) Markieren Sie in der Zeile den Fehler an der betreffenden Stelle mit einem * und schreiben Sie neben die Zeile das entsprechende fehlerhafte/fehleden Zeichen, Schlüsselwort oder eine Bemerkung Hinweis: Je korrekt gefundenem Fehler ½ Punkt. public * Test { // class public static void main (String[] args) { // MeineKlasse obj = * MeineKlasse() ; // new obj.myprint*; // () // // class MeineKlasse { // super int a = 0 ; // Schlüsselwort super an dieser Stelle nicht erlaubt public Myprint () { // System.out.println("OBJECT = " * this.a) ; // + // public MeineKlasse * { // () a = a + 1 * // ; * // // Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 9/13

5.3 Programmanalyse: Non-static, static, final static ( / 7) Geben Sie die Ausgabe am Bildschirm an. (4P) Könnte man für den Zugriff auf obj1.a bzw. obj1.b noch etwas anderes schreiben? Kreuzen Sie an. (2P) Und wenn Sie ja angekreuzt haben, was könnte man schreiben? (1P) obj1.a obj1.b (X) ja / ( ) nein StaticNonStatic.a (2P) ( ) ja / (X) nein (1P) public class StaticTest { public static void main(string[] args) { StaticNonStatic obj1 = new StaticNonStatic(); StaticNonStatic obj2 = new StaticNonStatic(); System.out.println("obj1.a = " + obj1.a); System.out.println("obj2.a = " + obj2.a); System.out.println("obj1.b = " + obj1.b); System.out.println("obj2.b = " + obj2.b); class StaticNonStatic { public static int a = 10; public int b = 0; StaticNonStatic () { this.b = this.a; this.a--; Bildschirmausgabe: obj1.a = 8 obj2.a = 8 obj1.b = 10 obj2.b = 9 Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 10/13

5.4 Vererbung und Gültigkeit ( / 10) Geben Sie die Ausgabe am Bildschirm an. Geben Sie eine kurze Erklärung an, diese wird berücksichtigt (trennen Sie diese mit // ab). public class OberUnterTest { public static void main(string[] args) { int x = 1; UnterKlasse objekt1 = new UnterKlasse( 9 ); System.out.println ("(main)x = " + x); // end main // end OberUnterTest class OberKlasse { int x = 0; public OberKlasse ( int x ) { this.x = x * 2; // end OberKlasse class UnterKlasse extends OberKlasse { int x = super.x * 2; public UnterKlasse ( int x ) { super ( x ); System.out.println ("x = " + x); System.out.println ("super.x = " + super.x); System.out.println ("this.x = " + this.x); // end UnterKlasse Bildschirmausgabe: x = 9 // Konstruktor(UnterKlasse)-Parameter-Wert super.x = 18 // Attribut von Oberklasse; Konstruktor berechnet x * 2 this.x = 36 // Attribut von Unterklasse; initialisiert mit super.x * 2 (main)x = 1 // lokal in main Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 11/13

5.5 Aufgabe Potenz: 2 y f : N N mit f (y) = 2 y mit y N 5.5.1 Schreiben Sie einen Algorithmus zur Berechnung der Formel (3) Verwenden Sie fortgesetzte Multiplikation in dem Lösungsweg. 1. Gegeben sei eine natürliche Zahl y 2. Multipliziere beginnend bei 1 so oft mit 2 wie durch y angegeben wird 3. Das Ergebnis der fortgesetzten Multiplikation ist das Resultat. 5.5.2 Schreiben Sie eine Funktion (JAVA) zur Berechnung des Algorithmus (12) Annahme: y soll nicht größer als 30 angegeben werden (max. Ergebnis somit noch im Bereich Integer); dies soll nicht abgeprüft werden. Realisieren Sie dies über eine geeignete Schleife. 1 int ZweierPotenz_y ( int y ) { (2 P) 2 int ergebnis = 1 ; (2 P) 3 for ( int i = 1; i <=y ; i++ ) (2 P) 4 { (1 P) 5 ergebnis = ergebnis * 2 ; (2 P) 6 (1 P) 7 return ergebnis ; (2 P) 8 Anmerkung: Lösung mit while = 1P Abzug, fehlende ; = 0,5P Abzug, falsche Zeichen z.b. oder =< statt <= 0,5P Abzug Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 12/13

Vom Prüfer auszufüllen: Aufgabe Punkte erreichte Punkte 1.1 4,5 1.2 7 2.1 8 2.2 6 2.3 9 3.1 1,5 3.2 5 3.3 4 3.4 5 4.1 2 4.2 1 4.3 9 5.1 2 5.2 4 5.3 7 5.4 10 5.5.1 3 5.5.2 12 Summe 100 Notenschlüssel: Note min. Punkte 100 98 130 92 170 87 200 82 230 76 270 70 300 65 330 59 370 53 400 50 500 0 Klausur_CuB_WS2016_17_Uebung_2_loesung Seite: 13/13