PascalABC.NET
begin
var s :='26 декабря 2019 года, четверг, 15 час 43 мин, за окном +3.';
s := s.Remove
(
s.MatchValues('\d+')
.Select(p -> p.ToInteger)
.Where(p -> p.IsOdd)
.Select(p -> p.ToString)
.ToArray
);
Println(s) // 26 декабря года, четверг, час мин, за окном +.
end.
Номер 1
На каникулах мы пойдем в театр или в цирк
Пусть А- поход в театр, B - в цирк
F = A∨B
15 делится на 3 и на 5
Пусть А- 15 делится на 3, B - 15 делится на 5
F= A∧B
Если сумма цифр числа делится на 3 без остатка, то число делится на 3
Пусть А - число делится на 3 без остатка, B - число делится на 3
F= A⇒B
Номер 2
Высказывание A∨B дает объединение множеств A и B. Обозначим истинность выражения за 1, а ложь за 0
Получается, если A = 0, B=0 A∨B - ложно
A=0, B=1 A∨B - истинно
A=1, B=0 A∨B - истинно
A=1, B=1 A∨B - истинно
Номер 3
Действия выполняются сначала в первой скобке
((1∨0)∨1)∨0)= (1∨1)∨0=1∨0=1 (т.к 1∨0 или 0∨1 всегда истинно(=1))
Номер 4
Высказывание A={3=6}. Это ложное высказывание, т.к 3≠6. Т.е А=0
Высказывание B={2<3}. Это истинное высказывание, т.к 2<3. Т.е B=1
Высказывание C={4<1}. Это ложное высказывание, т.к 4>1. Т.е C=0
Перепишем высказывание из задания и подставим в него найденные значения:
(0∨¬1)∧¬(¬0∨1)
Как известно ¬0=1, ¬1=0 (отрицание) ⇒ (0∨0)∧¬(1∨1) = 0∧¬1=0∧0=0
var
s, p : string;
i : integer;
begin
write('строка: ');
readln(s);
writeln(s);
for i := length(s) downto 1 do
if s[i] in ['1', '3', '5', '7', '9'] then delete(s, i, 1);
for i := length(s) downto 1 do
if s[i] in ['0', '2', '4', '6', '8'] then
begin
p := '(' + s[i] + ')';
delete(s, i, 1);
insert(p, s, i)
end;
writeln(s);
readln
end.
Объяснение: