Помогите, пожалуйста (задача 22). Блок-схем

0 голосов
18 просмотров

Помогите, пожалуйста (задача 22). Блок-схем


image

Информатика (2.1k баллов) | 18 просмотров
0

напишите программу

0

блок я сам потом

0

делайте, как считаете нужным

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!

function InArea(p:(real,real)):boolean;
begin
  var (x,y):=p;
  Result:=(Abs(x)<=1) and (Abs(y)<=1) or<br>      (y>=x-2) and (x>=0) and (y<=0)<br>end;

begin
  var n:=ReadInteger('n=');
  Randomize;
  var P:=ArrGen(n,i->(Random(-11,22)/10,Random(-22,12)/10));
  Writeln('Исходные точки (x,y)'); P.Println;
  var R:=P.Where(x->InArea(x)).ToArray;
  Writeln('Отобрано точек - ',R.Length);
  Writeln('Отобранные точки (x,y)'); R.Println
end.

Пример
n= 20
Исходные точки (x,y)
(0,0.6) (1.1,1.1) (-0.9,0.3) (-0.7,-0.3) (1.3,-1.7) (-1,-1.6) (1.6,-1.5) (1.3,-0.2) (0.5,-0.7) (-0.7,-1.5) (1,-1.2) (1.9,0.6) (0.7,0.9) (1.3,-0.5) (1.6,0.4) (-0.8,0.2) (0.5,-1.8) (1.5,-1.1) (-0.6,-0.1) (0.9,0.1)
Отобрано точек - 10
Отобранные точки (x,y)
(0,0.6) (-0.9,0.3) (-0.7,-0.3) (1.3,-0.2) (0.5,-0.7) (0.7,0.9) (1.3,-0.5) (-0.8,0.2) (-0.6,-0.1) (0.9,0.1)
(150k баллов)
0

спасибо огромное, очень помог