Информация


Programm.ws - это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Графика

27. Напишите программу, которая на поверхности формы вы черчивает кривую Гильберта

Пример кривой Гиль берта пятого порядка приведен на рис. 1.23.

Рис. 1.22. Кривые Гильберта

Рис. 1.23. Кривая Гильберта пятого порядка

var
р: integer = 5; // порядок кривой
u: integer =7; // длина штриха{ Кривая Гильберта состоит из четырех соединенных
прямыми элементов: а, Ъ, с и б.
Каждый элемент строит соответствующая процедура. }
procedure a(i:integer; canvas: TCanvas); forward;
procedure b(i:integer; canvas: TCanvas); forward;
procedure c(i:integer; canvas: TCanvas); forward;
procedure d(i:integer; canvas: TCanvas); forward;// Элементы кривой
procedure a(i: integer; canvas: TCanvas);
begin
if i > 0 then begin
d(i-l, canvas);
canvas.LineTo(canvas.PenPos.X+u, canvas.PenPos.Y);
a (i-1, canvas);
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y+u);
a (i-1, canvas);
canvas.LineTo(canvas.PenPos.X-u, canvas.PenPos.Y);
с(i-1, canvas);
end;
end;procedure b(i: integer; canvas: TCanvas);
begin
if i > 0 then
begin
с (i-1, canvas);
canvas.LineTo(canvas.PenPos.X-u, canvas.PenPos.Y);
b(i-l, canvas);
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y-u);
b(i-l, canvas);
canvas.LineTo(canvas.PenPos.X+u,canvas.PenPos.Y);
d(i-l, canvas);
end;
end;procedure c(i: integer; canvas: TCanvas);
begin
if i > 0 then
begin
b(i-l, canvas);
canvas.LineTo(canvas.PenPos.X, canvas.PenPos.Y-u);
с(i-1, canvas) ;
canvas.LineTo(canvas.PenPos.X-u, canvas.PenPos.Y);
с(i-1, canvas);
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y+u);
a(i-1, canvas);
end;
end;
procedure d(i: integer; canvas: TCanvas);
begin
if i > 0 then
begin
a (i-1, canvas);
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y+u);
d(i-l, canvas);
canvas.LineTo(canvas.PenPos.X+u,canvas.PenPos.Y);
d(i-l, canvas);
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y-u);
b(i-l, canvas);
end;
end;// обработка события OnPaint
procedure TForml.FormPaint(Sender: TObject);
begin
Forml.Canvas.MoveTo(u,u);
a(5,Forml.Canvas); // вычертить кривую Гильберта
and;