Олимпиадная задача. Построение прямой линии
Категория: Delphi/Pascal
2011-12-20 21:24:18
На экране даны 2 точки с произвольными координатами. Составить программу, которая строит между ними прямую линию, не используя при этом графические функции LINE, DRAW и т. п. Строить изображение точками.
code: #pascal
uses graph; var gd,gm: Integer; procedure _Line(x1,y1,x2,y2: integer); var x,y,h: integer; k: double; begin x:=0; y:=0; h:=1; {шаг между точками по X} k:=(y2-y1)/(x2-x1); {угловой коэффициент линии} while (x1+x) <= x2 do begin PutPixel(x1+x,y1+y,white); x:=x+h; y:=round(k*x); end; end; begin gd:=Detect; InitGraph(gd,gm,'c:\bp\bgi'); if GraphResult <> grOk then halt; _Line(50,50,400,200); readln; CloseGraph; end.
автор: _Dmitry
Поделиться: