Сообщение было отмечено Памирыч как решение
Решение
Программы написаны на PascalABC.
Сообщение от Meteorka
1) Составить программу построения графика функции, заданной параметрически:
улитка Паскаля
x = a cos2t + b cos t,
y = a cos t sin t + b sin t, где a>0, b>0, t принадлежит [0, 2pi)
Pascal | 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
| program EvgeniiSp;
uses GraphABC, Events;
//------- Solution_y ------//
function Solution_y(a,b,t: real): real;
begin
result:=a*cos(t)*sin(t)+b*sin(t); // yyyyy
end;
//------- Solution_x ------//
function Solution_x(a,b,t: real): real;
begin
result:=a*sqr(cos(t))+b*cos(t); // xxxxx
end;
//-------- Drawing_graph ------//
procedure Drawing_graph(color: integer);
const
a = 2;
b = 3;
dt = 0.05; tn = 0; tk = 2.1*pi;
var
ww,wh,xs,ys: integer;
x,y,ymax,xmax,t: real;
//------- Conversion_y ------//
function LogicToScreen_y(y: real): real;
begin
result:=(wh div 2)*y/ymax;
end;
//------- Conversion_x ------//
function LogicToScreen_x(x: real): real;
begin
result:=(ww div 2)*x/xmax;
end;
begin
y:=0;
SetPenWidth(1);
ww:=WindowWidth-50;
wh:=WindowHeight-50;
SetPenColor(clGray);
TextOut((ww div 2)-10,(wh div 2)+4,'0');
moveTo(0,wh div 2);
lineTo(ww+50,wh div 2);
TextOut(ww-12+50,(wh div 2)+3,'X');
moveTo(ww div 2,0);
lineTo(ww div 2,wh+50);
TextOut((ww div 2)+5,3,'Y');
//-------------------------
t:=tn;
ymax:=0;
xmax:=0;
while t <= tk do
begin
y:=Solution_y(a,b,t);
x:=Solution_x(a,b,t);
if abs(y) > ymax then ymax:=abs(y);
if abs(x) > xmax then xmax:=abs(x);
t:=t+dt;
end;
//-------------------------
t:=tn;
SetPenWidth(1);
SetPenColor(color);
while t <= tk do
begin
y:=Solution_y(a,b,t);
x:=Solution_x(a,b,t);
ys:=Round(LogicToScreen_y(y));
xs:=Round(LogicToScreen_x(x));
if t = tn then moveTo((ww div 2)+xs,(wh div 2)-ys)
else lineTo((ww div 2)+xs,(wh div 2)-ys);
t:=t+dt;
end;
Redraw;
end;
//-------- Resize ------//
procedure Resize;
begin
ClearWindow;
Drawing_graph(clRed);
Redraw;
end;
begin
SetWindowCaption('Ãðàôèê ôóíêöèè.');
SetWindowSize(700,500);
LockDrawing;
CenterWindow;
Drawing_graph(clRed);
OnResize:=Resize;
end. |
|
Сообщение от Meteorka
2)Составить программу построения графика функции:
y = 1/x;
Pascal | 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| program EvgeniiSp;
uses GraphABC, Events;
//------- Solution ------//
function Solution(x: real): real;
begin
result:=1/abs(x); // åñëè õn - îòðàöèòåëåí, òî áðàòü abs(x);
end;
//-------- Drawing_graph ------//
procedure Drawing_graph(color: integer);
const
dx = 0.1; xn = 1; xk = 50;
var
ww,wh,xs,ys: integer;
x,y,ymax,xmax: real;
//------- Conversion_y ------//
function LogicToScreen_y(y: real): real;
begin
result:=(wh div 2)*y/ymax;
end;
//------- Conversion_x ------//
function LogicToScreen_x(x: real): real;
begin
result:=(ww div 2)*x/xmax;
end;
begin
y:=0;
SetPenWidth(1);
ww:=WindowWidth;
wh:=WindowHeight;
SetPenColor(clGray);
TextOut((ww div 2)-10,(wh div 2)+4,'0');
moveTo(0,wh div 2);
lineTo(ww,wh div 2);
TextOut(ww-12,(wh div 2)+3,'X');
moveTo(ww div 2,0);
lineTo(ww div 2,wh);
TextOut((ww div 2)+5,3,'Y');
//-------------------------
x:=xn;
ymax:=0;
xmax:=0;
while x <= xk do
begin
y:=Solution(x);
if abs(y) > ymax then ymax:=abs(y);
if abs(x) > xmax then xmax:=abs(x);
x:=x+dx;
end;
//-------------------------
x:=xn;
SetPenWidth(1);
SetPenColor(color);
while x <= xk do
begin
y:=Solution(x);
ys:=Round(LogicToScreen_y(y));
xs:=Round(LogicToScreen_x(x));
if x = xn then moveTo((ww div 2)+xs,(wh div 2)-ys)
else lineTo((ww div 2)+xs,(wh div 2)-ys);
x:=x+dx;
end;
Redraw;
end;
//-------- Resize ------//
procedure Resize;
begin
ClearWindow;
Drawing_graph(clRed);
Redraw;
end;
begin
SetWindowCaption('Ãðàôèê ôóíêöèè.');
SetWindowSize(700,500);
LockDrawing;
CenterWindow;
Drawing_graph(clRed);
OnResize:=Resize;
end. |
|
Сообщение от Meteorka
4) «База данных». Составить программу, которая создает и обрабатывает базу данных о
товарах на складе;
кинофильмах;
факультетах университета;
сотрудниках фирмы.
как программа должна обрабатывать эту базу данных?
1
|