Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

9 клас Алгоритми та програми

Зміст занять 👇Урок 20. Алгоритм знаходження елементів, що задовольняють задані умови.
Урок 21. Пошук у масиві за певними критеріями.
Урок 22. Зміна порядку елементів масиву.
Урок 23. Пошук у масиві (списку) за певними критеріями
 




Приклад програми якщо впорались з 1 етапом

Етап 2. Програмування подій










Приклад готового обробника події


Додамо фунції до нашого  проєкту "Піцерія"




Функція кнопки

Не забуваємо звернутись до функції








Урок 15. Повторення матеріал вивченого раніше
Середовище програмування 👉 https://replit.com/



Урок 16. Структурова типи даних

 



Практична робота 9-А

Зроблено в Padlet


Практична робота 9-Б

Зроблено в Padlet


Урок 17. Поняття одновимірного масиву (списку)


 


Задача 1. Склади список улюблених хобі і дай йому назву змінної hobbies. Склади список своїх улюблених страв і назви цю змінну food. Об’єднай два списки й назви результат favourite. Виведи цю змінну.

Задача 2. Склади список із букв українського алфавіту. За допомогою функції del видали усі голосні літери.

Задча 3. Створи список із п'яти випадкових чисел з діапазону від 0 до 100.

Урок 18. Способи заповнення масиву (списку) значеннями.

Створення масиву засобами об’єктно-орієнтованого програмування

Практична робота




Урок 19. Типові алгоритми опрацювання даних в одновимірному масиві (списку)


 






Урок 20. Алгоритм знаходження елементів, що задовольняють задані умови.

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

Завдання 1.
Завдання 2.

Урок 21. Пошук у масиві за певним критерієм

В одновимірному масиві можна виконувати наступні види пошуків:
• пошук усіх елементів з певними властивостями;
• пошук першого елемента з певними властивостями;
• пошук останнього елемента з певними властивостями.
Існує декілька реалізацій цих алгоритмів пошуку — розглянемо
найбільш уживані, створивши програми до відповідних практичних вправ.


Урок 22. Зміна порядку елементів масиву.




Приклад різних способів сортування списку наведено в таблиці 36.1.



Функція сортування


Завдання




Урок 23. Пошук у масиві (списку) за певними критеріями

Проект "Піца" (EasyGUI)
Користувачеві пропонується вибір начинок для піци:





import easygui
toppings= ['шинка','помідори','сир','перець','курка','ананас','кукурудза','печериці']
skladovi=easygui.multchoicebox('Оберіть додатки для піци',choices=toppings)

Залежно від обраних додатків, до базової ціни додається вартість окремих компонентів:

price=20
if 'помідори' in skladovi:
price+=8
(Самостійно допишіть для 'шинка', 'сир', 'перець', 'курка', 'ананас', 'кукурудза', 'печериці'. Вартість кожного компонента вказуєте самостійно)

Далі слід обрати розмір піци:


size=easygui.buttonbox('Оберіть розмір піци',choices=['мала','середня','велика'])

Залежно від обраного розміру, ціна множиться на відповідний коефіцієнт:

if size=='мала':
price *= 0.75
(Самостійно допишіть для 'середня', 'велика'. Коефіцієнт вкажіть самостійно)

Після цього виводиться ціна вибраної піци:
easygui.msgbox(price)


Доповніть проєкт картинками.


easygui.msgbox(price,image="p.jpeg")
Роботу надішліть на електронну адресу вчителя.

Урок 24. Алгоритм знаходження підсумкових величин

Гра "Вгадай колір" (EasyGUI)
Перейдіть за посиланням https://replit.com/new/python3

    Гра полягає у створенні написів різними кольорами. Гравцеві потрібно вибрати колір, яким написано текст. Складність полягає у тому, що текст - це теж назва кольору, але не того, яким написано цей текст.




    Для гри потрібно імпортувати модулі малювання (tkinter), випадкових чисел (random) та графічного інтерфейсу (easygui)

    Після створення полотна потрібно визначити список кольорів kolory. Бажано підібрати такі кольори, назви яких будуть відомі та зрозумілі гравцям, а також такі, що відрізняються між собою. Наприклад, не бажано включати у список такі схожі кольори, як brown та chocolate.
    Для виведення тексту певного кольору на полотно використовується команда

canvas.create_text(x, y, text="Текст", fill="Колір", font="Times 25")

x, y - координати розміщення тексту
Times 25 - назва шрифту та розмір літер

Для надання гравцеві можливості вибрати колір, використаємо елемент кнопкового вибору:

user = easygui.buttonbox("Який колір тексту?", choices = kolory )

    У змінній user зберігається відповідь користувача. Цю відповідь можна порівнювати з тим кольором, яким насправді написано текст (властивість fill текстового напису).

    Гра має продовжуватись, генеруючи нові кольори та слова, допоки користувач не зробить помилки



2. Виконайте тест

Урок 15. Повторення матеріалу, вивченого раніше
 
  


Складіть бургер

https://www.mostfungames.com/goldburger-to-go.htm
Завдання полягає в тому, щоб розвивати усі складові острова так, щоб досягнути максимального рівня в усіх галузях.

Розвивайте острів:

https://www.crazygames.com/game/grow-island



Розвивайте долину:

https://www.crazygames.com/game/grow-valley

Розвивайте вежу:
https://www.crazygames.com/game/grow-tower


 

Урок 16. Структуровані типи даних

Середовище програмування https://replit.com/languages/python3
Практична робота 9-А клас

Сделано на Padlet

Практична робота 9-Б клас

Сделано на Padlet




Урок 17. Поняття одновимірного масиву (списку)
Список - це cтруктура даних, яка зберігає набір елементів. У мові Python список може містити елементи різних типів, і не потрібно попередньо оголошувати розмір такого списку.

Доступ до окремих елементів списку здійснюється через вказання імені списку і порядкового номера (індекса) конкретного елемента у квадратних дужках. Варто пам'ятати, що нумерація починається з нуля. Можна також нумерувати елементи списку від'ємними числами (з кінця списку).

https://pythontutor.com/live.html#mode=edit




Урок 17. Поняття одновимірного масиву (списку)

 






Урок 21. Алгоритм знаходження елементів, що задовольняють задані умови

Бульбашкове сортування в танці

Задача 1. Сортування обміном. Метод "бульбашки”

Проходимо список стільки разів, скільки у ньому є елементів-1
Щоразу переглядаємо увесь список (крім останнього елемента) (можна до кінця відсортованої частини)
При потребі міняємо елементи місцями
for perebir in range(9):
    for nomer in range(9):
        if spysok[nomer]>spysok[nomer+1]:
            k=spysok[nomer]
            spysok[nomer]=spysok[nomer+1]
            spysok[nomer+1]=k
Інший запис:
spysok[nomer],spysok[nomer+1]=spysok[nomer+1],spysok[nomer]

Задача 2. Сортування вибором

Проходимо список стільки разів, скільки елементів-1
Щоразу знаходимо найменший елемент та його номер і міняємо його місцями з поточним
for perebir in range(9):
    print(spysok[perebir:10])
    fragment=spysok[perebir:10]
    m=fragment.index(min(fragment))
    k=m+perebir
    spysok[k],spysok[perebir]=spysok[perebir],spysok[k]
print(spysok)

Інший запис (без функцій min та index)
for n in range(10):
    m=spysok[n]
    for nomer in range(n,10):
        if m>=spysok[nomer ]:
            m=spysok[nomer ]
            a=nomer 
    k=spysok[n]
    spysok[n]=spysok[a]
    spysok[a]=k
print(spysok)

Задача 3. Сортування вставкою

Проходимо список стільки разів, скільки елементів, починаючи з другого
Записуємо елемент у допоміжну змінну, і проходимо список у зворотньому напрямку, поки не знайдемо правильне місце для елемента. 
При цьому всі пройдені елементи зміщуються на 1
for perebir in range(10):
    j = perebir - 1
    element = spysok[perebir]
    del spysok[perebir]
    while (j >= 0) and (spysok[j] > element):
        j = j-1
    spysok.insert(j + 1, element)
print(spysok)

Інший спосіб (без функцій del та insert)
for n in range(1,10):
    a=n
    print(spysok[a])
    while (spysok[a] > spysok[a-1]) and (a > =0):
        k=spysok[a]
        spysok[a]=spysok[a-1]
        spysok[a-1]=k
        a-=1
print(spysok)

Зміна порядку елементів

Додавання елементів до списку

spysok.append(k) - додає 1 елемент k у кінець списку

spysok.insert(n,k) - додає 1 елемент k всередину списку, на заданий номер n

spysok.extend(a,b,c) - додає кілька елементів a,b,c у кінець списку


Видалення елементів

letters.remove('c')

del letters[3]

lastLetter = letters.pop()


Пошук елемента у списку

'a' in letters

Номер елемента

letters.index('d')


Найбільший елемент

max(spysok)


Номер найбільшого елемента

spysok.index(max(spysok))

Функція - це виокремлений блок коду, до котрого можна неодноразово звертатись під час роботи програми Функція може приймати певні значення (аргументи) та повертати результати.

Функції та методи сортування

Функції та методи - це вбудовані команди (послідовності команд, підпрограми), котрі застосовуються до об'єктів основної програми. 

Функція - іменована послідовність команд, котра, як правило, має результат, котрий повертається в основну програму. Наприклад, sorted(spysok) . Функція має аргумент - назву списку, який пишеться в дужках. Функція повертає результат, але не змінює самого списку.

Метод - функція, котра використовується з об'єктами певного типу (класу). Першим формальним параметром є ім'я об'єкту. Наприклад, spysok.sort(). Метод застосовується до конкретного об'єкту (списку), і змінює його.

Наприклад, розглянемо початковий список

spysok=[1,5,2,8,4,0,6,8]

Якщо до цього списку застосуємо функцію sorted, то команда

print(sorted(spysok))

виведе впорядкований список. Але наступна команда 

print(spysok)

дозволяє переконатись, що сортування відбулось лише під час друку, сам список залишився незмінний. 

Якщо ж ми застосуємо метод sort(), то наступна команда друку дозволяє переконатись, що список тепер відсортовано.

spysok.sort()

print(spysok)

Щоб відсортувати у порядку спадання, можна вказати параметр reverse: 

spysok.sort(reverse=True) 

Урок 18. Введення й виведення значень елементів масиву (списку)
 1. Перегляньте відео

2. Розв'яжіть задачу в зошиті.

Урок 19. Способи заповнення масиву (списку) значеннями 1. Ознайомтеся з презентацією 2. Розв'яжіть задачу в зошиті.

 


Урок 20. Типові алгоритми опрацювання даних в одновимірному масиві (списку) Практична робота 5

Урок 26. Підготовка та використання наборів тестових даних
Урок 27.Порівняння альтернативних алгоритмів розв'язання задачі
Урок 28.Поняття складності алгоритмів Практична робота 7
Урок 29.Бібліотеки та модулі мови програмування
Урок 30.Рішення для окремих частин проєкту у вигляді процедур чи функцій
Урок 31.Визначення теми програмного проекту
Урок 32. Розробка та тестування програмного рішення
Урок 33. Збір та аналіз відгуків користувачів програми
Урок 34.Підготовка звіту та презентації проекту
Урок 35. Сучасні професії та напрямки у галузі розробки програмного забезпечення

Немає коментарів:

Дописати коментар

Примітка: лише член цього блогу може опублікувати коментар.