Народ как написать эту задачу с помощью модуля в турбо паскаль а то у меня не выходит Var...

0 голосов
96 просмотров

Народ как написать эту задачу с помощью модуля в турбо паскаль а то у меня не выходит
Var
a,b,c,d,e,max:integer;
procedure f(a,b:integer);
begin
if a>b then max:=a else max:=b;
end;
begin
read (a,b,c,d,e);
f(a,b);
f(max,c);
f(max,d);
f(max,e);
writeln('max=',max);
end.


image
image

Информатика (65 баллов)
оставил комментарий Начинающий (795 баллов)

ye;yj yfqnb vfrcbvfkmyjt bp 4 xbctk

оставил комментарий Начинающий (795 баллов)

Нужно найти максимальное среди четырех чисел?

оставил комментарий (65 баллов)

пяти

оставил комментарий Начинающий (795 баллов)

а да

оставил комментарий Начинающий (795 баллов)

Мне кажется что не стоило

оставил комментарий Начинающий (795 баллов)

Что он пишет

оставил комментарий (65 баллов)

пишет неизвестный индефикатор max

оставил комментарий (65 баллов)

если я его в процедуре запишу постоянно в результате выдает 0

оставил комментарий Архангел (142k баллов)

Эта процедура не имеет смысла для модуля, потому что она работает с внешней переменной max, которая в модуле не будет видна и не позволит его откомпилировать.

Дан 1 ответ
0 голосов
Архангел (142k баллов)
 
Правильный ответ

1. Пишем модуль с функцией f и помещаем его в файл с именем MyMax.pas

unit MyMax;
interface
  function f(a,b:integer):integer;
implementation
  function f(a,b:integer):integer;
  begin
    if a>b then f:=a else f:=b
  end;
begin
end.

2. В меню Turbo Pascal (Compile) обеспечиваем установку Distination Disk
3. Компилируем модуль (Compile - Compile) и получаем файл MyMax.tpu
Он будет записан в директорию, путь к которой указан в опции меню Options - Directories... для TPU-файлов. Убеждаемся, что такой файл там появился.
4. В меню Turbo Pascal (Compile) возвращаем установку Distination Memory
5. Окно с MyMax.pas закрываем, больше оно нам не нужно, теперь у нас есть объектный модуль tpu.
6. Создаем новый файл для вызова нашего модуля (обращаю внимание на появление в uses требования подключить наш модуль).

uses Crt, MyMax;
var
  a,b,c,d,e,max:integer;
begin
  ClrScr;
  Read (a,b,c,d,e);
  max:=f(a,b);
  max:=f(max,c);
  max:=f(max,d);
  max:=f(max,e);
  Writeln('max=',max);
  ReadKey
end.

7. Запускаем на выполнение и убеждаемся, что все работает.

8. Замечание. Можно было написать и более коротко:

uses Crt,MyMax;
var
  a,b,c,d,e:integer;
begin
  ClrScr;
  Read (a,b,c,d,e);
  Writeln('max=',f(f(f(f(a,b),c),d),e));
  ReadKey
end.

...