Является основателем теории информации, нашедшей применение в современных высокотехнологических системах связи. Предоставил фундаментальные понятия, идеи и их математические формулировки, которые в настоящее время формируют основу для современных коммуникационных технологий. Его статьи «Математическая теория связи» и «Теория связи в секретных системах» считаются основополагающими для теории информации и криптографии. Клод Шеннон был одним из первых, кто подошел к криптографии с научной точки зрения, он первым сформулировал ее теоретические основы и ввел в рассмотрение многие основные понятия. Шеннон внес огромный вклад в теорию вероятностных схем; теорию игр; теорию автоматов и теорию систем управления — области наук, входящие в понятие «кибернетика».
В 1948 году предложил использовать слово «бит» для обозначения наименьшей единицы информации (в статье «Математическая теория связи»). Кроме того, понятие энтропии было важной особенностью теории Шеннона. Он продемонстрировал, что введенная им энтропия эквивалентна мере неопределённости информации в передаваемом сообщении.
Program prog; function Search(n: integer): integer; var input: array[1..4] of integer; even: array[1..4] of integer; atLestOne: boolean; begin input[1] := n div 1000; input[2] := n mod 1000 div 100; input[3] := n mod 100 div 10; input[4] := n mod 10; if (input[1] mod 2 = 0) begin even[1] := input[1]; atLestOne := True; end; if (input[2] mod 2 = 0) begin even[2] := input[2]; atLestOne := True; end; if (input[3] mod 2 = 0) begin even[3] := input[3]; atLestOne := True; end; if (input[4] mod 2 = 0) begin even[4] := input[4]; atLestOne := True; end; if atLestOne = True then Search := Low(even) else Search := -1; end;
В 1948 году предложил использовать слово «бит» для обозначения наименьшей единицы информации (в статье «Математическая теория связи»). Кроме того, понятие энтропии было важной особенностью теории Шеннона. Он продемонстрировал, что введенная им энтропия эквивалентна мере неопределённости информации в передаваемом сообщении.
function Search(n: integer): integer;
var
input: array[1..4] of integer;
even: array[1..4] of integer;
atLestOne: boolean;
begin
input[1] := n div 1000;
input[2] := n mod 1000 div 100;
input[3] := n mod 100 div 10;
input[4] := n mod 10;
if (input[1] mod 2 = 0)
begin
even[1] := input[1];
atLestOne := True;
end;
if (input[2] mod 2 = 0)
begin
even[2] := input[2];
atLestOne := True;
end;
if (input[3] mod 2 = 0)
begin
even[3] := input[3];
atLestOne := True;
end;
if (input[4] mod 2 = 0)
begin
even[4] := input[4];
atLestOne := True;
end;
if atLestOne = True then
Search := Low(even)
else
Search := -1;
end;