Выражения

Понятие «выражение» я уже употреблял раньше без особых пояснений. Выражение – это то, что мы привыкли видеть в правой части оператора присваивания и в других местах. Например:

a := b+1 - здесь выражение - b+1

if c-6>f then … - здесь выражение - c-6>f

WriteLn (a+5) - здесь выражение - a+5

 

Прежде чем пояснить, что такое выражение вообще, приведу примеры наиболее распространенных типов выражений.

Арифметические выражения(то есть имеющие значением число):

· 0

· 2+5

· Sqrt(b+1) - Sqr(a[4,i]+r) + 1

· a[4,i] + vovka.ves

· ((w+b)/19)*(2/(w+1)+5)

 

Строковые выражения(то есть имеющие значением строку символов):

· ‘Весна’

· Copy(s,a,b)

· Copy(s,a,b)+ ‘Весна’

 

Логические выражения(то есть имеющие значением true или false):

· a>0

· (a+c)/(d+8)<=b+1

· c>’Ю’

· stroka=‘Весна’

· Copy(s,a,b)+ ‘Весна’ <> s1

· a in b

 

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

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

Каждое выражение тоже обязано иметь конкретное значение одного из типов. Тип выражения определяется типами входящих в него операндов и операциями над этими операндами. Каким образом – об этом в следующем параграфе.