русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-23; просмотров: 1694; Нарушение авторских прав


 

Оператор присваивания относится к простым операторам. Его синтаксис и семантика определяются синтаксической диаграммой, представленной на рис. 13.

 

Рис. 13. Синтаксическая диаграмма оператора присваивания

 

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

­ переменные, находящиеся в выражении, получают свои значения;

­ вычисляется значение выражения;

­ переменной слева от знака присваивания «:=» присваивается полученное значение.

В простейшем случае, когда выражение задано константой или другой переменной, вычислений не производится и переменная сразу получает свое значение, например:

 

RAZN := A – 3.5;

N := 25; C := D; Y := 'программа';

L := true; P := X > 10.

 

В языке Паскаль существует несколько типов выражений: арифметические, литерные, логические (булевские). В этом пункте мы рассмотрим только арифметические выражения.

Арифметические выражения складываются из констант, переменных, стандартных функций с использованием скобок и знаков операций. В Паскале определены следующие операции над числами: * , / , + , – , DIV, MOD, где DIV – деление нацело; MOD – вычисление остатка от деления. Приоритет:

 

*, /, DIV, MOD – высший;

+, – – низший.

 

Например:

 

A := 13 DIV 5; (результат: A = 2),

B := 13 MOD 5; (результат: B = 3).

 

Каждое арифметическое выражение может иметь типы INTEGER и REAL. Тип константы определяется самим видом константы, тип переменной задается в ее объявлении.

Тип арифметического выражения определяется по следующему правилу:

1. Для операций «*, +, -» результат имеет тип REAL, если хотя бы один из операндов имеет тип REAL. Если оба операнда типа INTEGER, то и результат имеет тип INTEGER.



2. Для «/» результат всегда имеет тип REAL.

3. Для «DIV, MOD» операнды и результат имеют тип INTEGER.

Значение переменной интервального типа, образованной на основе INTEGER, всегда имеет тип INTEGER. При использовании оператора присваивания нужно соблюдать типизацию объектов слева и справа от знака «:=». Смешение типов недопустимо за исключением случая, когда слева от знака «:=» стоит тип REAL, а справа – тип INTEGER.

В Паскале при написании выражений используются стандартные функции, которые разделяются на следующие виды:

1. Арифметические (математические) функции:

· ABS (X), X – REAL и INTEGER, на выходе тот же тип.

· ARCTAN (X), COS (X), SIN (X), EXP (X), LN (X), SQR (X), SQRT (X).

Для этих функций X есть REAL или INTEGER, а результат всегда REAL.

2. Функции преобразования типов:

· CHR (X), где X – INTEGER (результат – символ, кодом которого является число X), например: CHR (65) = 'А'.

· ORD (X), где X – CHAR (результат – число типа INTEGER), например: ORD ('А') = 65.

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

 

.......................

 

type DAY = (mo, tu, we, th, fr, sa, su);

var DEN: DAY;

……....................

 

DEN := tu; I := ORD (DEN);

 

Значением переменной I будет 1, так как нумерация начинается с нуля.

· ROUND (X), где X – REAL (результат INTEGER – ближайшее целое к X).

· TRUNC (X), где X – REAL (результат INTEGER – целая часть X), например:

 

TRUNC (5.8) = 5; ROUND (5.8) = 6;

TRUNC (-7.7) = -7; ROUND (-7.7) = -8;

TRUNC (3.14) = 3; ROUND (3.14) = 3.

 

3. Функции упорядоченных типов:

· PRED (N) – предшествующий N элемент.

Функция не определена, если N – первый по порядку элемент, например: PRED (TU) = MO.

· SUCC (N) – следующий за N элемент.

Функция не определена, если N – последний элемент типа, например, SUCC (MO) = TU.

· ODD (I), где I – INTEGER, результат – BOOLEAN.

Если I – четное, то значение – TRUE; если I – нечетное, то значение – FALSE.

Эти функции работают в области упорядоченных (ординальных) скалярных типов, т.е. всех простых типов, исключая REAL.

 



<== предыдущая лекция | следующая лекция ==>
ПРОСТЫЕ ОПЕРАТОРЫ. ВВОД/ВЫВОД ДАННЫХ | Операторы вызова процедур. Ввод/вывод данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.292 сек.