У тебя была ошибка в том что в процедуре нельзя объявлять переменные, они должны быть объявлены для все программы.
Так же ты зачем-то присваивал Kr , и у тебя не был реализован сам подсчет.
program LAB_8;
uses CRT;
type massiv=array [1..10,1..10] of integer;
var r:massiv;
n,k,i,j:integer;
procedure VVOd_MAS(var A:massiv);
var i,j:integer;
begin
Randomize;
For i:=1 to 10 do
For j:=1 to 10 do
A[i,j]:=Random(100);
end;
procedure VYVOd_MAS(A:massiv);
begin
For i:=1 to 10 do
begin
For j:=1 to 10 do write (A[i,j]:4);
Writeln;
end;
end;
function PODSCHET (A:massiv; kr:integer):integer;
begin
For i:=1 to 10 do
For j:=1 to 10 do
If r[i,j] mod kr=0 then
k:=k+1;
PODSCHET:=k;
end;
// основная программа
begin
VVOd_MAS(r);
VYVOd_MAS(r);
writeln ('Введите любое целое число');
readln(n);
k:=PODSCHET(r,n);
Writeln('В данном массиве ', k, ' чисел кратны данному');
end.
Предложение состоит из 106 символов, считая все пробелы, запятые и точку. Следовательно, при кодировании оно будет занимать 106 байт, это и есть его информационный объем.
Такие задачи решаются с помошью таблицы и внимательно изучая факты она заполняется. Потом используется метод исключения.
Всю задачу расписывать очень долго. Я приведу только один пример:
Коршунов - самый молодой, а химик старше историка, следовательно Коршунов не химик (он не может быть старше кого бы то ни было, потому что самый младший).
Просто пишите Writeln(a:10:5) и с помощью форматного вывода получаете число в стандартном виде. Первое число отвечает за кол-во символов для записи переменной, а второе число отвечает за число символом после запятой
Спираль из центра массива по часовой стрелке (для нечетных n):
const n=7;
var a:array[1..n,1..n] of integer;
i,j,d,k,l,m:integer;
begin
k:=n*n;
i:=n div 2 + 1; j:=n div 2 + 1;
a[i,j]:=k;
d:=1;
for m:=1 to n div 2 do
begin
for l:=1 to d do
begin k:=k-1; j:=j+1; a[i,j]:=k; end;
for l:=1 to d do
begin k:=k-1; i:=i+1; a[i,j]:=k; end;
d:=d+1;
for l:=1 to d do
begin k:=k-1; j:=j-1; a[i,j]:=k; end;
for l:=1 to d do
begin k:=k-1; i:=i-1; a[i,j]:=k; end;
d:=d+1;
end;
d:=d-1;
for l:=1 to d do
begin k:=k-1; j:=j+1; a[i,j]:=k; end;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end.
Результат:
<span> 7 6 5 4 3 2 1
8 29 28 27 26 25 24
9 30 43 42 41 40 23
10 31 44 49 48 39 22
11 32 45 46 47 38 21
12 33 34 35 36 37 20
13 14 15 16 17 18 19</span>