← Все вопросы

паскаль кидает ошибки expected ; и identifier not found, ничего не пойму

Задан 16 месяцев назад451 просмотров3 ответа
7

Караул, программа не компилируется, куча красного. Пишет 'expected ;' и ещё 'identifier x not found'. Я вроде всё как у учителя сделал, но не работает, голова кругом. Вот код:

var
  a: integer
begin
  a := 5
  writeln(x)
end.

Что это за ошибки и как их победить?

3 ответа

12
✓ Принятый ответ — помог автору

Тут букет типовых ошибок, разберём каждую — пригодится на будущее:

var
  a: integer;
begin
  a := 5;
  writeln(a);
end.

Что было не так:

  1. expected ; — ты забыл точку с запятой. В паскале почти каждая строка-команда заканчивается на ;. У тебя их не было после integer и после a := 5. Паскаль доходит до следующей строки и не понимает, почему предыдущая не закрыта.
  2. identifier x not found — ты выводишь writeln(x), но переменной x нигде нет (объявлена a). 'identifier not found' = 'я такого имени не знаю'. Либо опечатка, либо забыл объявить в var.

Как ловить такие ошибки: смотри на номер строки в ошибке (часто проблема на строке ВЫШЕ — там забыта ;). И проверь, что все имена переменных написаны одинаково и объявлены в var.

5

ещё частая засада — забыть begin или end, или поставить ; после последнего end вместо точки. в конце программы должно быть строго end. с ТОЧКОЙ. меня это полгода преследовало пока не привык)

2

совет: пиши и сразу запускай по чуть-чуть, а не всю прогу разом. тогда ошибку легче найти, она в последнем что добавил. когда всё сразу красное — паника обеспечена)

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект