Меню

Ошибка 201 паскаль фри

1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

1

21.03.2015, 18:48. Показов 5803. Ответов 23


Задание:
1. Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3. Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.
4. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)

Я для каждого размера заполняю массив по возрастанию, по убыванию и случайным образом, и замеряю количество пересылок и сравнений для каждого случая. Пока что только метод Прямого выбора проверяю.
При n = 100 все ок. При n = 200 с массивом по возрастанию все ок, по убыванию все ок, а на случайно заполненном массиве вылетает runtime error 201 при попытке обращения к любому элементу (поставила вывод a[0] перед началом, и вывод текущего i на каждой итерации чтобы знать когда оно вылетает, ну и вылетает соответственно при попытке обращения к a[0] перед началом сортировки). Не понимаю в чем вообще может быть дело. Помогите пожалуйста.



0



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,994

Записей в блоге: 3

21.03.2015, 19:45

2

Лучший ответ Сообщение было отмечено MayaNash как решение

Решение

У меня не сразу воспроизвелась ошибка. И я решил, что это связано с режимами компиляции.
После пошагового тестирования увидел — ошибка при выполнении count_sum. После пошагового выполнения и контроля переменных sum, i стало видно, что при переполнении sum (более ~32000) получается ошибка 201.

Вывод: для суммирования использовать более ёмкий тип.



1



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 19:49

 [ТС]

3

ФедосеевПавел, тогда почему у меня вылетает в сортировке, а не в счете? и не может именно взять a[0] почему-то, хотя a[0] явно существует и уже использовался
Хотя это конечно тоже надо поменять, спасибо



0



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 19:59

 [ТС]

4

Поменяла на int64 там. Вроде бы больше нигде увеличивать настолько не надо. Теперь вылетает на первой сортировке при n = 300.



0



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 20:00

 [ТС]

5

Ушла часа на полтора, если что



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32444 / 20939 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

21.03.2015, 20:09

6

Лучший ответ Сообщение было отмечено MayaNash как решение

Решение

Керра, гонял во всех режимах совместимости, вылета при mode delphi и при mode objfpc нет совсем, при mode tp / mode fpc вылетает с 201-ой ошибкой в count_sum, при mode macpas вылет там же, в count_sum, но уже с 217-ой ошибкой. Так что во-первых, озвучь режим, в котором работаешь, а во-вторых — исправить тип sum на более емкий таки придется.

P.S. Со внесенными исправлениями по 30 запусков программы (в каждом режиме) прошло без сбоя.



1



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,994

Записей в блоге: 3

21.03.2015, 20:13

7

После замены типа old_sum, count_sum и sum на int64, прогнал по всем режимам ObjFPC, Delphi и пр. Ошибка не возникала.
Я в растерянности.
————
PS Sorry. Долго набирал. Получилось повторение поста volvo.



0



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 20:17

 [ТС]

8

ФедосеевПавел, тоже только что сделала ту же замену — все еще вылетает при первой сортировке с n = 300
volvo, режим… free pascal 2.6, без модов, в опциях mode debug… чувствую себя совсем студентом…



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32444 / 20939 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

21.03.2015, 20:19

9

Керра, не то. Интересно, что выбрано в Options->Compiler->Compiler mode



0



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 20:20

 [ТС]

10

volvo, free pascal dialect



0



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,994

Записей в блоге: 3

21.03.2015, 20:33

11

Sorry за шаманство. А если в каталоге с исходниками удалить все лишние файлы, а потом заново перекомпилировать?



0



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 21:34

 [ТС]

12

Ничего не изменилось

Добавлено через 56 минут
Елки зеленые. Забыла в count_sum поменять тип переменной… Тип функции поменяла, а переменную забыла…

Добавлено через 1 минуту
Мда, невнимательность это определенно мой конек…



0



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,994

Записей в блоге: 3

21.03.2015, 21:35

13

(робко) Ура?
Ур-ра!!!



1



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

21.03.2015, 21:37

 [ТС]

14

.



0



bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7480 / 4352 / 2771

Регистрация: 22.11.2013

Сообщений: 12,478

Записей в блоге: 1

22.03.2015, 00:16

15

Лучший ответ Сообщение было отмечено MayaNash как решение

Решение

Керра,
1) обратите внимание на использование в циклах to вместо downto, есть ошибки, когда перебор от большего к меньшему;
2) посмотрите, вероятно предложенный ниже вариант декомпозиции окажется более удачным:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
type
  TElement=Integer;
 
var
  cntComp, cntSwap: Longint;
 
procedure Swap(var a, b: TElement);
var c: TElement;
begin
  c:=a; a:=b; b:=c;
  Inc(cntSwap);
end;
 
function IsLess(a, b: TElement): Boolean;
begin
  IsLess:=a<b;
  Inc(cntComp);
end;

Тогда код сортировок сохранится незагроможденным (обратите внимание на downto):

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
procedure sort_dsel(var a: array of TElement);
var
  i, j, m: integer;
begin
  for i := 0 to high(a)-1 do begin
    m := i;
    for j := i+1 to high(a) do
      if IsLess(a[j], a[m]) then min := j;
    if m<>i then Swap(a[i], a[m]);
  end;
end;
 
procedure sort_bubl(var a: array of TElement);
var
  i, j: integer;
begin
  for i := high(a)-1 downto 1 do
    for j := 0 to i do
      if IsLess(a[j+1], a[j]) then Swap(a[j], a[j+1]);
end;
 
procedure sort_ctail(var a: array of TElement);
var
  l, r, i: Integer;
begin
  l := 0; r := High(a);
  repeat
    Inc(l);
    for i := r downto l do
      if IsLess(a[i], a[i-1]) then Swap(a[i], a[i-1]);
    Dec(r);
    for i := l to r do
      if IsLess(a[i+1], a[i]) then Swap(a[i+1], a[i]);
  until l>r;
end;

3) В таком варианте и код сбора статистики можно легко унифицировать:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
type
  TSortProc=procedure (var a: array of TElement);
 
procedure MakeStat;
const
  Sort=array [1..3] of TSortProc = (sort_dsel, sort_bubl, sort_ctail);
  sSort=array [1..3] of String[5] = ('DSEL', 'BUBL', 'CTAIL');
  Fill=array [1..3] of TSortProc = (FillAsc, FillDsc, FillRnd);
  sFill=array [1..3] of String[3] = ('ASC', 'DSC', 'RND');
var
  a: array of TElement;
  i, j, k: Integer;
  s: LongInt;
begin
  for i:=1 to 5 do begin
    SetLength(a, i*100);
    for j:=1 to 3 do 
      for k:=1 to 3 do begin
        Fill[j](a); s:=CountSum(a);
        cntComp:=0; cntSwap:=0; Sort[k](a);
        WriteLn(sSort[k]:6, i*100:4, sFill[j]:8, cntComp:8, cntSwap:8,
          CountAsc(a)=i*100:8, s=CountSum(a):8);
      end;
  end;
  a:=nil;
end;



2



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

22.03.2015, 07:50

 [ТС]

16

bormant, спасибо



0



bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7480 / 4352 / 2771

Регистрация: 22.11.2013

Сообщений: 12,478

Записей в блоге: 1

22.03.2015, 09:20

17

Если для сравнения алгоритмов захочется получить одни и те же псевдослучайный массивы, это несложно, достаточно обеспечить одинаковое начальное значение ГПСЧ:

Pascal
1
2
3
4
5
6
7
var seed: Cardinal;
...
  Randomize; seed:=RandSeed;
...
  for k:=1 to 3 do begin
    RandSeed:=seed; FillRnd(a);  { одинаковое заполнение для k=1..3 }
    cntComp:=0; cntSwap:=0; Sort[k](a);

Добавлено через 2 минуты
И убрать вызов Randomize из FillRnd().



1



1296 / 469 / 151

Регистрация: 24.08.2011

Сообщений: 2,249

22.03.2015, 09:21

 [ТС]

18

Естественно
Спасибо



0



bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7480 / 4352 / 2771

Регистрация: 22.11.2013

Сообщений: 12,478

Записей в блоге: 1

22.03.2015, 10:00

19

По поводу суммы элементов. Поскольку используется она как контрольная сумма без учета порядка, программист вправе принять решение о допустимости переполнений при ее подсчете. В FPC за целочисленный переполнения отвечает $R, в TP — $Q, обе локальные (в Delphi на уровне процедуры, в TP/FPC на уровне выражения). В FPC Inc/Dec контролируются на переполнение, в TP — нет. Поэтому возможен такой вариант для подавления ошибки переполнения при подсчете контрольной суммы:

Pascal
1
2
3
4
5
6
7
8
9
{$UNDEF RON}{$IFOPT R+}{$DEFINE RON}{$R-}{$ENDIF}
{$UNDEF QON}{$IFOPT Q+}{$DEFINE QON}{$Q-}{$ENDIF}
function CSum(const a: array of TElement): TElement;
var e: TElement;
begin
  Result:=0; for e in a do Result:=Result+e;
end;
{$IFDEF RON}{$R+}{$ENDIF}
{$IFDEF QON}{$Q+}{$ENDIF}

пляска с условной компиляцией для восстановления лолкальных опций компиляции на последующий код.

Добавлено через 8 минут
или

Pascal
1
2
3
{$PUSH}{$Q-,R-}
...
{$POP}



1



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32444 / 20939 / 8104

Регистрация: 22.10.2011

Сообщений: 36,203

Записей в блоге: 7

22.03.2015, 11:41

20

{$OFFTOP ON}
Вот почему, интересно, FPC не позволяет перегрузить оператор «<» для встроенного типа? Насколько все было бы проще, не надо вводить функцию IsLess, код остается неприкосновенным, только подсчет количества сравнений выполняется в перегруженном операторе… Странно.
{$OFFTOP OFF}



0



I have tried to make a simple snake game with Free Pascal, when I started the programme, it drew the map exactly what I want but after that, I pressed the button that I have set to control the snake and it exited with exit code 201.

I don’t know much about that exit code, could you explain me the problems of the programme? This is the longest program I have ever made with Pascal.

Here is the code:

    uses crt;

    type 
      ran=record
        x:byte;
        y:byte;
      end;

    var 
      f:ran;
      s:array[1..1000] of ran;
      i,j:longint;
      st,l:byte;

    function getkey:integer;
    var 
      k:integer;
    begin
      k:=ord(readkey);
      if k=0 then k:=-ord(readkey);
      getkey:=k;
    end;

    procedure fa;
    begin
      randomize;
      f.x:=random(98)+1;
      f.y:=random(23)+1;
      gotoxy(f.x,f.y);
      writeln('o');
    end;

    procedure draw;
    begin
      gotoxy(1,1);
      st:=1;
      for i:=1 to 25 do begin
        for j:=1 to 100 do write('X');
        writeln
      end;
      gotoxy(st+1,st+1);
      for i:=1 to 23 do begin
        for j:=1 to 98 do write(' ');
        gotoxy(st+1,i+2);
      end;
    end;

    procedure sts;
    begin
      s[1].x:=19;
      s[1].y:=6;
      gotoxy(s[1].x,s[1].y);
      writeln('@');
    end;

    procedure fa1;
    begin
      f.x:=29;
      f.y:=5;
      gotoxy(f.x,f.y);
      writeln('o');
    end;

    procedure eat;
    begin
      if (s[1].x=f.x) and (s[1].y=f.y) then begin
        l:=l+1;
        fa;
      end;
    end;

    function die:boolean;
    begin
      die:=false;
      if (s[1].x=1) or (s[1].x=100) or (s[1].y=1) or (s[1].y=25) then 
        die:=true;
      if l>=5 then
        for i:=5 to l do
          if (s[1].x=s[i].x) and (s[1].y=s[i].y) then 
            die:=true;
    end;

    procedure up;
    begin
      for i:=l downto 2 do begin
        s[i].y:=s[i-1].y;
        gotoxy(s[i].x,s[i].y);
        writeln('+');
      end;
      gotoxy(s[l].x,s[l].y+1);
      writeln(' ');
      s[1].y:=s[1].y-1;
      gotoxy(s[1].x,s[1].y);
      writeln('@');
    end;

    procedure down;
    begin
      for i:=l downto 2 do begin
        s[i].y:=s[i-1].y;
        gotoxy(s[i].x,s[i].y);
        writeln('+');
      end;
      gotoxy(s[l].x,s[l].y-1);
      writeln(' ');
      s[1].y:=s[1].y+1;
      gotoxy(s[1].x,s[1].y);
      writeln('@');
    end;

    procedure left;
    begin
      for i:=l downto 2 do begin
        s[i].x:=s[i-1].x;
        gotoxy(s[i].x,s[i].y);
        writeln('+');
      end;
      gotoxy(s[l].x+1,s[l].y);
      writeln(' ');
      s[1].x:=s[1].x-1;
      gotoxy(s[1].x,s[1].y);
      writeln('@');
    end;

    procedure right;
    begin
      for i:=l downto 2 do begin
        s[i].x:=s[i-1].x;
        gotoxy(s[i].x,s[i].y);
        writeln('+');
      end;
      gotoxy(s[l].x-1,s[l].y);
      writeln(' ');
      s[1].x:=s[1].x+1;
      gotoxy(s[1].x,s[1].y);
      writeln('@');
    end;

    procedure auto(k:integer);
    begin
      case k of
        -72:up;
        -80:down;
        -75:left;
        -77:right;
        119:up;
        115:down;
        97:left;
        100:right;
      end;
    end;

    procedure ingame(t:integer);
    var 
      d,e:boolean;
    begin
      repeat
        auto(t);
        d:=die;
        if d=true then exit;
        eat;
      until (keypressed);
      if keypressed then t:=getkey;
      case t of
        -72:up;
        -80:down;
        -75:left;
        -77:right;
        119:up;
        115:down;
         97:left;
        100:right;
      end;
      eat;
      d:=die;
      if d=true then exit;
    end;

    procedure first;
    var
      k:integer;
    begin
      draw;
      fa1;
      sts;
      if keypressed then k:=getkey;
      ingame(k);
    end;

    BEGIN
      clrscr;
      first;
      readln
    END.

Maxizar писал(а):1- Используйте Lazarus.

Если уметь патчить паскалевское иде, то для многих целей оно не хуже.

2- Забудьте про атавизмы (Goto, Uses Graph, Crt). Не ну правда это даже смешно:

Лучше несколько Goto чем один указатель — структуру программы не разрушает, багов сверх меры не создаёт. Инициализация Crt весит намного меньше Sysutils, а для хелловорда от них требуется лишь Delay или Sleep. Sysutils лишь не устраивает некритичного бага при Writeln(‘русский текст в Utf8 кодировке’); Другие преимущества нужно искать с микроскопом. Sdl работает намного стабильнее Graph и в линуксе и в виндовсе, но не имеет процедур типа Line, Cirkle — того что нужно для построения графиков.

4- Я переписал программу, и она полностью работает, так в чем проблема?

Ага, работает, скомпиленная лично вами, под вайном. Лазарус 0.9.28.2 beta под линуксом не желает её компилить — отсутствует модуль Graph. Имхо, только по этой причине прогамму ещё не разложили по полочкам.

из-за чего приходится проходить весь код… у вас код 100 строк.. и пару циклов….. Дебаггер в руки и вперед.

Какой тут ещё дебаггер? При условии компиляции и запуска, здесь и без него просто ищется. Воткнуть

Код: Выделить всё
A:=A div(A-A);

скомпилировать, запустить, посмотреть вывод, перенести вставку в другое место, скомпилить… И так до обнаружения проблемного оператора.

А автору программы можно посоветовать пореже использовать integer если нет уверенности насчёт ошибки переполнения — int64 наше всё.

Добавлено спустя 1 час 13 минут 11 секунд:
Да, вспомнил, при низкоуровневом рисовании нужно проверять координаты рисуемых точек на диапазон. Если рисовать за пределами окна, то может случиться страшное — что-то типа ошибки 201.

IPB

> Pascal. Ошибка в программе. Exitcode = 201., При работе с текстовым файлом

сообщение 27.08.2013 0:32

Сообщение
#1

Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +



Здравствуйте, уважаемые программисты, администраторы, пользователи и т.д.
Суть программы: меню для игры.
Столкнулся с Exitcod’ом 201. Вылет происходит при использовании цикла чтения из текстового файла и присваивания строк файла массиву.
Что-то я делаю явно не так, вопрос — что?
Собственно, ниже код. Прошу прощения, если форматирование текста кода не является удобночитаемым.
Пишу на Free Pascal, желательно, чтобы программа компилировалась и на Borland Pascal 7.0.
Благодарю за внимание.

Спойлер (Показать/Скрыть)

Сообщение отредактировано: SaheR — 27.08.2013 0:35

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

Ромаха

сообщение 28.08.2013 12:47

Сообщение
#2


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Мужской
Реальное имя: Роман

Репутация: -  0  +



Добрый день.
Для начала стоит освежить знания о Run-time errors.
А точнее вспомнить что ж за зверь такой 201 и с чем его едят..
201 Range check error
If you compiled your program with range checking on, then you can get this error in the following cases:
An array was accessed with an index outside its declared range.
Trying to assign a value to a variable outside its range (for instance an enumerated type).

То есть выход за пределы.
Начать нужно с того, что или Вы даете нам какой-нить уровень (чтобы не было exitcode = 2). Или Вы пошагово пытаетесь выйти на ошибку..

Удачи! smile.gif

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

SaheR

сообщение 28.08.2013 18:52

Сообщение
#3

Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +



Цитата(Ромаха @ 28.08.2013 11:47) *

Добрый день.
Для начала стоит освежить знания о Run-time errors.
А точнее вспомнить что ж за зверь такой 201 и с чем его едят..
201 Range check error
If you compiled your program with range checking on, then you can get this error in the following cases:
An array was accessed with an index outside its declared range.
Trying to assign a value to a variable outside its range (for instance an enumerated type).

То есть выход за пределы.
Начать нужно с того, что или Вы даете нам какой-нить уровень (чтобы не было exitcode = 2). Или Вы пошагово пытаетесь выйти на ошибку..

Удачи! smile.gif

Спасибо за напоминание, но я написал сюда уже от беспомощности т.к. и не нашёл, где происходит выход за пределы массива.
Файл level.txt должен содержать просто названия уровней, которые уже в будущем будут загружаться из одноимённых файлов.
Собственно, из-за

gotoxy(7, i*2);

в этом файле должно быть не более 12 строк. На данный момент, у меня в этом файле находится всего четыре строчки, в каждой по одному слову(если нужно, уточню — в английской раскладке).
Когда впервые с этой ошибкою встретился в данном коде, то даже массив arrlevels сделал с индексами от 1 до 150.
Благодарю за пожелание удачи :3

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

SaheR

сообщение 28.08.2013 19:19

Сообщение
#4

Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +



Всё, ошибку свою нашёл. Вместо readln, при чтении с файла, использовал read.

 Оффлайн  Профиль  PM 

 К началу страницы 

+ Ответить 

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)

Пользователей: 0

500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают

Связь с администрацией: bu_gen в домене octagram.name

Написал прогу на сумму чисел в столбик(используя модуль). В ABC работает отлично, претензий нет. Но в Free дает ошибку 201(помоему ссылка на несущ. переменную). Если записать все в одну прогу(без модуля), то проблем нету. В принципе такого разногласия не должно быть. Что делать, помогите?!

Модуль:

unit sum;
interface
uses crt;
procedure chasti(a:longint; var e,d,s,t,dt,st,n: longint);
procedure summa(x,y: integer);
 
implementation
procedure chasti(a:longint; var e,d,s,t,dt,st,n: longint);
begin
e:=a mod 10;
n:=n+1;
if a>=10 then begin
d:=trunc((a-e)/10) mod 10;
n:=n+1; end;
if a>=100 then begin
s:=trunc((a-10*d-e)/100) mod 10;
n:=n+1; end;
if a>=1000 then  begin
t:=trunc((a-100*s-10*d-e)/1000) mod 10;
n:=n+1; end;
if a>=10000 then begin
dt:=trunc((a-1000*t-100*s-10*d-e)/10000) mod 10;
n:=n+1; end;
if a>=100000 then begin
st:=trunc((a-10000*dt-1000*t-100*s-10*d-e)/100000) mod 10;
n:=n+1; end;
end;
 
procedure summa(x,y: integer);
var  z: longint;
     i,b,n,e1,d1,s1,t1,dt1,st1,n1: longint;
BeGIN
clrscr;
n:=0;
z:=x+y;
chasti(z,e1,d1,s1,t1,dt1,st1,n1);
for i:=1 to n1 do
begin
b:=b+7;
gotoxy(1,b);
writeln(x);
writeln('+');
writeln(y);
writeln('------');
if i=1 then begin
gotoxy(n1,b+4);
writeln(e1); end;
if i=2 then begin
gotoxy(n1-1,b+4);
writeln(d1,e1); end;
if i=3 then begin
gotoxy(n1-2,b+4);
writeln(s1,d1,e1); end;
if i=4 then begin
gotoxy(n1-3,b+4);
writeln(t1,s1,d1,e1); end;
if i=5 then begin
gotoxy(n1-4,b+4);
writeln(dt1,t1,s1,d1,e1); end;
if i=6 then begin
gotoxy(n1-5,b+4);
writeln(st1,dt1,t1,s1,d1,e1); end;
readln;
end;
END;
end.
uses crt,sum;
var  x1,y1: integer;
 
BEGIN
clrscr;
 
write('Vvedite pervoye chislo: ');
readln(x1);
write('Vvedite vtoroye chislo: ');
readln(y1);
summa(x1,y1);

repeat until keypressed;
END.

201      : range error

215      : overflow checking when doing computation with integer

202      : overflow stack

106      : invalid numeric format

1          : invalid function number

2          : file not found

3          : path not found

4          : too many open files

5          : file access denied

6          : invalid file handle

12        : invalid file access code

15        : invalid drive number

16        : cannot remove current directory

17        : cannot rename across

18        : no more files

100      : disk read error

101      : disk write error

102      : file not assigned

103      : file not open

104      : file not open for input

105      : file not open for output

150      : disk is write protected

151      : bad drive request structure length

152      : drive not ready

154      : CRC error in data

156      : disk seek error

157      : unknown media type

158      : sector not found

159      : printer out of paper

160      : device write fault

161      : device read fault

162      : hardware failure

200      : div by zero

203      : heap overflow

204      : invalid pointer operation

205      : floating point overflow

206      : floating point underflow

207      : invalid floating point operation

208      : overlay manager not installed

209      : overlay file read error

210      : object not initialized

211      : call to abstract method

212      : stream registration error

213      : collection index out of range

214      : collection overflow error

216      : general protection fault

217      : invalid operation code

227      : assertion failed

300      : file IO error

301      : non-matched array bounds

302      : non-local procedure pointer

303      : procedure pointer out of scope

304      : function not implemented

305      : breakpoint error

306      : break by ctrl/c

307      : break by ctrl/break

308      : break by other process

309      : no floating point coprocessor

310      : invalid variant type operation

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка 201 ошибка проверки диапазона
  • Ошибка 201 нет файла din соответствующего информационному банку prss