
Заключение
В результате выполнения курсовой работы по дисциплине «Объектно-ориентированный анализ и программирование», я освоила язык программирования Delphi, в виде составления и написания программ. Приобрела навыки решения прикладных задач, а так же навыки разработки и отладки программ в современных системах программирования. Пользуясь литературой, я углубленно изучила материал по программированию. Я узнала такие объекты как: «Edit» - объект ввода и вывода данных, «Button» - объект для реализации в программе команд, «StringGrid» - объект для отображения различных данных в табличной форме, «Label» - объект для отображения надписей и меток на форме, которые не меняются в течение всего времени работы программы и «Memo» - текстовый редактор. В итоге всего мной изученного, я могу сказать что дисциплина «Объектно-ориентированный анализ и программирование» не легка, но очень интересна и пригодиться, для дальнейшей работы по направлению «Бизнес-инфоматика».
Список используемой литературы
http://www.tadviser.ru/index.php/- TAdviser – портал выбора технологий и поставщиков
http://nad-vasiluk.narod.ru/met_prog.htm- Методы и технологии программирования
http://pas1.ru/-Язык Pascal. Программирование для начинающих
В.В.Фаронов «Турбо Паскаль Начальный курс Учебное пособие»// Издательство «ОМД Групп» 2003, 579 стр.
Брантд З. «Анализ данных. Статистические и вычислительные методы для научных работников и инженеров» // АСТ МИР, 2008, 688стр.
Кулаичев А.П. «Методы и средства комплексного анализа данных» // Инфра-М, 2011. 512стр.
Владимир Попов. «Паскаль и Дельфи. Самоучитель.» // Питер, 2003 г., 544 с.
Потопахин В.В. «TurboPascal: решение сложных задач.» // Издательство "БХВ-Петербург", 2006, 208 с.
Шпак Ю.А. «TurboPascal 7.0 на примерах» // Издательство "Юниор", 2003, 498 с.
Рапаков Г.Г., Ржеуцкая С.Ю. «TurboPascal для студентов и школьников.» // СПб.: БХВ-Петербург, 2004.
Каплан В.Е. и др. «Статистическая обработка и анализ экономических данных» // Феникс, 2007. 336стр.
Тюрин Ю.Н. «Анализ данных на компьютере» // Форум, 2010. 368стр.
Гмурман В.Е. «Теория вероятностей и математическая статистика» // М.: Высшая школа, 2009. 479стр.
Павловская Т.А. «Паскаль. Программирование на языке высокого уровня: Учебник для вузов.» // СПб.: Питер, 2007. – 293 с.
Бугров Я.С., Никольский С.М. Высшая математика: В 3-х т.М: Дрофа,2005.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. FreePascal и Lazarus. Учебник по программированию. – М.: ALT Linux: Издательский дом ДМК-пресс, 2010. – 440 с.
Мельников С.В. Delphi и TurboPascal на занимательных примерах. – СПб.: БХВ-Петербург, 2006. – 448 с.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на FreePascal и Lazarus. – М.: ALT Linux: Издательский дом ДМК-пресс, 2011. – 503 с.
Рубанцев В. Большой самоучитель Delphi XE3. – 2013.
Приложение 1 Текстпрограммы
program ProjectZadania1;
uses
Forms,
Zadanie1 in 'Zadanie1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
unit Zadanie1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
Zadanie1: TTabSheet;
LabelX1: TLabel;
LabelRez1: TLabel;
EditX1: TEdit;
EditRez1: TEdit;
ButtonRez1: TButton;
Zadanie2: TTabSheet;
LabelX2: TLabel;
LabelRez2: TLabel;
EditX2: TEdit;
EditRez2: TEdit;
ButtonRez2: TButton;
Zadanie3: TTabSheet;
LabelN: TLabel;
LabelRez3: TLabel;
EditN: TEdit;
EditRez3: TEdit;
ButtonRez3: TButton;
Zadanie4: TTabSheet;
ButtonRez4: TButton;
Memo1: TMemo;
Zadanie5: TTabSheet;
LabelStrok: TLabel;
LabelStolb: TLabel;
EditM: TEdit;
EditW: TEdit;
StringGrid1: TStringGrid;
ButtonRez5: TButton;
LabelEps: TLabel;
EditEps: TEdit;
EditOtr: TEdit;
EditPol: TEdit;
EditKol: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
StringGrid2: TStringGrid;
procedure ButtonRez1Click(Sender: TObject);
procedure ButtonRez2Click(Sender: TObject);
procedure ButtonRez3Click(Sender: TObject);
procedure ButtonRez4Click(Sender: TObject);
procedure EditMChange(Sender: TObject);
procedure EditWChange(Sender: TObject);
procedure ButtonRez5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonRez1Click(Sender: TObject);
begin
if EditX1.Text=''
then ShowMessage ('Укажите X')
else
if (StrToFloat(EditX1.Text))>1
then ShowMessage ('Sin(X)>1')
else
if (StrToFloat(EditX1.Text))<-1
then ShowMessage ('Sin(X)<-1')
else
EditRez1.Text:=FloatToStr(Sin(StrToFloat(EditX1.Text))+
Exp(5*Ln(Abs(Sqr(StrToFloat(EditX1.Text))+1)))-
Sqrt(Abs((Sqr(StrToFloat(EditX1.Text)))/(Sqr(StrToFloat(EditX1.Text))
+5))))
end;
procedure TForm1.ButtonRez2Click(Sender: TObject);
var a:Real;
begin
a:=54*Exp((-3)*Ln(10));
if EditX2.Text=''
then ShowMessage ('Укажите X')
else
if (StrToFloat(EditX2.Text))<-1
then ShowMessage ('Sin(X)<-1')
else
if (StrToFloat(EditX2.Text))>1
then ShowMessage ('Sin(X)>1')
else
if (StrToFloat(EditX2.Text))<0
then ShowMessage ('Логарифмическая ошибка')
else
EditRez2.Text:=FloatToStr(Ln(Sin(StrToFloat(EditX2.Text)*
Sqr((1+Cos(a/StrToFloat(EditX2.Text)))/a*StrToFloat(EditX2.Text)
*sin(a*strtofloat(EditX2.Text)))))+sqrt(Sin(StrToFloat(EditX2.Text))
/StrToFloat(EditX2.Text)))
end;
procedure TForm1.ButtonRez3Click(Sender: TObject);
var S,y,z:Real;
i:Integer;
begin
S:=0;
y:=0;
z:=0;
if EditEps.Text=''
then ShowMessage ('Укажите Eps')
else
if EditN.Text=''
then ShowMessage ('Укажите N')
else
for i:=0 to StrToInt(EditN.Text)-1 do
begin
z:=z+1;
y:=(1/sqr(z));
S:=(S)+(y);
end;
EditRez3.Text:=FloatToStr(S)
end;
procedure TForm1.ButtonRez4Click(Sender: TObject);
var i:Integer;
k,s,z:Real;
begin
z:=1;
k:=0;
s:=0;
if Memo1.Lines.Count=0
then ShowMessage ('Укажите массив')
else
for i:=0 to Memo1.Lines.Count-1 do
begin
if StrToFloat(Memo1.Lines.Strings[i])=0
then s:=s+1
else
if StrToFloat(Memo1.Lines.Strings[i])>0
then z:=z*StrToFloat(Memo1.Lines.Strings[i])
else
if StrToFloat(Memo1.Lines.Strings[i])<0
then k:=k+StrToFloat(Memo1.Lines.Strings[i])
else
end;
EditPol.Text:=FloatToStr(z);
EditKol.Text:=FloatToStr(s);
EditOtr.Text:=FloatToStr(k)
end;
procedure TForm1.EditMChange(Sender: TObject);
begin
if EditM.Text<>''
then
begin
StringGrid1.RowCount:=strtoint(EditM.Text);
StringGrid2.RowCount:=strtoint(EditM.Text)
end;
end;
procedure TForm1.EditWChange(Sender: TObject);
begin
if EditW.Text<>''
then
begin
StringGrid1.ColCount:=strtoint(EditW.Text);
StringGrid2.ColCount:=strtoint(EditW.Text);
end;
end;
procedure TForm1.ButtonRez5Click(Sender: TObject);
var i,j,z:Integer;
begin
if EditM.Text=''
then ShowMessage ('Укажите количество строк')
else
if EditW.Text=''
then ShowMessage ('Укажите количество столбцов')
else
begin
z:=0;
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to stringgrid1.ColCount-1 do
begin
if StringGrid1.Cells[i,j]=''
then z:=1
end;
end;
end;
if z=1 then ShowMessage ('Введите числа матрицы')
else
for i:=0 to stringgrid1.RowCount-1 do
begin
for j:=0 to StringGrid1.ColCount-1 do
begin
StringGrid2.Cells[i,j]:=StringGrid1.Cells[i,j];
end;
end;
end;
end.