Інформація про новину
  • Переглядів: 1021
  • Дата: 5-02-2022, 15:29
5-02-2022, 15:29

35. Пошук елементів у масиві в Python. Розв'язування прикладних задач

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





Попередня сторінка:  34. Пошук елементів у масиві в Python
Наступна сторінка:   36. Сортування масивів в Python

ЗАДАЧА 1

Дано список прізвищ учасників олімпіади з інформатики та результати їхньої участі в олімпіаді, що мають значення від 0 до 100 у вигляді десяткового дробу з одним десятковим знаком. Визначити:

список переможців олімпіади, а саме, тих, що мають результат більший за середній бал; учасників, що отримали більше 50 балів;

учасників, що мають кількість балів, меншу від n, де n — значення, введене користувачем з використанням вікна введення даних.

Задачу з учасниками олімпіади ми вже розглядали в одному із попередніх параграфів. Отже, скористаємося вже наявними там кодами, необхідними для розв’язання задачі.

1. Завантажте файл-заготовку Задача_35_1.ру із матеріалів до даного параграфу. Файл-заготовка містить команди створення інтерфейсу, списків учнів та результати їхньої участі в олімпіаді, а також обчислення середнього бала усіх учасників.

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

3. Додайте команди обробника події натиснення кнопки Переможці олімпіади.

Додайте виклик обробника події в конструкторі кнопки Переможці олімпіади.

5*. Обробники подій до кнопок Більше 50 та Менше n створіть самостійно. Додайте команди виклику цих обробників подій у відповідних конструкторах.

ЗАДАЧА 2

Відома вартість квитків у купейному вагоні на поїзд Київ-Одеса у різні дні тижня. Визначити:

дні, коли вартість квитка є найнижчою; дні, коли вартість квитка є найвищою;

дні, коли вартість квитка є нижчою від n, де n — ціна, яку введе користувач;

дні, коли вартість квитка є нижчою, ніж середня вартість на квиток.

1. Завантажте файл-заготовку Задача_35_2.ру із матеріалів до даного параграфу. На рис. 35.1 позначено елементи інтерфейсу програми.

2. Додайте команди виведення масивів до елементів керування Lb_week та Lb_tick. Місце додавання коду встановіть самостійно.

3. Додайте обробник події натиснення кнопки Найдешевші дні.

4. Додайте команду виклику обробника події в конструкторі кнопки Найдешевші дні.

5. Інші завдання даної задачі виконайте самостійно, додавши необхідні елементи інтерфейсу та команди для обчислення.

ЗАДАЧА 3

Перед початком роботи кондуктор отримує рулон автобусних квитків. Усі квитки пронумеровані шестицифровими числами. Кожен рулон складається з 1000 квитків з номерами від ###000 до ###999, тобто три перших цифри номера квитків з одного рулону збігаються. Нехай даний рулон починається числом 123. Вивести усі «щасливі» квитки з даного рулону. (Щасливим є квиток, у якого сума перших трьох цифр дорівнює сумі останніх трьох цифр.)

Аналіз умови задачі

Оскільки ми маємо для кожного квитка порівняти суму перших трьох цифр та суму останніх трьох цифр, то потрібно визначити їхні значення. Сума перших трьох цифр для кожного квитка є сталою і дорівнює 1+2+3=6. Для знаходження суми останніх трьох цифр необхідно знаходити значення кожної цифри, а потім їхню суму у тілі циклу.

Створення програмного коду

1. Уведіть команди створення масиву n, що містить номери квитків від 123000 до 123999 включно.

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

3. У тілі оператора циклу додайте команди визначення 4-ї, 5-ї та 6-ї цифр.

4. Додайте команду обчислення суми останніх трьох цифр номера квитка.

5. Перевірте, чи дорівнює 6 знайдена сума. Якщо умова виконується, номер квитка є щасливим, виведіть його значення.

6*. Самостійно змініть програмний код таким чином, аби перші три цифри номерів квитків у рулоні вводив користувач.

ВПРАВА 35

Створіть програми для розв’язання задач.

a. Дано масив середньодобових температур протягом року. Визначити кількість днів, коли середньодобова температура була нульовою. Знайти, скільки разів середньодобова температура з від’ємної змінювалася на додатну.

b. Магазин на честь відкриття першим 100 покупцям видавав лотерейні квитки, що мають випадкове число від 1000 до 9999. Якщо у квитку сума цифр менша або дорівнює 10, то покупець одержує виграш 100 грн, якщо перша та остання цифри збігаються — виграш 200 грн, якщо виконуються обидві умови, — виграш 500 грн. Визначити, скільки покупців одержали виграш по 100 грн, по 200 грн та по 500 грн. Визначити загальну суму виграшу, сплачену магазином.

Зауваження. Оскільки в лотерейних квитках числа як правило не повторюються, то для створення послідовності випадкових чисел без повторень скористайтеся наступною конструкцією:

 

 

 

Це матеріал з підручника Інформатика 9 клас Казанцева, Стеценко 2022

 




Попередня сторінка:  34. Пошук елементів у масиві в Python
Наступна сторінка:   36. Сортування масивів в Python



^