Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Pascal.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Занятие № 6. Составные условия.

Возникают ситуации, когда полное условие состоит из нескольких меньших условий. Такая ситуация приводит к появлению составного условия. Составное условие – это совокупность простых условий объединённых логическими функциями. Логические функции бывают двух типов: одной и двух переменных. Всего существует 4 логические функции одной переменной и 16 функции двух переменных. Мы ограничимся рассмотрением всего четырёх.

В случае использования составных условий простые условия заключаются в круглые скобки.

Для знакомства с логическим функциями введём условные обозначения и понятия:

T – True (истина, условие выполняется)

F – False (ложь, условие не выполняется)

Таблица истинности – это перебор всевозможных исходов аргументов логической функции (выражения) с анализам результата всей логической функции.

A

B

Инверсия

(НЕ)

Конъюнкция

(И)

Дизъюнкция

(ИЛИ)

Исключающее ИЛИ

Обозначение в Pascal

NOT (A)

(A) AND (B)

(A) OR (B)

(A) XOR (B)

F

F

T

F

F

F

F

T

F

T

T

T

F

F

F

T

T

T

T

T

T

F

Как видно из таблицы инверсия – функция одной переменной, все остальные функции – функции двух переменных.

Теперь можно составлять более сложные условия. Продемонстрируем это на примере.

Пример. Даны три положительных числа a, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого треугольника, в противном случае вывести сообщения о невозможности построения такого треугольника.

Условие существования треугольника – выполнение следующей системы неравенств:

a +b c

b+c a

a+c b

Приблизительную площадь треугольника можно рассчитать по формуле Герона:

, где p – полупериметр.

Программа решения:

program triangle;

uses crt;

var a,b,c,p,s:real;

BEGIN

ClrScr;

write('Введите сторону A: '); readln(a);

write('Введите сторону B: '); readln(b);

write('Введите сторону C: '); readln(c);

if (a+b>=c) and (a+c>=b) and (b+c>=a) then

begin

p:=0.5*(a+b+c);

s:=sqrt(p*(p-a)*(p-b)*(p-c));

writeln('Площадь треугольника равна ',s:3:2);

end

else

writeln('Треугольник не существует.');

readkey;

END.

Единственную сложность может представлять строка вычисления площади:

s:=sqrt(p*(p-a)*(p-b)*(p-c));

sqrt(x) – это функция возвращающая корень квадратный своего аргумента заключённого в скобки.

Контрольные вопросы:

  1. Что такое составное условие?

  2. Какие функции одной переменной вы знаете? Как они работают?

  3. Какие функции двух переменной вы знаете? Как они работают?

Задания:

1. Составить программу, определяющую количество дней во введенном с клавиатуры месяце года.

2. Составить программу, решения квадратного уравнения по введенным с клавиатуры коэффициентам a, b и c.

3. Определить принадлежит ли точка с координатами (x, y) указанной области:

а) б)