Огляд ресурсів та інших можливостей при підготовці завдань з програмування у 5-11 класах з розбором деяких олімпіадних завдань на мові програмування Python
Підготовка завдань з програмування в середній школіПідготувала учитель інформатики. Добренського ліцею. Озолиньш К. М.
Номер слайду 2
При підготовці завдань з програмування, я користуюсь наступними сайтами. Перелік книг на наступних слайдахhttps://olympkh.dots.org.ua/OLYMPKH: Система перевірки задачhttps://itknyga.com.ua/ІТ-книга – Інтерактивний підручник з інформатикиhttps://www.e-olymp.com/E-Olymphttps://dystosvita.gnomio.com/Інформатика - Дист. Освіта
Номер слайду 3
Сергій Матвійчукmatvvei@gmail.com У автора можна замовити книги за e-mail: matvvei@gmail.com Тільки друковане видання
Номер слайду 4
Програмування в школі. Мова Python Козолуп Є. В.https://www.facebook.com/kozolup2 На зображенняхзнаходяться посилання на книги. У автора можна замовитикнигу “Практичнепрограмування”
Номер слайду 5
Ракута Валерій,valerarakuta@gmail.com У автора можна замовити книги за e-mail: valerarakuta@gmail.com Сайт автораhttps://iktvshkoli.blogspot.com/p/python.html. Тільки електронне видання
Номер слайду 6
І розбираємо завдання з олімпіад попередніх років
Номер слайду 7
Номер слайду 8
Номер слайду 9
Тризначне число можна представити у вигляді розрядів, наприклад423=4*100+2*10+3*1 Якщо, першу цифру позначити як а, другу як b, третю як с, тоді число матиме вигляд а*100+b*10+c*1 Для тризначного числа з трьома різними цифрами існує 6 комбінацій розміщення (3!=1*2*3=6)abc=а*100+b*10+c*1acb=а*100+c*10+b*1bac=b*100+a*10+c*1bca=b*100+c*10+a*1cab=c*100+a*10+b*1cba=c*100+b*10+a*1 S= 222(a+b+c) звідсиb=(S-222*(a+c))/2
Номер слайду 10
В інтерактивному режимі
Номер слайду 11
Зчитування даних з файлу
Номер слайду 12
Номер слайду 13
Математична модель. Квиток до подорожчання — КВідсоток подорожчання — РНаявність коштів — SНова ціна — позначимо m. Кількість квитків - b. Щоб знайти вартість квитка після подорожчання скористаємось наступною формулою, яку можна вивести з пропорції
Номер слайду 14
Математична модель. К — 100%m — (Р+100)%З цієї пропорції маємо, Остання дія, яку потрібно виконати — це ділення. Наявних коштів націло на m
Номер слайду 15
В інтерактивному режимі
Номер слайду 16
Зчитування даних з файлу
Номер слайду 17
Номер слайду 18
Математична модель{B272 AE26-9 BB8-42 C5-9 F99-ED34 FE6 E3677}Команда. Кількість забитих м’ячів. Кількість пропущених м’ячів. АT1[0]+T2[0]T1[1]+T2[1]ВT1[1]+T3[0]T1[0]+T3[1]СT2[1]+T3[1] T2[0]+T3[0]Результати матчів записуємо у списки Т1, Т2, Т3, де
Номер слайду 19
Математична модель. Різниця забитих і пропущених м’ячів запишемо у змінні А1, В1, С1 A2=T1[0]+T2[0]-(T1[1]+T2[1])B2=T1[1]+T3[0]-(T1[0]+T3[1])C2=T2[1]+T3[1]-(T2[0]+T3[0])Переводимо результати гри в очкиif T1[0]==T1[1]: T1[0],T1[1]=1,1else: max_index, min_index = T1.index(max(T1)) ,T1.index(min(T1)) T1[max_index], T1[min_index] = 3,0
Номер слайду 20
Математична модель. Переводимо результати гри в очкиif T1[0]==T1[1]: T1[0],T1[1]=1,1else: max_index, min_index = T1.index(max(T1)) ,T1.index(min(T1)) T1[max_index], T1[min_index] = 3,0 У цій частині коду ми порівнюємо кількість голів і замінюємо на відповідну кількість очків і повторюємо цю частину коду змінюючи індекси турнірів
Номер слайду 21
Математична модель. A1=T1[0]+T2[0]B1=T1[1]+T3[0]C1=T2[1]+T3[1]S=[A1,B1,C1,A2,B2,C2,'A','B','C']Знаходимо загальну кількість очок, яку набрала кожна з команд і занесемо данні у новий список S
Номер слайду 22
Математична модельif S[0]!=S[1]and S[0]!=S[2]and S[2]!=S[1] : max_index=S.index(max(S[0],S[1],S[2])) out.write(str(S[max_index+6])) Починаємо перевіряти перші три елементи списку, якщо вони різні між Собою обираємо максимальний з них і до індексу цього елемента додаємо 6,Таким чином ми дізнаємось, яка команда перемогла. Наприклад максимальним виявився елемент S[1] ,тоді S[1]+6=’B’S=[A1,B1,C1,A2,B2,C2,'A','B','C']
Номер слайду 23
Математична модельelif S[0]==S[1]==S[2] and S[3]==S[4]==S[5]: out.write('Draw') Якщо перші три елементи списку рівні, та наступні три рівні (різниця між Забитими та пропущеними м’ячами, тоді буде НІЧИЯ
Номер слайду 24
Математична модель Якщо кількість очок у двох командах рівна, то потрібно порівняти різницюзабитих і пропущених м’ячів. Для цього ми знайдемо мінімальний елемент зперших трьох і видалити його, та кожен третій елемент списку з порівнянняelse: k=S.index(min(S[0],S[1],S[2])) del S[k::k+2] l=S.index(max(S[2],S[3]))
Номер слайду 25
Зчитування даних з файлу
Номер слайду 26
Зчитування даних з файлу
Номер слайду 27
Номер слайду 28
Математична модель. У задачі ми повинні перевірити, чи є число повним квадратом і якщо так то повинні вивести, число, яке при піднесенні до другого степеня буде дорівнювати вихідним даним. Якщо, ні -ми ділимо число, доки не отримаємо повний квадрата - вихідне число,k - лічильник, який буде щоразу збільшуватись на 1, поки ми не отримаємо повний квадратn - максимальне число, на яке ми будемо ділити, воно буде не більше половини вихідного числа