Function ob(r:real):real;
var v:real;
begin
v:=4/3*r*r*r*pi;
ob:=v;
end;
var n,i:integer;
v1,r1:real;
begin
readln(n);
for i:=1 to n do
begin
write('Введите радиус ',i,'-го шара: ');
readln(r1);
v1:=ob(r1);
writeln('Объем шара: ',v1);
writeln;
end;
end.
//PascalABC.NET версия 3.2, сборка 1417
//Если программа не запускается, то обновите версию
begin
var m := MatrRandom(ReadInteger('n ='), ReadInteger('m ='), 0, 9);
m.Println();
{1}
Writeln('количество элементов соответствующей строки');
var number := ReadInteger('Введите число, для проверки =');
var a := m.Rows.Select(r -> r.Count(x -> x > number));
a.Println;
{2}
Writeln('Определить,есть ли в данном массиве столбец, в котором имеются одинаковые элементы.');
var b := m.Cols.Select(r -> r.GroupBy(v -> v).Count(g -> g.Count() > 1));
b.Println;
Writeln(b.Any(x -> x > 0));
{3}
Writeln('Заполнить массив');
var n := 2 * Max(m.RowCount, m.ColCount) div 2 + 1;
m := MatrGen(n, n, (i, j)-> ((n - 1 - i - j) * (i - j) > 0) ? 0 : 1);
m.Println();
end.
Сделаем небольшие преобразования.
Теперь можно писать программу. Проведенное преобразование позволяет вычислить S абсолютно точно в виде простой дроби. В ответе можно дать десятичную дробь, но преобразование к ней будет единственной неточной операцией. Кроме того, скорость выполнения целочисленной арифметики многократно превышает скорость работы в арифметике с плавающей точкой.
var
i,s,a:integer;
begin
a:=1; s:=a;
for i:=1 to 8 do begin
a:=3*a; s:=s+a
end;
Writeln('S = ',s,'/',a,' = ',s/a)
end.
Результат
S = 9841/6561 = 1.49992379210486