Составьте алгоритм в виде блок-схемы, используя автофигуры Найти сумму чисел, кратных трём, в диапазоне от 10 до 30. Вывести на экран сумму чисел и их количество.
Тут имеется один "подвох" и на него часто ловятся. Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента. По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма. Вспоминаем:
И только теперь можно писать программу.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var a,b,c:real; Read(a,b); c:=a+b; Writeln(sign(c)*power(abs(c),1/3)) end.
// PascalABC.NET 3.2, сборка 1344 от 22.11.2016 // Внимание! В более ранних версиях работа не гарантируется!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('Вводите элементы массива'); var a:=new integer[m,n]; for var i:=0 to m-1 do for var j:=0 to n-1 do Read(a[i,j]); Writeln('-'*20); foreach var c in a.Cols do Write(c.Sum,' ') end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 3 Вводите элементы массива 1 6 -2 0 6 8 -3 6 1 4 6 -3
Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу
Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента.
По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма.
Вспоминаем:
И только теперь можно писать программу.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a,b,c:real; Read(a,b);
c:=a+b;
Writeln(sign(c)*power(abs(c),1/3))
end.
Примеры
14.283 -32.17
-2.61524573390822
13.183 -13.183
0
// Внимание! В более ранних версиях работа не гарантируется!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('Вводите элементы массива');
var a:=new integer[m,n];
for var i:=0 to m-1 do
for var j:=0 to n-1 do Read(a[i,j]);
Writeln('-'*20);
foreach var c in a.Cols do Write(c.Sum,' ')
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 3
Вводите элементы массива
1 6 -2
0 6 8
-3 6 1
4 6 -3
2 24 4