Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка _Vba.doc
Скачиваний:
5
Добавлен:
14.08.2019
Размер:
4.94 Mб
Скачать

Раздел3. «Автоматизация решения практических задач с использованием языка программирования высокого уровня vba в приложениях windows»

3.1 Алгоритмизация вычислительных процессов Основные понятия об алгоритмизации задач

Этапы решения задач на компьютере

Процесс преобразования исходных данных в конечные результаты решения задачи (вычислительный процесс) включает следующие основные этапы:

Изучение поставленной задачи:

выбор и анализ математической модели;

анализ исходных данных и определение их имен;

определение имен конечного и промежуточного (если есть в этом необходимость) результатов, а для числового результата также их точности;

определение шагов решения задачи.

Описание алгоритма поставленной задачи.

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

Создание программы в среде программирования.

Запуск и отладка программы.

Анализ полученного результата.

Алгоритм и его свойства

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

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

Основные свойства алгоритмов:

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

  2. Дискретность - прерывность, раздельность. Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов (этапов).

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

  4. Результативность (конечность). Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.

  5. Массовость - означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.

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

На практике наиболее распространены следующие формы представления алгоритмов:

  • Словесная – запись на естественном языке;

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

  • табличная;

  • графическая – с помощью графических символов;

  • программная – запись на искусственном языке (языке программирования).

Словесный способ не имеет широкого применения по следующим причинам:

  • Описания не строго формализуемы;

  • Страдают многословностью записей;

  • Допускают неоднозначность толкования отдельных предписаний.

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

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

Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. В таблице 1 приведены наиболее часто употребляемые символы.

Таблица 1

Графические символы алгоритмов

Название символа

Обозначение

Пояснение

Процесс

Вычислительное действие или последовательность действий

Решение

Проверка условий

Модификация

Начало цикла

Предопределенный процесс

Вычисления по подпрограмме, стандартной подпрограмме

Ввод/Вывод

Ввод/Вывод данных в общем виде

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

Начало, конец алгоритма, вход в подпрограмму и выход из нее

Документ

Вывод результатов на печать

Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Иногда для улучшения наглядности схемы несколько отдельных блоков объединяют в один блок.

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

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

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

Разновидности структур алгоритмов

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

  • Линейной;

  • Разветвляющейся;

  • Циклической

  • Предопределенный процесс.

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

Алгоритм линейной структуры - объединение нескольких, следующих друг за другом блоков « процесс» и блоков « ввода/ вывода», в котором каждое последующее действие – операция выполняется строго за предыдущим, рис. 1.

Алгоритм разветвляющейся структуры. В нем данные влияют на ход выполнения алгоритма. В алгоритме заложены разные пути следования, по ходу действия выбирается один из возможных вариантов, образуя разветвленную структуру. В зависимости от результата проверки условия выполняются только действия ветви «да» (действия 1 и 2) или ветви «нет» ( действия 3 и 4). Такая структура разветвления носит название полный выбор (полная альтернатива) рис.2. а). В другом случае в зависимости от результата проверки условия либо выполняются действия ветви «да» (например действия 1 и 2), либо пропускаются, рис. 2. б), образуя неполный выбор (неполную альтернативу).

В следующем случае от результата выбора будет выполнено одно из перечисленных действий, рис. 3.

Алгоритмы циклических структур

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

На рис. 4. а) и б) представлены блок-схемы цикла с предварительным условием (предусловием) и постусловием соответственно.

Если условие выполняется, то выполняются действия 1..n(тело цикла) ветви «да», иначе тело цикла не выполнится ни разу (рис. 4. а).Тело цикла в данном блоке может выполниться хотя бы один раз (рис. 4. б).

Блок цикла с заданным числом повторений представлен на рис. 5.,

где V – имя параметра цикла;

V1 – начальное значение параметра цикла (имя или константа);

V2 – конечное значение параметра цикла (имя или константа);

V3 – шаг изменения параметра цикла (имя или константа);

Тело цикла выполняется столько раз, сколько разных значений примет параметр в заданных пределах.

Примечание. Блоки разветвления и циклов могут содержать внутри себя другие разветвления и циклы (вложенные блоки). Схемы «собирают» из блоков.

На рис. 6. представлен блок обращения к подпрограмме «предопределенный процесс»).

Примеры блок-схем алгоритмов