===== PascalABC.NET =====
#1
y := (a * x + 2 * b * x * x) * Abs(Cos(x * x)) / (Pi * Exp(x));
y := (a * Ln(b * x)) ** (1 / 3) / (1 + Sqr(Sin(a * x)));
y := (Abs(Sin(x ** 3)) + a) * Exp(a) / (b * b + c * c) ** (1 / 3);
#2
begin
var (a, x) := ReadReal2('Введите a и x:');
var t := x ** 3 - a;
t := Sign(t) * Abs(t) ** (1 / 3);
var y := t + Sin(x * x) / a;
Print('y =', y)
end.
Операция возведения в степень ** в PascalABC.NET определена только для неотрицательного аргумента, поскольку она выполняется с использованием логарифма. В то же время, в математике операция извлечения корней нечетной степени для отрицательного аргумента опеределена и допустима. В соответствии с этим, извлечение кубического корня в программе производится из абсолютной величины аргумента и последующим присваиванием знака этого аргумента результату. Если имеется потребность вычислять подобные корни в нескольких местах программы, имеет смысл ввести для этого собственную функцию.
исходный код на языке программирования pascal
const n = 10;
var
a: array[1..n] of integer;
i: byte;
avrg: real;
sum: integer;
begin
randomize;
for i: =1 to n do a[i]: =random(50)+1;
sum : = 0;
for i: =1 to n do sum : = sum + a[i];
avrg : = sum/n;
// весь массив
for i: =1 to n do write(a[i]: 3);
writeln;
writeln('среднее арифм.: ',avrg: 4: 2);
// больше avrg
for i: =1 to n do if a[i]< avrg then write(a[i]: 3);
writeln;
end.
пример(ы) выполнения программы на языке pascal
13 23 45 2 9 28 47 30 18 12
среднее арифм.: 22.70
13 2 9 18 12