Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ по ВТиП-часть1.pdf
Скачиваний:
145
Добавлен:
21.02.2016
Размер:
4.73 Mб
Скачать

ЭТАПЫ ИССЛЕДОВАНИЯ ПРИКЛАДНЫХ ЗАДАЧ

Физическая постановка задачи и ее

качественный анализ

Поиск, выбор или модификация

математической модели

Разработка, выбор или модификация

математического метода

Подготовка исходной информации

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

Разработка программного обеспечения

Численное решение

Анализ численных результатов и их применение

Рис. 1.1 Этапы исследования прикладных задач

Основы алгоритмизации процессов обработки информации

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

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

10

Рассмотрим понятие алгоритма на примере вычисления суммы элементов вектора a = (a1 , a2 , ..., an ), то есть

S = n

ai

(1.1)

i=1

 

 

Для определения суммы применим алгоритм ее накопления, используя рекуррентное соотношение

где Si

Si := Si1 + ai ; S0 =0 ; i := 1, 2, ..., n ,

(1.2)

– текущее значение суммы;

 

Si1 – предыдущее ее значение;

 

S0

– начальное значение суммы;

 

ai

– значение текущего элемента вектора.

 

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

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

1.Присвоить S значение 0 и перейти к п. 2.

2.Присвоить i значение 1 и перейти к п. 3.

3.Вычислить новое значение суммы, прибавив ai к ее предыдущему значению, то есть S := S + ai и перейти к п. 4.

4.Увеличить значение i на 1, то есть i := i + 1, и перейти к п. 5.

5.Сравнить значение i и n: если i n , то перейти к п. 3, иначе – к п. 6.

6.Вывести результат S , то есть сумму элементов вектора а.

Алгоритм имеет следующие основные свойства:

детерминированность (определенность) – однозначность результата вычислительного процесса при заданных начальных данных;

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

шагов.

Схемы алгоритмов

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

Примером словесного описания алгоритма есть приведенное выше вычисление суммы элементов вектора.

Запись алгоритма алгоритмическим языком требует точного соблюдения правил этого языка, поскольку он должен быть понятным не только человеку, а и компьютеру. Такой способ представления алгоритма будет изучаться во время изучения языка программирования Visual Basic.

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

11

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

Большое распространение получил графический способ задачи алгоритма в виде схем.

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

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

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

Расстояние между параллельными линиями потока может быть не меньше 3 мм, между другими символами – не меньше 5 мм. Линию потока можно обрывать, используя на месте обрыва соединители, если схема выполнена на двух и больше листах, или если символы, которые соединяются, расположены на значительном расстоянии один от другого.

Запись внутри символа или рядом с ним нужно выполнять машинописью с одним интервалом или чертежным шрифтом.

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

Графическое изображение алгоритма в виде схем облегчает создание программы для решения задачи на компьютере.

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

Размер а может выбираться из ряда 10, 15, 20 мм. Допускается увеличивать размер а на число кратное 5. Размер b = 1.5 a .

12

Таблица 1.1 Символы, наиболее часто используемые в схемах алгоритмов

№ Наименование п.п. символа

1.Процесс

2.Решение

3.Ввод-вывод данных

4.Соединитель (узел)

5.Началоокончание (пуск-конец)

6.Комментарий

7.Линия потока

Графическое

изображение

a

b

a

b

0,25·а

a

b

0,5·a

0,5·a

b

……...

a

Функция символа

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

Выбор направления выполнения алгоритма или программы в зависимости от условий

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

Обозначение связи между прерванными линиями потока, которые связывают символы

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

Связь между элементом схемы и пояснением

Обозначение последовательности связей между символами

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

13

НАЧАЛО

ВВОД a, n

СУММА

ЭЛЕМЕНТОВ

S:=0

i:=1

S:=S+ai

ДА

i:=i+1

i<=n

НЕТ

ВЫВОД

S

КОНЕЦ

Рис. 1.2 Блок-схема алгоритма вычисления суммы элементов вектора.

14