Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая на Pascal.http://vk.com/pomoshtulgu.doc
Скачиваний:
27
Добавлен:
10.05.2015
Размер:
473.6 Кб
Скачать

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

else

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

еременная для проверки