
- •Основы алгоритмизации Понятие алгоритма и его свойства. Способы записи алгоритмов.
- •Общая форма Записи алгоритма на псевдокоде
- •Общая форма Записи алгоритма на алгоритмическом языке:
- •Классификация алгоритмов
- •Создание и выполнение программ Трансляция программ. Компиляторы и интерпретаторы.
- •Средства создания программ
- •Основные этапы компьютерного решения задач
Основы алгоритмизации Понятие алгоритма и его свойства. Способы записи алгоритмов.
Алгоритм — это точно определенное (формальное) описание способа решения задачи в виде конечной последовательности действий.
Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.
В качестве исполнителей алгоритма могут выступать человек и различные устройства: механические, электрические, электронно-вычислительные машины (ЭВМ) и т.д.
Свойства алгоритма:
дискретность — представление алгоритма в виде последовательности шагов;
массовость — применимость алгоритма к некоторому множеству исходных данных;
результативность – получение результата за конечное число шагов
однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
Способы записи алгоритмов:
на естественном языке (словесная форма),
графически в виде блок-схем
на псевдокоде,
на языках программирования.
Достоинством записи алгоритма на естественном языке является доступность для понимания его любым человеком.
Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности.
Преимущество блок-схем – в наглядности алгоритма.
Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 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
Конец
Для записи алгоритмов могут использоваться специальные искусственные языки – языки программирования.,
Языком программирования называется формальная знаковая система, предназначенная для записи компьютерных программ.
Программа - это предписание ЭВМ на языке программирования, позволяющее решать требуемую задачу.