50234 (Объектно-ориентированная разработка программ), страница 3
Описание файла
Документ из архива "Объектно-ориентированная разработка программ", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50234"
Текст 3 страницы из документа "50234"
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses Tugol, parray, colorshape;
{ TForm1 }
procedure TForm1.Button1Click(Sender: Tobject);
begin
Form1.Hide; // закрыть объект 1
Form2.ShowModal; // открыть объект 2
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Hide;
Form3.ShowModal; // открыть объект 3
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Hide;
Form4.ShowModal; // открыть объект 4
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Form1.Close; // закрыть объект 1
end;
initialization
{$I tmain.lrs}
end.
unit Tugol;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: char);
procedure Edit2KeyPress(Sender: TObject; var Key: char);
procedure Edit3KeyPress(Sender: TObject; var Key: char);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
implementation
uses tmain;
{ TForm2 }
procedure TForm2.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
Form1.Show;
end;
procedure TForm2.Button1Click(Sender: TObject);
var a,b,c,max,min,srd:integer; //переменные для сторон прямоугольника и вычислений
begin
// преобразование строковых значений в числовые
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
c:=StrToInt(Edit3.Text);
//Находим максимальную по длине стророну
max:=a;
if b>max then max:=b;
if c>max then max:=c;
// Находим минимальную по длине сторону
min:=a;
if b if c // Находим среднию по длине сторону srd:=a+b+c-min-max; if (sqr(max)=sqr(srd)+sqr(min)) then //Проверяем теорему Пифагора a2 + b2 = c2 Showmessage('Это прямоугольный треугольник!' +' Стороны в порядке возрастания их длины: ' +IntToStr(min)+' ' +IntToStr(srd)+' ' +IntToStr(max)) else ShowMessage('Это не может быть прямоугольный треугольник!'); end; procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: char); begin case key of '0'..'9': ; //можно вводить только цифры ',': ; //или дробный числа #8 : ; // клавиша Back Space #13 : Edit2.SetFocus ; // клавиша Enter, и переход на другое окно ввода // Остальные символы - запрещены ! else key := Chr(0); // запрещаем отображать символ end; end; procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: char); begin case key of '0'..'9': ; //можно вводить только цифры ',': ; //или дробный числа #8 : ; // клавиша Back Space #13 : Edit3.SetFocus ; // клавиша Enter, и переход на другое окно ввода // Остальные символы - запрещены ! else key := Chr(0); // запрещаем отображать символ end; end; procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: char); begin case key of '0'..'9': ; //можно вводить только цифры ',': ; //или дробный числа #8 : ; // клавиша Back Space #13 : Button1.SetFocus ; // клавиша Enter, и переход на кнопку вычисления // Остальные символы - запрещены ! else key := Chr(0); // запрещаем отображать символ end; end; initialization {$I tugol.lrs} end. unit parray; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Grids, StdCtrls; type { TForm3 } TForm3 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; StringGrid1: TStringGrid; StringGrid2: TStringGrid; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormShow(Sender: TObject); private { private declarations } public { public declarations } end; const size = 6; var Form3: TForm3; a:array [1..size] of integer; b:array [1..size] of integer; max_a,max_b,buf:integer; i:integer; implementation uses tmain; { TForm3 } procedure TForm3.FormShow(Sender: TObject); begin with StringGrid1 do for i:=1 to size do begin Cells[i-1,0]:=''; Cells[i-1,1]:=''; end; with StringGrid2 do for i:=1 to size do begin Cells[i-1,0]:=''; Cells[i-1,1]:=''; end; for i := 1 to size do begin a[i] := 1 + Random(99); // заполняем массив случайными числами b[i] := 1 + Random(99); // заполняем массив случайными числами end; Label7.Visible:=False; Label8.Visible:=False; end; procedure TForm3.Button1Click(Sender: TObject); begin with StringGrid1 do for i:=1 to size do begin Cells[i-1,0]:=IntToStr(a[i]); Cells[i-1,1]:=IntToStr(b[i]); end; max_a :=1; max_b :=1; for i:=2 to size do begin if a[i] > a[max_a] then max_a := i; if b[i] > b[max_b] then max_b := i; end; Label7.Visible:=True; Label7.Caption:='Максимальный элемент массива А :'+IntToStr(a[max_a]) +#13+'Номер элемента в массиве А :'+ IntToStr(max_a) +#13+'Максимальный элемент массива В :'+IntToStr(b[max_b]) +#13+'Номер элемента в массиве В :'+ IntToStr(max_b); buf:= a[max_a]; a[max_a]:= b[max_b]; b[max_b]:= buf; with StringGrid2 do for i:=1 to size do begin Cells[i-1,0]:=IntToStr(a[i]); Cells[i-1,1]:=IntToStr(b[i]); end; max_a :=1; max_b :=1; for i:=2 to size do begin if a[i] > a[max_a] then max_a := i; if b[i] > b[max_b] then max_b := i; end; Label8.Visible:=True; Label8.Caption:='Максимальный элемент массива А :'+IntToStr(a[max_a]) +#13+'Номер элемента в массиве А :'+ IntToStr(max_a) +#13+'Максимальный элемент массива В :'+IntToStr(b[max_b]) +#13+'Номер элемента в массиве В :'+ IntToStr(max_b); end; procedure TForm3.FormClose(Sender: TObject; var CloseAction: TCloseAction); begin Form1.Show; end; initialization {$I parray.lrs} end. unit colorshape; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls; type { TForm4 } TForm4 = class(TForm) Button1: TButton; Button2: TButton; ColorDialog1: TColorDialog; Label1: TLabel; Panel1: TPanel; Shape1: TShape; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); private { private declarations } public { public declarations } end; var Form4: TForm4; implementation uses tmain; { TForm4 } procedure TForm4.Button1Click(Sender: TObject); begin if ColorDialog1.Execute then // вызываем окно диолого выборы цвета Shape1.Brush.Color:=ColorDialog1.Color; // меняем цвет фигуры end; procedure TForm4.Button2Click(Sender: TObject); begin if ColorDialog1.Execute then // вызываем окно диолого выборы цвета Form4.Color:= ColorDialog1.Color; // меняем цвет формы end; procedure TForm4.FormClose(Sender: TObject; var CloseAction: TCloseAction); begin Form1.Show; end; initialization {$I colorshape.lrs} end. Приложение В Результаты работы программ: Работа программы tmain. 2. Работа программы Tugol 3. Работа программы parray 4. Работа программы colorshape. ВЫВОДЫ Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Лазарус. В ходе выполнения курсовой работы была разработана программа на модальных окнах. В ходе выполнения курсового проекта были проведены - анализ технического задания и постановка задачи проектирования. Были выделены функции, которыми должна обладать разрабатываемая программа. Был разработан алгоритм программы, предназначенной для выполнения сформированных функций. Согласно разработанному алгоритму была составлена и отлажена программа алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Результаты работы оформлены в виде пояснительной записки. В ходе разработки программы были закреплены навыки работы: - командами ввода-вывода как на экран, так и в текстовые файлы, - использования процедур, - команды обработки массивов, - команды для реализации циклов с заданным числом повторений; В результате выполнения данной курсовой работы, мы убедились в широких возможностях языка программирования Delphi, закрепили практические навыки программирования в cреде Лазарус. Список Использованной Литературы: Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.: "ДИАЛОГ-МГУ", 1994. М. Зелковец, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения. - М.: Мир, 1982. - С. 11. К. Зиглер. Методы проектирования программных систем. - М.: Мир, 1985. - С. 15-23. Дж. Фокс. Программное обеспечение и его разработка. - М.: Мир, 1985. - С. 53-67, 125-130. И. Ю. Баженова Delphi 7 самоучитель программиста Москва 2003.