логической переменной можно присвоить результат операции

7.5.2. Логические переменные. Логические операции

Результатом операции сравнения двух чисел может быть величина, которая принимает одно из двух возможных значений: «истинно» (если указанное соотношение действительно выполняется) и «ложно» (если соотношение не выполняется). По-английски «истинно» и «ложно» пишется соответственно True и False. Константы и переменные, значениями которых может быть только эти две величины (True или False) называются логическими или булевскими константами и переменными. Название это дано в честь английского математика XIX века Джона Буля. Для описания таких переменных в языке Паскаль существует специальный тип – boolean. Пример описания логической переменной flag:

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

то есть переменной логического типа flag мы присваиваем значение операции сравнения x>=15. В случае, если указанное неравенство выполняется, значение переменной будет равно true. В противоположном случае ее значение будет равно false. Имя логической переменной, которой присвоено значение операции сравнения, можно подставлять в условный оператор вместо самой этой операции. Такой прием позволяет сделать программу более компактной в том случае, если одна и та же операция сравнения повторяется в программе несколько раз. Значения логической переменной можно выводить на экран компьютера оператором writeln подобно значениям числовых переменных. Можно присваивать значения true и false логическим переменным и напрямую: flag:=true;

Именно такой способ присваивания значений логической переменной мы и используем в следующей программе. Эта программа проверяет, имеется ли в ряду из трех целых чисел хотя бы одно положительное. Эти числа, как обычно, мы будем вводить с клавиатуры, а сообщение о результатах проверки будет выведено на экран компьютера. В программе, текст которой приведен на рис.7.5.5 используются три переменные целого типа x, y и z для вводимых числовых значений и одна переменная логического типа flag, назначение которой в данной программе мы рассмотрим ниже. Описание переменной или переменных, относящихся к одному типу, составляет отдельную группу, которую от следующей группы отделяет точка с запятой. При этом слово var, открывающее раздел описания переменных ставится только один раз.

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

Рис. 7.5.5. Программа, определяющая, имеются ли в ряду чисел положительные, и результаты ее работы при различных исходных данных

Далее в программе расположен полный условный оператор, который проверяет итоговое значение переменной flag и если она имеет значение true, то выводится сообщение о наличии среди введенных чисел, хотя бы одного положительного, а иначе выводится сообщение о том, что все введенные числа отрицательны. На рис. 7.5.5 под текстом программы показаны результаты ее работы при различных исходных данных.

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

Для логических величин существует таблицы, в которой указаны результаты логических операций при различных исходных данных. Такая таблица называется таблицей истинности. Ниже приведена такая таблица для унарных (табл.1) и (табл.2) бинарных операций.

Таблица 1. Унарные операции.

Из данной таблицы видно, что в результате операции not, производимой над любой величиной, ее значение изменяется на противоположное.

Если рассмотреть результаты, показанные в таблице 2, то можно сделать вывод о том, что для операции and значение будет равно true только тогда, когда обе исходных величины X и Y, над которыми производится эта операция (такие величины называются операндами) имеют значение true. Во всех остальных случаях результатом операции будет false. Для операции or значение будет true, если хотя бы один из операндов (или X или Y) имеет значение true. Результат операции or будет равен false только тогда, когда оба операнда имеют значение false. Для операции xor значение будет true, если значения операндов не совпадают. Если же значения операндов совпадают (вне зависимости от того, будут ли эти значения равны false или true) то итог операции будет равен false.

Читайте также:  можно пить алкоголь при кишечной инфекции

Источник

26. Программирование линейных алгоритмов. Числовые типы данных. Целочисленный тип данных.ПР7

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

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

Вы уже знакомы с основными числовыми типами данных integer и real. К ним применимы стандартные функции, часть из которых приведена в табл. 3.3.

Исследуем работу функций round, int и frac, применив их к некоторому вещественному х. Соответствующая программа будет иметь вид:

3.3.2. Целочисленный тип данных

Над целыми числами в языке Паскаль выполняются следующие операции: сложение (+), вычитание (-), умножение (*), получение целого частного (div), получение целого остатка деления (mod) и деление (/). Результаты первых пяти операций — целые числа. Результатом операции деления может быть вещественное число. Рассмотрим пример использования операций div и mod, записав на языке Паскаль программу нахождения суммы цифр вводимого с клавиатуры натурального трёхзначного числа. Используем тот факт, что положительное трёхзначное число можно представить в виде следующей суммы: х = а•100 + b•10 + с, где а, b, с — цифры числа.

writeln ('Нахождение суммы цифр трёхзначного числа') ;
write ('Введите исходное число»');
readln (х);
а:=х div 100;
b:=x mod 100 div 10;
с:=х mod 10;
s:=a+b+c;
writeln ( 's= ', s)

3.3.3. Символьный и строковый типы данных

Значением символьной величины (тип char) в языке Паскаль является любой из символов, который можно получить на экране нажатием на клавиатуре одной из клавиш или комбинации клавиш, а также некоторых других символов, в том числе и невидимых. Множество таких символов состоит из 256 элементов, каждому из которых согласно используемой кодовой таблице поставлен в соответствие код — число 0 до 255.

Символы, соответствующие первым 32 кодам, являются управляющими, а остальные — изображаемыми. К изображаемым символам относится и пробел, имеющий код 32.

Знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. Буквам национального алфавита соответствуют коды с номерами 128 и далее.

В тексте программы константу символьного типа можно задать, заключив любой изображаемый символ в апострофы: '5', 'В', '*'.

Если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов.

Чтобы найти код символа, используют функцию ord, где в качестве параметра задают символ.

Чтобы по коду узнать символ, используют функцию chr, где в качестве параметра указывают код символа.

Значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы. В Паскале (как и в алгоритмическом языке) строки можно сцеплять.

Пример. Запишем на языке Паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. Затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной.

3.3.4. Логический тип данных

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

Пример. Напишем программу, определяющую истинность выска зывания «Треугольник с длинами сторон а, b, с является равнобед ренным» для произвольных целых чисел а, b, с.

Самое главное

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

Источник

Логические операции

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

Переменным логического типа можно присвоить результаты операций отношений. Результат операций отношений всегда равен True или False. Как уже было отмечено выше, в качестве условия могут использоваться логические операции. Помимо операций отношений в Pascal существует четыре вида логических операций, которые применимы к переменным логических типов.

Значения логического выражения при использовании бинарной логической операции конъюнкции (And) приведены в таблице 1.

Значение операндов Результат операции
A B A and B
True True True
True False False
False True False
False False False

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Or) приведены в таблице 2.

Читайте также:  можно ли спрятать яички
Значение операндов Результат операции
A B A or B
True True True
True False True
False True True
False False False

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Xor) приведены в таблице 3.

Значение операндов Результат операции
A B A xor B
True True False
True False True
False True True
False False False

Четвёртая унарная логическая операция отрицания (Not) инвертирующая (изменяющая на противоположное) значение операнда приведена в таблице 4.

Значение операндов Результат операции
A not A
True False
False True

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

not (A C). При значении переменных A=10, B=15, C=20 значение всего выражения равно False.

(A C). При значении переменных A=10, B=15, C=20 значение всего выражения равно True.

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

— все операции сравнения.

Пример 4.1. Определить большее из двух целых чисел A и B.

Блок-схема алгоритма решения задачи:

Write (‘Введите значение A = ‘); ReadLn (A);

Write (‘Введите значение B = ‘); ReadLn (B);

If A>=B then Max:=A else Max:=B;

WriteLn (‘большее из двух целых чисел A и B: ‘,Max)

Пример 4.2. Определить принадлежит ли вводимое с клавиатуры значение A интервалу [0..9].

Блок-схема алгоритма решения этой задачи аналогична примеру 4.1.

Write (‘Введите значение A = ‘); ReadLn (A);

If (A>=0) and (A Y >Z каждое из них разделить на 2, в противном случае изменить знаки чисел. Изменённые значения переменных вывести на экран.

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

Источник

Логические операции. Переменным логического типа можно присвоить результаты операций отношений

Переменным логического типа можно присвоить результаты операций отношений. Результат операций отношений всегда равен True или False. Как уже было отмечено выше, в качестве условия могут использоваться логические операции. Помимо операций отношений в Pascal существует четыре вида логических операций, которые применимы к переменным логических типов.

Значения логического выражения при использовании бинарной логической операции конъюнкции (And) приведены в таблице 1.

Значение операндов Результат операции
A B A and B
True True True
True False False
False True False
False False False

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Or) приведены в таблице 2.

Значение операндов Результат операции
A B A or B
True True True
True False True
False True True
False False False

Значения логического выражения при использовании бинарной логической операции дизъюнкции (Xor) приведены в таблице 3.

Значение операндов Результат операции
A B A xor B
True True False
True False True
False True True
False False False

Четвёртая унарная логическая операция отрицания (Not) инвертирующая (изменяющая на противоположное) значение операнда приведена в таблице 4.

Значение операндов Результат операции
A not A
True False
False True

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

Например:

not (A C). При значении переменных A=10, B=15, C=20 значение всего выражения равно False.

(A C). При значении переменных A=10, B=15, C=20 значение всего выражения равно True.

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

Примеры составления алгоритмов и программ с использованием условного оператора If

Пример 4.1. Определить большее из двух целых чисел A и B.

Блок-схема алгоритма решения задачи:

Program Example_4_1;
Var A, B : Integer;
Max : Integer;
Begin
Write (‘Введите значение A = ‘); ReadLn (A);
Write (‘Введите значение B = ‘); ReadLn (B);
If A>=B then Max:=A else Max:=B;
WriteLn (‘большее из двух целых чисел A и B: ‘,Max)
End.

Пример 4.2. Определить принадлежит ли вводимое с клавиатуры значение A интервалу [0..9].

Program Example_4_2;
Var A : Real;
Max : Integer;
Str : String;
Begin
Write (‘Введите значение A = ‘); ReadLn (A);
If (A>=0) and (A
1 | 2 | 3 | 4 |

Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)

Источник

7.5.2. Логические переменные. Логические операции

Результатом операции сравнения двух чисел может быть величина, которая принимает одно из двух возможных значений: «истинно» (если указанное соотношение действительно выполняется) и «ложно» (если соотношение не выполняется). По-английски «истинно» и «ложно» пишется соответственно True и False. Константы и переменные, значениями которых может быть только эти две величины (True или False) называются логическими или булевскими константами и переменными. Название это дано в честь английского математика XIX века Джона Буля. Для описания таких переменных в языке Паскаль существует специальный тип – boolean. Пример описания логической переменной flag:

Читайте также:  можно ли употреблять водку после вакцинации

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

то есть переменной логического типа flag мы присваиваем значение операции сравнения x>=15. В случае, если указанное неравенство выполняется, значение переменной будет равно true. В противоположном случае ее значение будет равно false. Имя логической переменной, которой присвоено значение операции сравнения, можно подставлять в условный оператор вместо самой этой операции. Такой прием позволяет сделать программу более компактной в том случае, если одна и та же операция сравнения повторяется в программе несколько раз. Значения логической переменной можно выводить на экран компьютера оператором writeln подобно значениям числовых переменных. Можно присваивать значения true и false логическим переменным и напрямую: flag:=true;

Именно такой способ присваивания значений логической переменной мы и используем в следующей программе. Эта программа проверяет, имеется ли в ряду из трех целых чисел хотя бы одно положительное. Эти числа, как обычно, мы будем вводить с клавиатуры, а сообщение о результатах проверки будет выведено на экран компьютера. В программе, текст которой приведен на рис.7.5.5 используются три переменные целого типа x, y и z для вводимых числовых значений и одна переменная логического типа flag, назначение которой в данной программе мы рассмотрим ниже. Описание переменной или переменных, относящихся к одному типу, составляет отдельную группу, которую от следующей группы отделяет точка с запятой. При этом слово var, открывающее раздел описания переменных ставится только один раз.

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

Рис. 7.5.5. Программа, определяющая, имеются ли в ряду чисел положительные, и результаты ее работы при различных исходных данных

Далее в программе расположен полный условный оператор, который проверяет итоговое значение переменной flag и если она имеет значение true, то выводится сообщение о наличии среди введенных чисел, хотя бы одного положительного, а иначе выводится сообщение о том, что все введенные числа отрицательны. На рис. 7.5.5 под текстом программы показаны результаты ее работы при различных исходных данных.

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

Для логических величин существует таблицы, в которой указаны результаты логических операций при различных исходных данных. Такая таблица называется таблицей истинности. Ниже приведена такая таблица для унарных (табл.1) и (табл.2) бинарных операций.

Таблица 1. Унарные операции.

Из данной таблицы видно, что в результате операции not, производимой над любой величиной, ее значение изменяется на противоположное.

Если рассмотреть результаты, показанные в таблице 2, то можно сделать вывод о том, что для операции and значение будет равно true только тогда, когда обе исходных величины X и Y, над которыми производится эта операция (такие величины называются операндами) имеют значение true. Во всех остальных случаях результатом операции будет false. Для операции or значение будет true, если хотя бы один из операндов (или X или Y) имеет значение true. Результат операции or будет равен false только тогда, когда оба операнда имеют значение false. Для операции xor значение будет true, если значения операндов не совпадают. Если же значения операндов совпадают (вне зависимости от того, будут ли эти значения равны false или true) то итог операции будет равен false.

Источник

Строительный портал