double arrow

Правило 19

Правило 18.

Правило 17.

Рекомендуется использовать короткое вычисление.

Правило 16.

Правило 15.

Используя директиву компилятора {$a+}, данные программы можно располагать с чётных адресов, что повышает быстродействие и размер программы. По умолчанию используется ключ {$a-}.

В компиляторе языка Turbo Pascal возможно полное или укороченное вычисление логических выражений.

При использовании укороченного вычисления производится проверка логического выражения до тех пор, пока не станет известно значение всего выражения, т.е. если один из операндов операции OR равен TRUE или первый операнд операции AND равен FALSE.

Для этого служит ключ {$b-}, который используется по умолчанию.

Т.Е.

1) в выражении a AND b, если a = False, то значение b не вычисляется

2) в выражении a OR b, если a = True, то значение b не вычисляется.

При полном вычисляется все выражение.

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

IF(J<>0) AND ((2/J)>X) THEN....

WHILE (I<=LENGTH(S)) AND (S[I]<>'') DO...

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

Полная схема необходима лишь тогда, когда один или более операндов в выражении представляют собой логические функции с побочными эффектами, которые изменяют смысл программы, например

IF(LogFunc1(X) AND LogFunc2(X) THEN...

где LogFunc1 и LogFunc2 кроме анализа значения X, производят модификацию данных или выдачу сообщений.

В логических выражениях следует использовать либо операцию AND, либо операцию OR, причём первым следует располагать условие, приводящее к более быстрому вычислению выражения в целом: для операции OR - это наиболее вероятное условие; для операции AND - наименее вероятное.

Рекомендуется использовать ключ проверки стека {$s+/-}. Если проверка стека включена, то при каждом обращении к подпрограмме проверяется наличие свободного места в стеке. Если свободного места нет, то выдаётся сообщение об ошибке и программа прекращает работу. В случае отключенной проверки подобная ситуация может привести к общему сбою работы всей системы.

Отключение проверки ускоряет работу программы, но вся ответственность за её корректную работу ложится на программиста. По умолчанию проверка стека включена.

Рекомендуется использовать различные наборы ключей на этапах отладки и окончательной компиляции программы. Во время отладки следует использовать ключи, включающие различные проверки, и ключ {$d+} (включить отладчик). Во время окончательного создания программы следует использовать ключ {$d-}(выключить отладчик), а также отключить ненужные проверки.

В языке Tурбо Паскаль существует 3 основных способа передачи параметров в подпрограммы:

- передача параметров-значений (копий фактических параметров, создаваемых в стеке);

- передача параметров-переменных (передача через стек адресов переменных в порядке их объявления в процедуре; при этом в описании заголовка функции перед этими переменными должно стоять ключевое слово VAR);

- передача параметров-констант (используется при передаче в функцию параметров, значения которых нежелательно изменять в подпрограмме; передача осуществляется по адресу. Для описания используется

ключевое слово const).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: