Министерство Образования Российской Федерации
Федеральное агентство по образованию
Южно-Уральский Государственный Университет
Кафедра «Технология машиностроения»
Создание расчетных приложений и программы поиска в базе данных в среде
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.
|
|
|
|
Задача
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.