ШПМ учителів інформатики (керівник Сайко С.В.)








2. Програмування мовою Python. Олімпіадні задачі.


Рекомендую подивитись на дію коду у інструменті  http://www.pythontutor.com/live.html#mode=edit
де під час покрокового виконання коду візуалізується що відбувається у пам'яті комп'ютера.
Це дуже корисно для учнів - бо наочно!

Задача 1 класична:
Поміняти місцями дві змінні без третьої.
Якщо класика, то так:
a = 7
b = 5
a = a + b
b = a - b
a = a - b

А, якщо чисто по-пітонівськи, то:
a,b = b,a

Задача 2:Дізнатися чи належить число заданному проміжку не використовуючи and?
a=5
b=9
c=8
if a<c<b :
    print ('Yes')
else:
    print ('No')

Задача 3 на текстові величини:
Петрик П'яточкін на уроці літератури отримав домашнє завдання написати твір про проведення літніх канікул, довжиною до 10000 слів.
Так, як він хлопчик досить ледаченький, то вирішив знайти готовий твір в Інтернеті. Але от незадача, знайшов твір тільки про Івасика, а потрібно про Петрика.
Петрику нав'язався допомогти кращий програміст школи - Вася Пупкін. Він за допомогою мови програмування Пайтон за 10 хвилин написав програму, котра перетворює знайдений в Інтернеті твір на такий, що повністю влаштовує Петрика!
f = open('text.txt', 'r')
my_string = f.read()
f.close()
my_string=my_string.replace('Івасик','Петрик')
f = open('text.txt', 'w')
f.write(my_string)
f.close()

Задача 4 на текстові величини:
Петрик П'яточкін, набираючи реферат по українській літературі, замість української розкладки клавіатури випадково включив російську.
Відповідно у нього замість "і" вийшло - "ы", замість "ї" - "ъ", замість апострофа - "ё", та й літера "є" була повернута в іншу сторону.
Порахувати, скільки помилок у тексті спричинила не правильна розкладка клавіатури? Врахувати великі та малі літери. Вивести текст після виправлення помилок.

Приклад:
petro.in
Ынформатика - це наука про ынформацыю, ъъ обробку та перетворення. Це правило вивчити на памёять. Воно э у пыдручнику!

petro.out
8
Інформатика - це наука про інформацію, її обробку та перетворення. Це правило вивчити на пам'ять. Воно є у підручнику!
d ={
'Э':'Є',
'э':'є',
'Ы':'І',
'ы':'і',
'ъ':'ї',
'Ъ':'Ї',
'ё':"'",
'Ё':"₴",
}
s=input()
sum = 0
for key, value in d.items():
    sum += s.count(key)
    s = s.replace(key, value)
print(sum)
print(s)
Задача 5:
Про ханойські вежі методом рекурсії
n - кількість дисків, a - номер диску b- стовп якого знімаємо с- стовп на який  надіваємо

def hanoi(n, a, b, c):
        if n > 0:
                hanoi(n - 1, a, c, b)
                print(n, a, b)
                hanoi(n - 1, c, b, a)
        return n, a, b

n = int(input())
a, b, c = 1, 3, 2
hanoi(n, a, b, c)

Для подальшого розгляду пропоную задачі з ресурсу https://pythontask.pp.ua/, на якому подано теоретині відомості про python  та, систематизовані по розділам, задачі з розвязками.
Література для опрацювання:
1 Козолуп Є. В Програмування в школі. Мова Python : Навчальнийrn посібник. 8 клас. / Є. В. Козолуп. — Суми, 2018. — 82 с.
2 Козолуп Є. В. Програмування в школі. Мова Python : Навчальний посібник. 9 клас / Є. В. Козолуп. — Суми, 2017. — 56 с.
3 Козолуп Є. В. Практичне програмування мовою Python. Частина 1 (для 10-11 класів) / Є. В. Козолуп. — Київ, 2019. — 72 с.
4 Дідковський В. Л., Матвійчук С. В. Олімпіадна інформатика. — Х.: Видавнича група «Основа», 2012. — 239, [1] с. — (Серія «Олімпіади»). ISBN 978-617-00-1215-9


4.База освітніх ресурсів з інформатики 

  • Проект «Про Інтернет» http://www.prointernet.in.ua/about спрямовано на підвищення цифрової компетентності учнів українських шкіл. Навчальна частина проекту складається з чотирьох навчальних модулів для школярів. Для вчителів — методичний посібник і практикум для проведення занять. Інтерактивна частина включає в себе гру та тестування, покликані оцінити рівень підготовки учня. За умови успішного проходження тестування учень нагороджується спеціальним сертифікатом Google.
  • Віртуальний тренажер зі складання персонального комп’ютера http://vvpk.at.ua/files/skladannya_pk/index.html тренажер розроблений для вивчення внутрішньої будови ПК. Тренажер дозволяє відпрацьовувати навички складання конфігурацій ПК в залежності від типу вирішуваних завдань.
  • Інтернет-видання “Блог Imena.UA” https://www.imena.ua/blog/ майданчик для обміну інформацією про технології, які змінюють життя. У центрі нашої уваги прориви в науці та медицині на стику з мережевими технологіями, значущі досягнення техніки і успіхи в бізнесі. Ми живемо в майбутньому, яке вже наступило, ділимося з читачами знаннями про сьогодення і минуле, з розумінням готуємося до прийдешніх змін.
  • Мій клас https://miyklas.com.ua/p?fbclid=IwAR1fNtLunOS8BgMuM80-a6OSvDhjzswyYjVwOFJO9V4pETjzhGKT-TReOx8 пропонує широкий спектр матеріалів — завдання, теорія та тести у шкільних предметах. Кожне завдання має кроки розв'язання, таким чином учень може самостійно вивчати предмет і вчитися на своїх помилках.

6 коментарів: