Цель: Познакомиться с понятием цикла, видами циклических алгоритмов, сформировать умения пользоваться операторами цикла, сформировать умение решать задачи с использованием цикла
Просмотр содержимого документа
«Логические операции в Паскале»
Логические операции в Паскале
Логический тип – это простой стандартный порядковый тип, предназначенный для хранения логической переменной, которая принимает одно из значений: True (истина) или False (ложь).
Переменные логического типа описываются посредством идентификатора Boolean . Var t,p,q : Boolean;
Для хранения логической переменной отводится 1 байт памяти.
Внутреннее представление значения false - 0 , значения true - 1 .
Логическое выражение - логическая формула, записанная на языке программирования.
1) состоит из логических операндов
2) связаны логическими операциями и круглыми скобками
3) результат вычисления - булевская величина (false или true)
Логические операнды:
логические константы (true или false) 2) переменные (описываются с типом boolean)
3) логические функции
4) операции отношения (сравнение двух операндов и определение истинности или ложности отношения между ними)
Логические (булевские) операции
Операция
Пояснение
NOT
Логическое отрицание (инверсия)
AND
Логическое умножение (конъюнкция)
OR
Логическое сложение
XOR
(дизъюнкция)
Исключающее ИЛИ
(сложение по модулю 2)
Порядок выполнения операций:
Действия в скобках NOT AND, умножение (*), div, mod, деление (/) OR, XOR, сложение (+), вычитание (-) , = , , = Например:
A or B and not (A or B)
Таблица истинности для логических операций
А
В
true
true
not A
true
false
A and B
false
false
true
true
false
false
A or B
false
true
A xor B
true
false
false
false
true
true
true
true
false
true
false
false
Логическая функция odd(x)
принимает значение true,
если значение
целого аргумента x - нечётное ,
иначе - false .
Примеры задач
Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объём этого куба. 2. Найти сумму членов арифметической прогрессии, если известны ее первый член, разность и число членов прогрессии.
Решение №1
Решение №2
program kub;
var a, Sg, Sp, V: real;
begin
writeln ('Введите длину ребра a=');
readln (a);
Sg:=sqr(a);
Sp:=6*Sg;
V:=a*a*a;
writeln ('Площадь грани = ', Sg);
writeln ('Площадь полной пов-ти= ', Sp);
writeln ('Объем = ', V);
end.
начало
а
Sg:= sqr (a)
Sp:= 6*Sg
V:=a*a*a
Sg, Sp, V
конец
program progressiya;
var a, d, n, s: real;
begin
write ('a='); read (a);
write ('d='); read (d);
write ('n='); read (n);
s:=(2*a+d*(n-1))*n/2;
writeln ('s=', s);
end .
начало
a, d, n
s:=(2*a+d*(n-1))*n/2
S
конец
Задачи на составление логических выражений
3. Доказать, что треугольник со сторонами a , b , c является равносторонним.
4. Доказать, что данные числа c и d являются соответственно квадратом и кубом числа a .
Решение №3
Решение №4
program treug;
var a,b,c: real;
begin
writeln ('Введите a, b и c');
readln (a,b,c);
if (a=b) and (a=c) and (b=c) then writeln ('Треугольник равносторонний')
else
writeln ('Треугольник не равносторонний');
end .
начало
a, b, c
(a=b) and (a=c) and (b=c)
-
+
writeln ‘Треугольник равносторонний’
writeln ‘Треугольник неравносторонний’
конец
program zadacha4;
var a,d,c: real;
begin
writeln ('Введите a, d и c');
readln (a,d,c);
if (c=a*a) and (d=a*a*a)
then writeln('true')
else writeln('false');
end .
начало
a, d, c
c=a*a and d=a*a*a
-
+
writeln ‘FALSE’
writeln ‘TRUE’
конец
Д/З
Читать п. 2.2.3, в. 6 письменно