Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

CPPASCAL

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

program grafick;
 
 
uses Crt,Graph;
 
type TFunction=function(x:real):real;
 
Const Scale=80.0;
var cx,cy, { to4ka ots4eta }
mx,my: integer; { maximum X Y }
 
function InitGraphics: integer;
Var grDriver, grMode : Integer;
begin
grDriver:=Detect;
InitGraph(grDriver, grMode, '..\bgi');
InitGraphics:=GraphResult;
end;
 
function CoordX(X: real): integer;
begin
CoordX:=cx+Trunc(X*Scale);
end;
 
function CoordY(Y: real): integer;
begin
CoordY:=cy-Trunc(Y*Scale);
end;
 
function MyVeryCoolFunction(v:real):real; Far;
begin
MyVeryCoolFunction:=v*v*v;
end;
 
procedure PlotAxis;
begin
SetColor(LightBlue);
Line(0,cy,mx,cy);
Line(cx,0,cx,my);
end;
 
procedure DrawGraph(PF: Pointer; a,b: real);
var F: TFunction;
temp,
Step,
x,y,
Minimum,Maximum: real;
 
 
begin
@F:=PF;
 
 
if a=b then begin
putpixel(CoordX(a),CoordX(F(a)),Yellow);
exit
end;
if a>b then begin
temp:=a;
a:=b;
b:=temp;
end;
 
Step:=(b-a)/(MX+1)*1.0;
 
Minimum:=F(a);
Maximum:=Minimum;
x:=a;
MoveTo(CoordX(x),CoordY(F(x)));
SetColor(Yellow);
 
 
while x<=b do begin
 
x:=x+Step;
y:=F(x);
LineTo(CoordX(x),CoordY(y));
if Minimum<y then Minimum:=y;
if Maximum>y then Maximum:=y;
end;
 
end;
 
begin
if InitGraphics<>grOK then Exit;
 
MX := GetMaxX;
MY := GetMaxY;
CX := MX div 2;
CY := MY div 2;
 
PlotAxis;
 
DrawGraph(@MyVeryCoolFunction,-1,10);
 
readkey;
CloseGraph;
end.

Всего записей: 21 | Зарегистр. 18-12-2007 | Отправлено: 23:51 12-03-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru