2022 - 2023 навчальний рік
24.05.2023
Добрий день! Підсумкова контрольна робота
16.05.2023
Добрий день! Тема: "Створення власного проєкту"
10.05.2023
Добрий день! Тема: "Створення власного проєкту"
Д/з працюємо над проєктом
26.04.2023
Добрий день! Тема уроку:"Розв'язання компетентнісної задачі"
Д/з здати одну задачу в любому навчальному середовищі
12.04.2023
Добрий день! Контрольна робота з теми: "Алгоритми та програми"
04.04.2023
Добрий день! Тема уроку: "Розробка та тестування програмного рішення"
Д/з с. 205-206
21.03
Морський бій
Компетентнісні задачі: табличні величини та алгоритми їх опрацювання
- Завдання 1. Створити комп'ютерну програму, яка реалізує відому гру «Морський бій».
- Постановка задачі.
- Двовимірний масив А розмірністю 6x6 випадковим чином заповнено нулями та одиницями.
- Якщо A(i,j) = 1, то у відповідній позиції знаходиться корабель. Гравець задає координати елементу масиву і «стріляє».
- Якщо елемент з указаними індексами дорівнює 1, то виводиться повідомлення «Влучив!», значення лічильника влучень збільшується на 1. Якщо A(i,j) = 0, виводиться повідомлення «Не влучив!», місце влучення позначається кружком.
- Якщо гравець робить три невдалі спроби, виводиться повідомлення «Ти програв!».
- Якщо ж значення лічильника влучень зрівняється з кількістю кораблів, виводиться повідомлення «Ти виграв!».
- Побудова інформаційної моделі
- Визначення засобів опрацювання даних
- Підготовка графічних файлів за допомогою графічного редактора.
- Пошук в Інтернеті й опрацювання інформації про відображення графічних даних у комірках об'єкта StringGrid.
- Створення проекту з використанням мови Object Pascal і середовища Lazarus.
- Опрацювання даних
- Підготовка зображень. У графічному редакторі підготуйте малюнки для відображення етапів гри (або скористайтеся поданими нижче).
- Повторення навчального матеріалу
- Опрацювання двовимірних масивів.
- Використання компонентів Image, Edit, Button.
- Відображення графічних даних у комірках об'єкта StringGrid.
- Створення програми.
- Розробіть інтерфейс програми (наприклад, як на зразку).
- Опишіть глобальні змінні.
- У процедурі обробки події OnCreate для форми запрограмуйте заповнення випадковим чином нулями та одиницями масиву А і відображення значень A[i,j] у таблиці StringGrid.
- Для виведення малюнків у комірки StringGrid створіть для цього об'єкта обробник події OnDrawCell. Процедура StringGrid1DrawCell викликається під час кожного звернення до комірки StringGrid1DrawCell[j,i], значення індексів комірки (j,i) надаються параметрами aCol, aRow. Залежно від текстового значення StringGrid1DrawCell[j,i] до комірки виводиться малюнок з одного з об'єктів Image. Запишіть програмний код, поданий нижче.
- Реалізація алгоритму гри здійснюється в обробнику події для кнопки Стріляй!.
- Аналіз результатів.
- Перевірте роботу програми (нумерація клітинок ігрового поля починається з нуля).
- Оцініть повноту і вірогідність результатів розв'язування задачі.
Form1: TForm1;
A: array[0..5, 0..5] of Integer;
k, sum, sproba: Integer;
procedure TForm1.FormCreate(Sender: TObject);
var i, j: Integer;
begin
k := 0; sum := 0; sproba := 0;
For i := 0 to 5 do begin
StringGrid1.ColWidths[i] := 50;
StringGrid1.RowHeights[i] := 50;
end;
Randomize;
For i := 0 to 5 do
For j:=0 to 5 do begin
A[i,j] := Random(2);
sum := sum+A[i,j];
StringGrid1.Cells[j,i] := IntToStr(A[i,j]);
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
begin
If StringGrid1.Cells[aCol, aRow] = '1' Then
begin
If sproba < 3 Then // якщо гру не закінчено, малюнок «Хвилі»
StringGrid1.Canvas.StretchDraw(aRect, Image1.Picture.Graphic)
Else StringGrid1.Canvas.StretchDraw(aRect,Image3.Picture.Graphic);
end;
If StringGrid1.Cells[aCol, aRow] = '2' Then // якщо влучив
StringGrid1.Canvas.StretchDraw(aRect, Image2.Picture.Graphic);
If StringGrid1.Cells[aCol, aRow] = '0' Then
StringGrid1 .Canvas.StretchDraw(aRect, Image1.Picture.Graphic);
If StringGrid1.Cells[aCol, aRow] = '3' Then // якщо не влучив
StringGrid1.Canvas.StretchDraw(aRect, Image4.Picture.Graphic);
end;
procedure TForm1.Button1Click(Sender: TObject);
var x, y, i, j: Integer;
begin
x := StrToInt(Edit1.Text); // введення координат корабля
y := StrToInt(Edit2.Text);
If a[x,y] = 1 Then
begin
sproba := 0;
k := k+1;
a[x,y] := 2;
StringGrid1.Cells[y,x] := IntToStr(A[x,y]);
Label2.Caption := 'Влучив!';
end
Else If a[x,y] = 0 Then
begin
a[x,y] := 3;
StringGrid1.Cells[y,x] := IntToStr(A[x,y]);
sproba := sproba+1;
Label2.Caption := 'Мимо!';
end;
If sproba = 3 Then
begin
Label2.Caption := 'Ти програв!';
Edit1.Visible := False; Edit2.Visible := False;
Button1.Visible := False;
{ якщо гру програно, виводяться кораблі, в які не влучили }
For i := 0 to 5 do
For j := 0 to 5 do StringGrid1.Cells[j,i] := IntToStr(A[i,j]);
end;
If k = sum Then
begin
Label2.Caption := 'Ти виграв!';
Edit1.Visible:= False;
Edit2.Visible:= False;
Button1.Visible := False;
sproba := 3; // кінець гри
end;
end;
02.03.2023 - 03.02.2023
Добрий день! Практична робота 8 "Складання і виконання алгоритмів знаходження сум і кількостей значень елементів табличних величин за даними умовами у навчальному середовищі програмування."
28.02.2023 - 01.03.2023
Добрий день! Тема уроку: "Алгоритми опрацювання табличних величин: знаходження суми значень елементів; суми або кількості значень елементів, що задовольняють заданим умовам."
07.01.2023 - 08.01.2023
Доброго дня! Тема уроку: "Виконання індивідуальних і групових навчальних проектів"
31.01.2023 - 01.02.2023
Доброго дня! Тема уроку: "Робота з базою даних. Практична робота #7 "Робота з базою даних"
Д/з повторити все про базу даних
26.01.2023 - 27.01.2023
Добрий день! Тема уроку: "Запити на вибірку даних"
Д/з навчитися створити запити
4.01.2023 - 25.01.2023
Вітаю! Тема уроку:"Впорядкування, пошук і фільтрування даних."
Тести для виконанняД/з повторити все про базу даних
12.01.2023 - 13.01.2023
Добрий день! Тема уроку: "Реляційні бази даних, їх об'єкти"
Д/з опрацювати навчальну презентацію
Тести для опрацювання
10.01.2023 - 11.01.2023
Доброго дня! Тема уроку: "Поняття бази даних і систем керування базами даних, їх призначення."
21.12.2022
Доброго дня! Контрольна робота
14.12.2022
Доброго дня! Практична робота# 5 "Упорядкування даних у таблицях. Автоматичні та розширені фільтри"
Роботу надсилайте на електронну пошту документом
Д/з повторити матеріал для опрацювання табличних даних, підготуватися до контрольної роботи
13.12.2022
Доброго дня! Тема уроку: " Проміжні підсумки Експорт та імпорт електронних таблиць.
Д/з підготуватися до контрольної роботи
Немає коментарів:
Дописати коментар