Алгоритми
Ви вже інтенсивно працювали з алгоритмами на уроках інформатики раніше. Ось визначення, з яким ми можемо погодитися:
Визначення: Алгоритм
Алгоритм - це набір інструкцій для вирішення завдання або набору завдань.
Властивості алгоритмів
Не кожен набір інструкцій є алгоритмом. Щоб ми могли назвати щось алгоритмом, інструкції повинні мати наступні властивості:
Властивості
- Виконуваність: Алгоритм повинен виконуватися без помилок
- Скінченність: Алгоритм має скінченну довжину
- Повторюваність: Для однакових входів отримуємо однакові виходи кожного разу
- Детермінізм: Для кожного кроку існує точно один визначений наступний крок
🤖 Від RobotKarol до PyTurtle 🐢
Ви вже знаєте робота Кароль. У минулому ви точно говорили їй, що робити.
Завдання
Разом з партнером зберіть команди, які ви могли дати Кароль. Подумайте, що Кароль могла робити. Потім відкрийте наступне посилання і подивіться на світ, де знаходиться Кароль. Подивіться на код і подумайте, що Кароль, ймовірно, буде робити під час виконання.
repeat 4 times
Step(3)
PutDown
Step
TurnLeft
endrepeat
На жаль, у Кароль є невелика проблема. Хоча вона може дуже добре орієнтуватися в своєму середовищі, їй важко запам'ятовувати речі. Щоб вирішувати більші та складніші проблеми, однак, нам потрібно вміти запам'ятовувати та отримувати різні дані. На щастя, у Кароль є хороший друг: Тобі черепашка, яка може запам'ятати багато речей 🐢
Цілі
- Як працювати з PyTurtle
- Як команди з Karol виглядають у Python
- Що таке змінні та
- Для чого використовуються змінні в інформатиці (та PyTurtle)
PyTurtle: Контекст
"Python ([ˈpʰaɪθn̩] або [ˈpʰyːtɔn]) - це універсально використовувана [...] мова програмування. Вона має на меті сприяти читабельному, стислому стилю програмування." (офіційний веб-сайт Python) За допомогою Python ми розширимо та поглибимо наші навички та знання навколо алгоритмів. Ну, але хіба не було тільки що мови про черепашку?
PyTurtle розширює мову програмування Python деякими функціями. Окрім нашого коду, відображається екран, який дозволяє маленькій "черепашці" ходити та малювати. Це практично, оскільки ми можемо чудово візуалізувати виконаний код.

Перші кроки
Поки для Кароль у нас була окрема програма, для черепашки Тобі підходить веб-сайт, спеціально побудований для маленької черепашки: pythonsandbox.com/turtle
Як тільки ви відкриєте веб-сайт, ви отримаєте наступний код, який може здатися вам знайомим у деяких частинах. Давайте разом подивимося на код.
import turtle
t = turtle.Turtle()
t.speed(5) # 1:slowest, 3:slow, 5:normal, 10:fast, 0:fastest
t.forward(100)
На початку кожної програми ми повинні спочатку викликати нашу черепашку Тобі. Для цього ми використовуємо команду import turtle
. Термін "імпортувати" ви вже знаєте з інших предметів, і він має дуже схоже значення в більшості мов програмування (привезти щось до себе). З t = turtle.Turtle()
ми тепер створюємо об'єкт, який ми називаємо t
, і який є типу Turtle()
. Хто хоче писати більше, може назвати черепашку замість t
також tobi
, але з t
уникають зайвого писання.
import turtle
t = turtle.Turtle()
t.speed(5) # 1:slowest, 3:slow, 5:normal, 10:fast, 0:fastest
t.forward(100)
Тепер ми можемо командувати Тобі (t.
). Спочатку ми даємо йому швидкість з t.speed(5)
і потім змушуємо його малювати лінію довжиною 100 одиниць з t.forward(100)
. Запустіть програму та спостерігайте, що відбувається!
Існують ще інші команди, які виявляються дуже корисними: з t.right(180)
та t.left(90)
Тобі повертається на відповідний градус (подумайте про коло з 360 градусів), t.circle(10)
малює коло розміром 10, t.penup()
та t.pendown()
піднімають або опускають олівець, а t.goto(x, y)
телепортують Тобі до координати, яку ви вводите для x та y.
Завдання
Напишіть програму, яка малює першу літеру вашого прізвища. Вже готово? Намалюйте цифру 9 після вашої літери.
Змінні
Ви вже знаєте концепцію змінних з уроків математики. Для уроків інформатики важливо, щоб ви відклали свої попередні знання і заново вивчили концепцію змінних в інформатиці. Ми можемо думати про змінні як контейнери для значення, з яких можна щось витягти і щось покласти. У Python ми можемо "створювати" змінні, записуючи наступний вираз у наш код: назва_змінної = значення
або розмір_взуття = 39
.
Примітка
Імена змінних за конвенцією пишуться маленькими літерами і повинні бути якомога зрозумілішими. Імена як gfpr_123juhu
або цеважливазмінназапамятай
можливі, але дуже небажані.
Що ми можемо робити з такими контейнерами, стає зрозуміло з наступних прикладів. Подумайте разом у парі, який результат ви побачите на екрані перед тим, як запустите програму.
Приклад 1
import turtle
t = turtle.Turtle()
число = 5
t.write(число)
t.forward(50) # Зробити місце для наступного числа
число = 10
t.write(число)
Приклад 2
import turtle
t = turtle.Turtle()
a = 7
b = 3
сума = a + b
t.write("Сума: ")
t.forward(50)
t.write(сума)
Приклад 3
import turtle
t = turtle.Turtle()
число = 5
число = число + 2
t.write(число)
Завдання
Виконайте наступні завдання самостійно або з партнером.
Завдання 1: Виправлення
import turtle
tobi = turtle.Turtle()
8 = число
t.write(число)
Завдання 2: Обчислення
Створіть програму Python з Turtle, яка зберігає два числа у змінних (наприклад, a та b). Обчисліть їх суму, різницю (a - b) та добуток (a * b). Виведіть всі три результати з Turtle, кожен з відповідним текстом перед ним.
Завдання 3: Кола
Напишіть програму Python з Turtle, яка малює три кола поруч одне з одним.
- Перше коло повинно мати радіус 50.
- Після кожного кола радіус повинен збільшуватися на 10.
- Використовуйте для цього лише одну змінну, наприклад radius.
Завдання 4: Виправлення
Створіть дві змінні a = 5
та b = 7
. Поміняйте їх значення місцями та виведіть результат.