Vollständige Version anzeigen : Quiz #1 - Aufgabe #2 - Rechner


terraNova
30.01.2013, 17:45

Vorwort

Nach der letzten Aufgabe, die anscheinend wenig Anreiz geboten hat, soll nun eine - hoffentlich - interessantere Aufgabe für euch herhalten. Falls euch die Art der Aufgabe gefällt/missfällt dann lasst uns das wissen!

Wie immer gelten die üblichen Regeln, welche jedoch leicht abgeändert wurden, wenn es um die Verwendung von Bibliotheken geht.

Abgabe

Die Ergebnisse können bis zum 20;02;2013 um 18:00 abgegeben werden. Alle Lösungen die nach dieser Uhrzeit abgegeben werden, bekommen keine Punkte, werden allerdings trotzdem veröffentlicht (Die Lösung muss ja deswegen nicht schlecht sein).

Aufgabenstellung

Wie man schon am Titel erkennen kann, dreht es sich um einen Rechner. Genau genommen handelt es sich dabei um den Abakus (;;;benjaminwrightson~de/abakus/homepage;htm) (chin. Form)! Eine kleine Einweisung findet ihr weiter unten im Beitrag, oder aber auf der verlinkten Seite.

Eure Aufgabe ist es einen Abakus zu implementieren und ihn dann mit - von euch festgelegten - Tastenkombinationen/Eingaben zu steuern. Sollte der Benutzer einen mathematischen Ausdruck eingeben, so soll das Programm das Ergebnis in Form eines Abakus darstellen können.

Beispiel:

In diesem Beispiel wird der Abakus in Felder (7 Felder: a - g) aufgeteilt. Die Wertigkeit wird hinter dem Feldnamen angegeben. Die Formel, wenn es darum geht Steine eines Feldes mit einer Wertigkeit zu setzen wäre in diesem Fall <Anzahl der Steine> * <Feld><Wertigkeit> (z;B. 4 * a1, um 4 Steine aus dem Feld a [10^0] mit einer 1er-Wertigkeit zu setzen).

Weitere Beispiele (Das Feld wird um -90° gedreht, einfach um es besser darstellen zu können):


+---+------+
a |oo | ooooo|
b |oo | ooooo|
c |oo | ooooo|
d |oo | ooooo|
e |oo | ooooo|
f |oo | ooooo|
g |oo | ooooo|
+---+------+

Summe: 0

> 2*a5, 1*a1

+---+------+
a | oo|o oooo|
b |oo | ooooo|
c |oo | ooooo|
d |oo | ooooo|
e |oo | ooooo|
f |oo | ooooo|
g |oo | ooooo|
+---+------+

Summe: 11 = (5*2 + 1) * 10^0

> reset

Werte zurückgesetzt.

> ..;


Wie funktioniert ein Abakus?

Ein Abakus ist recht schlicht aufgebaut. Es gibt 7 Reihen mit 2 Spalten. Die obere Spalte hat 2 Steine mit je einer Wertigkeit von 5, die untere Spalte hat 5 Steine mit einer Wertigkeit von 1.

Wichtig hierbei ist, dass jede Reihe eine 10er-Potenz weiter geht, sodass die Wertigkeiten einer Reihe x addiert und dann mit der 10er-Potenz (aufsteigend von 0 bis 6) multipliziert werden. Setzen wir also in der 1. Reihe (10er-Exponent 0) einen Stein aus der unteren Reihe und 2 aus der oberen Reihe und einen Stein aus der oberen Reihe in der 2. Reihe (10er-Exponent 1), so ergibt sich folgender mathematischer Ausdruck:

((2*5 + 1) * 10^0) + ((1*5 + 0) * 10^1) = 61.

Bildlich dargestellt (Abakus):

+---+------+
a | oo|o oooo|
b |o o| ooooo|
c |oo | ooooo|
d |oo | ooooo|
e |oo | ooooo|
f |oo | ooooo|
g |oo | ooooo|
+---+------+


Wir wünschen euch viel Erfolg!

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Murdoc
03.02.2013, 00:05

Wer von euch macht noch alles mit?

Ich hatte so einige Fragen an terraNova, die wir in Jabber besprochen haben, daher stell ich die Frage einfach mal in den Raum, da sich hier niemad gemeldet hat.

Wer keine Lust auf diese Aufgabe hat, dem kann ich nur sagen, dass es sehr viel Spaß gemacht hat Ganze umzusetzen.


MasterJulian
03.02.2013, 00:16

Ich stecke diesmal nicht im Weihnachts-, sondern im Prüfungsstress ;). In wieweit ich mich der Aufgabe widmen kann, weiß ich noch nicht. Wenn ich ein bisschen Zeit finde, werde ich mir das aber auf jeden Fall genauer anschauen.


terraNova
03.02.2013, 00:25

Ich stecke diesmal nicht im Weihnachts-, sondern im Prüfungsstress ;). In wieweit ich mich der Aufgabe widmen kann, weiß ich noch nicht. Wenn ich ein bisschen Zeit finde, werde ich mir das aber auf jeden Fall genauer anschauen;

Deswegen habe ich dieses mal den Zeitraum zum Lösen der Aufgabe recht großzügig ausfallen lassen, da ich denke, dass es nicht jeder z;Z. leicht hat beim Prüfungsstress. ;)


xolox
04.02.2013, 10:29

Hallo,

ich kann dieses Mal leider auch nicht mitmachen.
Bin gut eingespannt momentan.

Allerdings hoffe ich, dass mehr als eine Lösung am Ende rauskommt :)

;Murdoc: In welcher Sprache hast du es umgesetzt?


Murdoc
04.02.2013, 16:07

In C und PHP ^^


terraNova
20.02.2013, 23:31

So, da heute um 18 Uhr der letzte Termin war um seine Arbeit abzugeben und nur eine Person mitgemacht hat, wird der Contest hiermit beendet. Anscheinend lohnt es sich nicht mehr Umfragen zu machen, schade.


Murdoc
20.02.2013, 23:38

Schade, hat aber Spaß gemacht ...


Ähnliche Themen zu Quiz #1 - Aufgabe #2 - Rechner
  • [Quiz] Führerschein Quiz Schaffst du ihn noch?
    Hoi also bin da heute morgen drüber gestolpert. Und ich fands ganz lustig mnal davon abgesehn das ich keinen Besitze^^ Vllt. könnt ihr ja euer ergebnis hier posten. LOLL: Führerschein Quiz - MSN Auto (;fahrschulquiz;msn~de/main/choose?pkq=msn%20f%C3%BChrerscheinquiz&ocid=gmgoseau016) HF bat [...]

  • Quiz #1 - Aufgabe #1 - Datenverwaltung
    Vorwort Wir möchten jeden ermutigen sich mit den Aufgaben zu beschäftigen und auch unfertige Lösungen zu den Teilaufgaben 2 bzw. 3 einzusenden. Das Ziel besteht darin möglichst viele Ansätze zu haben über die wir uns im Anschluss austauschen können. terraNova und ich haben uns Mühe gegeb [...]

  • [C] Quiz #1 - Aufgabe #2 - Rechner
    Ich habe die Aufgabe in C gelöst. Zum auswerten von mathematischen Ausdrücken habe ich den Shunting-yard Algo* genutzt, zu finden in der Datei term;c. Das Programm muss mittels -std=c99 oder -std=c11 übersetzt werden. Ein Makefile ist nicht enthalten, da ich mit für diesen Zweck PHP zu eigen m [...]



raid-rush.ws | Imprint & Contact pr