![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте! Есть задача:
Найти Y, если Y = X1 + X2 + … + Xn, X = Z^3 - B + A^2 / tg^2*beta. Количество X вводятся пользователем программы. Для каждого X значения Z, B, А, beta разные (вводятся пользователем программы). Решаю Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils,
Math,
System;
var
xn,i:integer;
a,b,z,beta,y:real;
arr:array of real;
begin
y:=0;
write('input quantity X: ');
readln(xn);
SetLength(arr,xn);
for i:=0 to High(arr) do arr[i]:=0;
for i:=0 to High(arr) do
begin
writeln('Input a,b,z,beta for x',i,': ');
write('a=');
readln(a);
write('b=');
readln(b);
write('z=');
readln(z);
write('beta=');
readln(beta);
arr[i]:=((sqr(z)*z)-b+(sqr(a)/sqr(Tan(beta))));
end;
for i:=0 to High(arr) do y:=y+arr[i];
writeln('y=',y:3:2);
readln;
end.Я что-то не так делаю, или что, потому что результат в образце: [скриншот вложение] Следует заметить, что образец писался на C++. Заранее спасибо ![]() |
|
#2
|
|||
|
|||
|
Ну, у меня получилось вот так:
Код:
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). Надо оставить одну - которая правильная. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
66demon666 (19.05.2017)
| ||
|
#3
|
|||
|
|||
|
Благодарю, не учел некоторых аспектов)
|