Привел в читаемый вид:
Код:
program upr1;
const
n =20;
type
mn=set of 1..n;
var
n3,n8:mn;
k,c:integer;
procedure vv(m:mn);
var
i:integer;
begin
for i:=1 to n do
if i in m then
begin
write(i:3);
k:=k+1;
end;
writeln;
end;
begin
n3:=[];
n3:=[];
for c:=1 to n do
begin
if c mod 3 = 0 then n3:=n3+[c];
if c mod 8 = 0 then n8:=n8+[c];
end;
writeln('числа кратные 3:');
vv(n3);
writeln('числа кратные 8:');
vv(n8);
writeln('количество элементов во множестве:', k);
end.
Переменная k нигде не инициализирована - ошибка.
Использование глобальной переменной k - стилистический минус.
Тестировали программу?