Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

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

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

Циклы с параметром. Оператор FOR.

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

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

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

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xorисключающее или.

program number18;
uses crt;
var X:integer;
BOL, MEN, REZ: boolean;
begin
clrscr;
X:=4;
BOL:=X>3;
MEN:=X<3;
writeln ('BOL=',BOL);
writeln ('MEN=',MEN);
REZ:=BOL and MEN;
writeln ('BOL and MEN = ',REZ);
REZ:=BOL or MEN;
writeln ('BOL or MEN = ',REZ);
REZ:=not BOL;
writeln ('not BOL = ',REZ);
REZ:=BOL xor MEN;
writeln ('BOL xor MEN = ',REZ);
readln
end.

Строка №8. Переменной «BOL» присваиваем значение «X>3», и оно будет истиной т.к. 4>3.

Строка №9. Переменной «MEN» присваиваем значение «X<3», и  оно будет ложью т.к. 4 не меньше 3.

В строке №10 выводим сообщение на экран. У нас выведется TRUE.

В строке №11 выводим сообщение на экран. У нас выведется FALSE.

Строка №12. Переменной «REZ» мы присваиваем переменные «BOL» и «MEN». Между этими переменными стоит «and» (и). Это операция, которая называется логическое умножение (конъюнкция). Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «and» (и) является истиной только в том случае, если обе переменные истинны. В нашем случае переменная «BOL» – истина, а переменная «MEN» – ложь, значит общий результат «REZ:=BOL and MEN» будет ложным.

Строка №14. Переменной «REZ» мы присваиваем переменные «BOL» и «MEN». Между этими переменными стоит «or» (или). Это операция, которая называется логическое сложение (дизъюнкция). Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «or» (или) является ложным только в том случае, если обе переменные ложны. В нашем случае переменная «MEN» – ложь, а переменная «BOL» – истина, значит общий результат «REZ:=BOL or MEN» будет истинным.

Строка №16. Переменной «REZ» мы присваиваем переменную «BOL». Перед ней стоит «not» (не). Это операция, которая называется логическое отрицание (инверсия). Согласно законам булевской алгебры, результат операции будет противоположен той переменной, над которой эта операция производится. В нашем случае переменная «BOL» – истина, значит «REZ:=not BOL» будет ложным.

Строка №18. Переменной «REZ» мы присваиваем переменные «BOL» и «MEN». Между этими переменными стоит «xor» (либо). Это операция, которая называется исключающее или. Согласно законам булевской алгебры, комбинация 2-х логических переменных, связанных между собой союзом «xor» (либо) является истинным только в том случае, если обе переменные разные (т.е. одна истинна, другая ложна). В нашем случае переменная «MEN» – ложь, а переменная «BOL» – истина. Они разные, значит общий результат «REZ:=BOL xor MEN» будет истинным.

Logicheskie operacii And, Or, Not, Xor v Pascal

Logicheskie operacii And, Or, Not, Xor v Pascal.

Комментарии  

 
+1 # Юрий 16.03.2012 16:42
Здравствуйте! На мой взгляд, у Вас ошибка в 19-й строке примера, перекочевавшая и в запись программы в Паскале. Вместо 'BOL or MEN = ' , по моему там должно быть 'BOL xor MEN = '
Ответить
 
 
+1 # Administrator 17.03.2012 07:24
Да Юрий, Вы очень внимательны. В данном случае здесь опечатка. Спасибо за Ваши замечания. Иногда просто очень трудно отследить правильность написания кода и незначительные ошибки могут появиться в программе, хотя сама программа работает и вроде бы даже выдает правильный результат.
Ответить
 
 
+10 # Юрий 23.03.2012 17:33
Да, внимательность, "насаждённая" практикой первых попыток писания программ. :lol: Благодаря этой практике знаю, что в тексте программы не бывает мелочей, которыми можно было бы пренебречь. Иначе, начинающему можно долго и тупо зависать перед экраном, пытаясь понять: отчего же она всё-таки не работает? Моя внимательность граничит с занудливостью, поэтому я себя сдерживаю от замечаний, видя, как Вы в комментариях к программам ошибаетесь в цифровых обозначениях строк. На мой взгляд, эти ошибки делают дистанционное и заочное обучение эффективнее, т.к. заставляют повторно обращаться к фрагментам кода, анализируя и осмысливая его по нескольку раз. А это закрепляет знания. Но, если хотите, я могу писать Вам и об этих огрехах изложения материала.
Ответить
 
 
+18 # Administrator 25.03.2012 08:33
Знаете Юрий, я пишу эти уроки один. Как правило, все проверяю, перед тем как выложить на сайт, но как видите, ошибок избежать не удается. Поэтому, я был бы Вам очень признателен, если бы Вы указывали на все ошибки и неточности в моих уроках. Для меня важно, чтобы при прочтении той или иной статьи человек сразу понимал, о чем идет речь.
Ответить
 
 
-11 # Нео 03.12.2012 22:22
Вспоминаються мне знакомые JavaScript и PHP :-*
Ответить
 
 
-18 # max 05.12.2012 00:08
2012 год turbo pascal? :D
Мне кажется немного странным учится на том, что использовать на практике не станешь.
К чему всё это? Ценю чужой труд, но эти примеры просто ужасны, зачем использовать символы в верхнем регистре? Зачем true и false получать так 43? Пример должен быть простым. uses crt... program. Pascal изобилует излишней...
P.S. ставьте вы ; после последнего оператора...
Ответить
 
 
+4 # Hean_edy 02.02.2013 14:47
Max если бы ты знал другие языки то ты бы не говорил про ненужность паскаля паскаль ето основа и все мовы програмирования похожы, нельзя сразу учить ассамблер
Ответить
 
 
+3 # Shelko Kostya 11.05.2014 10:53
учить ассемблер? среди нас извращенцев вроде нет... а вместо Pascal можно было бы обучаться плюсам. По мне, так гораздо удобнее и проще
Ответить
 
 
+4 # Андрей 20.05.2013 13:23
:D
Напишите пожалуйста подробнее об операторе XOR , заранее спасибо
Ответить
 
 
-12 # Андрей 20.05.2013 13:24
:D :lol: :-) ;-) :o :sigh: :-x :sad: :sad: :-x :-x :-? :-? :o :o :eek: :P :P :sigh: :sigh: :sigh: :sigh: :sigh:
Ответить
 
 
-1 # Program ver 19.12.2014 11:21
Да,ошибок не избежиш но ,видить ошибки очень важно, а придираться к автору - низко. Сам пробуй тащить сайт в одиночку. Administrator продолжайте помогать познавать нам pascal
Ответить
 
 
+2 # Матвей 06.02.2016 16:43
да мелких мелочей не избежать , но надо пытаться и спасибо за сайт администратор очень помог.
Ответить
 
 
+1 # DA 09.11.2016 16:53
end.
Строка №8. Переменной «BOL» присваиваем значение «X>3», и оно будет истиной т.к. 4>3.

Строка №9. Переменной «MEN» присваиваем значение «X
Ответить
 

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

Защитный код
Обновить

   ГлавнаяПаскальУроки Паскаль