50 «помехозащитное кодирование» данные …, представленные кодом хэмминга. при передаче изменился один разряд данных. получен был следующий ошибочный код 1 0 0 1 0 1 0 0 1 0 1. определите, в каком разряде возникла ошибка передачи, исправьте ошибку и запишите исправленный код без контрольных разрядов. решить по следующему примеру: «помехозащитное кодирование» данные …, представленные кодом хэмминга. при передаче изменился один разряд данных. получен был следующий ошибочный код 1 0 0 1 0 1 0 0 1 0 1. определите, в каком разряде возникла ошибка передачи, исправьте ошибку и запишите исправленный код без контрольных разрядов. формируется корректирующее число 4 разряд (8 9 10 11) – 1001=0 3 разряд (4 5 6 7) – 0010=1 2 разряд (2 3 6 7 10 11) – 011001 = 1 1 разряд (1 3 5 7 9 11) – 110001 = 1 ошибка обнаружена в разряде 0111 (7) 1 0 0 1 0 1 0 0 1 0 1 в результате получим исправленный код 1 0 0 1 1 1 0 0 1 0 1 переведите его в десятичную систему счисления. 10011012 = 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 64+8+4+1=7710
const N = 20;
const MAX = 70;
const MIN = 20;
var A: array [1..N] of integer;
var i,c1,c2: integer;
begin
randomize();
c1:=-1;
c2:=-1;
writeln('Исходный массив: ');
for i:=1 to N do
begin
A[i]:=random(MAX-MIN+1)+MIN;
write(A[i],' ');
if (A[i] mod 2 = 0) then
if (c1=-1) or (A[i]<A[c1]) then c1:=i;
if (A[i] mod 2 <> 0) then
if (c2=-1) or (A[i]<A[c2]) then c2:=i;
end;
writeln();
if (c1<>-1) then writeln('Минимальное четное: ',A[c1]);
if (c2<>-1) then writeln('Минимальное нечетное: ',A[c2]);
end.
Var
A,B:integer;
P:real;
C:boolean;
Begin
ClrScr;
Write('Введите натуральное число: ');ReadLn(B);
Write('A = ');ReadLn(A);
P:=1;
C:=false;
B:=Abs(B);
While B>0 do
Begin
P:=P*(B mod 10);
if B mod 10 = A then C:=true;
B:=B div 10
End;
WriteLn('P = ',P);
if C then WriteLn('Не верно')
else WriteLn('Верно');
ReadLn
End.
uses Crt;
Var
A:integer;
Begin
ClrScr;
For A:= 100 to 999 do
if ((A+1) mod 2 = 0)and((A+2) mod 3 = 0)and((A+3) mod 4 = 0)and((A+4) mod 5 = 0) then Write(A,' ');
ReadLn;
End.
uses Crt;
Var
A,B,C:integer;
Begin
ClrScr;
Write('Введите натуральное число: ');ReadLn(B);
Write('A = ');ReadLn(A);
C:=0;
While B<>0 do
Begin
if B mod 10 <> A then C:=C*10+B mod 10;
B:=B div 10;
End;
While C<>0 do
Begin
B:=B*10+C mod 10;
C:=C div 10
End;
WriteLn(B);
ReadLn;
End.