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
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')
b=9
c=8
if a<c<b :
print ('Yes')
else:
print ('No')
Задача 3 на текстові величини:
Петрик П'яточкін на уроці літератури отримав домашнє завдання написати твір про проведення літніх канікул, довжиною до 10000 слів.
Так, як він хлопчик досить ледаченький, то вирішив знайти готовий твір в Інтернеті. Але от незадача, знайшов твір тільки про Івасика, а потрібно про Петрика.
Петрику нав'язався допомогти кращий програміст школи - Вася Пупкін. Він за допомогою мови програмування Пайтон за 10 хвилин написав програму, котра перетворює знайдений в Інтернеті твір на такий, що повністю влаштовує Петрика!
Петрик П'яточкін на уроці літератури отримав домашнє завдання написати твір про проведення літніх канікул, довжиною до 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()
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
Інформатика - це наука про інформацію, її обробку та перетворення. Це правило вивчити на пам'ять. Воно є у підручнику!
Петрик П'яточкін, набираючи реферат по українській літературі, замість української розкладки клавіатури випадково включив російську.
Відповідно у нього замість "і" вийшло - "ы", замість "ї" - "ъ", замість апострофа - "ё", та й літера "є" була повернута в іншу сторону.
Порахувати, скільки помилок у тексті спричинила не правильна розкладка клавіатури? Врахувати великі та малі літери. Вивести текст після виправлення помилок.
Приклад:
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)
'Э':'Є',
'э':'є',
'Ы':'І',
'ы':'і',
'ъ':'ї',
'Ъ':'Ї',
'ё':"'",
'Ё':"₴",
}
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)
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 тренажер розроблений для вивчення внутрішньої будови ПК. Тренажер дозволяє відпрацьовувати навички складання конфігурацій ПК в залежності від типу вирішуваних завдань.
- Гра Interland https://beinternetawesome.withgoogle.com/en_us/interland
- Інтернет-видання “Блог Imena.UA” https://www.imena.ua/blog/ майданчик для обміну інформацією про технології, які змінюють життя. У центрі нашої уваги прориви в науці та медицині на стику з мережевими технологіями, значущі досягнення техніки і успіхи в бізнесі. Ми живемо в майбутньому, яке вже наступило, ділимося з читачами знаннями про сьогодення і минуле, з розумінням готуємося до прийдешніх змін.
- The Future http://thefuture.news/about/ український освітній ресурс про новітні технології
- Kodu Game Lab https://www.kodugamelab.com/ створення комп'ютерних ігор
- getcodingkids https://getcodingkids.com/ HTML, CSS та JavaScript.
- Мій клас https://miyklas.com.ua/p?fbclid=IwAR1fNtLunOS8BgMuM80-a6OSvDhjzswyYjVwOFJO9V4pETjzhGKT-TReOx8 пропонує широкий спектр матеріалів — завдання, теорія та тести у шкільних предметах. Кожне завдання має кроки розв'язання, таким чином учень може самостійно вивчати предмет і вчитися на своїх помилках.
- Група "Шкільна інформатика від А до Я" https://www.facebook.com/groups/213244579490153/?multi_permalinks=638093893671884¬if_id=1584945020493665¬if_t=group_highlights Спілкуємось на теми, пов'язані з викладанням інформатики та використанням засобів сучасних інформаційних технологій в навчальних закладах
- Code Club https://projects.raspberrypi.org/en Проекти з програмування, роботехніки, 3Д моделювання
Чудний О.В. Дякую.
ВідповістиВидалитидякую!!! корисно)
ВідповістиВидалитиМабуть, прийдеться вчити мову Python:)
ВідповістиВидалитиСергій Валентинович , а де завдання для вчителів ?
ВідповістиВидалитиДякую, дуже цікаво та корисно.
ВідповістиВидалитиWow, that is quite informative. I like this article very much. The content was good. If any of the engineering students are looking for a projects for raspberry pi projects, I found this site and they are providing the best service to the engineering students regarding the projects raspberry pi projects
ВідповістиВидалити