<span>1) (А или В или С) и (А или не В или С) = А или С</span>
===== PascalABC.NET =====
begin
var (k, kmax, s) := (1, 0, 1);
var a := ReadInteger;
if a = 0 then
begin
Print(1);
exit
end;
foreach var b in ReadSeqIntegerWhile(p -> p <> 0) do
begin
var sgn := Sign(b - a);
a := b;
if sgn = s then
k += 1
else
begin
if k > kmax then
kmax := k;
(k, s) := (2, sgn)
end
end;
if k > kmax then
kmax := k;
Print(kmax)
end.
В качестве примера равномерного кода можно назвать ASCII-таблицу, где каждому из 256 символов сопоставлено двоичное значение от 00000000 до 11111111. Независимо от вероятности появления символа на его представление отводится 1 байт, или 8 бит. Как известно, национальные языки обладают большой избыточностью, то есть разницей между энтропией источника и максимально возможной энтропией, обусловленной равной вероятностью появления любого символа из алфавита. Например, избыточность русского языка составляет 70%, а английского – 50%. Это в частности означает, что некоторые буквы появляются в тексте гораздо чаще других и поэтому использовать равномерное кодирование нерационально.
При неравномерном кодировании часто встречающимся символам сопоставляются более короткие кодовые последовательности, редко встречающимся – более длинные. За счет этого удается значительно сократить объем файла без потерь информации. Существует несколько методов неравномерного кодирования, важнейших из которых является метод Шеннона-Фано.
Надеюсь понятно?
Вроде бы так... подправь если что)
uses crt;
const N=10;
var i,p:integer; a:array[1..N] of integer; {кол эл массива }
begin
p:=0;
writeln('введите исходный массив');
for i:=1 to N do {цикл по кол э}
begin
write('a[',i,']='); readln(a[i]); {ввод эл массива}
if (a[i] mod 2)=0 then p:=p+1;
end;
write('p='); writeln(p);
readln
end.
begin
var a := ArrRandom(16, -20, 20); a.Println;
a.Numerate(0).Where(x -> x[1].isEven)
.Select(x -> x[0]).Println;
end.