Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций(ОАиП).doc
Скачиваний:
70
Добавлен:
11.05.2015
Размер:
1.07 Mб
Скачать

2.2. Понятие алгоритма и способы его записи

Понятие алгоритма занимает центральное место в современной математике и программировании.

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

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

Тогда в общем: алгоритм - это строгая и четкая конечная система правил, определяющая последовательность действий над некоторыми объектами и после конечного числа шагов приводящая к достижению поставленной цели.

2.3. Свойства алгоритмов

Дискретность - значения новых величин (данных) вычисляются по опреде­лен­ным правилам из других величин с уже известными значениями.

Определенность (детерминированность) - каждое правило из системы однозначно, а данные однозначно связаны между собой, т.е. последовательность действий алгоритма строго и точно определена.

Результативность (конечность) - алгоритм решает поставленную задачу за конечное число шагов.

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

2.4. Способы описания алгоритмов

Существует несколько способов описания алгоритмов. Наиболее распро­стра­ненными являются словесное и графическое описания алгоритма.

Словесное описание алгоритма рассмотрим на конкретном примере: пусть необходимо найти наибольший общий делитель для двух целых положительных чисел a и b.

1) Сравнить a и b. Если a<b, то положить d=a; m=b, иначе d=b и m=a.

2) Разделить m на d. Обозначить остаток от деления r.

3) Если d=0, то это искомое число. Закончить вычисления. Иначе перейти к пункту 4.

4) Заменить значение m значением d.

5) Заменить d значение значением r.

6) Перейти к пункту 2.

Здесь алгоритм описан с помощью естественного языка, а объекты обработки, являющиеся числами, обозначены буквами.

Например, рассмотрим алгоритм решения квадратного уравнения вида a*x2+b*x+c=0:

1) вычислить D = b*b - 4 * a * c;

2) если D<0, то перейти к 4;

3) вычислить ;;

4) конец.

2.5. Графическое описание алгоритма

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

Правила изображения фигур сведены в единую систему программной документации (ГОСТ 19.701-90). По данному госту – это схема данных, которая отображает путь данных при решении задачи и определяет этапы их обработки.

Схема данных содержит:

- символы данных (могут отображать тип носителя данных);

- символы процесса, который нужно выполнить над данными;

- символы линий, указывающих потоки данных между процессами и носите­ля­ми данных;

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

2.6. Основные символы схемы алгоритма

Символы ввода-вывода данных:

- данные ввода/вывода (носитель не определен);

- ручной ввод данных с устройства любого типа, например, с клавиатуры;

- отображение данных в удобочитаемой форме на устройстве, например, дисплее.

Символы процесса:

-процесс - отображение функции обработки данных, т.е. опе­ра­ции приводящей к изменению значения указанного объекта;

- предопределенный процесс - отображение группы опера­ций, которые определены в другом месте, например, в подпрограм­ме;

- решение - отображение функции, имеющей один вход и ряд альте­р­нативных выходов, их которых только один может быть активи­зирован после анализа условия: указанного внутри этого символа.

Граница цикла - отображение начала и конца цикла,

или, наоборот, - условие завершения указывают в нижней границе.

Символы линий - отображают поток данных или управления. Линии - горизонтальные или вертикальные, имеющие только прямой угол перегиба. Стрелки - указатели направления не ставятся, если управление идет сверху-вниз или слева-направо.

Специальные символы

Соединитель- используется при обрыве линии и продолжении ее в другом месте (необходимо присвоить название).

Терминатор - вход из внешней среды или выход во внешнюю среду (начало или конец схемы программы).

Коментарий.