Программирование циклических алгоритмов Цикл – это команда исполнителю многократно повторить указанную последовательность команд. Три основных типа циклов : • Цикл с предусловием - while (цикл-ПОКА) • Цикл с постусловием - repeat (цикл-ДО) • Цикл с заданным числом повторений - for (цикл с параметром) Программирование циклов с заданным условием продолжения работы Цикл с предусловием – пока истинно условие цикла, выполняется тело цикла. Цикл с заданным условием продолжения работы (цикл-ПОКА) программируется в языке Паскаль с оператора while. Общий вид оператора: • while <условие> do <оператор> Здесь: • <условие> — логическое выражение; пока оно истинно, выполняется тело цикла; • <оператор> — простой или составной оператор, с которого записано тело цикла. условие тело цикла ДА НЕТ Запишем на языке Паскаль алгоритм получения частного q и остатка г от деления целого числа х на целое число у без использования операции деления. program ostatok; var х, у, q, r: integer; begin writeln (’Частное и остаток’); write ('Введите делимое х-> ’) ; readln (х); write (’Введите делитель у->’); read (у); r:=х; q:=0; while r>=y do begin r:=r-y; q:=q+l end; writeln ('Частное q=’, q); writeln (’Остаток r=’, r) end. Программирование циклов с заданным условием окончания работы. Цикл с постусловием – тело цикла выполняется до удовлетворения условия. Цикл с заданным условием окончания работы (цикл-ДО) программируется в языке Паскаль с оператора repeat. условие тело цикла ДА НЕТ Общий вид оператора: repeat <оператор1; оператор2;… > until <условие> Здесь: <оператор1>; <оператор2>; ...- операторы,образующие тело цикла; <условие> — логическое выражение; если оно ложно, то выполняется тело цикла. Необходимо решить задачу: Спортсмен приступает к тренировкам по следующему графику: в первый день он должен пробежать 10 км; каждый следующий день следует увеличивать дистанцию на 10% от нормы предыдущего дня. Как только норма достигнет или превысит 25 км, необходимо прекратить её её увеличение и далее пробегать ежедневно ровно 25 км. Начиная с какого дня спортсмен будет пробегать 25 км? Запишем на языке Паскаль алгоритм решения задачи о графике тренировок спортсмена. program sportsmen; var i: integer; х: real; begin writeln('График тренировок'); i:=1; x:=10; repeat i:=i+l; x:=x+0.1*x; until x>=25; writeln (’Начиная с ‘ , i, ‘ –го дня спортсмен будет пробегать 25 км’) end. Программирование циклов с заданным числом повторений Цикл с заданным числом повторений (цикл-ДЛЯ) программируется в языке Паскаль с оператора for. Его общий вид: for <параметр>:=<начальное_значение> to <конечное_значение> do <оператор> Здесь: <параметр> — переменная целого типа; <начальное_значение> и <конечное_значение> — выражения того же типа, что и параметр, вычисляемые перед началом цикла; <оператор> — простой или составной оператор — тело цикла. При выполнении этого оператора после каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условием выхода из цикла является превышение параметром конечного значения. Запишем на языке Паскаль алгоритм вычисления степени с натуральным показателем п для любого вещественного числа а. program stepen; var i, n: integer; a, у: real; тело цикла i=i1,i2…in begin writeln('Возведение в степень’); write (’Введите основание а»’); readln(а); write (’Введите показатель n» ’); readln(n); у:=1; for i:=l to n do y:=y*a; writeln ( ’an=’ , у) end. В заданиях Л и М применяется последний случай циклического алгоритма, т.е. цикл с заданным числом повторений …for i:=15 to 56 do s:=s+i… Задания Н и О на генератор псевдослучайных чисел Random, см. в следующей ссылке!
Python вовсе и не нужен. Нужен только черновик
Для себя я расставил табуляции:
НАЧАЛО
ПОКА нашлось (555) ИЛИ нашлось (888)
ЕСЛИ нашлось (555)
ТО заменить (555, 8)
КОНЕЦ ЕСЛИ
ПОКА нашлось (888)
заменить (888, 5)
КОНЕЦ ПОКА
ЕСЛИ нашлось (555)
ТО заменить (555, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Нам даётся число:
888888888888888888555
Нашлось 555, поэтому заменяем 555 на 8:
8888888888888888888
Все 888 заменяем на 5:
5555558
Заменяем 555 на 8:
85558
Начинаем общий цикл заново:
Нашлось 555, поэтому заменяем 555 на 8:
888
Все 888 меняем на 5:
5
ответ: 5
Объяснение: