2016-07-12 2 views
-2

В этом упражнении вы свернете пару кубиков, пока цифры не составят заданное число. Вы можете предположить, что данное число равно 2, 3, 6 или 12. Используя псевдокод, напишите алгоритм, который возвращает число раз, когда кости были свернуты для достижения этого числа.Алгоритм псевдокодной кости, нуждаются в некоторой догадке

У меня нет абсолютно никакой идеи, как начать делать это. Можете ли вы немного мне помочь?

И что означает последнее предложение?

+2

Никто не собираюсь написать код для вас - начните с чего-то - тогда покажите свою попытку - вы получите гораздо больше помощи, показывая усилие – dbmitch

ответ

1

Это должно заставить вас начать. Деталь, которую требует назначение, вероятно, один или два уровня, уточненные здесь. Например, что означает «ролл умирать». Возможно, что-то делать с сохранением случайного числа какой-то на переменную ....

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

Прежде всего позвольте мне Ваш вопрос о последнем предложении проблемы:

Я сломаю его вниз по частям.

Первый псевдокод - это упрощение шагов, которые вам необходимо предпринять для решения проблемы в формате, который является очень представительным для кода, но не является фактическим кодом, написанным на любом языке программирования. Для примера псевдокод может быть что-то вроде этого:

if the earlier result is 2 then 
    use this list: Britney, Caitie, Sierrah 
else 
    use this other list: Brooke, Josh, Zach 

Во-вторых алгоритм представляет собой набор правил, а затем при расчете или решения проблемы. Это как формула для решения проблемы. Некоторые примеры каждодневные могут быть:

  • дороге домой: какой маршрут вы должны принять? Будет ли трафик на самом коротком маршруте? Если да, то это замедлит вас, а не займет немного больше времени? Это все вопросы, которые будут заданы в алгоритме.
  • Сортировка: Обычно, когда вы что-то сортируете, вы делаете это определенным образом, даже если вы не можете это осознать, например, проверить каждый и вытащить первый из кучи и поместить его сверху, а затем второй и затем третий и т. д. и т. д.
  • Разделение и завоевание: Это еще один очень распространенный алгоритм в повседневной жизни.

Дополнительные примеры проверить this quora post

Итак, другими словами, последнее предложение просит вас написать упрощение шагов, которые вам нужно будет предпринять, чтобы рассчитать количество рулонов в кости его чтобы получить эти два кубика, чтобы добавить к данному числу.

Теперь, когда это вне пути, позволяет решать актуальную проблему

Для начала, вам придется запустить какое-то петля (возможно использовать делать-то время как цикл?), И, вероятно, лучше сделать это внутри своего рода метода.Вам нужно иметь счетчик, если ваши кости не добавить к целевому рулону снова и увеличивают счетчик, пока ваш крен не добавляет к цели, а затем вернуть это значение счетчика

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 - отличный способ обнаружить (и исправить) недостатки, например, что произойдет, если ваш первый бросок кости (за пределами вашего времени) попал в цель? :-) – JonSG

+0

Извините, но в комментарии fjoo очень сложно следовать, добавьте его на свой вопрос, и я могу обновить свой ответ. И хорошо поймать @JonSG спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^