Разработка Паскаль-программы для решения сложной функции

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

p>

 

7-10:

Блок№8 - вычисление массива С[i]

Блок№9 - вывод этого массива почленно:

 

for i:=1 to n do

begin

c[i]:=2/sin(i);(c[i]:5:2, );:=s+c[i];

end;

 

-19:

Цикл 11-18 описывает вычисление сложной функции yj и заполнение соответствующего массива. В тело этого цикла входят два условных оператора, осуществляющих вычисление сложной функции по заданным условиям, идущим по трём веткам программы:

Блоки№13,15: блоки условного оператора if

Блоки№14,16,17 вычисление сложной функции

 

for j:=1 to m do:=b0+j*h;x[j]=(1.1*b) then[j]:=x[j]+(sin(x[j])/cos(x[j]));(y[j]:5:2, );;

 

19-22;

В этих блоках идет вычисление среднего квадратичного значения функции:

:=0;j:=1 to m doj mod 5 = 0 then :=srk+y[j]*y[j];:=sqrt(srk/m);

:

 

В этом цикле идет построение графика сложной математической функции:

line(10, 480-20, 10, 480-400) и line(10, 480-20, 600, 480-20) - построение координатных осей.

outtextXY(10,40,Yj) и outtextXY(590,465,j) - обозначение осей Y(j) и j соответственно.

Moveto(10+trunc(j*mas),460-trunc(y[j]*mas)) - построение соответствующих точек. Где trunc(j*mas) и trunc(y[j]*mas) - округление дробных чисел до целого числа.

 

Lineto(10+trunc(j*mas),460-trunc(y[j]*mas)) - (10+trunc(j*mas),460-trunc(y[j]*mas),9) -

:=detect;(gm,gd,c:\BP\BGI);(10, 480-20, 10, 480-400);(10, 480-20, 600, 480-20);:=1;(10,40,Yj);(590,465,j);(10+trunc(j*mas),460-trunc(y[j]*mas));j:=1 to m-1(10+trunc(j*mas),460-trunc(y[j]*mas));(10+trunc(j*mas),460-trunc(y[j]*mas),9);

end;

 

. Полная программа в соответствии с алгоритмом

 

Полная рабочая программа написанная по блок схеме алгоритма представленного на рисунке 1.1 будет иметь следующий вид:

Kyrs1;crt,graph;=26;=0.15;=2.25;=20;,c,x:array[1..40] of real;,gm,n,m,i,j:integer;,b,srk,min,max,y1:real;;(vvedite kol-vo chlenov c,x);(n,m);(x massiv);j:=1 to m do:=b0+j*h;[j]:=(exp(2/5*ln(b))+a)/(2*j);(x[j]:5:2, );;;(ci massiv);i:=1 to n do[i]:=2/sin(i);(c[i]:5:2, );:=s+c[i];;;(y massiv);j:=1 to m do:=b0+j*h;x[j]y[j] then max:=y[j];min<y[j] then min:=y[j];;:=0;j:=1 to m doj mod 5 = 0 then:=srk+y[j]*y[j];;:=sqrt(srk/m);;(sredkvadr,srk:5:2);;:=detect;(gm,gd,c:\BP\BGI);(10, 480-20, 10, 480-400);(10, 480-20, 600, 480-20);:=1;(10,40,Yj);(590,465,j);(10+trunc(j*mas),460-trunc(y[j]*mas));j:=1 to m-1 do(10+trunc(j*mas),460-trunc(y[j]*mas));(10+trunc(j*mas),460-trunc(y[j]*mas),9);;

readln;

end.

 

4 Результаты расчётов на ПК

 

График функции Y(j) представлен на рисунке 4.1

 

Рисунок 4.1-График функции Y(j).

Заключение

 

Данная курсовая работа была написана в среде программирования Турбо Паскаль. В процессе выполнения работы усвоены основные принципы написания программы на языке Паскаль, закреплены знания по программированию алгоритмов с использованием функций пользователя и созданию алгоритмов в целом. Результатом проделанной работы стала программа по вычислению сложной функции y. Программа сделана универсальной, то есть с помощью её можно найти значения при любом числе элементов массива и других параметров.

С целью проверки правильности полученных результатов произведем ручной расчет сложной математической функции Y(j) для значения j=1.

=bнач+j*h=0,15+1*2,25=2,4

X(1)=

 

Очевидно, что x>>b, и значит Y(j) будет считаться по следующей формуле:

(1)=X(1)+tg(X(1))=13,71+tg(13,71)=13,71+2,2=15,91?15,90

 

Правильность результатов полученных в программе подтвердила ручная проверка.

 

Литература

 

1.Изучаем Turbo Pascal / Под ред. С. Немнюгин, Л. Перколаб - С.-Пб.:Питер.- 2004г.-780с.

2.Конспект лекций по курсу Информационные технологии. - 2007г.

. Самоучитель по Паскалю/ Под ред. В.И. Попова, - С.-Пб.:Питер.-2004г.-325с.

.Практикум по основам программирования на языке Turbo Pascal / Под ред. Н.Д. Васюкова, В.В. Тюляева - М.: Высшая школа.- 1991г.-479с.

.Программирование на языке Turbo Pascal / Под ред. О.Н. Перминов - М.: Высшая школа.-1989г.- 295с.