помогите , пожалуйста, дополнить программу по определению биоритмов(из учебника Фаронова). Нужно графически показать поведение 3-х синусоид, каждая из которых соответствует определенному биоритму , на заданном интервале. Обязательно нужна легенда. Зараннее спасибо
volvo
21.09.2005 15:48
sergey_180, я, кажется, просил не постить вопросы в форум FAQ !!!
sergey_180
21.09.2005 19:57
У меня минимальная абсцисса равна 2*pi/33*days , но программа выдает ошибку N133. Подскажите , пожалуйста , что делать.
klem4
22.09.2005 7:18
133 -- невозможно вычислить данное выражения, приведи пожалуйста для каких чисел ты это считаешь, и каких типов переменная days и то чему ты это все дело присваиваещь :yes:
sergey_180
23.09.2005 18:31
у меня days - типа integer и равна целому количеству дней, прошедших от одной даты(даты рождения) до другой. Обе даты вводятся с клавы причем я учитываю что дата рождения меньше второй даты. TI - период интеллектуальной активности
volvo
23.09.2005 18:38
:no: Не пойдет... Приведи кусок кода (2-3 строки), где происходит ошибка, и типы всех переменных в ошибочном выражении, иначе получается опять гадание на кофейной гуще...
sergey_180
24.09.2005 11: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 11: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 8:00
большое спасибо ! :molitva: Вроде все работает .
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.