Использование массивов в вычислениях
Все вычисления организуются с помощью операторов циклов FOR – NEXT или вложенных циклов для двумерных массивов. С помощью операторов обработки массивов FOR-NEXT можно решать большое многообразие задач, например, производить обработку результатов измерений, вычислять площади под кривыми, решать задачи с рядами, обрабатывать полиномы по алгоритму(схеме).
Алгоритм накопления сумм:
S = 0 – до цикла
S = S + <∑> – в цикле
Алгоритм накопления произведений:
P = 1 – до цикла
P = P * <П> – в цикле
Пример. Вычислить
Фрагмент программы:
…
50 S=0
60 FOR I = 1 TO N
70 S = S + X(I)
80 NEXT I
90 Y=S
…
В 50-й строке осуществляется подготовка цикла (установка сумматора или накопителя в “нуль”); 60 – 80 строки – тело цикла; в 90-й строке полученное значение присваивается переменной Y.
Алгоритм (схема) Горнера.
Известно, что полином в общем виде записывается следующим образом:
Y=An*X^n+ A(n-1)*X^(n-1)+…A1*X+A0 .
Горнер предложил переиндексировать коэффициенты многочлена:
Y=A1*X^n+ A(n-1)*X^(n-1)+…An*X+A(n+1) .
Далее он предложил разложить многочлен и представить в виде:
Y=(…(A1*X+A2)*X +A3)*X+…A1)*X+A(n+1) .
Исходя из такого представления, он предложил алгоритм, который еще называют схемой Горнера:
-все коэффициенты A1, A2,…,A(n+1) представить в виде элементов массива;
-должны учитываться все коэффициенты. Если они отсутствуют в полиноме, то их надо все равно использовать, считая их равными нулю;
-до цикла FOR-NEXT взять значения y=A(1);
-цикл по управляющей переменной организовывать с I=2 до X+1;
-в цикле использовать формулу:
Y=Y*X+A(I) .
Если все значения Y надо сохранить, то Y следует организовать тоже как массив.
Функция TAB
Дополнительные удобства для размещения выводимой информации создаёт функция TAB.
Структура оператора печати с использованием TAB:
нс PRINT TAB(нпп); {список},
где нпп – номера позиции, которая является целым аргументом функции TAB в диапазоне 0 – 80.
Пример: 50 PRINT TAB(12); A; TAB(25); C
Задание1.
1. Составить схему алгоритма для вычисления функций, приведённых в табл. 7.1.
2. Составить программу для циклического вычислительного процесса с использованием оператора INPUT. Использовать комментарии.
3. Произвести расчёты на микроЭВМ.
4. Распечатать листинг программы.
5. Исходные данные, промежуточные и окончательные результаты расчёта вывести на экран видеотерминала (дисплея) и на печатающее устройство.
Таблица 7.1. Список заданий
Вариант | Функции | Исходные данные |
Задание 2.
1. Составить схему алгоритма для вычисления функций, приведённых в табл. 7.1, домножив каждое значение функции на дополнительный член .
2. Выполнить пп. 2 – 6.
Дата добавления: 2021-12-14; просмотров: 259;