Что значит ошибка ожидался оператор

Исправить ошибку "ожидался оператор" Pascal ABC Решение и ответ на вопрос 425552

Dmitry37

1 / 1 / 0

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

Сообщений: 15

1

Исправить ошибку «ожидался оператор»

10.01.2012, 15:13. Показов 30652. Ответов 3

Метки нет (Все метки)


Program vector;

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Uses crt;
Var i,j,k:byte; x:array[1..100] of real;
    y:array[1..100,1..100] of real;
Begin
 Clrscr;
 Write('введите k='); readln(k);
 For i:=1 to k do
  begin write('x[',i:2,']=');read(x[i]);end;
 For i:=1 to k do
  For j:=1 to k do
  y[i,j]:=cos(x[i])*sin(j*x[j]);
  Writeln('элементы матрицы y')
For i:=1 to k do
  begin
  for j:=1 to k do write(' ',y[i,j]:0:4);
  writeln;
   end;
  Readln;
 End.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

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

Сообщений: 116,782

10.01.2012, 15:13

Ответы с готовыми решениями:

Исправить ошибку «ожидался оператор»
Program okryjnost;
Uses crt;
Var
a,b,x,y,p1,p2,f1,f2,m1,m2,p,f,m,R: real;
n:integer;
Begin…

Ошибка «Ожидался оператор» при вычислении выражения
Program di;
var x,y,z,t:real;
Begin
writeln(‘Введите х’);
readln(x);…

Поиск суммы положительных четных чисел и ошибка «Ожидался оператор»
Выдает ошибку,где"у", Встречено ‘:=’, а ожидался оператор

var q:real;
t,i,y:integer;…

Массив записей о городах: «ожидался оператор»
Помогите, пожалуйста, в 14 строчке при попытке запустить программу вылезает ошибка: "ожидался…

3

Puporev

Почетный модератор

64272 / 47571 / 32739

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

Сообщений: 115,182

10.01.2012, 15:17

2

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

Решение

Исправить очень сложно, примерно так.

Pascal
1
Writeln('элементы матрицы y');

точку с запятой поставить.



1



1852 / 1174 / 190

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

Сообщений: 4,514

10.01.2012, 15:17

3

точку с запятой поставь после Writeln(‘элементы матрицы y’)



0



1 / 1 / 0

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

Сообщений: 15

10.01.2012, 15:20

 [ТС]

4

Спасибо, согласен, тупанул))



0



IT_Exp

Эксперт

87844 / 49110 / 22898

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

Сообщений: 92,604

10.01.2012, 15:20

4

Пишет вот «Program1.pas(21) : Встречено ‘else’, а ожидался оператор»

program test;

var
  sum: real;
  percent: real;
  period: integer;
  
  profit: real;
  result: real;
begin
  writeln('Вычисление дохода по в кладу в банке');
  writeln;
  
  write('Сумма (руб.) ->');
  readln(sum);
  write('Срок вклада (дней) ->');
  readln(period);
  
  if sum > 5000 then
         percent := 0.95;
      else
         pecent := 0.08;
  profit := sum * percent/365 * period;
  result := sum +profit;
  
  writeln('Сумма в конце срока вклады: ',
           result:6:2, руб.');
  writeln('Доход: ', profit:6:2, ' руб.');
  write('Для завершения работы нажмите <Enter>');
  readln;
end.

почему?


  • Вопрос задан

    более трёх лет назад

  • 4292 просмотра

Пригласить эксперта

Как вы определили, что не работает?

У вас не Else не работает, а грамматических ошибок полно.
Не нужно ставить точку с запятой после первого
percent := 0.95

во втором pecent := 0.08; нужно писать percent а не pecent

в строке
writeln(‘Сумма в конце срока вклады: ‘,
result:6:2, руб.’);

у вас перед руб не хватает одинарной кавычки.

Неужели так сложно внимательнее быть?

if sum > 5000 then
percent := 0.95;
else
перед ‘else’ ‘;’ не ставится


  • Показать ещё
    Загружается…

13 февр. 2023, в 08:47

1000 руб./в час

13 февр. 2023, в 08:41

5000 руб./за проект

13 февр. 2023, в 08:20

3000 руб./за проект

Минуточку внимания

Ожидался оператор PASCAL

program kvadratn;
var A,B,C,x1,x2,D:integer;
begin;
Writeln(‘Дано уравнение вида Ax^2+Bx+C=0’);
Writeln(‘Задайте коэффициент A’);
Readln(A);
Writeln(‘Задайте коэффициент B’);
Readln(B);
Writeln(‘Задайте коэффициент C’);
Readln(C);
D:=B*B-4*A*C;
Write(‘Дискриминант равен: ‘);
Writeln(D);
x1:=((-B+sqrt(D))/2*A);
x2:=((-B-sqrt(D))/2*A);
Writeln(‘Корни: ‘);
if (D>=0) then writeln(x1); Writeln(x2);
else writeln(‘Корней нет’);
end.

Написал вот такую программку которая должна вычислять корни квадратного уравнения.
Но при запуске её, выдаёт ошибку и пишет что ожидался оператор и подчёркивает строчку «else writeln(‘корней нет’)
пожалуйста подскажите в чём проблема

Сайгид

Ошибок море.
После begin и перед else точка с занятой недопустима.
Недопустимо присвоение целочисленным переменным чисел с плавающей запятой, а извлечение квадратного корня возвращает действительное значение.
Неверно написаны формулы вычисления корней x1 и x2.
Если дискриминант меньше нуля, то всё равно будет выполняться извлечение корня из этого отрицательного значения, что вызовет runtime ошибку.

program kvadratn;
var A,B,C,x1,x2,D:real;
begin
Writeln(‘Дано уравнение вида Ax^2+Bx+C=0’);
Writeln(‘Задайте коэффициент A’);
Readln(A);
Writeln(‘Задайте коэффициент B’);
Readln(B);
Writeln(‘Задайте коэффициент C’);
Readln(C);
D:=B*B-4*A*C;
Write(‘Дискриминант равен: ‘);
Writeln(D);
if D 0 then Writeln(x2);
end;
end.

Всеволод

if D=0 then writeln(x1)
else if D>0
begin
Writeln(x1) ;
Writeln(x2) ;
end
else writeln(‘Корней нет’);

так правильнее будет . зачем тебе при D=0 выводить оба значения (они ведь одинаковые)

Cutie

if (D>=0) then
begin
writeln(x1); Writeln(x2);
end;
else writeln(‘Корней нет’);

1000лет и один день не программировал на паскале!
Посмотри третью строку снизу: после тhen два writeln, это допускается? Попробуй сделать один writeln или если тебе очень надо, составной оператор.

Что значит ожидался оператор в паскале

Помогите пожалуйста не могу разобраться почему когда я добавила procedure r15(xa,xb,xc,xd,ya,yb,yc,yd:real);x 1,x2,x3,y1,y2,y3,pt1,pt2,pt3,s:real ;
unit Lib15;
interface
программа пишет «ожидался оператор»

var
xa,xb,xc,xd,ya,yb,yc,yd:real;
x1,x2,x3,y1,y2,y3:real;
pt1,pt2,pt3,s:real;

begin
write(‘Введите координаты точки А: ‘);
Readln(xa,ya);
write(‘Введите координаты точки B ‘);
Readln(xb,yb);
write(‘Введите координаты точки C ‘);
Readln(xc,yc);
write(‘Введите координаты точки D ‘);
Readln(xd,yd);

procedure r15(xa,xb,xc,xd,ya,yb,yc,yd:real);x 1,x2,x3,y1,y2,y3,pt1,pt2,pt3,s:real ;
unit Lib15;
interface

begin
x1:=xa;
if x1>xb then x1:=xb;
if x1>xc then x1:=xc;
if x1>xd then x1:=xd;
end;
begin
y2:=ya;
if y2<yb then y2:=yb;
if y2<yc then y2:=yc;
if y2<yd then y2:=yd;
end;
begin
x3:=xa;
if x3<xb then x3:=xb;
if x3<xc then x3:=xc;
if x3<xd then x3:=xd;
end;
begin
if x1=xa then y1:=ya;
if x1=xb then y1:=yb;
if x1=xc then y1:=yc;
if x1=xd then y1:=yd;
end;
begin
if y2=ya then x2:=xa;
if y2=yb then x2:=xb;
if y2=yc then x2:=xc;
if y2=yd then x2:=xd;
end;
begin
if x3=xa then y3:=ya;
if x3=xb then y3:=yb;
if x3=xc then y3:=yc;
if x3=xd then y3:=yd;
end;
pt1 := ((y2+(x2*((y3-y1)/(x3-x1))))-(y1+(x1*((y3-y1)/(x3-x1)))));
pt2 := ((x3+(y3*((y3-y1)/(x3-x1))))-(x1+(y1*((y3-y1)/(x3-x1)))));
pt3 := (sqr(x1-x3))/((sqr(y1-y3))+(sqr(x1-x3)));
s := pt1*pt2*pt3;
end;
writeln(‘Площать равна = ‘, s)
end.

Ошибка в простой задаче: пишет ожидался оператор, а встретил else

Pascal. Ошибка в простой задаче: пишет ожидался оператор, а встретил else.

Среда программирования PascalABC.NET, по моей блок-схеме все верно, разделы операторов вроде все на месте, в чем может быть ошибка? Или у меня косоглазие просто?

user avatar

Перед ЭТИМ else, еще 1 end должен быть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками pascal pascalabc.net или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

program ideal;
uses crt;
var
 k, n, m, t, p, x, y, z, s, l, q, a, b, c, e, i, TTT:real;
 d:char;
 soglasie, sogl, formuly, zzz:integer;
 
function FF(a,l:real):real;
Begin
l:=t*100;
a:=p/l;
k:=a*2;
FF:=k;
end;
 
Begin
Write('Ваше имя и фамилия: ');
readln(d);
// Приветствие
Writeln('Здравствуйте! Уважаемая ', d);
writeln('Считаю нужным заострить ваше внимание на том, что все данные, которые вы получите при использовании этой программы являются примерными.');
Writeln('Если вы хотите пройти тест введите 1, если нет, то 0.');
write('Ваш ответ: ');
readln(soglasie);
if soglasie=0 then
writeln('Тогда я вынужден попрощаться!');
if soglasie=1 then
Write('Ваш возраст: ');
readln(e);
write('Обхват бюста: ');
readln(k);
write('Обхват талии: ');
readln(n);
write('Обхват бедер: ');
readln(m);
write('Рост: ');
readln(t);
write('Вес: ');
readln(p);
write('Размер груди: ');
readln(s);
write('Длинна ног: ');
readln(l);
write('Размер ноги: ');
readln(q);
x:=k*m*t;
y:=n*n*p;
z:=x/y;
a:=s*k*p;
b:=l*q;
c:=a/b;
i:=z/c*100;
writeln('Оценка красоты: ', round(i));
write('Хотите ли узнать, какой вес и рост нормален в вашем возрасте? да = 1, нет = 0');
readln(sogl);
if sogl=0 then  writeln(' ');
if sogl=1 then writeln('Каким способом подсчета вы хотите воспользоваться?');
               writeln('"Индекс массы тела" = 1');
               writeln('"При помощи таблиц" = 2');
               writeln('"Рост+возраст" = 3');
               writeln('Все варианты последовательно = 0');
               writeln('Ваш ответ: ');
               readln(formuly);
if formuly=1 then
write('Введите данное (', k, ') число еще раз: ');
readln(TTT);
if TTT<=18 then writeln('Ваш вес является недостаточным.');
if (TTT>18) and (k<=25) then writeln('Ваш вес вполне нормальный. Это значит, что нет смысла его сбрасывать, но и набирать не нужно. Держите показатель на одном и том же <уровне>.');
if (TTT>25) and (k<35) then writeln('Пора уже поработать с фигуркой, так как возрастает риск появления ожирения. Худейте, но делайте это без особого фанатизма!');
if TTT>=35 then writeln('Очень жаль, но у вас:. Ожирение! Необходима помощь и консультация специалистов.');
//нормальный рост при данном возрасте
writeln('Нормальный рост в вашем возрасте (', e, ') составляет: ');
if e=0 then writeln('до 74 см');
if e=1 then writeln('до 86.4 см');
if e=2 then writeln('до 98 см');
if e=3 then writeln('до 101 см');
if e=4 then writeln('до 104 см');
if e=5 then writeln('до 110.5 см');
if e=6 then writeln('до 118 см');
if e=7 then writeln('до 125 см');
if e=8 then writeln('до 131.6 см');
if e=9 then writeln('до 136.5 см');
if e=10 then writeln('до 142.5 см');
if e=11 then writeln('до 148.6 см');
if e=12 then writeln('до 155 см');
if e=13 then writeln('до 160.5 см');
if e=14 then writeln('до 164 см');
if e=15 then writeln('до 167 см');
if e=16 then writeln('до 169 см');
if e=17 then writeln('до 170 см');
// Нормальный вес при данном возрасте
writeln('Нормальный вес, при вашем возрасте (', e, ') ');
if e=0 then writeln('до 7.9 кг');
if e=1 then writeln('до 10.2 кг');
if e=2 then writeln('до 12.2 кг');
if e=3 then writeln('до 14 кг');
if e=4 then writeln('до 18.2 кг');
if e=5 then writeln('до 20.2 кг');
if e=6 then writeln('до 22.4 кг');
if e=7 then writeln('до 25 кг');
if e=8 then writeln('до 28.2 кг');
if e=9 then writeln('до 31.9 кг');
if e=10 then writeln('до 34.9 кг');
if e=11 then writeln('до 38.9 кг');
if e=12 then writeln('до 45.4 кг');
if e=13 then writeln('до 52.5 кг');
if e=14 then writeln('до 58 кг');
if e=15 then writeln('до 60.4 кг');
if e=16 then writeln('до 61.3 кг');
if e=17 then writeln('до 61.9 кг');
// Прощание
writeln('На этом вынужден проститься, в следующих версиях программы вы сможете получать советы по корректировке фигуры.');
writeln('');
writeln(' ');
writeln('<br>');
writeln('Все данные не являются исключительно точными');
end.

program kvadratn;
var A,B,C,x1,x2,D:integer;
begin;
Writeln(‘Дано уравнение вида Ax^2+Bx+C=0’);
Writeln(‘Задайте коэффициент A’);
Readln(A);
Writeln(‘Задайте коэффициент B’);
Readln(B);
Writeln(‘Задайте коэффициент C’);
Readln(C);
D:=B*B-4*A*C;
Write(‘Дискриминант равен: ‘);
Writeln(D);
x1:=((-B+sqrt(D))/2*A);
x2:=((-B-sqrt(D))/2*A);
Writeln(‘Корни: ‘);
if (D>=0) then writeln(x1); Writeln(x2);
else writeln(‘Корней нет’);
end.

Написал вот такую программку которая должна вычислять корни квадратного уравнения.
Но при запуске её, выдаёт ошибку и пишет что ожидался оператор и подчёркивает строчку «else writeln(‘корней нет’)
пожалуйста подскажите в чём проблема

Здесь легко и интересно общаться. Присоединяйся!

Ошибок море.
После begin и перед else точка с занятой недопустима.
Недопустимо присвоение целочисленным переменным чисел с плавающей запятой, а извлечение квадратного корня возвращает действительное значение.
Неверно написаны формулы вычисления корней x1 и x2.
Если дискриминант меньше нуля, то всё равно будет выполняться извлечение корня из этого отрицательного значения, что вызовет runtime ошибку.

program kvadratn;
var A,B,C,x1,x2,D:real;
begin
Writeln(‘Дано уравнение вида Ax^2+Bx+C=0’);
Writeln(‘Задайте коэффициент A’);
Readln(A);
Writeln(‘Задайте коэффициент B’);
Readln(B);
Writeln(‘Задайте коэффициент C’);
Readln(C);
D:=B*B-4*A*C;
Write(‘Дискриминант равен: ‘);
Writeln(D);
if D 0 then Writeln(x2);
end;
end.

1000лет и один день не программировал на паскале!
Посмотри третью строку снизу: после тhen два writeln, это допускается? Попробуй сделать один writeln или если тебе очень надо, составной оператор.

if (D>=0) then
begin
writeln(x1); Writeln(x2);
end;
else writeln(‘Корней нет’);

if D=0 then writeln(x1)
else if D>0
begin
Writeln(x1) ;
Writeln(x2) ;
end
else writeln(‘Корней нет’);

так правильнее будет . зачем тебе при D=0 выводить оба значения (они ведь одинаковые)

Пишет вот «Program1.pas(21) : Встречено ‘else’, а ожидался оператор»

  • Вопрос задан более трёх лет назад
  • 2665 просмотров

Как вы определили, что не работает?

У вас не Else не работает, а грамматических ошибок полно.
Не нужно ставить точку с запятой после первого
percent := 0.95

во втором pecent := 0.08; нужно писать percent а не pecent

в строке
writeln(‘Сумма в конце срока вклады: ‘,
result:6:2, руб.’);

у вас перед руб не хватает одинарной кавычки.

В прошлом, первом уроке о паскале мы обсудили структуру программы и самые первые операторы, а также служебные слова. Сегодня я расскажу про основные операторы, с помощью которых уже можно написать первую программу.

Первым, что мы рассмотрим — это оператор присваивания. Без этого оператора мы не сможем обойтись дальше.
Его функция — это присваивания значения переменной после каких либо действий или значения другой переменной.

X-это переменная, пусть она будет равна 2, в программе это будет выглядеть так:

Я думаю, что Вы уже заметили, что на деле она выглядит, как двоеточие со знаком равно (:=).

Операторы сложения, вычитания и умножения

На второе у нас пойдут операторы сложения, вычитания и умножения.

Сложение
С помощью данного оператора мы можем сложить два числа, в программе он пишется, как «+» без кавычек:

Тут мы переменной X присвоили 11, полученное сложением 5 и 6.

Вычитание
В этом операторе тоже ничего сложного нет, он выполняет вычитание двух чисел. В программе обозначается, как «-» без кавычек:

Выше мы x присвоили 3, полученное действием вычитания чисел 7 и 4.

Умножение
Данный оператор умножает два числа друг на друга, обозначается, как «*» также без кавычек:

В примере мы нашей переменной X присвоили число 16, полученное умножением восьми на два.

Вы уже заметили, что я написал не оператор деления, а операторы. Это связано с тем, что операторов деления — три, и все они работают по разному и выполняют разные действия.

1. Простое деление

Простое деление выполняется с помощью оператора вида /, он просто делит одно число на другое. Данный оператор работает только с типом real!

В примере мы x присвоили 9,6, посредством деления 48 на 5.

2. Целочисленное деление
Данное делит число только на цело, то есть при таком способе деления невозможно получить десятичную или периодическую дробь. В программе пишется, как «div» без кавычек. Данный оператор работает только с типом integer!

В данном примере x у нас будет равно в итоге 9, а не 9,6, как это должно получиться при нормальном обычном делении.

3. Получение остатка
Данный способ позволяет получить не само число, которое должно получится, а остаток. Допустим при делении 48 на 5 мы получим 3 при таком способе деления. В программе обозначается, как «mod» без кавычек:

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

Итак, сегодня мы познакомились с операторами сложения, вычитания, умножения, тремя операторами деления, а также оператором присваивания. После сегодняшнего урока вы уже можете создавать свои простейшие программы на счёт.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(0 голосов, среднее: 0 из 5)

Поделитесь с друзьями!

Сообщение компилятора об ошибках

Если
ошибка возникает при компиляции внутри
TP,
Турбо Паскаль активизирует окно
редактирования и помещает курсор на
место ошибки в исходной программе.

Если
ошибка возникает при использовании
командно-строчного компилятора, Турбо
Паскаль выдает сообщение об ошибке,
выводит на экран исходную строку
программы с ошибкой и ее номер; символ
^ в выдаваемой исходной строке указывает
местоположение ошибки. Ошибки
подразделяются на:

  • ошибки
    при компилировании программы;

  • ошибки
    на уровне DOS;

  • ошибки
    ввода-вывода.

Ошибки при компилировании

1
Out of memory (Выход за пределы памяти)

Данная
ошибка появляется, если компилятор
израсходовал всю доступную ему память.
Возможно, ваша программа или программный
модуль слишком велики, чтобы компилировать
их в таком объеме памяти. В этом случае
программу или программный модуль
необходимо разбить на два или более
программных модуля.

2
Identifier expected (Ожидается идентификатор)

В этом месте должен
находиться идентификатор.

3
Unknown Identifier (Неизвестный идентификатор)

Этот идентификатор
не был описан.

4
Duplicate Identifier (Повторение идентификатора)

5
Syntax error (Синтаксическая ошибка)

В исходном тексте
найден недопустимый символ. Возможно,
не заключена в кавычки строковая
константа.

6
Error in real constant (Ошибка в константе
вещественного типа)

Ошибка в синтаксисе
константы вещественного типа.

7
Error In Integer constant (
Ошибка
в
константе
целого
типа)

Ошибка
в синтаксисе константы целого типа
(Учтите, что после чисел, превышающих
диапазон представления целых чисел,
должны ставиться точка и нуль, например
12345678912.0.).

8
String constant exceeds line (Строковая константа
превышает размеры строки)

Вероятно, после
строковой константы отсутствует символ
кавычка.

9
Too many nested files (Слишком много вложенных
файлов)

Компилятор допускает
не более 15 вложенных исходных файлов и
не более 4 включаемых файлов.

10
Unexpected end of file (
Неожиданный
конец
файла)

Данное сообщение
может появиться по одной из следующих
причин:

В Вашей программе,
вероятнее всего, неодинаковое количество
операторов BEGIN и END.

Включаемый
файл заканчивается в середине раздела
операторов (Каждый раздел операторов
должен целиком помещаться в одном
файле).

В Вашем файле не
закрыты скобки комментария.

11
Line too long (Строка слишком длинная)

Максимальная длина
строки не может превышать 127 символов.

12
Type Identifier expected (Ожидается идентификатор
типа)

В определенном
месте не указан тип идентификатора.

13
Too many open files (Слишком много открытых
файлов)

В
файле CONFIG.SYS не установлен параметр
FILES = N, где N — представляет собой целое
число без знака. Установите в файле
CONFIG.SYS значение параметра FILES = N >= 30.

14
Invalid file name (Недопустимое имя файла)

Имя файла неверно
или указан несуществующий путь.

15
File not found (
Файл
не
найден)

Файл
не найден ни в одном из каталогов,
предназначенных для хранения файлов
данного типа.

16
Disk full (Диск заполнен)

Удалите
с диска ненужные Вам файлы (например
файлы с расширением .ВАК или .ТМР) или
попробуйте сохранить текст программы
на другом диске, который имеет достаточный
объем свободной памяти.

17
Invalid compiler directive (Недопустимая директива
компилятора)

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

18
Too many files (Слишком много файлов)

В
компиляции программы или программного
модуля участвует слишком много файлов.
Попытайтесь не использовать так много
файлов, например, объединяя включаемые
файлы.

19
Undefined type la pointer definition (Неопределенный
тип в описании указателя)

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

20
Variable Identifier expected (Ожидается идентификатор
переменной)

В указанном курсором
месте ожидается идентификатор переменной.

21
Error in type (Ошибка в определения типа)

Определение типа
не может начинаться с этого символа.

22
Structure too large (Слишком длинная структура)

Максимально
допустимый размер любого структурированного
типа — 65520 байтов.

23
Set base type of range (Количество элементов в
множестве превышает допустимое значение)

Базовый
тип множества должен представлять собой
интервальный или перечисляемый тип
данных с не более чем 256 значениями.

24
File components may not be files or objects (
Компоненты
файла
не
могут
быть
файлами
или
объектами)

Тип
компонентов файла не может быть объектным
типом, файловым типом или любым другим
структурированным типом, содержащим
компоненты типа файла или объекта.

25Invalid
string length (Неверная длина строки)

Длина описываемой
строки должна находиться в пределах
от 1 до 255.

26
Type mismatch (Несоответствие типов)

Причины, вызвавшие
появление данного сообщения, могут быть
следующими:

Несовместимы типы
переменной и выражения в операторе
присваивания.

Несовместимые
типы фактического и формального
параметров в обращении к процедуре или
функции.

Тип выражения
несовместимый с типом индекса при
индексировании массива.

Несовместимые
типы операндов в выражении.

27
Invalid subrange base type (Неправильный базовый
тип для интервала)

28Lower
bound greater than upper bound (
Нижний
граница
превышает
верхнюю)

При
описании интервального типа данных Вы
объявили нижнюю границу диапазона
больше верхней.

29
Ordinal type expected (Ожидается перечисляемый
тип)

Вещественные,
строковые, структурные и ссылочные типы
в данном случае не допускаются.

30
Integer constant expected (Ожидается константа
целого типа)

31
Constant expected (Ожидается константа)

32
Integer or real constant expected (Ожидается константа
целого или вещественного типа)

33Pointer
type Identifier expected (Ожидается идентификатор
типа указатель)

Указанный курсором
идентификатор не является указателем.

34
Invalid function result type (Недопустимый тип
результата функция)

Правильными типами
результата функции являются все простые,
строковые и ссылочные типы.

35
Label Identifier expected (Ожидается идентификатор
метки)

Обнаружена ссылка
на метку, не описанную в разделе LABEL.

36
BEGIN expected (Ожидается оператор BEGIN)

37
END expected (Ожидается оператор END)

38
Integer expression expected (Ожидается выражение
целого типа)

39
Ordinal expression expected (Ожидается выражение
перечисляемого типа)

40
Boolean expression expected (Ожидается выражение
логического типа)

41
Operand types do not match operator (
Несоответствие
типов
операнду)

Данная
операция не может применяться к операндам
этого типа. Такое сообщение будет
вызвано, например, при попытке выполнить
следующую операцию:’ 9′ DIV ‘G’ .

42
Error in expression (
Ошибка
в
выражении)

Данный
идентификатор не может участвовать в
выражении указанным образом.

Возможно, вы забыли
указать операцию между двумя операндами.

43
Illegal assignment (Запрещенное присваивание)

Это сообщение
может появиться по следующим причинам:

  • файлам
    и нетипизированным переменным нельзя
    присваивать значения;

  • идентификатору
    функции можно присваивать значения
    только внутри раздела операторов данной
    функции.

44
Field Identifier expected (Ожидается идентификатор
поля)

Данный идентификатор
не соответствует полю предшествующей
переменной типа RECORD или OBJECT.

45
Object file too large (Объектный файл слишком
большой)

Турбо Паскаль не
может компоновать OBJ-файлы размером
больше чем 64 Кбайта.

46
Undefined external (Не определена внешняя
процедура)

Внешняя процедура
или функция не имеет соответствующего
определения PUBLIC в объектном файле.
Убедитесь, что вы указали все объектные
файлы в директивах {$L <имя ОВJ-файла>),
и проверьте написание идентификаторов
процедуры или функции в файле .ASM.

47
Invalid object file record

(Недопустимая
запись объектного файла)

Файл .OBJ содержит
неверную объектную запись. Убедитесь
в том, что данный файл является
действительно OBJ-файлом.

48
Code segment too large (Сегмент кода слишком
большой)

Максимально
допустимый размер кода программы или
программного модуля ранен 65520 байтам.
Разбейте Вашу программу или программный
модуль на несколько частей.

49
Data segment too large (Сегмент данных слишком
большой)

Максимальный
размер сегмента данных программы равен
65520 байтам, включая данные, описываемые
используемыми программными модулями.
Если нужно большее количество глобальных
данных, опишите большие структуры с
помощью указателей и выделяйте для них
память динамически с помощью процедуры
New.

50
DO expected (Ожидается оператор DO)

51
Invalid PUBLIC definition (
Недопустимое
определение
PUBLIC)

Появление этого
сообщения возможно но следующим причинам:

  • Данный
    идентификатор получил тип PUBLIC с помощью
    соответствующей директивы языка
    ассемблер, но не соответствует описанию
    EXTERNAL в программе или программном модуле.

  • Две
    или более директивы PUBLIC на языке
    ассемблера определяют один и тот же
    идентификатор.

  • OBJ-файл
    определяет идентификатор PUBLIC вне
    сегмента CODE.

52
Invalid EXTRN definition (Неправильное определение
EXTRN)

Появление этого
сообщения возможно по следующим причинам:

Из Ассемблера была
осуществлена ссылка с помощью директивы
EXTRN на идентификатор, который не был
описан в тексте Паскаль-программы.

Идентификатор
обозначает абсолютную переменную.

Идентификатор
обозначает процедуру или функцию типа
INLINE.

53
Too many EXTRN definition (Слишком много определений
типа EXTRN)

Турбо
Паскаль не может обрабатывать файлы
.OBJ при более чем 256 определениях EXTRN.

54
OF expected (
Ожидается
оператор
OF)

55
INTERFACE expected (
Ожидается
оператор
INTERFACE)

56
Invalid relocatable reference (
Недопустимая
перемещаемая
ссылка)

Появление этого
сообщения возможно по следующим причинам:

  • OBJ-файл
    содержит данные и перемещаемые ссылки
    в сегментах, отличных от CODE, например,
    при попытке описать инициализированные
    переменные в сегменте DATA.

  • ORJ-файл
    содержит ссылки с размерами в байтах
    на перемещаемые символы. Такая ошибка
    происходит в случае использования
    операторов HIGH и DOWN с перемещаемыми
    символами или, если Вы ссылаетесь в
    директивах DB на перемещаемые символы.

  • Операнд
    ссылается на перемещаемый символ,
    который не был определен в сегментах
    CODE или DATA.

  • Операнд
    ссылается на процедуру EXTRN или функцию
    EXTRN со смещением, например CALL SortProc+8.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
№ п/п Код и название ошибки Характеристика ошибки Пояснение

1

Error 1: Out of memory

Нехватка памяти

Это сообщение выводится, когда компилятору не хватает памяти

2

Error 2: Identifier expected

Ожидался идентификатор

Возможно, имя вашего идентификатора совпадает со служебным словом

3

Error 3: Unknown identifier

Неизвестный идентификатор

Этот идентификатор не был описан

4

Error 4: Duplicate identifier

Идентификатор продублирован

Этот идентификатор уже исполь-зовался в текущем блоке программы

5

Error 5: Syntax error

Синтаксическая ошибка

В тексте найден неправильный символ

6

Error 6: Error in real constant

Ошибка в константе действительного типа

Возможно, вы поставили десятичную запятую вместо десятичной точки

7

Error 7: Error in integer constant

Ошибка в константе целого типа

Константы, выходящие за пределы диапазона типа longint описы-ваются как действительные числа

8

Error 10: Unexpected end of file

Неожиданный конец файла

Количество операторов Begin и End не сбалансирована

9

Error 11: Line too long

Строка слишком длинная

Длина строки не должна превышать 127 символов

10

Error 12: Type identifier expected

Ожидается иденти-фикатор типа

Этот идентификатор не обозначает тип, как это должно быть

11

Error 15: File not found

Файл не найден

Файл не был найден ни в текущем каталоге, ни в других каталогах

12

Error 20: Variable identifier expected

Ожидается идентификатор переменной

Этот идентификатор не обозначает переменной, как должен был

13

Error 21: Error in type

Ошибка в типе

Этот символ не может начинать описание типа

№ п/п Код и название ошибки Характеристика ошибки Пояснение

14

Error 25: Invalid string length

Неправильная длина строки

Описанная максимальная длина строки должна быть в диапазоне 1…255

15

Error 26: Type mismatch

Несоответствие типов

Несовместимые типы переменной и выражения в операторе присваива-ния, несовместимые типы операн-дов в выражении, несовместимые типы формальных и фактических параметров в вызванной подпрограмме

16

Error 31: Constant expected

Ожидается константа

17

Error 32: Integer or real constant expected

Ожидается целая или действительная константа

18

Error 34: Invalid function result type

Неправильный тип результата функции

Правильными типами результата функции являются все простые типы

19

Error 36: BEGIN expected

Ожидается оператор Begin

20

Error 37: END expected

Ожидается оператор End

21

Error 38: Integer expression expected

Ожидается целое выражение

Предыдущее выражение должно быть целого типа

22

Error 41: Operand types do not match operator

Типы операндов не отвечают оператору

Оператор не может быть применён к операндам указанного типа

23

Error 42: Error in expression

Ошибка в выражении

Этот символ не может присутствовать в выражении

24

Error 50: DO expected

Ожидается служебное слово do

25

Error 54: Of expected

Ожидается служебное слово of

26

Error 57: THEN expected

Ожидается служеб-ное слово Then

№ п/п Код и название ошибки Характеристика ошибки Пояснение

27

Error 58: TO or DOWNTO expected

Ожидается служеб-ное слово to или downto

28

Error 62: Division by zero

Деление на нуль

Предыдущая операция пытается выполнить деление на нуль

29

Error 92: «[» or «(.» expected

Тут должна быть открывающая квадратная скобка

Вместо открывающей квадратной скобки можно использовать «(.»

30

Error 93: «]» or «).» expected

Квадратные скобки не закрыты

Вместо закрывающей квадратной скобки можно использовать «).»

31

Error 98: Integer variable expected

Ожидается переменная целого типа

32

Error 103: Integer or real variable expected

Ожидается пере-менная целого или вещественного типа

33

Error 108: Overflow in arithmetic operation

Переполнение в арифметической операции

Результат предыдущей операции выходит за пределы использованного типа данных.

34

Error 113: Error in statement

Ошибка в операторе

Оператор не может начинаться с этого символа

Понравилась статья? Поделить с друзьями:
  • Что значит ошибка компиляции
  • Что значит ошибка обработки запроса на авито
  • Что значит ошибка капчи
  • Что значит ошибка молодости
  • Что значит ошибка камеры на телефоне