Zurueck zur Startseite

Probeklausur - MIT LOESUNGEN

Grundlagen der Programmierung

Vorlesungen 1-12

Wintersemester 2025/26 | HTW Berlin

Prof. Dr. Alexandra Mikityuk

Pruefungsinformationen

Hinweis: Dies ist eine Uebungsklausur MIT Loesungen. Versuchen Sie zuerst, die Aufgaben selbst zu loesen, bevor Sie die Loesungen anschauen!

Teil 1: Grundlagen & Datentypen (20 Punkte)
Aufgabe 1.1: Datentypen und Variablen 8 Punkte

Gegeben sind folgende Variablendeklarationen:

int alter = 25; double groesse = 1.75; char note = 'A'; int summe = alter + groesse;

a) Welche Zeile ist problematisch und warum? Was passiert bei der Ausfuehrung? (4 Punkte)

b) Wie sollte die Zeile besser geschrieben werden, um Praezisionsverlust zu vermeiden? (4 Punkte)

Aufgabe 1.2: Logische Operatoren 6 Punkte

Was geben die folgenden Ausdruecke aus? Erklaeren Sie jeweils warum.

int a = 5, b = 3, c = 0; printf("%d\n", (a > b) && (b > c)); // Zeile 1 printf("%d\n", (a < b) || (c == 0)); // Zeile 2 printf("%d\n", !(a == 5)); // Zeile 3
Aufgabe 1.3: Typkonvertierung 6 Punkte

Was gibt folgender Code aus? Erklaeren Sie das Ergebnis und wie man es korrigieren kann.

int a = 7; int b = 2; double ergebnis = a / b; printf("%.2f\n", ergebnis);
Teil 2: Kontrollstrukturen (20 Punkte)
Aufgabe 2.1: if-else Verzweigungen 10 Punkte

Schreiben Sie ein vollstaendiges C-Programm, das eine Zahl einliest und ausgibt, ob sie:

Aufgabe 2.2: Schleifen 10 Punkte

Implementieren Sie die Funktion int summeGerade(int n), die die Summe aller geraden Zahlen von 1 bis n berechnet.

Beispiel: summeGerade(10) = 2 + 4 + 6 + 8 + 10 = 30

Teil 3: Arrays und Algorithmen (30 Punkte)
Aufgabe 3.1: Lineare Suche 10 Punkte

Implementieren Sie die Funktion int lineareSuche(int arr[], int n, int wert), die die Position eines Wertes im Array zurueckgibt, oder -1 wenn nicht gefunden.

Aufgabe 3.2: Bubble Sort 10 Punkte

Implementieren Sie den Bubble Sort Algorithmus fuer ein Integer-Array.

Hinweis: Vergleichen Sie benachbarte Elemente und tauschen Sie sie, wenn sie in der falschen Reihenfolge stehen. Grosse Werte "blubbern" nach oben!
Aufgabe 3.3: Array umkehren 10 Punkte

Implementieren Sie die Funktion void reverse(int arr[], int n), die ein Array umkehrt.

Beispiel: {1, 2, 3, 4, 5} wird zu {5, 4, 3, 2, 1}

Hinweis: Verwenden Sie die Zwei-Zeiger-Technik (left und right)!

Teil 4: Funktionen (30 Punkte)
Aufgabe 4.1: Minimum und Index finden 15 Punkte

Schreiben Sie eine Funktion int findeMinIndex(int arr[], int n), die den Index des kleinsten Elements im Array zurueckgibt.

Beispiel: {8, 3, 5, 1, 9} gibt 3 zurueck (weil arr[3] = 1 das Minimum ist).

Schreiben Sie ausserdem ein vollstaendiges main()-Programm, das die Funktion aufruft und sowohl den Index als auch den Wert des Minimums ausgibt.

Aufgabe 4.2: Funktion mit Schleife 15 Punkte

Schreiben Sie eine Funktion int zaehleGerade(int arr[], int n), die zaehlt, wie viele gerade Zahlen in einem Array sind.

Beispiel: {1, 2, 3, 4, 5, 6} gibt 3 zurueck (weil 2, 4, 6)


Gesamtpunktzahl: _____ / 100 Punkte
Viel Erfolg!
Diese Probeklausur deckt den Stoff der Vorlesungen 1-12 ab: Grundlagen, Datentypen, Operatoren, Kontrollstrukturen, Arrays, Funktionen, Lineare Suche, Bubble Sort und Array-Manipulation.