Алгоритмизация. Алгоритмы. Блок-схемы. VBA - План 1. Алгоритмы. Исполнители. Формальное

Страница создана Ленар Зверев
 
ПРОДОЛЖИТЬ ЧТЕНИЕ
Алгоритмизация. Алгоритмы. Блок-схемы. VBA - План 1. Алгоритмы. Исполнители. Формальное
16.04.2012

Алгоритмизация. Алгоритмы.
     Блок-схемы. VBA

                 Лекция №1

                      План
1. Алгоритмы. Исполнители. Формальное
   исполнение
2. Представление алгоритмов
3. VBA: интерфейс

                                                1
Алгоритмизация. Алгоритмы. Блок-схемы. VBA - План 1. Алгоритмы. Исполнители. Формальное
16.04.2012

                     Алгоритм
Algorithmi (аль-Хорезми):
v описание последовательности действий
  для решения задачи или достижения
  поставленной цели;
v правила выполнения основных операций
  обработки данных;
v описание вычислений по математическим
  формулам.

                     Алгоритм

Свойства алгоритма:
v Универсальность (массовость) -
  применимость алгоритма к различным
  наборам исходных данных.
v Дискретность - процесс решения задачи
  по алгоритму разбит на отдельные
  действия.
v Однозначность - правила и порядок
  выполнения действий алгоритма имеют
  единственное толкование.

                                                  2
Алгоритмизация. Алгоритмы. Блок-схемы. VBA - План 1. Алгоритмы. Исполнители. Формальное
16.04.2012

                         Алгоритм

Свойства алгоритма:
v Конечность - каждое из действий и весь
  алгоритм в целом обязательно
  завершаются.
v Результативность - по завершении
  выполнения алгоритма обязательно
  получается конечный результат.
v Выполнимость - результата алгоритма
  достигается за конечное число шагов.

                         Алгоритм
Выделяют три крупных класса алгоритмов:
v вычислительные алгоритмы, работающие со
  сравнительно простыми видами данных, такими как
  числа и матрицы, хотя сам процесс вычисления
  может быть долгим и сложным;
v информационные алгоритмы, представляющие
  собой набор сравнительно простых процедур,
  работающих с большими объемами информации
  (алгоритмы баз данных);
v управляющие алгоритмы, генерирующие различные
  управляющие воздействия на основе данных,
  полученных от внешних процессов, которыми
  алгоритмы управляют.

                                                            3
16.04.2012

                    Исполнитель

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

                    Исполнитель

Каждый пункт алгоритма – это указание
(команда) на выполнение определенного
действия. Главное требование к алгоритму
состоит в том, что он должен состоять из
команд понятных исполнителю (т.е.
исполнитель может их выполнить). Вся
совокупность команд, которые данный
исполнитель может выполнить, называется
системой команд исполнителя (СКИ).

                                                   4
16.04.2012

                    Исполнитель

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

                    Исполнитель

Для успешной обработки информации
исполнителем необходимо иметь полный
набор исходных данных и алгоритм
обработки.

                                                     5
16.04.2012

               Этапы решения задачи
                     на ЭВМ:
v Постановка задачи, возникающей в определенной
  предметной области человеческой деятельности;
v Разработка или выбор математической модели
  объекта;
v Разработка или выбор метода решения на основе
  модели объекта
v Разработка алгоритма решения задачи
  (алгоритмизация);
v Разработка программы решения задачи
  (программного обеспечения задачи);
v Решение задачи с помощью программных
  средств, получение и анализ результатов
  решения (тестирование).

                  Постановка задачи

1.Результат решения задачи (что требуется?);
2. Условия допустимости решения (что
   следует считать правильным результатом
   решения и при каких условиях существует
   допустимое решение задачи);
3. Исходные данные (что дано для решения?);
4. Условия допустимости исходных данных
   (что следует считать правильными
   исходными данными).

                                                          6
16.04.2012

           Представление алгоритмов

v вербальный, когда алгоритм описывается
  на человеческом языке;
v символьный, когда алгоритм описывается
  с помощью набора символов;
v графический, когда алгоритм описывается
  с помощью набора графических
  изображений.

                 Словесный способ

v Алгоритм нахождения НОД двух чисел.
v задать два числа;
v если числа равны, то взять любое из них в
  качестве ответа и остановиться, в
  противном случае продолжить выполнение
  алгоритма;
v определить большее из чисел;
v заменить большее из чисел разностью
  большего и меньшего из чисел;
v повторить алгоритм с шага 2.

                                                      7
16.04.2012

                    Недостатки

Словесный способ не имеет широкого
  распространения по следующим причинам:
v такие описания строго не формализуемы;
v страдают многословностью записей;
v допускают неоднозначность толкования
  отдельных предписаний.

               Графический способ

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

                                                   8
16.04.2012

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

                                       Блок-схемы
                           Обозначение и пример
Название символа                                  Пояснение
                           заполнения

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

Решение                                           Проверка условий
Модификация                                       Начало цикла

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

Ввод-вывод                                        Ввод-вывод в общем виде

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

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

                                                                                          9
16.04.2012

                                Блок-схемы
v Блок "процесс" применяется для обозначения действия или
  последовательности действий, изменяющих значение, форму
  представления или размещения данных. Для улучшения наглядности
  схемы несколько отдельных блоков обработки можно объединять в
  один блок. Представление отдельных операций достаточно свободно.
v Блок "решение" используется для обозначения переходов управления
  по условию. В каждом блоке "решение" должны быть указаны
  вопрос, условие или сравнение, которые он определяет.
v Блок "модификация" используется для организации циклических
  конструкций. (Слово модификация означает видоизменение,
  преобразование). Внутри блока записывается параметр цикла, для
  которого указываются его начальное значение, граничное условие и
  шаг изменения значения параметра для каждого повторения.
v Блок "предопределенный процесс" используется для указания
  обращений к вспомогательным алгоритмам, существующим
  автономно в виде некоторых самостоятельных модулей, и для
  обращений к библиотечным подпрограммам.

v Пример. Составить блок-схему алгоритма
  определения высот ha, hb, hc треугольника
  со сторонами a, b, c, если

   где p = (a + b + c) / 2.

                                                                            10
16.04.2012

Решение. Введем обозначение

Тогда ha = t/a, hb = t/b, hc = t/c. Блок-схема
должна содержать начало, ввод a, b, c,
вычисление p, t, ha, hb, hc, вывод результатов и
останов.

                                                          11
16.04.2012

                 Типы алгоритмов

vЛинейные
vВетвящиеся
vЦиклические

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

                                                     12
16.04.2012

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

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

                                                   13
16.04.2012

                   Типы циклов

            Языки программирования

Языки программирования – это
искусственные языки записи алгоритмов для
исполнения их на ЭВМ. Программирование
(кодирование) - составление программы по
заданному алгоритму.

                                                   14
16.04.2012

                      Язык Си

v Язык Си был изобретен в 1972 году Денисом Ричи и
  Кеном Томпсоном для использования в написании
  весьма ныне популярной операционной системы Unix.
  Си соединяет свойства языка высокого уровня с
  возможностью эффективного использования ресурсов
  компьютера, которое обычно обеспечивается только
  при программировании на языке Ассемблера. Си не
  очень прост в обучении и требует тщательности в
  программировании, но позволяет писать сложные и
  весьма высокоэффективные программы. Бьярном
  Страустрапом был разработан язык Си++ -
  расширение языка Си, реализующее популярные в
  последнее время концепции объектно-
  ориентированного программирования и облегчающее
  создание сложных программ.

                                                             15
16.04.2012

                      Язык Паскаль

v     Язык Паскаль был разработан в 1970 году
    Никлаусом Виртом как язык для обучения студентов
    программированию. Паскаль позволяет писать
    программы, легко читаемые даже новичком, и
    содержит в себе все элементы, необходимые для
    соблюдения хорошего строгого стиля
    программирования (называемого структурным
    программированием), упрощающего разработку
    сложных программ. Системы программирования на
    Паскале для IBM PC также реализуют расширенные
    варианты этого языка. Из этих реализаций наиболее
    популярны - Turbo Pascal, Borland Pascal и Borland
    Pascal for Windows

                       Язык Бейсик

v   Язык Бейсик был создан в 1964 году Томасом Куртом и
  Джоном Кемени как язык для начинающих, облегчающий
  написание простых программ. Существует много различных
  версий Бейсика Это язык очень широко распространен на
  микрокомпьютерах. На IBM PC широко используются Quick
  Basic и Visual Basic фирмы Мicrosoft и Turbo Basic фирмы
  Borland.
v Основная идея авторов языка Бейсик - снабдить простым языком
  программирования непрофиссиональных программистов -
  оказалась очень привлекательной для большого числа
  разработчиков различных фирм.
    В феврале 1975 года на рынке программмных средств
  появилась первая версия языка Бейсик для персональных
  компьютеров, авторами которой были Билл Гейтс и Пол Аллен,
  сотрудники корпорации Microsoft - ведущего лидера
  поставщиков программного обеспечения.
  Именно этот год стал, по существу, годом, когда Basic вышел в
  свет. Сочетая в себе простоту, гибкость и универсальность, этот
  язык стал прообразом многих других языков программирования.

                                                                           16
16.04.2012

                Другие языки

v На IBM, кроме выше упомянутых языков,
  используется и много других языков
  программирования. Для построения
  экспертных систем употребляются языки
  Лисп (Джона Маккарти) и Пролог (Алан
  Кулмероэ и Филипп Руссел) , для создания
  информационных систем используют язык
  Clipper. Имеются и реализации языков,
  которые использовались ранее на больших
  компьютерах, например Фортрана (Джон
  Бэкус) и Кобола (Грейс Хоппер).

                      VBA

                                                    17
16.04.2012

                                      VBA
v File (Файл) • Save • Import File • Export File • Close and
  Return To Microsoft Word
v Edit (Правка): Undo, Redo, Cut, Copy, Insert, Find, List
  Properties/Methods
v View (Вид)
v Insert (Вставка) • User Form • Module • Procedure • File •
  Class Module
v Format (Форматирование)
v Debug (Отладка)
v Run (Запуск) • Sub/User Form • Break • Reset
v Tools (Инструменты)
v Add-Ins (Дополнения)
v Window (Окно)
v Help (Помощь)

Окно Project

                                                                      18
16.04.2012

Окно Properties

Программы на VBA управляются событиями.
Обработчик — это подпрограмма, которая
будет выполняться если произойдет
соответствующее ей событие.

                                                 19
16.04.2012

                  Вопросы для
           самостоятельного изучения
v История языков программирования

                                              20
Вы также можете почитать