Создание расчетных приложений и программы поиска в базе данных в среде 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



Конец



р, H, R

S =  рR(R+)

S

Начало





	№2. Ветвящиеся алгоритмы

	

	20.13. Задано каноническое уравнение поверхности 2 порядка 

	Определить, является ли эта поверхность однополостным гиперболоидом.

	Если условие выполняется, вывести N=1, в противном случае вывести N=0.

	


Начало



	

	

	

n, a, b, c

	

	

	

2=n

M=1

M=0

M

Да

Нет

	

Конец







Задача №3.



Алексеев В.Е. №1.49 в) Задан массив (Х1, Х2, ….., Х50). Требуется переписать положительные элементы массива Х подряд в массив Y, а отрицательные – подряд в массив Z.





B(k); C(p)

cp = ai

p = p+1

bk = ai

Начало



А(50)

k=0

p=0

i = 1;50 





ai > 0





Конец







k = k+1



		

	

	

	

	
Задача 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

3

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.