|
PROGRAMMIEREN1 und GRUNDLAGEN DER INFORMATIK WS 0203 - Klausur |
Zuerst muss sich jeder in die Liste eintragen
Dann werden alle Aufgaben verteilt und es stehen 15min Zeit zum Lesen der Fragen/ Aufgaben zur Verfügung. Bei Unklarheiten gibt es die Möglichkeit, öffentlich Verständnisfragen zu stellen.
Die Endnote berechnet sich aus der zu Beginn des Semesters veröffentlichten Punktetabelle.
Die Punkte aus den Aufgaben für Programmieren1 und Grundlagen der Informatik werden addiert. Allerdings müssen mindestens sowohl 13 Punkte aus den Aufgaben für Programmieren1 als auch 13 Punkte aus den Aufgaben für Grundlagen der Informatik erzielt werden, um eine Bewertung mit der Note 5 zu vermeiden. Leistungen aus vorausgehenden offiziellen Übungsaufgaben werden angerechnet.
Es dürfen nur leere Blätter und Schreibgerät benutzt werden. Alle Blätter müssen mit Name und Matr.Nummer gekennzeichnet sein. Jede Aufgabe muss mit Kategorie (PROG oder GL) sowie Aufgabennummer versehen sein. Auf dem Deckblatt ist die Gesamtzahl der beschriebenen Blätter anzugeben. Ferner sollte auf dem Deckblatt markiert sein, welche Aufgabe bearbeitet worden ist.
Die Klausurzeit beträgt 90 Min. Nach den 90 Minuten gibt es 5 min für die 'Endredaktion': Überprüfung der Beschriftung aller Blätter, Korrekte Nummerierung aller Aufgaben, Eintrag der Blattzahl in das Deckblatt, auf dem Deckblatt Markierung er aufgaben, die bearbeitet worden sind.
Alle Blätter müssen einschliesslich Deckblatt nach Ablauf unverzüglich abgegeben werden. Die Reihenfolge der Abgabe ist entsprechend der Reihenfolge der Austeilung.
Die Tätigkeit des Programmierens ist Teil des grösseren Rahmens des Softwareengineerings. (a) Welche Phasen des Softwareengineerings
können Sie unterscheiden? Was wird in diesen einzelnen Phasen geleistet? (kleine Skizze)( Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt: ___
Angenommen, man würde ein C-Programm in einer einzigen Datei unterbringen. Welche Elemente würde solch eine Datei
typischerweise enthalten, um ein C-Programm zu realisieren. (kleine Skizze)( Lösungshinweis)
KAT: PROGR1
PKT: max.3; Verteilt:
___
Daten werden in der Sprache C nach Typen unterschieden. (a) Welche elementaren Datentypen kennen Sie in C? (b) Durch welche
Befehlswörter kann man elementare Datentypen weiter modifizieren. (kleine Skizze)(
Lösungshinweis)
KAT: PROGR1
PKT: max.2+2; Verteilt: ___
Beim Datentyp char unterscheidet man in C 'Einzelzeichen' und 'Zeichenketten'. (a) Woran kann man diese Unterscheidung anhand
der Schreibweise erkennen? (kleine Skizze). (b) Wie drückt sich dieser Unterschied im Speicher aus? (c) Welche Sonderzeichen gibt es in C
und wie kann man diese darstellen, ohne das diese mit ihrer üblichen Verwendung verwechselt werden?( Lösungshinweis)
KAT: PROGR1
PKT: max.1+1+5; Verteilt:
___
(i) Wodurch entsteht aus einem Ausdruck eine Anweisung? (ii) Nennen Sie die beiden Kontrollstrukturen, in denen man in
C Fallunterscheidungen realisieren kann; geben Sie die Syntax an.(
Lösungshinweis)
KAT: PROGR1
PKT: max.1+3; Verteilt: ___
Nennen sie die logischen Vergleichsoperatoren in C (Symbol und Bedeutung)( Lösungshinweis)
KAT: PROGR1
PKT: max.3; Verteilt:
___
(i) Wie wird der Inhalt einer 1-dimensionalen Feldvariable ('Array-Variable') im Speicher angelegt und zwar am
Beispiel der Datentypen 'char', 'int' und 'float'? (Skizze mit Kommentar)(ii) Geben Sie Beispiele von Deklarationen von
Feldvariablen vom Typ Einzelzeichen, Zeichenkette, Ganzzahl, Fliesskommazahl; weissen Sie jeder dieser Feldvariablen mindestens
einen Wert zu. ( Lösungshinweis)
KAT: PROGR1
PKT: max.3+4;
Verteilt: ___
Geben Sie die Syntax für eine while-Schleife an. (
Lösungshinweis)
KAT: PROGR1
PKT: max.2; Verteilt: ___
Welche Schreibweise von Operatoren --bezogen auf die Position des Operators im ausdruck-- kennen Sie? ( Lösungshinweis)
KAT: PROGR1
PKT: max.2; Verteilt:
___
Welche arithmetische Operatoren kennen Sie in C (Symbol und Bedeutung; evtl. Position)? ( Lösungshinweis)
KAT: PROGR1
PKT: max.4; Verteilt:
___
Welche logische Operatoren kennen Sie in C (Symbol und Bedeutung)? ( Lösungshinweis)
KAT: PROGR1
PKT: max.2; Verteilt:
___
Welche Zuweisungs-Operatoren kennen Sie in C (Symbol und Bedeutung)? ( Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt:
___
Welche Standard-Streams kennen Sie in C (Name und Bedeutung)? ( Lösungshinweis)
KAT: PROGR1
PKT: max.3; Verteilt:
___
(i) Was ist eine Funktion in der Mathematik? (ii) Wie schreibt man eine Funktion f hin, wenn man die
Abbildungsbeziehung zwischen den beteiligten Mengen explizit machen will? (iii) Wie lautet die Syntaxdefinition einer Funktion in
C? (iv) Was sind die drei Massnahmen in C, wenn Sie eine neue Funktion einführen und in einem Programm benutzen wollen (Annahme:
die neue Definition ist nicht in der gleichen Datei wie die Funktion, in der die neue Funktion benutzt werden soll)? (v)
Erstellen sie am Beispiel einer Funktion f() eine Skizze, wie Sie die verschiedenen Elemente einer Funktionseinführung und Nutzung
in verschiedenen Dateien anordnen würden, wenn benutzende Funktion, Headerdatei und neue Funktion in verschiedenen Dateien
vorkommen. Geben sie kurze Erläuterungen. ( Lösungshinweis)
KAT: PROGR1
PKT: max.1+1+2+3+3; Verteilt: ___
Wenn in C einer Funktion f() ein Argument übergeben wird. Welche Möglichkeiten gibt es hier? ( Lösungshinweis)
KAT: PROGR1
PKT: max.2; Verteilt:
___
Gegeben sei folgende 3-dimensionale Feldvariable mit Initialisierung:
int ar1[dim1][dim2][dim3]={ /* 3-dimensionales Feld mit 2*3*4 Elementen = 24 Elementen */ { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, }, { {13,14,15,16}, {17,18,19,20}, {21,22,23,24}, } };
Fertigen Sie eine Skizze an, wie diese Elemente im Speicher angeordnet sind. Machen Sie deutlich, welche Elemente zu welchen
Dimensionen gehören. ( Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt:
___
(i) Was passiert beim dynamischen Speichermanagement in C? (ii) Welche Befehle zum dyn. Speichermanagement kennen
Sie (Namen und kurze Beschreibung)? (iii) Welchen Datentyp liefern die Speicherbefehle zurück? (iv) Woran kann man das
Misslingen einer Speicherreservierung erkennen? (v) Wie speichert man den Rückgabewert einer Speicherreservierung? ( Lösungshinweis)
KAT: PROGR1
PKT: max.2+8+1+1+1; Verteilt:
___
In der Standardbibliothek (siehe stdlib.h) wird in C eine Zufallsfunktion rand() zur Verfügung gestellt. Diese holt
sich aus einer intern erzeugten Reihe von Pseudozufallszahlen jeweils eine Pseudozufallszahl heraus. Mittels der Funktion
srand(unsigned seed) kann man unterschiedliche Zufallsreihenfolgen anstossen. Wie kann kann Zufallszahlen zwischen 1 und einer
Zahl UPPER erzeugen? ( Lösungshinweis)
KAT: PROGR1
PKT:
max.3; Verteilt: ___
Bei der Behandlung der Dateioperationen unter C gilt, dass in C der Austausch von Daten zwischen Geräten wie
Tastatur, Bildschirm, Plattenspeichern, und allen anderen peripheren Geräten in einheitlicher Weise mit dem Konzept der Streams
beschrieben wird. Dies bedeutet, ob Datei, Device oder was auch immer, in C wird ein Stream geöffnet oder geschlossen. Solange
ein Stream geöffnet ist, kann man verschiedene Operationen ausführen. (i) Mit welchem Befehl kann man in C einen Stream öffnen?
(ii) Mit welchem Befehl kann man einen Stream wieder schliessen? (iii) Wodurch wird die Zahl der gleichzeitig geöffneten Streams
begrenzt? (iv) Welche Operationen kann man mit einem geöffneten Stream ausführen? (v) Wodurch wird ein aktuell geöffneter
Stream repräsentiert? (vi) Welche Befehle zum Lesen eines geöffneten Streams kennen Sie (Namen und kurze Beschreibung)? (vii)
Welche Befehle zum Schreiben eines geöffneten Streams kennen Sie (Namen und kurze Beschreibung)? (iix) Wie kann man festlegen,
dass eine Datei wieder vom 'Anfang' gelesen wird, nachdem man schon Leseoperationen vorgenommen hatte? (ix) Wie kann man
eine Datei umbenennen? (x) Wie kann man eine Datei entfernen? (
Lösungshinweis)
KAT: PROGR1
PKT: max.1+1+1+6+2+6+6+2+1+1; Verteilt: ___
Wie können
sie die Fehlervariable 'errno' in ihrem Programm benutzen, um Fehler zu erfassen und zu melden? ( Lösungshinweis)
KAT: PROGR1
PKT:
max.4; Verteilt: ___
Um Zahlen hinzuschreiben, benutzen wir normalerweise ein Stellenwertsystem, d.h. der Wert des Zahlzeichens '2' in
der Zahl '123' ist sowohl abhängig von der Position in der Zahl wie auch von der vorausgesetzten Zahlbasis. (i) Geben Sie eine
allgemeine Formel an, wie man den Wert einer beliebigen Zahl für beliebige Zahlbasen berechnen kann. (ii) Welches sind die in
der Informatik am häufigsten benutzten Zahlbasen; geben Sie die Zahl (36)10 in jeder dieser verschiedenen
Zahlbasen an.(iii) Wenn Sie als Basis b=2 haben und binäre Zahlen im Computer speichern: was versteht man dann unter 'big endian'
und was unter 'little endian'? (iv) Was bedeutet es, wenn man im Falle von Computern von 32-Bit-Systemen spricht? (v) Was versteht
man unter einem 'Stellenkomplement' bei Dualzahlen und wie berechnet man dies? (vi) Was versteht man unter einem 2-erKomplement
und wie berechnet man das 2erKomplement einer Dualzahl? (vii) Wofür wird das 2erKomplement im Rahmen der binären
Zahldarstellungen in Computern benutzt? (viii) Wie teilt man bei einem n-bit System den Bereich der Zahlen ein, wenn man
positive und negative Zahlen hat?( Lösungshinweis)
KAT:
PROGR1
PKT: max.2+4+2+1+3+3+1+3; Verteilt: ___
(i) Nennen Sie die Bitoperatoren von C (Zeichen, Bedeutung, Wertetabelle). ( Lösungshinweis)
KAT: PROGR1
PKT: max.12; Verteilt:
___
Schreiben Sie ein kleines Programm, in dem drei Variablen unterschiedlichen Typs vereinbart werden, weissen Sie den
Variablen Werte zu und lassen Sie die Werte der Variablen mit einem einzigen Printbefehl (printf()) auf dem Bildschirm ausgeben.
( Lösungshinweis)
KAT: PROGR1
PKT: max.5; Verteilt:
___
Schreiben Sie ein kleines Programm, in dem zwei Zahlen x und y von der Tastatur eingelesen werden. Das Programm stellt
fest, ob x kleiner, gleich oder grösser als y ist. Das Ergebnis wird dem Benutzer auf dem Bildschirm mit printf() ausgegeben. ( Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt:
___
Schreiben Sie ein kleines Programm, in dem der Benutzer einen Kleinbuchstaben eingeben kann und das Programm gibt den
zugehörigen ASCII-Code auf dem Bildschirm aus. ( Lösungshinweis)
KAT: PROGR1
PKT: max.5; Verteilt: ___
Mit der Funktion fgets(FELDVARIABLE, MAXIMALE_LÄNGE, STREAM)) kann man MAXIMALE_LÄNGE-viele Zeichen in
eine FELDVARIABLE einlesen. Es werden aber nur MAXIMALE_LÄNGE-1-viele Zeichen aus dem Puffer entnommen. Automatisch wird ein
Zeilenvorschub (engl. 'Linefeed') (Steuerzeichen '\n', ASCII-Code dezimal '10') angehängt. Schreiben sie ein kleines Programm,
bei dem der Zeilenvorschub im Falle einer Zeichenkette automatisch durch eine abschliessende Null '\0' ersetzt wird. Geben Sie
den Wert der Feldvariablen anschliessend auf dem Bildschirm aus. (
Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt: ___
Schreiben Sie ein kleines Programm, in dem sie innerhalb einer while-Schleife mit der Funktion getchar() die Tastatur
abfragen und der Wert auf dem Bildschirm ausgegeben wird. Stellen sie für den Benutzer ein Abbruchkriterium bereit. ( Lösungshinweis)
KAT: PROGR1
PKT: max.6; Verteilt:
___
Schreiben Sie ein kleines Programm, in dem der Anwender bei Aufruf des Programms 2 Float-Zahlen als Argumente auf der
Befehlszeile übergibt; lassen Sie das Programm diese beiden Zahlen addieren und mittels printf() auf den Bildschirm ausgeben. ( Lösungshinweis)
KAT: PROGR1
PKT: max.8; Verteilt:
___
Schreiben Sie ein kleines Programm, in dem der Anwender zwischen drei Menueoptionen auswaehlen musss; Benutzen sie
den switch-Befehl, um zu ermitteln, welche Option der Anwender eingegeben hat und drucken sie diese Option auf dem Bildschirm
aus. Beachten Sie den Fall, dass der Anwender keine der drei angebotenen Optionen wählt. ( Lösungshinweis)
KAT: PROGR1
PKT: max.8; Verteilt:
___
Schreiben Sie ein Programm, das eine Funktion f1() benutzt, die in einer anderen Datei neu eingeführt wird und zu
der es eine eigene Headerdatei gibt. Die Funktion f1() soll als Argument zwei Zahlen bekommen, die addiert werden, und deren
Wert zurückgegeben wird.( Lösungshinweis)
KAT: PROGR1
PKT: max.12; Verteilt: ___
(i) Schreiben Sie ein kleines Programm, in dem eine Variable x und ein Zeiger p vom Typ int gegeben sind. Der
Variablen x wird ein Wert zugewiessen. Benutzen Sie den Zeiger p, um den Wert der Variablen x um 5 zu erhöhen. (ii) Stellen Sie
in einer Skizze dar, wie diese Sachverhalte im Arbeitsspeicher realisiert werden können (Inhalt von x, Inhalt von p, Beziehung
zwischen p und x). ( Lösungshinweis)
KAT: PROGR1
PKT:
max.10; Verteilt: ___
(i) Schreiben Sie ein kleines Programm, in dem die Variable int a=5; vereinbart wird. Führen Sie zwei neue
Funktionen f1() und f2() ein für die gilt: f1() bekommt als Argument die Variable a als 'Kopie' und Funktion f2() bekommt den
Wert von a als 'Referenz'. In beiden Funktionen wird der Wert 5 zum Wert von a dazuaddiert. Geben Sie in beiden Fällen die Werte
mit return zurück. (ii) Wie lautet der Wert von a nach dem Aufruf von f1()? Wie lautet der Wert von a nach dem Aufruf von
f2()? ( Lösungshinweis)
KAT: PROGR1
PKT: max.15+2;
Verteilt: ___
Schreiben sie ein kleines Programm, das folgende Anforderungen erfüllt:
Es gibt eine Datenstruktur mit Namen 'Stack' (oder auch 'Stapel', 'Keller', 'LIFO := Last in First Out'), die Elemente eines bestimmten Datentyps TYP entweder auf einen Stapel legen ('push') oder von diesem runternehmen ('pop'). Gegeben sei eine Feldvariable stp vom Typ TYP; implementieren sie die folgenden Operationen:
'push(TYP e)' := Lege ein Element von einem beliebigen Typ auf die oberste Position des Stacks;
'pop()' := Hole das oberste Element des Stacks und gib es aus;
Schreiben Sie ein Rahmenprogramm, innerhalb dessen der Stack mit den genannten Funktionen benutzt wird.
(i) Wie lautet die Syntax des Datentyps 'struct'? (ii) Wie würde eine Struktur aussehen, in der die
Eigenschaften 'Farbe', 'Gewicht', 'Geschwindigkeit in km pro Stunde' für eine Struktur mit Namen 'pkw' als Elemente auftreten?
(iii) Wie führen sie Variablen (einfache Variablen, Felder, Zeiger) ein, die den Typ 'pkw' besitzen? (iv) Angenommen es gibt noch
eine Struktur mit Namen 'lkw'; wie würden sie eine Struktur mit Namen 'auto' definieren, die Elemente vom Typ 'pkw' und 'lkw'
enthält? (v) Wie kann man auf das Element Farbe einer Variablen vom Typ 'pkw' zugreifen: (a) ohne Zeiger, (b) mit Zeiger? ( Lösungshinweis)
KAT: PROGR1
PKT: max.3+3+5+2+3; Verteilt:
___
Gegeben ist ein Programm mit main(), in dem eine Feldvariable wie folgt vereinbart wurde: 'char
feld[DIM1][DIM2];' (DIM1 = 2 und DIM3 = 4). (i) Definieren Sie eine Funktion f1(), deren Übergabeparameter als geeignetes Feld
definiert ist. Bei Aufruf von f1() soll die Feldvariable 'feld' --und möglicherweise weitere Parameter-- übergeben werden.
Aufgabe von f1() ist es, alle Elemente des Feldes 'feld' einzeln anzuzeigen. (ii) Definieren Sie eine Funktion f2(), die die
gleiche Aufgabe wie f1() lösen soll; bei f2() ist der Übergabeparameter aber als Zeiger definiert. (iii) Geben Sie an, wie die
Aufrufe von f1() und f2() im Hauptprogramm aussehen. (
Lösungshinweis)
KAT: PROGR1
PKT: max.4+8+(1+3); Verteilt: ___
Gegeben sei folgende 3-dimensionale Feldvariable mit Initialisierung:
int ar1[dim1][dim2][dim3]={ /* 3-dimensionales Feld mit 2*3*4 Elementen = 24 Elementen */ { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, }, { {13,14,15,16}, {17,18,19,20}, {21,22,23,24}, } };
geben Sie eine Funktion f() an, deren Übergabeparameter vom Typ Zeiger ist (zusätzlich mögliche weitere Hilfs-Parameter), die
die Feldvariable 'ar1' als Argument übergeben bekommt und die den Wert jedes Elementes der Variable ar1 in aufsteigender
Reihenfolge ausgibt. ( Lösungshinweis)
KAT: PROGR1
PKT:
max.8; Verteilt: ___
Schreiben sie ein kleines Programm, das Speicher für eine Feldvariable 'fdlint' vom Typ 'long int' mit 10 Elementen
reserviert; im Fehlerfall soll eine Meldung ausgegeben werden. Das erste Elemente von 'fdlint' soll den Werte '7'
zugewiessen bekommen. Danach wird der Speicher wieder freigegeben. (
Lösungshinweis)
KAT: PROGR1
PKT: max.10; Verteilt: ___
In der Standardbibliothek (siehe stdlib.h) wird in C eine Zufallsfunktion rand() zur Verfügung gestellt. Diese holt
sich aus einer intern erzeugten Reihe von Pseudozufallszahlen jeweils eine Pseudozufallszahl heraus. Mittels der Funktion
srand(unsigned seed) kann man unterschiedliche Zufallsreihenfolgen anstossen. Wie kann kann Zufallszahlen zwischen 1 und einer
Zahl UPPER erzeugen? ( Lösungshinweis)
KAT: PROGR1
PKT:
max.5; Verteilt: ___
Schreiben sie ein Programm, das ein 2-dimensionales Feld vom Typ char mit Grösse 10x10 mittels malloc() anlegt
und dann mit dem Anfangswert '_' belegt. Rufen Sie dann eine Funktion auf, die zufallsgesteuert diese Anfangswerte mit dem Wert
'*' solange überschreibt, bis alle Felder mit dem Wert '*' belegt sind (Mehrfachschreibung möglich). Lassen sie das Programm
zählen, wieviele zufallsgestuerte Aktionen notwendig sind, um dieses Ziel zu erreichen. ( Lösungshinweis)
KAT: PROGR1
PKT: max.28; Verteilt:
___
Schreiben sie ein kleines Programm, das eine Textdatei zum Lesen öffnet, lesen Sie die Datei bis zum Endezeichen
zeichenweise aus und geben Sie die Zeichen auf dem Bildschrim aus. Nach Abschluss der Leseoperation schliessen Sie die Datei.
Benutzen Sie die Fehlervariable errno zum Erfassen von Fehlern. (
Lösungshinweis)
KAT: PROGR1
PKT: max.25; Verteilt: ___
Schreiben sie eine kleine Funktion sherlock(), die für eine vorgegebene Zahl n für jedes Bit feststellt, ob es sich
um eine '1' oder um eine '0' handelt. Als Ergebnis gibt die Funktion einen String zurück mit dem kleinsten Bit 'rechts' und dem
höchsten Bit 'links'. ( Lösungshinweis)
KAT: PROGR1
PKT:
max.12; Verteilt: ___
Schreiben sie ein kleines Programm, in dem sie drei verschiedene Eigenschaften als unterschiedliche Bitmuster
kodieren. Zeigen Sie an einem Beispiel, wie Sie in bestehenden Bitmustern neue Bits (= Eigenschaften) setzen können. Zeigen Sie
ferner, wie Sie prüfen können, ob bestimmte Bits (= Eigenschaften) gesetzt sind. ( Lösungshinweis)
KAT: PROGR1
PKT: max.12; Verteilt:
___
Was sind die wichtigen Themengebiete der Informatik in der nahen Zukunft nach dem Bericht it2006 der Bundesregierung? ( Lösungshinweis)
KAT: GL
PKT: max.4; Verteilt: ___
Auf welche Weise wirkt die Informatik auf die sie umgebenden Gesellschaft nach dem Bericht it2006 der Bundesregierung
ein? ( Lösungshinweis)
KAT: GL
PKT: max.3; Verteilt: ___
Ein Ziel der Softwareentwicklung ist die Bereitstellung eines Maschinenprogramms, das als Binärkode auf einem
Mikroprozessor ausgeführt werden kann. (i) Welche Schritte muss ein Softwareentwickler ausführen, um vom Problem bis zum Binärkode
zu kommen? (ii) Was sind die wichtigsten Werkzeuge, die der Softwareentwickler in den verschiedenen Phasen benutzt?( Lösungshinweis)
KAT: GL
PKT: max.2+2; Verteilt: ___
Im Rahmen der Diskussion um die Entwicklung von Software sind 10 Punkte aufgeführt worden, die im Kontext eines
Softwareprojektes wichtig sind. Welche Punkte sind ihnen noch präsent? Geben sie jeweils eine kurze Erläuterung, was die einzelnen
Punkte bedeuten. ( Lösungshinweis)
KAT: GL
PKT:
max.15; Verteilt: ___
Es wurde das Projekt 'Vernetztes Haus' der Fraunhofer Gesellschaft in Duisburg behandelt. (i) Welche Geräte kommen im
vernetzten Haus typischerweise zum Einsatz? (ii) Durch welche Verbindungen ist das lokale Netz des Hauses mit der
Aussenwelt verbunden? (iii) Welche Dienste stehen typischerweise dem Anwender zur Verfügung, um von aussen mit Geräten in seinem
Haus zu kommunizieren? (iv) Wie wird typischerweise die Kommunikation im Duisburger-Haus zwischen dem Anwender und einem Gerät
gelöst? (v) Erstellen Sie eine Skizze zur Grundstruktur eines Transponderchips mit kurzen Erläuterungen der Komponenten.( Lösungshinweis)
KAT: GL
PKT: max.3+2+2+1+8; Verteilt: ___
Auf welche Weise kann man das Verhalten der Geräte in einem vernetzten Haus 'intelligent' ('smart') machen, wenn die
einzelnen Geräte selbst nur sehr einfach und eher 'dumm' sind?( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Welches Problem versucht die OSGI (:= Open Services Gateway Initiative) zu lösen? ( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Nennen Sie fünf wichtige Netzwerktypen anhand des Kriteriums der Distanz?( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Wie heisst das Gerät (2 verschiedene Namen), das ein lokales Netz mit einem externen Netz verbindet? ( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Bei der Kommunikation im Netz werden Datenpakete verschickt. Die Kommunikation wird dabei über 'Schichten'
abgewickelt. Erklären Sie, warum es solche Schichten gibt, was die Funktion der Schichten ist; auf welche Weise eine Schicht die
Datenpakete verändert, worin sich Sender und Empfänger dabei unterscheiden. Wie nennt man eine Menge von
solchen aufeinanderfolgender Schichten? ( Lösungshinweis)
KAT: GL
PKT: max.5; Verteilt: ___
Erstellen sie eine Skizze für ein abstraktes Modell zur Kommunikation zwischen einem Client Prozess und einem
Serverprozess: Was sind die wichtigen Komponenten auf beiden Seiten? Was sind die elementaren Kommunikationsakte? ( Lösungshinweis)
KAT: GL
PKT: max.8; Verteilt: ___
Ein bekanntes Schichtenmodell ist das OSI-Referenzmodell. Erstellen sie eine Skizze mit den beteiligten
'Schichten und geben sie kurze Erläuterungen zu jeder Schicht. ( Lösungshinweis)
KAT: GL
PKT: max.14; Verteilt: ___
Unter dem Namen 'TCP/IP' wird in der Regel ein bestimmter Protokollstapel gemeint, der gegenüber dem
OSI-Referenzmodell eine Vereinfachung darstellt. (i) Beschreiben sie die Schichten des TCP/IP-Protokollstapels und geben Sie
Beispiele von konkreten Protokollen für jede Schicht an. (ii) Beschreiben sie die wichtigen Kommunikationsakte zwischen einem
Client und einem Server im Rahmen des TCP/IP-Protokollstapels, wenn ein Client Daten vom Server anfordert und bekommt (mit
Skizze). (iii) Warum braucht man neben iterativen Servern auch konkurrente Server? Beschreiben sie ein Verfahren, mittels
dessen man einen konkurrenten Server realisieren kann.( Lösungshinweis)
KAT: GL
PKT: max.10+6+5; Verteilt: ___
(i) Welche Funktion erfüllen Header im Rahmen von Datenpaketen? (ii) Was sind die wichtigsten Informationen, die in
einem UDP-Header stehen ? ( Lösungshinweis)
KAT: GL
PKT: max.1+3; Verteilt: ___
Der wesentliche Unterschied einer Kommunikation im Rahmen des TCP-Protokolls gegenüber dem UDP-Protokoll ist die
eindeutige Verbindung zwischen Sender und Empfänger. Nennen Sie die Mittel, mittels deren das TCP-Protokoll die Eindeutigkeit der
Verbindung zu gewährleisten versucht? ( Lösungshinweis)
KAT: GL
PKT:
max.6; Verteilt: ___
Welche wichtigen Eigenschaften des IP-Protokolls kennen Sie?(
Lösungshinweis)
KAT: GL
PKT: max.8; Verteilt: ___
Welche Rolle spielt die Byte-Ordnung 'big endian' im Netz? (
Lösungshinweis)
KAT: GL
PKT: max.1; Verteilt: ___
Durch welche Massnahmen kann das IP-Protokoll eine passende Fragmentierung der Datenpakete erreichen und dafür
sorgen, dass diese beim Empfänger wieder in der richtigen Reihenfolge zusammengebaut werden können? (
Lösungshinweis)
KAT: GL
PKT: max.4; Verteilt: ___
Durch welche Massnahmen wird im IP-Protokoll verhindert, dass Datenpakete in Endlosschleifen geraten? ( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Was sind Ports, wofür benötigt man sie und wie kommen Portnummern zustande? ( Lösungshinweis)
KAT: GL
PKT: max.3; Verteilt: ___
Wie sind IP-Adressen der Version IPv4 aufgebaut? Worin unterscheiden sich die Klassen A bis E? ( Lösungshinweis)
KAT: GL
PKT: max.8; Verteilt: ___
Wie können bei IP-Adressen der Version IPv4 die drei Stufen Netzkklasse, Netz und Host erweitert werden? ( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Wie würden sie folgende speziellen IP-Adressen der Version IPv4 realisieren:
This host
A host on this network
Broadcast on the local network
Broadcast on a distant network
Loopback
Nennen Sie die wichtigste Verbesserung, die durch die IP-Adressen der Version IPv6 eingeführt wird.
( Lösungshinweis)
KAT: GL
PKT: max.1; Verteilt: ___
Welche Aufgaben erfüllen die Protokolle ICMP, ARP, RARP und BOOTP? (
Lösungshinweis)
KAT: GL
PKT: max.12; Verteilt: ___
Was ist ein Bus im Kontext eines Computers? (
Lösungshinweis)
KAT: GL
PKT: max.1; Verteilt: ___
Was ist ein 'Bit'? (
Lösungshinweis)
KAT: GL
PKT: max.1; Verteilt: ___
Was bedeutet bei einem Signal der Zustand 'High' bzw. 'Low'? (
Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
In welchem Sinne kann man sagen, dass ein Signal die Information '1 Bit' realisiert?( Lösungshinweis)
KAT: GL
PKT: max.2; Verteilt: ___
Nennen Sie 5 verschiedene digitale Basisschaltungen und geben Sie deren Wertetabelle an ( Lösungshinweis)
KAT: GL
PKT: max.15; Verteilt: ___
Was ist das Prinzip von Multiplexerschaltungen? Erstellen sie eine kleine Skizze zu einer Multiplexerschaltung mit 4
Datenleitungen( Lösungshinweis)
KAT: GL
PKT: max.10;
Verteilt: ___
Wie funktioniert ein 1-Bit Volladdierer? Erstellen Sie dazu eine kleine Skizze.( Lösungshinweis)
KAT: GL
PKT: max.10; Verteilt: ___
Versuchen Sie zu beschreiben, welche Funktionen die einzelnen Komponenten der Hardwarearchitektur (Bild im Anhang)
haben. ( Lösungshinweis)
KAT: GL
PKT: max.32;
Verteilt: ___
Angenommen, das nachfolgende Assembler-Programm ist wie angegeben im Arbeitsspeicher abgelegt (Liste der
Assemblerbefehle siehe im Anhang). Versuchen sie zu bescheiben, wie die Hardware dieses Programm abarbeitet?
( Lösungshinweis)
KAT: GL
PKT: Pro erklärtem Befehl ca. 4
Punkte; gleiche Befehle werden nur einmal bewertet. Verteilt: ___
/****************************** * * Anordnung der Bytes im Speicher: * *********************************/ ADDR MNEMONIC HEXCODE ------------------------------- PROGRAMM ------------------------------- 0000 // x22 Anzahl Bytes des Programms ab Byte 3 0001 // x1 Anzahl Konstanten (im Anschluss an Programm) 0002 // x3 Anzahl Variablen (Im Anschluss an Konstanten) 0003 push x0 // x10,x0 0005 dup // x59 0006 dup // x59 0007 store a // x36,0 0009 store b // x36,1 000b store c // x36,2 000d in // xfc 000e store a // x36,0 0010 in // xfc 0011 store b // x36,1 0013 load a // x15,0 0015 load b // x15,1 0017 add // x60 0018 store c // x36,2 001a ldc incr // x13,0 001c load c // x15,2 001e add // x60 001f store c // x36,2 0021 out // xfd 0022 push x10 // x10,x1 0024 return // ac --------------------------- KONSTANTEN --------------------------- 0025 incr 10 ( x3 + x22 = x25) --------------------------- VARIABLEN --------------------------- 0026 a (x25 + x1 = x26) 0027 b 0028 c --------------------------- STACK --------------------------- 0029 (x26 + x3 = x29)
Mit welchen Begriffen wird in der Informatik das Verhältnis zwischen der Ausführungszeit T(n) eines Algorithmus und der
Anzahl n der Elemente eines Problems beschrieben? ( Lösungshinweis)
KAT: GL
PKT: max.6. Verteilt: ___
Warum ist eine logarithmische Ausführungszeit besser als eine lineare? ( Lösungshinweis)
KAT: GL
PKT: max.2. Verteilt: __
Nennen Sie Beispiele von 1-dimensionalen und 2-dimensionalen Datenmodellen? ( Lösungshinweis)
KAT: GL
PKT: max.2. Verteilt: __
Wodurch ist das Datenmodell 'Baum' charakterisiert? (
Lösungshinweis)
KAT: GL
PKT: max.4. Verteilt: __
Was unterscheidet einen binären Baum von einem Baum? (
Lösungshinweis)
KAT: GL
PKT: max.1. Verteilt: __
Was unterscheidet einen binären Such-Baum von einem binären Baum? Wie verläuft eine Suche in einem binären Suchbaum?( Lösungshinweis)
KAT: GL
PKT: max.8. Verteilt: __
Wie lässt sich der Zusammenhang zwischen der Anzahl der Knoten und der Höhe eines binären Baumes beschreiben? (
Lösungshinweis)
KAT: GL
PKT: max.6. Verteilt: __
Was zeichnet einen ausgeglichenen Baum aus? (
Lösungshinweis)
KAT: GL
PKT: max.3. Verteilt: __
Welche Ordnungskriterien zu binären Suchbäumen fallen Ihnen ein? (
Lösungshinweis)
KAT: GL
PKT: max.4. Verteilt: __
Welche Beispiele von Algorithmen zu ausgeglichenen Bäumen können Sie nennen (Mit kurzer Erklärung, die die Grundidee
dieser Algorithmen beschreibt)? (
Lösungshinweis)
KAT: GL
PKT: pro erläutertes Beispiel bis 4 Pkt. Verteilt: __
Geben Sie möglichst einfache C-Funktionen für folgende digitale Schaltungen an:
NOT
AND
OR
XOR
( Lösungshinweis)
KAT: GL
PKT: max.2+2+2+2; Verteilt: ___
Hardwarearchitektur für CPU
0x10 PUSH byte // Push byte onto stack 0x59 DUP // Copy top word on stack; push onto stack 0x60 ADD // Pop two words from stack; push their sum 0x7E AND // Pop two words from stack; push Boolean AND 0x99 IFEQ label // Pop word from stack; branch if it is zero 0x9F IF_ICMPEQ label // Pop two words from stack; branch if equal 0x84 INC varnum const // Add a constant to a local variable 0x15 LOAD varnum // Push local variable onto stack 0xB0 OR // Pop two words from stack; push Boolean OR 0xAC RETURN // Return from method with integer value 0x36 STORE varnum // Pop word from stack; store in local variable 0x64 SUB // Pop two words from stack; push their difference 0x13 LDC index // Push constant from constant pool onto stack 0x00 NOP // Do nothing 0x57 POP // Delete word on top of stack 0x5F SWAP // Swap the two top words on the stack 0xFF HALT // halt the simulator 0xFD OUT // Pop a word from the stack and use the low order 8-bits as an ASCI character to display on screen 0xFC IN // Read a character from standard input and put it in the low order 8-bits of a word pushed onto the stack