Вычисление сумм и произведений

Вычисление сумм и произведений

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

При первом выполнении цикла вычисляется значение S1 = S + у1, которое должно быть равно y1. Поэтому начальному значению суммы перед циклом следует присвоить значение ноль.

Составить программу для вычисления функции

W:REAL; CONST N = 10;

FOR I: = 1 TO N DO

WRITELN (`SUMMA =’ , W: 7 : 4)

Аналогично накапливается и произведение, с той лишь разницей, что для его накопления используется формула Pj = Pi-l · уi, а начальное значение произведения должно быть равно единице.

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

Пример 3.2.1 Составить программу для вычисления функции

(символом "П"обозначено накопление произведения).

FOR I: = 1 TO 10 DO

FOR J: = 1 TO 5 DO

Z: = Z * ABS (SIN(I) * COS(J)) / (I + J) ; WRITELN(`PROIZVEDENIE=’,

Задания к теме 3

Вычислить сумму и произведение:

Каково назначение операторов цикла?

Укажите отличительные особенности каждого из трех операторов цикла.

Будет ли выполняться циклическая часть программы, если логическое выражение является ложным с самого начала в операторе цикла WHILE?

Чему равен шаг изменения параметра цикла в операторе FOR?

Будет ли выполняться циклическая часть программы, если логическое выражение истинно с самого начала в операторе REPEAT?

Как изменяются параметры внешнего и внутреннего циклов во вложенных циклах?

Для вычисления суммы всех элементов вектора-столбца предназначен шаблон оператора суммирования , кнопка которого находится на панели инструментов Matrix (Матрица). Достаточно задать вектор, отобразить шаблон оператора суммирования в документе Mathcad и вписать в поле ввода шаблона имя вектора:

Суммирование и вычисление произведений элементов массива (вектора или матрицы) выполняется также с использованием соответствующих шаблонов показанной на рисунке 4 панели Calculus (Исчисление).

Рисунок 4 – Панель инструментов Calculus

Например, после вставки в документ шаблона

. .

необходимо задать четыре величины: переменную i, значениями которой являются номера элементов вектора, константу n, являющуюся номером (индексом) последнего учитываемого при суммировании элемента вектора, константу m, обозначающую номер первого учитываемого элемента вектора. Эти величины заносятся в поля ввода █ шаблона. Вычисление суммы производится нажатием клавиши =.. Результат представляется формульными областями

Читайте также:  Как пользоваться флештул прошивкой
. . . . . .

или формульной областью

. .

Фрагмент документа Mathcad, в котором вычисляются сумма элементов второй строки и сумма всех элементов матрицы A имеет вид:

Фрагмент документа Mathcad, в котором вычисляется произведение элементов третьего столбца и произведение всех элементов матрицы A, включает следующие формульные области:

1.1.6 Решение задач обработки массивов в Mathcad

Пример 3. Ввести массив MS [1..5], состоящий из произвольных чисел, и значение var = 0,95. Для каждого элемента массива MS вычислить значение RES по формуле . Подсчитать сумму элементов массива RES. Найти минимальное значение RES. Отсортировать элементы массива RES по убыванию. Подсчитать произведение элементов массива RES, стоящих на нечетных местах. Найти косинус каждого элемента RES.

Задайте порядок нумерации элементов в массивах, начиная с единицы, и ранжированную переменную для нумерации элементов создаваемых векторов MS и RES:

. . . .

Введите имя исходного массива и знак присваивания. Не изменяя положение курсора-уголка, щелкните на кнопке с изображением матрицы дважды и в отобразившемся диалоговом окне укажите размерность вектора-столбца: Rows – количество строк 5, Columns – количество столбцов 1.

Введите произвольные значения элементов массива MS, используя для перехода от одного поля ввода к другому клавишу Tab или клавиши управления курсором:

Присвойте значение переменной var:

Наберите формулу для вычисления i-го элемента массива RES:

Для просмотра результатов в виде таблицы наберите MSi = и RESi =, а для вывода результатов в виде векторов-столбцов − MS = и RES =:

Вычислите сумму элементов массива RES. Для этого щелкните на кнопке панели инструментов Matrix (Матрица), наберите в поле ввода █ имя массива RES и нажмите клавишу .=.. Формульная область примет вид:

Для определения минимального элемента массива используйте функцию min. Ее применение по отношению к массиву RES приведет к результату

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

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

Примечание – Обращение к функцииif имеет вид

где − логическое выражение, сформированное с использованием логических операций и операций отношения, набираемых посредством элементов панели инструментов Boolean (Логические);

− выражение, которое выполнятся, если имеет значение «истина»;

Читайте также:  Где яндекс браузер хранит кэш

− выражение, которое выполнятся, если имеет значение «ложь».

В Mathcad допускается использование массива в качестве аргумента.

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

Пример 4. Задать матрицу M размером 10 × 10 согласно формуле

. (2)

Создать подматрицу M1 размером 5 × 5 из элементов M, расположенных на пересечении первых пяти строк и пяти последних столбцов.

Найти сумму элементов M1.

Подсчитать произведение тех элементов матрицы M1, сумма значений индексов которых является четным числом.

Определить минимальный элемент второй строки M1.

Создать матрицу M2, каждый элемент которой – десятичный логарифм соответствующего элемента матрицы M1.

Комплексные элементы матрицы M2 заменить их действительной частью.

Найти максимальные элементы в нечетных столбцах M2.

Определить количество отрицательных элементов массива M2.

Сформировать вектор z из диагональных элементов матрицы M2 и найти его модуль.

Сформировать вектор w из элементов третьего столбца M2.

Создать матрицу M3 из четных строк матрицы M2 и векторов z и w.

Определите переменную ORIGIN и ранжированные переменные для нумерации элементов массивов (каждая формула в отдельном блоке):

Создайте матрицу M и ее подматрицу M1, используя встроенные функции:

Вычислите сумму элементов M1, вызывая дважды шаблон суммирования панели Calculus (Исчисление):

Вычислите произведение тех элементов матрицы M1, у которых сумма значений индекса i и индекса j является четным числом. Для этого с помощью функцииifпри нахождении произведения замените элементы, не удовлетворяющие данному условию, на единицу. Соответствующая формульная область имеет вид:

Найдите минимальный элемент второй строки M1, выполнив транспонирование матрицы, а затем применив функцию min по отношению ко второму столбцу транспонированной матрицы:

Создайте матрицу M2 посредством операции векторизация, набрав выражение log(M1) и щелкнув мышью на кнопке панели инструментов Matrix (Матрица):

Выделите действительные части элементов комплексной матрицы:

Найдите максимальные элементы в каждом нечетном столбце матрицы M2, задав последовательность из нечетных индексов матрицы посредством ранжированной переменной k, выделив (сформировав) необходимые векторы-столбцы M2 k > и применив функцию max, возвращающую максимальный элемент каждого нечетного столбца матрицы. Фрагмент документа Mathcad, выполняющий эти действия, имеет вид:

Определите количество отрицательных элементов матрицы M2, воспользовавшись функцией

if(M2i,j -3 . Чем меньше значение TOL, тем с большей точностью, вообще говоря, находится корень уравнения.

Чтобы переопределить значение системной переменной TOL, необходимо посредством команды Math / Options открыть диалоговое окно математических свойств документа Options, перейти на вкладку Build-In Variables (Встроенные переменные) и в поле TOL (Convergence Tolerance) ввести новое значение, например, 0.0001. Это значение распространяется на весь документ Mathcad. Присваивание системной переменной TOL непосредственно в документе Mathcad нового значения, например,

Читайте также:  Пропал звук на macbook air

, (3)

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

Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, формат обращения к которой имеет вид:

Данная функция возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:

f(x) – функция в левой части уравнения f(x) = 0;

x – переменная, относительно которой требуется решить уравнение;

a, b – необязательные действительные числа, такие что a 16 1718Следующая ⇒

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

Для расчета суммы (где Ck — некоторое слагаемое, зависящее от индекса суммирования k) рационально использовать цикл по переменной – индексу суммирования. Блок схема алгоритма представлена на рис. 28.1 а.

На том же рисунке представлена блок-схема расчета произведения , где Ck — сомножитель, зависящий от индекса суммирования k.

Эти алгоритмы очень похожи. Только при вычислении суммы переменной S, накапливающей ее, первоначально присваивается нулевое значение, а переменной P, накапливающей произведение – единичное. В теле цикла производится расчет слагаемого (сомножителя), а за-тем суммированием (умножением) накапливается сумма (произведение).

Вычисление бесконечных сумм возможно только для сходящихся рядов, например, . С ростом k каждое слагаемое должно уменьшаться и сумма стремиться к определенному значению. Цикл суммирования можно прекратить, когда очередное слагаемое по абсолютной величине станет меньше заданной величины . Так как в этом случае обычно нельзя заранее вычислить число повторений, следует использовать цикл с предусловием или цикл с послеусловием. Их блок-схемы приведены на рис. 28.2.

Перед началом циклов выполняются начальные установки: счетчик циклов k – индекс суммирования и переменная S, накапливающая сумму, обнуляются. В теле цикла сначала индекс суммирования увеличивается на единицу, а затем вычисляется слагаемое и накапливается сумма. Условием повторения цикла является | Ck| ≥ ε. Перед началом цикла с предусловием переменной Ck — слагаемому, значение которого вычисляется в теле цикла, необходимо присвоить такое начальное значение, чтобы условие повторения цикла выполнялось. В цикле с послеусловием этого не требуется.

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

Ссылка на основную публикацию
Выдыхается ли открытая водка
quote: но достаточно ли этого что бы водка не превратилась в воду Нужно каждый год добавлять в бутылку по 50мл...
Водонагреватель thermex ошибка е3
Одними из лидеров продаж в России являются водонагреватели марки Thermex. Первый офис компании появился на российском рынке в 1995 году,...
Водопровод в частном доме с гидроаккумулятором
Индивидуальное водоснабжение из колодца способствует удовлетворению ежедневных потребностей в питьевой и технической воде собственников загородных владений. Изучение особенностей, разновидностей схем...
Вызвать команду в форме 1с
На форме 1С обычно располагаются несколько полей, для ввода данных, а также кнопки управления формой и различных сервисных действий. Например,...
Adblock detector