Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 09.03.2012
Сообщений: 29
1

Не работает модуль

04.10.2012, 19:53. Показов 1121. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Модуль почему-то не работает помогите
Программа без Модуля
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
program my1;
 
type 
masiv=array [1..10,1..10]of integer;
var
  m,n,q, i, j, a, z, b: integer;
  mas: masiv;
 
procedure ones(a, b: integer; var sum: integer);
var
  i, j: integer;
begin
  sum := 0;
  for i := a to b do 
  begin
    for j := 1 to m do 
    begin
      sum := sum + mas[i, j];
    end;
  end;
end;
 
procedure Two(mas: masiv);
var
  i, j, max: integer;
begin
  max := 0;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] > max then max := mas[i, j];
    end;
  end;
  writeln('max element:    ', max);
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] = max then writeln('Nomera max elementoV: ', i, '.', j, ' ');
    end;
  end;
end;
 
function Tree(m, n: integer): integer;
var
  i, j, sum, kol, k, z: integer;
  sr: real;
begin
  sum := 0;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      sum := sum + mas[i, j];
    end;
  end;
  kol := m * n;
  sr := sum / kol;
  writeln('Srednee arefmeti4eckoe=  ', sr:3:3);
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if sr < mas[i, j] then inc(k);
      tree := z;
    end;
  end;
  writeln('B masssive ', k, '  4isel(a) > sr ');
end;
 
 
begin
writeln ('Vvedite razmernost massiva MxN');
readln(m,n);
  writeln('MassiV');
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      mas[i, j] := random(10);
      write(mas[i, j]:3);
    end;
    writeln;
  end;
  writeln('Vvedite K1 and K2');
  readln(a, b);
  ones(a, b, z);
  writeln(z);
   two(mas);
   q:=Tree(m,n);
end.

Сам модуль

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
unit Unit;
interface
type 
masiv=array [1..10,1..10]of integer;
var
  m,n,q, i, j, a, z, b: integer;
  mas: masiv;
 
procedure ones(a, b: integer; var sum: integer);
procedure Two(mas: masiv);
function Tree(m, n: integer): integer;
 Implementation
 procedure ones(a, b: integer; var sum: integer);
var
  i, j: integer;
begin
  sum := 0;
  for i := a to b do 
  begin
    for j := 1 to m do 
    begin
      sum := sum + mas[i, j];
    end;
  end;
end;
 
procedure Two(mas: masiv);
var
  i, j, max: integer;
begin
  max := 0;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] > max then max := mas[i, j];
    end;
  end;
  writeln('max element:    ', max);
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] = max then writeln('Nomera max elementoV: ', i, '.', j, ' ');
    end;
  end;
end;
 
function Tree(m, n: integer): integer;
var
  i, j, sum, kol, k, z: integer;
  sr: real;
begin
  sum := 0;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      sum := sum + mas[i, j];
    end;
  end;
  kol := m * n;
  sr := sum / kol;
  writeln('Srednee arefmeti4eckoe=  ', sr:3:3);
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if sr < mas[i, j] then inc(k);
      tree := z;
    end;
  end;
  writeln('B masssive ', k, '  4isel > sr ');
end;
begin 
end.
 Комментарий модератора 
Используйте теги подсветки кода!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2012, 19:53
Ответы с готовыми решениями:

Не работает модуль (работает не корректно)
Доброго времени суток! Проблема в следующем... На главном шаблоне модуль работает, но я сейчас...

Не работает модуль
Всем здравствуйте, модуль webpay, сайт на PrestaShop, на локальном сервере все работает, а на...

Не работает модуль
Еще один вопрос, у меня не работает социальный модуль(ну то есть со вкладками для соц.сетей)...

не работает модуль
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #define ARIV (a+b)/2 //работает...

1
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
05.10.2012, 06:47 2
1. название модуля должно быть отличным от зарезервированного имени unit, например boor
2. в теле программы не нужны процедуры и функции, на то он и модуль, чтобы подпрограммы из него вызывались
3. в программе должен присутствовать вызов модуля (uses boor в нашем случае)
4. функция должна возвращать вычисляемое значение (k а не абстрактное z)
.. и т. д.

что делает ваша первая процедура? насколько я понял - подсчет суммы заданных строк..

не забудьте сохранить и модуль и программу в одном месте, лучше в одной папке, модуль - под своим именем, у нас это будет boor.pas

Модуль:
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
unit boor; 
 
interface
type
  masiv = array [1..10, 1..10] of integer;
 
procedure pr1(a,b,m: integer; var mas: masiv);
procedure pr2(var mas: masiv; n,m: integer);
function pr3(var mas: masiv; n,m: integer): integer;
 
implementation
 
procedure pr1(a,b,m: integer; var mas: masiv);
var i,j,sum: integer;
begin
  sum := 0;
  for i := a to b do 
  begin
    for j := 1 to m do
      sum := sum + mas[i, j];
  end;
  writeln('Summa = ',sum);
end;
 
procedure pr2(var mas: masiv; n,m: integer);
var
  i, j, max: integer;
begin
  max := 0;
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] > max then max := mas[i, j];
    end;
  end;
  writeln('max element:    ', max);
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      if mas[i, j] = max then writeln('Nomera max elementoV: ', i, '.', j, ' ');
    end;
  end;
end;
 
function pr3(var mas: masiv; n, m: integer): integer;
var
  i, j, sum, kol, k: integer;
  sr: real;
begin
  sum := 0;
  for i := 1 to n do 
    for j := 1 to m do 
      sum := sum + mas[i, j];
  kol := m * n;
  sr := sum / kol;
  writeln('Srednee arefmeti4eckoe=  ', sr:3:3);
  k:=0;
  for i := 1 to n do 
    for j := 1 to m do 
      if sr < mas[i, j] then inc(k);
  pr3:=k;
end;
end.
Программа:
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
uses boor;
var
  mas: masiv;
  a,b,n,m,i,j: integer;
begin
  writeln('Vvedite razmernost massiva MxN');
  readln(m, n);
  writeln('MassiV');
  for i := 1 to n do 
  begin
    for j := 1 to m do 
    begin
      mas[i, j] := random(10);
      write(mas[i, j]:3);
    end;
    writeln;
  end;
  writeln('Vvedite K1 and K2');
  readln(a, b);
  pr1(a, b, m, mas);
  pr2(mas,n,m);
  writeln(pr3(mas,n,m),' elementov > srednego.');
  readln;
end.
0
05.10.2012, 06:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2012, 06:47
Помогаю со студенческими работами здесь

Не работает модуль
Подскажите пожалуйста нубу как правильно писать модули, а то вечно ошибку выдает. Модуль Unit...

Не работает подключаемый модуль
Подключаю внешний модуль с функцией, при компиляция программа выбивает ошибку на переменную которая...

Не работает модуль меню
Доброго времени суток. Скачал модуль для меню:...

Не работает модуль Requests
Добрый день. Установил модуль Requests. Везде пишут о том как легко с ним работать. Я начал по...


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

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