mozok.click » Інформатика » Розв'язування компетентнісних задач
Інформація про новину
  • Переглядів: 3338
  • Автор: admin
  • Дата: 18-09-2017, 10:57
18-09-2017, 10:57

Розв'язування компетентнісних задач

Категорія: Інформатика

Які задачі цікавлять вас більше: ті, які поставлені у формалізованому вигляді, чи ті, які сформульовані у словесній формі, для яких спочатку потрібно розробити математичну модель? Наведіть приклади таких задач.

Задача № 1

У кожний період розвитку людства популярними були різні імена як серед жінок, так і серед чоловіків. Нині спостерігається тенденція до використання стародавніх імен, таких як Матвій, Кирило, Анастасія. Дослідіть, які імена найчастіше зустрічаються, наприклад, серед 11 учнів вашого класу. Розробіть необхідний алгоритм і програму визначення кількості різних імен.

Рекомендації. Існують різні алгоритми розв'язування цього завдання. Один із можливих алгоритмів ґрунтується на використанні допоміжного масиву, елементи якого під час уведення в основний масив імен учениць набувають значення true. Потім його відповідні елементи набувають значення false, якщо ім'я раніше вже зустрічалося в основному масиві або збігається з поточним іменем відповідного елемента основного масиву. Для розв'язання завдання можна також використати й різні засоби (компоненти). Доцільно дотримуватися такого порядку виконання завдання.

Розробити алгоритм.

Розмістити на формі необхідні компоненти, наприклад TListBox, TEdit і TButton.

Увести в об'єкт ListBoxI імена учнів класу, наприклад у такому порядку: Дмитро, Ольга, Олена, Дмитро, Аліса, Дмитро, Тетяна, Олена, Тетяна, Олег, Юрій (рис. 1). Властивості Text об'єкта Edit1 надати значення Різних імен=, а властивості Caption об'єкта Button1 — значення Виконати. Установити подію onclick для об'єкта Button1 .

Рис. 1. Об'єкти ListBox1, Edit1 і Button1 на формі

Розробити програмний код реалізації алгоритму. Результатом цього виконання повинні бути дані, наведені на рис. 2.

Рис. 2. Результат, який необхідно отримати

Порівняти розроблений вами програмний код із варіантом коду, зображеним на рис. 3, з метою виявлення переваг і недоліків кожного з них.

Рис. 3. Варіант програмного коду реалізації завдання 1

Задача № 2

Дано двовимірний масив цілих чисел розмірністю n xm. Розробіть алгоритм і програму визначення мінімального числа в кожному рядку і створення з них одновимірного масиву. Сформулюйте самостійно умову задачі, з якою ви зустрічалися в житті або можете зустрітися та яку можна формалізувати у сформульованій формі.



Задача № 3

Для підготовки до участі в чемпіонаті з легкої атлетики тренер поставив перед спортсменом завдання: перший тиждень пробігати дистанцію, довжина якої умовно дорівнює одиниці, а кожного наступного тижня збільшувати дистанцію на довжину, яка дорівнює початковій дистанції, поділеній на номер поточного тижня. Таким чином, математична модель бігу спортсмена така: 1, 1 + 1/2, 1 + 1/2 + 1/3, 1 + 1/2 + 1/3 + 1/4 + ...

Розробіть алгоритм і програму визначення номера тижня, коли дистанція буде більшою за 1,91.

Задача № 4

Розробіть програму для автоматизації пошуку ліків у базі аптеки. Одним із можливих варіантів може бути такий. Після запуску програми на формі повинні з’явитися компоненти, орієнтовний зміст яких зображено на рис. 4.

На формі розташовані такі об’єкти: ListBox1, Label1, Button1 і Button2. Для об’єкта Button1 встановлено значення Розпочати роботу властивості Caption. Усі інші об’єкти порожні. Після клацання кнопки Розпочати роботу відкривається вікно функції InputBox. Якщо ввести у це вікно, наприклад, латинську літеру b, то з масиву, в якому зберігаються всі назви ліків аптеки, вибираються всі ті ліки, назви яких починаються з цієї літери, і виводяться у поле об’єкта ListBoxI аналогічно тому, як зображено на рис. 5.


У полі об’єкта Button2 з’явилося повідомлення Завершити роботу, а поле об’єкта Button1 стало порожнім. Після клацання кнопки Завершити роботу повинно відкритися таке вікно, як зображено на рис. 4. Якщо в цьому вікні клацнути кнопку Розпочати роботу й увести літеру, на яку не починається жодна назва ліків у базі (масиві) аптеки, наприклад літеру w, то повинно відкритися вікно, орієнтовний зміст якого зображено на рис. 6.

На рис. 7 подано програму, що реалізує описаний сценарій.

Рис. 7. Програмний код для провізора аптеки

Проаналізуйте програму, доведіть, що вона функціонує правильно для іншої бази ліків. Зверніть увагу на те, що в коді програми використано 2 обробники подій. Перший обробник виконує функцію пошуку і виведення назв ліків, а другий виконує допоміжну функцію — встановлює нові значення й очищує поля компонентів.

Виберіть нові компоненти для реалізації завдання. Зробіть спробу розробити більш компактний програмний код і доведіть, що він функціонує правильно, або запропонуйте інший варіант підвищення продуктивності праці провізора аптеки.

Задача № 5

Із 1 до 10 березня учень спостерігав, на скільки збільшився світловий день. Розробіть алгоритм і програму визначення того, у які дні день збільшувався найбільше.

 

Це матеріал з підручника Інформатика 9 клас Руденко (поглиблений рівень)

 






^