Что-то типа этого:
Код
const
n = 40;
D = 20; { максимально возможное для массива q число }
var
p: array[1 .. n] of integer;
q: array[1 .. n] of integer;
i, count: integer;
begin
count := 0;
for i := 1 to n do
begin
write('p[', i, '] = '); readln(p[i]);
if p[i] <= D then
begin
inc(count); q[count] := p[i]
end;
end;
{ count содержит размер массива q }
for i := 1 to count do
write(q[i]:4);
end.