КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Составить схему алгоритма и программу решения задачи вычисления величин z и w с использованием подпрограмм пользователя .⇐ ПредыдущаяСтр 15 из 15 Вывести значения : n1 ; n2 ; p ; r ; z ; w .
№
n1 =1 ; n2 =10 ; p = –0,5; r = 1,1 ;
function f(x,y:real;k:integer):real; begin if x<=y then f:=sqrt(3)-exp(-abs(x-y)/k) else f:=sqrt(3)+exp(-abs(x+y)/k); end; function g(x,y:real;k:integer):real; begin g:=1/sqrt(3)-sin((x-y)/k); end; function z(n1,n2:integer;p,r:real):real; var k:integer; d:real; begin d:=1; for k:=n1 to n2 do d:=d*(1/sqrt(exp(1))-g(p,r,k)*f(p,r,k)); z:=d; end; function w(n1,n2:integer;p,r:real):real; var k:integer; s:real; begin s:=0; for k:=n1 to n2 do s:=s+f(r,p,k)/g(r,p,k); w:=s; end;
var n1,n2:integer; p,r:real; begin write('‚Введите N1:'); readln(n1); write('‚ Введите N2:'); readln(n2); write('‚ Введите P:'); readln(p); write('‚ Введите R:'); readln(r); writeln(z(n1,n2,p,r):10:9); writeln(w(n1,n2,p,r):10:9); readln; end.
Задание 14 Составить схему алгоритма и программу решения задачи с использованием подпрограмм. Результаты вывести в виде таблицы , в которую должны входить значения параметра t , соответствующее значение суммы ряда S(t), число членов ряда , необходимое для достижения требуемой точности ε ,достигнутая точность счета. При оформлении работы следует описать используемые в программе подпрограммы и их назначение.
№ Вычислить приближенное значение суммы ряда c точностью Ε=10–5 для значений t є [ t0 ; t1 ] с шагом Dt , где t0 = 0,2; t1 = 0,9; Dt = 0,07;
p – среднее арифметическое элементов матрицы А, удовлетворяющих условию < 1 или > 3; r – максимальный из элементов матрицы А, лежащих выше главной диагонали; k1 , k2 – номера строки и столбца минимального из элементов матрицы А, удовлетворяющих условию | аij | < 1,5 const n=3; type mas=array[1..n,1..n] of real; function f(x,y:real;k:integer):real; begin f:=exp(-2)+cos(x*y/k); end; function g(x,y:real;k:integer):real; begin if x<y then g:=exp(-1)+1/(1+k*abs(x*y)) else g:=exp(-1*ln(pi))-1/(k*(x*x+y*y)+1) end; function p(a:mas):real; var i,j,k:integer; s:real; begin k:=0; s:=0; for i:=1 to n do for j:=1 to n do if (a[i,j]<1) or (a[i,j]>3) then begin k:=k+1; s:=s+a[i,j] end; p:=s/k; end; function r(a:mas):real; var i,j,k:integer; max:real; begin max:=a[1,2]; for i:=1 to n do for j:=1 to n do if (i<j) and (a[i,j]>max)then max:=a[i,j]; r:=max; end; procedure k12(a:mas; var k1,k2:integer); var i,j:integer; min:real; begin k1:=0; k2:=0; for i:=1 to n do for j:=1 to n do if abs(a[i,j])<1.5 then min:=a[i,j]; for i:=1 to n do for j:=1 to n do if (abs(a[i,j])<1.5) and (a[i,j]<min) then min:=a[i,j]; end; function w(k2:integer;p,r:real):real; var k:integer; s:real; begin s:=0; for k:=1 to k2 do s:=s+g(p,r,k)/sqrt(pi)-exp(1/3)/f(p,r,k); w:=s; end; function z(k1:integer;p,r:real):real; var k:integer; d:real; begin d:=1; for k:=1 to k1 do d:=d*(sqrt(exp(1))/f(r,p,k)-g(r,p,k)); z:=d; end; function a(z,w:real):real; begin a:=z/sqrt(z*z+w*w); end; function b(w,z:real):real; begin b:=w/sqrt(z*z+w*w); end; function h(k:integer;t,a,b:real):real; begin h:=(sqrt(k)*t*t+exp(1/3*ln(sqr(a+b))))/(k*k*k*k+exp(1/3*ln(k))+3); end;
var o:mas; i,j,k,k1,k2:integer; s,t,v:real; begin s:=0; for i:=1 to n do for j:=1 to n do readln(o[i,j]); k12(o,k1,k2); t:=0.2; while t<0.9 do begin k:=0; repeat k:=k+1; v:=h(k,t,a(z(k1,p(o),r(o)),w(k2,p(o),r(o))),b(z(k1,p(o),r(o)),w(k2,p(o),r(o)))); s:=s+v; until v<10e-6; writeln('T=',t:3:2,' S=',s:11:10); t:=t+0.07; end; readln; end.
|