Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Граффик функции


Автор: REVOLT 18.4.2006, 11:52
Уважаемые, извините меня, простите, нарушаю правила форума, но очень прошу вас мне помоць, была задачка нарисовать что либо в паскале, не кто не помог, но кто нить может поможет нарисовать граффик функции... Извините миня, просто я не месный, я к вам с раздела VB пришёл, просто понимаете эти колледжи им надо чтобы всё умели...

вот задача:

написать программу выводящюю на экран граффик функции y=d(cosX/X2) (икс под чертой дробью и он в квадрате) дискриминант принимает значение (-1,5    -1      -0,5     0       0,5     1    1,5)


Пысь: Ребятки хоть с это задачей помогите, я ведь уверен что есть люди которые шпрехают...
Просто не научил меня папка поскалю, потому шо сам не знает 

Автор: Alexeis 18.4.2006, 13:48
REVOLT, сам давно на turbo паскале не писал.Могу только посоветовать.
Там используется модуль Graph.
Подключается он uses Graph;
Заготовка минимальной програмы есть в хелпе по слову initGraph;
для инициализации используется именнно эта функция.

дальше все просто Line(x1, y1, x2, y2 : integer);
рисует линию от точки (x1, y1) до (x2, y2)
массив определяется так
var
  mas : array[1..maxNumber] of integer;
где 
maxNumber число элементов.

Округлять значения (на экран выводятся только integer) можно при помощи функции round();

цикл задается так
for i := 1 to maxNumber do

попробуй написать сам pascal в чем-то похож на VB
но учти что модуль graph может глючить на Селеронах да вобщем и на других процесорах.
Сам написать не могу компилятор удалил года 3 назад и больше с тех пор не писал ничего на turbo paskal. 

Автор: Ozzя 18.4.2006, 13:51
http://forum.pascal.net.ru/index.php?showtopic=2729&hl=график

Добавлено @ 13:55 
Цитата

но учти что модуль graph может глючить на Селеронах да вобщем и на других процесорах.

Это CRT глючит, с GRAPH такого нет. 

Автор: Alexeis 18.4.2006, 14:16
Ozzя, точно! 
но 
 CRT все равно нужен для readkey, потому что readln в графическом режиме не работает. я помню что графика таки не работала из-за чего-то 

Автор: Ozzя 18.4.2006, 14:33
Цитата

readln в графическом режиме не работает




Нормально отрабатывает.

Код

uses Graph;

var
 grDriver: Integer;
 grMode: Integer;
 ErrCode: Integer;
 a:string;
begin
 grDriver := Detect;
 InitGraph(grDriver, grMode,'c:\bp\bgi');
 ErrCode := GraphResult;
 if ErrCode = grOk then
 begin  { Do graphics }
   Line(0, 0, GetMaxX, GetMaxY);
   Readln(a);
   CloseGraph;
 end
 else
   Writeln('Graphics error:', GraphErrorMsg(ErrCode));
end.
  

Автор: Snowy 18.4.2006, 14:38
Цитата(alexeis1 @  18.4.2006,  14:16 Найти цитируемый пост)
readln в графическом режиме не работает

Работает. Просто ничего не отображается.
Даже пример в InitGraph использует ReadLn. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)