Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 28.05.2012, 20:17   #1 (permalink)
ALSe61
Новичок
 
Регистрация: 28.05.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите объединить три программы в модули, Pascal

Помогите пожалуйста объединить 3 эти готовые задачки в модули
1)
Код:
type mas = array[1..200,1..2]of integer;
procedure write_ans(p,max:integer; a: mas);
var i: integer;
begin
for i := 1 to p do
if a[i, 2] = max then write( a[i, 1], ' ' );
end;
procedure search;
var k,i,j,max,p,m,n:integer;
a: mas;
begin
readln(m,n);
p:=0;
max := 0;
for i := m to n do
begin
k := 0;
for j := 1 to i do
if i mod j = 0 then inc( k );
if k > max then max := k;
inc( p );
a[p, 1] := i;
a[p, 2] := k;
end;
write_ans(p,max,a);
end;
begin
search();
end.
2)
Код:
const
n = 10;
type mass = array[1..n,1..n]of integer;
procedure ans_proc(k,c:integer; a:mass);
var i,j:integer;
b: array[1..n*n]of integer;
begin
for i := 1 to n do
for j := 1 to n do
begin
if a[i, j] mod 10 = k then begin b[c] := a[i, j]; inc(C); end; end;
for i := 1 to c - 1 do Write(b[i], ' ');
end;
procedure write_mas(a:mass);
var i,j:integer;
begin
for i := 1 to n do
begin
for j := 1 to n do
Write(a[i, j]:4);
Writeln;
end;
end;
procedure rand_mas;
var i,j,c,k:integer;
a: mass;
begin
Writeln('Введите k');
Readln(k);
c := 1;
randomize;
for i := 1 to n do
for j := 1 to n do
a[i, j] := random(100);
write_mas(a);
ans_proc(k,c,a);
end;
begin
rand_mas;
end.
3)
Код:
 procedure Main_Proc;
var n, i, j: byte;
G, x, pow_r: real;
function pow(a,p: real; b: integer): real;
begin
p := p * a;
if b > 1 then pow:=pow(a,p,b-1)
else pow:=p;
end;
begin
Readln(n, x);
G := 0;
j := 1;
for i := n downto 0 do
begin
G := G + pow(sin(j * x),1,n);
inc(j);
end;
Writeln('G = ', g:4:3);
end;

begin
Main_Proc;
end.
ALSe61 вне форума   Ответить с цитированием

Старый 28.05.2012, 20:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Прочтение аналогичных тем очень эффективно в решении проблемы

Помогите написать программы на языке Pascal
Программы, Pascal
Помогите с написанием программы на Pascal
Помогите пожалуйста написать программы в Pascal
Помогите, пожалуйста, с составлением программы в Pascal
Помогите, две задачки по Pascal

Старый 28.05.2012, 23:53   #2 (permalink)
I L Y A
Новичок
 
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
По умолчанию

Эх, давно ни на Pascal'e, ни в Delphi не писал, когда- то делал модули. Ничего ложного в нем нет. Тут Ссылка удалена Глава 7. Модули Borland Pascal[/url] вполне все понятно написано.
Удачи!
I L Y A вне форума   Ответить с цитированием
Старый 29.05.2012, 07:15   #3 (permalink)
ALSe61
Новичок
 
Регистрация: 28.05.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Пробовать то я пробовал, но не получается. Некоторые процедуры почему-то не определяются.
ALSe61 вне форума   Ответить с цитированием
Старый 30.05.2012, 22:13   #4 (permalink)
I L Y A
Новичок
 
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
По умолчанию

Чтобы процедур виделись из других модулей или из главной программы, надо, чтобы они были объявлены в interficeной части. У Паскаля такой подход - внутри одного модуля процедуры объявлять не нужно (за исключением одного случая) ну, а вот если нужно, чтобы эти процедуры могли вызываться извне этого модуля, то их надо обязательно объявлять в интерфейсной части.
Все сделано для экономии кода. Нет объявленной процедуры - не будет ее и в заголовке скомпилированного кода.
P.S. На самом деле Паскаль очень красивый язык.
I L Y A вне форума   Ответить с цитированием
Старый 30.05.2012, 22:16   #5 (permalink)
I L Y A
Новичок
 
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
По умолчанию

Да и еще, в основной программе ну и в самих модулях (если из них идет вызов други процедур) необходимо перечислять в директиве USES те модули в которых нужно искать процедуры.
I L Y A вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.