Sie sind auf Seite 1von 6

Internationales Studienkolleg Kaiserslautern

Semester: Sommersemester 2017

Datum: 04.04.2017

Informatik-Test Nr. 1

Name Vorname

Punkte:

Note:

Notenverteilung (geändert!):

50 - 42 Punkte: Note 1
41 - 36 Punkte: Note 2
35 - 29 Punkte: Note 3
28 - 22 Punkte: Note 4
< 22 Punkte: Note 5 (nicht bestanden)

Dies ist nur eine Probeklausur: Die Note zählt nicht für die FSP.
Theorie: Aufgabe 1 ( / 17 Punkten)

Sie können die folgenden Fragen in Stichpunkten beantworten.

a) Womit beschäftigt sich die praktische Informatik?

Softwareentwicklung (Betriebssysteme und Anwendungen erstellen)

b) Aus welchen Teilen besteht die CPU in einem Von-Neumann-Rechner?

Steuerwerk, Rechenwerk, mehrere Register (z.B. Befehlsregister und Befehlszähler)

c) Was ist der Unterschied zwischen einem Compiler und einem Interpreter?

Compiler: Das Programm wird als Ganzes vor der Ausführung übersetzt

Interpreter: übersetzt jeden Befehl einzeln, während das Programm schon läuft („zur
Laufzeit“)

d) Wofür wird der Befehlszähler verwendet und wofür wird das Befehlsregister verwendet?

Befehlszähler: zählt, den wievielten Befehl das Steuerwerk gerade bearbeitet. Wenn er
ausgeführt ist, wird der Befehlszähler um 1 erhöht.

Befehlsregister: enthält den aktuellen Befehl, der gerade vom Steuerwerk ausgeführt wird

2
e) Beschriften Sie die Lücken im folgenden Bild:

Die Nummern der


Speicherzellen heißen: In den Speicherzellen sind

Adressen Daten und Befehle

gespeichert.

1 0 1 0 1 0 1 1

Kanäle des Bussystems:

Datenbus

Adressbus

Steuerbus

Der Inhalt der markierten Speicherzelle wird über den Bus gelesen. Schreiben und zeichnen Sie ins Bild, was passiert:

Bitte einzeichnen: Der Steuerbus enthält den Befehl „lies!“ und über den Adressbus wird die Adresse „4“ zum Speicherwerk gesendet. Das
Speicherwerk leitet dann die Zahl 10101011 durch den Datenbus zum Steuerwerk.
Praxis

Aufgabe 2 ( / 5 Punkten)

Was druckt folgendes Programm auf der Konsole aus?

public class Aufgabe2{


public static void main(String[] args){
int a, b;
a = 4;
b = a – 1;
a = 7;

if(b == 6){
System.out.println(„Die Bedingung ist erfüllt!“);
} else {
b = b * 3;
System.out.println(b);
}

}
}

Das Programm druckt aus: 9

Erklärung: b = a-1 => 4-1 => 3, also b = 3. Dass sich a danach ändert, ändert nichts am Wert von b.
Also ist b nicht 6 und es wird nicht die if-Anweisung, sondern die else-Anweisung ausgeführt:
b = b*3 => 3*3 => 9, also b=9. Dann wird b ausgedruckt, d.h. Das Programm druckt: 9

Aufgabe 3 ( / 8 Punkten)

Zeichnen Sie den Programmablaufplan zum Programm aus Aufgabe2:

siehe Vorlesung

4
Aufgabe 4 ( / 10 Punkten)

Ergänzen Sie das Programm Teilbarkeit.java:

• Der Benutzer soll eine ganzzahlige Zahl eingeben.

• Wenn die Zahl durch 10 teilbar ist, soll sie durch 10 dividiert und wieder ausgedruckt
werden.

• Wenn die Zahl nicht durch 10 teilbar ist, soll sie durch 2,5 dividiert werden und das Ergebnis
soll ausgedruckt werden.

• Am Ende soll sich das Programm verabschieden, indem es „Auf Wiedersehen!“ ausdruckt.

import java.util.Scanner;
public class Teilbarkeit{
public static void main(String[] args){

Scanner scan = new Scanner(System.in);


int zahl;
double ergebnis;

System.out.println(„Bitte eine ganze Zahl eingeben: „);


zahl = scan.nextInt();

if(zahl%10 == 0){

ergebnis = zahl/10;
System.out.println(ergebnis);

} else {

ergebnis = zahl/2.5;
System.out.println(ergebnis);

System.out.println(„Auf Wiedersehen!“);

}
}

(Man kann es auch anders lösen, z.B. noch eine Variable „Rest“ einführen oder das Ergebnis
außerhalb der if-Bedingung ausdrucken.)

5
Aufgabe 5 ( / 10 Punkten)

Verbessern Sie die Fehler in folgendem Programm und markieren Sie alle Deklarationen und
Zuweisungen:

import java.util.Scanner;
public class Vergleichen{
public static void main(String[] args){

int ganzzahl1, ganzzahl2; //Deklarartionen

Scanner sc = new Scanner(System.in);

System.out.println(„Bitte geben Sie zwei ganze Zahlen ein!“);

ganzzahl1=sc.nextInt(); //Zuweisung
ganzzahl2=sc.nextInt(); //Zuweisung

if(ganzzahl1 == ganzzahl2){

System.out.println(„Beide Zahlen sind gleich!“);

} else if (ganzzahl1 < ganzzahl2){

System.out.println(„Zahl 1 ist kleiner“);

} else {

System.out.println(„Zahl 1 ist nicht kleiner“);


}

if (ganzzahl1 != ganzzahl2) {

System.out.println(„Die Zahlen sind verschieden!“);

}
}