Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Циклы и массивы

Подпрограммы, определенные пользователем.

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

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Уроки Паскаль

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

program number19;
uses crt;
var x, y, z:integer;
begin
clrscr;
x:=11;
y:=15;
z:=x and y;
Writeln (z);
z:=x or y;
Writeln (z);
z:=not y;
Writeln (z);
z:=x xor y;
Writeln (z);
readln;
end.

Как уже было сказано, логические операции с целыми числами проводятся поразрядно. Поэтому, чтобы понять, как работают эти операции, переведем значения переменных в двоичный код. В строке №6 и №7 переменным «x» и «y» присвоены значения «11» и «15». В двоичном исчислении 11=1011, а 15=1111.

В строке №8 над этими переменными производится операции and (логическое умножение). Результат этой операции вычисляется побитовым умножением, т.е. первый бит первого числа умножаем на первый бит второго число, затем второй бит первого числа умножаем на второй бит второго числа и т.д. Как было сказано в предыдущем примере, комбинация 2-х логических переменных, связанных между собой союзом «and» (и) является истиной (т.е. равна 1), если обе переменные истинны (равны 1). В нашем примере 3 комбинации являются истинными, и одна комбинация (на рис. выделена синей рамкой) является ложной.

operatsiya and s tselymi chislami

Таким образом, в результате операции логического умножения получается число 1011. Переведем его в десятичную систему счисления. Получится число 11. Это число и будет результатом операции логического умножения чисел 11 и 15, и это число будет выведено на экран (строка №9).

Строка №10. Здесь записывается операция or (логическое сложение). Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «or» (или) является ложным (т.е. равна 0) только в том случае, если обе переменные ложны (т.е. равны 0).
В нашем примере нет комбинаций из 2-х ложных (нулевых) разрядов, поэтому результатом во всех разрядах будет истина (единица).

operatsiya or s tselymi chislami

В итоге получится число 1111. При переводе в десятичную систему счисления получается 15. Это число будет выведено на экран (строка №11).

В строке №12 записывается операция not (инверсия). Ее результатом будет число, которое получается при увеличении числа, стоящего после not на 1 и изменении знака этого числа. После not стоит переменная «y». Она имеет значение 15. Увеличиваем 15 на единицу. Получается 16. Меняем знак. Получается – 16.

В строке №14 записываем операцию xor (исключающее или). Это операция, которая называется исключающее или. Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «xor» (либо) является истинным только в том случае, если обе переменные разные (т.е. одна истинна, другая ложна).
В нашем случае только 3-и разряды (справа) разные, поэтому там в результате будет истина (1).

operatsiya xor s tselymi chislami

Полученное число 0100 в десятичной системе счисления равно 4.

Logicheskie operacii nad celihmi chislami

Logicheskie operacii nad celihmi chislami.

Комментарии  

 
+2 # я 13.01.2013 14:11
:o
Ответить
 
 
-1 # Царь 21.01.2013 08:43
а можно эти числа в 2-ой системе увидит в паскале ??
Ответить
 
 
0 # Царь 21.01.2013 09:48
чтоб ответ получился в 2-ой форме
Ответить
 
 
0 # Admin 17.04.2014 05:18
Вот программа перевода из десятичной системы в двоичную:
var n:integer;s:Str ing;
begin
readln(n);
while n>0 do begin
insert(chr(48+n mod 2),s,1);
n:=n div 2;
end;
writeln(s);
readln
end.
Ответить
 
 
0 # не понятно 10.10.2017 20:31
#Admin
В строке insert(chr(48+n mod 2),s,1);
что осзначает 48+n?
Ответить
 
 
0 # Vasil 29.09.2021 18:40
К n прибавили 48
Ответить
 
 
+1 # Vasil 30.09.2021 04:40
Восхитительно
Ответить
 
 
+1 # чушка 08.12.2021 19:11
:sigh: :sad:
Ответить
 

Добавить комментарий

   ГлавнаяПаскальУроки ПаскальЛогические операции с целыми числами.