Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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)); Алгоритмизация и программирование разветвляющихся процессов". 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. Кафедра: «Машины и технологии литейного производства». Белорусский национальный технический университет. Министерство… Читать ещё >

Алгоритмизация и программирование разветвляющихся процессов (реферат, курсовая, диплом, контрольная)

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

Белорусский национальный технический университет

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

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

на тему:

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

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

Минск 2010 г.

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

где ,

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

,

, где 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 to n+3 do begin

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

for j:=2 to n+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 ('Vvedite znachenie x=');

readln (x);

if x<=x4 then 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

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

end;

if (x4<=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<=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

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

end;

if (x11<=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

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

end;

if (x15<=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>x25 then begin

z:=0;

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

End.

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

Vvedite znachenie x=23

x= 23.00 Z=net znacheniy

Vvedite znachenie x=-37

x=-37.00 Z=net znacheniy

Vvedite znachenie x=-100

x=-100.00 Z=net znacheniy

Vvedite znachenie x=-7

x= -7.00 Z=-149 327 123 808.531

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

где ,

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

,

, где 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 to n+3 do begin

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

for j:=2 to n+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<=x4 then 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<=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<=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<=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<=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>x25 then begin

z:=0;

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

x:=x+1;

end;

End.

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

x= -80 A[1]=net znacheniy

x= -79 A[2]=net znacheniy

x= -78 A[3]=net znacheniy

x= -77 A[4]=net znacheniy

x= -76 A[5]=net znacheniy

x= -75 A[6]=net znacheniy

x= -74 A[7]=net znacheniy

x= -73 A[8]=net znacheniy

x= -72 A[9]=net znacheniy

x= -71 A[10]=net znacheniy

x= -70 A[11]=net znacheniy

x= -69 A[12]=net znacheniy

x= -68 A[13]=net znacheniy

x= -67 A[14]=net znacheniy

x= -66 A[15]=net znacheniy

x= -65 A[16]=net znacheniy

x= -64 A[17]=net znacheniy

x= -63 A[18]=net znacheniy

x= -62 A[19]=net znacheniy

x= -61 A[20]=net znacheniy

x= -60 A[21]=net znacheniy

x= -59 A[22]=net znacheniy

x= -58 A[23]=net znacheniy

x= -57 A[24]=net znacheniy

x= -56 A[25]=net znacheniy

x= -55 A[26]=net znacheniy

x= -54 A[27]=net znacheniy

x= -53 A[28]=net znacheniy

x= -52 A[29]=net znacheniy

x= -51 A[30]=net znacheniy

x= -50 A[31]=net znacheniy

x= -49 A[32]=net znacheniy

x= -48 A[33]=net znacheniy

x= -47 A[34]=net znacheniy

x= -46 A[35]=net znacheniy

x= -45 A[36]=net znacheniy

x= -44 A[37]=net znacheniy

x= -43 A[38]=net znacheniy

x= -42 A[39]=net znacheniy

x= -41 A[40]=net znacheniy

x= -40 A[41]=net znacheniy

x= -39 A[42]=net znacheniy

x= -38 A[43]=net znacheniy

x= -37 A[44]=net znacheniy

x= -36 A[45]=net znacheniy

x= -35 A[46]=net znacheniy

x= -34 A[47]=net znacheniy

x= -33 A[48]=net znacheniy

x= -32 A[49]=net znacheniy

x= -31 A[50]=net znacheniy

x= -30 A[51]=net znacheniy

x= -29 A[52]=net znacheniy

x= -28 A[53]=net znacheniy

x= -27 A[54]=net znacheniy

x= -26 A[55]=net znacheniy

x= -25 A[56]=net znacheniy

x= -24 A[57]=-5.836 601 583 851 2507E+0040

x= -23 A[58]=net znacheniy

x= -22 A[59]=net znacheniy

x= -21 A[60]=net znacheniy

x= -20 A[61]=net znacheniy

x= -19 A[62]=net znacheniy

x= -18 A[63]=-1 919 150 107 529 503 410 589 704 126 464.000

x= -17 A[64]=-35 150 460 342 785 760 359 639 678 976.000

x= -16 A[65]=-643 803 138 411 235 366 464 913 408.000

x= -15 A[66]=-11 791 665 798 573 937 538 367 488.000

x= -14 A[67]=-215 971 892 663 317 595 947 008.000

x= -13 A[68]=-3 955 663 196 137 779 625 984.000

x= -12 A[69]=-72 450 498 665 911 328 768.000

x= -11 A[70]=-1 326 977 170 869 205 248.000

x= -10 A[71]=-24 304 434 670 875 824.700

x= -9 A[72]=-445 151 244 453 472.912

x= -8 A[73]=-8 153 225 056 674.438

x= -7 A[74]=-149 327 123 808.531

x= -6 A[75]=-2 730 605 050.098

x= -5 A[76]=-45 581 616.828

x= -4 A[77]=net znacheniy

x= -3 A[78]=net znacheniy

x= -2 A[79]=net znacheniy

x= -1 A[80]=net znacheniy

x= 0 A[81]=net znacheniy

x= 1 A[82]=net znacheniy

x= 2 A[83]=net znacheniy

x= 3 A[84]=net znacheniy

x= 4 A[85]=net znacheniy

x= 5 A[86]=net znacheniy

x= 6 A[87]=net znacheniy

x= 7 A[88]=net znacheniy

x= 8 A[89]=net znacheniy

x= 9 A[90]=net znacheniy

x= 10 A[91]=net znacheniy

x= 11 A[92]=net znacheniy

x= 12 A[93]=net znacheniy

x= 13 A[94]=net znacheniy

x= 14 A[95]=net znacheniy

x= 15 A[96]=net znacheniy

x= 16 A[97]=net znacheniy

x= 17 A[98]=net znacheniy

x= 18 A[99]=net znacheniy

x= 19 A[100]=net znacheniy

x= 20 A[101]=net znacheniy

x= 21 A[102]=net znacheniy

x= 22 A[103]=net znacheniy

x= 23 A[104]=net znacheniy

x= 24 A[105]=net znacheniy

x= 25 A[106]=net znacheniy

x= 26 A[107]=net znacheniy

x= 27 A[108]=net znacheniy

x= 28 A[109]=net znacheniy

x= 29 A[110]=net znacheniy

x= 30 A[111]=net znacheniy

x= 31 A[112]=net znacheniy

x= 32 A[113]=net znacheniy

x= 33 A[114]=net znacheniy

x= 34 A[115]=net znacheniy

x= 35 A[116]=net znacheniy

x= 36 A[117]=net znacheniy

x= 37 A[118]=net znacheniy

x= 38 A[119]=net znacheniy

x= 39 A[120]=net znacheniy

x= 40 A[121]=net znacheniy

x= 41 A[122]=net znacheniy

x= 42 A[123]=net znacheniy

x= 43 A[124]=net znacheniy

x= 44 A[125]=net znacheniy

x= 45 A[126]=net znacheniy

Постановка задачи 3.

Разработать алгоритм и программу для решения нелинейного уравнения с параметрами методом половинного деления. С помощью программы вычислить все корни уравнений в соответствии с указанным вариантом и заданной точностью е=10-4. Параметр, а задать самостоятельно методом перебора. Определить для каких, а уравнение имеет 1,2,3,4,5 действительных корней.

Построить таблицу которая должна иллюстрировать количество корней уравнения для F (x, a)=0 (ограничиться 5-тью корнями при заданном). Построить график F (x, a) от x для параметров a соответствующего наибольшему количеству корней найденных в задании.

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

Program Kursovoj_Braginec_DA;

uses crt;

var

yn, yk, e, y, a, x, h, h1:real;

d:integer;

koren:boolean;

f:text;

function funk (x, a: real):real;

begin

funk:=ln (x*a)+exp (2*ln (cos (a*x)))/sin (a*x)+SQRT ((x+7)/a)+(x+7)+a;

end;

Begin

clrscr;

assign (f,'Otvet.txt');

rewrite (f);

a:=0;h:=0.001;h1:=0.001;

while a<4 do begin

writeln (f,'pri a=', a:8:4);

d:=0;

while x<=10 do begin

if (sin (a*x)<>0) and (x*a>0) and ((x+7)/a>=0) then begin funk (x, a);

if funk (x, a)=0 then begin

d:=d+1;

writeln (f,'x=', x:8:4);

end;

if funk (x, a)* funk (x+h1,a)<0 then

begin d:=d+1;

yn:=x;

yk:=x+h1;

e:=0.0001;

koren:=false;

while (abs (yk-yn)>e) and (not (koren)) do begin

y:=(yk+yn)/2;

if funk (y, a)=0 then koren:=true

else if funk (yn, a)* funk (y, a)<0 then

yk:=y

else yn:=y;

end;

if koren=true then writeln (f,'x=', y:8:4)

else writeln (f,'x=', yn:8:4);

end;

end;

x:=x+h1;

end;

writeln (f,'kopHey ', d);

a:=a+h;

end;

close (f);END.

Результаты счета:

pri a= -1.1000

kopHey 1

x=-9.9990

pri a= -5.0000

kopHey 2

x= -7. 6670

x= -7.0740

pri a= -7.0100

kopHey 3

x= -9.8300

x= -11.6230

x= -18.9510

pri a= -11.2020

kopHey 4

x= -7.0010

x= -9.4230

x= -7.1030

x= -10.4930

pri a= -13.9320

kopHey 5

x= -7.1726

x= -9.2348

x= -9.3293

x= -10.7739

x= -11.3739

Показать весь текст
Заполнить форму текущей работой