В данном разделе представлена программа, алгоритм которой описан в третьей главе.
1. |
Program Sred; |
2. |
uses Crt, Graph; |
3. |
Const |
4. |
dx=0.0001; |
5. |
u=1e9; |
6. |
a=25; |
7. |
var Внимание!
Если вам нужна помощь в написании работы, то рекомендуем обратиться к
профессионалам. Более 70 000 авторов готовы помочь вам прямо сейчас. Бесплатные
корректировки и доработки. Узнайте стоимость своей работы.
|
8. |
Gd,Gm,l,j,i:integer; |
9. |
e,de,x,f0,f,f1,f2,y:real; |
10. |
res:text; |
11. |
|
12. |
procedure graf (a:integer); |
13. |
Begin |
14. |
line(100, 100, 100, 500); |
15. |
line(450, 100, 450, 500); |
16. |
line(100, 350, 920, 350); |
17. |
line(275, 343, 275, 357); |
18. |
OuttextXY(915, 353,'X'); |
19. |
OuttextXY(272, 363,'0'); |
20. |
OuttextXY(89, 105,'F'); |
21. |
OuttextXY(454, 105,'F'); |
22. |
line(550, 100, 550, 500); |
23. |
line(900, 100, 900, 500); |
24. |
line(725, 343, 725, 357); |
25. |
OuttextXY(723, 363,'0'); |
26. |
OuttextXY(523, 105,'F*F'); |
27. |
OuttextXY(904, 105,'F*F'); |
28. |
end; |
29. |
begin |
30. |
assign(res,'out.txt'); |
31. |
rewrite(res); |
32. |
Gd := Detect; |
33. |
InitGraph(Gd, Gm, ''); |
34. |
if GraphResult <> grOk then Halt(1); |
35. |
graf(a); |
36. |
e:=-70; |
37. |
f0:=-1; |
38. |
y:=-0.9; |
39. |
for j:=1 to 5 do begin |
40. |
y:=y+1.5; |
41. |
e:=e+100; |
42. |
de:=10; |
43. |
f0:=-1*f; |
44. |
repeat |
45. |
x:=-a; |
46. |
f1:=1; |
47. |
f:=0; |
48. |
Repeat |
49. |
x:=x+dx; |
50. |
if abs(x)>a |
51. |
then |
52. |
f2:=dx*(u-e)*f |
53. |
else |
54. |
f2:=-dx*e*f; |
55. |
f1:=f1+f2*dx; |
56. |
f:=f+f1*dx; |
57. |
until (abs(f)>50)or(x>180); |
58. |
if (f>0)and(f0<0)or(f<0)and(f0>0) then |
59. |
begin |
60. |
e:=e-de; |
61. |
de:=de/10; |
62. |
f:=-f; |
63. |
end; |
64. |
f0:=f; |
65. |
e:=e+de; |
66. |
until (KeyPressed)or(de<1e-13); |
67. |
writeln(res,e:2:10); |
68. |
x:=-a; |
69. |
f1:=1; |
70. |
f:=0; |
71. |
Repeat |
72. |
for i:=1 to 200 do |
73. |
begin |
74. |
x:=x+dx; |
75. |
if abs(x)>a |
76. |
then |
77. |
f2:=dx*(u-e)*f |
78. |
else |
79. |
f2:=-dx*e*f; |
80. |
f1:=f1+f2*dx; |
81. |
f:=f+f1*dx; |
82. |
end; |
83. |
putpixel(275+round(x*7),350-round(f*10),j); |
84. |
putpixel(725+round(x*7), 350-round(f*f*y),j); |
85. |
writeln(res,x:2:3,' ',f:2:5,' ',f*f:2:5); |
86. |
until (abs(f)>50)or(x>180); |
87. |
end; |
88. |
readln; |
89. |
end. |
Поможем написать любую работу на аналогичную тему