Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекция №1

.pdf
Скачиваний:
7
Добавлен:
11.03.2015
Размер:
227.47 Кб
Скачать

Алгоритмы, их свойства и способы описания

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

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

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

1.Дискретность. Алгоритм – это конечное множество этапов решения задачи.

2.Понятность. Алгоритм должен состоять из команд, понятных исполнителю.

3.Детерминированность. В силу однозначности алгоритма применение его к одним и тем же исходным данным, должно приводить к получению одного и того же результата.

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

5.Массовость. Алгоритм применим для решения всех задач некоторого класса.

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

1.Словесно-формульный;

2.Графический (граф-схемы, блок-схемы и т.д.);

3.В терминах языка программирования.

Основные графические элементы блок-схем

Наименование

Обозначение

Функция

Процесс

 

 

Присваивание

 

 

 

переменной значения

 

 

 

 

 

a

выражения

b

Решение

Выбор направления

 

 

 

 

 

вычислительного

 

 

 

 

 

 

 

 

 

a

процесса в

 

 

 

 

 

 

 

 

 

зависимости от

 

 

b

 

 

некоторого условия

 

 

 

 

 

 

 

 

 

 

Модификация

 

 

Начало цикла с

 

a

 

 

параметром

 

 

 

 

 

 

 

 

a

b

Данные

Ввод-вывод данных

b

a

0,2b

Пуск-останов

 

 

 

 

 

 

 

Начало и конец

(терминальный

 

 

R

 

 

 

0,5a

алгоритма

 

 

 

 

 

элемент)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соединитель

 

 

0,5a

Указание на связь

 

 

 

между прерванными

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

линиями потока

Комментарий

 

Связь между

 

 

 

 

элементом схемы и

 

 

 

 

 

 

 

 

пояснениями

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

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

Размер A выбирается из ряда 10, 15, 20 мм. Допускается увеличивать размер A на величину, кратную 5. Размер B принимается равным 1,5A или 2A.

Основные этапы решения задачи на ЭВМ

1.Математическая постановка задачи.

2.Составление алгоритма.

3.Составление программы на языке программирования.

4.Отладка программы.

5.Получение результатов.

Основные типы алгоритмических структур

1. Алгоритмы линейной структуры.

В этих алгоритмах действия выполняются строго последовательно в порядке их записи.

Пример.

Вычислить площадь прямоугольника, заданного своими сторонами.

начало

A, B

S= A*B

S

конец

2. Алгоритмы ветвящейся структуры.

В этих алгоритмах направление вычислительного процесса может меняться в зависимости от некоторых условий. Выбор направления выполнения алгоритма производится с помощью блока «решение».

Действия с 1 по n выполняются, если заданное условие верно (истинно). В противном случае, выполняются действия с n+1 по n+k. В каждой ветви может быть один или несколько блоков любого типа.

Да Нет Условие

Действие 1

 

Действие N+1

 

 

 

 

 

 

 

 

 

 

...

...

Действие N

 

 

 

 

Действие N+K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ветвь «Нет» может быть пустой.

Да Нет Условие

Пример 1.

Вычислить значение функции:

y =

arcsin(x 1) + 2 x +3

log3 (1 x 2 )

при заданном значении аргумента x.

Для решения задачи необходимо определить область допустимых значений аргумента.

0

x 2;

 

 

 

 

0

x < 1;

x 0

Да

y =

arcsin( x 1) + 2 x + 3

log 3 (1 x 2 )

0 < x < 1

начало

x

Нет

(x>0)and

(x<1)

Решения нет

y

конец

или

начало

x

Да

(x<=0)or

Нет

 

 

 

(x>=1)

 

Решения нет

y =

arcsin( x 1) + 2 x + 3

log 3 (1 x 2 )

y

конец

Пример 2.

Вычислить значение функции, заданной графически:

y

 

a

 

45o

 

 

 

-b

R

2R

x

Для решения задачи функцию необходимо привести к аналитическому виду:

a, если x < −b,

a x, если b x < 0, y = b

 

 

 

 

 

 

 

 

R

2

( x R)

2

, если 0 x < 2R,

 

 

 

 

 

 

если x

 

x

 

2R,

 

2R.

начало

x, a, b, R

 

Да

Нет

 

 

 

 

 

 

 

 

 

 

 

x<-b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y= a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x<0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = −

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

x<2R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y= x-2R

 

 

 

 

 

 

 

 

 

 

 

 

 

y = R 2 ( x R)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конец

3. Алгоритмы циклической структуры.

Цикл – это многократное повторение одних и тех же действий с разными исходными данными. Любой цикл задается условием выхода и телом цикла, т.е. набором повторяемых действий.

Циклы бывают арифметические (с известным числом повторений) и итерационные (с неизвестным). По расположению условия выхода из цикла относительно его тела различают два варианта:

Цикл «Пока»

Цикл «До»

(с предусловием)

(с постусловием)

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие

 

 

 

 

Тело цикла

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

Тело цикла

 

 

 

 

Условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Частным случаем цикла с предусловием является цикл с параметром, в котором используется блок «модификация». Внутри него указывается строка вида:

<параметр> = <нач. знач.>, <кон. знач.>, <шаг>

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

Например:

I= 1, 10

I

Пример.

Вычислить результат возведения произвольного числа x в целую положительную степень n.

xn = x x x

n раз

начало

x, n

p =1

i= 1, n

p =p*x

p

конец