
- •Министерство Образования Республики Беларусь Белорусский национальный технический университет
- •Курсовой проект
- •Решение задачи 1:
- •Блок-схема задачи 1.
- •Программа задачи 1.
- •Результаты счета.
- •Постановка задачи 2.
- •Блок-схема задачи 2.
- •Программа задачи 2.
- •Результаты счета:
- •Постановка задачи 3.
- •Блок-схема программы 3.
- •Программа 3.
- •Результаты счета:
Министерство Образования Республики Беларусь Белорусский национальный технический университет
Кафедра: «Машины и технологии литейного производства»
Курсовой проект
на тему:
«Алгоритмизация и программирование разветвляющихся процессов».
«Методы решения нелинейных уравнений».
Вариант №5
Выполнил: студент гр.104319
Волк И.А.
Руководитель: профессор
Чичко А.Н.
Минск 2011г.
Постановка задачи 1:
Разработать алгоритм и программу формирования одномерного массива A[i] по условию A[i]=Z(x) При формировании массива A[i] необходимо для каждой из ветвей интервальной функции Z(x) взять не менее 10 значений. Таким образом, для 5-го варианта задача 1 имеет вид:
f
10 ,
если x<=59
f12, если 59<x<=73
f14,
если 73<x<=87
Z(x) = f16, если 87<x<=101
F18, если 101<x<=115
0,если x>=72,
где:
f
10=
;
f12
=
;
f14
=
;
f16=
;
f18=
;.
Решение задачи 1:
Program prog;
uses crt;
var a,b,c,d,x,x10,x12,x14,x16,x18:real;
z:real;
j,i:integer;
f:text;
begin
clrscr;
assign(f,'rezultat1.txt');
rewrite(f);
a:=0;
b:=0;
c:=0;
for j:=1 to 9 do
begin
a:=(a+sin(j))/5;
if j<>1 then
begin
b:=(b+(1/ln(j)))/5;
c:=(c+(exp(3*ln(j))+j))/5;
end;
end;
d:=(a+b+c)/5;
x:=40;
x10:=59; x12:=73; x14:=87; x16:=101; x18:=115;
for i:=1 to 80 do begin
if x<=10 then
begin
if (x<>0) and (d*x>0) then
begin
z:=a*exp(-x)+ln(d*x)/(5*x)+a*x*x*x*x
end
else writeln(f,'pri x=',x:3:1,' Z=funkcija neopredelena ') ;
end;
if (x>x10) and (x<=12) then
begin
if ((a*x)>0) and ((x-7/c)>0) and (sin(b/x)<>0) then
begin
z:=a*ln(x*a)+cos(b*x)*cos(b*x)*cos(b*x)/sin(b*x)+sqrt((x-7)/c)+exp(3*ln(x+7))*d;
writeln(f,'x=', x:4:2,' Z=', Z:2:3);
end
else writeln(f,'pri x=',x:3:1,' Z=funkcija neopredelena ') ;
end;
if (x>x12) and (x<=x14) then
begin
if (a>0) and (x>0) and (cos(sqrt(x))<>0) and (d>0) then
begin
z:=ln(sqrt(a)*x)+x*x*x*b*b+sin(c*x*x*x)-sqrt(d*d*d)*sin(sqrt(x))/cos(sqrt(x));
writeln(f,'x=', x:4:2,' Z=', Z:2:3);
end
else writeln(f,'pri x=',x:3:1,' Z=funkcija neopredelena ') ;
end;
if (x>x14) and (x<=x16) then
begin
If (a>0) and (cos(c*x)<>0) and (x>0) and (cos(abs(x))<>0) then
begin
z:=sqrt(a)*exp(3*ln(cos(abs(x))))+(1/b)*sin(4*x)+exp(3*ln(cos(c*x)))/exp(3*ln(sin(c*x)))+d*ln(2*x)*ln(2*x);
writeln(f,'x=', x:4:2,' Z=', Z:2:3);
end
else writeln(f,'pri x=',x:3:1,' Z=funkcija neopredelena ') ;
end;
if (x>x16) and (x<=x18) then
begin
if (cos(b)>0) and (x>0) then
begin
z:=a*exp(5*ln(x))-sqrt(cos(b))*sin(b*x)+c*exp(-c*x)*x+exp((-2*d)*ln(x));
writeln(f,'x=', x:4:2,' Z=', Z:2:3);
end
else writeln(f,'pri x=',x:3:1,' Z=funkcija neopredelena ');
end;
if x>x18 then
begin
z:=0;
writeln(f,'x=', x:4:2,' Z=', Z:2:3);
end;
x:=x+1;
end;
close(f);
end.