Ну, у меня получилось вот так:
Код:
program SumX;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
function getX(Num : Integer) : Double;
var
Z, B, A, beta : Double;
begin
WriteLn('Input values to calculate X'+IntToStr(I));
Write('Input Z='); ReadLn(Z);
Write('Input B='); ReadLn(B);
Write('Input A='); ReadLn(A);
Write('Input beta='); ReadLn(beta);
Result := Z*Z*Z - B + Sqr(A) / Sqr(Tan(beta)); // Rad
// Result := Z*Z*Z - B + Sqr(A) / Sqr(Tan(beta*PI/180)); // Grad
end;
var
N, I : Integer;
Y : Double;
begin
Write('Input number of X='); ReadLn(X);
Y := 0;
For I := 1 To N Do
Y := Y + getX(I);
WriteLn(Format('Y=%.2f',[Y]));
ReadLn;
end;
end.
1. Массив тебе не нужен. У тебя простое сложение, которое можно сделать по ходу чтения данных
2. Там в функции рассчета X есть 2 примерно одинаковые строчки. Одна для beta в радианах (// Rad), вторая - градусах (// Grad). Надо оставить одну - которая правильная.