1. A & B: В Африке водятся жирафы, и в Мурманске идёт снег. A | B: В Африке водятся жирафы, или в Мурманске идёт снег. A xor B: В Африке водятся жирафы, или в Мурманске идёт снег, но не одновременно. A -> B: Если в Африке водятся жирафы, то в Мурманске идёт снег. !A & !B: В Африке не водятся жирафы, и в Мурманске не идёт снег. Возможны и другие высказывания. & - логическое и, | - логическое или, xor - исключающее или, ! - отрицание, -> - импликация.
2. A = "Винни-Пух любит мёд" B = "Дверь в дом открыта" Исходное высказывание через A, B записывается так: A & B. Нужно построить отрицание !(A & B). По законам де Моргана это еще эквивалентно такому: !A | !B. !(A & B) = Неверно, что Винни-Пух любит мёд и дверь в дом открыта. !A | !B = Винни-Пух не любит мёд или дверь в дом закрыта.
A | B: В Африке водятся жирафы, или в Мурманске идёт снег.
A xor B: В Африке водятся жирафы, или в Мурманске идёт снег, но не одновременно.
A -> B: Если в Африке водятся жирафы, то в Мурманске идёт снег.
!A & !B: В Африке не водятся жирафы, и в Мурманске не идёт снег.
Возможны и другие высказывания. & - логическое и, | - логическое или, xor - исключающее или, ! - отрицание, -> - импликация.
2. A = "Винни-Пух любит мёд"
B = "Дверь в дом открыта"
Исходное высказывание через A, B записывается так: A & B.
Нужно построить отрицание !(A & B). По законам де Моргана это еще эквивалентно такому: !A | !B.
!(A & B) = Неверно, что Винни-Пух любит мёд и дверь в дом открыта.
!A | !B = Винни-Пух не любит мёд или дверь в дом закрыта.
Таблица истинности:
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
SeqRandom(10,-10,20).Select(x->(x,1/x)).Println(NewLine)
end.
Пример
(13,0.0769230769230769)
(-10,-0.1)
(9,0.111111111111111)
(-5,-0.2)
(14,0.0714285714285714)
(18,0.0555555555555556)
(15,0.0666666666666667)
(3,0.333333333333333)
(-5,-0.2)
(-9,-0.111111111111111)
2. "Красивый" вариант
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
SeqRandom(10,-10,20).Select(x->(x,1/x))
.Foreach(x->Writeln(x[0]:3,x[1]:15:8))
end.
Пример
18 0.05555556
-10 -0.10000000
16 0.06250000
6 0.16666667
15 0.06666667
13 0.07692308
5 0.20000000
18 0.05555556
-1 -1.00000000
13 0.07692308
3. А так писали наши деды четверть века назад...
var
i,x:integer;
begin
Randomize;
for i:=1 to 10 do begin
x:=Random(31)-10;
Writeln(x:3,1/x:15:8)
end
end.
Пример
-7 -0.14285714
11 0.09090909
-2 -0.50000000
-10 -0.10000000
14 0.07142857
-7 -0.14285714
-5 -0.20000000
5 0.20000000
13 0.07692308
10 0.10000000