Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2- Введение в программирование.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
752.64 Кб
Скачать

Управляюшие структуры языка turbo pascal Операторы

В этом разделе будут рассмотрены управляющие операторы ТР (условный оператор, операторы циклов, выбора и др.), а также вопросы построения процедур и функций, и принципы построения модулей.

Простой и составной оператор

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

Два последовательных оператора должны разделяться точкой с запятой. Этот символ имеет смысл конца оператора, в частности, он разделяет операторы при записи в строку:

a := 11; b:=a*a; Write(a,b);

Если какое-то действие мыслится как единое (например, присваивание значений элементам массива), но реализуется несколькими различными операторами, то эти операторы могут быть представлены как составной оператор. Составной оператор - это последовательность операторов, перед которой стоит слово begin, а после слово - end. Слова begin и end сами не являются операторами, поэтому после begin и перед end точка с запятой не ставится. Чтобы оформить предыдущий пример в один, но составной оператор, необходимо как бы заключить их в операторные скобки begin...end:

begin

a := 11;

b := a*a;

Write(a,b)

end;

Составной оператор может содержать любое допустимое число простых операторов. Кроме того, он допускает вложенность, т.е. может содержать внутри себя другие составные операторы (в этом случае нужно лишь, чтобы внутренний составной оператор открывался позже, чем внешний, а закрывался - раньше).

Пустой оператор не содержит никаких действий, просто в программу добавляется дополнительная точка с запятой (например, в последнем примере перед end). В основном пустой оператор используется для передачи управления в конец составного оператора.

Условный оператор

Условный оператор имеет структуру

if <условие> then <оператор1> else <оператор2>

где if, then, else - зарезервированные слова (если...то...иначе);

<условие> - логическое значение True или False, представленное константой, переменной или логическим выражением.

Если условие представлено значением True, то выполняется <оператор1>, следующий за словом then. Но если условие не выполняется, т.е. представлено значением False, то будет выполняться <оператор2> за словом else. Например,

if K > 5 then

begin

X := X + 5; Y := 1

end

else

Y := -1;

Здесь после then следует составной оператор, перед словом else точки с запятой нет, а затем простой оператор (между ключевыми словами точки с запятой не требуется). Точка с запятой после else обязательна, т.к. она отделяет весь условный оператор от последующего.

Часть else <оператор 2> может быть опущена. При этом если условие дает False оператор пропускается и программа переходит к следующему.

Условные операторы могут быть вложенными друг в друга. При создании такой сложной конструкции самое главное - не запутаться в вариантах сочетаний условий (чему может помочь ступенчатая форма записи). При этом всегда действует правило: альтернатива else считается принадлежащей ближайшему условному оператору if, не имеющему своей ветви else. Пример:

if Условие1 then

if Условие2 then

ОператорA

else

ОператорБ;

Можно предположить, что ОператорБ будет выполнен при невыполнении Условия1. На самом деле, имея в виду введенное правило, ОператорБ будет выполнен при выполнении Условия1 и невыполнения Условия2. Точка с запятой после ОператорА не помогает, т.к. закрывает весь оператор, а else… становится как бы отдельным оператором. Выход - использование составного оператора:

if Условие1 then

begin

if Условие2 then

ОператорA

end

else

ОператорБ;

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