0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
1

Составить процедуру и функцию для вычисления значений элементов матрицы по заданной формуле

30.04.2012, 13:34. Показов 2143. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить подпрограмму-процедуру и подпрограмму-функцию для вычисления значений элементов а ij матрицы A=|aij|nm по формуле aij=z(xi, yj, где xi=a+(i-1)*h1, yj=c+(j-1)*h2, где h1=(b-a)/n, h2=(d-c)/m, i=1,2,...n+1, j=1,2....m+1, z=z(x,y)-функция заданная в варианте задания: z=ex/1+|x*y|, n=m=10, x[0;1], y[0;1].
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2012, 13:34
Ответы с готовыми решениями:

Составить процедуру для вычисления выражения по заданной формуле
помогите составить процедуру для следующей формулы ...

Составить графическую схему алгоритма и написать программу для вычисления значений переменной Y по заданной формуле
В соответствии со своим вариантом, составить графическую схему алгоритма и написать программу для...

Составить процедуру (или функцию) для вычисления суммы десятичных цифр некоторого числа N. Для заданной
Составить процедуру (или функцию) для вычисления суммы десятичных цифр некоторого числа N. Для...

Составить программу для вычисления элементов одномерного массива по заданной формуле
{c}_{k}=\frac{\sum_{i=1}^{n}{{a}}_{ik}^{2}*sin{a}_{ki}}{\sum_{i=1}^{n}\sum_{j=1}^{n}cos{{a}}_{ij}^{2...

15
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 14:09 2
Может так?
z=e^x/(1+|x*y|),
а то вроде делить на 1 как-то пошло...

Добавлено через 6 минут
Да и как-то криво взяты размер матрицы и интервалы, не будет последнее число=1, поскольку интервалов разбиения 9, вот если бы размер матрицы был=11, то все было бы четко...
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 14:16  [ТС] 3
не знаю...так в методичке написано...
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 14:19 4
Цитата Сообщение от helen100 Посмотреть сообщение
так в методичке написано...
И формула так написана, делить на 1?
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 14:22  [ТС] 5
там в числителе экспонента в степени х, а в знаменателе 1+|xy|
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 14:27 6
Цитата Сообщение от helen100 Посмотреть сообщение
там в числителе экспонента в степени х, а в знаменателе 1+|xy|
ну так это пишется так как у меня
z=e^x/(1+|x*y|), а не как у Вас, тупо без скобок...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses crt;
const n=10;
      m=10;
      xn=0;
      xk=1;
      yn=0;
      yk=1;
var a:array[1..n,1..m] of real;
    i,j:byte;
    x,y,dx,dy:real;
begin
clrscr;
dx:=(xk-xn)/n;
dy:=(yk-yn)/m;
writeln('Њ*ваЁж* A:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    x:=xn+(i-1)*dx;
    y:=yn+(j-1)*dy;
    a[i,j]:=abs(exp(x/(1+abs(x*y))));
    write(a[i,j]:6:3);
   end;
  writeln;
 end;
readln
end.
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 14:45  [ТС] 7
Спасибо)

Добавлено через 6 минут
а вы не могли бы еще составить подпрограмму процедуру для вычисления матрицы В, элементы строк которой равны элементам строк матрицы А,расположенных в порядке убывания(возрастания)
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 14:58 8
Из той же матрицы, что в этой задаче?
Кстати эту программу тоже нужно переделать с процедурой и функцией.

Добавлено через 8 минут
Если речь об этой матрице А, то в ней элементы в строках и так расположены по возрастанию.

Добавлено через 1 минуту
Вот первая задача с процедурой и функцией.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses crt;
const n=10;
      m=10;
      xn=0;
      xk=1;
      yn=0;
      yk=1;
function Z(x,y:real):real;
begin
Z:=exp(x)/(1+abs(x*y));
end;
type mtr=array[1..n,1..m] of real;
procedure MatricaA(var a:mtr);
var i,j:byte;
    x,y,dx,dy:real;
begin
dx:=(xk-xn)/n;
dy:=(yk-yn)/m;
writeln('Матрица A:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    x:=xn+(i-1)*dx;
    y:=yn+(j-1)*dy;
    a[i,j]:=abs(Z(x,y));
    write(a[i,j]:6:3);
   end;
  writeln;
 end;
end;
var a:mtr;
    i,j:byte;
begin
clrscr;
MatricaA(a);
readln
end.
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 15:00  [ТС] 9
да, из той же матрицы
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 15:04 10
helen100, А Вы читать умеете, а программу запустить и посмотреть?
Цитата Сообщение от Puporev Посмотреть сообщение
Если речь об этой матрице А, то в ней элементы в строках и так расположены по возрастанию.
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 15:17  [ТС] 11
наверно, ну здесь ничего не написано больше
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 15:19 12
helen100, У Вас есть оригинал задания? Если есть, то не можете прикрепить его в виде текстового файла или скрина к теме?
0
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 15:34  [ТС] 13
есть методичка. лабораторная работа №6, вариант 9
Вложения
Тип файла: pdf информ часть2.pdf (409.9 Кб, 22 просмотров)
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 15:53 14
Задание тупое, поэтому строки матрицы В делаем по убыванию как будь-то бы матрица А не упорядочена.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
uses crt;
const n=10;
      m=10;
      xn=0;
      xk=1;
      yn=0;
      yk=1;
function Z(x,y:real):real;
begin
Z:=exp(x)/(1+abs(x*y));
end;
type mtr=array[1..n,1..m] of real;
procedure MatricaA(var a:mtr);
var i,j:byte;
    x,y,dx,dy:real;
begin
dx:=(xk-xn)/n;
dy:=(yk-yn)/m;
writeln('Матрица A:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    x:=xn+(i-1)*dx;
    y:=yn+(j-1)*dy;
    a[i,j]:=Z(x,y);
    write(a[i,j]:6:3);
   end;
  writeln;
 end;
end;
procedure MatricaB(a:mtr;var b:mtr);
var x:array[1..m] of real;
    i,j,k:byte;
    z:real;
begin
writeln('Матрица B:');
for i:=1 to n do
 begin
  for j:=1 to m do
  x[j]:=a[i,j];
  for j:=1 to m-1 do
  for k:=j+1 to m do
  if x[j]>x[k] then
   begin
    z:=x[j];
    x[j]:=x[k];
    x[k]:=z;
   end;
  for j:=1 to m do
   begin
    b[i,j]:=x[j];
    write(b[i,j]:6:3);
   end;
  writeln;
 end;
end;
 
var a,b:mtr;
begin
clrscr;
MatricaA(a);
MatricaB(a,b);
readln
end.
1
0 / 0 / 0
Регистрация: 22.04.2012
Сообщений: 16
30.04.2012, 16:10  [ТС] 15
Спасибо огромнейшее!)) А Вы не могли бы 3 и 4 задание сделать, очень нужно
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
30.04.2012, 17:21 16
Еще более тупые задания. Все элементы матрицы В, как и А равны 1 и все какое-то бессмысленнное, что аж что-то писать противно.

Добавлено через 35 минут
Вот все 5 пунктов, если правильно расшифровал.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
uses crt;
const n=10;
      m=10;
      xn=0;
      xk=1;
      yn=0;
      yk=1;
function Z(x,y:real):real;
begin
Z:=exp(x)/(1+abs(x*y));
end;
type mtr=array[1..n,1..m] of real;
     vc1=array[1..1,1..m] of real;
     vc2=array[1..m,1..1] of real;
procedure MatricaA(var a:mtr);
var i,j:byte;
    x,y,dx,dy:real;
begin
dx:=(xk-xn)/n;
dy:=(yk-yn)/m;
writeln('Матрица A:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    x:=xn+(i-1)*dx;
    y:=yn+(j-1)*dy;
    a[i,j]:=Z(x,y);
    write(a[i,j]:6:3);
   end;
  writeln;
 end;
end;
procedure MatricaB(a:mtr;var b:mtr);
var x:array[1..m] of real;
    i,j,k:byte;
    z:real;
begin
writeln('Матрица B:');
for i:=1 to n do
 begin
  for j:=1 to m do
  x[j]:=a[i,j];
  for j:=1 to m-1 do
  for k:=j+1 to m do
  if x[j]>x[k] then
   begin
    z:=x[j];
    x[j]:=x[k];
    x[k]:=z;
   end;
  for j:=1 to m do
   begin
    b[i,j]:=x[j];
    write(b[i,j]:6:3);
   end;
  writeln;
 end;
end;
procedure VectorX(b:mtr;var x:vc1);
var i:byte;
begin
writeln('Вектор-строка X:');
for i:=1 to m do
 begin
  x[1,i]:=(b[1,1]+b[1,m])/2;
  write(x[1,i]:6:2);
 end;
writeln;
end;
procedure VectorX1(x:vc1;var x1:vc2);
var i:byte;
begin
writeln('Вектор-столбец X1:');
for i:=1 to m do
 begin
  x1[i,1]:=x[1,i];
  writeln(x1[1,i]:6:2);
 end;
writeln;
end;
var a,b:mtr;
    x,xa:vc1;
    x1:vc2;
    res:real;
    i,j:byte;
begin
clrscr;
MatricaA(a);
MatricaB(a,b);
write('Press Enter');
readln;
VectorX(b,x);
VectorX1(x,x1);
{Вычисление М, ходя так ее назвать нельзя, поскольку m уже занято}
{умножаем x*A}
for i:=1 to m do
 begin
  xa[1,i]:=0;
  for j:=1 to n do
  xa[1,i]:=xa[1,i]+x[1,i]*a[j,i];
 end;
{умножаем a*x1}
res:=0;
for i:=1 to m do
res:=res+a[1,i]*x1[i,1];
write('M=',res:0:3);
readln
end.
1
30.04.2012, 17:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2012, 17:21
Помогаю со студенческими работами здесь

Составить программу для вычисления элементов одномерного массива по заданной формуле
Составить программу для вычисления элементов одномерного массива по заданной формуле:

Составить программу для вычисления элементов одномерного массива по заданной формуле
Составить программу для вычисления элементов одномерного массива по заданной формуле

Составить программу для вычисления элементов одномерного массива по заданной формуле

Составить процедуру вычисления матрицы по формуле
составить процедуру вычисления матрицы С{ci,j} по матрицам А{ai,j} и В{bi,j}, каждый элемент...

Составить программу вычисления площади треугольника по формуле Герона, используя процедуру или функцию
составить программу обчисллення площади треугольника по формуле Герона, используя...

Составить алгоритм и программу для вычисления и вывода на печать элементов матрицы Z(i)(j) по формуле
Здравствуйте, у меня возникла проблема с visual basic. Разумеется по незнанию, а сроки поджимают....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru