Prüfungsfragen - Testet euer Wissen



  • Studiologe schrieb:

    1. Kann man jeden Algorithmus rekursiv programmieren ?
    2. Kann man jeden rekursiven Algorithmus iterativ schreiben ?
      "Klassen"

    aus reiner Neugier: wie lauten die Antworten?



  • Erläutern Sie die Begriffe "Daten" und "Information"!
    Information ist die Kenntniss über bestimmte Sachverhalte.
    Information kann in Nachrichten verpackt sein. Diese Nachrichten
    werden dem Empfänger mittels Daten übermittelt. Daten haben die Form
    von Zeichen(digital, analog, Gesten, gehörlosen Sprache, gesprochene Sprache...)



  • Blue-Tiger schrieb:

    Studiologe schrieb:

    1. Kann man jeden Algorithmus rekursiv programmieren ?
    2. Kann man jeden rekursiven Algorithmus iterativ schreiben ?
      "Klassen"

    aus reiner Neugier: wie lauten die Antworten?

    1. Alles was man in C iterativ programmieren kann geht auch rekursiv. Es gibt sogar Programmiersprachen die keine Iteration kennen, wo man also gezwungen ist rekursive Lösungen zu finden.

    2. Zu jeder rekursiven Funktion in C findet man auch eine iterative Variante. Vieles kann man einfach durch Verwendung eines Stacks in eine Iteration umschreiben, manchmal findet man aber auch elegantere Lösungen.



  • Walli schrieb:

    1. Alles was man in C iterativ programmieren kann geht auch rekursiv. Es gibt sogar Programmiersprachen die keine Iteration kennen, wo man also gezwungen ist rekursive Lösungen zu finden.

    Wie sieht es mit dem Dreieckstusch aus?

    void swap(int*a, int*b)
    {
      int c = *a;
      *a = *b;
      *b = c;
    }
    

    Ich seh nicht wie ich den rekursiv umsetzen sollte.



  • Ben04 schrieb:

    Ich seh nicht wie ich den rekursiv umsetzen sollte.

    Wo siehst du hier eine iteration ?
    Kurt



  • ZuK schrieb:

    Ben04 schrieb:

    Ich seh nicht wie ich den rekursiv umsetzen sollte.

    Wo siehst du hier eine iteration ?
    Kurt

    Ach wieder wahr.



    Unter einem Algorithmus versteht man allgemein eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen.

    z.B. 32 Bit Prozessor:
    Die Adressbreite beträgt 32 Bit. Also können 2^32-1 Datenblöcke adressiert werden.
    Aber auch Befehle mit entsprechenden Registern sind auf 32 Bit beschränkt.



  • curry-king schrieb:

    Die Adressbreite beträgt 32 Bit. Also können 2^32-1 Datenblöcke adressiert werden.

    Wieso minus 1?



  • Zu Rekursion / Iteration:
    Jeder Algorithmus lässt sich wohl rekursiv umsetzen, ja. Aber nicht jeder Algorithmus lässt sich iterativ abhandeln. Sin da nicht die Fibonaci-Zahlen einer dieser Fälle!?



  • Bashar schrieb:

    curry-king schrieb:

    Die Adressbreite beträgt 32 Bit. Also können 2^32-1 Datenblöcke adressiert werden.

    Wieso minus 1?

    deswegen

    i=0n2i=2n+1121=2n+11\sum_{i=0}^n2^i = \frac{2^{n+1} - 1}{2-1}=2^{n+1}-1

    wobei n == 31



  • Evolver schrieb:

    Zu Rekursion / Iteration:
    Jeder Algorithmus lässt sich wohl rekursiv umsetzen, ja. Aber nicht jeder Algorithmus lässt sich iterativ abhandeln. Sin da nicht die Fibonaci-Zahlen einer dieser Fälle!?

    nein. Es ist sogar so, dass die iterative Lösung der Fibonacci Reihe die schnellste ist (ok, die schnellere von beiden, weil wenn man die Fibo-formel benutzt, läuft alles in O(1))



  • Wow genial,
    so viele gute Antworten innerhalb der kurzen Zeit, Vielen Dank Leute,
    das ist sehr hilfreich bis jetzt, aber nicht müde werden 🙂
    Ja ich gebe zu, einige der Fragen sind echt Lustig, habe mich auch schon gefragt, ob ich die nicht besser raus lassen sollte... aber schließlich will ich euch auch den Spaß lassen und es kann ja immer sein, das es doch anders ist als man erwartet
    (Fragen 20 und 21) 😛
    Also soweit ich dazu weiß sind die immer global, hab es jedenfalls noch nie gesehen, das eine klasse z.b. innerhalb von main stand...?!

    Weiterhin noch viel Spaß und Erfolg



  • Studiologe schrieb:

    Also soweit ich dazu weiß sind die immer global, hab es jedenfalls noch nie gesehen, das eine klasse z.b. innerhalb von main stand...?!

    zumindest das gibt es *g

    9.7 - Nested class declarations [class.nest]

    -1- A class can be defined within another class. A class defined within another is called a nested class. The name of a nested class is local to its enclosing class. The nested class is in the scope of its enclosing class. Except by using explicit pointers, references, and object names, declarations in a nested class can use only type names, static members, and enumerators from the enclosing class

    http://www.kuzbass.ru:8086/docs/isocpp/class.html



  • supertux schrieb:

    Bashar schrieb:

    curry-king schrieb:

    Die Adressbreite beträgt 32 Bit. Also können 2^32-1 Datenblöcke adressiert werden.

    Wieso minus 1?

    deswegen

    i=0n2i=2n+1121=2n+11\sum_{i=0}^n2^i = \frac{2^{n+1} - 1}{2-1}=2^{n+1}-1

    wobei n == 31

    Mir fehlen die Worte ...



  • Bashar schrieb:

    curry-king schrieb:

    Die Adressbreite beträgt 32 Bit. Also können 2^32-1 Datenblöcke adressiert werden.

    Wieso minus 1?

    Deine Frage ist wohl berechtigt.
    Adressierbar sind dann 2^32 Blöcke und nicht 2^32-1, der Adressbereich reicht dann von 0 - 2^32-1.



  • Evolver schrieb:

    Zu Rekursion / Iteration:
    Jeder Algorithmus lässt sich wohl rekursiv umsetzen, ja. Aber nicht jeder Algorithmus lässt sich iterativ abhandeln. Sin da nicht die Fibonaci-Zahlen einer dieser Fälle!?

    jeder rekursive algo lässt sich iterativ ausführen, was meinst du, wie das betriebssystem das programm abarbeitet?



    1. Zählen Sie die Elemente und Aufgaben einer Programmierumgebung auf!

    Wie ich solche blabla Fragen hasse. Was soll ein Programmierumgebung sein? Mein Büro?



  • Oh ja, wie recht ihr habt. Ich war irgendwie grad in der Mathematik, und dabei, dass man nicht immer aus rekursiven Vorschriften explizite gewinnen kann.
    Aber selbst dabei war das Bsp. der Fibonacci-Zahlen einfach nur abgrundtief falsch.
    Schande über mich!



  • Hmmm Daten und Information habe ich anderst kennen gelernt. (?)

    Daten:
    Hausstrasse 23
    Ralf Müller
    12

    Information ergeben sich durch die Zusammenstellung der Daten in einem Kontext zueinander oder sowas...

    Ich wohne an der Hausstrasse 23 und habe 12 Freunde die Ralf Müller heissen.

    Ralf Müller wohnt an der Hausstrasse 23 und ist 12 Jahre alt.

    12 Menschen leben in dem Ralf Müller-Haus an der Hausstrasse 23



  • Ich seh hier keine Differenzen! Ergänzen könnte ich noch, das Daten nicht nur einzelne Zeichen, sondern auch Kombinationen aus einzelnen Zeichen umfassen können.


Anmelden zum Antworten