помогите , пожалуйста, дополнить программу по определению биоритмов(из учебника Фаронова). Нужно графически показать поведение 3-х синусоид, каждая из которых соответствует определенному биоритму , на заданном интервале. Обязательно нужна легенда. Зараннее спасибо
volvo
21.09.2005 19:48
sergey_180, я, кажется, просил не постить вопросы в форум FAQ !!!
sergey_180
21.09.2005 23:57
У меня минимальная абсцисса равна 2*pi/33*days , но программа выдает ошибку N133. Подскажите , пожалуйста , что делать.
klem4
22.09.2005 11:18
133 -- невозможно вычислить данное выражения, приведи пожалуйста для каких чисел ты это считаешь, и каких типов переменная days и то чему ты это все дело присваиваещь :yes:
sergey_180
23.09.2005 22:31
у меня days - типа integer и равна целому количеству дней, прошедших от одной даты(даты рождения) до другой. Обе даты вводятся с клавы причем я учитываю что дата рождения меньше второй даты. TI - период интеллектуальной активности
volvo
23.09.2005 22:38
:no: Не пойдет... Приведи кусок кода (2-3 строки), где происходит ошибка, и типы всех переменных в ошибочном выражении, иначе получается опять гадание на кофейной гуще...
sergey_180
24.09.2005 15:36
function ScreenY( y: integer ): integer;
begin
ScreenY := round( GetMaxY / 2 ) - y;
end;
function ScaleX( x: real ): integer;
const
MinX = 2 * 3.14159 / 33 * days; {вот тут и появляется ошибка}
MaxX = 2 * 3.14159 / 28 * ( days + interval );
begin
ScaleX := round( ( x - MinX ) / ( MaxX - MinX ) * GetMaxX );
end;
X-типа real interval-константа(например interval = 30)
volvo
24.09.2005 15:58
function ScaleX( x: real ): integer;
const
MinX = 2 * 3.14159 / 33 * days;(вот тут и появляется ошибка)
Заметь, ты пытаешься изменить значение константы !!! Не даст тебе Паскаль этого сделать... Одно дело, когда ты пишешь:
Const
MinX = 180 * Pi;
, то есть константа вычисляется при компиляции из уже известных составляющих (это возможно), а совсем другое, когда ты пытаешься вычислить константу с помощью переменной (это запрещено). Что можно сделать:
function ScaleX( x: real ): integer;
Var MinX, MaxX: Real; { определяешь как переменные }begin{ и сначала вычисляешь... }
MinX = 2 * 3.14159 / 33 * days; { ошибки быть НЕ должно... }
MaxX = 2 * 3.14159 / 28 * ( days + interval );
{ ... а потом используешь }
ScaleX := round( ( x - MinX ) / ( MaxX - MinX ) * GetMaxX );
end;
sergey_180
25.09.2005 12:00
большое спасибо ! :molitva: Вроде все работает .
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.