Что означает в Турбо Паскале точка с запятой
Ответы на вопрос
В Турбо Паскале точка с запятой ; — это разделитель операторов (иногда говорят “конец оператора”, но точнее именно разделитель). Она показывает компилятору, где закончился один оператор и начинается следующий.
1) Основной смысл: разделять операторы
Если подряд идут несколько операторов, их разделяют ;:
pascala := 1;
b := 2;
c := a + b;
Здесь три отдельных оператора присваивания, и ; отделяет их друг от друга.
2) ; обычно НЕ ставят “перед end” как обязательное правило
Частая путаница возникает из-за блока begin ... end. Внутри блока операторы тоже разделяются ;, но после последнего оператора блока точка с запятой не нужна (и иногда может мешать в определённых конструкциях).
Правильно:
pascalbegin
a := 1;
b := 2
end;
Обратите внимание:
-
между
a := 1иb := 2есть;(разделитель), -
после
b := 2передend— нет;, -
после
endчасто стоит;, если это блок внутри более крупной конструкции (например, в теле процедуры), а в конце всей программы ставится точка..
3) Почему иногда “лишняя” точка с запятой — ошибка
В Паскале есть места, где ; нельзя ставить перед ключевым словом, потому что она “закрывает” конструкцию раньше времени.
Пример: if ... then ... else
Неправильно:
pascalif x > 0 then
y := 1;
else
y := -1;
Почему: y := 1; уже завершён, а else должно относиться к оператору после then. Из-за ; получается “then-часть закончилась”, и else оказывается лишним.
Правильно:
pascalif x > 0 then
y := 1
else
y := -1;
Точка с запятой ставится после всего if-оператора целиком, а не между then и else.
Пример: case ... of
Внутри case ветки обычно заканчиваются ;, но перед end лишняя ; может быть не нужна (зависит от конкретной структуры, но общий принцип тот же: ; — разделитель).
4) Пустой оператор
В Паскале допустим “пустой оператор” — фактически ничего не делать. Иногда это выглядит как лишняя ;:
pascalwhile not KeyPressed do ;
Здесь после do стоит пустой оператор: цикл крутится, пока не нажмут клавишу.
5) Отличие от точки в конце программы
Важно не путать:
-
;— разделяет операторы, -
.— завершает программу (после последнегоendв главном блоке):
pascalbegin
writeln('Hello');
end.
Итог: точка с запятой в Турбо Паскале нужна, чтобы отделять один оператор от другого, и её постановка зависит от того, что именно вы разделяете — особенно аккуратно нужно быть в конструкциях if ... else, case, а также с последним оператором перед end.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

