Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_algoritmizatsii.doc
Скачиваний:
42
Добавлен:
29.04.2019
Размер:
136.7 Кб
Скачать

Основы алгоритмизации Понятие алгоритма и его свойства. Способы записи алгоритмов.

Алгоритм — это точно определенное (формальное) описание способа решения задачи в виде конечной последовательности действий.

Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.

В качестве исполнителей алгоритма могут выступать человек и различные устройства: механические, электрические, электронно-вычислительные машины (ЭВМ) и т.д.

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

  • дискретность — представление алгоритма в виде последовательности шагов;

  • массовость — применимость алгоритма к некоторому множеству исходных данных;

  • результативность получение результата за конечное число шагов

  • однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.

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

  • на естественном языке (словесная форма),

  • графически в виде блок-схем

  • на псевдокоде,

  • на языках программирования.

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

Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности.

Преимущество блок-схем – в наглядности алгоритма.

Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 1.

Одним из распространенных способов представления алгоритма является псевдокод.

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

Общая форма Записи алгоритма на псевдокоде

Алгоритм < название >     Начало          < последовательность действий >     Конец

В качестве базовых операций используются:

    • операция присваивания вида < переменная > := < выражение >

    • операция ввода/вывода

ввод ( список ввода) вывод ( список вывода).

Смысл операции присваивания состоит в вычислении результата выражения, стоящего справа от знака “ := “, для конкретных значений входящих в него переменных и присваивании этого результата переменной, стоящей слева от знака “ := “, например:

D := 5

D := D+1

Min := C

При выполнении операции ввода ввод ( A, B, C) переменным из списка ввода A, B и C присваиваются конкретные значения, вводимые с клавиатуры, например:

-5 7 20 {Enter}

В результате в памяти получим:

A = -5, B = 7, C = 20.

Операция вывода осуществляет вывод значений переменных и выражений из списка вывода на экран, например:

вывод (A, B, C, 10)

На экране получим:

- 5 7 20 10

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

Общая форма Записи алгоритма на алгоритмическом языке:

алг название алгоритма (аргументы и результаты)

дано условия применимости алгоритма

надо цель выполнения алгоритма

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

| последовательность команд (тело алгоритма)

кон

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

Пример

Пусть заданы длины сторон треугольника. Необходимо вычислить площадь треугольника, используя формулу Герона. Разработку алгоритма полезно начинать с постановки задачи:

Исходные данные:

A, B, C - длины сторон треугольника

Результат:

S - площадь треугольника.

Метод решения:

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

Алгоритм Линейная структура (площадь треугольника)

Начало

ввод (A, B, C)

вывод S

Конец

Для записи алгоритмов могут использоваться специальные искусственные языки – языки программирования.,

Языком программирования называется формальная знаковая система, предназначенная для записи компьютерных программ.

Программа - это предписание ЭВМ на языке программирования, позволяющее решать требуемую задачу.

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