Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 伪码骰子算法,需要一些指导_Javascript_Pseudocode - Fatal编程技术网

Javascript 伪码骰子算法,需要一些指导

Javascript 伪码骰子算法,需要一些指导,javascript,pseudocode,Javascript,Pseudocode,在本练习中,您将掷一对骰子,直到数字相加为给定数字。您可以假设给定的数字是2、3、6或12。使用伪代码,编写一个算法,返回掷骰子达到该数字的次数 我完全不知道如何开始这样做。你能给我引路吗 最后一句话是什么意思?这应该让你开始学习。任务要求的细节可能会从这里细化到一到两个级别。例如,“掷骰子”是什么意思。可能与将某种随机数保存到变量有关 define rollRequiredForA(target) { if target is not an integer or is outside

在本练习中,您将掷一对骰子,直到数字相加为给定数字。您可以假设给定的数字是2、3、6或12。使用伪代码,编写一个算法,返回掷骰子达到该数字的次数

我完全不知道如何开始这样做。你能给我引路吗


最后一句话是什么意思?

这应该让你开始学习。任务要求的细节可能会从这里细化到一到两个级别。例如,“掷骰子”是什么意思。可能与将某种随机数保存到变量有关

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
}

首先让我谈谈你关于问题最后一句的问题:

我会把它分成几个部分

第一个伪代码是对解决问题所需步骤的简化,其格式非常能代表代码,但不是用任何编程语言编写的实际代码。例如,伪代码可以是这样的:

if the earlier result is 2 then
   use this list: Britney, Caitie, Sierrah
else
   use this other list: Brooke, Josh, Zach 
其次,算法是计算或解决问题时要遵循的一组规则。这就像一个解决问题的公式。一些日常例子可以是:

  • 开车回家:你应该走什么路线?最短的路线会有交通吗?如果是这样的话,它会比走稍长一点的路线更慢吗?这些都是在算法中会被问到的问题
  • 排序:通常,当你对某物进行排序时,你会以一种特定的方式进行排序,即使你可能没有意识到这一点,比如检查每一个,然后从堆中取出第一个,放在上面,然后再放第二个,再放第三个,等等
  • 分而治之:这是日常生活中另一种非常常见的算法
有关更多示例,请查看

换句话说,最后一句话是要求你写一个简化的步骤,你需要采取这些步骤来计算骰子的卷数,这两个骰子加起来就是给定的数字

现在,这已经不存在了,让我们来解决实际问题

要开始,您必须运行某种循环(可能使用do while循环?),最好在某种方法中运行。如果你的骰子没有再次累积到目标掷骰,你需要有一个计数器,并增加计数器直到你的掷骰累积到目标掷骰,然后返回计数器值

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

没有人会为你编写代码-从某件事开始-然后展示你的尝试-通过展示effortpcode是发现(并纠正)缺陷的好方法,你会得到更多的帮助,例如,如果你的第一轮骰子(在你的时间之外)击中目标,会发生什么?:-)我很抱歉,但这是很难遵循的评论fjoo,添加到您的问题,我可以更新我的答案。很好的接球@JonSG谢谢!