Вычисление частных в цикле

Технология машинного расчёта частных применима в случае одного делимого с несколькими делителями и основывается на идее последовательного деления предыдущего частного на каждое из них.

Методика последовательного деления аналогична представленной при вычитании:

Вычисление частных в цикле - student2.ru

Обозначив искомое частное Н как Нn, а частное без последнего деления как Нn-1, получим Нn = Нn-1 / dn. Повторив рассуждения для вычисления Hn-1, запишем Hn-1 = Hn-2 / dn-1 и так далее.

Анализ рассмотренных зависимостей позволяет сделать вывод, что решение возможно при начальном значении H0 = D.

Таким образом, последовательное деление предполагает следующую методику вычислений:

· задание (до начала вычислений) начального значения делимого Н0 = D;

· вычисление текущих значений частного Нi последовательным делением предыдущего значения частного Нi-1 на текущее значение делителя di.

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

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

Нn = (((. . .(Н0 / d1) / d2) … / di) / . . . / dn-1) / dn

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

· массивом для хранения всех текущих значений Нi;

· двумя промежуточными переменными (Нi и Нi-1);

· одной текущей переменной Нi.

Используем изложенную методику для решения конкретной задачи (8.6) о временных отрезках.

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

Задан временной отрезок в минутах. Необходимо последовательно рассчитать сколько часов, суток, недель, лет он содержит. Значение исходного отрезка не менее 100000 мин. Каждый последующий коэффициент перевода временных единиц задавать через предыдущий.

Формирование математической модели

Исходные данные

(основные)

КВ = _ _ _ _ _ _ _ мин – заданный временной интервал;

(вспомогательные)

К1 = 60 мин/ч – коэффициент перевода минут в часы;

К2 = 24 ч/сут – коэффициент перевода часов в сутки;

К3 = 7 сут/нед – коэффициент перевода суток в недели;

К4 = 52 нед/г – коэффициент перевода недель в годы.

Расчётные зависимости

КВ = (((((КВ / К1) / К2) / К3) / К4) [г] – общая математическая зависимость вычисления искомого отрезка времени;

КВi = КВi-1 / Кi [ч, сут, нед, г] – вычисление текущего значения отрезка времени;

Вычисление частных в цикле - student2.ru – диапазон изменения параметра;

i = i + 1 – закон изменения параметра.

Выбор метода решения

Математическая модель задает аргументы (коэффициенты перевода) в форме одномерного массива. Она предписывает последовательное деление текущих значений времени на каждом этапе изменения размерности, начиная с часов (i = 1) и заканчивая годами (i = 4).

Для увеличения наглядности представления результатов используем дополнительный массив символьных строк. Каждая строка массива определяет размерность рассчитанного текущего временного отрезка: ВР[4][50] = { "количество часов", "количество суток", "количество недель", "количество лет" }.

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

В качестве параметра цикла используется индекс коэффициентов перевода размерностей (i) с диапазоном изменения Вычисление частных в цикле - student2.ru и стандартным законом i = i + 1.

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

Наши рекомендации