"Кванторные операции над предикатами Задание 1. На множестве ℕ заданы предикаты:
а) P x : «x нечетное число»,
б) Q x : «x ⋮ 6»,
в) R x : «x2 − 7x + 6 = 0» .
Используя кванторы, получите все возможные высказывания,
расшифруйте и выясните их истинность.
Задание 2.
На множестве ℕ^2
заданы предикаты0
а) P (x; y) : «x > y» ;
б) Q (x, y) : «x ⋮ 3y» .
Используя кванторы, получите все возможные высказывания, расшифруйте и выясните их истинность.
Задание 3.
Определите тождественно истинные и тождественно ложные высказывания на
M = ℕ^2: а) ∀y P x; y : «x ≥ y»; б) ∃x P x; y : «x < y».
Задание 4.
Предикаты A (x; y) и B (y; z) определены на множестве M × M, M = {3; 4; 5; 6} .
Запишите формулу ∃yA (x; y) ∨ ∀zB (y; z) без кванторных операций.
Задание 5.
Найдите отрицание формул:
а) ∃x (P (x) ∨ Q (x)) ;
б) ∀x (P (x) ∨ ┐Q (x)) ;
в) ∃x∀y (P (x; y) ↔ Q (x; y)) ;
г) ∀x∀y (P (x; y) ↔ Q (x; y)) .
Задание 6.
Даны утверждения: A (n) : «n ⋮ 2»; B (n) : «n ⋮ 3»; C (n) : «n ⋮ 4»; D (n) : «n ⋮ 12»;
E (n) : «n ⋮ 24» .
Определите истинные и ложные высказывания:
а) ∀n (A (n) ∧ B (n) → E (n)) ;
б) ∀n (B (n) ∧ C (n) → D (n)) ;
в) ∃n (C(n) ∧ D (n) → E (n)) ;
г) ∀n (E (n) → C (n) ∧ D (n)) ;
д) ∀n (┐E (n) → B (n) ∧ D (n)).
procedure PrintMatrix(a: array[,] of integer);
begin
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
writeln;
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
write(a[i, j], ' ');
end;
writeln;
end;
begin
var a := MatrixRandom(9, 9, 10, 99);
PrintMatrix(a);
var i := (a.GetLowerBound(0) + a.GetUpperBound(0)) div 2 + (a.GetLowerBound(0) + a.GetUpperBound(0)) mod 2;
var j := (a.GetLowerBound(1) + a.GetUpperBound(1)) div 2 + (a.GetLowerBound(1) + a.GetUpperBound(1)) mod 2;
writeln('A[', i, ', ', j, '] = ', a[i, j]);
end.
#include <iomanip>
int main()
{
using namespace std;
const int N = 4;
const int M = 4;
int Y[N][M];
//как-нибудь заполняем матрицу
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Y[i][j] = (i + 1) * (j + 1);
//выведем её на экран
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
cout << setw(3) << Y[i][j];
cout << endl;
}
//находим сумму элементов побочной диагонали
int S = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
if (j == M - 1 - i)
S = S + Y[i][j];
cout << "Sum of adverse diagonal of array: " << S << endl;
//находим сумму всех элементов матрицы
int Sum = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Sum = Sum + Y[i][j];
cout << "Sum of all elements of array: " << Sum << endl;
return 0;
}