Вычислить функцию - PascalABC.NET (25235)

Узнай цену своей работы

Формулировка задачи:

Вычислить функцию P =2.7lgL-cos2B+T2, где L, B и T-суммы элементов, стоящих на чётных местах в массивах А, В, С, соответственно.

Решение задачи: «Вычислить функцию»

textual
Листинг программы
uses System.Linq;
var
  a,b,c:array of integer;
  l,k,t:integer;
begin
  randomize;
  a:=Enumerable.Range(0,Random(10)+5).Select(r->Random(50)-10).ToArray();
  l:=enumerable.Range(0,length(a)).Select(i->a[i]*ord(not odd(i))).Sum();  
  writeln('A:',a,' ; l=',l);
  b:=Enumerable.Range(0,Random(10)+5).Select(r->Random(50)-25).ToArray();
  k:=enumerable.Range(0,length(b)).Select(i->b[i]*ord(not odd(i))).Sum();
  writeln('B:',b,' ; b=',k);
  c:=Enumerable.Range(0,Random(10)+5).Select(r->Random(50)-25).ToArray();
  t:=enumerable.Range(0,length(c)).Select(i->c[i]*ord(not odd(i))).Sum();  
  writeln('C:',c,' ; t=',t);
  if l<=0 then writeln('P-Функция не определена')else
  writeln('P=',2.7*log10(l)-sqr(cos(k))+t*t);  
end.

Объяснение кода листинга программы

  1. Используется пространство имен System.Linq, которое предоставляет набор методов для работы с последовательностями (arrays, lists и т.д.)
  2. Задаются переменные a, b, c типа array of integer и переменные l, k, t типа integer.
  3. Выполняется инициализация генератора случайных чисел с помощью функции randomize.
  4. Заполняются массивы a, b, c случайными числами с помощью метода Enumerable.Range(0,Random(10)+5).Select(r->Random(50)-10).ToArray().
  5. Вычисляются суммы элементов массивов a и b с использованием метода Sum() и условного оператора ord(not odd(i)), который возвращает 0 для четных и 1 для нечетных индексов.
  6. Выводятся на экран массивы a, b, c и значения l, k, t с помощью функции writeln().
  7. Проверяется условие l <= 0, и если оно истинно, то выводится сообщение об ошибке P-Функция не определена.
  8. Вычисляется значение P-функции с использованием формулы 2.7*log10(l)-sqr(cos(k))+t*t.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы