В начале программы надо написать Randomize;
вместо 3-ех while используй один for, и 3 переменные которые запоминают числа.
вот часть программы
for i:=1 to 20 do begin
if M[i]>0 then k:=k+1;
if M[i]<0 then t:=t+1;
if M[i]=0 then n:=n+1;
end;
writeln(k,'Положительные');
writeln(t,'отрицательные');
writeln(n,'Нулевые');
Надеюсь, сделано, как в параграфе =)
"Из двух множеств, связанных отношением «является разновидностью», одно является подмножеством другого.Например, множество попугаев является подмножеством множества птиц."
2) Число - целое число.
Формула Герона используется для вычисления площади треугольника. В данном случае нет необходимости (как и нужных данных) для ее использования. Так, чтобы найти полупериметр (обозначен буквой p в формуле), мы уже должны знать длины сторон.
Вывод другой формулы и сама формула для нахождения длины отрезка находится на этом сайте: http://www.studyguide.ru/note.php?id=14
program ryazantsev;
var xa, ya, xb, yb, d: real;
begin
Writeln('Введите координаты первой точки (x, y)');
Readln(xa, ya);
Writeln('Введите координаты второй точки (x, y)');
Readln(xb, yb);
d:=Sqrt(Sqr(xb-xa)+Sqr(yb-ya));
Writeln(d)
end.