Завдання: створити
проект для розв’язання задачі.
Дано
таблицю результатів шкільного математичного турніру, в якому брало участь 5
команд. Визначити команду-переможницю і призерів турніру.
І.
Розміщення елементів керування на формі
1. Створіть
новий проект. Змініть значення властивості Caption форми згідно з рис..
2. Розробіть
інтерфейс програми. Можливий вигляд вікна програми наведено на рис.. Компонент
StringGrid призначено для виведення турнірної таблиці; компонент Memo — для
виведення масиву рейтингу; компонент ListBox — для виведення списку призерів.
3. Налаштуйте
властивості елементів керування згідно з рис.. Параметру
StringGrid1.Options.goEditing надайте значення True.
ІІ.
Розробка програмного коду
4. Опишіть
глобальний двовимірний масив Tur: array[1..5, 1..6] of Integer для збереження
турнірної таблиці.
5. У
процедурі обробки події OnCreate для форми запишіть оператори для виведення
заголовків рядків і стовпців таблиці StringGrid1. Заголовку шостого стовпця
надайте значення Сума.
6. У
процедурі обробки події OnClick для кнопки Занести бали до масиву запишіть
програмний код, що реалізує читання значень із таблиці StringGrid1 і присвоєння
цих значень елементам масиву Tur.
7. Обчисліть
суму балів кожної команди-учасниці. Для цього в процедурі обробки події OnClick
для кнопки Знайти суму балів команд запишіть оператори для заповнення шостого
стовпця таблиці.
Алгоритм
додавання елементів масиву по рядках: для кожного значення індексу
і значення суми обнуляється, потім до значення суми додаються елементи і-го
рядка з першого по п’ятий. Одержана сума присвоюється шостому елементу і-го
рядка.
8. Визначте
рейтинг команд і розташуйте їхні номери за зменшенням суми балів. Найбільша
сума балів, яку може одержати кожна команда в ході турніру, дорівнює 8 (чотири
перемоги). Тому процедура додавання до масиву Memo1.Lines[k] номерів команд за зменшенням
суми балів може бути такою:
var N,
k: Integer;
begin
k := 0;
For N := 8 downto 0 do
For i
:= 1 to 5 do
If
Tur[i, 6] = N Then
begin
Memo1.Lines[k] := IntToStr(i);
k := k
+ 1;
end;
end;
9. У
процедурі обробки події OnClick для кнопки Визначити переможців запишіть
програмний код для виведення трьох перших елементів масиву Memo1.Lines[k] як
номерів команд-призерок турніру.
ІІІ.
Тестування проекту
10. Перевірте
правильність роботи програми, заповнивши турнірну таблицю так, як показано на
рис.. Числа в таблиці означають: 2 — виграш, 1 — нічия, 0 — програш.
11. Перевірте
роботу програми, запускаючи проект на виконання для різних варіантів заповнення
турнірної таблиці.
12. Збережіть
проект у папці Практична робота 13. Завершіть роботу за комп’ютером.
Зробіть
висновок: як застосовувати алгоритми пошуку значень у масиві для розв’язування
задач.
Домашня робота
Завдання 2. Табель
У вибраному середовищі програмування створіть проект
Табель, у якому реалізовано
електронний табель. У проекті передбачте, що в лінійній таблиці задають назви
предметів, які вивчає учень. Елементи управління екранної форми передбачають
можливість за номером предмета дізнатись оцінку з відповідного предмета; отримати
дані про максимальну оцінку з предметів, що вивчаються; кількість предметів,
які мають найвищу та найнижчу оцінки; середній бал успішності.
Комментариев нет:
Отправить комментарий