tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
670
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    candybabe candybabe ist offline Grünschnabel
    Registriert seit
    May 2009
    Beiträge
    2
    Hallo, ich muss ein Hamsterprogramm programmiereb, komme aber einfach nicht weiter. Ich verstehe allgemein nicht was ich machen muss und wie man das mit den variablen und java handeln muss.
    ich hoffe ihr könnt mir helfen. danke
    _______________

    Der Hamster hat eine ihm unbekannte Zahl Körner im Maul.
    Er soll feststellen, wie viele Körner das sind und dann auf die Felder einer Spalte eine Anzahl Körner legen, die der entsprechenden Stelle der Zahl entspricht.
    Hat er zB 523 Körner im Maul, so sollte er in der 1. Spalte (Hunderterstelle) 5, in der 2. Spalte (Zehnerstelle) 2 und in der 3. Spalte (Einerstelle) 3 Körner untereinander legen.
    Das Programm soll für beliebige ein, -zwei- oder dreistelligen Zahlen funktionieren.

    Das feld besteht aus 3 Spalten und 10 zeilen, der Hamster befindet sich am Anfang in der oberen, linken Ecke mit Blcikrichtung Ost. In der 1. Spalte liegen also die Körner, die der Hunderterstelle entsprechen, in der 2. die der Zehnerstelle und in der 3., die der Einerstelle.
    Bei wenigen Körnern sind also nicht alle Spalten belegt.

    GRUNDIDEE

    Zunächst muss der Hamster ermitteln, wie viele Körner er im Maul trägt. Dazu kann er, solange Körner im Maul sind, diese herauslegen und dabei mit einer Variablen die Körner zählen.
    Dazu muss man die neue Variable am Programmanfang einfügen und festlegen
    zB. int a = 0;
    Nach jedem abgelegtem Korn wird dann zu a eine 1(eins) addiert und damit die Körnerzahl gezählt
    zB a = a+1;
    bedeutet, dass das neue a gleich dem alten a+1 ist.
    Dann nimmt der Hamster die Körner wieder auf. Nun muss er sich mit Mathematik beschäftigen, denn er muss die Ziffern an der Hunderter/Zehner/Einersetlle berechnen.
    Beispiel: 523/100= 5 Rest 23 523-5*100=23
    23/10= 2 Rest 3 23-2*10=3
    Das Zeichen für die ganzzahlige Division ist Java.
    Also: erg = 523/100 liefert Java den Wert 5, der in der variablen erf gespeichert ist.
    das Zeichen zur Ermittelung des Restes bei der ganzzahligen Division ist %.
    Also: rest = 523%100 liefert in Java den Wert 23, der in der Variablen rest gespeichert ist,
    Man muss darauf achten, dass man diese Variablen am Programmanfang festlegt:
    int erg; int rest;
    Wenn der Hamster mehr als 99 Körner im Maul hat, beginnt er also mit der Division druch 100.
    Hat er mehr als 9, aber weniger als 100 Körner im Maul, beginnt er mit der Division durch 10, sonst braucht er nicht zu rechnen.
    Mehr als 9 UND weniger als 100 -> x>9&&x<100
    ________________________
     

  2. #2
    Avatar von DosCoder
    DosCoder DosCoder ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Kreis Würzburg(Bayern)
    Beiträge
    228
    Zitat Zitat von candybabe Beitrag anzeigen
    wie man das mit den variablen und java handeln muss
    Hi, dir ist schon klar, das du da ins falsche Forum gerutscht bist?
    Außerdem erkärst du UNS, wie Java funtioniert, hast aber gleichzeitig eine Frage?
    So wie du dich mit Java auszukennen scheinst, hast du doch sicher schon ein bisschen Code geschrieben. Kannst du den mal posten, denn (fast) keiner hat hier Lust am Samstagabend noch ein ganzes Hamsterprgamm zu schreiben.
    Ciao
    DosCoder
     
    Man kann mich für das verantwortlich machen, was ich hier schreibe, nicht für das, was andere verstehen.

    Sollte ich mal Mist labern weist mich bitte darauf hin.

    Ich freue mich über ein Danke, wenn ich helfen konnte!

  3. #3
    Avatar von port29
    port29 port29 ist offline deus.Server
    Registriert seit
    Dec 2001
    Ort
    Karlsruhe, Germany, Germany
    Beiträge
    856
    Und was genau ist jetzt deine Frage?

    Die Grundfunktionen könnte man in einem 5min / ca. 7 Zeilen Programm schreiben...
     

  4. #4
    candybabe candybabe ist offline Grünschnabel
    Registriert seit
    May 2009
    Beiträge
    2
    mein programm das ich erstellt habe, lautet

    _____

    void main() {
    int a=0;
    int erg, rest;
    while(!maulLeer()){
    gib();
    a=a+1;
    }
    while(kornDa())
    nimm();
    erg=a/100;
    rest=a%100;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();linksUm();
    while(vornFrei()){
    vor();
    }
    linksUm();linksUm();linksUm();
    vor();

    erg=rest/10;
    rest=rest%10;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();linksUm();
    while(vornFrei()){
    vor();
    }
    linksUm();linksUm();linksUm();
    vor();

    erg=rest;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();
    linksUm();
    while(vornFrei()){
    vor();}
    linksUm();
    linksUm();
    linksUm();
    }
    ___


    mein programm das ich erstellt habe, lautet

    _____

    void main() {
    int a=0;
    int erg, rest;
    while(!maulLeer()){
    gib();
    a=a+1;
    }
    while(kornDa())
    nimm();
    erg=a/100;
    rest=a%100;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();linksUm();
    while(vornFrei()){
    vor();
    }
    linksUm();linksUm();linksUm();
    vor();

    erg=rest/10;
    rest=rest%10;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();linksUm();
    while(vornFrei()){
    vor();
    }
    linksUm();linksUm();linksUm();
    vor();

    erg=rest;

    linksUm();linksUm();linksUm();
    for(int i=0;i<erg;i++){
    gib();
    vor();
    }
    linksUm();
    linksUm();
    while(vornFrei()){
    vor();}
    linksUm();
    linksUm();
    linksUm();
    }
    ___

    ich habe das mit den variablen jetzt schon verstanden, nun möchte ich wissen, wie ich x>9&&x<100 im programm unterbringen soll, denn die aufgabenstellung lautete ja :
    Wenn der Hamster mehr als 99 Körner im Maul hat, beginnt er also mit der Division druch 100.
    Hat er mehr als 9, aber weniger als 100 Körner im Maul, beginnt er mit der Division durch 10, sonst braucht er nicht zu rechnen.
    Mehr als 9 UND weniger als 100 -> x>9&&x<100
     

  5. #5
    Avatar von port29
    port29 port29 ist offline deus.Server
    Registriert seit
    Dec 2001
    Ort
    Karlsruhe, Germany, Germany
    Beiträge
    856
    Zitat Zitat von candybabe Beitrag anzeigen
    Hat er mehr als 9, aber weniger als 100 Körner im Maul, beginnt er mit der Division durch 10, sonst braucht er nicht zu rechnen.
    Mehr als 9 UND weniger als 100 -> x>9&&x<100
    Sorry, habe gerade wenig Zeit, werde mich also kurz halten müssen. Zunächst einmal: Es gibt im Forum eine Quellcode Funktion. So kann man deinen Code nicht lesen.

    Es ist doch eigentlich egal, wo du genau die Abfragen in dem Programm hinsetzt, solange die funktionieren. Ich (als Programmierer) bin mir allerdings überhaupt nicht sicher, ob du das überhaupt brauchst. Ich würde einfach das Programm mit der 100er Teilung laufen lassen. Wenn da keine Hunderter drin sind, dann hast du eben als Ergebnis 0 hunderter
     

Ähnliche Themen

  1. Hilfe beim Hamsterprogramm
    Von Twing im Forum Java
    Antworten: 4
    Letzter Beitrag: 16.10.08, 06:13
  2. Hilfe zu Hausaufgabe (Hamsterprogramm)
    Von Peregrin im Forum Java
    Antworten: 2
    Letzter Beitrag: 13.12.04, 19:15