Member 12758770 Ответов: 2

Может ли кто-нибудь объяснить, что делает этот алгоритм?


set count1 = 0
set count2 = 0
read number

while read was successful do
      if number mod 2 equals 0
      then
            set count1 = count1 + 1
      otherwise
      if number div 7 equals 0
      then
            set count2 = count2 + 1
read number
write count1
write count2


Что я уже пробовал:

Я попытался использовать случайное число, чтобы посмотреть, смогу ли я его вычислить, но что произойдет, если число Mod 2 или Div 7 не будет = 0?

Значит, по какой-то причине есть второй входной номер? Извините, я совсем новичок во всем этом.

[no name]

"можно было бы понять это, но что произойдет, если число Mod 2 или Div 7 не будет = 0?", и? Что вы выяснили?
- Значит, по какой-то причине существует второй входной номер? Ну и что, если есть второй вход? Вот для чего нужны переменные count.
"Извините, я очень Новичок во всем этом", - тем больше причин для вас обратить внимание на уроке.

Member 12758770

Спасибо Вам за ответ. Вот где я застрял, я не могу понять, почему существует второе входное значение и что должен делать алгоритм, если число не равно 0. Я думаю, что выяснение этого может дать мне ключ к пониманию того, что на самом деле делает алгоритм в целом.

Даже одна зацепка была бы очень ценна.

[no name]

Второй вход не имеет значения. Почему не должно быть второго входа? Или третий? 4-й? Это не проверка, если число не равно 0. Он проверяет, равен ли модуль входного сигнала нулю.

2 Ответов

Рейтинг:
2

CPallini

Подсказка

if number mod 2 equals 0
      then
         set count1 = count1 + 1


считает четные (точно делимые на два) числа (потому что, знаете ли, если напоминание возвращает ноль, то дивиденд точно делится на делитель).


Рейтинг:
1

David_Wimbley

Моя интерпретация в комментариях ниже

// Инициализируем переменные и параметр на 0, то он появится
set count1 = 0
набор счетчик2 = 0

// Чтение пользовательского ввода
прочитанный номер


//A while / do loop saying as long as the gathering of the user input was successful, продолжайте с кодом ниже
в то время как чтение было успешным сделать

// Говоря, если введенное число делится на 2, если остаток равен 0... прирост count1 по 1
если число mod 2 равно 0
затем
set count1 = count1 + 1
иначе

// Кажется, что-то еще, если еще заявление
// Говорит, если число % 2 != 0 - & gt; смотрите, если число, деленное на 7, равно 0. Я не уверен, что это означает-модуль или деление
// Если число / 7 == 0, то увеличьте число count2 на 1.
если количество дел 7 равен 0
затем
набор счетчик2 = счетчик2 + 1

Я предполагаю, что это поддерживает цикл while/do, поэтому здесь Вы читаете другое число и снова запускаете его через этот процесс
прочитанный номер

// Покажите количество ваших переменных, я полагаю, как только цикл while / do будет разорван, не вводя пользовательский ввод
напишите count1
напишите счетчик2