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

Складских помещений

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

a, b, c – длины сторон треугольника, соответствующие расстояниям между дочерними производствами;

r – радиус описанной окружности с центром совпадающим с местоположением складских помещений.

б) Определим тип переменных:

a, b, c, r – простые переменные вещественного типа.

в) Проведём классификацию по группам:

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

результат: r;

промежуточный результат: d.

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

;

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

Рекомендуется вводить новые переменные для повторяющихся выражений, встречающихся в формулах или для упрощения исходного выражения (например, переменная d в примере №10).

Пример №11

Вычислить сумму S = y + z, если даны зависимости y и z при определённо заданных a, b, c и x.

;

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

t=a+b, p=cx;

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

a, b, c, x, t, p, s, y, z – простые переменные вещественного типа;

в) Классификация по группам:

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

результат: S;

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

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

Пример №12

Получить таблицу значений функции y = f(x) для аргумента х, изменяющегося от а до b с шагом h (если a>b, то h должен быть меньше нуля, т.е. отрицательным).

а) Обозначение переменных:

x – аргумент функции;

y – значение функции;

а – начальное значение интервала изменения аргумента;

b – конечное значение интервала изменения аргумента;

h – шаг изменения аргумента на интервале;

i – счётчик цикла; n – число повторений цикла.

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

x, y, a, b, h – простые переменные вещественного типа.

i, n – простые переменные целого типа;

в) Классификация по группам:

исходные данные: a, b, h;

промежуточные результаты: i, n;

результаты: x, y.

г) Последовательность выполнения действий при решении задачи: переменная х может быть выбрана в качестве параметра цикла, т. к. х изменяется в цикле по простому закону – увеличивается на шаг h при каждом выполнении тела цикла (рисунок 2.17); перед входом в цикл параметру цикла х присваивается начальное значение a: х = а; после каждого срабатывания тела цикла параметр цикла изменяется на шаг h: х = х + h; проверяется условие выхода из цикла: повторять заданные действия пока истинно условие x ≤ b (аргумент принадлежит выбранному интервалу значений).

Рисунок 2.17 − Алгоритм табулирования функции в виде блок-схемы

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

Пример №13

Первоначальная стоимость оборудования производственного цеха составляет руб. Ежегодно на сумму D руб. закупали новое оборудование. Ежегодная амортизация (уменьшение стоимости) имеющегося оборудования составляет Р % от его стоимости. Составить алгоритм для вычисления стоимости оборудования цеха через N лет после ввода его в эксплуатацию согласно формуле , где – стоимость оборудования в N-й год; где – стоимость оборудования в предыдущем году. Получить таблицу результатов для N=1, 2,…10.

а) Обозначение переменных:

– первоначальная стоимость оборудования;

D – стоимость ежегодно закупаемого нового оборудования;

Р – процент ежегодной амортизации оборудования;

N – счётчик цикла, количество лет эксплуатации оборудования.

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

P, N – простые переменные целого типа;

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

в) Классификация по группам:

исходные данные: , D, P; результаты: N, .

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

Представим алгоритм начисления амортизации в виде блок-схемы (рисунок 2.18).

Рисунок 2.18 – Блок-схема цикла со счетчиком N к примеру №13

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

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

Каждый массив содержит однородные сведения о некоторой совокупности объектов. Такими объектами могут быть: последовательности заработных плат по табельным номерам работников; перечень выпуска различного вида продукции по месяцам года; товары на складе по кодовым номерам и т. д. Обработка информационных массивов заключается: в пополнение массивов данных новыми сведениями, разнообразное изменение элементов массивов и вывод результатов обработки.

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

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

1) нахождение суммы, произведения, среднего значения;

2) нахождение суммы или количества элементов массива, удовлетворяющих некоторым условиям;

3) нахождение минимального (максимального) элемента массива и его номера;

4) создание нового массива из элементов имеющегося;

5) сортировка элементов массива.

Выполним построение математической модели и указанных выше алгоритмов 1) - 4) функциональной задачи денежного оборота торговой фирмы.

Пример №14

Имеются данные о ежедневном обороте торговой фирмы в течение месяца, т.е. одномерный массив, содержащий 30 элементов.

A(30):

№ дня 1 2 3 . . . 30

Оборот 124 120 50 . . . 63

а) Обозначение переменных:

А(30) – массив оборота, размерностью 30 элементов;

А(i) – элемент массива А (оборот в i-тый день), тыс. руб.;

i – счётчик цикла, номер дня;

S – общая суммы оборота фирмы за месяц, тыс. руб.;

C – средний оборот фирмы за месяц, тыс. руб.;

D – план оборота за день, тыс. руб.;

К – количество дней c оборотом D;

М – минимальный (максимальный) оборот за месяц, тыс. руб.;

NM – номер дня с минимальным (максимальным) оборотом;

В(10) – новый массив оборота, размерностью 10 элементов;

B(i) – элемент массива В (оборот в i-тый день), тыс. руб.;

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

i, K, NM – простые переменные целого типа;

S, C, D, M – простые переменные вещественного типа;

А(i), B(i) – переменные с индексами вещественного типа.

в) Классификация по группам:

исходные данные: А(30); промежуточный результат: i;

результаты: S, C, D, M, NM, К, B(10).

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

  1. определение общей и средней суммы оборота за месяц:

S = 0 сумма обнуляется, чтобы к S не добавилось случайное значение, оставшееся в переменной S от предыдущего вычисления.

C = S/30 нахождение среднего значения

  1. нахождение количества дней с оборотом, равным (≤ , ≥ , ≠ ,>,<) плану D:

К = 0 обнуление К

i = 1 начальный номер элемента

  1. определение максимального оборота предприятия за данный период и номера дня с максимальным оборотом:

M = A(1) за начальное значение максимума выбираем первый элемент

NM = 1 начальный номер максимального элемента

i = 2 начальный номер следующего элемента

Если М – минимум, то условие имеет вид: A(i)<М.

  1. 5% ежедневного оборота отчисляется в дополнительный фонд заработной платы. Организовать новый массив, содержащий информацию об ежедневном отчислении.

i = 1 начальный номер элемента

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

Представим алгоритм определение общей и средней суммы оборота в виде блок-схемы (рисунок 2.19):

Рисунок 2.19 – Определение общей и средней суммы оборота

Блок-схема накопления произведения элементов массива имеет тот же вид, что на рисунке 2.19, но первоначальное значение произведения P=1; формула накопления произведения имеет вид: P=P*A(i).

Представим алгоритм нахождение количества дней с оборотом, равным плану D в виде блок-схемы (рисунок 2.20):

Рисунок 2.20 – Алгоритм нахождение количества дней с оборотом,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]