Сначала немного математики.
Мы получили выражение для вычисления значения полинома по схеме Горнера, оптимизирующей число операций и избавляющей нас от использования возведения в степень.
Ниже - текст программы на Pascal.ABC. На самых старых версиях Паскаля инициализация элементов массива не может объединяться с его описанием и её следует выполнить отдельно в виде набор операторов присваивания.
var
a: array[1..4] of real := (-0.5, 0.11, -2.66, 10);
x, y: real;
i: integer;
begin
for i := 1 to 4 do
begin
x := a[i];
y := 3 * (4 + x * (1 + 3 * x));
Writeln('x=', x:5:2, ' y=', y:8:4)
end
end.
Тестовое решение:
x=-0.50 y= 12.7500
x= 0.11 y= 12.4389
x=-2.66 y= 67.7004
x=10.00 y=942.0000
Преобразуем
(i*i)/(i/2) = 2*i*i/i = 2*i
<em>// PascalABC.NET 3.2, сборка 1353 от 27.11.2016</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrGen(10,i->2*i,1); a.Println;
end.
<u>Результат</u>
2 4 6 8 10 12 14 16 18 20
===== PascalABC.NET =====
function GetMatrix: array[,] of integer;
begin
var (m, n) := ReadInteger2('Число строк и столбцов в массиве:');
Result := MatrRandom(m, n, 0, 20)
end;
function MinCol(a: array[,] of integer): integer;
begin
for var j := 0 to a.ColCount - 1 do
if a.Col(j).All(p -> p > 10) then
begin
Result := j;
Exit
end;
Result := -1;
end;
begin
var M := GetMatrix;
M.Println(4);
var k := MinCol(M);
if k = -1 then
Println('Нет столбцов, в которых все элементы больше 10')
else
Println('Минимальный номер найденного столбца:', k + 1)
end.
Var n,i,k:Integer;
begin
write ('Введите натуральное число (n<=1000): ');
readln (n);
k:=0;
for i:=1 to n do
if n mod i = 0 then k:=k+1;
writeln('Количество делителей числа ',n,' равно: ',k)
end.
Program zadanie;
Var a,b:integer;
Begin
Writeln('Введите год рождения');
Read(a);
Writeln('Введите текущий год');
Readln(b);
If b>a Then
begin
a:=(b-a)*365;
Writeln('Примерное число прожитых дней=',a);
end
Else If a>b Then Writeln('Не правильно указаны год рождения и текущий год')
Else
begin
a:=a*365;
Writeln('Примерное число прожитых дней=',a);
end;
End.