Prüfung Algorithmen und Programmierung in C
-
- Beiträge: 2
- Registriert: Do Feb 26, 2015 11:12 am
Prüfung Algorithmen und Programmierung in C
Hallo Leute,
ich habe am Montag meine erste Prüfung in AuP und habe dazu eine Frage. Sicher kennt ihr aus eigenen Prüfungen diese wunderbaren Aufgaben, wobei es darum geht, einen Weihnachtsbaum mit Sternen zu zeichnen. Oder ein Wort aus einem Char-Array als Raute auszugeben.
Ich bekomme das zwar auch soweit so gut hin, jedoch kostet es immer total viel Zeit. Kennt ihr eine allgemeine Herangehensweise, mit der man solche Aufgaben lösen kann? Ich würde mich wirklich über etwas freuen, das mir einfach ein wenig Zeit bei der Klausur spart.
Vielen Dank und schöne Grüße
Jan
ich habe am Montag meine erste Prüfung in AuP und habe dazu eine Frage. Sicher kennt ihr aus eigenen Prüfungen diese wunderbaren Aufgaben, wobei es darum geht, einen Weihnachtsbaum mit Sternen zu zeichnen. Oder ein Wort aus einem Char-Array als Raute auszugeben.
Ich bekomme das zwar auch soweit so gut hin, jedoch kostet es immer total viel Zeit. Kennt ihr eine allgemeine Herangehensweise, mit der man solche Aufgaben lösen kann? Ich würde mich wirklich über etwas freuen, das mir einfach ein wenig Zeit bei der Klausur spart.
Vielen Dank und schöne Grüße
Jan
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Prüfung Algorithmen und Programmierung in C
Hi und Willkommen im Forum
Zudem müssen die Grundlagen sitzen, wenn man sich erst fragen muss, wie eine for-schleife Aussieht, der verschenkt Unmengen Zeit.
Ansonsten hilft die Theorie des optimalen Prozesses:
Wie viel Zeit kostet es dich, wenn alles optimal läuft?
Du in deinem Fall also schon weißt wie alles aufgebaut wird, welche Variablen und Kontrollstrukturen du brauchst und nur noch schreiben musst.
Davon ausgehend musst du dich fragen, was dich daran hindert, genau diesen optimalen Prozess zu erreichen.
Wenn du genug darüber nachdenkst, kommst du zu dem Punkt, dass Fehler(Bugs) Zeit fressen im Debugging, das Grundlegende Überlegungen Zeit fressen(wie sieht eine for-schleife aus), dass Überlegungen wie man das ganze Lösen könnte Zeit fressen.
Wenn du nun die "Fehlerquellen" kennst, kannst du gezielt ansetzten diese zu minimieren.
Bugs wirst du nie los, aber guter Code-Stil und sinnvoller Aufbau hilft ungemein.
Die Grundlagen zu beherrschen ist ein großer Helfer, viele ähnliche Aufgaben schon einmal gelöst zu haben hilft schnell einen Ansatz zu finden.

Erfahrung und Wissen, deswegen sind Übungsaufgaben auch so wichtig.Ich würde mich wirklich über etwas freuen, das mir einfach ein wenig Zeit bei der Klausur spart.
Zudem müssen die Grundlagen sitzen, wenn man sich erst fragen muss, wie eine for-schleife Aussieht, der verschenkt Unmengen Zeit.
Ansonsten hilft die Theorie des optimalen Prozesses:
Wie viel Zeit kostet es dich, wenn alles optimal läuft?
Du in deinem Fall also schon weißt wie alles aufgebaut wird, welche Variablen und Kontrollstrukturen du brauchst und nur noch schreiben musst.
Davon ausgehend musst du dich fragen, was dich daran hindert, genau diesen optimalen Prozess zu erreichen.
Wenn du genug darüber nachdenkst, kommst du zu dem Punkt, dass Fehler(Bugs) Zeit fressen im Debugging, das Grundlegende Überlegungen Zeit fressen(wie sieht eine for-schleife aus), dass Überlegungen wie man das ganze Lösen könnte Zeit fressen.
Wenn du nun die "Fehlerquellen" kennst, kannst du gezielt ansetzten diese zu minimieren.
Bugs wirst du nie los, aber guter Code-Stil und sinnvoller Aufbau hilft ungemein.
Die Grundlagen zu beherrschen ist ein großer Helfer, viele ähnliche Aufgaben schon einmal gelöst zu haben hilft schnell einen Ansatz zu finden.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
-
- Beiträge: 2
- Registriert: Do Feb 26, 2015 11:12 am
Re: Prüfung Algorithmen und Programmierung in C
Hallo cloidnerux,
danke für deine schnelle Antwort. Die gute Nachricht ist sicher, dass ich mit der Syntax keine Probleme habe. Wenn ich jedoch das Problem der Zeichenkette als Raute nehme (gestern erst angefangen), dann sehe ich natürlich Verhältnisse zwischen Leerzeichen und Sternen mit Zeilen und Zählern (z.B.: erste Zeile Leerzeichen = Wortlänge - Zeile). Als das ganze sich dann aber umdrehte, sprich das Wort rückwerts nach unten wieder zusammenlief...da war ich raus :/
Naja...am Ende ist es wohl einfach üben, üben, üben.
Gruß Jan
danke für deine schnelle Antwort. Die gute Nachricht ist sicher, dass ich mit der Syntax keine Probleme habe. Wenn ich jedoch das Problem der Zeichenkette als Raute nehme (gestern erst angefangen), dann sehe ich natürlich Verhältnisse zwischen Leerzeichen und Sternen mit Zeilen und Zählern (z.B.: erste Zeile Leerzeichen = Wortlänge - Zeile). Als das ganze sich dann aber umdrehte, sprich das Wort rückwerts nach unten wieder zusammenlief...da war ich raus :/
Naja...am Ende ist es wohl einfach üben, üben, üben.
Gruß Jan
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Prüfung Algorithmen und Programmierung in C
Moin und willkommen an Board. 
Das Ziel ist es bekannte Algorithmen zu nutzen, um unbekannte Probleme zu lösen.
Darum lernst Du Algorithmen, um Dir damit neue Algorithmen ausdenken zu können, so wie aus Worten und Grammatik werden, sich Floskeln entwickeln und Du anschließend daraus einen Roman schreiben kannst. Ein Roman ist aber eine Ansammlung von Kurzgeschichten und jede Kurzgeschichte ist eine kreative Leistung.
Folgendes ist mein Tipp und das klingt erstmal absolut trivial - ist es aber nicht:
Immer dann, wenn Du an Deine Grenzen gerätst, ist Deine Aufgabe, Deine Grenzen zu überschreiten.
Wenn Du mit den bekannten Mitteln eingegrenzt bist, musst Du entweder Deine Mittel erweitern - womit das Problem Fließbandarbeit wird - oder wenn das nicht möglich ist musst Du Deine Grenzen in Frage stellen und die Stelle finden, an denen Du sie überschreiten kannst.
Kürzlich stellte mir ein Freund folgende Frage: Du hast 8 Kugeln, wovon eine Kugel geringfügig schwerer ist. Du darfst eine Waage zweimal benutzen. Finde die schwerere Kugel.
Die Aufgabe ist nur lösbar, wenn Du einen Algorithmus findest, der über das offensichtliche hinausgeht.

Oftmals wird Programmierung als Fließbandarbeit angesehen. Man berechnet Leistung in Codezeilen oder Arbeitsstunden. Programmierung ist aber durchaus ein kreativer Prozess.janPhil1984 hat geschrieben:ich habe am Montag meine erste Prüfung in AuP und habe dazu eine Frage. Sicher kennt ihr aus eigenen Prüfungen diese wunderbaren Aufgaben, wobei es darum geht, einen Weihnachtsbaum mit Sternen zu zeichnen. Oder ein Wort aus einem Char-Array als Raute auszugeben.
Ich bekomme das zwar auch soweit so gut hin, jedoch kostet es immer total viel Zeit. Kennt ihr eine allgemeine Herangehensweise, mit der man solche Aufgaben lösen kann? Ich würde mich wirklich über etwas freuen, das mir einfach ein wenig Zeit bei der Klausur spart.
Das Ziel ist es bekannte Algorithmen zu nutzen, um unbekannte Probleme zu lösen.
Darum lernst Du Algorithmen, um Dir damit neue Algorithmen ausdenken zu können, so wie aus Worten und Grammatik werden, sich Floskeln entwickeln und Du anschließend daraus einen Roman schreiben kannst. Ein Roman ist aber eine Ansammlung von Kurzgeschichten und jede Kurzgeschichte ist eine kreative Leistung.
Folgendes ist mein Tipp und das klingt erstmal absolut trivial - ist es aber nicht:
Immer dann, wenn Du an Deine Grenzen gerätst, ist Deine Aufgabe, Deine Grenzen zu überschreiten.
Wenn Du mit den bekannten Mitteln eingegrenzt bist, musst Du entweder Deine Mittel erweitern - womit das Problem Fließbandarbeit wird - oder wenn das nicht möglich ist musst Du Deine Grenzen in Frage stellen und die Stelle finden, an denen Du sie überschreiten kannst.
Kürzlich stellte mir ein Freund folgende Frage: Du hast 8 Kugeln, wovon eine Kugel geringfügig schwerer ist. Du darfst eine Waage zweimal benutzen. Finde die schwerere Kugel.
Die Aufgabe ist nur lösbar, wenn Du einen Algorithmus findest, der über das offensichtliche hinausgeht.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Prüfung Algorithmen und Programmierung in C
Garnicht so einfach. Allerdings ging ich auch von einer digitalen Waage aus und nicht von einer Tafelwaage (also eine mit zwei Waagschalen). Nachdem ich das wusste, war die Lösung auch nicht mehr so schwerXin hat geschrieben:Kürzlich stellte mir ein Freund folgende Frage: Du hast 8 Kugeln, wovon eine Kugel geringfügig schwerer ist. Du darfst eine Waage zweimal benutzen. Finde die schwerere Kugel.
Die Aufgabe ist nur lösbar, wenn Du einen Algorithmus findest, der über das offensichtliche hinausgeht.

- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Prüfung Algorithmen und Programmierung in C
Mit der Digitalwaage wird es tatsächlich schwierig^^Allerdings ging ich auch von einer digitalen Waage aus und nicht von einer Tafelwaage (also eine mit zwei Waagschalen). Nachdem ich das wusste, war die Lösung auch nicht mehr so schwer
Ich hab da auch noch eine andere Aufgabe:
Man möchte testen, aus welchem Stock man ein Ei(iPhone?) fallen lassen kann, ohne das es kaputt geht. Man hat aber nur zwei Eier und 100 Stockwerke. Das Ergebnis eines Falltestes ist unabhängig von den vorhergehenden. Welcher Algorithmus liefert die geringste Worst-Case Laufzeit(maximale Anzahl Versuche)?
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Prüfung Algorithmen und Programmierung in C
Aus eigener Erfahrung würde ich mit einem 1/5 Stockwerk anfangen. Das sind ca. 60cm. Meine Arbeitsplatte in der Küche ist 80cm hoch. Bisher hat das noch kein Ei überlebt.cloidnerux hat geschrieben:Ich hab da auch noch eine andere Aufgabe:
Man möchte testen, aus welchem Stock man ein Ei(iPhone?) fallen lassen kann, ohne das es kaputt geht. Man hat aber nur zwei Eier und 100 Stockwerke. Das Ergebnis eines Falltestes ist unabhängig von den vorhergehenden. Welcher Algorithmus liefert die geringste Worst-Case Laufzeit(maximale Anzahl Versuche)?

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Prüfung Algorithmen und Programmierung in C
Ich komm auf 18 Versuche. Bietet jemand weniger?cloidnerux hat geschrieben:Man möchte testen, aus welchem Stock man ein Ei(iPhone?) fallen lassen kann, ohne das es kaputt geht. Man hat aber nur zwei Eier und 100 Stockwerke. Das Ergebnis eines Falltestes ist unabhängig von den vorhergehenden. Welcher Algorithmus liefert die geringste Worst-Case Laufzeit(maximale Anzahl Versuche)?
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Prüfung Algorithmen und Programmierung in C
Ich komme auf 14.Ich komm auf 18 Versuche. Bietet jemand weniger?
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Prüfung Algorithmen und Programmierung in C
Ich komme auf 7, vorausgesetzt ich habe die Aufgabe verstanden und rechne das richtigecloidnerux hat geschrieben:Ich komme auf 14.Ich komm auf 18 Versuche. Bietet jemand weniger?


Unwissenheit ist ein Segen