Реферат: Алгоритмизация и программирование разветвляющихся процессов

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

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

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

на тему:

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

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

 

Минск 2010г.


Постановка задачи №1.Разработать алгоритм и программу для вычисленияфункции Z(x), заданной интервально на различных промежутках. Если функцияZ(x) неопределенна при каких-либо значениях x, то в программе необходимопредусмотреть вывод сообщения “При данном X функция неопределенна” и вывести значение X. Общий вид задания функции:

где />,/>

/>,

/>,

/>,

/> 

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

/>,<sup/>/>/>,

/>,<sup/>/>/>,где n – номер варианта.

 

Листинг программы№1

Program kursovoj_Braginec_DA;

var j:integer;

a,b,c,d,x,x4,x7,x11,x15,x25:real;

i,n:integer;

z:extended;

Begin

a:=0;b:=0;c:=0;n:=3;

for j:=1 ton+3 do begin

a:=a+sin(j);c:=c+j*j*j+j; end;

for j:=2 ton+3 do begin

b:=b+1/ln(j);end;d:=a+b+c;

x4:=5*4-80;x7:=5*7-80;x11:=5*11-80; x15:=5*15-80; x25:=5*25-80;

writeln('Vvediteznachenie x=');

readln(x);

if x<=x4then begin

if (x>1)and (a>1) then begin

z:=b*SQRT(x)+SQRT(ln(a*x))+c*x*x*x+d*exp((1/10)*ln(x));

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

end

elsewriteln('x=',x:6:2,' Z=net znacheniy');

end;

if(x4<x)and(x<=x7) then begin

if (x>0)then begin

z:=a*exp(3*ln(cos(ABS(x))))+b*sin(d*x)+exp(4*(sin(x)/cos(x)))+d*ln(x)*ln(x);

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

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

end;

if(x7<x)and(x<=x11) then begin

if (x>0)and (x/d>=0) then begin

z:=ln(abs(a*x))+b*cos(x*x*x*x)*sin(1/(x*x*x))-c*ln(x)*ln(x)*ln(x)+sqrt(x/d);

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

end

elsewriteln('x=',x:6:2,' Z=net znacheniy');

end;

if(x11<x)and(x<=x15) then begin

if(x-5*x*x*x>0) and (d>0) and (x*x*x-2*d<>0) and(exp(3*ln(x+c))>=0) then begin

z:=a*exp(-4*x)+b*ln(x-5*x*x*x)+c*SQRT(exp(3*ln(x+c)))+ln(d)/(x*x*x-2*d);

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

end

elsewriteln('x=',x:6:2,' Z=net znacheniy');

end;

if(x15<x)and(x<=x25) then begin

if(x<>0) and (x-d>0) and (d>=0) then begin

z:=a*exp(3/8*ln(ln(ABS(x))))+b*sin(b*exp(-b/x))+(x-c)+d*sin(x*x*x)*sin(x*x*x)/(cos(x*x*x)*cos(x*x*x)*ln(x-d));

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

end

else

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

end;

if x>x25then begin

z:=0;

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

End.

Результаты задачи№1

Vvedite znacheniex=23

x= 23.00 Z=netznacheniy

Vvedite znacheniex=-37

x=-37.00 Z=netznacheniy

Vvedite znacheniex=-100

x=-100.00 Z=net znacheniy

Vvedite znacheniex=-7

x= -7.00 Z=-149327123808.531


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

где />,/>

/>,

/>,

/>,

/> 

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

/>,<sup/>/>/>,

/>,<sup/>/>/>,где n – номер варианта.

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

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

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

Листинг программы№2

Program Kursovoj_Braginec_DA;

uses crt;

var j:integer;

a,b,c,d,x4,x7,x11,x15,x25:real;

i,n,x:integer;

f:text;

z:extended;

Begin

clrscr;

assign(f,'Otvet.txt');

rewrite(f);

a:=0;b:=0;c:=0;n:=3;

for j:=1 ton+3 do begin

a:=a+sin(j);c:=c+j*j*j+j; end;

for j:=2 ton+3 do begin

b:=b+1/ln(j);end;d:=a+b+c;

x4:=5*4-80;x7:=5*7-80;x11:=5*11-80; x15:=5*15-80; x25:=5*25-80;x:=-80; for i:=1 to 131 do begin

if x<=x4then begin

if (x>1)and (a>1) then begin

z:=b*SQRT(x)+SQRT(ln(a*x))+c*x*x*x+d*exp((1/10)*ln(x));

writeln(f,'x=',x:6,'A[',i,']=',z:6:3);

end

else writeln(f,'x=',x:6,'A[',i,']=net znacheniy');

end;

if(x4<x)and(x<=x7) then begin

if (x>0)then begin

z:=a*exp(3*ln(cos(ABS(x))))+b*sin(d*x)+exp(4*(sin(x)/cos(x)))+d*ln(x)*ln(x);

writeln(f,'x=',x:6,'A[',i,']=',z:6:3);end else

writeln(f,'x=',x:6,'A[',i,']=net znacheniy');

end;

if(x7<x)and(x<=x11) then begin

if (x>0)and (x/d>=0) then begin

z:=ln(abs(a*x))+b*cos(x*x*x*x)*sin(1/(x*x*x))-c*ln(x)*ln(x)*ln(x)+sqrt(x/d);

writeln(f,'x=',x:6,'A[',i,']=',z:6:3); end

else

writeln(f,'x=',x:6,'A[',i,']=net znacheniy');

end;

if(x11<x)and(x<=x15) then begin

if(x-5*x*x*x>0) and (d>0) and (x*x*x-2*d<>0) and(exp(3*ln(x+c))>=0) then begin

z:=a*exp(-4*x)+b*ln(x-5*x*x*x)+c*SQRT(exp(3*ln(x+c)))+ln(d)/(x*x*x-2*d);

writeln(f,'x=',x:6,'A[',i,']=',z:6:3);

end

else

writeln(f,'x=',x:6,'A[',i,']=net znacheniy');

end;

if(x15<x)and(x<=x25) then begin

if(x<>0) and (x-d>0) and (d>=0) then begin

z:=a*exp(3/8*ln(ln(ABS(x))))+b*sin(b*exp(-b/x))+(x-c)+d*sin(x*x*x)*sin(x*x*x)/(cos(x*x*x)*cos(x*x*x)*ln(x-d));

writeln(f,'x=',x:6,'A[',i,']=',z:6:3);

end

else

writeln(f,'x=',x:6,'A[',i,']=net znacheniy');

end;

if x>x25then begin

z:=0;

writeln(f,'x=',x:6,'A[',i,']=',z:6:3);end;

x:=x+1;

end;

End.

Результатызадачи №2.

еще рефераты
Еще работы по информатике, программированию