Текст программы.
Текст программы
// Ефимов Д.С. курсовая ИВТ2-16
program pscV9;
uses crt;
const N=9;
Type
mas = array [1..15, 1..15] of real;
var
v: byte;
x:real;
A: mas;
function step(var x: real; N:integer):real;
{Процедура возведения числа Х в степень N}
var
i: integer;
begin
step:=1;
if abs(N) >= 2
then
for i:= 2 to N do
x:= x*x
else
if N = 0
then
x:= 1;
if N < 0
then
x:= 1 / x;
step:= x;
end;
procedure f(x:real);
{Процедура,вычисляющая f(x): 1 задание}
var
otvet: real;
begin
otvet:= sqr(x) + sin((N*x)*exp(x*cos(x)));
writeln('f(x) = ', otvet:4:2);
end;
procedure vir(x:real; N:integer);
{2 задание,вычисление выражения}
var otvet:real;
begin
if x < N
then
otvet:= sqr(x) + sin((N*x)*exp(x*cos(x)))
else
otvet:= x*Sin(step(x, N));
writeln('При N = ', N, ' x = ', x:4:0);
end;
procedure proizv(N:integer);
{Процедура для рассчёта произведения 3 задания}
var
x:integer;
otvet:single;
begin
otvet:=1;
if N > 0
then
for x:= 2 to N*10 do
otvet:= otvet * (sqr(x) + sin((N*x)*exp(x*cos(x))))
else
for x:= 2 downto N*10 do
otvet:= otvet * (sqr(x) + sin((N*x)*exp(x*cos(x))));
writeln('Произведение = ', otvet:4:2);
end;
procedure preobr(var A: mas; N:integer);
{Процедура преобразования матрицы}
var
i,j, minInd: integer;
min, temp: real;
begin
min:= abs(A[1][1]);
minInd:=1;
for i:= 1 to N do
for j:= 1 to n do
if abs(A[i][j])<min
then
begin
min:= abs(A[i][j]);
minInd:= j;
end;
for i:= 1 to N do begin
temp:= A[i][j];
A[i][j]:= A[i][minInd];
A[i][minInd]:= temp;
end;
writeln('Изменения матрицы: ');
for i:= 1 to n do begin
for j:= 1 to n do
write(A[i][j], ' ');
writeln;
end;
end;
procedure matr(var A: mas; N:integer);
{Процедура работы с матрицей, 4 задание}
var
i,j:integer;
begin
for i:= 1 to n do
for j:= 1 to n do
A[i][j]:= Trunc((i*j*Sin(0.5*i*j))*100)/100;
for i:= 1 to n do begin
for j:= 1 to n do
write(A[i][j], ' ');
writeln;
end;
preobr(A, N);
end;
Begin
writeln('Задание?');
writeln('1. Вычислить f(x)');
writeln('2. Вычислить выражение');
writeln('3. Вычислить произведение');
writeln('4. Матрица');
readln(v);
clrscr;
case v of
1: begin
writeln('введите X');
readln(x);
f(x);
end;
2: begin
writeln('введите X');
readln(x);
vir(x,N);
end;
3: begin
writeln('N');
proizv(N);
end;
4: begin
writeln('введите размер матрицы');
matr(A, N);
end;
end;
end.
