12+ Свидетельство СМИ ЭЛ № ФС 77 - 70917 Лицензия на образовательную деятельность №0001058 |
Пользовательское соглашение Контактная и правовая информация |
Силахина Татьяна Валентиновна41 Россия, Санкт-Петербург, Санкт-Петербург |
Урок «Создание проекта в системе программирования Lazarus»
ТЕМА: Создание проекта «Выбор компонентов персонального компьютера» в системе программирования
Цель урока: научить применять полученные ранее знания по теме «Основные составляющие персонального компьютера» при создании приложения в системе программирования Lazarus. Продемонстрировать связь таких предметов как «Аппаратно-программное обеспечение ЭВМ» и «Основы программирования».
ТИП УРОКА: комбинированный урок
ФОРМА ПРОВЕДЕНИЯ: самостоятельная работа, элементы лекции
ОБОРУДОВАНИЕ К УРОКУ: Персональный компьютер, мультимедийный проектор, интерактивная доска.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: ОС Windows 10, Lazarus
1. О.П.Новожилов. Основы компьютерной техники, «Радиософт» , 2013.
2.
Ход урока
1. Организационный этап: тема урока, постановка целей и мотивация учебно-познавательной деятельности.
2. Актуализация опорных знаний
Что такое системы программирования?
Какие системы программирования вы знаете?
Что такое интерператоры и компиляторы?
Перечислите основные этапы разработки проекта.
Перечислите основные окна системы программирования
Каким образом можно изменить значения свойств программного объекта?
3. Постановка задачи
Для выполнения лабораторной работы необходимо определить способы предоставления информации о компонентах персонального компьютера и смоделировать выбор компонентов персонального компьютера (CPU, MotherBoard, Video, RAM) в среде Lazarus.
Технология моделирования выбора комплектующих включает следующие шаги:
выбор группы комплектующих (например, MotherBoard ) и формирование списка позиций из указанной группы с ценами;
показ изображений выбранной позиции;
выбор из списка нужной позиции;
показ цены выбранной позиции в валюте (доллар, евро);
вычисление суммы всех выбранных комплектующих.
Примерный вид создаваемого приложения показан на рис.1.
Рис.1.- Примерный вид создаваемого приложения.
Определение способа хранения информации
Информацию будем хранить в двух массивах, в первом – названия позиций в группах, во втором – соответствующие им цены.
Массив наименований (строковый) a[i,j] | Массив цен (числовой) b[i,j] | |||||||||
CPU1 | Video1 | MotherBoard1 | RAM1 | Цена CPU1 | Цена Video1 | Цена MotherBoard1 | Цена RAM1 | |||
CPU2 | Video2 | MotherBoard2 | RAM2 | … | … | … | … | |||
CPU3 | Video3 | MotherBoard3 | RAM3 | … | … | … | … | |||
CPU4 | Video4 | MotherBoard4 | RAM4 | Цена CPU4 | Цена Video4 | Цена MotherBoard4 | Цена RAM4 |
Разработка интерфейса
Для данной задачи информацию будем располагать на двух формах: на первой форме – группы комплектующих и кнопка выбора, на второй – список наименований из выбранной группы, изображение выбранной позиции и стоимость выбранных компонентов.
При проектировании внешнего вида приложения необходимо создать форму 1 (Form1) и разместить на ней соответствующие компоненты (Button, RadioGroup, Image) и форму 2 (Form2) c компонентами ListBox, Label, Edit, Image.
Виды форм при проектировании приведены на рисунке 2.
Форма 1 | Форма 2 |
Рис. 2. – Вид проектируемых форм.
4. Выполнение задания
Осуществить разработку интерфейса, написать и отладить нужный программный код.
Массивы заполняются данными в момент создания формы 1 (процедура Form1Create).
Фрагмент кода:
procedure TForm1.FormCreate(Sender: TObject);
begin
//заполнение массива позициями CPU
a[1,1] := 'AMD Ryzen 5 1600X ';
a[2,1] := 'Intel Core i7-8700K ';
a[3,1] := 'AMD Ryzen 5 1600 ';
a[4,1] := 'AMD Ryzen 7 1700 ';
…
// заполнение массива ценами позиций CPU
b[1,1] := 16500;
b[2,1] := 32000;
b[3,1] := 14000;
b[4,1] := 25000;
end;
Для кнопки Выбор создается процедура, позволяющая показать список выбранных позиций и их цены (номер столбца соответствующей категории запоминается в переменной j):
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: j:=1; // номер столбца соответствующей группы
1: j:=2;
2: j:=3;
3: j:=4;
end;
end;
Заполнение поля ListBox (Форма 2) данными из массивов a и b:
procedure TForm2.FormActivate(Sender: TObject);
var i:integer;
begin
listbox1.Clear;
for i := 1 to 4 do
end;
По одинарному клику мыши на позиции выводится изображение компонента
Фрагмент кода:
procedure TForm2.ListBox1Click(Sender: TObject);
begin
case ListBox1.ItemIndex of
0 : begin
if j=1 then
Image1.Picture.LoadFromFile('
if j=2 then
Image1.Picture.LoadFromFile('
if j=3 then
Image1.Picture.LoadFromFile('
if j=4 then
Image1.Picture.LoadFromFile('
end;
…
Еnd;
Задание. Самостоятельно добавить нужный код.
По двойному клику мыши на позиции выводится цена выбранного компонента и накопление суммы выбранных товаров, а также перерасчет цены выбранной позиции в другие валюты.
Фрагмент кода:
procedure TForm2.ListBox1DblClick(Sender: TObject);
begin
i := ListBox1.ItemIndex;
s := s+b[i+1,j];
Form2.Edit1.Text:= inttostr(s);
g := s;
g := g/55.6717; //в доллары
Form2.Edit2.Text:= floattostrF(g,fffixed,6,2);
h := s;
h := h/68.6599; //в евро
Form2.Edit3.Text:= floattostrF(h,fffixed,6,2);
end;
Выбранный список позиций отображается на Форме 2.
При одинарном клике мыши | При двойном клике мыши |
Задание. Предусмотреть занесение выбранных позиций с ценами в таблицу (компонент StringGrid), например, так:
Если необходимо расширить список наименований, то следует изменить границы массивов и при загрузке формы задать все необходимые значения. При работе с приложением можно выбирать наименования компонент сколько угодно раз.
5. Подведение итогов урока и рефлексия