Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 13

Программа-обращение к модулю Unit

29.05.2011, 19:18. Показов 2288. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать модуль с процедурой перемножения матриц. Размерность матриц задается по желанию пользователя. Написать программу с использованием этого модуля.

Взял модуль в виде перемножения 2-х матриц, но не представляю как должна выглядеть программа обращения к этому модулю... Подскажите, пожалуйста, хотя бы на конкретном примере!


МОДУЛЬ
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
unit MATR;
interface
uses crt;
Implementation
const nmax=20;
var A,D,U:array[1..nmax,1..nmax]of integer;
    ka,la,kd,ld,i,j,r:integer;
begin
clrscr;
randomize;
writeln('Razmery matricy A:');
repeat
write('Kolichestvo strok ka=');readln(ka);
until (ka>0)and(ka<=nmax);
repeat
write('Kolichestvo stolbcov la=');readln(la);
until (la>0)and(la<=nmax);
writeln('Razmery matricy D:');
repeat
write('Kolichestvo strok kd=');readln(kd);
until (kd>0)and(kd<=nmax);
repeat
write('Kolichestvo stolbcov ld=');readln(ld);
until (ld>0)and(ld<=nmax)and(ld=ka); {êîëè÷åñòâî ñòîëáöîâ âòîðîé ìàòðèöû äîëæíî áûòü ðàâíî êîëè÷åñòâó ñòðîê ïåðâîé ìàòðèöû}
writeln('Matrica A:');
for i:=1 to ka do
   begin
     for j:=1 to la do
       begin
         A[i,j]:=random(9)+1;
         write(A[i,j]:3);
       end;
     writeln;
   end;
readln;
writeln('Matrica D:');
for i:=1 to kd do
   begin
     for j:=1 to ld do
       begin
         D[i,j]:=random(9)+1;
         write(D[i,j]:3);
       end;
     writeln;
   end;
readln;
for r:=1 to ka do
for j:=1 to ld do
   begin
     U[r,j]:=0;
     for i:=1 to la do
       begin
         U[r,j]:=U[r,j]+A[r,i]*D[i,j];
       end;
   end;
writeln('Matrica U=A*D:');
for i:=1 to ka do
    begin
      for j:=1 to ld do
      write(U[i,j]:5);
      writeln;
    end;
readln;
end.
Добавлено через 51 минуту
Подскажите, вот написал программу-обращение к моему модулю. Она работает! Но мне кажется, что программа-обращение должна представлять из себя что-то большее, чем это

Pascal
1
2
3
4
USES MATR;
begin
writeln;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2011, 19:18
Ответы с готовыми решениями:

Обращение к форме из другого Unit'а
Суть такова. Имеется 2 Unit - в каждой по форме. Вообще нужно реализовать исчезновение 1 формы и появление второй, и наоборот, при...

Обращение из Unit Test к функцие в программе
Как обратиться из Unit Test к функцие в программе?

Обращение к модулю
В сч-фактуре процедура печать находится в модуле документа! Я создала новый документ, создала форму этому документу и поставила кнопку ....

1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
30.05.2011, 10:48
Это вообще не модуль, а горе какое-то... В модуле содержатся процедуры и функции, которые вызываются в основной программе...

Добавлено через 52 минуты
Текст модуля

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
unit MATR;
interface
const nmax=20;
type matrr=array[1..nmax,1..nmax]of integer;
procedure matrix(var a,d:matrr;var ka,la,kd,ld:byte);
procedure print(var a:matrr;ka,la:byte;c:string);
procedure umn(a,d:matrr;ka,la,kd,ld:byte;var u:matrr);
implementation
procedure matrix(var a,d:matrr;var ka,la,kd,ld:byte);
var i,j:byte;
begin
writeln('Razmery matricy A:');
repeat
write('Kolichestvo strok ka=');
readln(ka);
until ka in [1..nmax];
repeat
write('Kolichestvo stolbcov la=');
readln(la);
until la in [1..nmax];
writeln('Razmery matricy D:');
writeln('Kol. strok=kol.stolbcov matr A=',la);
kd:=la;
repeat
write('Kolichestvo stolbcov ld=');
readln(ld);
until ld in [1..nmax];
for i:=1 to ka do
for j:=1 to la do
A[i,j]:=random(9)+1;
for i:=1 to kd do
for j:=1 to ld do
D[i,j]:=random(9)+1;
end;
procedure print(var a:matrr;ka,la:byte;c:string);
var i,j:byte;
begin
writeln('Matrica ',c);
for i:=1 to ka do
 begin
  for j:=1 to la do
  write(a[i,j]:6);
  writeln;
 end;
writeln;
end;
procedure  umn(a,d:matrr;ka,la,kd,ld:byte;var u:matrr);
var i,j,r:byte;
begin
for r:=1 to ka do
for j:=1 to ld do
 begin
  u[r,j]:=0;
  for i:=1 to la do
  u[r,j]:=u[r,j]+a[r,i]*d[i,j];
 end;
end;
end.
Текст программы.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt,matr;
var a,d,u:matrr;
    ka,la,kd,ld:byte;
begin
clrscr;
randomize;
matrix(a,d,ka,la,kd,ld);
print(a,ka,la,'A');
print(d,kd,ld,'D');
umn(a,d, ka,la,kd,ld,u);
print(u,ka,ld,'U=A*D');
readln;
end.
Насчет размеров матриц
http://ru.wikipedia.org/wiki/%... 0%B8%D1%86
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2011, 10:48
Помогаю со студенческими работами здесь

Обращение к модулю
Форумчане, подскажите что не так в процедуре (Access 2013)? На строке Set mdl = Modules(&quot;Security&quot;) выдает ошибку. ...

Обращение к общему модулю
Доброго дня. подскажите пож-та, как обратиться к общему модулю из модуля документа? задача в следующем: нужно, чтобы документ (в данном...

Обращение к модулю по имени. В скачанном примере работает, в моём нет
Нашёл модуль глобального обработчика ошибок. Честно всё скопировал, но у меня стал ругаться. Сам класс называется &quot;CError&quot;. ...

Unit Tests для проекта с Unit Of Work
Привет. Вынужден снова обратиться за помощью. Пишу блог. Архитектура такова, что есть IRepository , PostRepository и Unit OfWork. Я...

Возможно ли как-то перевести unit C++ в unit delphi
Возможно ли как-то перевести unit C++ в unit delphi?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru