Реализация линейного алгоритма «Видеопамять» (среда Delphi)
Автор: Космовская Венера Фаритовна
Рубрика: Технические средства обучения
Опубликовано в Образование и воспитание №5 (25) октябрь 2019 г.
Дата публикации: 07.08.2019
Статья просмотрена: 22 раза
Библиографическое описание:
Космовская, В. Ф. Реализация линейного алгоритма «Видеопамять» (среда Delphi) / В. Ф. Космовская. — Текст : непосредственный // Образование и воспитание. — 2019. — № 5 (25). — С. 64-67. — URL: https://moluch.ru/th/4/archive/139/4378/ (дата обращения: 16.11.2024).
Среда Delphi позволяет учащимся познакомиться с современными приемами визуального программирования, используя полученные знания и умения работы на языке программирования Pascal.
Цель работы: Выработать практические навыки работы со средой Delphi. Разработать приложение, вычисляющий объем видеопамяти по известным величинам: глубине цвета (в битах) и количеству точек (Х*У); переводить полученный результат при необходимости в байты, килобайты, мегабайты или гигабайты.
Для вычисления объема видеопамяти необходимо произвести произведения глубины цвета и количества точек.
Необходимо выполнить:
− Для сохранения созданных приложений создать папку
− Запустить Delphi
− Изменить заголовок окна формы с Form1 на Видеопамять: в окне инспектора объектов (Object Inspector) установить для свойства Caption значение Видеопамять.
− Изменить цвет формы со стандартного на бледно-синий: в окне инспектора объектов установить для свойства Color значение clAqua.
− Поместим на форму объекты Edit1, Edit2 и Edit3. В окне Edit4 будет показан объем видеопамяти, а в окнах Edit5, Edit6, Edit7, Edit8 — данный результат будет переводиться в байты, килобайты, мегабайты или гигабайты. Свойство Text для всех перечисленных объектов необходимо очистить, тогда все эти окна в начале работы программы будут чистыми.
− Обязательно должна присутствовать надпись, поясняющая назначение каждого текстового окна в данном приложении. Поэтому непосредственно на форме размещаем пять надписей с именами, начиная с Label1 и кончая Label8. Необходимо изменить данные размера, начертания и цвета шрифта для каждой надписи. Заголовок каждой надписи должен показывать содержимое, которое находится справа от надписи данного окна. Поэтому необходимо у каждой надписи произвести изменение свойство Caption,
− Затем добавляем экранные кнопки на форму, начиная с Button1 и до Button7. Вычисление искомой величины должно происходить при нажатии на первой из этих кнопок. Данной кнопке дать заголовок «Вычислить». Закрывать программу будет седьмая кнопка — «Закрыть программу».
Написание нашего приложения начинаем с того, что двойным щелчком справа от события Onclick для объекта Button1 открываем процедуру TForm1.Button1Click. В данной процедуре необходимо использовать переменные a, b, c, которые содержат числовые значения глубины цвета и количества точек и v — объем видеопамяти. Описание переменных идет следующей строкой после строки заголовка процедуры:
Var a,b,c,s,v: integer;
Затем необходимо в основной части процедуры (после слова begin) вставить группу операторов, которые преобразуют исходные данные в текстовые окна в числовые значения. Данные операторы, использующие стандартную функцию InttoStr, пишутся следующим образом:
procedureTForm1.Button1Click(Sender: TObject);
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=strtoint(edit3.Text);
v:=a*b*c;
edit4.Text:=inttostr(v);
end;
Использовать процедуры при переводе результата в соответствующие байты, килобайты, мегабайты или гигабайты. Работаем с вещественными данными. Затем оформить процедуру закрытия программы и процедуру вывода данных об авторах — TForm1.Button6Click. Ниже приводится полный текст программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
Type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
X: TLabel;
Edit3: TEdit;
Label3: TLabel;
Edit4: TEdit;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Button2: TButton;
Edit5: TEdit;
Label6: TLabel;
Label7: TLabel;
Button3: TButton;
Label8: TLabel;
Edit6: TEdit;
Label9: TLabel;
Button4: TButton;
Edit7: TEdit;
Label10: TLabel;
Label11: TLabel;
Button5: TButton;
Edit8: TEdit;
Label12: TLabel;
Button6: TButton;
Button7: TButton;
Image1: TImage;
Label13: TLabel;
Label14: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c,v:integer; //целые переменные-глубина цвета,кол-во точек и объем
ba,kb,mb,gb:real; //веществен.перем-е — байты,кб,мб,гб
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);// процедура расчета объема
//видеопамяти — v
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=strtoint(edit3.Text);
v:=a*b*c;
edit4.Text:=inttostr(v);
end;
procedure TForm1.Button2Click(Sender: TObject); //перевод результата в байты
begin
ba:=v/8;
edit5.Text:=floattostr(ba);
end;
procedure TForm1.Button3Click(Sender: TObject);//перевод результата в килобайты
begin
kb:=v/8/1024;
edit6.Text:=floattostr(kb);
end;
procedure TForm1.Button4Click(Sender: TObject);//перевод v в мегабайты
begin
mb:=v/8/1024/1024;
edit7.Text:=floattostr(mb);
end;
procedure TForm1.Button5Click(Sender: TObject);// перевод v в гигабайты
begin
gb:=v/8/1024/1024/1024;
edit8.Text:=floattostr(gb);
end;
procedure TForm1.Button6Click(Sender: TObject);//вывод данных об авторах
begin
label13.caption:= 'НВМУ: Программу составили:';
label14.caption:= 'Бычков Сергей, Жданов Даниил.';
end;
procedure TForm1.Button7Click(Sender: TObject);//процедура закрытия формы
begin
close;
end;
end.
Результаты работы приложения на рис.1, рис. 2.
Рис. 1. Графический интерфейс программы «Видеопамять»
Рис. 2. Программа «Видеопамять» во время работы
Литература:
- Никита Культин. Delphi в задачах и примерах. СПб: БХВ-Петербург, 2012.
- Владимир Гофман, Анатолий Хомоненко. Delphi. Быстрый старт, 2002.
- Пестриков В. М., Маслобоев А. Н. TurboPascal 7.0. Изучаем на примерах. СПб: Наука и техника, 2003.
- Симонович С. В. и др. Информатика. Базовый курс. СПб: Питер, 2001.
- В. М. Пестриков, А. Н. Маслобоев, О. К. Федоров. Основы программирования в системе BorlandDelphi. Учебное пособие. СПб: Питер, 2004.