Invest-currency.ru

Как обезопасить себя в кризис?
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Арифметические выражения на языке паскаль

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

Turbo Pascal. Программирование арифметических выражений

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

Оператор присваивания является одним из основных операторов любого языка программирования.

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

Формат оператора присваивания:

В операторе присваивания слева от знака присваивания «:=» записывается переменная, а справа – выражение, численное значение которого присваивается этой переменной.

Выполнение оператора присваивания приведет к вычислению выражения и присваиванию значения выражения переменной.

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

Например, оператор присваивания

означает, что переменной y присваивается число, полученное в результате вычисления выражения x+h/2 при известных числовых значениях переменных x и h .

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

Здесь переменной t присваивается значение, которое до этого момента имела переменная t, плюс 1. Если переменная t имела до выполнения этого оператора значение равное 7, то после исполнения оператора t:=t+1 значение переменной будет равно 8.

Арифметические выражения

Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.

Правила записи и смысл арифметических выражений в Паскале почти не отличаются от обычной математической записи.

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

Операции +, -, *, / имеют очевидный смысл. Результатом операции div будет целое значение, равное целой части результата деления первого числа на второе. Результатом операции mod будет целое значение, равное остатку от деления (но не дробной части).

Примеры арифметических операций:

Арифметические операции выполняются в порядке старшинства: сначала вычисление функции, затем умножение, деление, сложение, вычитание.

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

Рассмотрим арифметическое выражение

В таблице приведен порядок выполнения операций:

ЗАМЕЧАНИЕ. Все данные, входящие в арифметическое выражение, должны быть одного типа.

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

Пример. Пусть переменные x и y описаны следующим образом:

Рассмотрим оператор y:= x+2 , в котором используются переменные целого, вещественного типов и константа. Результат операции будет вещественного типа, поэтому оператор y:=x+2; является допустимым, хотя справа от присваивания стоит целая переменная и константа;

Следующие операторы являются ошибочными:

Для обеспечения совместимости типов необходимо выполнять преобразования данных. Для преобразования Real в Integer имеются две функции:

Round() – округляет Real до ближайшего целого;

Trunc() – усекает Real путем отбрасывания дробной части.

Правильная запись рассматриваемых операторов: x:=y+2; и x:=y/x; имеет вид:

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

  • Два знака арифметических операций нельзя писать рядом. Например, следующие записи будут неправильными:
    +–a –b — следует писать +(–a) –b
    a*–b — следует писать a*(–b)
  • Знак умножения опускать нельзя, например, при записи произведения: a*b и 2*n , запись ab и 2n будет неправильной, так как ab воспринимается как идентификатор, а запись 2n не является идентификатором, потому что начинается с цифры.
  • В арифметических выражениях допускается использовать только круглые скобки. Количество открывающих круглых скобок должно соответствовать количеству закрывающих круглых скобок. Применение фигурных и квадратных скобок запрещается, так как они имеют особое значение.
  • Все данные, входящие в выражения должны быть одного типа. Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа.

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

Арифметические выражения на языке паскаль

Горбачев Л.И. Основы программирования в среде Turbo Pascal.

Выражения, операнды, операции.

Операнд — величина, представляемая собой объект операции, реализуемой ЭВМ в ходе выполнения программы вычислений.

Переменные и константы всех типов используются в выражениях. Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (X + Y — 10) X, Y и 10 — операнды; «+», «-» — знаки операций сложения и вычитания.

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

Операции в языке Паскаль подразделяются на арифметические, отношения, логические (булевские), операцию @ (указатель), строковые и т.д. в зависимости от того, какого типа операнды и операции в них используются.

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

6.1. Арифметические выражения и операции.

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

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

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

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

Целочисленное деление (div) отличается от обычной операции деления тем, что возвращает целую часть частного, дробная часть отбрасывается. Перед выполнением операции оба операнда округляются до целых значений. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.
11 div 5 = 2
10 div 3 = 3
2 div 3 = 0

Читать еще:  Как перепрограммировать кнопки на клавиатуре

Деление по модулю (mod) возвращает остаток, полученный при выполнении целочисленного деления, иначе говоря I mod J = I — (I div J) * J. Если J = 0, то возникает ошибка.
11 mod 5 = 1
10 mod 3 = 1
14 mod 5 = 4

Арифметическое «И» (and) производит логическое умножение операндов в соответствии со следующей таблицей истинности:
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0

Операнды записываются в десятичной форме, но во время выполнения переводятся в двоичную форму. Результат представлен в десятичной форме.Пример:
Вычислить результат выражения A and B, если A = 12 и B = 22.
A и B занимают в памяти 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110. В результате выполнения операции 000000000001100 and 000000000010110 в соответствии с таблицей истинности получим результат 0000000000000100, или 4 в десятичной форме. Следовательно, 12 and 22 = 4.

Сдвиг влево (K shl N) восстанавливает в качестве результата значение, полученное путем сдвига на N позиций влево представленного в двоичной форме числа K.
Пример: Вычислить результат выполнения выражения 2 shl 7.
Число 2 занимает в памяти 2 байта и в двоичной форме имеет вид 000000000000010. Сдвигаем каждый бит на 7 позиций влево, получаем 000000010000000, что соответствует числу 256 в десятичной форме. Следовательно, 2 shl 7 = 256.

Сдвиг вправо (shr) выполняется аналогично, с той лишь разницей, что сдвиг производится вправо.
160 shr 2 = 40
90 shr 2 = 22
256 shr 7 = 2

Логическое сложение (or) выполняет сложение операндов в двоичной форме в соответствии с таблицей истинности:
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
Результат представлен в десятичной форме. Пример:
Вычислить результат выполнения выражения 12 or 22.
12 и 22 занимают в памяти по 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110 соответственно. Выполнив сложение в соответствии с таблицей истинности, получим двоичное значение суммы 0000000000011110, что соответствует числу 30 в десятичной форме. Следовательно, 12 or 22 = 30.

Исключающее «ИЛИ» (xor) производит сложение операндов в соответствии с таблицей истинности:
1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0
Результат преобразовывается в десятичную форму.
Пример: Вычислить результат выполнения выражения 12 xor 22. 12 и 22 занимают в памяти 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110 соответственно. Выполнив сложение по таблице истинности, получим двоичное значение суммы: 0000000000011010 или 26 в десятичной форме. Следовательно, 12 xor 22 = 26.

Применение операции not к данным целочисленных типов вызывает побитную инверсию (отрицание) соответствующего данному числу двоичного кода.
not 0 = -1
not 78 = -79
Пример: Вычислить результат выполнения выражения not 78.
Число 78 занимает в памяти 2 байта и в двоичной форме имеет вид: 0000000001001110. При выполнении операции все 0 заменяются на 1, а 1 — на 0 соответственно. После выполнения операции not 78 получим: 1111111110110001, что соответствует числу -79 в десятичной форме.

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

В Турбо Паскале нет операции возведения в степень. При необходимости ее использования применяют стандартные функции:
X^A (x в степени а) = Exp(A * Ln(X));

Однако таким образом нельзя возвести в целую степень отрицательное число (это можно сделать с использованием операторов цикла).

6.2. Выражения и операции отношения.

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

Сравниваемые величины могут принадлежать к любому скалярному или перечисляемому типу данных. Результат всегда имеет булевский тип и принимает одно из двух значений: True (истина) или False (ложь).

Выражения Паскаль

Какую структуру имеют выражения Паскаль? Выражения Паскаль задают определенное правило, по которому вычисляется некоторое значение. В состав выражений входят:

  • знаки операций
  • константы
  • указатели функций
  • переменные
  • скобки

Математические операции Паскаль:

Приведем стандартные математические операции в Паскале:

+ — сложение (3+58=61)
— — вычитание (4-42=-38)
* — умножение (8*12=96)
/ — деление (46/23=2)

Однако кроме этих стандартных операций в Паскале предусмотрены еще 2 математические операции:

div — деление нацело (10/3=3)
mod — деление с остатком (10/3=1)

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

В языке Паскаль присутствуют еще и логические операции над аргументами логического типа, например, у нас даны две логические переменные A и B. В таблице истинности запишем результат выполнения тех или иных логических операций:

Под not понимается логическое отрицание («НЕ»), and означает логическое умножение («И»), or подразумевает логическое сложение («ИЛИ»), xor раскрывает логическое «исключающее ИЛИ».

Операции отношения Паскаль:

Теперь поговорим об операциях отношения в Турбо Паскаль:

Уникальность операций отношения состоит в том, что их можно выполнять не только над числами, но и над строками, символами, множителями и указателями.

Приоритет операций Паскаль:

Как в математике, так и в программировании присутствует приоритет операций. В Турбо Паскале порядок вычисления выражения фиксируется по старшинству содержащихся в нем операций:

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

2*4-3 = 5, 2*(7-10) = -6

Математические функции Паскаль:

Приведем основные математические функции, которые разработчики Турбо Паскаль предусмотрели и вставили в системную библиотеку:

abs(n) — абсолютное значение числа n,

sin(n) — синус числа n, где n — угол в радианах,

cos(n) — косинус числа n, где n — угол в радианах,

В Турбо Паскале не предусмотрены функций тангенса и котангенса. Чтобы их вычислить, используют выражения sin(x)/cos(x), cos(x)/sin(x) соответственно.

atan(n) — арктангенс числа n,

exp(n) — число e = 2,718 в степени n,

ln(n) — натуральный логарифм числа n,

pi — число Пи = 3,14,

sqr(n) — квадрат числа n.

Читать еще:  Идея структурного программирования

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

2^(1.33) = exp(1.33*ln(2))

sqrt(n) — квадратный корень из числа n,

trunc(n) — число, равное целой части числа n (отбрасывается дробная часть числа n, результатом выполнения будет число с типом longint),

frac(n) — число, равное дробной части числа n,

int(n) — число, равное целой части числа n (в результате получается число с типом real),

round(n) — округление числа n (возвращаемое значение будет иметь тип longint),

random(n) — генератор псевдослучайных чисел в диапазоне 0 до n (если аргумент отсутствует, т.е. просто random, то в результате выполнения этой функции появится вещественное число от 0 до 1).

Если вы хотите использовать random в процессе выполнения программы, то нужно его инициализировать(другими словами, активировать) процедурой randomize, иначе при последующем запуске программы будет выводиться та же самая последовательность случайных чисел. Рассмотрим на примере программу, которая выводит на экран любые 7 чисел в диапазоне от -15 до 15:

program chislo;

var j: integer;

begin randomize;

for j:=1 to 7 do

writeln(random(26)-10);

end.

inc(m,n) — увеличение значения числа m на n (если число n не указано, то число m увеличивается на единицу),

dec(m,n) — уменьшение значения числа m на n (если число n не указано, то число m уменьшается на единицу).

Арифметические выражения в Паскале

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Выбранный для просмотра документ Ур.№ Арифметические выражения в Паскале.pptx

Описание презентации по отдельным слайдам:

Какие арифметические операции вы знаете?

Познакомься со стандартными математическими функциями Стр. 112 учебника

Примеры записи математических выражений в математике на Паскале sin2x + cosx2 sqr(sin(x)) +cos(sqr(x)) 1,5cos3x — x3 1.5*cos(3*x) — x*x*x 2x + 4 sinx -cosx (2*x + 4)/(sin(x) -cos(x))

Как вычислить xy? если у — вещественное значение, то используется следующая математическая формула: хy = eyln(x). На Паскале это будет выглядеть так:

Выполни задания №3 (к,л) Стр. 115 учебника

Выбранный для просмотра документ Урок №21.docx

Информатика 10 класс Яковлева А.Н.

Образовательная – научить правильно записывать арифметические выражения в Паскале; определять порядок составления программы в Паскале;

Воспитательная – развитие алгоритмического мышления, навыков работы на компьютере, познавательных интересов, памяти, внимания, самостоятельности при работе;

Развивающая – воспитание информационной культуры учащихся, внимательности, дисциплинированности, аккуратности, усидчивости, уверенности в своих силах при решении задач.

Оборудование: персональный компьютер (ПК) учителя, мультимедийный проектор, экран, презентация.

Тип урока: Комбинированный

Сообщение темы и целей урока;

Знакомство с новым материалом;

Домашнее задание пояснения к нему.

Организационный момент. Приветствие учеников. Проверка готовности учащихся к уроку.

Проверка домашнего задания.

Сообщение темы и целей урока.

Сегодня мы научимся записывать арифметические выражения в Паскале. (слайд 3-4)

Знакомство с новым материалом.

(слайд 5) Арифметическое выражение описывает правило вычисления значения некоторой величины. Оно может содержать числа, переменные, функции, объединенные знаками арифметических операций.

Какие арифметические операции вы знаете?

(слайд 6) Запись арифметических выражений.

(слайд 7) Определить значение выражения

(слайд 8) Познакомься со стандартными математическими функциями (Стр. 112 учебника)

(слайд 9) Пример вычисления стандартных функций

(слайд 10) Порядок выполнения операций

(слайд 11-2) Вычислить самостоятельно:

(слайд 13) Примеры записи математических выражений

(слайд 14) Вычисление x y

5. Закрепление изученного.

(слайд 15) Выполни задания №3 (к,л)

(слайд 16-17) Определить, что напечатает данная программа (23)

(слайд 18-22) Решение задач на Паскале.

6. Домашнее задание и пояснение к нему. § 16, табл. 3.3, 3.4 выучить, задание №3 стр. 115

Выберите книгу со скидкой:

История России. С древнейших времен до XVI века. 6 класс. Контурные карты

350 руб. 55.00 руб.

Контурные карты История России конец XVII-XVIII век. 8 класс. (Новые)

350 руб. 55.00 руб.

История России. 7 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России. 6 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XX-начало XXI в. Атлас с контурными картами.

350 руб. 106.00 руб.

История России. XVI-конец XVII века. 7 класс. Контурные карты

350 руб. 55.00 руб.

История России. 8 класс. Рабочая тетрадь. История России. 8 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XIX – начало XX века. 9 класс. Контурные карты (Историко-культурный стандарт)

350 руб. 55.00 руб.

История России. 9 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

ЕГЭ. История России в таблицах и схемах для подготовки к ЕГЭ. 10-11 классы

350 руб. 80.00 руб.

ЕГЭ. История России в таблицах и схемах. 10-11 классы

350 руб. 80.00 руб.

История России в рассказах для детей. ХV — ХVII века

350 руб. 137.00 руб.

БОЛЕЕ 58 000 КНИГ И ШИРОКИЙ ВЫБОР КАНЦТОВАРОВ! ИНФОЛАВКА

Инфолавка — книжный магазин для педагогов и родителей от проекта «Инфоурок»

Бесплатный
Дистанционный конкурс «Стоп коронавирус»

  • Яковлева Александра Николаевна
  • Написать
  • 5170
  • 17.02.2016

Номер материала: ДВ-463008

Добавляйте авторские материалы и получите призы от Инфоурок

Еженедельный призовой фонд 100 000 Р

  • 17.02.2016
  • 246
  • 17.02.2016
  • 2568
  • 17.02.2016
  • 647
  • 17.02.2016
  • 820
  • 17.02.2016
  • 2034
  • 17.02.2016
  • 1518

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

Читать еще:  Онлайн программирование на паскале

Арифметические выражения на языке паскаль

Горбачев Л.И. Основы программирования в среде Turbo Pascal.

Выражения, операнды, операции.

Операнд — величина, представляемая собой объект операции, реализуемой ЭВМ в ходе выполнения программы вычислений.

Переменные и константы всех типов используются в выражениях. Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (X + Y — 10) X, Y и 10 — операнды; «+», «-» — знаки операций сложения и вычитания.

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

Операции в языке Паскаль подразделяются на арифметические, отношения, логические (булевские), операцию @ (указатель), строковые и т.д. в зависимости от того, какого типа операнды и операции в них используются.

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

6.1. Арифметические выражения и операции.

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

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

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

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

Целочисленное деление (div) отличается от обычной операции деления тем, что возвращает целую часть частного, дробная часть отбрасывается. Перед выполнением операции оба операнда округляются до целых значений. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.
11 div 5 = 2
10 div 3 = 3
2 div 3 = 0

Деление по модулю (mod) возвращает остаток, полученный при выполнении целочисленного деления, иначе говоря I mod J = I — (I div J) * J. Если J = 0, то возникает ошибка.
11 mod 5 = 1
10 mod 3 = 1
14 mod 5 = 4

Арифметическое «И» (and) производит логическое умножение операндов в соответствии со следующей таблицей истинности:
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0

Операнды записываются в десятичной форме, но во время выполнения переводятся в двоичную форму. Результат представлен в десятичной форме.Пример:
Вычислить результат выражения A and B, если A = 12 и B = 22.
A и B занимают в памяти 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110. В результате выполнения операции 000000000001100 and 000000000010110 в соответствии с таблицей истинности получим результат 0000000000000100, или 4 в десятичной форме. Следовательно, 12 and 22 = 4.

Сдвиг влево (K shl N) восстанавливает в качестве результата значение, полученное путем сдвига на N позиций влево представленного в двоичной форме числа K.
Пример: Вычислить результат выполнения выражения 2 shl 7.
Число 2 занимает в памяти 2 байта и в двоичной форме имеет вид 000000000000010. Сдвигаем каждый бит на 7 позиций влево, получаем 000000010000000, что соответствует числу 256 в десятичной форме. Следовательно, 2 shl 7 = 256.

Сдвиг вправо (shr) выполняется аналогично, с той лишь разницей, что сдвиг производится вправо.
160 shr 2 = 40
90 shr 2 = 22
256 shr 7 = 2

Логическое сложение (or) выполняет сложение операндов в двоичной форме в соответствии с таблицей истинности:
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
Результат представлен в десятичной форме. Пример:
Вычислить результат выполнения выражения 12 or 22.
12 и 22 занимают в памяти по 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110 соответственно. Выполнив сложение в соответствии с таблицей истинности, получим двоичное значение суммы 0000000000011110, что соответствует числу 30 в десятичной форме. Следовательно, 12 or 22 = 30.

Исключающее «ИЛИ» (xor) производит сложение операндов в соответствии с таблицей истинности:
1 xor 1 = 0
1 xor 0 = 1
0 xor 1 = 1
0 xor 0 = 0
Результат преобразовывается в десятичную форму.
Пример: Вычислить результат выполнения выражения 12 xor 22. 12 и 22 занимают в памяти 2 байта и в двоичной форме имеют вид: 000000000001100 и 000000000010110 соответственно. Выполнив сложение по таблице истинности, получим двоичное значение суммы: 0000000000011010 или 26 в десятичной форме. Следовательно, 12 xor 22 = 26.

Применение операции not к данным целочисленных типов вызывает побитную инверсию (отрицание) соответствующего данному числу двоичного кода.
not 0 = -1
not 78 = -79
Пример: Вычислить результат выполнения выражения not 78.
Число 78 занимает в памяти 2 байта и в двоичной форме имеет вид: 0000000001001110. При выполнении операции все 0 заменяются на 1, а 1 — на 0 соответственно. После выполнения операции not 78 получим: 1111111110110001, что соответствует числу -79 в десятичной форме.

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

В Турбо Паскале нет операции возведения в степень. При необходимости ее использования применяют стандартные функции:
X^A (x в степени а) = Exp(A * Ln(X));

Однако таким образом нельзя возвести в целую степень отрицательное число (это можно сделать с использованием операторов цикла).

6.2. Выражения и операции отношения.

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

Сравниваемые величины могут принадлежать к любому скалярному или перечисляемому типу данных. Результат всегда имеет булевский тип и принимает одно из двух значений: True (истина) или False (ложь).

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector