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