Prüfung Algorithmen und Programmierung in C

Schnelle objektorientierte, kompilierende Programmiersprache.
janPhil1984
Beiträge: 2
Registriert: Do Feb 26, 2015 11:12 am

Prüfung Algorithmen und Programmierung in C

Beitrag von janPhil1984 » Do Feb 26, 2015 11:17 am

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

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von cloidnerux » Do Feb 26, 2015 11:30 am

Hi und Willkommen im Forum :D
Ich würde mich wirklich über etwas freuen, das mir einfach ein wenig Zeit bei der Klausur spart.
Erfahrung und Wissen, deswegen sind Übungsaufgaben auch so wichtig.
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

janPhil1984
Beiträge: 2
Registriert: Do Feb 26, 2015 11:12 am

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von janPhil1984 » Do Feb 26, 2015 11:38 am

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

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von Xin » Fr Feb 27, 2015 2:01 pm

Moin und willkommen an Board. :)
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.
Oftmals wird Programmierung als Fließbandarbeit angesehen. Man berechnet Leistung in Codezeilen oder Arbeitsstunden. Programmierung ist aber durchaus ein kreativer Prozess.
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.

Benutzeravatar
nitro_45
Beiträge: 12
Registriert: Do Jan 29, 2015 8:36 pm

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von nitro_45 » So Mär 01, 2015 3:42 pm

Xin 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.
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 schwer :lol:

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von cloidnerux » So Mär 01, 2015 3:57 pm

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 :lol:
Mit der Digitalwaage wird es tatsächlich schwierig^^

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

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8861
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von Xin » So Mär 01, 2015 4:19 pm

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)?
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. :-D
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.

Nemo
Beiträge: 37
Registriert: Sa Mär 02, 2013 3:18 pm

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von Nemo » So Mär 01, 2015 11:48 pm

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)?
Ich komm auf 18 Versuche. Bietet jemand weniger?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von cloidnerux » Mo Mär 02, 2015 8:39 am

Ich komm auf 18 Versuche. Bietet jemand weniger?
Ich komme auf 14.
Redundanz macht wiederholen unnötig.
quod erat expectandum

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: Prüfung Algorithmen und Programmierung in C

Beitrag von canlot » Mo Mär 02, 2015 9:53 am

cloidnerux hat geschrieben:
Ich komm auf 18 Versuche. Bietet jemand weniger?
Ich komme auf 14.
Ich komme auf 7, vorausgesetzt ich habe die Aufgabe verstanden und rechne das richtige :D :lol:
Unwissenheit ist ein Segen

Antworten