OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung Im Fach: Grundlagen der Informatik Bearbeiter Name, Vorname: Für: BG, ETIT, SPTE, STK, WETIT .......................................................................... Am: 23.09.2009, 8 Uhr, Mensa, H5 Bearbeitungszeit: 120 min Zugelassene Hilfsmittel: keine Gesamtanzahl der Aufgaben: 4 Von 100 Punkten wurden Aufgabe 1: Matrikelnr./Gruppe: ........................................... Anzahl beschriebener Blätter: .......... Beschriften Sie jedes Blatt in der rechten oberen Ecke wenigstens mit Ihrem Namen! . . . . . . . . . . . erreicht, d.h. . . . . . . . . . . . % → Note: . . . . . . . . Unterschrift: . . . . . . . . . . . . . . 25 Punkte Schreiben Sie ein C/C++ - Programm für ein Autohaus, das folgendes Menü immer wieder anbietet: - 1 - ein Auto einlesen (km-Stand und Preis in je ein Feld) - 2 - das billigste Auto mit seinem km-Stand anzeigen - 3 - eine Liste aller Autodaten, deren Gesamtwert und den durchschnittlichen km-Stand anzeigen - 0 - Ende. Die Menüpunkte (außer - 0 -) sind mit Hilfe von Funktionen, die ohne globale Variablen arbeiten, zu realisieren. 'nmax' ist global für die maximale Anzahl der Feldelemente festzulegen. Die Felder sind in 'main' zu vereinbaren und können mit der aktuellen Anzahl der Autos als Parameter an die Funktionen übergeben werden. Aufgabe 2: 25 Punkte Schreiben Sie ein C/C++-Programm für eine Firma, die Bauteile herstellt. Für die Bauteile werden die Artikelnummer, der Preis und die Anzahl der vorrätigen sowie der bestellten Exemplare in einer Struktur erfasst. Es ist wiederholt ein Menü mit folgenden Funktionen anzubieten: - 1 - erfassen - soll ein(!) neues Bauteil erfassen und in eine Datei schreiben (anhängen an eine vorhandene Datei), - 2 - gesucht - soll alle Daten eines bestimmten Bauteils, dessen Artikelnummer in der Funktion eingelesen wird, auf dem Bildschirm anzeigen. Bei der Artikelnummer 0 sind alle Artikel anzuzeigen! - 0 - Ende (ohne Funktion). Die Funktionen sollen den Dateinamen als Parameter bekommen und müssen ohne globale Variablen auskommen! b.w. Aufgabe 3: 30 Punkte Beantworten Sie folgende Fragen: - Was versteht man unter Binärkodierung? Worin besteht die besondere Bedeutung für die elektronische Datenverabeitung? 4P - Was versteht man unter dem Begriff Algorithmus? 3P - Was ist in der Programmierung die Aufgabe des Compilers? 4P - Was ist der Unterschied zwischen einem Programm und einem Prozess (im Sinne einer Rechnerarchitektur)? 4P - Was ist der Unterschied zwischen abweisenden und nicht-abweisenden Schleifen in den Programmiersprachen C/C++? Nennen Sie für jeden Schleifentyp je eine Steueranweisung aus C/C++! 4P - Was ist der Unterschied zwischen der Übergabe von Parametern als Wert (Pass/Call by Value) bzw. als Referenz (Pass/Call by Reference)? 4P - Was versteht man in der Programmierung unter Rekursion? 2P - Was versteht man in der objektorientierten Programmierung unter Kapselung? Welche Bedeutung haben in C++ die Zugriffsmodifikatoren public, private und protected? 5P Aufgabe 4: 20 Punkte Beantworten Sie folgende Fragen: - Was versteht man im Sinne der Computergrafik unter einer Rastergrafik? 2P - Welche grafischen Primitive (Grundformen) bietet die Grafikbibliothek OpenGL? Nennen Sie 4 Beispiele! 4P - Was versteht man unter der Terminiertheit eines Algorithmus? 2P - Wie werden entsprechend dem Relationenmodell Daten dargestellt? Was sind Schlüssel und Fremdschlüssel und wozu werden sie verwendet? 6P - Nennen Sie drei Qualitätskriterien für Software im Sinne des Software Engineering und erklären Sie diese! (6P) Gesamtpunktzahl: 100