uabooks.top » Інформатика » 14. Малювання та цикли в Phyton
Інформація про новину
  • Переглядів: 211
  • Дата: 28-09-2020, 03:46
28-09-2020, 03:46

14. Малювання та цикли в Phyton

Категорія: Інформатика




 

Щоб почати малювати Черепашкою, достатньо запрограмувати дві або три команди, як показано в наведених нижче програмах. У результаті буде створено графічне вікно, що матиме такий вигляд, як показано зліва (після двох команд) або справа (після трьох команд).

Подумай, яку із трьох перелічених дій виконує кожна з команд програми, зображеної справа на попередній сторінці: задати зовнішній вигляд персонажа-художника; підключити модуль turtle;

перемістити персонажа-художника в центр графічного вікна.

Що в команді turtle, shape ("turtle") є назвою об’єкта-виконавця, що — власне командою, а що —її параметром? Яку мові Python розділяються об’єкти та команди, які ці об’єкти виконують?

Як і у Скретчі, графічне вікно у Python являє собою умовну координатну площину, початок відліку якої розташовано в центрі вікна.

Ознайомся в рубриці «Запитання - відповіді» з командами, які виконує Черепашка, і спробуй запрограмувати малювання такої спіралі, як показано на малюнку.

На аркуші у клітинку накресли прямими лініями своє ім’я, підпиши координати горизонтальних і вертикальних ліній із кроком 10 та створи Python-програму, яка малює це ім’я.

Щоб перейти від однієї літери до іншої, не залишаючи сліду, скористайся командою turtle.up(), а щоб знову малювати — turtle.down().

Порівняй програми з визначеними циклами, що малюють ту саму фігуру у Скретчі та в Python.

Дай відповіді на запитання

1. Яку фігуру малюють ці програми?

2. Пригадай, що таке ітерація циклу. Дай визначення цього поняття. Скільки ітерацій мають зображені цикли?

3. За допомогою якої команди в Python визначають, скільки ітерацій має цикл?

4. Пригадай, що таке тіло циклу. Які команди входять у тіло циклу в зображеній програмі?

5. Як узагалі в Python визначити, які команди належать до тіла циклу?

6. Що було б намальовано, якби команда turtle.right(60) була записана без відступу, на одному рівні із ключовим словом for?

Розглянь уважно програму з визначеним циклом.

Ця програма буде виводити значення 0,1,2, 3, 4. Зроби висновки

І.Яке ім’я в цій програмі має змінна-лічильник? Яких значень вона набуває?

2. Якщо команду print(j) замінити командою print(j*j) , які значення виведе програма?

3.3 яких значень складається діапазон гапде(п)?

Які з перелічених нижче команд необхідно записати в тілі циклу програми, що будує правильний п-кутник з довжиною сторони 100?

Створи програму, яка просить користувача ввести число л, після чого малює правильний п-кутник із довжиною сторони 100.

Припустимо, ми хочемо намалювати зображену сніжинку. Виконуючи команду turtle. forward(100), Черепашка малює червоний промінь.

Дай відповіді на запитання.

1. Скільки разів має повторити Черепашка команди, що малюють промінь?

2. На який кут має повертати Черепашка від променя до променя, якщо, намалювавши всю сніжинку, вона поверне на 360°?

3. Які ще дві дії, крім команди turtle.forward(100), має виконати Черепашка, щоб перейти до малювання синього променя?

Запрограмуй малювання сніжинки.

На скільки градусів має кожної ітерації повертати Черепашка, щоб намалювати л-променеву сніжинку, де л вводить користувач? Зауваж, що загалом протягом виконання всієї програми Черепашка поверне на 360°.

Створи програму, яка просить користувача ввести число п, після чого малює п-променеву сніжинку.

Який фрагмент зображеної шестикінцевої зірки малюватиметься на одній ітерації циклу в наведеній нижче програмі?

Запрограмуй малювання зображеної зірки з довжиною однієї сторони промінчика 50, скориставшись шаблоном програми:

Ознайомся уважно з відповіддю на запитання: «Як працює команда range?» з рубрики «Запитання - відповіді» та виконай завдання.

Завдання. Укажи, які зі значень, наведених у 2-7 стовпцях таблиці, можуть набувати лічильники циклів, записаних у першому стовпці.

Мельник Софія — учениця 11 класу Полтавського обласного наукового ліцею-інтернату ІІ-ІІІ ступенів при Кременчуцькому педагогічному коледжі імені А. С. Мака-ренка (2019/2020 н.р.).

Переможниця IV етапу Всеукраїнської учнівської олімпіади 2014, 2015, 2016, 2017, 2018, 2019 років.

Золота медаль І Європейської юніорської олімпіади з інформатики 2017 року в м. Софія (Болгарія).

Срібна медаль XXX Міжнародної олімпіади з інформатики 2018 року в м. Цукуба (Японія).

Срібна медаль XXXI Міжнародної олімпіади з інформатики 2019 року в м. Баку (Азербайджан).

Срібна медаль XXVI Центральноєвропейської олімпіади з інформатики 2019 року в м. Братислава (Словаччина).

ЗАПИТАННЯ - ВІДПОВІДІ

Як перейти в режим малювання в Python?

Найпростіші засоби для малювання в Python надає модуль turtle (Черепашка). Щоб почати малювати, записують дві команди:

У результаті буде створено графічне вікно, у центрі якого розміщується вказівник у вигляді стрілочки. Це і є Черепашка, що малюватиме лінії. Можна також записати команду вибору виконавця: turtle.shapefturtle"). Тоді замість стрілочки художником буде власне Черепашка.

Як орієнтуватися у графічному вікні?

Під час малювання Черепашкою графічне вікно являє собою умовну координатну площину, центр якої суміщено із центром вікна.

Як/ основні команди виконує Черепашка?

Як програмують визначені цикли в Python?

Команда циклу в мові Python має такий вигляд:

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

Як працює команда range?

Щоб сформувати діапазон значень, які набуватиме змінна, у мові Python використовується спеціальна команда range.

• k — початкове значення діапазону;

• п — наступне число після кінцевого значення діапазону, тобто діапазон буде завершено значенням, що не перевищує п - 1;

• т — крок, на який збільшуватиметься змінна.

Команду range можна записати без встановлення значення кроку, тоді крок дорівнюватиме 1:

Також команду range можна записати без кроку і без початкового значення, яке тоді дорівнюватиме 0:

 

 

Це матеріал з підручника Інформатика за 7 клас Коршунова

 




^