Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пример курсовой работы по Delphi (Кафедра)

.pdf
Скачиваний:
70
Добавлен:
06.02.2016
Размер:
870.51 Кб
Скачать

21

ввод новых исходных данных и запись их в типизированный и текстовый файлы;

чтение данных из тектового или типизированного файла с возможной корректировкой;

ввод исходных данных с клавиатуры с последующим вычис- лением;

чтение данных из тектового или типизированного файла с по- следующим вычислением;

графический режим работы;

помощь;

получение сведений о программе;

выход из программы с закрытием всех форм и приложений.

Рисунок 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