ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 26
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Readln(N);
S := 0; {Обнуление суммы}
for I := 1 To N Do {Цикл по заданному N}
S := S + I * I; {Вычисление суммы}
Writeln('Сумма ', N, ' членов ряда=', S:12:0);
Writeln('-------------------------');
Writeln('Нажмите Enter для завершения');
Readln;
end.
Результаты работы программы task_5:
Результат вычисления при N=100:
Задание 6 вариант 12
На интервале [a,b] (где а = 1,5, в = 1,7) найти с точностью корни уравнения методом деления отрезка пополам для
f(x)= .
Блок-схема программы task_6:
Текст программы task_6 на языке Паскаль:
{Задание №6 Вариант №12
На интервале [a,b] (где а = 1.5, в =1.7) найти с точностью 10-5 корни уравнения
f(x)=0 методом деления отрезка пополам
f(x)= 0.5 Cos(0.2X^5)+0.2
}
{Описание переменных}
var
A, B: Real;{Границы отрезка}
Eps: Real;{Точность}
C: Real; {Середина отрезка}
X, Y, Z: Real;
N: Integer;
{Описание функции F(X)}
function F(X: Real): Real;
begin
F := 0.5 * Cos(0.2 * Power(X, 5)) + 0.2;
end;{F}
{Основная программа}
begin
Writeln('Задание №6 Вариант №12');
Writeln('-----------------------------------------');
{Назначение параметров - границ отрезка и точности}
Write('A(1.5)=');
Readln(A);
Write('B(1.7)=');
Readln(B);
Eps := 0.00001;
N := 0;
Writeln('Вычисление корня методом деления отрезка пополам');
repeat{Цикл вычисления корня}
N := N + 1;
X := F(A);{Значение функции в начале отрезка}
Y := F(B);{Значение функции в конце отрезка}
C := (A + B) / 2; {Середина отрезка}
Z := F(C); {Значение функции в середине отрезка}
{Вывод промежуточных результатов}
Writeln('N=', N:3, ' F(C)=', F(C):9:6, ' корень C=', C:9:6, ' длина отрезка=', Abs(A - B):9:6);
if X * Z > 0 {Функция меняет знак на середине отрезка?}
Then A := C {Да - Устанавливаем начало отрезка на середину}
Else B := C;{Нет - устанавливаем конец отрезка на середину}
until (Abs(A - B) < Eps) And (Abs(Z) < Eps); {Повторяем цикл, пока не достигаем заданной точности}
Writeln('-----------------------------------------');
Writeln('Точность достигнута. Корень функции =', C:9:6); {Вывод результата вычисления корня}
Writeln('Нажмите Enter для завершения');
Readln;
end.
Результаты работы программы task_6:
Заключение
В ходе проведения контрольной работы были получены навыки:
По результатам контрольной работы оформлен отчет.
S := 0; {Обнуление суммы}
for I := 1 To N Do {Цикл по заданному N}
S := S + I * I; {Вычисление суммы}
Writeln('Сумма ', N, ' членов ряда=', S:12:0);
Writeln('-------------------------');
Writeln('Нажмите Enter для завершения');
Readln;
end.
Результаты работы программы task_5:
Результат вычисления при N=100:
Задание 6 вариант 12
На интервале [a,b] (где а = 1,5, в = 1,7) найти с точностью корни уравнения методом деления отрезка пополам для
f(x)= .
Блок-схема программы task_6:
Текст программы task_6 на языке Паскаль:
{Задание №6 Вариант №12
На интервале [a,b] (где а = 1.5, в =1.7) найти с точностью 10-5 корни уравнения
f(x)=0 методом деления отрезка пополам
f(x)= 0.5 Cos(0.2X^5)+0.2
}
{Описание переменных}
var
A, B: Real;{Границы отрезка}
Eps: Real;{Точность}
C: Real; {Середина отрезка}
X, Y, Z: Real;
N: Integer;
{Описание функции F(X)}
function F(X: Real): Real;
begin
F := 0.5 * Cos(0.2 * Power(X, 5)) + 0.2;
end;{F}
{Основная программа}
begin
Writeln('Задание №6 Вариант №12');
Writeln('-----------------------------------------');
{Назначение параметров - границ отрезка и точности}
Write('A(1.5)=');
Readln(A);
Write('B(1.7)=');
Readln(B);
Eps := 0.00001;
N := 0;
Writeln('Вычисление корня методом деления отрезка пополам');
repeat{Цикл вычисления корня}
N := N + 1;
X := F(A);{Значение функции в начале отрезка}
Y := F(B);{Значение функции в конце отрезка}
C := (A + B) / 2; {Середина отрезка}
Z := F(C); {Значение функции в середине отрезка}
{Вывод промежуточных результатов}
Writeln('N=', N:3, ' F(C)=', F(C):9:6, ' корень C=', C:9:6, ' длина отрезка=', Abs(A - B):9:6);
if X * Z > 0 {Функция меняет знак на середине отрезка?}
Then A := C {Да - Устанавливаем начало отрезка на середину}
Else B := C;{Нет - устанавливаем конец отрезка на середину}
until (Abs(A - B) < Eps) And (Abs(Z) < Eps); {Повторяем цикл, пока не достигаем заданной точности}
Writeln('-----------------------------------------');
Writeln('Точность достигнута. Корень функции =', C:9:6); {Вывод результата вычисления корня}
Writeln('Нажмите Enter для завершения');
Readln;
end.
Результаты работы программы task_6:
Заключение
В ходе проведения контрольной работы были получены навыки:
-
Составления блок – схем алгоритмов в соответствии с ГОСТ 19.701. -
Написания программ на языке Паскаль. -
Отладка программ с помощью системы программирования Pascal.ABC.NET. -
Тестирования написанных программ с целью проверки правильности реализации алгоритмов.
По результатам контрольной работы оформлен отчет.