Конспект Способы описания алгоритмов
10
Свойства алгоритмов. Способы записи алгоритмов.
Цель урока: описать свойства алгоритмов, представить алгоритмы с помощью конкретных изобразительных средств, состав и правила употребления которых образуют конкретные способы или формы записи.
Ход урока:
Организационный момент
Актуализация опорных знаний (опрос по теме прошлого урока)
Дайте определение «алгоритм»?
Происхождение понятия «алгоритм»?
Какие виды алгоритмов существуют?
Изучение нового материала:
Свойства алгоритма
Значение слова «алгоритм» является синонимом таких понятий, как «набор инструкций», «последовательность действий», «метод». Однако, в отличие от них, алгоритм характеризуется определенными свойствами.
Свойства алгоритма – это набор свойств, отличающих алгоритм от любых предписаний и обеспечивающих его автоматическое исполнение. Алгоритм обладает следующим набором основных свойств: дискретностью, массовостью, формальностью, результативностью, определенностью.
Дискретность (разрывность) – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, т. е. «делится на шаги».
Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных.
Определенность (детерминированность, точность) – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов.
Результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (пусть даже очень большое) число шагов.
Формальность – это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т. е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции. Другими словами, механически выполняя все указанные в алгоритме этапы в требуемом порядке, исполнитель может всегда правильно решить задачу.
Процесс разработки алгоритма называется алгоритмизацией и требует четкого и полного понимания задачи. Сущность алгоритмизации вычислительного процесса проявляется в следующих действиях, отражающих его свойства:
выделении законченных частей вычислительного процесса;
формальной записи каждого из них;
назначении определенного порядка выполнения выделенных частей;
проверки правильности выбранного алгоритма по реализации заданного метода вычислений.
Способы записи алгоритмов
На любой стадии существования алгоритмы представляют с помощью конкретных изобразительных средств, состав и правила употребления которых образуют конкретные способы или формы записи. К настоящему времени сложились пять наиболее употребительных способов записи:
словесное описание;
формульно-словесное описание;
псевдокод;
графический способ (блок-схема);
программа (способ описания с помощью языков программирования).
Словесное описание
Словесное описание представляет алгоритм – инструкцию о выполнении действий в определенной последовательности с помощью слов и предложений естественного языка. Форма изложения произвольна и устанавливается разработчиком.
Этот способ описания не имеет широкого распространения, т. к. строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения), допускает неоднозначность толкования при описании некоторых действий, страдает многословностью.
Пример 1.
Алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.
задать два числа;
если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;
определить большее из чисел;
заменить большее из чисел разностью большего и меньшего из чисел;
повторить алгоритм с п. 2.
Пример 2.
Алгоритм выполнения домашнего задания по математике.
открыть дневник;
посмотреть, что задано;
взять учебник и тетрадь по предмету;
прочитать параграф и выполнить письменные упражнения;
сравнить полученные результаты с ответами в конце учебника;
если ответы совпадают, закрыть тетрадь и учебник, если нет – повторить алгоритм с п. 4.
Формульно-словесный способ
Формульно-словесный способ записи действий содержит формальные символы и выражения (формулы) в сочетании со словесными пояснениями. Т.е. алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий. Этот способ описания нагляден, лаконичен, но не является строго формальным.
Пример 3.
Алгоритм вычисления следующего выражения: у=2
·а–(х+6).
ввести значения а и х;
найти сумму (х+6);
найти произведение (2
·а);
вычислить y как разность y=2
·a–(x+6);
вывести у как результат вычисления выражения.
Пример 4.
Алгоритм решения задачи по геометрии.
Дано: высота треугольника AH=2 см, основание треугольника BC= 5 см.
Найти: площадь S
·ABC.
Решение: Площадь треугольника находится по формуле 13 EMBED Equation.3 1415
Подставим данные задачи: 13 EMBED Equation.3 1415
Результат: 13 EMBED Equation.3 1415
Псевдокод
Псевдокод представляет собой описание структуры алгоритма на естественном, частично-формализованном языке, позволяющее выявить основные этапы решения задачи перед точной его записью на языке программирования.
В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Данный способ тесно связан со структурным подходом к программированию. Псевдокод занимает промежуточное положение между естественным языком и языком программирования. Его применяют преимущественно для того, чтобы подробнее объяснить работу программы, что облегчает проверку правильности программы.
Пример 5.
Алгоритм сложения двух чисел.
Псевдокод:
Ввод двух чисел a и b.
Вычисление суммы S=a+b.
Вывод S.
Конец.
Пример 6.
Алгоритм заполнения зачетной ведомости группы из 20 студентов (i – номер студента).
Псевдокод
начало цикла
для
i от 1 до 20 с шагом 1
повторять:
1.1. ввести фамилию студента
1.2. поставить оценку.
конец цикла (кц)
вывод ведомости
Графическая запись
Графическая запись, или блок-схема, – описание структуры алгоритма с помощью геометрических фигур с линиями связями, показывающими порядок выполнения отдельных инструкций. Описание алгоритмов с помощью схем – один из наиболее наглядных и компактных способов. Этот способ имеет ряд преимуществ перед остальными:
наглядное отображение базовых конструкций алгоритма;
концентрация внимания на структуре алгоритма;
использование принципа блочности при коллективном решении сложной задачи;
преобразование алгоритма методом укрупнения (сведения к единому блоку) или детализации (разбиения на ряд блоков);
быстрая проверка разработанного алгоритма.
В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т. п.) соответствует геометрическая фигура, называемая блоком. Блочные символы соединяются линиями переходов (стрелками), определяющими очередность выполнения действий.
Условные графические изображения, используемые при построении схем, называются символами. Система символов и правила построения алгоритмов определены соответствующими стандартами: блок-схема выстраивается в одном направлении: либо сверху вниз, либо слева направо, в порядке выполнения действий.
Для наглядности операции разного вида изображаются в схеме различными геометрическими фигурами (таблица).
Средства графического изображения алгоритмов
Наименование
Символ
Выполняемые действия
Терминатор (пуск-остановка)
13 SHAPE \* MERGEFORMAT 1415
Обозначает начало и конец алгоритма
Данные (ввод-вывод)
13 SHAPE \* MERGEFORMAT 1415
Ввод и вывод данных
Процесс
13 SHAPE \* MERGEFORMAT 1415
Вычислительные действия
Решение
13 SHAPE \* MERGEFORMAT 1415
Наличие условия в алгоритме
Граница цикла
13 SHAPE \* MERGEFORMAT 1415
Наличие цикла в алгоритме
Предопределенный процесс
13 SHAPE \* MERGEFORMAT 1415
Наличие подпрограммы
Соединитель
13 SHAPE \* MERGEFORMAT 1415
Разрыв алгоритма (соединительные блоки)
Комментарий
--------13 SHAPE \* MERGEFORMAT 1415
Внесение комментариев
Терминатор (пуск-остановка). Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение
· начало и конец алгоритма). Внутри фигуры записывается соответствующее действие
· начало/конец.
Данные (ввод-вывод). Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет типа носителя данных.
Процесс. Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции. В этом блоке знак «=» означает не математическое равенство, а операцию присваивания.
Решение. Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется.
Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути.
Граница цикла. Условия цикла и приращения записываются внутри символа цикла
· в зависимости от типа организации цикла. Для изображения итерационного цикла на блок-схеме вместо данного символа используют символ решения, указывая в нем условие, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).
Предопределенный процесс. Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные.
Соединитель. Используется для обрыва линии и продолжения ее в другом месте (пример: разделение блок-схемы, не помещающейся на листе).
Соответствующие соединительные символы должны иметь одно (при том уникальное) обозначение.
Комментарий. Позволяет включать в схемы алгоритмов пояснения к функциональным блокам. Частое использование комментариев нежелательно, т. к. это усложняет (загромождает) схему, делает ее менее наглядной.
Пример 7.
Алгоритм сложения двух чисел.
13 SHAPE \* MERGEFORMAT 1415
Пример 8
Алгоритм совершения покупок в магазине.
13 SHAPE \* MERGEFORMAT 1415
Составление блок-схемы алгоритма является важным и необходимым этапом решения задачи. Но, т. к. в таком виде алгоритм не может быть выполнен непосредственно ЭВМ, этот этап является промежуточным, значительно облегчающим процесс составления программы.
Программа
Программа
· это алгоритм, записанный в виде последовательности команд, понятных ЭВМ (машинных команд). При записи алгоритмов в виде программ для ЭВМ используются языки программирования системы кодирования предписаний и правила их использования. Такие языки являются искусственными языками со строго определенными синтаксисом и пунктуацией. Они не допускают свободного толкования для своих конструкций, как это характерно для естественного языка. Существует большое количество языков программирования, предназначенных для решения прикладных задач.
Для записи алгоритмов в виде программ характерна высокая степень формализации. Перед составлением программ чаще всего используются словесно-формульный или графический способы.
Пример 9.
Алгоритм сложения двух чисел. Программа, записанная на языке Qbasic:
Rem Вычисление суммы двух чисел
Input «Введите число a»; a
Input «Введите число b»; b
Print «Сумма a+b=»; a+b
End
Закрепление материала.
Составить алгоритм вычисления значения функции y=7x+5 при любом значении x.
Составить алгоритм вычисления периметра квадрата, если известна его сторона.
Составить алгоритм вычисления длины окружности, если известен ее радиус.
Составить алгоритм вычисления площади окружности, если известен ее диаметр.
Домашнее задание.
Записи в тетради, повторить понятие «алгоритма».
Информатика и ИКТ. 9 класс. Основы алгоритмизации.
Беляев Д. М. МАОУ лицей № 21 г. Тамбов
Конец
Вывод S
S=a+b
Вывод чисел a и b
Начало
Начало
Конец
Выбрать товар
Достать кошелек
Денег хватает
Купить товар
Перейти в другой отдел
Покинуть магазин
Root Entry