1. Найти наибольший общий делитель (НОД) двух натуральных чисел
А и В.
Входные данные: А и В. Выходные данные: А – НОД.
Для решения поставленной задачи воспользуемся алгоритмом Евклида:
будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор,
пока оба значения не станут равными, так, как показано в таблице
В блок–схеме решения задачи, представленной на рисунке ниже, для решения
поставленной задачи используется цикл с предусловием, то есть тело цикла
повторяется до тех пор, пока А не равно В.
 |
Поиск наибольшего общего
делителя 2-х чисел |
2. Вводится последовательность чисел, 0 – конец последовательности.
Определить, содержит ли последовательность хотя бы два равных соседних
числа.
Входные данные: X0 – текущий член последовательности, X1 – следующий член
последовательности.
Выходные данные: сообщение о наличии в последовательности двух равных
соседних элементов.
Вспомогательные переменные: Fl – логическая переменная, сохраняет
значение «истина», если в последовательности есть равные рядом стоящие члены
и «ложь» - иначе.
Блок–схема решения задачи приведена на рис. 5.6. Применение здесь цикла с
постусловием обосновано тем, что необходимо вначале сравнить два элемента
последовательности, а затем принять решение об окончании цикла.
В приведенных примерах условие задачи таково, что неизвестно, сколько раз
повторится тело цикла. Такие циклы называют циклами с неизвестным числом
повторений (вообще говоря, неизвестно, закончится ли цикл вообще). Цикл,
количество повторений которого известно заранее или его можно определить по
исходным данным, называют циклом с известным числом повторений.
Рассмотрим несколько примеров с использованием таких циклов.
3. Составить таблицу значений функции y = e
sin(x)cos(x) на отрезке [0;π]
с шагом 0.1.
Входные данные: начальное значение аргумента – 0, конечное значение
аргумента – π, шаг изменения аргумента – 0.1.
Выходные данные: множество значений аргумента X и соответствующее им
множество значений функции Y
 |
Поиск равных соседних элементов последовательности
|
 |
Создание таблицы значений
функции y = e
sin(x)cos(x)(2 способа) |
В условии задачи количество повторений цикла явно не задано, поэтому
решить ее можно, используя цикл с предусловием (слева). С другой стороны
известно, как изменяется параметр цикла X и каковы его начальное и конечное
значения, следовательно, предварительно определив количество повторений тела
цикла n, так как показано на рис. справа, можно воспользоваться безусловным
циклическим оператором. Итак, если параметр цикла х принимает значения вдиапазоне от xn до xk, изменяясь с шагом dх, то количество повторений тела
цикла можно определить по формуле:
округлив результат деления до целого числа.
Комментариев нет:
Отправить комментарий