Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование.doc
Скачиваний:
70
Добавлен:
24.11.2018
Размер:
1.15 Mб
Скачать

2.6 Типовые вычислительные процессы и структуры алгоритмов

2.6.1 Линейный вычислительный процесс

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

Таблица 2 – Блоки (геометрические фигуры), используемые в блок-схемах алгоритмов

Блок

Описание блока

Начало, конец и остановка вычислений. Внутри блока записываются слова «начало», «конец» или «остановка»

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

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

Да

Нет

Выбор решения. Внутри блока записывается условие. Условием предусматривается два варианта продолжения выполнения программы. Если условие истинно, то осуществляется переход к операции по стрелке «да». Если условие ложно, то выполняется операция по стрелке «нет»

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

Соединитель. Разрыв линии, связывающей блоки

В пункте 2.2 были построены математические модели функциональной и вычислительной задачи, блок-схемы их алгоритмов имеют линейную структуру, как показано на рис. 2 и 3.

Рис. 2 Блок-схема к примеру 1 Рис. 3 Блок-схема к примеру 2

2.6.2 Разветвляющийся вычислительный процесс

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

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

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

Пример 3. Рассчитать недельную заработную плату рабочего, если известно количество отработанных им часов и стоимость одного часа. Рабочая неделя длится 40 часов, если рабочий отработал больше 40 часов, то его сверхурочные рассчитываются по двойному тарифу.

а) Введем обозначения переменных:

k – количество отработанных часов в неделю;

t – стоимость одного часа (тариф);

zp – недельная заработная плата рабочего.

б) Тип переменных:

k – простая переменная целого типа;

t, zp – простые переменные вещественного типа.

в) Классификация по группам: исходные данные: k, t; результат: zp.

г) Расчетные формулы в последовательности их выполнения:

Если количество отработанных часов k ≥ 40, то zp=40t+(k-40)2t, иначе zp=40t

Представим алгоритм начисления заработной платы в виде блок-схемы (рис.4):

Рис. 4 Блок-схема к примеру 3

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

Пример 4. Предусмотреть исключение всех случаев возникновения неопределенности при вычислении функции по формуле:

a, b, c, x заданы.

а) Введем новые переменные для повторяющихся выражений:

t=ax-b, p=2.5bx;

б) a, b, c, x, t, p, y - простые переменные вещественного типа;

в) исходные данные: a, b, c, x;

результат: y; промежуточные результаты: t, p;

г) расчетные формулы в последовательности их выполнения:

t=ax-b;

p=2.5bx;

Если знаменатель дробного выражения p = 0, то выводится сообщение "Y не определена", иначе

Если логарифмическое выражение t ≤ 0, то выводится сообщение "Y не определена", иначе выводится значение

Представим алгоритм исключения неопределённости функции в виде блок-схемы (рис.5):

Рис. 5 Блок-схема к примеру 4