История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2020-08-21 | 90 |
5.00
из
|
Заказать работу |
|
|
Введение.
Я, Агишев Руслан Хамитович, студент третьего курса, группы 083, специальности 230105.51 Программное обеспечение средств вычислительной техники и автоматизированных систем ФГОУ СПО «Ярославский автомеханический техникум», разработал отчётную программу в рамках практики на получение первичных профессиональных навыков.
Для реализации программы я использовала язык программирования Borland Delphi 7.0, так как данная среда является одной из ведущих систем программирования, используемых для разработки современных программных продуктов, и в первую очередь приложений операционной системы Windows. Система программирования Delphi позволяет значительно упростить процесс создания Windows – приложений, а так же резко повысить производительность труда программиста.
В процессе разработки программы я использовал следующие компоненты:
ü Stringgrid
ü Button
ü Label
ü Edit
ü MainMenu
ü Image
ППН 230105.51.011.001.00 ПЗ
Лист
5
Основная часть.
История Borland Delphi v7.0
Целевая платформа.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft. Net. При этом высказывались предположения, что эти два факта взаимосвязаны.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS Xи Windows CE.
|
Также предпринимались попытки использования языка в проектах GNU и написания компилятора для GCC.
История языка.
Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией— данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
Delphi оказал огромное влияние на создание концепции языка C# для платформы.NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
|
ППН 230105.51.011.001.00 ПЗ
Лист
6
Примечание
Строго говоря, для разработки приложения в Delphi на базе компонентов, предоставляемых средой разработки, знание концепции ООП не является необходимым. Однако материал данной главы будет весьма полезен для более глубокого понимания того, как программа взаимодействует с компонентами, что и почему Delphi добавляет в текст программы.
Основной упор модели в Delphi делается на то,чтобы максимально производительно использовать код.. Это позволяет очень быстро разрабатывать приложения, так как уже существуют заранее подготовленные объекты. А так же вы можете создавать свои собственные объекты, без каких-либо ограничений. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
В стандартную поставку Delphi входят основные объекты из 270 базовых классов. На этом языке очень удобно писать, как приложения к базам данных, так даже и игровые программы. Если принять во внимание и удобный интерфейс для создания графических оболочек, то можно с уверенностью заявить что язык Delphi – это очень доступный для понимания, но в то же время и очень мощный язык программирования.
Среди пользователей самой популярной операционной системой является Windows. И для разработчика несомненно очень важно,чтобы писать программы именно для этой оболочки. До недавнего времени практически все программы для этого пакета операционных систем на Borland С++, который в своё время мог освоить только пользователь с большим опытом программирования и требовал сёрьёзных знаний в теории.
По сравнению с традиционными способами программирования, ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы [ОС] Windows. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.
|
В этой статье рассматриваются основные механизмы ООП в Delphi:
o понятие класса и объекта;
o основные механизмы ООП: инкапсуляция, наследование и полиморфизм;
Класс и объект
Классом называется структура языка, которая может иметь в своем составе переменные, функции и процедуры. Переменные, в зависимости от предназначения именуются полями или свойствами. Процедуры и функции класса - методами. Например:
type TMyObject = class(TObject)
MyField: Integer;
function MyMethod: Integer;
end;
ППН 230105.51.011.001.00 ПЗ
Лист
7
Поля объекта аналогичны полям записи [record]. Методы - это процедуры и функции. описанные внутри класса и предназначенные для операций над его полями. От обычных процедур и функций методы отличаются тем, что им при вызове передается указатель на тот объект, который и вызвал. Внутри метода указатель на вызвавший его объект доступен пол зарезервированным именем "Self".
Чтобы использовать класс в программе, нужно как минимум, объявить переменные этого типа. Переменная объектного типа называется экземпляром класса или объектом:
var AMyObject: TMyObject;
Класс - это описание, объект - то, что создано в соответствии с этим описанием. Объект "появляется на свет" в результате вызова специального метода, который инициализирует объект - конструктора. Созданный объект уничтожается другим методом - деструктором:
AMyObject:= TMyObject.Create;
<действия с созданным объектом>
AMyObject.Destroy;
Взяв любой пример проекта в Delphi, вы почти не увидите там вызовов конструкторов и деструкторов. Дело в том, что любой компонент, попавший при визуальном проектировании в ваше приложение из Палитры компонентов, включается в определенную иерархию. Иерархия эта замыкается на форме [класс "TForm"]: для всех ее составных частей конструкторы и деструкторы вызываются автоматически, незримо для программиста. Кто создает и уничтожает формы? Это делает приложение [глобальный объект с именем "Application"]. В файле проекта [с расширением "dpr"] вы можете увидеть вызовы метода "Application.CreateForm", предназначенного для этой цели.
|
ППН 230105.51.011.001.00 ПЗ
Лист
8
Специальная часть.
Текст задачи
Реализовать «Игру в спички». Дано N (N < 30) спичек. Пользователь и компьютер поочерёдно берут 2-3 спички. Проигрывает тот, кому остаётся 1 спичка или их не остаётся вообще.
Словесный алгоритм решения
При запуске программы открывается форма, на которой находится: изображение «спичек» (30 штук), поле для ввода нужного количества спичек (не более 30), кнопка ввода заданного количества спичек и два компонента выбора изымаемых спичек пользователем, а также кнопка повторного запуска игры и вкладки «автор», «правила игры» и «Выход».
ППН 230105.51.011.001.00 ПЗ
Лист
9
Сначала нужно ввести количество спичек, которое требуется для игры, и нажать кнопку «ввод».
При этом начальное количество спичек (30) изменится на то, которое было введено и появится кнопка «Взять».
ППН 230105.51.011.001.00 ПЗ
Лист
10
Если поле для ввода количество спичек будет пустым, а пользователь нажмёт на кнопку «Ввод», то появится подсказка пользователю.
ППН 230105.51.011.001.00 ПЗ
Лист
11
Затем пользователь должен выбрать, какое количество спичек он хочет изъять (две или три) и после выбора нажать на кнопку «Взять».
После нажатия, количество заранее заданных спичек убавится на то количество, которое было заданно пользователем (две или три спички).
ППН 230105.51.011.001.00 ПЗ
Лист
12
Далее, появится кнопка «ход компьютера», при нажатии на которую, компьютер случайным образом выбирает какое количество спичек изъять (две или три) и укорачивает строку спичек.
Это делается для наглядного контроля действий.
ППН 230105.51.011.001.00 ПЗ
Лист
13
Затем, ход переходит опять к пользователю и так продолжается до тех пор, пока у одного из игроков не останется 1 или 0 количество спичек.
В этом случае появится сообщение, в котором будет сказано кто проиграл.
ППН 230105.51.011.001.00 ПЗ
Лист
14
|
При нажатии на кнопку «Начать заново» игра начинается снова
.
ППН 230105.51.011.001.00 ПЗ
Лист
15
При нажатии на вкладку «автор» открывается вторая форма, на которой находятся сведения об авторе программы.
При нажатии на кнопку «Вернуться к игре» открывается первая (главная) форма.
ППН 230105.51.011.001.00 ПЗ
Лист
16
При нажатии на вкладку «правила игры» открывается третья форма, на которой прописаны правила «игры в спички».
При нажатии на кнопку «Вернуться к игре» открывается первая (главная) форма.
ППН 230105.51.011.001.00 ПЗ
Лист
17
При нажатии на вкладку «Выход» осуществляется выход из программы.
ППН 230105.51.011.001.00 ПЗ
Лист
18
Заключение
Я, Агишев Руслан Хамитович студент 3 курса группы 083 специальности230105.51 программное обеспечение средств вычислительной техники автоматизирование систем ФГОУ СПО «Ярославского автомеханического техникума», разработал отчетную программу в рамках практики на получение первичных профессиональных навыков.
Для реализации программы я использовал язык программирования Borland Delphi 7.0, так как данная среда является одной из ведущих систем программирования, используемых для разработки современных программных продуктов, и в первую очередь приложений операционной системы Windows. Система программирования Delphi позволяет значительно упростить процесс создания Windows – приложений, а так же резко повысить производительность труда программиста.
Преимущества программы: К преимуществам можно отнести малую требовательность к ресурсам компьютера и удобный интерфейс. Так же программу можно дополнить более проработанным интерфейсом и процедурой, которая будет вести статистику выигрышей и проигрышей в ходе игры.
ППН 230105.51.011.001.00 ПЗ
Лист
27
Список литературы
Бобровский С.И.
Б72 Delphi 7. Учебный курс.- СПб.: Питер, 2008.- 736с.: ил.
Кандзюба С.П., Громов В.Н.
К82 Delphi 6. Базы данных и приложение. Лекции и упражнения.- К.: Издательство «ДиаСофт», 2001.- 576 с.
Культин Н.Б.
К90 Delphi в задачах и примерах.- СПб.: БХВ- Петербург, 2004.- 288 с.: ил.
Веб сайт
Http://www.wikipedia.org/wiki/Delphi
ППН 230105.51.011.001.00 ПЗ
Лист
28
Приложение
unit Unit1; //главная форма
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Menus;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button1: TButton;
Button2: TButton;
Image1: TImage;
Button3: TButton;
Button4: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
procedure Button3Click(Sender: TObject); // описание компонентов
procedure Edit1KeyPress(Sender: TObject; var Key: Char); // описание компонентов
procedure Button1Click(Sender: TObject); // описание компонентов
procedure Button2Click(Sender: TObject); // описание компонентов
procedure Button4Click(Sender: TObject); // описание компонентов
procedure N1Click(Sender: TObject); // описание компонентов
procedure N2Click(Sender: TObject); // описание компонентов
procedure N3Click(Sender: TObject); // описание компонентов
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; n,m:integer;a:real; //описание глобальных переменных
implementation
uses Unit2, Unit3; //связь с формой 2 и формой 3
{$R *.dfm}
ППН 230105.51.011.001.00 ПЗ
Лист
29
procedure TForm1.Button3Click(Sender: TObject); //запуск процедуры
begin // начало процедуры
if Edit1.text<>'' then begin //условие проверки заполнения поля Edit1
n:=strtoint(edit1.text); //присвоение переменной n
m:=30-n; //присвоение переменной m
image1.Width:=image1.Width-24*m; // присвоение компонента Image1
Button1.Visible:=true; // присвоение компонента Button1
end else showmessage('введите количество спичек'); //вывод сообщения
end; // конец процедуры
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //запуск процедуры
begin // начало процедуры
if ((ord(key)>57) or (ord(key)<48)) and (ord(key)<>8) then //условие на ограниченный ввод данных
key:=chr(0);
end; // конец процедуры
procedure TForm1.Button1Click(Sender: TObject); // запуск процедуры
begin // начало процедуры
if (radiobutton1.checked=true) or (radiobutton2.checked=true) then begin //условие активности
//компонента radiobutton1 или radiobutton2
Button1.Visible:=false; //присвоение компонента Button1
Button2.Visible:=true; //присвоение компонента Button2
if radiobutton1.checked=true then begin //условие активности компонента radiobutton1
image1.Width:=image1.Width-48; n:=n-2; // присвоение компонента Image1
if n<=1 then showmessage('компьютер проиграл'); //условие
end;
if radiobutton2.checked=true then begin //условие активности компонента radiobutton2
image1.Width:=image1.Width-72; n:=n-3; // присвоение компонента Image1
if n<=1 then showmessage('компьютер проиграл'); //условие и вывод сообщения
end;
end
else showmessage('выбирите количество изымаемых спичек'); //вывод сообщения
end; // конец процедуры
ППН 230105.51.011.001.00 ПЗ
Лист
30
procedure TForm1.Button2Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
Button2.Visible:=false; // присвоение компонента Button2
Button1.Visible:=true; // присвоение компонента Button1
randomize;
a:=random; // присвоение переменной а
if a<=0.5 then a:=2 //условие
else a:=3;
if a=2 then begin //условие значения переменной а
image1.Width:=image1.Width-48; n:=n-2; // присвоение компонента Image1
if n<=1 then showmessage('вы проиграли'); //условие и вывод сообщения
end;
if a=3 then begin //условие значения переменной а
image1.Width:=image1.Width-72; n:=n-3; // присвоение компонента Image1
if n<=1 then showmessage('вы проиграли'); //условие и вывод сообщения
end;
end; //конец процедуры
procedure TForm1.Button4Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
Edit1.Clear;
image1.Picture.LoadFromFile('Спича.bmp');
image1.Height:=49; image1.Width:=720; //размеры компонента image1
end; //конец процедуры
procedure TForm1.N1Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
form2.show; //переход на вторую форму
form1.Visible:=false; //закрытие первой формы
end; //конец процедуры
procedure TForm1.N2Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
form3.show; //переход на третью форму
form1.Visible:=false; //закрытие первой формы
end; //конец процедуры
procedure TForm1.N3Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
Close;
end;
end. //конец программы
ППН 230105.51.011.001.00 ПЗ
Лист
31
unit Unit2; //форма «автор»
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject); // описание компонентов
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1; //связь с формой 1
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
form1.show; //переход на первую форму
form2.Visible:=false //закрытие второй формы
end; //конец процедуры
end. //конец программы
ППН 230105.51.011.001.00 ПЗ
Лист
32
unit Unit3; //форма «правила игры»
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject); // описание компонентов
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit1; //связь с формой 1
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject); //запуск процедуры
begin //начало процедуры
form1.show; //переход на первую форму
form3.Visible:=false //закрытие третей формы
end; //конец процедуры
end. //конец программы
ППН 230105.51.011.001.00 ПЗ
Лист
33
Введение.
Я, Агишев Руслан Хамитович, студент третьего курса, группы 083, специальности 230105.51 Программное обеспечение средств вычислительной техники и автоматизированных систем ФГОУ СПО «Ярославский автомеханический техникум», разработал отчётную программу в рамках практики на получение первичных профессиональных навыков.
Для реализации программы я использовала язык программирования Borland Delphi 7.0, так как данная среда является одной из ведущих систем программирования, используемых для разработки современных программных продуктов, и в первую очередь приложений операционной системы Windows. Система программирования Delphi позволяет значительно упростить процесс создания Windows – приложений, а так же резко повысить производительность труда программиста.
В процессе разработки программы я использовал следующие компоненты:
ü Stringgrid
ü Button
ü Label
ü Edit
ü MainMenu
ü Image
ППН 230105.51.011.001.00 ПЗ
Лист
5
Основная часть.
История Borland Delphi v7.0
Целевая платформа.
Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft. Net. При этом высказывались предположения, что эти два факта взаимосвязаны.
Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS Xи Windows CE.
Также предпринимались попытки использования языка в проектах GNU и написания компилятора для GCC.
История языка.
Object Pascal — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal — динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией— данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу — там и буду лежать». Соответственно организуется и «многокучность».
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
Delphi оказал огромное влияние на создание концепции языка C# для платформы.NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp.
|
|
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!