![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Depression period |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: ![]() ![]() ![]() |
...........помогите пожалуйста заменить в этой задаче все процедуры на функции.................
Код uses Sysutils; const n=7; m=5; type a = array[1..n] of integer; b = array[1..m] of integer; procedure Input(var m1 : a; VAR m2 : b); var i : byte; begin for i := 1 to n do begin writeln; write('a[',i,']= '); readln(m1[i]); end; writeln; begin for i := 1 to m do begin writeln; write('b[',i,']= '); readln(m2[i]); end; writeln; end; end; procedure InputRnd(var m1 : a; VAR m2 : b); const rnd = 100; var i: byte; begin randomize; for i := 1 to n do m1[i] := random(rnd); randomize; for i:=1 to m do m2[i] := random(rnd); writeln; writeln(' Massivi A , B '); writeln; end; procedure Print(m1 : a; m2 : b;Var p : integer); var i : byte; begin writeln; writeln( ' Massiv A '); for i := 1 to n do begin writeln; write(m1[i]:3,' '); end; writeln; readln; writeln; writeln( ' Massiv B '); for i := 1 to m do begin writeln; write(m2[i]:3,' '); end; writeln; readln; writeln; writeln(' P = ', p:3); writeln; end; procedure Reform(m1 : a; m2 : b; var p: integer); var i : byte; k:integer; begin p:=1; if m1[1]>m2[1] then writeln( ' a[1]>b[1] P = proizvedenie a[i] '); if m1[1]>m2[1] then for i:=1 to n do p:=p*m1[i] else if m1[1]<m2[1] then writeln( ' a[1]<b[1] P = proizvedenie b[i] '); if m1[1]<m2[1] then for i:=1 to m do p:=p*m2[i] else if m1[1]=m2[1] then begin writeln( ' a[1]=b[1] P = proizvedenie (a[i]+b[i]) '); k:=n; if m<k then k:=m; for i:=1 to k do p:=p*(m1[i]+m2[i]); end; writeln; writeln('Sdelano. Podtverdit i vivesti...'); readln; end; var m1 : a; m2 : b; p:integer; z : byte; begin repeat writeln('1 - Input '); writeln('2 - Input RND'); writeln('3 - Print'); writeln('4 - Reform'); writeln('5 - Quit'); readln(z); case z of 1 : Input(m1, m2); 2 : InputRnd(m1, m2); 3 : Print(m1, m2,p); 4 : Reform(m1, m2, p); end; until z=5; end. будьте так добры.........=)))..........Заранее спасибо! -------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
![]() ![]() |
Depression period |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Женский Репутация: ![]() ![]() ![]() |
Я просто плохо понимаю, что именно нужно изменить в строчках, где объявляется процедура........
-------------------- .........Destroy thoughts,which kills your soul................
.................but don't kills your soul by destroying these thoughts...... |
hardcase |
![]()
Сообщение
#3
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Вот общее правило.
у тебя есть примерно такой код Код procedure Proc( <...> var Name: SomeType ); begin end; переделываешь по такому шаблону: Код function Proc( <...> ): SomeType; var Name: SomeType absolute Result; begin end; -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата переделываешь по такому шаблону: Код function Proc( <...> ): SomeType; var Name: SomeType absolute Result; begin end; И получаешь от преподавателя по шее за использование absolute... Зачем оно здесь? Тем более, что ОПЯТЬ, hardcase, я тебе повторяю - мы не в Дельфи !!! Ну нету в TP7 переменной Result. Нету, хотя и обещали... |
hardcase |
![]()
Сообщение
#5
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
А модуль SysUtils есть в Pascal?
-------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
А у тебя паскаль есть?
Вот открой и посмотри. Нету SysUtils тоже... Это все 32-битные компилеры... Но если я уберу из программы автора SysUtils, она будет точно так же работать. SysUtils просто нигде здесь не используется. А твой алгоритм - работать не будет... Еще вопросы? |
hardcase |
![]()
Сообщение
#7
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Я к чему и клоню. он в Delphi сидит а не в TP7, раз в исходнике у него SysUtils стоит.
TP7 никогда не стояло, никогда в нём не прграммил. Сообщение отредактировано: hardcase - 11.01.2006 19:38 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:12 |