Составить программу в паскале

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

Составить программу в паскале


image

Информатика (85 баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Единичный круг с координатами центра С(2;-3) вписывается в квадрат, у которого левый верхний угол будет иметь координаты (1;-2), а правый нижний - координаты (3;-4). Поэтому имеет смысл не брать границы абсцисс и ординат вне диапазонов, например, [0;4] и [-5;-1] соответственно. Значения в массиве абсцисс х сформируем с помощью датчика случайных чисел, значения в массив ординат у будем вводить с клавиатуры.
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var x:=SeqRandom(n,0,40).Select(t->t/10).ToArray;
  Writeln('Массив Х:'); x.Println;
  Writeln('Введите элементы массива Y:');
  var y:=ReadArrReal(n);
  var (Px,Sy):=(1.0,0.0);
  for var i:=0 to n-1 do
    if Sqr(x[i]-2)+Sqr(y[i]+3)<1 then begin Px*=x[i]; Sy+=y[i] end;<br>  Writeln('Произведение абсцисс ',Px,', сумма ординат ',Sy)
end.

Пример
n= 20
Массив Х:
1.4 2 2.8 1.7 1.1 2.7 2 2.4 0.1 3.6 1 2.1 2 3.6 0.8 2.6 3.8 2.9 1.9 0.4
Введите элементы массива Y:
-1.2 -2.3 -1.4 -2.2 -3 -1.5 -2.2 -1.2 -2 -4.7 -3.9 -1.4 -1.4 -3.2 -1.6 -4.7 -2.7 -3.1 -1.5 -1.5
Произведение абсцисс 21.692, сумма ординат -12.8


(150k баллов)