Skip to content

Алгоритми

Ви вже інтенсивно працювали з алгоритмами на уроках інформатики раніше. Ось визначення, з яким ми можемо погодитися:

Визначення: Алгоритм

Алгоритм - це набір інструкцій для вирішення завдання або набору завдань.

Властивості алгоритмів

Не кожен набір інструкцій є алгоритмом. Щоб ми могли назвати щось алгоритмом, інструкції повинні мати наступні властивості:

Властивості
  • Виконуваність: Алгоритм повинен виконуватися без помилок
  • Скінченність: Алгоритм має скінченну довжину
  • Повторюваність: Для однакових входів отримуємо однакові виходи кожного разу
  • Детермінізм: Для кожного кроку існує точно один визначений наступний крок

🤖 Від RobotKarol до PyTurtle 🐢

Ви вже знаєте робота Кароль. У минулому ви точно говорили їй, що робити.

Завдання

Разом з партнером зберіть команди, які ви могли дати Кароль. Подумайте, що Кароль могла робити. Потім відкрийте наступне посилання і подивіться на світ, де знаходиться Кароль. Подивіться на код і подумайте, що Кароль, ймовірно, буде робити під час виконання.

js
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 деякими функціями. Окрім нашого коду, відображається екран, який дозволяє маленькій "черепашці" ходити та малювати. Це практично, оскільки ми можемо чудово візуалізувати виконаний код.

Python Logo

Перші кроки

Поки для Кароль у нас була окрема програма, для черепашки Тобі підходить веб-сайт, спеціально побудований для маленької черепашки: pythonsandbox.com/turtle

Як тільки ви відкриєте веб-сайт, ви отримаєте наступний код, який може здатися вам знайомим у деяких частинах. Давайте разом подивимося на код.

python
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 уникають зайвого писання.

python
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

python
import turtle
t = turtle.Turtle()

число = 5
t.write(число)

t.forward(50)  # Зробити місце для наступного числа

число = 10
t.write(число)

Приклад 2

python
import turtle
t = turtle.Turtle()

a = 7
b = 3
сума = a + b

t.write("Сума: ")
t.forward(50)
t.write(сума)

Приклад 3

python
import turtle
t = turtle.Turtle()

число = 5
число = число + 2 

t.write(число)

Завдання

Виконайте наступні завдання самостійно або з партнером.

Завдання 1: Виправлення

python
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. Поміняйте їх значення місцями та виведіть результат.