Урок №49. Інструктаж з БЖД. Практична робота №9 "Упорядкування та пошук даних"
Етап вступного повторення
Обговорюємо
У чому полягає сутність сортування масиву методом вибору максимального елемента?
На якому місці у масиві може міститися його найбільший/найменший елементи, якщо масив впорядковано за зростанням; за спаданням; масив невпорядкований?
Етап практичної роботи
Вправа 1. Створіть проект, у якому знаходять різницю між найбільшим і найменшим елементом лінійної таблиці з 10 дійсних чисел, які набувають значень від 5 до 10 випадково.
Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Випробування.
У вікні редактора коду запишіть команди випадкового генерування елементів масиву (списку) та виведення елементів списку у вікні виконання проекту, пошуку найбільшого й найменшого елементів списку, виведення різниці значень max і min. Зверніть увагу на вираз для генерування випадкових дійсних чисел мовою Python.
import random
a = []
for i in range(10):
a.append(round((10.0 - random.random() * 5.0), 2))
print('Вхідний масив випадкових дійсних чисел: ', a)
a.sort()
print('Відсортований масив за зростанням: ',a)
print('max = {0}; min = {1}'.format(a[-1], a[0]))
print('Різниця max-min: ', round(a[-1] - a[0], 2))
Запустіть проект на виконання. Якщо є помилки - виправте їх. Обчисліть різницю найбільшого і найменшого значень самостійно і порівняйте її з результатом роботи програми.
Вправа 2. Створіть проект, у якому елементи лінійної таблиці з 10 цілих чисел впорядковуються за зростанням.
Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Упорядкування.
Реалізуйте проект, додавши в нього можливість сортувати і за спаданням. Скористайтеся поданим програмним кодом.
a = []
for i in range(10):
a.append(int(input('Введіть елемент масиву: ')))
print('Вхідний список: ', a)
a.sort()
print('Впорядкований список за зростанням: ', a)
a.sort(reverse = True)
print('Впорядкований список за спаданням: ', a)
Зверніть увагу на методи сортування масивів (списків) мовою Python. Проаналізуйте результати роботи програми.
Вправа 3. Створіть проект Прогноз погоди, у якому за поданою таблицею (списком) температури протягом тижня знаходять найбільший і найменший показники температури.
Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Прогноз погоди.
У вікні редактора коду запишіть команди випадкового генерування елементів масиву (списку) та виведення елементів списку у вікні виконання проекту, пошуку найбільшого й найменшого елементів списку.
import random
a = []
for i in range(10):
a.append(round(random.randint(-100, 100) * 0.5, 2))
print('Вхідний масив значень температури протягом тижня: ', a)
a.sort()
print('Відсортований масив значень температури протягом тижня (за зростанням): ',a)
print('max = {0} градусів\nmin = {1} градусів'.format(a[-1], a[0]))
Запустіть проект на виконання і перевірте, чи відповідають умові завдання отримані результати. Якщо є помилки, виправте їх, збережіть зміни.
Завдання 4. Використовуючи мову програмування Python створіть проект гри Відгадай число. Користувач вводить число, яке, на його думку, може міститися в лінійній таблиці з 10 цілих чисел, що генеруються випадково від 1 до деякого випадкового цілого числа. Якщо таке число відгадане, то гра припиняється й виводиться повідомлення про перемогу; якщо після 5 спроб число не вгадують, то гра припиняється з повідомленням про невдалі спроби. У грі можуть бути підказки, які спрямовуватимуть користувача на правильний вибір значення.
Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Відгадай число.
У вікні редактора коду введіть команди.
import random
a = []
for i in range(10):
a.append(random.randint(1, 20))
number = random.choice(a)
guessesTaken = 0
myName = input('Привіт! Як тебе звати? ')
print('Отже, ' + myName + ', я задумав число від 1 до 20.')
while guessesTaken < 6:
guess = int(input('Спробуй відгадати. '))
guessesTaken += 1
if guess < number:
print('Твоє число менше від задуманого.')
elif guess > number:
print('Твоє число більше за задумане.')
else:
break
if guess == number:
print('Дуже добре, ' + myName + '! Для відгадування тобі знадобилося ' + str(guessesTaken) + ' разів!')
else:
print('Ні. Число, яке я задумав: ' + str(number))
Запустіть проект на виконання і проаналізуйте результат.
Змініть правила гри, наприклад, зменшіть/збільшіть кількість спроб для вгадування задуманого числа. Реалізуйте ситуацію, коли число можна вгадати з першої спроби.
Етап перевірки набутих знань
Перевірити свої знання за посиланням