Алгоpитм — это точное и понятное пpедписание исполнителю совеpшить последовательность действий, направленных на решение поставленной задачи.
Основные свойства алгоpитма.
Основные свойства алгоритмов следующие:
Понятность—исполнитель алгоритма должен знать, как его выполнять.
Дискpетность — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых действий (шагов).
Опpеделенность — каждое действие алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола исполнения.
Pезультативность (или конечность) — алгоpитм должен пpиводить к pешению задачи за конечное число шагов.
Массовость — алгоpитм pешения задачи pазpабатывается в общем виде, пpименимом для некотоpого класса задач, pазличающихся лишь исходными данными.
Билет 44
Формы записи алгоритма.
На практике применяются четыре формы представления алгоритмов:
· словесная (записи на естественном языке);
· графическая (изображение в виде графических символов);
· псевдокоды (полуформализованное описание алгоритма на условном
алгоритмическом языке);
программная (тексты, записанные на языке программирования).
Словесный способ записи алгоритмов представляет собой словесное описание последовательных шагов обработки данных.
| Словесный способ не имеет широкого распространения поскольку:
· словесные описания строго не формализуемы;
· страдают многословностью записей;
· допускают неоднозначность толкования отдельных предписаний.
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
| Графическое представление называется схемой алгоритма или блок-схемой.
В блок-схеме каждому типу действий соответствует своя геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.
Основные блочные символы для алгоритмов.
Название символа
| Обозначение
| Пояснение
| Процесс
|
| Вычислительное действие или последовательность действий
| Решение
|
| Проверка логических условий
| Модификация
|
| Задает Начало цикла со счетчиком.
| Предопределенный процесс
|
| Вычисления по подпрограмме, стандартной подпрограмме
| Ввод-вывод
|
| Ввод-вывод данных в общем виде
| Пуск-останов
|
| Начало, конец алгоритма, или вход и выход в подпрограмме
| Документ
|
| Вывод документа на печать
|
Блок "процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для упрощения схемы несколько отдельных действий обработки можно объединять в один блок. Блок "решение" используется для обозначения передачи управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он проверяет.
Блок "модификация" используется для организации циклических конструкций. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, конечное значение и шаг изменения значения параметра для повторения. Блок "предопределенный процесс" используется для обращения к вспомогательным алгоритмам, существующим в виде некоторых самостоятельных модулей подпрограмм, а также для обращений к библиотечным подпрограммам.
Билет 45
Алгоритмы представляют собой некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех основных (базовых) структур: следование, ветвление и цикл.
| 1. Базовая структура – следование образуется из линейной последовательности действий, следующих одно за другим, например:
Этот алгоритм описывает следующие 3 действия:
1) Вводим значение для переменной А.
2) Вычисляем результат по формуле S: = SQR (A)*sin(PI/3)/2;
3) Выводим результат S на печать или экран.
2. Базовая структура - ветвление. Обеспечивает ветвление, т.е. в зависимости от результата проверки условия (да или нет) выбор одного из двух или более альтернативных путей выполнения алгоритма. Каждый из путей должен вести к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.
Структура ветвление существует в четырех основных вариантах:
· если - то;
· если - то - иначе;
· выбор;
· выбор - иначе.
Примеры команды если:
Язык псевдокода
| Язык блок-схем
| если x > 0 то y:= sin(x) Все |
| если b > a то a:= a+1; b:= 2b;иначе a:= 2*a; Все |
| Базовая структура - цикл.
Цикл обеспечивает многократное выполнение некоторой последовательности действий, которая называется телом цикла. Пример алгоритма с циклом.
В этом примере вычисляется сумма чисел ряда по общей формуле:
S = или S = 1 + 1/2 + 1/3 +1/4+ … +1/N. |