Автор: Пользователь скрыл имя, 28 Января 2011 в 11:06, лабораторная работа
Цель: Уметь использовать оператор присваивания процедуры ввода и вывода данных
Цель: Уметь
использовать оператор присваивания процедуры
ввода и вывода данных
Program LR1V63;
const b=0.87;
Var x,y,a:Real;
begin
a:=exp(-b)+b;
x:=SQR(sin(a)+cos(a));
y:=SQRT(x+ln(x+a));
writeln('x=',x:8:3,' y=',y:8:3,' a=',a:8:3);
end.
Program LR1V92;
const a=0.35;b=12;z=-1000;
Var x,y:Real;
begin
x:=ln(abs((a+exp((1/3)*ln(b*a)
y:=(exp(0.6*ln(x))+sin(x))/
writeln('x=', x:8:3,' y=',y:8:3);
end.
Лабораторная
работа №2
Программирование разветвляющихся алгоритмов
Цель: уметь
использовать условный оператор IF для
создания ветвлений
Program LR2V63;
Const a=1.87;
Var b,x,y:Real;
begin write('b=');Readln(b);
x:=5*sin(a) + cos(b*a);
writeln('x=',x:12:6);
If x<=0then y:=sqr(a+x) else if (0<x)and(x<2.2) then y:=sqrt(sqr(a)+sqr(b)) else y:=(a+x)/(sin(x)+(a*x));
writeln('y=',y:12:6);
end.
Program LR2V92;
Var n,u,p,y:Real;
begin
p:=exp(1.163*ln(0.171))*ln(5)/
write('n=');Readln(n);
If p<n+1 then y:=ln(abs(p)+abs(n)) else if p=n+1 then y:=exp(p-n) else y:=ln(abs(p-n));
writeln ('y=',y:12:6);
End.
Лабораторная
работа №3
Программирование циклических алгоритмов
Цель: уметь
использовать оператор повтора с
пред и пост условиями
Program LR3V63;
Var x,y,xn,xk,dx:Real;
Begin xn:=2;xk:=5;dx:=1;x:=xn;
Repeat
y:=exp(0.95*ln(x+3))*x/SQRT(4.
writeln('x= ' , x:6:3, 'y= ' , y:12:6);x:=x+dx;
Until x>xk;
End.
Program LR3V92;
Var y,x,xn,xk,dx:Real;
Begin
xn:=5;xk:=10;dx:=1;x:=xn;
While x<=xk do begin
y:=abs((sqr(x)-2*x+2)/sqrt(2*
Writeln('x=', x:6:3,'y=',y:12:6);
x:=x+dx;
End;
End.
Лабораторная работа №4
Программирование алгоритмов накопления суммы и произведения.
Цель: научиться
программировать вычисление суммы
ряда с помощью рекуррентной формулы
R(i)с использованием операторов повтора
repeat, while, for.
Лабораторная
работа №5
Программирование обработки одномерных массивов, векторов
Цель: уметь
вычислять статистические показатели:
средние и вариационные с помощью
алгоритмов накопления сумм и произведения,
выполнять сортировку элементов
векторов по убыванию или по возрастанию,
находить максимум и минимум массива.
Лабораторная работа №6
Программирование матричных операций
Цель: уметь
ввод вычислять, выводить и преобразовывать
элементы 2-х мерных массивов. Вычислять
статистические показатели, сортировать
по убыванию и возрастанию элементы
строк, столбцов и диагоналей.
Program LR6V92;
Var i,j,k,n,F:word;
a:array[1..20,1..20] of real;
x:array[1..20] of real;
S,P,max,y,Buf:Real;
begin
write('n=');Readln(n);
writeln('matrix a');
For i:=1 to n do begin
F:=1;
For k:=1 to i do
F:=F*k;
For j:=1 to n do begin
a[i,j]:=(2*i*j+4*i)/F;
write(a[i,j]:6:3,'');
end; writeln;
end; writeln;
writeln('vector x');
For i:=1 to n do begin
S:=0;
For j:=1 to n do begin
S:=S+a[2,j]*a[j,i];
end;
x[i]:=S;
write(x[i]:6:3,' ');
end;
writeln;
Writeln('sortirovka');
For j:=1 to N-1 do begin
For k:=j+1 to n do begin
If a[j,j]<a[k,k] then begin
Buf:=a[j,j];a[j,j]:=a[k,k];
a[k,k]:=buf;
end;end;end;
For i:=1 to n do begin
For j:=1 to n do begin
write (a[i,j]:8:4,
' '); end;writeln; end; writeln;
P:=1;
For i:=1 to n do
P:=P*x[i];
y:=SQRT(p);
writeln('y=',y:6:3)
end.
Лабораторная
работа №7
Решение нелинейных уравнений численными методами
Цель: уметь решать трансцендентные (нелинейные) уравнения различными методами
Метод бисекции:
program LR7V9R1;
Label M;
const e=1e-06;
pi=3.142;
var a,b,c,x:real;
function f(x:real):real;
begin
f:=3/4*SQR(x)*SQR(x)*x-2/3*
end;
begin
writeln('a,b'); readln(a,b);
M:c:=(a+b)/2;
if abs(f(c))<e then writeln ('c=', c:12:6,' f(c)=',f(c):12:10) else
if f(a)*f(c)<0 then begin b:=c; goto M;
end else begin a:=c; goto M; end; end.
Метод Ньютона:
Program LR7V9R2;
label M;
const e=1e-03; pi=3.142;
var a,b,c,c0:real;
function f(x:real):real;
begin
f:=3/4*SQR(x)*SQR(x)*x-2/3*
end;
function f1(x:real):real;
begin
f1:=15/4*SQR(SQR(x))-8/3*SQR(
end;
begin
Writeln('c0='); readln(c0);
M:c:=c0-f(c0)/f1(c0);
If abs(f(c))<e then writeln('f(c)=',f(c):12:10,'c=
else begin c0:=c;goto M; end;
end.
Метод простой итерации:
program lr7v9sp3;
label M;
const eps=1e-06;
var a,b,c,c0,x:real;
function f(x:real):real;
begin
f:=3/4*SQR(SQR(x))*x-2/3*SQR(
end;
function f2(x:real):real;
begin
f2:=15/4*SQR(SQR(x))-8/3*SQR(
end;
begin
writeln('c');readln(c);
M:x:=f2(c);
if abs(x-c)<eps then
writeln('x= ',x:12:6) else
begin c:=x;goto M;
end;
end.
Лабораторная
работа №8
Решение систем линейных уравнений.
program LR8V9R1;
const n=3;
var i,j:integer;
at,a:array[1..n,1..n] of real;
x,b:array[1..n] of real;
d:array[0..n] of real;
y:array[1..n] of real;
s:real;
begin
writeln('matrix A');
for i:=1 to n do begin
for j:=1 to n do begin
read (a[i,j]);
end;
writeln;
end;
writeln;
d[0]:=a[1,1]*a[2,2]*a[3,3]+a[
d[0]:=d[0]-a[1,1]*a[3,2]*a[2,
writeln(' B ');
for i:=1 to n do read(b[i]);
writeln;
for i:=1 to n do
for j:=1 to n do at[i,j]:=a[i,j];
for i:=1 to n do begin
for j:=1 to n do at[j,i]:=b[j];
d[i]:=at[1,1]*at[2,2]*at[3,3]+
d[i]:=d[i]-at[1,1]*at[3,2]*at[
x[i]:=d[i]/d[0];
writeln('x',i:2,'=',x[i]:12:9)
for j:=1 to n do at[j,i]:=a[j,i];
end;
for i:=1 to n do begin
s:=0;
for j:=1 to n do s:=s+a[i,j]*x[j];
y[i]:=s;
writeln('y',i:2,'=',y[i]:12:9)
end;
end.
Program LR8V9R2;
const n=3; eps=1e-03;
var i,j,k:integer;
a:array[1..n, 1..n] of real;
x,b:array [1..n] of real;
y:array [1..n] of real;
s:real;
begin
writeln('matrix a');
for i:=1 to n do begin
for j:=1 to n do read(a[i,j]);
writeln;
end; writeln;
writeln(' B ');
for i:=1 to n do
read(b[i]); writeln;
for i:=1 to n do x[i]:=0.1;
k:=0;
repeat
for i:=1 to n do begin
s:=0;
for j:=1 to n do
if i<>j then s:=s+a[i,j]*x[j];
x[i]:=1/a[i,i]*(b[i]-s);
end;
for i:=1 to n do begin
s:=0;
for j:=1 to n do s:=s+a[i,j]*x[j];
y[i]:=s; end;
K:=k+1;
until ((abs(b[1]-y[1])<eps)
or (abs(b[2]-y[2])<eps)) or (abs(b[3]-y[3])<eps);
for i:=1 to n do writeln (x[i]:9:5,' ', y[j]:9:5);
end.
Лабораторная
работа №9
Численное интегрирование.
Цель: Уметь программировать
приближённые методы треугольников и
трапеций для вычислений определённых
интегралов.