Конспект урока "Создание проекта «Выбор компонентов персонального компьютера» в системе программирования"

ТЕМА: Создание проекта «Выбор компонентов персонального компьютера» в
системе программирования
Цель урока: научить применять полученные ранее знания по теме «Основные
составляющие персонального компьютера» при создании приложения в
системе программирования Lazarus. Продемонстрировать связь таких
предметов как «Аппаратно-программное обеспечение ЭВМ» и «Основы
программирования».
ТИП УРОКА: комбинированный урок
ФОРМА ПРОВЕДЕНИЯ: самостоятельная работа, элементы лекции
ОБОРУДОВАНИЕ К УРОКУ: Персональный компьютер, мультимедийный
проектор, интерактивная доска.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: ОС Windows 10, Lazarus
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ:
1. О.П.Новожилов. Основы компьютерной техники, «Радиософт» , 2013.
2. https://docs.altlinux.org/books/freepascal.pdf
Ход урока
1. Организационный этап: тема урока, постановка целей и мотивация учебно-
познавательной деятельности.
2. Актуализация опорных знаний
Что такое системы программирования?
Какие системы программирования вы знаете?
Что такое интерператоры и компиляторы?
Перечислите основные этапы разработки проекта.
Перечислите основные окна системы программирования
Каким образом можно изменить значения свойств программного объекта?
3. Постановка задачи
Для выполнения лабораторной работы необходимо определить способы
предоставления информации о компонентах персонального компьютера и
смоделировать выбор компонентов персонального компьютера (CPU, MotherBoard,
Video, RAM) в среде Lazarus.
Технология моделирования выбора комплектующих включает следующие шаги:
выбор группы комплектующих (например, MotherBoard ) и формирование
списка позиций из указанной группы с ценами;
показ изображений выбранной позиции;
выбор из списка нужной позиции;
показ цены выбранной позиции в валюте (доллар, евро);
вычисление суммы всех выбранных комплектующих.
Примерный вид создаваемого приложения показан на рис.1.
Рис.1.- Примерный вид создаваемого приложения.
Определение способа хранения информации
Информацию будем хранить в двух массивах, в первом названия позиций в
группах, во втором соответствующие им цены.
Массив наименований (строковый)
a[i,j]
Массив цен (числовой)
b[i,j]
CPU1
Video1
MotherBoard1
Цена
CPU1
Цена
Video1
Цена
MotherBoard1
CPU2
Video2
MotherBoard2
CPU3
Video3
MotherBoard3
CPU4
Video4
MotherBoard4
Цена
CPU4
Цена
Video4
Цена
MotherBoard4
Разработка интерфейса
Для данной задачи информацию будем располагать на двух формах: на
первой форме группы комплектующих и кнопка выбора, на второй список
наименований из выбранной группы, изображение выбранной позиции и стоимость
выбранных компонентов.
При проектировании внешнего вида приложения необходимо создать форму 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
ListBox1.items.add(a[i,j] + ‘ ‘ + b[i,j]);
end;
По одинарному клику мыши на позиции выводится изображение компонента
Фрагмент кода:
procedure TForm2.ListBox1Click(Sender: TObject);
begin
case ListBox1.ItemIndex of
0 : begin
if j=1 then
Image1.Picture.LoadFromFile('1.png');
if j=2 then
Image1.Picture.LoadFromFile('vidio1.jpg');
if j=3 then
Image1.Picture.LoadFromFile('mat1.jpg');
if j=4 then
Image1.Picture.LoadFromFile('ozy1.jpg');
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. Подведение итогов урока и рефлексия