2016-07-12 14 views
-2

In dieser Übung würfeln Sie ein Würfelpaar, bis sich die Zahlen zu einer bestimmten Zahl addieren. Sie können davon ausgehen, dass es sich bei der gegebenen Zahl um 2, 3, 6 oder 12 handelt. Schreiben Sie mit Pseudocode einen Algorithmus, der die Anzahl der Würfe zurückgibt, mit denen diese Zahl erreicht wird.Pseudocode-Würfel-Algorithmus, benötigt einige Anweisungen

Ich habe absolut keine Ahnung, wie ich damit anfangen soll. Kannst du mich ein bisschen führen?

Auch was bedeutet der letzte Satz?

+2

Niemand ist werde deinen Code für dich schreiben - beginne mit etwas - zeige dann deinen Versuch - du wirst viel mehr Hilfe bekommen, indem du eine Anstrengung zeigst – dbmitch

Antwort

1

Dies sollte Ihnen den Anfang machen. Die Details, die die Aufgabe erfordert, sind wahrscheinlich ein oder zwei Ebenen, die von hier aus verfeinert werden. Was bedeutet zum Beispiel "Würfel rollen"? Wahrscheinlich etwas zu tun mit einer Zufallszahl von einer Art auf eine Variable Speichern ....

define rollRequiredForA(target) { 
    if target is not an integer or is outside the valid bounds abort 

    initialize a counter to 0 

    loop 
     increase the counter by one 
     roll two dice 
     add results together 
     if the result equals target return counter 
    end loop 
} 
1

Lassen Sie mich zuerst richten Sie Ihre Frage nach dem letzten Satz des Problems:

Ich werde es brechen in Teilen.

Der erste Pseudocode ist eine Vereinfachung der Schritte, die Sie zur Lösung eines Problems in einem Format ausführen müssen, das sehr repräsentativ für Code ist, aber kein in irgendeiner Programmiersprache geschriebener Code ist.

bei der Berechnung oder der Lösung eines Problems
if the earlier result is 2 then 
    use this list: Britney, Caitie, Sierrah 
else 
    use this other list: Brooke, Josh, Zach 

Zweitens ist ein Algorithmus eine Reihe von Regeln zu beachten: Zum Beispiel Pseudo-Code so etwas wie dies sein könnte. Es ist wie eine Formel, um ein Problem zu lösen. Einige alltägliche Beispiele könnten sein:

  • Heimfahrt: Welche Route sollten Sie nehmen? Wird es auf der kürzesten Route Verkehr geben? Wenn ja, wird es Sie langsamer machen als eine etwas längere Route? Dies sind alles Fragen, die in einem Algorithmus gestellt werden.
  • Sortierung: Normalerweise, wenn Sie etwas sortieren, tun Sie es auf eine bestimmte Weise, auch wenn Sie es möglicherweise nicht erkennen, wie jeder prüfen und zieht die erste aus dem Stapel und legte sie auf und dann die zweite und dann der dritte und so weiter und so fort.
  • Teilen und erobern: Dies ist ein weiterer sehr häufiger Algorithmus im Alltag.

Weitere Beispiele Besuche this quora post

Also mit anderen Worten, der letzte Satz zu fragen Sie eine Vereinfachung der Schritte zu schreiben, die Sie die Menge der Rollen des Würfels zu nehmen brauchen würden zu berechnen es nimmt, um diese beiden Würfel zu der angegebenen Zahl zu addieren.

Jetzt, dass aus dem Weg, so lässt sich das eigentliche Problem

angehen Sie begonnen zu erhalten, werden Sie irgendeine Art von Schleife laufen haben (vielleicht eine do-while-Schleife?), Und wahrscheinlich Am besten, es innerhalb einer Methode zu machen.Sie benötigen einen Zähler haben, wenn Ihre Würfel wieder auf die Zielrolle nicht addieren und die Zähler erhöhen, bis die Rolle bis zum Ziel hinzufügt, dann wieder den Wert des Zählers

define rolls needed(target) 

    initialize counter as 0 
    initialize sum 

    do this loop 
     increase your counter 
     roll your dice 
     add results together 
    while sum does not equal target 

    return your counter 
end 
+1

pcode ist eine großartige Möglichkeit, Fehler zu entdecken (und zu korrigieren), wie zum Beispiel was passieren würde Dein erster Wurf (außerhalb deiner Weile) trifft das Ziel? :-) – JonSG

+0

Es tut mir leid, aber das ist sehr schwer zu folgen in einem Kommentar fjoo, fügen Sie es zu Ihrer Frage hinzu, und ich kann meine Antwort aktualisieren. Und guten Fang @ JonSG danke! –