Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Приложение c. Основные формы записи алгоритмов

Программирование в любой среде предполагает решение задачи на основе некоторого алгоритма.

Понятие "алгоритм"

Само слово "алгоритм" возникло из названия латинского перевода книги арабского математика IX века Аль-Хорезми "Algoritmi de numero Indoru", что часто переводят как "Трактат Аль-Хорезми об арифметическом искусстве индусов".

До 1955 года под словом "алгоритм" чаще всего понимали известный алгоритм Евклида для нахождения наибольшего общего делителя. В настоящее время термин "алгоритм" в словаре Merriam-Webster определяется как "процедура решения математической проблемы с конечным числом шагов, которая часто включает в себя повтор операций. Более широко, алгоритм – это пошаговая процедура для решения задачи или достижения конечного результата чаще всего посредством компьютера".

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

При составлении и записи алгоритма необходимо обеспечить выполнение следующих свойств алгоритма:

  • результативность (или конечность) – алгоритм должен приводить к решению задачи (или к ответу, что решения нет) за конечное число шагов.

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

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

Решение любой задачи необходимо начинать с записи алгоритма – описания последовательности действий для решения задачи.

Перед началом разработки алгоритма необходимо четко определить:

  • что требуется получить в качестве результата,

  • какие исходные данные необходимы и какие уже имеются,

  • какие существуют ограничения на данные.

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

Пример

Пусть с клавиатуры вводятся 10 чисел, не равных нулю. Подсчитать количество введенных положительных и отрицательных чисел.

Введем следующие обозначения:

  • А – введенное число (входные данные);

  • NumPos – количество положительных чисел (выходные данные);

  • NumNeg – количество отрицательных чисел (выходные данные);

  • i – счетчик цикла (дополнительные данные).

Шаги, реализующие алгоритм:

Десять раз выполнить следующие действия:

ввод очередного числа А,

если это положительное число, то прибавить единицу к NumPos,

если это отрицательное число, то прибавить единицу к NumNeg.

Классификация алгоритмов

Тип алгоритма определяется структурой алгоритма, а вид алгоритма определяется его назначением (решаемой задачей).

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

Среди типов алгоритма различают следующие:

  1. Линейный (последовательный) алгоритм – описание действий, которые выполняются однократно в заданном порядке.

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

  3. Циклический – алгоритм, предусматривающий многократное повторение одного и того же действия над очередной порцией исходных данных, т.е алгоритм, содержащий циклы.

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

Алгоритмы, целиком используемые в составе других алгоритмов, называют вспомогательными. Вспомогательный алгоритм на языке VBA реализуется в виде подпрограмм, встроенных функций и функций пользователя.