Списки. Тестування програм 9б

   Необхідні програми для роботи


Онлайн-підручник

Уроки 43,  44

20.02.2025

Алгоритми впорядкування

АСИНХРОННО

Вітаю! Сьогодні попрацюємо із способами сортування:  бульбашкою (обміном), вибором, вставкою

Крок 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)
☝Крок 4: Завдання
на 8 балів 

на 12 балів розв'яжи задачу👇

Задано масив А із n натуральних чисел, впорядкуйте його за
допомогою сортування бульбашкою, і виведіть масив після
кожної ітерації сортування.


!Необхідно надіслати скриншот із заповненими 12-14 рядками
програми. Що там має бути, дивись вище кроки->Сортування
Відповідь надсилай на пошту teacheritschool1@gmail.com.
_________________________________________________

Уроки 41,  42

13.02.2025

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

АСИНХРОННО

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

Крок 1: Переглянь минулий урок

Крок 2: Опрацюй завдання нижче

Надрукуй лише ті елементи, для яких значення більше за номер

(приклад - задача 1 з попереднього уроку)


💫Що написано під прямокутником 1 та під прямокутником 2? Уважно подивись на Задачу 1 у попередньому уроці. Відповідь надсилай на пошту teacheritschool1@gmail.com.

Крок 3: Способи сортування


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

_______________________

Уроки 39,  40

06.02.2025

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

АСИНХРОННО

Вітаю! Сьогодні продовжуємо працювати із списками - будемо порівнювати елементи не тільки за їх номерами, а й за значеннями

Крок 1: Перегляд елементів списку за значеннями

(першоджерело ДистОсвіта)

У мові Python елементи списку можна перебирати як за номерами, так і за значеннями.

Наприклад, якщо ми маємо список spysok, то команда циклу

for element in spysok:

перебиратиме всі елементи цього списку, за їхніми значеннями: 1,5,-2,8 і так далі до -5. 

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


Крок 2: Перегляд елементів списку за номерами

Якщо ж ми сформулюємо цикл інакше:

for nomer in range(10):

то перебиратимемо номери елементів списку від 0 до 9. 

За такого формулювання циклу ми маємо можливість працювати як з номерами елементів (від 0 по 9), так і з їх значеннями spysok[nomer]

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

Зауважте, що якщо у списку 10 і це len(spysok) елементів, то їх номери від 0 по 9, тобто від 0 по len(spysok)-1.

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

for nomer in range(len(spysok)):

💪Крок 3: Задачі

Задача 1

Надрукувати лише ті елементи, для яких значення менше за номер (з прикладу: -2, 0, -3, 6, 4, -5)

Оскільки потрібно працювати і з елементами, і з номерами - використаємо цикл перебору номерів.

import random 
spysok=[] 
for nomer in range(10): 
  spysok.append(random.randint(0,10)) 
print(spysok) 

print('Елементи, для яких значення більше за номер') 
for nomer in range(len(spysok)): 
  if spysok[nomer] > nomer: 
    print("номер елемента",nomer,"=",spysok[nomer],"сам елемент")
Задача 2


import random
spysok=[]
for nomer in range(10):
    spysok.append(random.randint(0,10))
print(spysok)
nul=False
nomer=0
while not nul and nomer < len(spysok):
    if (spysok[nomer]==0):
        nul=True
    else:
        print (spysok[nomer])
    nomer=nomer+1
💪Крок 4: Завдання
1) Практична частина
💫Виконай самостійно! 
на 8 балів: Необхідно протестувати програми вище. Фото чи скриншот програми чекаю на пошту teacheritschool1@gmail.com
на 12 балів: Треба внести зміни у код : змінити кількість чисел у списку або діапазон, з якого генеруються числа
___________________________________________________

Уроки 37, 38

30.01.2025

Основні дії із списками. Алгоритми опрацювання даних у списку

Урок у Meet о 12.55 
https://meet.google.com/gfi-icxo-nby

Вітаю! Сьогодні продовжуємо працювати із списками, а саме навчимось додавати, вилучати та шукати необхідні елементи у списках

Крок 1: Додаємо елементи до списку

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

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

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

Порівняй 2 наступні приклади роботи даного методу:



Крок 2:  Видаляємо елементи списку

letters.remove('c')

del letters[3]

lastLetter = letters.pop()


💪Крок 3: Завдання 1

Запиши, використовуючи приклади у Крок 2, що виконують remove, del та  pop. А також зазнач, які їх призначення та різниця у виконанні.  Відповідь надсилай на пошту teacheritschool1@gmail.com.

Крок 4: Пошук елементів у списку

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

letters.index('d')

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

max(spysok)

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

spysok.index(max(spysok))

Крок 5: Як видалити зі списку найбільший елемент


import random
spysok=[]
for nomer in range(10):
    k=random.randint(0,5)
    spysok.append(k)
print(spysok)

m=max(spysok)

while m in spysok:
    spysok.remove(max(spysok))
print(spysok)
Крок 6: Як видалити третій елемент списку?
💪Крок 7: Завдання 2
💫Що написано у рядку 7? Зверни увагу на Крок 2. Відповідь надсилай на пошту teacheritschool1@gmail.com.

Не забудь надіслати і завдання із Крок 3

Також виконай ТЕСТ

_____________________________________

Уроки 35, 36

23.01.2025

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

асинхронно

Вітаю! Сьогодні починаємо працювати зі списками

Крок 1: Уточнимо, що називають 👉списком

Списки дозволяють зберігати в одному місці взаємопов’язані дані, скільки б їх не було - кілька елементів або кілька мільйонів елементів. Робота зі списками належати до найбільш видатних можливостей Python.
У список можна додати нові елементи, а також видалити або перезаписати наявні. Одне і те ж значення може зустрічатися в списку кілька разів.

Що таке список? Список можна створити для зберігання букв алфавіту, цифр від 0 до 9 або рядків, наприклад, імен всіх членів вашої родини. У списку можна зберігати будь-яку інформацію, причому дані в списку навіть не зобов’язані бути якось пов’язані один з одним. Оскільки список, зазвичай, містить більше одного елемента, рекомендується надавати спискам імена у множині: letters, digits, names і т. д.

Крок 2: Приклади створення списків

Приклад 1:Створення списку з назвами моделей автомобілів

Приклад 2:

  1. Створення порожнього списку з ім’ям empty_list.

  2. Створення списку днів тижня з ім’ям weekdays.

  3. Створення списку тварин з ім’ям animals.

  4. Створення списку імен з назвою first_names.

  5. Створення порожнього списку another_empty_list за допомогою функції list(

Крок 3: Розв'яжемо таку задачу

💫Виконай самостійно! Необхідно за зразком вище вивести будь-який (на твій вибір) крилатий вислів. Фото чи скриншот програми чекаю на пошту teacheritschool1@gmail.com

Крок 4: Розглянемо ще один спосіб виведення списку

Виконаємо разом першу частину завдання:

Крок 5: Завдання
💫Виконай самостійно другу частину!  Фото чи скрін програми (першої та другої частин!) чекаю на пошту teacheritschool1@gmail.com
💪Тест

__________________________________________________

Уроки 33, 34

16.01.2025

Повторення матеріалу, вивченого раніше з теми. Структуровані типи даних

асинхронно

Вітаю, друже,  у 2 семестрі! Ми його розпочинаємо із роботи з Python. Тому перед тим, як почати вивчати новий матеріал, пройди наступне опитування для визначення, що ти пам'ятаєш з цієї теми


Тож почнемо пригадувати)

Крок 1: Переглянь відео (перемотуючи; зупиняйся на тому, що ти не пам'ятаєш)

💪Крок 2: Завдання 1

 Виконай тест

Зверни увагу на  коментарі до виконання завдань. Опрацюй посилання - підказки, якщо ти допустився (допустилась) помилок

Крок 3:   Почнемо вивчення структурованих типів даних

Крок 4: Переглянь приклад розв'язання такої задачі

Створити список з 10 випадкових елементів (від -10 до 10) і надрукувати його.

Щоб знайти суму елементів списку, потрібно:

1) Створити змінну, яка буде накопичувати суму, наприклад s. На початку ініціалізувати її значення, s=0

2) За допомогою циклу перебираємо усі елементи списку. Можна це робити за номерами чи за самими елементами.

3) У циклі додаємо до змінної s кожен елемент, який розглядаємо.

4) Після завершення циклу друкуємо результат, тобто значення змінної s.

import random
spysok=[]
for i in range(10):
k=random.randint(-10,10)
spysok.append(k)
print (spysok)

s=0 for nomer in range(10): s=s+spysok[nomer]
print("Сума=",s)

Крок 6: Завдання 2
Протестуй задачу із кроку 4 та надішли результат її
роботи на електронну 
скриньку teacheritschool1@gmail.com

💫Крок 5: Додатково!

Якщо ти цікавишся програмуванням і хочеш спробувати свої сили, то пропоную скористатись сайтом за посиланням. Тут ти можеш обрати задачу, рівень складності та позмагатися з учнями з інших країн за найкращий розв'язок.

На платформі необхідна реєстрація для фіксації результатів.

Ти сьогодні дізнався багато нового! Пишаюсь тобою!

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

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