паскаль кидает ошибки expected ; и identifier not found, ничего не пойму
Караул, программа не компилируется, куча красного. Пишет 'expected ;' и ещё 'identifier x not found'. Я вроде всё как у учителя сделал, но не работает, голова кругом. Вот код:
var
a: integer
begin
a := 5
writeln(x)
end.
Что это за ошибки и как их победить?
3 ответа
Тут букет типовых ошибок, разберём каждую — пригодится на будущее:
var
a: integer;
begin
a := 5;
writeln(a);
end.
Что было не так:
- expected ; — ты забыл точку с запятой. В паскале почти каждая строка-команда заканчивается на
;. У тебя их не было послеintegerи послеa := 5. Паскаль доходит до следующей строки и не понимает, почему предыдущая не закрыта. - identifier x not found — ты выводишь
writeln(x), но переменнойxнигде нет (объявленаa). 'identifier not found' = 'я такого имени не знаю'. Либо опечатка, либо забыл объявить вvar.
Как ловить такие ошибки: смотри на номер строки в ошибке (часто проблема на строке ВЫШЕ — там забыта ;). И проверь, что все имена переменных написаны одинаково и объявлены в var.
ещё частая засада — забыть begin или end, или поставить ; после последнего end вместо точки. в конце программы должно быть строго end. с ТОЧКОЙ. меня это полгода преследовало пока не привык)
совет: пиши и сразу запускай по чуть-чуть, а не всю прогу разом. тогда ошибку легче найти, она в последнем что добавил. когда всё сразу красное — паника обеспечена)