tioz93
-
Gesamte Inhalte
4 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von tioz93
-
-
Der Aufgabenblock 3: Programmerstellung und -dokumentation. Wie ist das nun eigentlich bei der Rettungskette zählen dort beide Wege?
-
Bist du FISI oder FIAE und kannst Licht ins dunkle von Aufgabe 3 bringen?
-
Ich bräuchte dringen Hilfe bei folgenden Algorithmen!Das problem ist das ich einfach nicht weiß wie ich damit anfangen soll da ich vorher noch nie irgendwas mit Algorithmen zu tun hatte.
Aufgabe 1: Nim-Spiel – eine einfache Variante
Bei dieser einfachen Variante des Nim-Spiels kämpfen
zwei Spieler darum, aus einem Stapel von n > 1 Streich-
hölzchen solange abwechselnd ein bis drei Hölzchen weg-
zunehmen, bis der Stapel leer ist. Wer den letzten Zug
macht, hat verloren.
Optimale Strategie
Angenommen, Sie dürfen anfangen. Zeigen Sie, dass Sie (Spieler A) so jedes Spiel gewinnen
können, wenn der Stapel nicht eine Anfangsgröße von n = 1 + 4•h (h = 1, 2, …) hat.
Umgekehrt gilt: Man kann den Gegner ( zum Verlieren zwingen, wenn der (aktuelle) Stapel
eine Größe von n = 1 + 4•h (h = 1, 2, …) hat, wenn er am Zug ist.
Beispiel:
i. n = 5 -> B kann 1, 2 oder 3 Hölzer ziehen, A zieht dann 3, 2 oder 1 Hölzer und 1 Holz
bleibt übrig.
ii. n = 9 -> B kann 1, 2 oder 3 Hölzer ziehen, A zieht dann 3, 2 oder 1 Hölzer und 5 Hölzer
bleiben übrig; dann geht es weiter mit i.
iii. n = 13, 17 etc.
Ist nicht direkt = 1 + 4•h (h = 1, 2, …), dann kann man mit dem ersten Zug immer auf 1 + 4•h (h
= 1, 2, …) reduzieren und damit ist der Gegner ( auf dem Verliererpfad, auf dem man ihn
halten kann.
a) Entwickeln Sie im Pseudo-Code einen Algorithmus für die optimale Strategie.
Angenommen, Sie als Spieler A dürfen anfangen und Ihr Gegenüber, Spieler B, nimmt
immer in der Folge 1, 2, 3, 1, 2, 3 usw. Hölzchen weg. Wenden Sie Ihren Algorithmus
mit n = 23 Hölzchen an und zeigen Sie, dass Sie gewinnen. Schreiben Sie Ihre Lösung
wie in Tabelle 1 auf.
Aufgabe 2: Rekursiver Algorithmus
Die Quersumme einer natürlichen Zahl kann rekursiv definiert werden durch:
a) Die Quersumme einer Ziffer ist der Wert der Ziffer.
Die Quersumme einer mehrstelligen Zahl ist der Wert der letzten Ziffer plus die
Quersumme der Zahl, die man erhält, wenn man die letzte Ziffer abschneidet.
Entwickeln Sie einen rekursiven Algorithmus. Verwenden Sie explizit das aus der Vorlesung
bekannte Schema zur Entwicklung rekursiver Funktionen, und notieren Sie den Algorithmus
als Funktion in Pseudocode.
Hinweise:
- Die Funktion hat keine Ausgabe („drucke…“), und liefert die Quersumme als Ergebnis
zurück (return).
Sie können einfache Funktionen zum Manipulieren von Zahlen verwenden, z.B. letzte-
Ziffer: liefert die letzte Ziffer, restlicheZiffern: liefert die Zahl, die nach dem Ab-
schneiden der letzten Ziffer entsteht.
letzteZiffer(1459) = 9
restlicheZiffern(1459)=145
Aufgabe 3: Iteration und Rekursion
Die Multiplikation zweier Natürlicher Zahlen kann folgendermaßen definiert werden:
Entwickeln Sie zwei Funktionen in Pseudocode für die Multiplikation, die ohne die Multiplika-
tions-Operation auskommen:
a * b = a + (a * (b-1)), falls b > 1
a , falls b = 1
a) Schreiben Sie eine rekursive Funktion in Pseudocode für diese Art der Multiplikation;
nummerieren Sie die Zeilen der Funktion durch.
Notieren Sie den Ablauf für die Multiplikation von 3 und 4 in einem Protokoll. Das
Protokoll besteht aus Zeilen, in denen Sie notieren
- die laufende Nummer des Aufrufes,
- die Zeilennummer,
- die Operation, die ausgeführt wird (wobei Variable durch deren Wert ersetzt
werden) mit derem Ergebnis,
- ein Hinweis, wo das Ergebnis weiter verwendet wird (z.B. textuell durch Auf-
rufnummer/Zeilennummer, oder graphisch durch einen Pfeil).
- Notieren Sie nur die Zeilen für die rekursive oder terminierende Verarbeitung.
c) Schreiben Sie eine iterative Funktion in Pseudocode für diese Art der Multiplikati-
on; nummerieren Sie die Zeilen der Funktion durch.
d) Notieren Sie den Ablauf für die Multiplikation von 3 und 4 in einem Protokoll. Das
Protokoll besteht aus Spalten (eine Spalte für die Zeilennummer und je eine Spalte
je Variable, die in Ihrem Algorithmus vorkommt). Legen Sie immer eine neue Zeile
an, wenn sich der Wert einer Variablen ändert. Markieren Sie die „Eingaben“ und
„Ausgaben“ Ihrer Funktion.
a , falls b = 1
bin für jeden tipp und jede hilfe dankbar!
Einstiegsgehalt und Chancen
in IT-Arbeitswelt
Geschrieben
Hallo Leute,
ich habe nun meine Ausbildung(FISI) abgeschlossen und werde zum Glück auch übernommen! Ich wollte euch aber einmal fragen mit welchem Gehalt man einsteigen kann. Ich wohne in BW im Ballungsraum Rhein-Neckar und bräuchte 2200€ Brutto um normal über die Runden zu kommen, ist dies überhaupt noch realistisch? Hierzu komme ich auf meine frage mit den Chancen, ich habe die Ausbildung nach meinen abgebrochenen Informatik-Studium begonnen da es hier immer heißt es werden Fachkräfte benötigt und es gäbe tolle Zukunftsaussichten. Als ich nun zur Sicherheit auch Bewerbungen geschrieben habe ist mir aufgefallen das es im IT-Bereich eine schwemme von Leiharbeitsfirmen gibt und auch das Gehaltsniveau sehr niedrig ist (bei Studentenjobs am Band habe ich wesentlich mehr verdient). Daher wollte ich fragen ob es auf dem Markt wirklich so schlecht aussieht und wie eure Erfahrungen sind. Diese Zukunftsaussichten die mir geboten wurden haben mich nämlich leicht verunsichert.
Viele Grüße