Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Среда программирования Delphi

ВСТУПЛЕНИЕ

 

Изучение свойств функции и построение ее графика являются одним из самых замечательных приложений производной. Этот способ исследования функции неоднократно подвергался тщательному анализу. Основная причина состоит в том, что в приложениях математики приходилось иметь дело со все более и более сложными функциями, появляющимися при изучении новых явлений. При исследовании свойств функций приходится строить график на основе не количественных, а качественных результатов. В итоге вид графика не всегда соответствует действительности.

Целью данной работы является создание программы, которая помогает автоматизировать процесс исследования функции, построение графика, сравнить результат с оригиналом и получить печатную форму.

Актуальность темы заключается в её практическом применении на уроках математики как программного обучающего продукта.

Изучение аналогов данной программы говорят об её оригинальности т.к. ранее никто не подходил к решению данного вопроса с этой точки зрения.

Задачей данной работы являлось изучение возможностей компьютерных технологий для созданий мультимедийных обучающих программ по математике и разработка самого программного обеспечения с использованием среды программирования «Borland Developer Studio 2007»

СРЕДА ПРОГРАММИРОВАНИЯ DELPHI

 

Выбор среды быстрой разработки приложений (RAD) Delphi обусловлен как тем, что это одна из наиболее популярных сред программирования в Украине, так и несомненными объектными достоинствами Delphi. Среди этих достоинств:

простой и мощный язык программирования Pascal;

достаточно удобная среда разработки;

обширная объектная библиотека VCL

Среди большого разнообразия прoдуктов для разработки программных приложений Delphi занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с разным стажем, привычками, профессиональными интересами. С помощью Delphi написано колоссальное количество приложений, десятки фирм и тысячи программистов-одиночек разрабатывают для Delphi дополнительные компоненты.

В основе этой общепризнанной популярности лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не выбывает неудобств, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - даже если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением. Кроме того, говоря языком программистов, работы, выполненные в Delphi, имеют дружественный интерфейс, т.е. легки в понимании и пользовании.

Благодаря всем вышеописанным преимуществам технологии быстрого проектирования приложений, создание программ в среде Delphi является удобным и необременительным делом. Для генерации программы первоначально необходимо создать файл проекта, имя которого будет совпадать с именем будущей программы. Причем Delphi сама сделает каркас программы - пользователю необходимо только выбрать соответствующий пункт в диалоговом окне New. Таким образом, выбрав тип создаваемой программы, программист получит готовый шаблон, который затем необходимо будет заполнить содержанием. Каждое окно в Delphi называется формой. На форме располагаются различные визуальные и не визуальные компоненты. Весь набор компонент, доступных в системе, хранится в файле complib.dcl или в файле с другим именем и отображается в специальном окне среды Delphi, называемом «палитрой компонент» (component ра1еие).Палитра разбивается на страницы, группирующие компоненты по каким-либо общим признакам. Например на одной странице помещаются компоненты работы с данными, на другой - сетевые и т.д. Гибкость среды Delphi позволяет настраивать палитру по своему усмотрению - объединять, разбивать страницы, переносит компоненты с одной страницы на другую и т.п. Для того, чтобы поместить компонент на форму, необходимо нажать на его изображении на палитре компонент кнопку «мыши», затем переместить указатель «мыши» на нужное место и там отпустить. Это процесс приведет к тому, что у класса формы появится поле типа этого компонента.

Собрав на одну форму несколько компонентов, можно получит сколь угодно сложные диалоговые окна с полями ввода, мемо-полями и прочими компонентами. Кроме визуальных, существуют также невизуальные компоненты. Поместив такой компонент на форму и запустив программу, мы ничего не увидим. Но некоторые компоненты во время работы себя отображают, правда для этого необходимо вызвать их методы. К таким компонентам относится всевозможные диалоговые компоненты, например OpenDialog, который является стандартным окном для открытия файла. Другие невизуальные компоненты внешне никак себя не проявляют, например компонент DataSet.

Свойства каждого компонента и формы в целом, а также события, на которые они откликаются, отображаются в окне инспектора объектов (object inspector). Инспектор объектов имеет две страницы - страницу со свойствами и страницу с событиями. При редактировании свойства в инспекторе объектов учитывается тип этого свойства. Например, если свойство логического типа, то возможен будет выбор только лишь между значениями True и False. Для более сложных свойств, например для списков строк, существуют свои редакторы свойств. Например компонент ListBox имеет свойство Items типа списка строк. В этом случае нажатие на кнопку с многоточием, расположенную рядом с именем свойства, приведет к активизации редактора списка строк.

Для нестандартных свойств, описанных программистом, существует возможность создания своего редактора свойств методами Delphi. Кроме задания значений свойств, инспектор помогает задавать реакцию на всевозможные события, которые могут происходить в программе -перемещение указателя «мыши», нажатие и отпускание клавиш клавиатуры и т.п. На соответствующей страничке инспектора есть список множества стандартных для компонента (или формы) событий. Каждому событию соответствует своя процедура обработки этого события. Причем одна процедура может обрабатывать несколько событий. Все это указывается с помощью инспектора событий.

Необходимо усвоить, что визуальными средствами среды Delphi построить законченное приложение практически невозможно. Такими средствами можно только облегчить создание программы. Всю логику придется писать старым, испытанным методом - для каждой процедуры обработки событий вручную вписывать код.

ОПИСАНИЕ ПРОГРАММЫ

 

Общая схема исследования функций.

 

Исследуя функцию, нужно знать общую схему исследования:

D(y) – область определения (область изменения переменной х)

E(y) – область значения х (область изменения переменной у)

Вид функции: четная, нечетная, периодическая или функция общего вида.

Точки пересечения графика функции с осями Охи Оу (по возможности).

Промежутки знакопостоянства:

а) функция принимает положительное значение: f(x)>0

б) отрицательное значение: f(x)<0.

Промежутки монотонности функции:

а) возрастания;

б) убывания;

в) постоянства (f=const).

Точки экстремума (точки минимума и максимума)

Экстремумы функции (значение функции в точках минимума и максимума)

Дополнительные точки.

Они могут быть взяты для того, чтобы более точно построить график функции.

Следует заметить, что экстремумы функции f не всегда совпадают с наибольшим и наименьшим значением функции.

Структура программы

В соответствии со схемой исследования функции, программа представляет собой совокупность форм, каждая из которых отвечает за определённый этап исследования функций.

Пользователь должен заполнить соответствующие поля форм, выполнить вычисления, ввести данные, нарисовать график при помощи мыши, сравнить его с оригиналом, выполненным самой программой, получить оценку преподавателя и вывести результаты на печать.

Формы компилируются во время работы программы, между ними существует система переходов, позволяющая пользователю откорректировать результаты своей работы перед получением оценки и печатной копии.

 

 

В результате рабочая программа имеет следующие формы:

Приветствие (рис 1)

рисунок 1

Свойства функции и калькулятор (рис 2)

рисунок 2

Свойства функции и дополнительные точки (рис 3)

рисунок 3

Графический редактор (рис 4)

рисунок 4

Программный графический редактор (рис 5)
рисунок 5

Форма для печати (рис 6)

рисунок 6

Форма «О программе» (рис 7)
рисунок 7

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРОЕКТА

 

Форма «Приветствие»

 

 
 

 


Рисунок 7

На рисунке 7 представлен конструктор формы приветствия со следующими компонентами:

Form2 – форма

Timer1 – таймер загрузки программы

ProgressBar1 – полоса загрузки

BitBtn1 – кнопка перехода на следующую форму

Image1 – графическое оформление приветствия

Исходный код формы приветствия
(Implementation)

unit Unit2;

interface

Implementation

uses Unit1, Unit3;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);

begin

PlaySound('fanfar4.wav',0,SND_ASYNC);

Screen.Cursors[5]:= LoadCursorFromFile('CUR.cur');

Screen.Cursor:= 5;

Bitmap:= TBitmap.Create;

Bitmap.LoadFromFile('1.bmp');

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

progressbar1.Visible:=true;

timer1.Enabled:=true;

end;

procedure TForm2.Timer1Timer(Sender: TObject);

begin

progressbar1.Position:=progressbar1.Position+1;

if progressbar1.Position=100

then

begin

PlaySound(0,0,SND_ASYNC);

timer1.Enabled:=false;

form3.show;

form2.Hide;

end;

end;

end.

Форма «Свойства функции и калькулятор»

 

 


Рисунок 8

 

На рисунке 8 представлен конструктор формы ввода1 со следующими компонентами:

Form3 – форма

Edit1, Edit2, Edit3, Edit4, Edit5, Edit6 – Поля ввода

MaskEdit1 – Поле ввода

Memo1, Memo2 – Поля ввода для калькулятора

BitBtn1, BitBtn2 – Кнопки перехода и закрытия формы

ConboBox1 – Поле выбора вида функции

Image1 – Графическое оформление формы

Исходный код формы «Свойства функции и калькулятор»
(Implementation)

 

unit Unit3;

interface

implementation

uses Unit1, Unit2, unit4, about, Unit5;

{$R *.dfm}

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

s1:=edit5.Text;

s2:=maskedit1.Text;

s3:=edit1.Text;

s4:=edit2.Text;

s5:=edit4.Text;

s6:=edit3.Text;

s7:=edit6.Text;

s8:=ComboBox1.Text;

Form5.Show;

form2.Hide;

form3.Hide;

end;

procedure TForm3.Memo1Change(Sender: TObject);

var

i:integer;

s,expr,cst:string;

expression:texpression;

begin

memo2.Clear;

 

expression:=texpression.create;

for i:=0 to memo1.Lines.Count-1 do

begin

s:=memo1.Lines[i];

if pos('=',s)<>0 then

begin

cst:=trim(copy(s,1,pos('=',s)-1));

expr:=copy(s,pos('=',s)+1,length(s));

if not ValidConstanteName(cst) then

begin

memo2.Lines.add('Nom de constante invalide');

exit;

end;

end

else

begin

cst:='';

expr:=s;

end;

expression.DefineExpression(expr);

expression.Eval;

if LastExprError<>0 then

begin

memo2.Lines.add(GetExprErrorString(LastExprError));

exit;

end;

if cst<>'' then

begin

memo2.Lines.Add(cst+'='+floattostr(expression.Resultat));

expression.constantes.SetValue(cst,expression.Resultat);

end

else

memo2.Lines.Add(floattostr(expression.Resultat));

end;

expression.Free;

s1:=edit5.Text;

end;

procedure TForm3.BitBtn2Click(Sender: TObject);

begin

form2.Hide;

form3.Hide;

Aboutbox.show;

end;

 

procedure TForm3.FormActivate(Sender: TObject);

begin

edit5.SetFocus;

end;

end.

Форма «Свойства функции и дополнительные точки»

 


Рисунок 9

 

На рисунке 9 представлен конструктор формы ввода1 со следующими компонентами:

Form5 – форма

Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7 – Поля ввода

Memo1, Memo2 – Поля ввода для калькулятора

BitBtn1, BitBtn2, BitBtn3 – Кнопки перехода и закрытия формы

Image1 – Графическое оформление формы

Исходный код формы «Свойства функции и дополнительные точки»
(Implementation)

unit Unit5;

interface

implementation

uses Unit1, Unit3, about;

{$R *.dfm}

procedure TForm5.Memo1Change(Sender: TObject);

var

i:integer;

s,expr,cst:string;

expression:texpression;

begin

memo2.Clear;

expression:=texpression.create;

for i:=0 to memo1.Lines.Count-1 do

begin

s:=memo1.Lines[i];

if pos('=',s)<>0 then

begin

cst:=trim(copy(s,1,pos('=',s)-1));

expr:=copy(s,pos('=',s)+1,length(s));

if not ValidConstanteName(cst) then

begin

memo2.Lines.add('Nom de constante invalide');

exit;

end;

end

else

begin

cst:='';

expr:=s;

end;

expression.DefineExpression(expr);

expression.Eval;

if LastExprError<>0 then

begin

memo2.Lines.add(GetExprErrorString(LastExprError));

exit;

end;

if cst<>'' then

begin

memo2.Lines.Add(cst+'='+floattostr(expression.Resultat));

expression.constantes.SetValue(cst,expression.Resultat);

end

else

memo2.Lines.Add(floattostr(expression.Resultat));

end;

expression.Free;

end;

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

a:=edit3.Text;

b:=edit4.Text;

z1:=edit1.Text;

z2:=edit2.Text;

z3:=edit5.Text;

z4:=edit6.Text;

z5:=edit7.Text;

Form5.Hide;

Form1.show;

end;

procedure TForm5.BitBtn3Click(Sender: TObject);

begin

form3.Show;

form5.Hide;

end;

procedure TForm5.BitBtn2Click(Sender: TObject);

begin

form5.Hide;

Aboutbox.show;

end;

procedure TForm5.Edit7Change(Sender: TObject);

begin

bitbtn1.Enabled:=true;

end;

procedure TForm5.FormActivate(Sender: TObject);

begin

edit3.SetFocus;

end;

end.

Форма рисования

 

 

Рисунок 10

На рисунке 10 представлен конструктор формы рисования со следующими компонентами:

Form1 – форма

Edit1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18– Поля

ColoGrid1 – панель выбора цвета

BitBtn1, BitBtn2, BitBtn3 – Кнопки перехода и закрытия формы

Image1 – Графическое оформление формы

Image2 – Панель рисования

Panel1,2,3 – Панели содержащие компоненты

Исходный код формы «Графический редактор»
(Implementation)

 

unit Unit1;

 

interface

implementation

uses Unit2, main, Unit3, Unit5;

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

with image1.Canvas do

begin

Moveto(x,y);

Pen.Color:=ColorGrid1.ForegroundColor;

Pen.Width:=SpinEdit3.Value;

end;

edit7.Text:=inttostr(x-Image1.width div 2);

edit8.Text:=inttostr(Image1.Height div 2-y);

button1.Enabled:=true;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

image2.Visible:=false;

image1.Canvas.FillRect(clientrect);

dx:=spinedit1.value;

dy:=spinedit2.value;

x0:=0;

y0:= image1.Height div 2;

x1:=image1.Width;

y1:=y0;

x2:=image1.Width div 2;

y2:=0;

x3:=x2;

y3:=image1.Height;

with image1.Canvas do

begin

x:=x2;

y:=0;

pen.Width:=1;

pen.Color:=clblack;

pen.Style:=psdot;

repeat

moveto(x,0);lineto(x,y3);

x:=x+dx;

until x>x1;

{ x:=x2-dx;

y:=0;

repeat

moveto(x,y);lineto(x,y3);

x:=x-dx;

until x<=0;}

x:=x2;

y:=0;

pen.Width:=1;

pen.Color:=clblack;

pen.Style:=psdot;

repeat

moveto(x,0);lineto(x,y3);

x:=x-dx;

until (x<0);

y:=y0;

repeat

moveto(0,y);lineto(x1,y);

y:=y+dy;

until y>y3;

y:=y0;

repeat

moveto(0,y);lineto(x1,y);

y:=y-dy;

until y<0;

pen.Width:=3;

pen.Color:=clred;

moveto(x0,y0);lineto(x1,y1);

moveto(x2,y2);lineto(x3,y3);

end;

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if ssLeft in Shift then

begin

Image1.Canvas.LineTo(x,y);

end;

edit5.Text:=inttostr(x-Image1.width div 2);

edit6.Text:=inttostr(Image1.Height div 2-y);

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Image1.Canvas.FillRect(clientRect);

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

if printdialog1.Execute then form1.Print;

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

button1.Enabled:=false;

form3.show;

form1.Hide;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.Image1.Picture.SaveToFile('4.bmp');

Form1.Hide;

mainform.show;

mainform.BitBtn3.Show;

end;

procedure TForm1.FormActivate(Sender: TObject);

begin

edit4.Text:=form3.s8;

edit14.Text:=form5.a;

edit13.Text:=form5.b;

edit15.Text:=form5.z1;

edit19.Text:=form5.z2;

edit18.Text:=form5.z3;

edit17.Text:=form5.z4;

edit16.Text:=form5.z5;

edit3.Text:=form3.s1;

maskedit1.Text:=form3.s2;

edit9.Text:=form3.s3;

edit10.Text:=form3.s4;

edit11.Text:=form3.s5;

edit12.Text:=form3.s6;

edit2.Text:=form3.s7;

end;

end.

Форма «Программный графический редактор»

 

 

Рисунок 11

 

Исходный код формы «Программный графический редактор»
(Implementation)

Форма «О программе»

 

Рисунок 12

На рисунке 12 представлен конструктор формы «О программе» со следующими компонентами:

AboutBox – форма

OkButton - кнопка закрытия программы

Image1 – Графическое оформление формы

Выводы

Как конечный продукт моей научно работы вы можете видеть – готовая обучающая программа которая сделана для того что бы сэкономить время учителя на уроке. Плюсы программы я уже озвучивал ранее, скажу о недоработках. Их достаточно, хоть это уже и не первая версия. Как основные выделю это отсутствие Help файла со справкой о программе, ……….,

В развитии работы вижу усовершенствование программы путем добавления аудио, видео лекций с использованием компонента TMediaPlayer……

Список литературы.

Башмаков, М.И. Алгебра и начало анализа.- М.: Просвещение, 1992.

Глейзер, Г.И. История математики в школе.- М.: Просвещение, 1983.

Гусев, В.А. Математика: Справочные материалы.- М.: Просвещение, 1888.

Дорофеев, Г.В. Пособие по математике для поступающих в ВУЗы.- М.: Наука, 1974.

Данную работу подготовили:

Ученики 14 группы

Мариупольского технического лицея

Рубан Антон

Баша Богдан

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...