Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8 var.docx
Скачиваний:
2
Добавлен:
07.09.2019
Размер:
89.88 Кб
Скачать

Министерство Образования Республики Беларусь Белорусский национальный технический университет

Кафедра: «Машины и технологии литейного производства»

Курсовой проект

на тему:

  1. «Алгоритмизация и программирование разветвляющихся процессов».

  2. «Методы решения нелинейных уравнений».

Вариант №8

Выполнил: студент гр.104319

Елак И.М.

Руководитель: профессор

Чичко А.Н.

Минск 2011г.

Постановка задачи 1. Разработать алгоритм и программу формирования одномерного массива Z[i] по условию Z[i]=Z(x), заданной интервально на различных промежутках. Если функция Z(x) неопределенна при каких-либо значениях x, то в программе необходимо предусмотреть вывод сообщения «При данном Х функция неопределенна» и вывести значение Х. Вид задания функции:

Z(x)=

F20 x≤x20

, x20=20-12,

F21 x12<x≤x21

, x21=21-12,

F23 x21<x≤x23

, x23=23-12,

F24 x23<x≤x24

, x24=24-12,

F25 x24<x≤x25

, x25=25-12,

0, x>x25

.

где

f 20=Z*x3Z +b*ln3x - +c*lnx-c;

f21 =ln(Zx) + cos(xb)/ln(bx) - (x+7d)+c

f23 =ln(cos(Zx)) + b2ebx - cx5+ ln ;

f24 =e-cx/3+Z*ln(Zx)+b - d/(x3+7)

f25 =Z*ln3/8 + b*sin(be-b/x)+(x-c)+d .

Значения Z,b,c,d вычисляются по формулам:

, ,

, , где n – номер варианта.

При формировании функции массива Z[i] можно выбрать несколько вариантов шага, но при условии, чтобы на каждом из интервалов было взято не менее 10-ти значений

При выполнении задачи шаг по x можно брать нецелым числом. В программе необходимо организовать вывод всех элементов Z[i] и числа их значений на монитор.

Блок-схема для задачи 1.

У1: (x>0) and (ln(x)>0) and ((d*x)>=0);

У2: if ((a*x)>0) and ((x*ln(b)<>0)) and

and (ln(c*exp((2/7)*ln(x)))<>0);

У3: ((cos(a*x))>0) and (d>0) and ((exp(3*ln(d)))>0) and (x<>0);

У4: ((a*x)>0) and ((x*exp(2*ln(abs(x)))+7)<>0) and (x<>0)

У5: (x<>0) and ((ln(abs(x)))>0) and (ln(x-d)<>0) and (cos(x*exp(2*ln(abs(x))))<>0)

Нет значений

X=, Z

А

Б

Г

Б

Г

В

Д

i=300

Конец Программа задачи №1.

ProgrZm ZZdZchZ1;

uses crt;

vZr j:integer;

Z,b,c,d,x,z,z1, x20,x21,x23,x24,x25:reZl;

i,n:integer;

f:text;

Begin

clrscr;

Zssign(f,'result8.txt');

rewrite(f);

Z:=0;b:=0;c:=0;n:=8;

for j:=1 to n+3 do begin

Z:=Z+sin(j); b:=b+ln(j); c:=c+j*j*j+j; end;

d:=Z+b+c;

x20:=20-12; x21:=21-12; x23:=23-12; x24:=24-12; x25:=25-12;

x:=0

for i:=1 to 300 do begin

if x<=x20 then begin

if (x>0) Znd (ln(x)>0) Znd ((d*x)>=0) then begin

z:=Z*exp(3*Z*ln(x))+b*exp(3*ln(ln(x)))+sqrt(d*x)+(-c)*c*ln(x);

writeln(f,'x=',x:6:2,' Z=',z:12:3);

end

else writeln(f,'x=',x:6:2,' Z=net znZcheniy');

end;

if (x20<x) Znd (x<=x21) then begin

if ((Z*x)>0) Znd (x>0) Znd ((x*ln(b)<>0)) Znd ((c*exp((2/7)*ln(x)))>0)

Znd (ln(c*exp((2/7)*ln(x)))<>0) then

begin

z:=ln(Z*x)+cos(exp(b*ln(x)))/(x*ln(b))-(x+7*d)+c*exp(2*c*x)/ln(c*exp((2/7)*ln(x)));

writeln(f,'x=',x:6:2,' Z=',z:12:3);end

else

writeln(f,'x=',x:6:2,' Z=net znZcheniy');

end;

if (x21<x) Znd (x<=x23) then begin

if ((cos(Z*x))>0) Znd (d>0) Znd ((exp(3*ln(d)))>0) Znd (x<>0) then

begin

z:=ln(cos(Z*x))+sqrt(b)*exp(b*x)-c*x*exp(4*ln(Zbs(x)))+sqrt(exp(3*ln(d)))*ln(Zbs(x));

writeln(f,'x=',x:6:2,' Z=',z:12:3); end

else

writeln(f,'x=',x:6:2,' Z=net znZcheniy');

end;

if (x23<x) Znd (x<=x24) then begin

if ((Z*x)>0) Znd ((x*exp(2*ln(Zbs(x)))+7)<>0) Znd (x<>0) then

begin

z:=exp((-c)*x/3)+Z*ln(Z*x)+b*sqrt(sqr(sqr(b))*cos(x))-d/(x*exp(2*ln(Zbs(x)))+7);

writeln(f,'x=',x:6:2,' Z=',z:12:3);

end

else

writeln(f,'x=',x:6:2,' Z=net znZcheniy');

end;

if (x24<x) Znd (x<=x25) then begin

if (x<>0) Znd ((ln(Zbs(x)))>0) Znd ((x-d)>0) Znd (ln(x-d)<>0) Znd (cos(x*exp(2*ln(Zbs(x))))<>0) then

begin

z1:=Z*exp((3/8)*ln(ln(Zbs(x))))+b*sin(b*exp((-b)/x))+(x-c);

z:=z1+d*(sqr((sin(x*exp(2*ln(Zbs(x)))))/cos(x*exp(2*ln(Zbs(x))))))/ln(x-d);

writeln(f,'x=',x:6:2,' Z=',z:12:3);

end

else

writeln(f,'x=',x:6:2,' Z=net znZcheniy');

end;

if x>x25 then begin

z:=0;

writeln(f,'x=',x:6:2,' Z=',z:1:0);end;

x:=x+0.5;

end;

End.