Проверьте правильность следующего умозаключения с логических операций. будет пасмурная погода с дождем. если будет дождь, то будет и снег. если будет пасмурная погода с ветром, то снега не будет. вывод: ветра не будет.
События: Р - пасмурная погода D - дождь С - снег В - ветер
P*D - пасмурно с дождём D → C = ¬D+C - если будет дождь, то будет и снег P*B → ¬C =¬(P*B) + ¬C =¬P+¬B+¬C
(P*D)*(¬D+C)*(¬P+¬B+¬C)= =P*D*C*(¬P+¬B+¬C)= =P*D*C*¬B ---> ветра нет, но пасмурно со снегом и дождём
mvv-155
30.01.2022
// PascalABC.NET 3.0, сборка 1073 const nn=30; mm=30; var a:array[1..mm,1..nn] of integer; m,n,i,j,k,s:integer; begin Writeln('Введите число строк и столбцов массива: '); Read(m,n); Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if Odd(a[i,j]) then Inc(k) end; Writeln end; if k>5 then begin Writeln('Средние арифметические отрицательных элементов по строкам'); for i:=1 to m do begin s:=0; k:=0; for j:=1 to n do if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end; if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000'); end end else begin Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end; Writeln end end end.
function summdel(x:integer):integer; //результат - сумма делителей х var k,sum:integer; begin sum:=0; for k := 1 to x div 2 + 1 do if x mod k = 0 then sum:= sum+k; summdel:=sum; end;
begin writeln('Введите границы a,b '); readln(a,b); maxsumm := 1; max := 1; for i := a to b do begin if summdel(i) > maxsumm then begin maxsumm:= summdel(i); max := i; end; end; writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max) end.
Р - пасмурная погода
D - дождь
С - снег
В - ветер
P*D - пасмурно с дождём
D → C = ¬D+C - если будет дождь, то будет и снег
P*B → ¬C =¬(P*B) + ¬C =¬P+¬B+¬C
(P*D)*(¬D+C)*(¬P+¬B+¬C)=
=P*D*C*(¬P+¬B+¬C)=
=P*D*C*¬B ---> ветра нет, но пасмурно со снегом и дождём