Пример курсовой работы по Delphi (Кафедра)
.pdf21
−ввод новых исходных данных и запись их в типизированный и текстовый файлы;
−чтение данных из тектового или типизированного файла с возможной корректировкой;
−ввод исходных данных с клавиатуры с последующим вычис- лением;
−чтение данных из тектового или типизированного файла с по- следующим вычислением;
−графический режим работы;
−помощь;
−получение сведений о программе;
−выход из программы с закрытием всех форм и приложений.
Рисунок 3.3 – Форма исходных данных
PDF created with pdfFactory Pro trial version www.pdffactory.com
22
Рисунок 3.4 – Форма вычислений
Рисунок 3.5- Форма резульатов вычислений
PDF created with pdfFactory Pro trial version www.pdffactory.com
23
Рисунок 3.6 – Форма графики
PDF created with pdfFactory Pro trial version www.pdffactory.com
24
4 СТРУКТУРА ПРОГРАММЫ
По предложенному в разделе 4 интерфейсу были разработаны 9 модулей (см. проект Приложении А). На рис.5.1 представлена структура программы.
Проект «Project_germ»
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Форма заставки при загрузке программы Form Titul и модуль Unit Titul |
|
|
|
Форма главного меню программы Form main и модуль Unit main |
|
Файл помощи HELP.HLP , разработанный не в Delphi |
|
|
Форма сведений о программе Form about и модуль Unit about |
|
Форма исходных данных Form New Data и модуль Unit New data |
Форма графики Form graph и модуль Unit graph |
|
Форма просмотра файлов Form view и модуль Unit view |
|
|
Форма просмотра результатов вычисления Form view result и модуль Unit view result |
|
Форма вычисления Form result и модуль Unit result |
|
Файл глобальных переменных, модуль 'Unit global |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
П О Д П Р О Г Р А М М Ы ( т а б л . 4 . 1 ) |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ 1-3 |
|
|
|
№ 4-22 |
|
|
|
|
№ 77-96 |
|
№ 23-24 |
№ 25-34 |
№ 35-36 |
№ 37-56 |
№ 57-76 |
|
№ 97-107 |
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
Таблица 4.1- Перечень всех подпрограмм проекта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
№ |
|
|
|
|
|
|
|
|
|
|
|
Подпрограмма |
|
|
|
|
|
|
|
|
|
|
|
|
|
Модуль |
|
|||||||||||||||||||||||
пп |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
1 |
|
|
|
procedure Timer1Timer(Sender: TObject); |
|
|
|
|
|
Unit_Titul |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
2 |
|
|
|
procedure Image1DblClick(Sender: TObject); |
|
|
|
|
|
Unit_Titul |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
3 |
|
|
|
procedure FormCreate(Sender: TObject); |
|
|
|
|
|
Unit_Titul |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
4 |
|
|
|
procedure N_newClick(Sender: TObject); |
|
|
|
|
|
Unit_main |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
5 |
|
|
|
procedure N_readClick(Sender: TObject); |
|
|
|
|
|
Unit_main |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
6 |
|
|
|
procedure N_prosmotrClick(Sender: TObject); |
|
|
|
|
|
Unit_main |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
7 |
|
|
|
procedure n_file_dataClick(Sender: TObject); |
|
|
|
|
|
Unit_main |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
8 |
|
|
|
procedure N_new_dataClick(Sender: TObject); |
|
|
Unit_main |
|
|
|
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com
25
Продолжение табл.4.1
1 |
2 |
3 |
9 |
procedure N_graphikaClick(Sender: TObject); |
Unit_main |
10 |
procedure N_aboutClick(Sender: TObject); |
Unit_main |
11 |
procedure N3Click(Sender: TObject); |
Unit_main |
12 |
procedure N_exitClick(Sender: TObject); |
Unit_main |
13 |
procedure ToolButton6Click(Sender: TObject); |
Unit_main |
14 |
procedure ToolButton4Click(Sender: TObject); |
Unit_main |
15 |
procedure ToolButton5Click(Sender: TObject); |
Unit_main |
16 |
procedure ToolButton7Click(Sender: TObject); |
Unit_main |
17 |
procedure ToolButton2Click(Sender: TObject); |
Unit_main |
18 |
procedure ToolButton3Click(Sender: Tobject); |
Unit_main |
19 |
procedure ToolButton1Click(Sender: TObject); |
Unit_main |
20 |
procedure ToolButton10Click(Sender: TObject); |
Unit_main |
21 |
procedure ToolButton9Click(Sender: TObject); |
Unit_main |
22 |
procedure FormCreate(Sender: TObject); |
Unit_main |
23 |
procedure OKButtonClick(Sender: TObject); |
Unit_about |
24 |
procedure FormCreate(Sender: TObject); |
Unit_about |
25 |
procedure ToolButton1Click(Sender: TObject); |
Unit_Graph |
26 |
procedure ToolButton2Click(Sender: TObject); |
Unit_Graph |
27 |
procedure mmhelpaClick(Sender: TObject); |
Unit_Graph |
28 |
procedure FormCreate(Sender: TObject); |
Unit_Graph |
29 |
procedure TB_exitClick(Sender: TObject); |
Unit_Graph |
30 |
procedure mmexitClick(Sender: TObject); |
Unit_Graph |
31 |
procedure N_risClick(Sender: TObject); |
Unit_Graph |
32 |
procedure N_newClick(Sender: TObject); |
Unit_Graph |
33 |
procedure ToolButton5Click(Sender: TObject); |
Unit_Graph |
34 |
procedure mmssaveClick(Sender: TObject); |
Unit_Graph |
35 |
procedure FormCreate(Sender: TObject); |
Unit_View |
36 |
procedure BitBtn1Click(Sender: TObject); |
Unit_View |
37 |
procedure BitBtn2Click(Sender: TObject); |
Unit_View_result |
38 |
procedure BitBtn1Click(Sender: TObject); |
Unit_View_result |
39 |
procedure Edit_x1Change(Sender: TObject); |
Unit_View_result |
40 |
procedure Edit_y1Change(Sender: TObject); |
Unit_View_result |
41 |
procedure Edit_x2Change(Sender: TObject); |
Unit_View_result |
42 |
procedure Edit_y2Change(Sender: TObject); |
Unit_View_result |
43 |
procedure Edit_x3Change(Sender: TObject); |
Unit_View_result |
44 |
procedure Edit_y3Change(Sender: TObject); |
Unit_View_result |
45 |
procedure Edit_x4Change(Sender: TObject); |
Unit_View_result |
46 |
procedure Edit_y4Change(Sender: TObject); |
Unit_View_result |
47 |
procedure Edit_ug1_degChange(Sender: TObject); |
Unit_View_result |
48 |
procedure Edit_ug1_minChange(Sender: TObject); |
Unit_View_result |
49 |
procedure Edit_ug1_secChange(Sender: TObject); |
Unit_View_result |
PDF created with pdfFactory Pro trial version www.pdffactory.com
26
Продолжение табл.4.1
1 |
2 |
3 |
50 |
procedure Edit_ug2_degChange(Sender: TObject); |
Unit_View_result |
51 |
procedure Edit_ug2_ minChange(Sender: TObject); |
Unit_View_result |
52 |
procedure Edit_ug2_secChange(Sender: TObject); |
Unit_View_result |
53 |
procedure Edit_ug3_degChange(Sender: TObject); |
Unit_View_result |
54 |
procedure Edit_ug3_minChange(Sender: TObject); |
Unit_View_result |
55 |
procedure Edit_ug3_secChange(Sender: TObject); |
Unit_View_result |
56 |
procedure FormCreate(Sender: TObject); |
Unit_View_result |
57 |
procedure FormCreate(Sender: TObject); |
Unit_result |
58 |
procedure BitBtn2Click(Sender: TObject); |
Unit_result |
59 |
procedure BitBtn1Click(Sender: TObject); |
Unit_result |
60 |
procedure Edit_x1Change(Sender: TObject); |
Unit_result |
61 |
procedure Edit_y1Change(Sender: TObject); |
Unit_result |
62 |
procedure Edit_x2Change(Sender: TObject); |
Unit_result |
63 |
procedure Edit_y2Change(Sender: TObject); |
Unit_result |
64 |
procedure Edit_x3Change(Sender: TObject); |
Unit_result |
65 |
procedure Edit_y3Change(Sender: TObject); |
Unit_result |
66 |
procedure Edit_x4Change(Sender: TObject); |
Unit_result |
67 |
procedure Edit_y4Change(Sender: TObject); |
Unit_result |
68 |
procedure Edit_ug1_degChange(Sender: TObject); |
Unit_result |
69 |
procedure Edit_ug1_minChange(Sender: TObject); |
Unit_result |
70 |
procedure Edit_ug1_secChange(Sender: TObject); |
Unit_result |
71 |
procedure Edit_ug2_degChange(Sender: TObject); |
Unit_result |
72 |
procedure Edit_ug2_minChange(Sender: TObject) |
Unit_result |
73 |
procedure Edit_ug2_secChange(Sender: TObject); |
Unit_result |
74 |
procedure Edit_ug3_degChange(Sender: TObject); |
Unit_result |
75 |
procedure Edit_ug3_minChange(Sender: TObject); |
Unit_result |
76 |
procedure Edit_ug3_secChange(Sender: TObject); |
Unit_result |
77 |
procedure FormCreate(Sender: TObject); |
Unit_New_Data |
78 |
procedure BitBtn2Click(Sender: TObject); |
Unit_New_Data |
79 |
procedure BitBtn1Click(Sender: TObject); |
Unit_New_Data |
80 |
procedure Edit_x1Change(Sender: TObject); |
Unit_New_Data |
81 |
procedure Edit_y1Change(Sender: TObject); |
Unit_New_Data |
82 |
procedure Edit_x2Change(Sender: TObject); |
Unit_New_Data |
83 |
procedure Edit_y2Change(Sender: TObject); |
Unit_New_Data |
84 |
procedure Edit_x3Change(Sender: TObject); |
Unit_New_Data |
85 |
procedure Edit_y3Change(Sender: TObject); |
Unit_New_Data |
86 |
procedure Edit_x4Change(Sender: TObject); |
Unit_New_Data |
87 |
procedure Edit_y4Change(Sender: TObject); |
Unit_New_Data |
88 |
procedure Edit_ug1_degChange(Sender: TObject); |
Unit_New_Data |
89 |
procedure Edit_ug1_minChange(Sender: TObject); |
Unit_New_Data |
90 |
procedure Edit_ug1_secChange(Sender: TObject); |
Unit_New_Data |
PDF created with pdfFactory Pro trial version www.pdffactory.com
27
Продолжение табл.4.1
1 |
2 |
3 |
91 |
procedure Edit_ug2_degChange(Sender: TObject); |
Unit_New_Data |
92 |
procedure Edit_ug2_secChange(Sender: TObject); |
Unit_New_Data |
93 |
procedure Edit_ug2_minChange(Sender: TObject); |
Unit_New_Data |
94 |
procedure Edit_ug3_degChange(Sender: TObject); |
Unit_New_Data |
95 |
procedure Edit_ug3_minChange(Sender: TObject); |
Unit_New_Data |
96 |
procedure Edit_ug3_secChange(Sender: TObject); |
Unit_New_Data |
97 |
function DIR_UG(XA,YA,XB,YB:double):real; |
Unit_Global |
98 |
function deg_rad(deg,min,sec:integer):real; |
Unit_Global |
99 |
Procedure rad_deg(UG:real;var deg,min,sec:integer); |
Unit_Global |
100 |
Function ctg(deg,min,sec:integer):real; |
Unit_Global |
101 |
Procedure X_Y(x1,y1,x2,y2:double; |
Unit_Global |
|
deg,min,sec:integer;var x,y:double); |
|
102 |
Procedure X_Y2(x1,y1,x2,y2:double; |
Unit_Global |
|
deg,min,sec:integer;var x,y:double); |
|
103 |
Procedure kontrol(deg1,min1,sec1,deg2,min2, |
Unit_Global |
|
sec2:integer; x1,y1,x2,y2,xa,ya,xb,yb,xc,yc: double; |
|
|
var xb_xa,xc_xb,ya_yb,yb_yc:double) ; |
|
104 |
Function tg_bm(x1,y1,x2,y2:double):real; |
Unit_Global |
105 |
Procedure X_Y_m(s1:real;xb,yb:double;a:real;var |
Unit_Global |
|
x,y:double); |
|
106 |
Function ctg_bm(x1,y1,x2,y2:double):real; |
Unit_Global |
107 |
Function s(x,y,xb,yb:double;a:real):real; |
Unit_Global |
PDF created with pdfFactory Pro trial version www.pdffactory.com
28
5 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ О ПРИМЕНЯЕМЫХ ОПЕРАТОРАХ И МЕТОДАХ
При написании программы были применены компоненты из палитр Standard, Additional, Dialogs,Win 3.1, Win 32.
Некоторые свойства компоненты остались такими, как предлагалось по умолчанию. Однако ряд свойств все-же изменялся. В табл.Д.1 приведены ком- поненты, свойства которых изменялимь в процессе программирования. В табл.д.2 приведено лишь несколько компонент с окончательными значениями их свойств.
PDF created with pdfFactory Pro trial version www.pdffactory.com
29
6 ТЕСТИРОВАНИЕ ПРОГРАММЫ
При написании программы каждый этап неоднократно тестировался (проверялись все возможные исключительные ситуации, которые могли бы привести к сбою в работе). Для тестирования было подготовлено три примера (см. Приложение Е), которые расчитывались в MathCad. Кроме того, оконча- тельные значения координат точки были известны заранее.
После создания программного продукта были аппробированы все пункти меню, все промежуточные значения ввычислительного процесса проверялись с тестовыми примерами. Результаты вычислений в прогрмаа фиксировались в файл вычислений. По тестовым примерам было получено три файла.
Содержимое тектового файла на пример 1: b1=ctg(beta1) -0.224631
Результаты вычислений: b2=ctg(beta2) 0.705560 X1=XA+(YA-YB)*b1 7978.861 Y1=YA+(XB-XA)*b1 6500.753 X2=XC+(YB-YC)*b2 8270.034 Y2=YC+(XC-XB)*b2 3513.018
Контроль правильности вычислений X1,Y1,X2,Y2
XB-XA= -2156.480 |
XB-XA= -2156.480 |
||
XC-XB= 1099.690 |
XC-XB= 1099.690 |
||
YA-YB= 2008.040 |
YA-YB= 2008.040 |
||
YB-YC= 1271.180 |
YB-YC= 1271.180 |
||
Вычисление a,c |
|
||
a=tg(BM) |
a=0.097456 |
||
c=ctg(BM) |
c=10.261033 |
||
Вычисления s1,s2 |
|
||
s1= |
1948.316 |
|
|
s2= |
1948.316 |
|
Вычисление координат точки M
PDF created with pdfFactory Pro trial version www.pdffactory.com
30
XM= |
8203.436 |
|
|
|
YM= |
4196.389 |
|
|
|
Dir_ugol(MD)= |
350 4621 |
|
||
Dir_ugol(MC)= |
240 21 39 |
|
||
Вычисленный beta3= |
110 24 41 |
|||
Исходный beta3= |
110 24 48 |
|||
beta3_исх-beta3_выч= |
0 0 |
7 |
||
Доп. значение |
= 0 0 15 |
|
Графическое представление засечки показано на рис.6.1
Рисунок 6.1- Схема засечки 1, полученная в режиме графики программы
Содержимое тектового файла на пример 2: b1=ctg(beta1) 2.111011
Результаты вычислений: b2=ctg(beta2) 1.374980 X1=XA+(YA-YB)*b1 7403.409
PDF created with pdfFactory Pro trial version www.pdffactory.com