function Fun: integer; var i, M: integer; begin writeln('Введите число M='); readln(M); for i := 1 to N do if A[i] = M then Fun := i; end;
procedure CreateMassive; var i: integer; begin for i := 1 to N do begin A[i] := Random(199) - 100; write(A[i],' '); end; Writeln; end;
begin CreateMassive; Writeln(Fun); end.
вот вариант исправления который работает, хотя конечно не факт что он работает как там кто-то задумывал))) не понятно было назначение функции Fun потому она делает поиск номера элемента равного М а вообще глобальные переменные это зло. Так что проектирование тут в корне не верно
Из комбинаторики известно, что, в случае непозиционного кода, количество комбинаций (кодов) n-разрядного кода является числом сочетаний с повторениями, равно биномиальному коэффициенту:
{\displaystyle n}n — количество элементов в данном множестве различных элементов (количество возможных состояний, цифр, кодов в разряде),
{\displaystyle k}k — количество элементов в наборе (количество разрядов).
В двоичной системе кодирования (n=2) количество возможных состояний (кодов) равно :
{\displaystyle {\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}={\frac {\left(2+k-1\right)!}{k!\left(2-1\right)!}}={\frac {\left(k+1\right)!}{k!1!}}=k+1}\frac{\left(n+k-1\right)!}{k!\left(n-1\right)!}=\frac{\left(2+k-1\right)!}{k!\left(2-1\right)!}=\frac{\left(k+1\right)!}{k!1!}=k+1, [возможных состояний (кодов)], то есть
описывается линейной функцией:
{\displaystyle N_{kp}(k)=k+1}N_{{kp}}(k)=k+1, [возможных состояний (кодов)], где
{\displaystyle k}k — количество двоичных разрядов.
Например, в одном 8-битном байте (k=8) количество возможных состояний (кодов) равно:
N = 10;
var
A: array[1..N] of integer;
function Fun: integer;
var
i, M: integer;
begin
writeln('Введите число M=');
readln(M);
for i := 1 to N do
if A[i] = M then Fun := i;
end;
procedure CreateMassive;
var
i: integer;
begin
for i := 1 to N do
begin
A[i] := Random(199) - 100;
write(A[i],' ');
end;
Writeln;
end;
begin
CreateMassive;
Writeln(Fun);
end.
вот вариант исправления который работает, хотя конечно не факт что он работает как там кто-то задумывал)))
не понятно было назначение функции Fun потому она делает поиск номера элемента равного М
а вообще глобальные переменные это зло. Так что проектирование тут в корне не верно
Из комбинаторики известно, что, в случае непозиционного кода, количество комбинаций (кодов) n-разрядного кода является числом сочетаний с повторениями, равно биномиальному коэффициенту:
{\displaystyle {n+k-1 \choose k}=(-1)^{k}{-n \choose k}={\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}}{n+k-1 \choose k}=(-1)^{k}{-n \choose k}={\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}, [возможных состояний (кодов)], где:
{\displaystyle n}n — количество элементов в данном множестве различных элементов (количество возможных состояний, цифр, кодов в разряде),
{\displaystyle k}k — количество элементов в наборе (количество разрядов).
В двоичной системе кодирования (n=2) количество возможных состояний (кодов) равно :
{\displaystyle {\frac {\left(n+k-1\right)!}{k!\left(n-1\right)!}}={\frac {\left(2+k-1\right)!}{k!\left(2-1\right)!}}={\frac {\left(k+1\right)!}{k!1!}}=k+1}\frac{\left(n+k-1\right)!}{k!\left(n-1\right)!}=\frac{\left(2+k-1\right)!}{k!\left(2-1\right)!}=\frac{\left(k+1\right)!}{k!1!}=k+1, [возможных состояний (кодов)], то есть
описывается линейной функцией:
{\displaystyle N_{kp}(k)=k+1}N_{{kp}}(k)=k+1, [возможных состояний (кодов)], где
{\displaystyle k}k — количество двоичных разрядов.
Например, в одном 8-битном байте (k=8) количество возможных состояний (кодов) равно:
{\displaystyle N_{kp}(k)=k+1=8+1=9}N_{{kp}}(k)=k+1=8+1=9, [возможных состояний (кодов)].
В случае позиционного кода, число комбинаций (кодов) k-разрядного двоичного кода равно числу размещений с повторениями:
{\displaystyle N_{p}(k)={\bar {A}}(2,k)={\bar {A}}_{2}^{k}=2^{k}}N_{{p}}(k)={\bar {A}}(2,k)={\bar {A}}_{2}^{k}=2^{k}, где
{\displaystyle \ k}\ k — число разрядов двоичного кода.
Объяснение: