28.05.2012, 20:17 | #1 (permalink) |
Новичок
Регистрация: 28.05.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите объединить три программы в модули, Pascal
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. Код:
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. Код:
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. |
28.05.2012, 20:17 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Прочтение аналогичных тем очень эффективно в решении проблемы Помогите написать программы на языке Pascal Программы, Pascal Помогите с написанием программы на Pascal Помогите пожалуйста написать программы в Pascal Помогите, пожалуйста, с составлением программы в Pascal Помогите, две задачки по Pascal |
28.05.2012, 23:53 | #2 (permalink) |
Новичок
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
|
Эх, давно ни на Pascal'e, ни в Delphi не писал, когда- то делал модули. Ничего ложного в нем нет. Тут Ссылка удалена Глава 7. Модули Borland Pascal[/url] вполне все понятно написано.
Удачи! |
30.05.2012, 22:13 | #4 (permalink) |
Новичок
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
|
Чтобы процедур виделись из других модулей или из главной программы, надо, чтобы они были объявлены в interficeной части. У Паскаля такой подход - внутри одного модуля процедуры объявлять не нужно (за исключением одного случая) ну, а вот если нужно, чтобы эти процедуры могли вызываться извне этого модуля, то их надо обязательно объявлять в интерфейсной части.
Все сделано для экономии кода. Нет объявленной процедуры - не будет ее и в заголовке скомпилированного кода. P.S. На самом деле Паскаль очень красивый язык. |
30.05.2012, 22:16 | #5 (permalink) |
Новичок
Регистрация: 28.05.2012
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 35
|
Да и еще, в основной программе ну и в самих модулях (если из них идет вызов други процедур) необходимо перечислять в директиве USES те модули в которых нужно искать процедуры.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|