Презентація "Умовний оператор і шахи" (для вчителя)

Про матеріал

Презентація до уроку інформатики "Повна та скорочена форма оператора розгалуження". Пропоную розглянути задачі, що визначають правила переміщення шахових фігур. Презентація призначена для вчителів, містить пояснення до розв'язку задач мовою програмування Python.

Зміст слайдів
Номер слайду 1

Умовний оператор та шахи

Номер слайду 2

Усі знають, як виглядає поле шахівниці. Деяким навіть відомо, як ходять шахові фігури. Але не кожен здогадається використовувати Python у якості помічника в цій популярній стародавній грі. Пропоную поєднати шахи та розгалуження і розв’язати декілька задач, що підкажуть гравцю – новачку, чи зможе зробити хід фігура або на клітинки якого кольору опиниться гравець.

Номер слайду 3

Для зручності написання коду програми, позначимо рядки також цифрами.

Номер слайду 4

Задача 1. Задані дві клітини шахової дошки. Якщо вони пофарбовані в один колір, то виведіть слово YES, а якщо в різні кольори - то NO. Програма отримує на вхід чотири числа від 1 до 8 кожне, що задають номер стовпця і номер рядка спочатку для першої клітини, потім для другої клітини. Наприклад, якщо буде введено 1 1 2 6 , то результат виконання програми YES;2 2 4 5 – результат NO.

Номер слайду 5

Розв’язок. При розв'язанні задачі, запропонуйте учням проаналізувати адреси клітинок, що розфарбовані однаковим кольором. Напевне, вони помітять, що у непарному рядку непарні стовбці такого ж кольору, що і у парних рядках на парних стовбцях. Задача майже розв’язана: if (x1 % 2 == 0) and (y1 % 2 == 0) and (x2 % 2 != 0) and (y2 % 2 != 0) :    print('YES')Але! Чи не забули вони порівняти непарні строки - парні стовбці з парними строками – непарними стовбцями? Чи не занадто складна умова? Треба шукати іншу закономірність…Правильний розв’язок: x1 = int(input())y1 = int(input())x2 = int(input())y2 = int(input())if (x1 + y1 + x2 + y2) % 2 == 0:    print('YES')else:    print('NO')

Номер слайду 6

Задача 2. Шахова тура ходить по горизонталі або вертикалі. Дано дві різні клітини шахової дошки; визначте, чи може тура потрапити з першої клітини на другу одним ходом. Програма отримує на вхід чотири числа від 1 до 8 кожне, що задають номер стовпця і номер рядка спочатку для першої клітини, потім для другої клітини. Програма повинна вивести YES, якщо з першої клітини ходом тури можна потрапити в другу або NO в іншому випадку. Наприклад, якщо буде введено 1 1 1 8, то результат виконання програми YES;4 4 5 5 – результат NO.

Номер слайду 7

Розв’язок. Аналіз клітинок, по яких буде переміщуватися тура, приводить до висновку: фігура залишається або на стовбці (змінюється номер строки), або переміщення здійснюється за стовбцем (номер строки не змінюється). Правильний розв’язок: x1 = int(input())y1 = int(input())x2 = int(input())y2 = int(input())if x1 == x2 or y1 == y2:    print('YES')else:    print('NO')

Номер слайду 8

Задача 3. Шаховий король ходить по горизонталі, вертикалі і діагоналі, але тільки на 1 клітину. Дано дві різні клітини шахової дошки, визначте, чи може король потрапити з першої клітини на другу одним ходом. Програма отримує на вхід чотири числа від 1 до 8 кожне, що задають номер стовпця і номер рядка спочатку для першої клітини, потім для другої клітини. Програма повинна вивести YES, якщо з першої клітини ходом короля можна потрапити в другу або NO в іншому випадку. Наприклад, якщо буде введено 1 1 1 8, то результат виконання програми YES;4 4 5 5 – результат NO.

Номер слайду 9

Розв’язок. Аналіз клітинок, по яких буде переміщуватися тура, приводить до висновку: координати Х або У не відрізняються більш, ніж на 1. Ось тут учням варто пригадати геометричний зміст модуля!Правильний розв’язок: x1 = int(input())y1 = int(input())x2 = int(input())y2 = int(input())if abs(x1 - x2) <= 1 and abs(y1 - y2) <= 1:    print('YES')else:    print('NO')

Номер слайду 10

Задача 4. Шаховий кінь ходить літерою "Г" - на дві клітини по вертикалі в будь-якому напрямку і на одну клітку по горизонталі, або навпаки. Дано дві різні клітини шахової дошки, визначте, чи може кінь потрапити з першої клітини на другу одним ходом. Наприклад, якщо буде введено2 4 3 2, то результат виконання програми YES;1 1 1 4 - результат NO.

Номер слайду 11

Розв’язок. Учням, напевно, важко буде здогадатися, що треба звернути увагу окремо на значення координат по Х, і окремо по У. Не зайвим буде розглянути правильні переміщення “коня”, порівняти модулі різниці координат, зробити припущення щодо розв’язку. Правильність міркувань доводиться при розглядання тих ходів, за якими “кінь” переміщуватися не може. Правильний розв’язок: x1 = int(input())y1 = int(input())x2 = int(input())y2 = int(input())dx = abs(x1 - x2)dy = abs(y1 - y2)if dx == 1 and dy == 2 or dx == 2 and dy == 1:    print('YES')else:    print('NO')

pptx
Додано
4 жовтня 2018
Переглядів
2271
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку