18. Создать структуру с данными по таблице 8.10: Таблица 8.10. Сведения о научных сотрудниках
Фамилия Инициалы Ученая степень Год рождения Количество статей
Сергеев С. А.
Доцент
1971
25
Добавить и вычислить в структуре поле «Активность» по следую-
щему принципу: если количество статей более 10, то в поле записать
пробел, в противном случае — фразу «Работать лучше». Упорядочить
записи по фамилии.
19. Создать структуру с данными по таблице 8.10. Удалить со-
трудника с фамилией, которая вводится с формы. Определить количе-
ство доцентов. Упорядочить записи по должности.
// Внимание! В более ранних версиях работа не гарантируется!
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
Можно воспользоваться функций 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