Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика / Пояснительные записки по информатики.doc
Скачиваний:
34
Добавлен:
04.01.2014
Размер:
68.1 Кб
Скачать

Метод прямоугольника

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 стр. 4 из 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