Лекция 7. Алгоритмизация и технология программирования
7. Алгоритмы и способы их записи
7.1. Алгоритм и его свойства
7.2. Способы записи алгоритмов
7.3. Иллюстрированный вспомогательный материал
7.4. Тестирование
7.5. Контрольные вопросы
Наша учеба, работа, личные дела - это каждодневное, ежечасное решение различных задач. Каждая задача требует для своего решения выполнения определенных действий. Многократно решая задачи, можно заметьть, что необходимые действия должны выполняться в строго определенном порядке. В таких случаях принято говорить об алгоритме решения задач. Понятие алгоритма считается одним из древнейших. Оно возникло задолго до появления ЭВМ, но с развитием вычислительной техники его роль значительно возросла.
Происхождение понятия алгоритма связано с именем великого среднеазиатского ученого Аль Хорезми, жившего в 9 веке н.э. Им были сформулированы впервые правила выполнения четырех арифметических действий.
Алгоритм - это точная инструкция, а инструкции встречаются во всех областях человеческой деятельности. Однако не всякую инструкцию можно назвать алгоритмом. Решая задачу, человек часто не задумывается над тем, как он это делает, и порой, затрудняется записать последовательность выполняемых действий. Но для того, чтобы поручить решение задачи автоматическому устройству необходимо составить алгоритм с четким указанием последовательности действий. Чтобы автоматическое устройство могло решить задачу в соответствии с алгоритмом, оно должно понимать каждое указание алгоритма. Алгоритм применяется к искомому набору исходных величин, называемых аргументами. Цель исполнения алгоритма получение определенного результата, если в результате исполнения алгоритма не достигнута определенная цель, значит алгоритм либо неверен, либо не завершен.
7.1. Алгоритм и его свойства
Алгоритмом называется точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов.
Основными свойствами алгоритмов являются:
1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.
2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.
3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование.
4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.
5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.
6. Выполнимость - результата алгоритма достигается за конечное число шагов.
Алгоритм считается правильным, если его выполнение дает правильный результат. Соответственно алгоритм содержит ошибки, если можно указать такие допустимые исходные данные или условия, при которых выполнение алгоритма либо не завершится вообще, либо не будет получено никаких результатов, либо полученные результаты окажутся неправильными.
Выделяют три крупных класса алгоритмов:
- вычислительные алгоритмы, работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;
- информационные алгоритмы, представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);
- управляющие алгоритмы, генерирующие различные управляющие воздействия на основе данных, полученных от внешних процессов, которыми алгоритмы управляют.
7.2. Способы записи алгоритмов
Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов:
- вербальный, когда алгоритм описывается на человеческом языке;
- символьный, когда алгоритм описывается с помощью набора символов;
- графический, когда алгоритм описывается с помощью набора графических изображений.
Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.
Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом. Внешний вид основных блоков, применяемых при написании блок схем, приведен на рисунке:
В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры.
В алгоритмах линейной структуры действия выполняются последовательно одно за другим:
В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма.
В алгоритмах циклической структуры в зависимости от выполнения или невыполнения какого-либо условия выполняется повторяющаяся последовательность действий, называющаяся телом цикла. Вложенным называется цикл, находящийся внутри тела другого цикла. Различают циклы с предусловием и послеусловием:
Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией.
7.5. Контрольные вопросы
- Лекции по информатике Лекция 1 Понятие информации. Предмет и задачи информатики Введение
- 1. Понятие информации. Предмет и задачи информатики
- 1.1. Концепции информации
- 1.2. Основные определения
- 1.3. Классификация информации
- 1.1. Концепции информации
- 1.2. Основные определения
- 1.3. Классификация информации
- Лекция 2 Кодирование информации
- 2.1. Количественное измерение информации
- 2.2. Кодирование различных типов информации
- 2.1. Количественное измерение информации
- 2.2. Кодирование различных типов информации
- 2.4. Тестирование. Кодирование информации
- 3. Виртуальный объект - это:
- 9. Один бит:
- 10. Сообщением называется:
- 2.5. Контрольные вопросы Кодирование информации
- Лекция 3 Системы счисления
- 3.1. Основные понятия систем счисления
- 3.2. Виды систем счисления
- 3.3. Правила перевода чисел из одной системы счисления в другую
- Лекция 4 История вычислительной техники
- 4.1. Этапы развития эвм
- 4.2. Поколения эвм
- 4.5. Контрольные вопросы. История вычислительной техники
- Лекция 5. Технические средства реализации информационных процессов
- 5.2. Состав системного блока
- 5.3. Центральный процессор
- 5.4. Устройства памяти эвм
- 5.5. Устройства ввода-вывода
- 5.8. Контрольные вопросы. Архитектура эвм
- Лекция 6. Модели и моделирование
- Модели и моделирование
- Лекция 7. Алгоритмизация и технология программирования
- Алгоритмы и способы их записи
- Лекция 8. Языки программирования высокого уровня
- Языки программирования
- Лекция 9. Программное обеспечение и технологии программирования. Офисные приложения
- Программное обеспечение и технологии программирования
- Лекция 10. Базы данных
- I этап. Постановка задачи.
- VI этап. Работа с созданной базой данных.
- Базы данных
- Лекция 11. Методы защиты информации и сведений, составляющих государственную тайну
- 2. Защита пароля.
- 3. Процедуры авторизации.
- 4. Предосторожности при работе.
- 5. Физическая безопасность.
- 6. Защита носителей информации (исходных документов, лент, картриджей, дисков, распечаток).
- 7. Выбор надежного оборудования.
- 8. Источники бесперебойного питания.
- 9. Разработка адекватных планов обеспечения непрерывной работы и восстановления.
- 10. Резервное копирование.
- 11. Дублирование, мультиплексирование и резервирование офисов.
- 12. Резервирование каналов связи.
- 12. Защита данных от перехвата.
- Методы защиты информации и сведений, составляющих государственную тайну
- Лекция 12. Компьютерные сети
- Компьютерные сети
- 13.1. История развития Internet
- 1. Персональный компьютер.
- Телеконференции
- Сетевой этикет
- Глобальная компьютерная сеть Интернет