|
|||
«ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ, ИТЕРАЦИОННЫЕ ЦИКЛЫ. ВЫЧИСЛЕНИЕ СУММЫ БЕСКОНЕЧНОГО РЯДА»
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Рязанский государственный радиотехнический университет имени В. Ф. Уткина»
Кафедра «ВПМ»
Отчет о лабораторной работе №5 Вариант 4
«ИТЕРАЦИОННЫЕ ЦИКЛЫ. УТОЧНЕНИЕ КОРНЕЙ УРАВНЕНИЙ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ, ИТЕРАЦИОННЫЕ ЦИКЛЫ. ВЫЧИСЛЕНИЕ СУММЫ БЕСКОНЕЧНОГО РЯДА»
По дисциплине «Алгоритмические языки и программирование»
Выполнила: ст. гр. 046 Бурцева С. Проверили: с. п. Москвитина О. А. доцент, к. т. н. Макаров Н. П.
Рязань 2020
Цель работы: Нахождение корней методом половинного деления (тема12), вычислить сумму бесконечного ряда (тема14) Задание: Область, содержащая корень[0; 0, 85]
Блок-схема: {Цель - уточнение корня} {Переменные: } {eps – допустимая погрешность; x – приближение корня; } {a, b – границы интервала; y – значение функции на левой границе; } {z - значение функции в середине отрезка. } {Метод – половинного деления} {Подпрограммы: } {F – исследуемая функция} {Программист: {ст. гр. 046 Бурцева Светлана } {Проверила: с. п. Москвитина О. А. } {Дата - 30. 11. 20 г. } Program 12; Var a, b, eps, x, y, z: real; Function F(x: real): real; Begin F: =x-(1/(3+sin(3. 6*x))) end; Begin writeln('Введите границы интервала и погрешность'); Read(a, b, eps); WriteLn('Винтервале: ', a, ', ', b); WriteLn('C погрешностью: ', eps); y: = F(a); repeat x: = (a+b)/2; z: = F(x); ify*z < 0 then b: = x else begin a: =x; y: =z; end; untilb-a < = eps; writeln('корень: ', x, ' f(x)=', z); End.
Окно вывода
Задание: Диапазон изменений Выражение для проверки: sinx
Блок-схема
{Цель - вычисление суммы с заданной} {погрешностью по итерационному Алгоритму} {Переменные: {x - аргумент функции; } {n - переменная суммирования; } {eps - погрешность вычисления суммы; } {S – сумма; t – слагаемое. } {Программист: {ст. гр. 046 Бурцева Светлана } {Проверила: с. п. Москвитина О. А. } {Дата - 30. 11. 20 г. }
Programlab14; Var eps, S, t, x: real; n: integer; Begin writeln('x='); readln(x); writeln('eps='); readln(eps); writeln('Для x = ', x, ' с погрешностью ', eps); t: =x; S: =x; n: =1; whileabs(t)> epsdo begin t: =-t*x*x/(2*n*(2*n+1)); S: =S+t; n: =n+1; end; writeln('n = ', n, ' S =', S: 12: 9); writeln('Контрольное значение: ', sin(x): 12: 9); End.
Окно вывода:
Вывод: Я научилась конструировать программы со структурой итерационных циклов
|
|||
|