Решение задачи №2 из главы 10
Primary tabs
Решение задачи №2 из главы 10
Пользователь вводит целое число, если оно больше единицы, то выведите на экран все целые числа от этого числа до единицы (в обратном порядке), которые делятся на 5 без остатка. Иначе (если введённое пользователем число не больше единицы) сообщите об ошибке.
var a,i:integer; //объявляем переменную счетчика begin writeln('vvedite chislo'); readln(a); if ((a mod 5) = 0) and (a > 1) then for i:=a downto 1 do // i пройдёт значения от i до 64 write(i, ' ')//выводим в одну строку через пробел else write('Ochibka'); readln(); // удерживаем консоль end.
- Log in to post comments
- 22658 reads
vedro-compota
Mon, 07/09/2018 - 14:13
Permalink
момент
просьба не писать сюда текст задачи, пока нет решения. Один раз мне уже пришлось подобный текст удалять (вы просто создали новый пост, когда решение появилось)
_____________
матфак вгу и остальная классика =)
vedro-compota
Tue, 07/10/2018 - 14:51
Permalink
if ((a mod 5) = 0) and (a >
это неверно, точнее не все на своих местах.
_____________
матфак вгу и остальная классика =)
gani84
Fri, 07/13/2018 - 07:12
Permalink
Переделал но результат не совсем тот
vedro-compota
Fri, 07/13/2018 - 14:45
Permalink
но результат не совсем тот
почему не тот? Решение теперь в приципе верное. Теперь делимость проверяется уже внутри цикла -- что соответствует условию.
_____________
матфак вгу и остальная классика =)
vedro-compota
Fri, 07/20/2018 - 20:18
Permalink
почему вы считаете что
почему вы считаете что результат не тот?
_____________
матфак вгу и остальная классика =)
gani84
Sat, 07/21/2018 - 06:33
Permalink
например я ввожу число 10
например я ввожу число 10
тогда он мне выводит:
vvedite celoe chislo
10
10 10 10 10 10 10 10 10 10 10
Хотя логика и алгоритм все правильно!!!
vedro-compota
Sat, 07/21/2018 - 23:13
Permalink
да вы правы, решение неверное
да вы правы, решение неверное. У вас выводится не то что надо .Какая переменная изменяется в цикле по вашему?
_____________
матфак вгу и остальная классика =)
gani84
Sun, 07/22/2018 - 10:28
Permalink
Решил но...
Теперь все решил но не выполняется условие if ((a mod 5) = 0) then не могу понять почему??
ИЛИ
vedro-compota
Sun, 08/26/2018 - 15:29
Permalink
ответьте на вопрос выше - -вы
ответьте на вопрос выше - -вы не ответили:
_____________
матфак вгу и остальная классика =)
gani84
Fri, 09/28/2018 - 09:06
Permalink
Решил и все исправил!!!
gani84
Fri, 09/28/2018 - 09:32
Permalink
Еще один альтернативный вариант
vedro-compota
Sun, 09/30/2018 - 17:11
Permalink
второе решение хорошее, но ответьте на вопрос
Ваши два последние решения делают не совсем одно и то же почему? в чем отличие?
1)
2)
_____________
матфак вгу и остальная классика =)
gani84
Mon, 10/01/2018 - 07:09
Permalink
Ответ
В первой задаче: Есть первая отдельная ветка if которая проверяет больше ли число 1. Если оно меньше то оно прерываться в первой ветке. Если нет то она продолжает делать только уже во второй if.
Во второй задаче: Он выполняет последовательно все условия и только потом через else дает знать что иначе если оно меньше единицы то программа прерывается.
vedro-compota
Thu, 10/04/2018 - 23:25
Permalink
не совсем так
не совсем так.
_____________
матфак вгу и остальная классика =)
gani84
Fri, 10/05/2018 - 12:47
Permalink
Ответ
Если оно меньше то выполняется условие
if (a writeln('oshibka!');
и программа выводит ошибка и ждет нажатия клавишы. Так как переходит в readln();
Но если введенное число больше 1 то выполняется вторая ветка if.
vedro-compota
Sat, 10/13/2018 - 18:00
Permalink
разница не в этом
разница не в этом, я переформулирую вопрос, чтобы вам было понятнее, вот есть код:
тут не все правильно, если значение, когда на экране не появится вообще ничего. Какое оно?
(второе решение избавлено от этого недостатка)
_____________
матфак вгу и остальная классика =)
gani84
Tue, 10/16/2018 - 11:12
Permalink
Исправил
Понял это число 1 исправил
vedro-compota
Tue, 10/16/2018 - 12:40
Permalink
Понял это число 1 исправил
да, всё верно, задача засчитана.
_____________
матфак вгу и остальная классика =)
nglag
Wed, 06/30/2021 - 11:08
Permalink
Добрый день!
Добрый день!
Если добавить в строке 9 логический оператор - вот так: if (a>1)AND((i mod 5) = 0) then ,
то строку 7 можно не писать. Так?
vedro-compota
Sun, 07/11/2021 - 13:57
Permalink
так получим дублирование
так получим дублирование проверки
_____________
матфак вгу и остальная классика =)