Лабораторная работа: Создание расчетных приложений и программы поиска в базе данных в среде Delphi 7 0

Название: Создание расчетных приложений и программы поиска в базе данных в среде Delphi 7 0
Раздел: Рефераты по информатике
Тип: лабораторная работа

Министерство Образования Российской Федерации

Федеральное агентство по образованию

Южно-Уральский Государственный Университет

Кафедра «Технология машиностроения»

Создание расчетных приложений и программы поиска в базе данных в среде Delphi 7.0

Пояснительная записка к курсовой работе

по информатике

Выполнил: Ф.И.О.

группа МТ-ххх

Проверил: Выбойщик А.В.

Челябинск

2006


Аннотация

Фамилия И.О. (студента)

Создание расчетных приложений и программы поиска в базе данных в среде Delphi 7.0:

Пояснительная записка к курсовой работе по информатике

-Челябинск: ЮУрГУ,

2005. - 21 с.

В работе выполнено: 1. Блок-схемы

2. Тексты программ в Delphi и Паскаль

3. Выполнение разбиения таблицы

4. Текст программы поиска в базе данных

в среде Delphi 7.0


Содержание

Введение

Условия и блок-схемы задач

Текст программ в Delphi

Текст программ в Паскаль

Таблицы

Текст программы поиска в базе данных

Заключение

Библиографический справочник


Введение

В работе необходимо создать расчётные приложения задач и программу поиска в базе данных в среде BorlandDelphi 7.0 Enterprise


Задача №1. Линейные алгоритмы

10.9. Заданы высота конуса Н и радиус окружности, лежащий в основании R. Найти площадь поверхности конуса S

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

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

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

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




Задача №3.

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

cp = ai
p = p+1
bk = ai
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

Programkino5;

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.


Заключение

В работе выполнены блок-схемы задач, приведены листинги расчетных приложении. Приведено изготовление реляционной базы данных, а также листинг программы поиска в этой базе данных в среде BorlandDelphi 7.0 Enterprise.


Библиографический список

1. Обработка металлов резанием. Под ред. А.А Панова. М.: Машиностроение, 1988.

2. Галисеев Г. В. Программирование в среде Delphi 7. Самоучитель.

М.: Издательский дом «Вильямс», 2004.