Практическое занятие №8
Тема: Основные алгоритмические конструкции и их описание средствами языков программирования.
Цель работы: рассмотреть основные примеры построения алгоритмов
Оборудование, приборы, аппаратура, материалы: персональный компьютер с выходом в Интернет.
Краткие теоретические сведения.
Наиболее понятно структуру алгоритма можно представить с помощью блок-схемы, в которой используются геометрические фигуры (блоки), соединенные между собой стрелками, указывающими последовательность выполнения действий. Приняты определенные стандарты графических изображений блоков. Например, команду обработки информации помещают в блок, имеющий вид прямоугольника, проверку условий - в ромб, команды ввода или вывода – в параллелограмм, а овалом обозначают начало и конец алгоритма.
Структурной элементарной единицей алгоритма является простая команда, обозначающая один элементарный шаг переработки или отображения информации. Простая команда на языке схем изображается в виде функционального блока.
Данный блок имеет один вход и один выход. Из простых команд и проверки условий образуются составные команды, имеющие более сложную структуру и тоже один вход и один выход.
Структурный подход к разработке алгоритмов определяет использование только базовых алгоритмических структур (конструкций): следование, ветвление, повторение, которые должны быть оформлены стандартным образом.
Рассмотрим основные структуры алгоритма.
Команда следования состоит только из простых команд. На рисунке простые команды имеют условное обозначение S1 и S2. Из команд следования образуются линейные алгоритмы. Примером линейного алгоритма будет нахождение суммы двух чисел, введенных с клавиатуры.
Команда ветвления - это составная команда алгоритма, в которой в зависимости от условия Р выполняется или одно S1, или другое S2 действие. Из команд следования и команд ветвления составляются разветвляющиеся алгоритмы (алгоритмы ветвления). Примером разветвляющегося алгоритма будет нахождение большего из двух чисел, введенных с клавиатуры.
Команда ветвления может быть полной и неполной формы. Неполная форма команды ветвления используется тогда, когда
необходимо выполнять действие S только в случае соблюдения условия P. Если условие P не соблюдается, то команда ветвления завершает свою работу без выполнения действия. Примером команды ветвления неполной формы будет уменьшение в два раза только четного числа.
Команда повторения - это составная команда алгоритма, в которой в зависимости от условия Р возможно многократное выполнение действия S. Из команд следования и команд повторения составляются циклические алгоритмы (алгоритмы повторения). На рисунке представлена команда повторения с предусловием. Называется она так потому, что вначале проверяется условие, а уже затем выполняется действие. Причем действие выполняется, пока условие соблюдается. Пример циклического алгоритма может быть следующий. Пока с клавиатуры вводятся положительные числа, алгоритм выполняет нахождение их суммы.
Команда повторения с предусловием не является единственно возможной. Разновидностью команды повторения с предусловием является команда повторения с параметром. Она используется тогда, когда известно количество повторений действия. В блок-схеме команды повторения с параметром условие записывается не в ромбе, а в шестиугольнике. Примером циклического алгоритма с параметром будет нахождение суммы первых 20 натуральных чисел.
В команде повторения с постусловием вначале выполняется действие S и лишь затем, проверяется условие P. Причем действие повторяется до тех пор, пока условие не соблюдается. Примером команды повторения с постусловием будет уменьшение положительного числа до тех пор, пока оно неотрицательное. Как только число становится отрицательным, команда повторения заканчивает свою работу.
С помощью соединения только этих элементарных конструкций (последовательно или вложением) можно "собрать" алгоритм любой степени сложности.
Задание 1. Дан алгоритм нахождения периметра прямоугольного треугольника по длинам двух катетов (a, b), записанный в виде блок-схемы (в тетрадь).Определить периметр этого треугольника (P) и записать результат вычисления, если:
Вариант 1: a=3, b=4.
Вариант 2: a=0, b=3.
Вариант 3: a=6, b=8.
Задание 2. Вычислить значение функции: , если:
Вариант 1: x=0;
Вариант 2: x=1
Вариант 3: x= – 5
Задание 3. На блок-схеме представлен алгоритм вычисления стоимости покупки с учетом скидки, где a – цена, b – количество, s – сумма. Какой будет результат на выходе блок-схемы, если:
Вариант 1: a=50, b=8.
Вариант 2: a=200, b=5.
Вариант 3: a=300, b=1.
Задание
4. На блок-схеме представлен алгоритм Евклида, определяющий наибольший общий делитель (НОД) для двух натуральных чисел A и B. Найти А на выходе блок-схемы, если
Вариант 1: A=5, B=10.
Вариант 2: A=8, B=8.
Вариант 3: A=12, B=4.
Задание 5. Дана блок-схема. Какое значение будет иметь z на выходе, если:
Вариант 1: x=2.
Вариант 2: x=4.
Вариант 3: x=6.
Контрольные вопросы: Установите соответствие между рассмотренными задачами и типами структур алгоритмов.
Задание 1. | а) ветвление |
Задание 2. | б) цикл с предусловием |
Задание 3. | в) цикл с постусловие |
Задание 4. | г) линейный алгоритм |
Задание 5. | д) неполное ветвление |