
- •4. Код программы
- •3. Используя условные конструкции уменьшаем корень до тех пор, пока его точность не расходиться с реальным на e1.
- •4. Код программы
- •Метод прямоугольника
- •4. Код программы
- •Метод прямоугольника
- •4. Код программы
- •110 End //Конец программы
- •5.Ответ: 10 1 0.34867844 0.367879441 Приведение матрицы к треугольному виду. Метод Гаусса
- •4. Код программы:
- •290 End //Конец программы Решение системы линейных уравнений методом Зейделя
- •4. Код программы:
- •150 End //Конец программы
Метод прямоугольника
2. Интегрирование производится по формуле: S=S+H*(FN(X) + 4*FN(X+H) + FN(X+2*H))/3 Для точности результата оно проводится несколько раз.
3. Используя цикл производим интегрирование функции.
4. Код программы
10 DEF FNA(X) = SQR(2*X+1) // Задние функции
20 INPUT "Введите число (Например, 21) ";N //Ввод количества итераций
40 H=1/ (N-2) // Задание значения H
50 S=0 // Задание значения S
60 FOR I=1 TO N-1 STEP 2 //Цикл: начиная с 1, до N-1 (четного значения), с шагом 2
70 X=H*(I-1) //Присвоение значения переменной Х: произведение H на разность номера текущей итерации и 1
80 S=S+H*(FNA(X) + 4*FNA(X+H) + FNA(X+2*H))/3 //Вычисление по формуле
90 NEXT I // Следующий шаг итерации
100 PRINT S //Печать результата
110 END //Конец программы
5 Ответ: 1.49067296
Для метода трапеции - S=0.5*H * (y(x)+(y(x+h)), для метода Симпсона – S=H/3 * (y(x)+4y(x+h)+y(x+2))
Пояснительная
записка №5 стр.
1. Цель: найти значения функции y= X - SIN(X) + .25. Функция определена на отрезке [a,b].
2. Осуществляется перебор корней на заданном участке по формуле: yn-1 = yn + ∆x*FN(X).
3. Используя цикл производим вычисление функции.
4. Код программы
10 DEF FNR(X,Y) = -Y //Определение функции
20 H=.1 X=0 Y=1 K=0 //Первоначальное определение переменных
30 P=EXP(-X)
40 PRINT K," ";X," ";Y," ";P //Вывод начальных значений переменных
50 FOR I=1 TO 10 //Цикл для вычисления значений
60 C=H*FNR(X,Y)
70 X=X+H P=EXP(-X)
80 Y=Y+C //Формулы вычисления
90 PRINT K," ";X," ";Y," ";P //Вывод результата
100 NEXT I //Переход на следующий шаг
110 End //Конец программы
5.Ответ: 10 1 0.34867844 0.367879441 Приведение матрицы к треугольному виду. Метод Гаусса
1. Цель: привести матрицу к треугольному виду, заполнив пустые элементы нулями
2. Построение матрицы, вычисление её значения
3. Ввод значений матрицы, её построение, вычисление значения. Используются циклы
4. Код программы:
3 INPUT N //Ввод количества элементов
5 DIM A(N, N), B(N), X(N) //Определение массивов А, В, Х
10 FOR I = 1 TO N //Заполнение строки I
20 FOR J = 1 TO N //Заполнение строки J
30 PRINT "Введите другое число("; I; ","; J; ")";
40 INPUT A(I, J) //Ввод чисел для массива А
50 NEXT J
60 PRINT "Введите другое число("; I; ")";
70 INPUT B(I) //Ввод чисел для массива В
80 NEXT I
90 FOR I = 1 TO N – 1 //Цикл для заполнения (обнуления первых) элеметнов
91 L = I //Значение переменной L присваивается текущее значение цикла
92 FOR M = I + 1 TO N //Задание цикла
93 IF ABS(A(M, I)) > ABS(A(L, I)) THEN L = M //Условие: величина первого элемента, не должна быть больше следующего
94 NEXT M
95 IF L = I THEN GOTO 100 //Условие: если L равно ткущему значению цикла, переход на строку 100
96 FOR J = I TO N //Цикл для перебора элементов J-строки
97 V = A(I, J): A(I, J) = A(L, J): A(L, J) = V //Присвоение значений массива А
98 NEXT J
99 V = B(I): B(I) = B(L): B(L) = V //Присвоение значений массива В
100 FOR K = I + 1 TO N //Перебор последней строки
110 C = A(K, I) / A(I, I) //Вычисление значений
120 FOR J = I TO N //Перебор строк с последующим вычислением
130 A(K, J) = A(K, J) - C * A(I, J)
140 NEXT J
150 B(K) = B(K) - C * B(I) //Вычисление значений, заносимое в массив В
160 NEXT K
170 NEXT I
180 X(N) = B(N) / A(N, N) //Заполнение массива Х
190 FOR I = N - 1 TO 1 STEP -1 //Обратный перебор значений
200 S = B(I)
210 FOR K = N TO I + 1 STEP -1 //Обратный перебор значений
220 S = S - A(I, K) * X(K) //Вычисление значений массива А и Х
230 NEXT K
240 X(I) = S / A(I, I) //Вычисление значения S и массива А, заносимое в массив Х
250 NEXT I
255 PRINT "Результат:" // Вывод
260 FOR I = 1 TO N //Цикл для вывода получившихся значений
270 PRINT " X("; I; ")="; X(I)
280 NEXT I