Dmitry37 1 / 1 / 0 Регистрация: 06.12.2011 Сообщений: 15 |
||||
1 |
||||
Исправить ошибку «ожидался оператор»10.01.2012, 15:13. Показов 30652. Ответов 3 Метки нет (Все метки)
Program vector;
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
10.01.2012, 15:13 |
Ответы с готовыми решениями: Исправить ошибку «ожидался оператор» Ошибка «Ожидался оператор» при вычислении выражения Поиск суммы положительных четных чисел и ошибка «Ожидался оператор» var q:real; Массив записей о городах: «ожидался оператор» 3 |
Puporev Почетный модератор 64272 / 47571 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
10.01.2012, 15:17 |
2 |
|||
Сообщение было отмечено Памирыч как решение РешениеИсправить очень сложно, примерно так.
точку с запятой поставить.
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 выводить оба значения (они ведь одинаковые)
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, по моей блок-схеме все верно, разделы операторов вроде все на месте, в чем может быть ошибка? Или у меня косоглазие просто?
Перед ЭТИМ 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» без кавычек:
Теперь давайте попробуем написать простейший калькулятор, который выполняет с нашими двумя числами все действия сразу.
Итак, сегодня мы познакомились с операторами сложения, вычитания, умножения, тремя операторами деления, а также оператором присваивания. После сегодняшнего урока вы уже можете создавать свои простейшие программы на счёт.
- Распечатать
Оцените статью:
- 5
- 4
- 3
- 2
- 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: Unexpec—ted 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: Over—flow in arithmetic operation
Переполнение в арифметической операции
Результат предыдущей операции выходит за пределы использованного типа данных.
34
Error 113: Error in statement
Ошибка в операторе
Оператор не может начинаться с этого символа