Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2010, 22:02   #1
FYBVFPFYBC
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 19
По умолчанию Простой алгоритм с модулями (Ошибка: отсутствует определение процедуры)

Пока не смогла разобраться в чём дело. Pascal ABC и стандартная среда Turbo Pascal выводят разные сообщения об ошибке в разных частях модуля (во время компиляции).
Код:
unit readunit;
interface
const n=10;

type
matrix=record;{ошибка в Borland Pascal 7.0: "Ошибка 37: Предполагается END."}
nme: string[10];
prc,use: integer;
nprc: real;
end;

var
mtx: array[1..n-1]of matrix;
inpf: text;

procedure readin(var mtx: array[1..n-1]of matrix; var inpf: text);{ошибка в PascalABC: "Отсутствует определение процедуры READIN"}

implementation
procedure readin;
var a,i: integer; ch: char; str: string;
   begin
   for i:=1 to n-1 do
      begin
      {name}
      repeat
         begin
         read(inpf,ch);
         if ord(ch)=32 then break
         else mtx[i].nme:=mtx[i].nme+ch;
         end;
      until false;
      {price}
      str:='';
      repeat
         begin
         read(inpf,ch);
         if ord(ch)=32 then break
         else str:=str+ch;
         end;
      until false; val(str,mtx[i].prc,a);
      {use}
      str:='';
      repeat
         begin
         read(inpf,ch);
         if (ord(ch)=32) or (eof(inpf)) or (eoln(inpf)) then break
         else str:=str+ch;
         end;
      until false; val(str,mtx[i].use,a); readln(inpf);
      end;
   end;
end.
Вроде всё по учебнику Фаронова сделала. Может, чего-то не замечаю?
FYBVFPFYBC вне форума Ответить с цитированием
Старый 15.05.2010, 22:30   #2
Dalef
 
Регистрация: 15.05.2010
Сообщений: 9
По умолчанию

После record убери ;
Dalef вне форума Ответить с цитированием
Старый 15.05.2010, 22:37   #3
miftayka
Пользователь
 
Регистрация: 09.05.2010
Сообщений: 17
По умолчанию

нужно убрать точку с запятой после "record".
miftayka вне форума Ответить с цитированием
Старый 15.05.2010, 22:41   #4
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Душа к этому тянет =)
Код:
procedure readin(var mtx: array[1..n-1]of matrix; var inpf: text);{ошибка в PascalABC: "Отсутствует определение процедуры READIN"}

implementation
procedure readin(var mtx: array[1..n-1]of matrix; var inpf: text);
var a,i: integer; ch: char; str: string;
   begin
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 15.05.2010, 23:33   #5
FYBVFPFYBC
Пользователь
 
Регистрация: 19.01.2010
Сообщений: 19
По умолчанию

Dalef, miftayka, SNUPY, спасибо вам!
FYBVFPFYBC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема: определение отсутствует. Deadle JavaScript, Ajax 4 23.10.2018 14:15
Ошибка компиляции простой проги Syltan C++ Builder 10 24.04.2010 11:15
Подскажите в чем ошибка в простой программе baks36 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 13.07.2009 18:08
Простой алгоритм! Marsik Помощь студентам 4 07.10.2008 16:21
Определение уровня напряженности магнитного поля, не пойму где ошибка neznayka2 Паскаль, Turbo Pascal, PascalABC.NET 2 24.08.2008 21:01