Решение:
Существует огромное количество решений данного задания, попробую рассказать самый простой. Пишем программу на QBasic (язык программирования для начинающих).
Прочитав задание, мы поняли, что нам необходимо вывести сумму всех чисел, которые кратны 6 и оканчиваются на 4. Результат вывести после того, как мы введём 0.
Кратно 6 - это говорит о том, что число делится на 6 без остатка.
Оканчивается на 4 - это значит делится на 10 и в остатке получаем 4.
Бывают задания, когда необходимо проверить чётное или нечётное число, мы просто делим на 2. Если остаток 0 - число чётное, остаток 1 - нечётное.
Прочитав задание, мы поняли, что нам необходимо вывести сумму всех чисел, которые кратны 6 и оканчиваются на 4. Результат вывести после того, как мы введём 0.
Кратно 6 - это говорит о том, что число делится на 6 без остатка.
Оканчивается на 4 - это значит делится на 10 и в остатке получаем 4.
Бывают задания, когда необходимо проверить чётное или нечётное число, мы просто делим на 2. Если остаток 0 - число чётное, остаток 1 - нечётное.
Приступим :)
Не будем усложнять себе жизнь используя циклы. Вспомним давно забытый оператор GOTO.
Первое, что необходимо сделать, это программу которая запрашивает у пользователя число, пока мы не введём 0.
CLS
1
INPUT A
GOTO 1
Вот такая маленькая программа. Разберём, что это за конструкция.
CLS - очистка экрана от предыдущих данных.
1 - это специальная метка, к которой мы будем возвращаться.
INPUT - оператор ввода данных с клавиатуры. После оператора (через пробел), мы указали переменную A, в которую запишется значение, которое ввёл пользователь.
GOTO 1 - оператор безусловного перехода в определённой метке, в нашем случае мы переходим к метке 1.
GOTO 1 - оператор безусловного перехода в определённой метке, в нашем случае мы переходим к метке 1.
Итак, мы получаем чистый экран. На экране появляется знак вопроса, мы вводим значение, которое записывается в переменную A. Последний оператор опять возвращает нас к метке 1 и ввод данных повторяется. Если запустить эту программу на исполнение (F5), мы получим программу, которая постоянно будет спрашивать у нас ввод значения и никогда не остановится.
Остановим программу, если пользователь ввёл 0. Для этого, сразу после ввода значения, проверим, что ввёл пользователь и если это 0, остановим программу.
IF A=0 THEN STOP
Что расшифровывается...
если (IF) переменная, которую ввёл пользователь равна 0, тогда (THEN) останови программу (END).
CLS
1
INPUT A
IF A=0 THEN END
GOTO 1
По условию задачи, необходимо вывести сумму всех чисел, которые удовлетворяют условию. Назовём эту переменную S и добавим вывод переменной S, после того, как мы ввели 0.
Вывод на экран осуществляет оператор PRINT.
CLS
S=0
1
INPUT A
IF A=0 THEN PRINT S:END
GOTO 1
Приступим к основной проверке. Собственно говоря, нас интересует оператор, который получит остаток при делении. Он называется MOD. Он делит одно число на другое и возвращает остаток (целое число).
S=0
1
INPUT A
IF A=0 THEN PRINT S:END
IF A MOD 6 = 0 AND A MOD 10 = 4 THEN S=S+A
GOTO 1
Разберём последнее условие подробно.
если (IF) наша переменная A (которую ввёл пользователь) делится (MOD) на 6 и в остатке получаем 0, и (AND) в тоже время, A делится на 10 и остаток равен 4, тогда добавим в переменную S, значение переменной A. Вот и вся программа. Поздравляю :)
Ответ:
Если в задании, необходимо подсчитать не сумму, а произведение, изменим первоначальное значение переменной S, S=1, иначе в ответе, всегда будет получать 0. И поменяем знак математической операции с "+", на "*" - умножение.