Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_kursovaya.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
113.14 Кб
Скачать

Текст программы.

Текст программы

// Ефимов Д.С. курсовая ИВТ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.

17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]