- •H 3ttp://vk.Com/pomoshtulgu - создатели этой работы. Отчеты и курсовые на заказ, недорого.
- •2. Задача №2 16
- •3. Задача №3 23
- •Введение
- •1. Задача №1
- •1.1 Содержательное описание задачи
- •1.2 Математическая формулировка задачи
- •1.3 Полное описание численного метода решения
- •1.4 Разработка структур данных, необходимых для решения задачи
- •1.5 Разработка структур алгоритма решения задачи
- •1.6 Текст программы на языке программирования Turbo Pascal 7.0
- •1.7 Тестовый пример
- •1.7.1 Аналитическое решение
- •1.7.2 Решение задачи с использованием разработанного по
- •1.8 Инструкция программисту
- •1.9 Инструкция пользователю
- •2. Задача №2
- •2.1 Описание задачи
- •2.2 Математическая формулировка задачи
- •2.3 Полное описание численного метода решения задачи
- •2.4 Разработка структур данных, необходимых для решения задачи
- •2.5 Разработка структуры алгоритма решения задачи
- •2.6 Текст программы
- •2.7 Тестовый пример
- •2.7.1 Аналитическое решение
- •2.7.2 Решение задачи с использованием разработанного по
- •2.8 Инструкция программисту
- •2.9 Инструкция пользователю
- •3.5 Разработка структуры алгоритма решения задачи
- •3.6 Текст программы на языке программирования Turbo Pascal 7.0
- •3.7 Тестовый пример
- •3.7.1 Аналитическое решение
- •3.7.2 Решение задачи с использованием разработанного по
- •3.8 Инструкция программисту
- •3.9 Инструкция пользователю
1.6 Текст программы на языке программирования Turbo Pascal 7.0
Далее текст программы «LinkinPark» на языке программирования IDE Borland Turbo Pascal 7.0, выполняющей вычисления таблицы значений функции, заданной в виде разложения в ряд.
program LinkinPark;
Uses crt;
var pr,j,n:integer;
a,b,R,e,I,I2,x,h,fi,fi2,pi:real;
str1:string;
begin
clrscr;
I2:=0;
repeat
writeln('Введите нижнюю границу интегрирования. a=');
readln(str1);
val(str1,a,pr);
if pr<>0 then
writeln('Ошибка, введен символ. Введите цифру.');
until pr=0;
repeat
writeln('Введите верхнюю границу интегрирования b=');
readln(str1);
val(str1,b,pr);
if pr<>0 then
writeln('Ошибка. Введен символ. Введите цифру.');
if (a=b) or (a>b) then
writeln('Ошибка. а<>b и b>a')
if b=0 then
writeln(‘Ошибка. b<>0');
until((pr=0)and(b>a)and(b<>0));
repeat
writeln('Введите параметр функции R');
readln(str1);
val(str1,R,pr);
if pr<>0 then
writeln('Ошибка. Введен символ. Введите цифру.');
until pr=0;
repeat
writeln('Введите точность вычислений');
readln(str1);
val(str1,e,pr);
if pr<>0 then
writeln('Ошибка. Введен символ. Введите цифру.');
until pr=0;
I:=0;
pi:=3.14159265;
n:=10;
while abs(I2-I)<=e do
begin
h:=(b-a)/n;
I2:=I;
I:=0;
for j:=1 to n do
begin
x:=a+h*(j-1);
if x<-R then
fi:=-(x+R)*(sin(pi/3)/cos(pi/3))
else
begin
if x<R then
fi:=cos(x)
else
begin
if x<3*R then
fi:=sqrt(R*R-((x-2*R)*(x-2*R)))
12
fi:=(x-3*R)*(sin(pi/6)/cos(pi/6));
end;
end;
I:=I+fi*h;
n:=n*2;
end;
end;
writeln(I:5:7);
end.
1.7 Тестовый пример
1.7.1 Аналитическое решение
Посчитаем значение интеграла со следующими параметрами (рис.7).
R=2, a= -4, b=-2, n=10, e=0.001
Рисунок 6 – графическое отображение введенного интеграла
Таким образом, значение интервала на данном участке равна 3.81.
1.7.2 Решение задачи с использованием разработанного по
Рассчитаем значение этого же интеграла через программу «LinkinPark». Ниже приведено окно вывода с результатами (рис. 7).
13
Рисунок 7 – Тестовый ввод
По приведенному выше рисунку 7 можно сделать вывод о том, что данная программа работает корректно. Отличие в результатах обусловлено тем, что вычисление по методу левых прямоугольников дает приближенное значение интеграла
1.8 Инструкция программисту
Программа «LinkinPark» вычисляет интеграл функции, заданной графически на промежутке [а,b]. Далее приведена таблица переменных, используемых в программе (табл. 1).
Таблица 1 – Описание переменных «LinkinPark»
-
Имя
Тип
Предназначение
i
integer
Переменная цикла
n
integer
Количество интервалов разбиения
a
real
Нижняя граница интервала
b
real
Верхняя граница интервала
R
real
Параметр функции
e
real
Точность вычислений
I
real
Значения интеграла на данной итерации
I2
real
Значение интеграла всей функции
x
real
Переменная функции
str1
boolean
Переменная для проверки
h
real
Величина шага между
pr
integer
П
14
еременная для проверки