ПАСКАЛЬ
Pascal ABC
Джордж Буль: Логика
3 FALSE – ложь, когда условие не выполняется Например: 2 3 " width="640"
Для принятие программной средой решения, а не выполнение просто заданной программы используется ещё один тип переменных - ЛОГИЧЕСКИЙ – BOOLEAN
Program z ;
Var H : integer ;
Bool : Boolean;
Begin
……………
End.
Использует два вида БУЛЕВСКИХ ПЕРЕМЕННЫХ:
TRUE – истина, когда условие выполняется
Например: 4 3
FALSE – ложь, когда условие не выполняется
Например: 2 3
3 ; {это утверждение истинно} writeln (‘если Х 3, то ’, bool) ; bool := X {это утверждение ложно} writeln (‘если Х end . Только целые числа типа INTEGER " width="640"
Булевские переменные в программе (присвоение)
program z66 ;
var X : integer ;
bool : boolean ;
begin
X := 4 ;
writeln ('X = ', X) ;
bool := X 3 ; {это утверждение истинно}
writeln (‘если Х 3, то ’, bool) ;
bool := X {это утверждение ложно}
writeln (‘если Х
end .
Только целые числа
типа INTEGER
Булевские переменные в программе (ручной ввод)
z66
Больше или равно = Равно = Не равно " width="640"
Запись операций отношения и сравнения в Pascal
Операция отношения
Запись в программе
Меньше
Меньше или равно
Больше
Больше или равно
=
Равно
=
Не равно
3 Согласно булевской алгебре, два логических выражения связанные между собой частицей «И» являются истинным только когда оба выражения истинны (истина – 1, ложь – 0) Операнд 1 Операция TRUE (1) Операнд 2 TRUE (1) AND Результат FALSE (0) TRUE (1) AND FALSE (0) AND TRUE (1) FALSE (0) FALSE (0) TRUE (1) AND FALSE (0) FALSE (0) FALSE (0) " width="640"
Логические (булевы) операции
1. Логическое умножение ( КОНЪЮНКЦИЯ )
Конъюнкция (логическое умножение) определяется союзом « И » (в программе AND )
Например: X и X 3
Согласно булевской алгебре, два логических выражения связанные между собой частицей «И» являются истинным только когда оба выражения истинны (истина – 1, ложь – 0)
Операнд 1
Операция
TRUE (1)
Операнд 2
TRUE (1)
AND
Результат
FALSE (0)
TRUE (1)
AND
FALSE (0)
AND
TRUE (1)
FALSE (0)
FALSE (0)
TRUE (1)
AND
FALSE (0)
FALSE (0)
FALSE (0)
100 или X Согласно булевской алгебре, два логических выражения связанные между собой частицей «ИЛИ» являются ложными только когда оба выражения ложны (истина – 1, ложь – 0) Операнд 1 Операция TRUE (1) Операнд 2 TRUE (1) OR Результат FALSE (0) TRUE (1) OR FALSE (0) OR TRUE (1) FALSE (0) TRUE (1) TRUE (1) OR TRUE (1) FALSE (0) FALSE (0) " width="640"
Логические (булевы) операции
2. Логическое сложение ( ДИЗЪЮНКЦИЯ )
Дизъюнкция (логическое сложение) определяется союзом « ИЛИ » (в программе OR )
Например: X 100 или X
Согласно булевской алгебре, два логических выражения связанные между собой частицей «ИЛИ» являются ложными только когда оба выражения ложны (истина – 1, ложь – 0)
Операнд 1
Операция
TRUE (1)
Операнд 2
TRUE (1)
OR
Результат
FALSE (0)
TRUE (1)
OR
FALSE (0)
OR
TRUE (1)
FALSE (0)
TRUE (1)
TRUE (1)
OR
TRUE (1)
FALSE (0)
FALSE (0)
5 либо X Согласно булевской алгебре, два логических выражения связанные между собой частицей «ЛИБО-ЛИБО» являются истинными только когда одно из выражений истинно (истина – 1, ложь – 0) Операнд 1 Операция TRUE (1) Операнд 2 TRUE (1) XOR Результат FALSE (0) TRUE (1) XOR FALSE (0) XOR FALSE (0) FALSE (0) TRUE (1) TRUE (1) XOR TRUE (1) FALSE (0) FALSE (0) " width="640"
Логические (булевы) операции
3. Логическое исключающее сложение
Логическое исключающее сложение определяется парой « ЛИБО – ЛИБО » (в программе XOR )
Например: либо X 5 либо X
Согласно булевской алгебре, два логических выражения связанные между собой частицей «ЛИБО-ЛИБО» являются истинными только когда одно из выражений истинно (истина – 1, ложь – 0)
Операнд 1
Операция
TRUE (1)
Операнд 2
TRUE (1)
XOR
Результат
FALSE (0)
TRUE (1)
XOR
FALSE (0)
XOR
FALSE (0)
FALSE (0)
TRUE (1)
TRUE (1)
XOR
TRUE (1)
FALSE (0)
FALSE (0)
100) Согласно булевской алгебре, результат операции противоположен отрицаемому утверждению (истина – 1, ложь – 0) Операнд TRUE (1) Операция Результат NOT FALSE (0) FALSE (0) NOT TRUE (1) " width="640"
Логические (булевы) операции
4. Логическое отрицание ( ИНВЕРСИЯ )
Инверсия (логическое отрицание) определяется частицей « НЕ » (в программе NOT )
Например: не (X 100)
Согласно булевской алгебре, результат операции противоположен отрицаемому утверждению (истина – 1, ложь – 0)
Операнд
TRUE (1)
Операция
Результат
NOT
FALSE (0)
FALSE (0)
NOT
TRUE (1)
Приоритет логических операций:
Приоритет (последовательность)
Логическая операция
1. (самый высокий)
NOT
2.
AND
3. (самый низкий)
OR , XOR
Например: не А или не В и С
- (не В) И (С)
- (не А) ИЛИ (не В и С)
Приоритет любой операции сравнения (, =, пр.) ниже, чем у логической операции. Поэтому каждое сравнение в программе надо брать в скобки 2 записывают: (2
Логические операции
в программе
z67
Program z68 ; {составить выражения, определяющие, является ли студент первокурсником, получающим стипендию}
Var Price : Boolean ; {наличие стипендии у студента}
Kurs1 : Boolean ; {является ли студент первокурсником}
Rezultat : Boolean ; {результат}
Begin
Kurs1 := True ; {пусть студент будет первокурсником}
Price := True ; {пусть студент получает стипендию }
Rezultat := Price and Kurs1 ;
Writeln (‘Студент первокурсник со стипендией? - ‘, Rezultat ) ;
Price := False ; {пусть студент не получает стипендию }
Rezultat := Price and Kurs1 ;
Writeln (‘Студент первокурсник со стипендией? - ‘, Rezultat ) ;
End.
z68
Основные операторы системы:
Имя программы
Начало и Конец
program
Begin и End.
Переменные
VAR
Целое число
Integer;
Вещественное число
Real;
Вывод на экран
Вывод на экран с новой строки
Write (‘x = ‘, x);
Модуль числа
Writeln (‘x = ‘, x);
Abs (х);
Возведение в квадрат
Sqr (х);
Квадратный корень числа
Sqrt (x);
Синус числа
Косинус числа
Sin (x);
Арктангенс числа
Cos (x);
Arctan (x);
Логарифм числа
Ln (x);
Возведение числа Е в степень Х
Exp (x);
Вычисление числа Пи
Pi;
Отбрасывает дробную часть числа
Trunc (x);
Округление дробного числа до ближайшего целого
Round (x);
Основные операторы системы:
Вызов библиотечного модуля (после имени программы)
USES CRT ;
Ввод с клавиатуры
Read (x);
Ввод с клавиатуры с новой строки
ReadLn (x);
Раздел описания констант (перед Var)
Инициализация датчика случайных чисел
Const
Randomize;
Датчик случайных чисел, Х – max возможное число
Random (Х);
Очистка экрана
ClrScr
Установка цвета экрана
TextBackGround
Переменные для хранения символов. Символьный порядковый тип
Char;
Логический тип переменных
Boolean;
Истина
True
Ложь
False
ЗАДАНИЕ:
Z66 – Z68) Набрать задачи Z66, Z67, Z68 по образцу в тетради и сохранить под этими названиями в своей папке
Z69) Определите в программе четыре логических переменных, которые содержат следующую информацию о людях:
Married – «истина», если человек женат (замужем)
Blond – «истина» , если человек светловолосый
Male – «истина» , если человек – мужчина
Employed – «истина» , если человек работает
Составьте логические выражения, с помощью которых можно определить, является ли человек:
1)Замужней женщиной
2) Неженатым мужчиной
3) Незамужней блондинкой
4) Безработной незамужней женщиной
5) Либо неженатым, либо безработным, либо и тем и другим.
ЗАДАНИЕ:
Z70 – Z75) Запишите на языке Паскаль выражение, которое истинно, если переменная Х принадлежит заштрихованной области:
Z70)
Z71)
Z73)
Z72)
Z74)
Z75)
Литература :
- М. Э. Абрамян. Programming Taskbook. Электронный задачник по программированию. Версия 4.6./ Ростов-на-Дону - 2007 г.
2. Ушаков Д.М., Юркова Т.А. Паскаль для школьников. СПб.: Питер, 2010. — 256 с.