сделать в паскале при помощи процедур

Сделать в паскале при поддержки процедур

Задать свой вопрос
Пяткина Танюха
Эта задача была решена. Вчера либо позавчера - точно не помню.
Вова Кузовков
там без процедур
Kruglushina Liza
Может быть, не помню, хоть и сам решал.
Ауцграф Тимур
Она очень обычная, процедуры только увеличат объем писанины )))
Sofja Letniskaja
ну вот увы(9(
Карина Петрашик
Хороший пример того, как НЕ НАДО использовать процедуры )))
Камилла Шлычкова
так могли бы посодействовать?)
Валентина
Сейчас сделаю из той...
Патасюк Анна
спасибо заблаговременно))
1 ответ
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!

procedure В_Круге(x,y:array of real; var r:array of boolean);
// Каждый элемент r[i] равен True, если точка с координатами (x[i],y[i])
// лежит снутри единичного круга c центром в точке (2;-3)
begin
  r:=x.Zip(y,(p,q)-gt;Sqr(p-2)+Sqr(q+3)lt;1).ToArray
end;

procedure ПроизведениеАбсцисс(x:array of real; r:array of boolean;
    var res:real);
begin
  res:=x.Where((v,i)-gt;r[i]).Aggregate(1.0,(p,q)-gt;p*q)
end;

procedure СуммаОрдинат(y:array of real; r:array of boolean;
    var res:real);
begin
  res:=y.Where((v,i)-gt;r[i]).Sum
end;

begin
  var n:=ReadInteger('n=');
  var x:=SeqRandom(n,0,40).Select(t-gt;t/10).ToArray;
  Writeln('Массив Х:'); x.Println;
  Writeln('Введите элементы массива Y:');
  var y:=ReadArrReal(n);
  var b:=new boolean[n];
  В_круге(x,y,b);
  var Px,Sy:real;
  ПроизведениеАбсцисс(x,b,Px);
  СуммаОрдинат(y,b,Sy);
  Writeln('Произведение абсцисс ',Px,', сумма ординат ',Sy)
end.
Лидия
Замечание: PascalABC.NET дозволяет использовать в именах не только латинские буковкы и числа, но также буковкы иных алфавитов - кириллицу, греческие и т.д.
Тамара Павлуцкая
Вы согласны, что программа из-за этих процедур вышла длиннее и даже наименее понятной? )))
Денчик Везумский
Это потому, что тело каждой процедуры содержит одну строку и проще написать ее в главный программке, чем городить заголовок процедуры, характеристики, вызов этой процедуры...
Элина Столыгова
Видимо, смысл задания был в том, чтоб показать, как процедуры упрощают программу, а вышел обратный эффект.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт