Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
7.62 Mб
Скачать

Выражения вещественного типа

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

+сложениеx + y 5.2 + 3.1 = 8.3

- вычитаниеxy 5.2 – 3.1 = 2.1

*умножениеx * y 5.2 * 3.1 = 16.12

/делениеx / y 5.0 / 2.0 = 2.5

При записи выражений вещественного типа желательно все целочисленные константы (целые числа), входящие в выражение, представить в виде вещественных, то есть записывать не 2 , а2.0, не-12, а-12.0.

Порядок вычисления этих выражений и правила их построения не отличаются от порядка вычисления и правил построения выражений целого типа.

Примерызаписи выражений вещественного типа:

математическая запись запись на Паскале

2,5a + 0,973b2 2.5 * a + 0.973 * b * b

3,61·109 X – 526,237 3.61e9 * X – 526.237 * Sqrt(0.2*y) Выражения логического типа

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

Каждые из этих типов операций могут связывать операнды только определенных типов:

арифметическиеоперации:

+, -, *, /, DivиMod

могут связывать операнды целоготипа, имея результатомцелоечисло,

арифметическиеоперации:

+, -, *, /

могут связывать операнды вещественноготипа, имея результатомдействительноечисло,

операции сравнения:

>больше

<меньше

>=больше или равно

<=меньше или равно

=равно

<>не равно

могут связывать только однотипныеоперанды, имея результатомлогическуюконстантуTrue, если операция выполняется, илиFalse, если не выполняется:

2 > 1 = True

A’ > ‘F’ = Falseсимволы сравниваются по своим порядковым номерам:

Ord(‘A’) = 65

Ord(‘F’) = 70

логическиеоперации:

NotНЕ (отрицание)

AndИ (конъюнкция)

OrИЛИ (дизъюнкция)

могут связывать только операнды логическоготипа, имея результатомлогическуюконстантуTrue, если операция выполняется, илиFalse, если не выполняется, при этом операнды обязательно должны стоять в скобках, а логические операции –в пробелах:

Not(5 < 2) = True

(True) And (False) = False

(True) Or (False) = True

(3 > 2) Or (‘A’ > ‘C’) = True

(3 > 2) And (‘A’ > ‘C’) = False

Таким образом, выражения логического типа могут принимать только два значения: True- истинаилиFalse– ложь.

Приоритет выполнения операций в логических выражениях:

  1. операция отрицания Not

  2. операции типа умножения *, /, Div, Mod, And

  3. операции типа сложения +, -, Or

  4. операции сравнения >, >=, <, <=, =, <>

Примеры записи логических выражений:

обычная запись запись на Паскале

(c <= d + 2.5) Or Not(a + b > 10.2)

(a <= 0.5) And ((a+ c)<> p*q)

(x >=(a – 0.1)) And (x < (a + 0.5))

Внимание! Последнее выражение записывается с помощью операцииконъюнкция.

Невернаязапись:(a – 0.1) <= x < (a + 0.5)

Операторы присваивания

Операторы присваивания служат для вычисления значений выражений и приписывания вычисленных значений переменным.

Общий вид оператора присваивания:

x := s;

где x– имя переменной,

s – выражение (переменная, константа) того же типа,

:= - знак присваивания.

Оператор присваивания дает команду компьютеру на:

  1. вычисление значения выражения справа от знака присваивания,

  2. запись вычисленного значения в ячейку памяти, отведенную для хранения переменной, стоящей слева от знака присваивания; при этом прежнее значение переменной, записанной в этой ячейке, стирается:

a:= 3 Mod 2;

a := a + 1;

После выполнения этих операторов переменная a примет значение2.

Пример: с помощью последовательности операторов присваивания обменять значениями две переменныеaиb:

Неправильное решение:

a := b;

b := a;

В этом случае обмена не произойдет, и обе переменные примут одно и то же значение, в данном случае – значение переменной b.

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

c := a;

a := b;

b := c;

Неправильнаязапись операторов присваивания:

10 := x; слева должно стоять имя

a + b := y; переменной, а справа - выражение

i := j := k := 1; нельзя присваивать одним оператором одновременно значение сразу нескольким переменным

Пример: чему будет равно значение переменнойsпосле выполнения следующих операторов присваивания:

x := 534;

s := 0;

s := s + x Mod 10; s =0 + 4

s := s + x Div 10 Mod 10; s = 4 + 3

s := s + x Div 10 Div 10 Mod 10; s = 7 + 5

Эта программа вычисляет сумму цифр переменной x, то естьs = 12.