ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ
Цель: Освоить навык составления блок-схем алгоритмов циклического типа.
Задание:
Для поставленных задач (согласно своего варианта) написать математическую модель решения задачи, составить таблицу входных и выходных данных, нарисовать блок-схему.
Для задачи № 2 необходимо составить 4 блок-схемы:
· С использованием конструкции повторение (цикл с предусловием)
· С использованием конструкции повторение (цикл с постусловием)
· С использованием стандартного блока «граница цикла» (цикл с предусловием)
· С использованием стандартного блока «граница цикла» (цикл с постусловием)
Задача № 1 (по вариантам)
1. Дано натуральное число n. Определить, равна ли первая цифра числа последней цифре числа (строковые функции не использовать).
2. Дано натуральное число n. Вычислить .
3. Определить, является заданное число n (n >0) четным или нечетным. Если число четное, определить его последнюю цифру, если нечетное - определить количество цифр в числе. Для выделения цифр не использовать строковые функции.
4. Задано натуральное число n. Вычислить .
![]() |
n корней
5. Дано натуральное число n. Вычислить .
6. Вычислить:
7. Дано натуральное число n. Определить, кратно ли оно числу 5 и сколько цифр в этом числе.
8. Дано вещественное число х 0.
Вычислить:
9. Вычислить , где n – заданное число.
10. Даны натуральное число n, действительные числа x, a. Вычислить:
n скобок
Задача № 2 (по вариантам)
1. Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы шкалы Фаренгейта (F) для значений от 15°С до 30°С с шагом 1°С. (Перевод осуществляется по формуле F=l,8C+32.)
2. Напечатать таблицу соответствия между весом в фунтах и весом в кг для значений от 1 до 10 фунтов с шагом 1 фунт (1 фунт =400г).
Дана ведомость результатов сдачи экзаменов по трем предметам в группе, состоящей из 25 студентов. Напечатать отличников.
4. Информация о количестве осадков выпадавших в течение месяца, и о температуре воздуха задана в виде двух массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега. (Считать, что идет дождь, если температура воздуха >0°С).
Составить алгоритм определения наибольшего элемента матрицы А(n,m) с указанием его номера строки и столбца.
Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить сколько клеток будет через 3, 6, 9, 12,..., 24 часа.
7. Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком “+”, рост мальчиков знаком “-”. Определить средний рост мальчиков.
Составить алгоритм определения наименьшего элемента матрицы А(n,m) с указанием его номера строки и столбца.
В области 10 районов. Заданы площади, засеваемые в каждом районе пшеницей, и урожай, собранный в каждом районе. Определить среднюю урожайность пшеницы по каждому району и по области в целом.
В ЭВМ по очереди поступают результаты соревнования по плаванию, в которых участвует n спортсменов. Выдавать на печать лучший результат после ввода результата очередного спортсмена.
Теоретические сведения
Напомним, что алгоритмизация – это процесс разработки алгоритма (плана действий) для решения задачи.
Есть три основных типа алгоритма: линейный, разветвляющийся и циклический. Темой рассмотрения данной лабораторной работы является разветвляющийся алгоритм.
Циклический алгоритм содержит повторяющиеся участки вычислений.
Повторяющийся участок называют циклом. Циклы бывают различными по способам организации и по содержанию.
По способу организации и исполнения проверки условия окончания цикла различают две разновидности циклических структур: циклы с предусловием и циклы спостусловием.
По содержанию циклы делятся на:
а) простые и сложные (иначе - вложенные);
б) с параметром и итерационные.
Простой цикл не содержит внутри себя других циклов.
Сложный (вложенный) цикл - это цикл, содержащий внутри себя по крайней мере хотя бы один цикл.
Цикл с параметром - это цикл, который организован по некоторой переменной, для которой известны начальное значение, конечное значение и шаг изменения. Эту переменную называют параметромцикла. Если начальное значение и шаг изменения равны единице, то параметр цикла одновременно является счетчиком цикла. Тогда его конечное значение определяет количество повторений цикла. Для цикла с параметром характерно то, что всегда можно определить число его повторений.
Итерационный цикл - это цикл с неизвестным заранее числом повторений. Большинство таких алгоритмов характеризуется приближением вычисляемых величин к точному значению. В этом случае окончание цикла обычно осуществляется при достижении заданной точности вычислений. К итерационным циклам приводят, например, задачи вычисления сумм бесконечного ряда, задачи, реализуемые численными методами.
При построении каждого цикла выбирается один из способов организации: с предусловием или с постусловием, и, в то же время, он по содержанию может быть, например, простым с параметром, или простым итерационным, или сложным таким, что внешний и внутренние циклы его могут быть любыми по способам организации и содержанию.
Для обозначения блоков циклических алгоритмов служит конструкция повторение.
Конструкция повторение
Конструкция повторение служит для реализации циклических алгоритмов. Используются два варианта этой конструкции: для реализации цикла с «предусловием» (рисунок 1,а) и цикла с «постусловием» (рисунок 1,б).
Рисунок 1 – Конструкция повторение:
а – цикл с «предусловием», б – цикл с «постусловием»
В приведенных управляющих конструкциях L - условие продолжения (завершения) цикла, S - функциональный блок, составляющий тело цикла. В цикле с «предусловием» условие продолжения циклического процесса ставится в начале цикла, в цикле с «постусловием» - в конце. В обоих случаях цикл повторяется до тех пор, пока значение L остается «истина». В современных алгоритмических языках есть операторы, позволяющие реализовать эти конструкции в случаях, когда «Да» и «Нет» меняются местами.