Что такое модель объекта или процесса и зачем её создавать? Какие бывают модели? Что такое информационная модель? Основные этапы моделирования Алгоритмическая модель Моделирование в языках программирования Моделирование в среде MS Excel

 

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

Алгоритмизация процесс разработки алгоритма (плана действий) для решения задачи.

Свойства алгоритмов

Дискретность (лат. discretus – разделённый, прерывистый).  Любой алгоритм должен состоять из конкретных действий, следующих в определённом порядке (например: невозможно повернуть ключ в замке, если вы не вставили его в этот замок; или проехать три остановки в автобусе, в который вам не удалось сесть);

Точность (детерминированность) (лат. determinate – определённость, точность). Любое действие алгоритма должно быть строго определено  в каждом случае и не допускать двух и более различных трактовок (например: чтобы доехать до определённого места вам необходим определённый автобус (например, №101), поэтому, если в описании пути стоит фраза «кажется, то ли 101, то ли 111 автобус, вы рискуете до места не доехать);

Конечность. Каждое действие в алгоритме и сам алгоритм должны иметь возможность завершения (например: если поставить в ЛогоМирах в инструкции для кнопки опцию «Много раз», то алгоритм в инструкции будет выполняться бесконечно).

Массовость. Один и тот же алгоритм можно использовать с разными исходными данными (например: бутерброд можно приготовить с колбасой, сыром, мясом и т.д., но порядок приготовления будет один и тот же);

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

Виды алгоритмов

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

 

Например:

Алгоритм отпирания дверей;

Алгоритм вычисления значения числовых выражений, содержащих только действия сложения и вычитания (1299 – 243 + 5 – 789).

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

Например:

Алгоритм покраски забора: 1) покрасить одну доску; 2) перейти к следующей; 3) выполнить действие 1; 4) завершить работу только после покраски последней доски.

Разветвляющийся алгоритм – алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Полная форма: «если выполняется условие, то …, иначе …» . Действия предусмотрены и при выполнении условия, и при его невыполнении.

Неполная форма: «если выполняется условие, то …». Действия предусмотрены только при выполнении условия. При невыполнении условия никакие действия не выполняются.

Например:

1) Если пошёл дождь, то откройте зонт, иначе – зонт положите в сумку (полная форма разветвляющегося алгоритма);

Если пошёл дождь, то откройте зонт (неполная форма разветвляющегося алгоритма).

2) Если билет в кино стоит не больше 100 рублей, то купить билет и занять место в зале, иначе – вернуться домой.

3) Из инструкции коммунальным службам: «Если среднесуточная температура воздуха ниже 8 градусов, то включить отопление.

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

Вспомогательному алгоритму должно быть присвоено имя.

 

Например:

Вычислите значение выражения 5a + b:4.

1. Установить значение для переменной а;

2. Выполнить умножение числа 5 на a записать их произведение;

3. Установить значение для переменной b;

4. Выполнить деление чисел b:4 и записать частное;

5. Выполнить сложение полученных на шаге 2 произведения и на шаге 4 частного.

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

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

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

На специальном языке (например, на языке программирования – в виде программы, последовательности команд);

На языке формул (например, оформление решения задач по таким предметам, как физика, алгебра, химия);

В графической форме – в виде блок-схемы;

и т.д.

Стадии создания алгоритмов

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

На этой стадии разрабатывается приближённый алгоритм, ориентированный на создающего его человека (если алгоритм создаёте вы, то на вас).

Для этого необходимо:

Определить цель, для достижения которой будет создан алгоритм;

Наметить приблизительный план действий для достижения поставленной цели.

Вторая стадия – детализация алгоритма с учётом специфики среды и других объектов (т.е. с учётом того, кто или что будет выполнять данный алгоритм, каким способом, какими средствами и т.д.).

Для этого необходимо:

Выбрать среду и объекты, посредством которых алгоритм будет реализован;

Детализировать алгоритм с учётом особенностей выбранной среды.

 

 

(c) 2015, Максимовская М.А., maximovskaia_mar@mail.ru