Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 21:18   #21
cote
Пользователь
 
Регистрация: 04.05.2012
Сообщений: 12
По умолчанию

спасибо понял там должно быть так
Код:
if (x+y)<>0 then
           z:=100/(x+y);
теперь все нормально но осталась одна проблема на экран выводить закрашенную белым цветом квадрат 200X200(((
cote вне форума Ответить с цитированием
Старый 15.05.2012, 21:34   #22
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Цитата:
if (x+y)<>0 then
z:=100/(x+y);
Думаю так будет лучше:
Код:
if (x+y)<>0 then
           z:=random(100)/(x+y)
else z:=random(100);
И проверку я бы сделал так:
Код:
        for i:=1 to 16 do begin
           if (min+sector*(i-1)<=z) and (z<min+sector*i) then
Жаль паскаля нет, а так бы откомпилировал прогу и точно сказал бы где косяк
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 15.05.2012, 21:52   #23
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

Код:
for i:=1 to 16 do begin
if z<min+sector*i then
  begin
    putpixel(...);
    break;
  end;
На самом деле, мне много чего не нравится
Но времени исправлять нет.
В качестве советов:
Вычислять цвет можно формулой, а не циклом: putpixel(...,round((z-min)/sector)); (или что-то близкое )
предварительно задав sector=1, если по каким-либо причинам он 0
Строить график не по абсолютным координатам, а по относительным, т.е. делать преобразование требуемых координат (xmin,...,ymax) в координаты поля вывода (у экрана, например, поле (10,10,470,630) ).
Производить расчет цвета пикселя для экранных координат (если делать "сжимаемый" график) - тогда нужно преобразовывать координаты экрана в координаты графика и считать
(достаточно сложные шаги)

Вынести формулу в отдельную функцию, примерно так:
Код:
function f(x,y:longint):longint;
begin
  f:=x+y;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 15.05.2012 в 22:03.
BDA вне форума Ответить с цитированием
Старый 16.05.2012, 19:25   #24
cote
Пользователь
 
Регистрация: 04.05.2012
Сообщений: 12
По умолчанию

нет вот так не пойдет
Код:
 z:=random(100)/(x+y)
else z:=random(100);
так как функция строго определена это:
Код:
 z:=(100)/(x+y)
пробовал так вычислять так цвет получяется либо тоже самое либо разноцветные полосо заполняющие всю область или по деагонали несколько цветных полос

Последний раз редактировалось cote; 16.05.2012 в 19:28.
cote вне форума Ответить с цитированием
Старый 16.05.2012, 19:52   #25
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Код:
 z:=100/(x+y)
else z:=100/0.00000000000000000000000000000000000000000001;
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функции двух переменных cote Помощь студентам 1 04.05.2012 20:46
График функции двух переменных в Delphi Беллая Помощь студентам 16 29.09.2010 20:16
Нахождение экстремума функции от двух переменных dekameron Помощь студентам 3 26.05.2010 08:16
Построить график произвольной функции HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 3 05.06.2009 23:55
Разработка программ с использованием функций. Табулирование функции одного и двух переменных кася Паскаль, Turbo Pascal, PascalABC.NET 5 07.05.2008 20:11