The program was compiled on Pascal ABC NET uses graphABC Подключение г

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/////////////////// The program was compiled on Pascal ABC .NET //////////////////////////////////
uses
graphABC;// Подключение графического модуля
var
intr_y, intr_x, x, scale_x, unit_intr: real; // var.
x0, y0, scale_y, counter1: integer;
sign: string;
a: real; //+a
//test: real;
begin
///
//находим точку пересечения осей
x0 := windowwidth div 2; //center
y0 := windowheight div 2; //center
a := 0.022; // a -var (readln)
//readln(a); -- ввод2
intr_y := -2 * pi; //intry
intr_x := 2 * pi; //intrx
scale_x := (x0 - 30) / intr_x; // scale1 (ось x)
scale_y := y0 - 40; // scale (ось y)
line(0, y0, windowwidth, y0); //рисуем оси
line(x0, 0, X0, windowheight);
line(x0 - 3, y0 + scale_y, x0 + 3, y0 + scale_y);
textout(x0 - 15, y0 + scale_y, '-1');
line(x0 - 3, y0 - scale_y, x0 + 3, y0 - scale_y);
textout(x0 - 15, y0 - scale_y, '1');
for counter1 := 1 to 7 do // генератор палочек на осях
begin
line(x0 + round(counter1 * scale_x), y0 - 3, x0 + round(counter1 * scale_x), Y0 + 3); // На оси Ox
line(x0 - round(counter1 * scale_x), y0 - 3, x0 - round(counter1 * scale_x), Y0 + 3); // На оси Oy
str(counter1, sign);
// Подписи под палочками
textout(x0 + round(counter1 * scale_x) - 15, y0 + 10, sign); // На Ox
textout(x0 - round(counter1 * scale_x), y0 + 10, '-' + sign); // На Oy
end;
// Подпись точки О
textout(x0 + 5, y0 + 10, '0');
// Подписи самих осей
textout(windowwidth - 10, y0 - 10, 'X');
textout(x0 - 10, 10, 'Y');
// Генерируем сам график
x := intr_y; ///.
//writeln (intr_y);
///readln(intr_y);
unit_intr := 0.001; //единичный отрезок (график)
while x <= intr_x do
begin
x := x + unit_intr; /// наращивание X
setpixel(x0 + round(x * scale_x), y0 - round((x) / (x + a) * scale_y), clGreen); // рисуем линию графика (green color)
end;
end.