Решение задачи №5 из главы 10
Primary tabs
Задача №5 из главы 10
Выведите на экран, все четные числа от 35 до 117 и нечетные числа, лежащие в диапазоне от 45 до 99.
Указание: сначала можно решить задачу двумя циклами, но потом перепишите с использованием одного цикла, в теле которого составьте логическое выражение, описывающее подходящие числа (используйте логические операции).
Решение №1 (решаем двумя циклами)
var i:integer; //объявляем переменную счетчика begin writeln('Vyvodim na ekran vse chetnye chisla ot 35 do 117'); for i:=35 to 117 do // цикл по [35..117] if ((i mod 2) = 0) then // выводим все четные числа write(i, ' ');//выводим в одну строку через пробел writeln(); writeln('Vyvodim na ekran vse nechetnye chisla ot 45 do 99'); for i:=45 to 99 do // цикл по [45..99] if ((i mod 2) = 1) then // выводим все четные числа write(i, ' ');//выводим в одну строку через пробел readln(); // удерживаем консоль end.
Решение №2 (решаем одним циклом)
var i:integer; begin for i:=35 to 117 do // цикл по диапазону [35..178] begin if ((i >= 45) AND (i <= 99) // если принадлежит отрезку [45..99] AND ((i mod 2) = 1)) then // и если не четные write(i, ' ') else //четные числа if ((i >= 35) // если принадлежит отрезку [35..117] AND ((i mod 2) = 0)) then // и если четное write(i, ' ') end; readln(); end.
- Log in to post comments
- 5833 reads
vedro-compota
Sat, 07/21/2018 - 23:19
Permalink
замечания
первое решение принято.
Во второму решению:
условие (в блоке else if)
лишнее. Объясните почему и приведите в комментарии более оптимальное решение.
_____________
матфак вгу и остальная классика =)
gani84
Sun, 07/22/2018 - 11:13
Permalink
Исправлено
Да мы тут используем уже целый диапазон получается
((i >= 35) потому что он задан в начале
for i:=35 to 117 do // цикл по диапазону [35..178]
vedro-compota
Tue, 09/25/2018 - 20:26
Permalink
теперь верно, решение
теперь верно, решение засчитано.
_____________
матфак вгу и остальная классика =)