Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У_П_Инф1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать

2. Основы алгоритмизации

Алгоритмизация - это процесс разработки алгоритма решения какой-либо задачи. Под алгоритмом уже даже в обыденной жизни стали понимать систему правил с определенными свойствами. В средствах массовой информации нередко можно услышать о том или ином алгоритме действий или поведения. Назовем основные свойства, присущие алгоритму [2].

Всякий алгоритм предполагает пошаговый или дискретный характер процесса получения результата. Именно по пунктам расписаны наши действия, направленные, например, на приготовление по рецепту кулинарного блюда или раствора для обработки фотоматериалов и т. п. Другим важным свойством алгоритма является его массовость, предполагающая возможность применения одного и того же алгоритма ко всему множеству однотипных исходных данных. При описании алгоритма исходят из определенного набора действий, доступных исполнителю алгоритма и называемых системой команд исполнителя. Следовательно, алгоритм должен быть понятен настолько, что его исполнитель действует механически, не задумываясь. А для этого алгоритм должен обладать определенностью и однозначностью в смысле действий исполнителя и получаемого результата. И последнее: алгоритм должен быть результативным (конечным), т. е. результат должен получаться за конечное число действий (шагов). В соответствии со сказанным выше алгоритм можно определить как систему правил, сформулированных на языке, понятном исполнителю, и определяющих цепочку действий, выполнение которых приводит исполнителя от исходных данных к искомому результату. Именно указанные свойства алгоритма (его механистичность) позволяют использовать в качестве его исполнителя специальные автоматы и компьютеры.

Алгоритмизация, т.е. процесс разработки алгоритма, включает в себя последовательное выполнение следующих действий:

  • разложение алгоритма на шаги в соответствии с логикой решения задачи и системой команд исполнителя;

  • установление взаимосвязи между шагами и порядком их следования, который приводит исполнителя от исходных данных к искомому результату;

  • однозначное описание каждого шага на языке, понятном исполнителю.

Завершает алгоритмизацию проверка алгоритма.

Если решаемая задача является сложной, то алгоритмизацию начинают с укрупненной схемы алгоритма, которая отражает самые важные действия и связь между ними. Крупноблочная исходная структура алгоритма последовательно детализируется.

Множество исходных данных, результаты выполнения алгоритма, система команд исполнителя и язык описания алгоритмов образуют алгоритмическую систему. Описание алгоритмов может осуществляться различными способами. Наибольшее распространение получили следующие три способа: словесная запись; блок-схема; структурограмма.

Словесная запись использует указание начала и конца алгоритма и строго определенный набор слов и фраз для описания действий. Структурограмма (схема Насси-Шнейдермана), в отличие от блок-схемы, не содержит линии потоков информации. В блок-схеме алгоритма каждому действию поставлена в соответствие определенная геометрическая фигура - блок. Переход от одного действия к другому изображается линией со стрелкой, указывающей направление движения. Чтобы схемы алгоритмов выглядели единообразно и были доступны для понимания, графические изображения блоков стандартизированы [2]. На рис.1 приведены начертания основных блоков и их размеры: a = 10, 15, 20… b = 1,5a в мм.

Название блока Обозначение Назначение

Б лок вычислений a Любое действие

( процесс) b

Логический блок a Проверка условия

( выбор) (ветвление)

Блок модификации 0.25a Управление циклом

(заголовок цикла)

Б лок вызова 0.15a Подзадача

подпрограммы (ПП)

Н ачало-Конец, 0.5a Начало или конец

Вход/Выход программы, вход/выход ПП

Блок ввода/вывода 0.15a Общее обозначение

Вывод на печать Получение документа

Соединитель: 0.5a Указание связи между

В нутристраничный прерванными линиями,

Межстраничный 0.4a соединяющими блоки

0.2a 0.5a

Рис. 1

Неоговоренные размеры по горизонтали равны b, по вертикали - a.

Известная теорема о структурировании (ее автор - американский математик и программист Дейкстра) говорит о том, что алгоритм любой степени сложности может быть реализован с помощью трех базисных структур: последовательность, альтернатива (выбор), повторение (цикл). Их схемы приведены на рис. 2. Каждая из них представляет собой законченный функциональный блок с одним входом и одним выходом. Это позволяет соединять их в любой комбинации. Алгоритм, реализованный на основе базисных структур, приобретает логически обусловленную характером процесса вычислений и действий

С ледование Альтернатива Цикл

Действие d1

U- условие

ДА U НЕТ НЕТ

Действие d2

U

Действие d1

Действие d2

Тело цикла

ДА

Рис. 2

с труктуру. Такой алгоритм хорошо воспринимается и легко поддается проверке и модификации. С целью упрощения и лучшего восприятия алгоритма набор базисных структур дополняют элементарными структурами цикла с параметром и цикла с постусловием (рис. 3).

Тело цикла

Тело цикла

НЕТ Условие

окончания

ДА цикла

Рис. 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]