Вводятся координаты (x;y) точки и радиус круга (r). Определить принадлежит ли данная точка кругу, если его центр находится в начале координат.
Будем считать, что точка принадлежит кругу, если находится внутри его или на его окружности.
Из любой точки координатной плоскости можно провести отрезок к началу координат. Если длина этого отрезка больше радиуса круга, то точка лежит за пределами круга и, следовательно, не принадлежит ему. Если же отрезок, соединяющий точку и начало координат, меньше радиуса круга с центром в начале координат или равен ему, то точка будет принадлежать кругу.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(31,-10,12); a.Println;
Writeln('Дней с нулевой температурой- ',a.Where(t->t=0).Count);
Writeln('Дней с отрицательной температурой- ',a.Where(t->t<0).Count);
Writeln('Дней с положительной температурой- ',a.Where(t->t>0).Count);
end.
Пример
9 -8 0 -10 5 -10 5 -8 -5 8 -2 0 -7 -5 3 6 10 5 -5 1 5 5 10 -3 -3 6 8 7 6 7 12
Дней с нулевой температурой- 2
Дней с отрицательной температурой- 11
Дней с положительной температурой- 18
Если хочется вводить с клавиатуры, вместо строки
var a:=ArrRandom(n,-10,12); a.Println;
надо написать
var a:=ReadArrInteger('Введите температуру по дням'+NewLine,31);