- •Программирование Способы записи алгоритмов
- •Брянск 2012
- •Цель работы
- •Теоретическая часть
- •Понятие алгоритма
- •Блок-схемы
- •Диаграмма Насси-Шнейдермана (структурограммы)
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Контрольные задания
- •Список рекомендуемой литературы
- •Основная литература
- •Дополнительная литература
Утверждаю
Ректор университета
__________________А.В. Лагерев
«____»____________2012 г.
Программирование Способы записи алгоритмов
Методические указания
к выполнению лабораторной работы №1
для студентов очной формы обучения специальности 010500 «Математическое обеспечение и администрирование информационных систем»
Брянск 2012
УДК 004.421+004.43
Программирование. Способы записи алгоритмов [текст]+[электронный ресурс]: методические указания к выполнению лабораторной работы №1 для студентов очной формы обучения специальности 010500 «Математическое обеспечение и администрирование информационных систем». – Брянск: БГТУ, 2012. – 17 с. – Режим доступа: http://www.elibrary.ru.
Разработали:
Д.И.Булатицкий
доц.
Рекомендовано кафедрой «Информатика и программное обеспечение» БГТУ (протокол №4 от 15.02.10)
В этой ЛР студенты знакомятся с понятием алгоритма, его свойствами и способами записи. Формируются навыки записи алгоритмов в виде блок-схем и диаграмм Насси — Шнейдермана.
Цель работы
Цель работы – изучить основные способы записи алгоритмов. Для этого студент должен:
изучить понятие алгоритма и исполнителя;
изучить условные обозначения в блок-схемах;
изучить условные обозначения в структурограммах;
Продолжительность работы – 2 часа.
Теоретическая часть
Понятие алгоритма
Алгоритм – последовательность чётко определенных действий, выполнение которых ведёт к решению задачи. Алгоритм, записанный на языке машины, есть программа решения задачи.
Алгоритм – это совокупность действий, приводящих к достижению результата за конечное число шагов.
Свойства алгоритмов:
Дискретность – это разбиение алгоритма на ряд отдельных законченных действий (шагов).
Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае.
Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
Массовость – алгоритм должен быть применим к разным наборам исходных данных.
Результативность – алгоритм должен приводить к достоверному решению.
Примерами алгоритмов могут являться:
Кулинарный рецепт;
Инструкция к прибору;
Описание маршрута и др.
Различают три основных вида алгоритмов:
линейный алгоритм,
разветвляющийся алгоритм,
циклический алгоритм.
Линейный алгоритм – это алгоритм, в котором действия выполняются однократно и строго последовательно.
Примером линейного алгоритма может являться последовательность действий при приготовлении бутерброда. Алгоритм в этом случае будет выглядеть следующим образом:
начало
отрезать хлеб;
намазать хлеб маслом;
отрезать колбасу;
положить колбасу на хлеб;
конец.
Все действия выполняются последовательно друг за другом в определенном порядке и приводят к конечному результату.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Самый простой пример реализации разветвляющегося алгоритма – если на улице идет дождь, то необходимо взять зонт, иначе не брать зонт с собой.
Циклический алгоритм – это алгоритм, команды которого повторяются некое количество раз подряд.
Самый простой пример реализации циклического алгоритма – при чтении книги будут повторяться одни и те же действия: прочитать страницу, перелистнуть и т.д.
Циклические алгоритмы трех видов:
цикл со счетчиком – действия внутри цикла выполняются определенное количество раз;
цикл с предусловием – перед каждым новым проходом цикла проверяется определенное условие, если оно истинно, действия внутри цикла выполняются, в противном случае происходит выход из цикла;
цикл с постусловием – в начале происходит выполнение действий внутри цикла, а только затем проверка условия.
Формы записи алгоритма:
словесная или вербальная (языковая, формульно-словесная);
псевдокод (формальные алгоритмические языки);
схематическая:
структурограммы (схемы Насси-Шнайдермана);
графическая (блок-схемы).
Обычно сначала (на уровне идеи) алгоритм описывается словами, но по мере приближения к реализации он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю (например, машинный код).
Пример словестной записи алгоритма приведен ранее при рассмотрении линейного алгоритма. Примером записи алгоритма с помощью псевдокода является код любой программы на любом языке программирования (С++, Pascal, Basic и др.).
Способы схематической записи алгоритмов подробно рассматриваются далее.
