Приклад обчислення функції на Паскалі
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
m);
write(n=);
read(n);
writeln ( Введите элементы a[i,j] матрицы А );
for i:=1 to m do{Внешний цикл по строкам}
for j:=1 to n do{Вложенный цикл по столбцам}
a[i,j]:=(ABS(3.7-j)-2) *exp (((i-j)*ln(2)))*(i+j-7.3)*SIN(1.5+(Ln(i/j)/ln(2)));
ClrScr;
write ( Выведите элементы a[i,j] матрицы А );
writeln;
writeln;
{Вывод матрицы А по строкам}
for i:=1 to m do{Внешний цикл по строкам}
begin
for j:=1 to n do{Вложенный цикл по столбцам}
write (a[,i,,,j,]=, a[i,j]:10:7, ); {Вывод элемента a[i,j]матрицы А}
writeln; {Оператор для перехода на очередную строку}
end;
{ Транспонирование матрицы}
L:=1; { Начальное значение переменной для задания начального значения параметра цикла по столбцам при транспонировании матрицы}
for i:=1 to m-1 do{Внешний цикл по строкам}
begin
for j:=l to n do{Вложенный цикл по столбцам}
begin
c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c;
end;
L:=L+1
end;
writeln ( Транспонированная матрица);
writeln;
for i:=1 to m do
begin
for j:=1 to n do
write (a[,i,,,j,]=, a[i,j]:10:7, );{ Вывод элемента транспонированной матрицы}
writeln; { Оператор для переключения строки}
end;
{ Формирование массива Х}
K:=1; {Начальное значение формирователя индексов элементов массива Х }
for i:=1 to m do
for j:=1 to n do
if a[i,j]<2 then
begin
x[k]:=a[i,j]; { Формирование элемента x[k] массива Х}
k:=k+1;
end;
{ Вывод массива Х}
writeln( Maссив X);
writeln;
for i:=1 to k-1 do
write (x[,i,]=, x[i]:10:7, ); { Вывод элемента массива Х}
{ Вычисление функции U}
U:=1; {Начальное значени переменной для накапливания произведений при вычислении функции U}
for i:=1 to k-1 do
U:=U*(x[i]+x[k-i]); { Вычислеемое значение функции U на i-м шаге}
writeln;
writeln;
write ( Функция: u=,u:10:7); { Вывод значения функции U}
Repeat Until KeyPressed
END.
ПРОГРАМА З ВИКОРИСТАННЯМ ПРОЦЕДУР
Program Proverka_Proz;
uses Crt;
Const Len=100;
Type
mtr= array [1..Len,1..Len] of real; {Tip massiv-matriza}
mas= array [1..Len] of real; {Tip massiv-vector}
var i,j,k,m,n,l:integer;
a:mtr; { Imja peremennoi - matriza}
x:mas; { Imja peremennoi - vektor}
u:real; {Imja peremennoi -funzija}
c:real; { Rabochaja peremennaja}
Procedure Viv_M;
Begin
writeln;
writeln;
for i:=1 to m do {vnechnii zikl po strokam}
begin
for j:=1 to n do {vnutrenii zikl po stolbzam}
write (a[,i,,,j,]=, a[i,j]:10:7, ); {vivod elementa matrizi a[i,j] }
writeln; {operaator dlja perehoda na ocherednuju stroku}
end;
writeln;
End;
BEGIN
ClrScr;
{vvod elementov matrizi po strokam}
writeln (vvedite razmernost matrizi A: chisla M i N);
write(m=);
read (m);
write(n=);
read(n);
{zapolnenie matrizi A -vvod elementov a[i,j]}
for i:=1 to m do
for j:=1 to n do
a[i,j]:=(ABS(3.7-j)-2) *exp (((i-j)*ln(2)))*(i+j-7.3)*SIN(1.5+(Ln(i/j)/ln(2)));
ClrScr;
{vivod matrizi A po strokam}
writeln ( ishodnaja Matriza);
Viv_M; {operator proceduru }
{ transponirovannaie Matrizi A }
L:=1; { nachalnoe znachenie parametra zikla po stolbzam pri transponirovanii Matrizi A }
for i:=1 to m-1 do
begin
for j:=L to n do
begin
c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c;
end;
L:=L+1
end;
writeln ( transponirovannaja Matriza);
{vivod transponirovannoi matrizi A po strokam }
Viv_M; {operator proceduru }
{formirovanie massiva X iz transponirovannoi matrizi A }
k:=1; {nachalnoe znachenie formirovatelja indexov massiva X}
for i:=1 to m do
for j:=1 to n do
if a[i,j]<2 then
begin
x[k]:=a[i,j];{formirovanie elementa x[k] massiva X }
k:=k+1;
end;
{vivod massiva X}
writeln( Massiv X);
writeln;
for i:=1 to k-1 do
write (x[,i,]=, x[i]:10:7, );{vivod elementa massiva X}
{vichislenie funkzii U}
U:=1; {nachalnoe znachenie funkzii U}
for i:=1 to k-1 do
U:=U*(x[i]+x[k-i]);
writeln;
writeln;
write (Funkzija: u=,u:10:7);
Repeat Until KeyPressed
END.
МОДУЛЬ ГЛОБАЛЬНИХ ОПИСІВ
Unit Glob; {Имя модуля}
Interface
Const
Len=100;
Type
T_Matr=array[1..Len,1..Len] of real; {Тип массива-матрицы}
T_Vect=array[1..Len] of real; {Тип массива-вектора}
End.
СЕРВІСНИЙ МОДУЛЬ ОБСЛУГОВУВАННЯ МАТРИЦІ
Unit KR_Srv2;{ Имя сервисного модуля} Interface Uses Glob; { Имя модуля с глобальными описаниями} Procedure Ztvor_M(M,N:byte;Var ma:T_Matr); { Описание процедуры создания матрицы} Procedure Print_M(Ma:T_Matr;M,N:byte); { Описание процедуры печати}
Implementation
Uses CRT;
Procedure Ztvor_M(M,N:byte;Var ma:T_Matr); { Процедура создания матрицы}
Var
i,j:byte; { Рабочие переменные}
Begin
writeln ( Введите размерность матрицы A: числа M и N); write(m=);
read (m);
write(n=);
read(n);
ClrScr;
For i:=1 to m do
For j:=1 to n do
ma[i,j]:=(ABS(3.7-j)-2) *exp (((i-j)*ln(2)))*(i+j-7.3)*SIN(1.5+(Ln(i/j)/ln(2)));
End;
Procedure Print_M(Ma:T_Matr;M,N:byte); { Процедура отображения матрицы}
var j,i:byte; Begin write ( Выведите элементы матрицы a[i,j]); writeln; writeln; For i:=1 to m do
begin
For j:=1 to n do
write (a[,i,,,j,]=,Ma[i,j]:10:7); { Отображение элементов матрицы}
writeln;
end;
End;
END.
ГОЛОВНА ПРОГРАМА
Program Matr_KR2; uses Crt,Glob,KR_SRV2; { Список используемых модулей } var i,j,k,m,n,l:integer; { Рабочие переменные } a:T_Matr; {Имя элементов матрицы А} x:T_Vect; {Имя элементов массива Х }
u:real; {Имя вычисляемой функции }
c:real; { Вспомогательная переменная для транспонирования матрицы }
begin
ClrScr;
writeln( Исходная матрица);
Ztvor_M(M,N,A);
Print_M(A,M,N); { Оператор процедуры отображения матрицы }
{Транспонирование матрицы }
L:=1; {Начальное значение переменной для формирования начального значения параметра вложенного цикла (работа по столбцам) при транспонировании матрицы А }
for i:=1 to m-1 do
begin
for j:=l to n do
c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c; { Получение элементов транспонированной матрицы }
L:=L+1
end;
writeln ( Транспонированная матрица);
writeln;
Print_M(A,M,N); { Оператор процедуры отображения матрицы }
{Формирование массива X из транспонированной матрицы }
k:=1; {Начальное значение формирователя индексов элементов массива X}
for i:=1 to m do
for j:=1 to n do
if a[i,j]<2 then
begin
x[k]:=a[i,j];{Форм?/p>