Лекция 2 Информатика План лекции Выражения Операторы языка: простые; Структурированные (составной, условный) Выражения Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке Паскаль формируются в соответствии с определенными правилами из констант, переменных, функций, знаков операций и круглых скобок . Выражения Тип результата выражения зависит от типов операндов, участвующих в операции. Тип результата операций «+», « », «–» является INTEGER, если оба операнда имеют тип INTEGER, и REAL – в противном случае. Результатом операции «/» всегда является тип REAL. Результат выполнения логических операций NOT, OR, AND всегда имеет тип BOOLEAN. Аргументы операций сравнения на равенство и неравенство (=, < >) могут иметь любой тип переменных и констант, а результат всегда имеет тип BOOLEAN. В операциях сравнения (>, <, >=, <=) аргументы могут быть любого типа, а результат имеет только тип BOOLEAN. Операторы языка Все операторы языка Паскаль можно разбить на две группы: простые и структурированные Простые операторы оператор присваивания; оператор безусловного перехода GOTO; пустой оператор. Оператор присваивания С помощью этого оператора переменной присваивается значение выражения: «:=». Общий вид оператора: <имя переменной>:= выражение. Пример. Вычислить значение концентрации вещества по формуле C=P/RT при Р=10 ат ; Т= 513 К; R= 0,001986 ккал/мольК. Program Conс; const R=1.986E–3; var P,T:integer; C: real; begin P:=10; T:=513; C:=P/(R*T); writeln(’C=’,C); end. Оператор безусловного перехода GOTO Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов в программе и перейти к выполнению программы, начиная с заданного оператора. Общий вид оператора: goto n , где n – метка оператора. Метки: целые числа в пределах от 0 до 9999; обычный идентификатор. Метка должна быть описана в разделе label. Одной меткой можно пометить только один оператор. Например: goto 20; 10: B:=3; .... 20: X:=X/B; goto 10; Пустой оператор Пустой оператор (;)– это оператор, не выполняющий никакого действия. Он используется для выхода из середины программы или составного оператора. Чаще всего пустой оператор встречается с меткой. Например: goto 5; ... 5: ; End. Символ «;» можно опустить 5: End. Структурированные операторы Паскаля Структурированными являются такие операторы, которые состоят из других операторов . К ним относятся: составной оператор; условный оператор IF; условный оператор CASE; операторы цикла WHILE, REPEAT, FOR. Составной оператор Составной оператор позволяет объединить несколько операторов Паскаля в одну конструкцию, которая рассматривается как составной оператор. Общий вид оператора следующий: begin оператор 1; оператор 2; ...... оператор n end; begin и end выполняют роль операторных скобок. Составной оператор можно включать в любое место программы, где допускается использование только одного оператора (это: IF , While , For ). Извне составного оператора нельзя передавать управление внутрь его (оператором goto). Условный оператор Существуют следующие виды записи условного оператора: If <условие> then <оператор>; If <условие> then <оператор1> else <оператор2>; If <условие> then <оператор1> else if <условие> then <оператор2> else <оператор3>; Условный оператор Для условного оператора первого вида, если условие истинно, то выполняется оператор, стоящий после then. Если же условие ложно, то этот оператор не выполняется, а выполняется оператор, следующий за условным. Например: if x<0 then y=x+x. Второй вид записи оператора позволяет производить выполнение оператора 1, если условие истинно. Если условие ложно, то выполняется оператор 2. Например: if x>0 then y:=sqrt(x) else y:=x. В третьей форме записи условный оператор расширен за счет вложенности новых условий. Это приводит к сокращению числа условных операторов, но снижает наглядность программы. Новые условия могут записываться за ключевыми словами then и else. Ключевое слово else всегда относится к ближайшему if. Например: if x<a then p:=ln(x) else if x>b then p:=sin else p:=cos(x). Условный оператор после then и else может стоять только один оператор. Поэтому, если возникает необходимость выполнения группы операторов, то их надо объединить в один, взяв в операторные скобки (т.е. использовать составной оператор begin…end). Кроме того, при необходимости учета нескольких условий используются логические операции: and (и), or (или), not (не) . Например, алгоритм: если A<D и A>C то Y1:=A2 и Y2:=A*C; следует записать: If (A<D) and (A>C) then begin Y1:= sqr(A); Y2:=A*C end; .