Создание расчетных приложений и программы поиска в базе данных в среде Delphi 7.0
Министерство
Образования Российской Федерации
Федеральное
агентство по образованию
Южно-Уральский
Государственный Университет
Кафедра
«Технология машиностроения»
Создание
расчетных приложений и программы поиска в базе данных в среде Delphi 7.0
Пояснительная
записка к курсовой работе
по
информатике
Выполнил:
Ф.И.О.
группа
МТ-ххх
Проверил:
Выбойщик А.В.
Челябинск
2006
Аннотация
Фамилия И.О.
(студента)
Создание
расчетных приложений и программы поиска в базе данных в среде Delphi 7.0:
Пояснительная
записка к курсовой работе по информатике
-Челябинск:
ЮУрГУ,
2005. - 21 с.
В работе
выполнено: 1. Блок-схемы
2.
Тексты программ в Delphi и Паскаль
3.
Выполнение разбиения таблицы
4.
Текст программы поиска в базе данных
в
среде Delphi 7.0
Содержание
Введение
Условия и
блок-схемы задач
Текст программ в Delphi
Текст программ в
Паскаль
Таблицы
Текст программы
поиска в базе данных
Заключение
Библиографический
справочник
Введение
В работе
необходимо создать расчётные приложения задач и программу поиска в базе данных
в среде Borland Delphi 7.0 Enterprise
Задача
№1. Линейные алгоритмы
10.9. Заданы
высота конуса Н и радиус окружности, лежащий в основании R. Найти площадь поверхности конуса S
№2.
Ветвящиеся алгоритмы
20.13. Задано
каноническое уравнение поверхности 2 порядка
Определить,
является ли эта поверхность однополостным гиперболоидом.
Если условие
выполняется, вывести N=1, в противном случае
вывести N=0.
Задача
№3.
Алексеев В.Е.
№1.49 в) Задан массив (Х1, Х2, ….., Х50). Требуется переписать положительные
элементы массива Х подряд в массив Y, а отрицательные – подряд в массив Z.
Задача 1
procedure
TForm4.Button1Click(Sender: TObject);
const pi=3.14;
var H,R,S: real;
begin
H:=StrToFloat(Trim(MaskEdit1.Text));
R:=StrToFloat(Trim(MaskEdit2.Text));
S:=pi*R*(R+SQRT(SQR(H)+SQR(R)));
MaskEdit3.Text:=FloatToStr(S);
Memo1.Lines.Add('площадь поверхности конуса S равна'
+MaskEdit3.Text);
end;
Задача 2
procedure
TForm5.Button1Click(Sender: TObject);
var n,a,b,c:Real;
var M:Boolean;
begin
n:=StrToFloat(Trim(MaskEdit1.Text));
a:=StrToFloat(Trim(MaskEdit2.Text));
b:=StrToFloat(Trim(MaskEdit3.Text));
c:=StrToFloat(Trim(MaskEdit4.Text));
if trunc(n/2)+2=n
THEN
M:=True
ELSE
M:=False;
MaskEdit5.Text:=boolToStr(M);
Memo1.Lines.Add('Если
M=1, то это однополостный гиперболоид, в противном случае нет'
+MaskEdit5.Text);
end;
Задача 3
// Ввод массива
procedure
TForm6.Button1Click(Sender: TObject);
var k, p, i: Integer;
begin
k:=0;
StringGrid2.colCount:=k+1;
p:=0;
StringGrid3.colCount:=p+1;
for i:=1 to
StringGrid1.ColCount - 1 do
if
STrToFloat(StringGrid1.Cells[i,1]) >0 then
begin
k:=k+1;
StringGrid2.colCount:=k+1;
StringGrid2.Cells[k,1]:=
FloatToStr(StrToFloat(StringGrid1.Cells[i,1]))
end
else
begin
p:=p+1;
StringGrid3.colCount:=p+1;
StringGrid3.Cells[p,1]:=
FloatToStr(StrToFloat(StringGrid1.Cells[i,1]));
end;
for i:=1 to
StringGrid3.ColCount-1 do
StringGrid3.Cells[i,0]:='Z'+'['+Inttostr(i)+'
]';
for i:=1 to
StringGrid2.ColCount-1 do
StringGrid2.Cells[i,0]:='Y'+'['+Inttostr(i)+'
]';
end;
procedure
TForm6.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#8, '0'
.. '9' , '-' , ',' ]) then key:=#0;
end;
// Решение задачи
procedure
TForm6.Button2Click(Sender: TObject);
var i : Integer;
begin
StringGrid1.ColCount:=SpinEdit1.Value+1;
for i:=1 to
StringGrid1.ColCount-1 do
StringGrid1.Cells[i,0]:='X'+'['+Inttostr(i)+'
]';
end;
Текст программ в
Паскаль
Задача 1
Program kino5;
const pi=3.14;
var H,R,S real;
{H-высота конуса
R-радиус
окружности
S-площадь
поверхности конуса}
begin
read ln(H,R);
S:=pi*R*(R+SQRT(SQR(H)+SQR(R)));
writeln('S=',S);
end.
Задача 2
Program kino5;
var n,a,b,c:Real;
var M:Boolean
begin
real ln(n,a,b,c);
if trunc(n/2)+2=n
M:=True
ELSE
M:=False;
writeln('M=',M);
end.
Задача
3
Var
A: avray[1..50] f Real;
var k:Integer;
var p:Integer;
var i:Integer;
var b,c:avray[1..50] of
Real;
begin
k:=0;
p:=0
for i:=0 to 50 do
if A[i]>0 then
begin
Inc(R);
b[k]:=A[i];
end
else
begin
Inc(p);
c[p]:=A[i];
end;
for i:=1 to k do
Writeln (b[i]);
for i:=1 to p do
Writeln(c[i]);
end.
Таблицы
Таблица 1
скорость детали V мм\мин, не более
|
СТАЛЬ
|
ЧУГУН
|
поперечная подача на оборот стола
S, мм\об, не более
|
1,2
|
1,8
|
3,2
|
5
|
7,5
|
11
|
16
|
1,8
|
3,2
|
5
|
7,5
|
11
|
6,3
|
0,007
|
0,006
|
0,005
|
0,0045
|
0,004
|
0,0035
|
0,003
|
0,012
|
0,009
|
0,007
|
0,006
|
0,005
|
8
|
6
|
5
|
45
|
4
|
35
|
3
|
0,0025
|
0,01
|
8
|
6
|
5
|
0,0045
|
10
|
5
|
45
|
4
|
35
|
3
|
25
|
-
|
0,008
|
7
|
5
|
45
|
4
|
12
|
45
|
4
|
35
|
3
|
25
|
-
|
-
|
7
|
6
|
45
|
4
|
3
|
16
|
4
|
35
|
3
|
25
|
-
|
-
|
-
|
6
|
5
|
4
|
3
|
-
|
20
|
35
|
3
|
25
|
-
|
-
|
-
|
-
|
5
|
4
|
3
|
-
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 2
Code_metod
|
S
|
V
|
X
|
1
|
1,2
|
6,3
|
0,007
|
1
|
1,8
|
6,3
|
0,006
|
1
|
3,2
|
6,3
|
0,005
|
1
|
5
|
6,3
|
0,0045
|
1
|
7,5
|
6,3
|
0,004
|
1
|
11
|
6,3
|
0,0035
|
1
|
16
|
6,3
|
0,003
|
1
|
1,2
|
8
|
6
|
1
|
1,8
|
8
|
5
|
1
|
3,2
|
8
|
45
|
1
|
5
|
8
|
4
|
1
|
7,5
|
8
|
36
|
1
|
11
|
8
|
3
|
1
|
16
|
8
|
0,0025
|
1
|
1,2
|
10
|
5
|
1
|
1,8
|
10
|
45
|
1
|
3,2
|
10
|
4
|
1
|
5
|
10
|
35
|
1
|
7,5
|
10
|
1
|
11
|
10
|
25
|
1
|
1,2
|
12
|
45
|
1
|
1,8
|
12
|
4
|
1
|
3,2
|
12
|
35
|
1
|
5
|
12
|
3
|
1
|
7,5
|
12
|
25
|
1
|
1,2
|
16
|
4
|
1
|
1,8
|
16
|
35
|
1
|
3,2
|
16
|
3
|
1
|
5
|
16
|
25
|
1
|
1,2
|
20
|
35
|
1
|
1,8
|
20
|
3
|
1
|
3,2
|
20
|
25
|
2
|
1,8
|
6,3
|
0,012
|
2
|
3,2
|
6,3
|
0,009
|
2
|
5
|
6,3
|
0,007
|
2
|
7,5
|
6,3
|
0,006
|
2
|
11
|
6,3
|
0,005
|
2
|
1,8
|
8
|
0,01
|
2
|
3,2
|
8
|
8
|
2
|
5
|
8
|
6
|
2
|
7,5
|
8
|
5
|
2
|
11
|
8
|
0,0045
|
2
|
1,8
|
10
|
0,008
|
2
|
3,2
|
10
|
7
|
2
|
5
|
10
|
5
|
2
|
7,5
|
10
|
45
|
2
|
11
|
10
|
4
|
2
|
1,8
|
12
|
7
|
2
|
3,2
|
12
|
6
|
2
|
5
|
12
|
45
|
2
|
7,5
|
12
|
4
|
2
|
11
|
12
|
3
|
2
|
1,8
|
16
|
6
|
2
|
3,2
|
16
|
5
|
2
|
5
|
16
|
4
|
2
|
7,5
|
16
|
3
|
2
|
1,8
|
20
|
5
|
2
|
3,2
|
20
|
4
|
2
|
5
|
20
|
3
|
Кодирование
материала:
Таблица 3
Mater
|
Code_ metod
|
Сталь
|
1
|
Чугун
|
2
|
Текст
программы поиска в базе данных в среде Delphi 7.0
procedure
TForm2.Button1Click(Sender: TObject);
var x1,res:variant;
label 1,2,3,4,5;
begin
x1:=TableMater.Lookup('Mater',DBComboBox1.Text,'Code_metod');
TableX.First;
While not TableX.EOF do
1: if
x1=TableX.FieldByName('Code_metod').AsInteger then
2: if
strtofloat(Trim(MaskEdit1.Text))<=TableX.FieldByName('S').AsFloat then
3: if
strtofloat(Trim(MaskEdit2.Text))<=TableX.FieldByName('V').AsFloat then
begin
res:=TableX.Lookup('Code_metod;S;V',
VarArrayOf([x1, TableX.FieldByName('S').Asfloat,
TableX.FieldByName('V').AsFloat]), 'X');
goto 5;
end
else
begin
TableX.Next;
goto 3;
end
else
begin
TableX.Next;
goto 2;
end
else
begin
TableX.Next;
goto 1;
end;
5: Maskedit3.Text:=res;
end;
end.
Заключение
В работе
выполнены блок-схемы задач, приведены листинги расчетных приложении. Приведено
изготовление реляционной базы данных, а также листинг программы поиска в этой
базе данных в среде Borland Delphi 7.0 Enterprise.
Библиографический
список
1. Обработка
металлов резанием. Под ред. А.А Панова. М.: Машиностроение, 1988.
2. Галисеев Г. В.
Программирование в среде Delphi 7. Самоучитель.
М.: Издательский
дом «Вильямс», 2004.