Логін для LearningApps : stu8c94 Пароль: sommer29

вівторок, 27 квітня 2021 р.

Стратегія гри та організація інтерфейсу

 Код гри Лепрекон-1:

from random import randint

print('Хочешь разбогатеть, путник? Угадай мое число!')

a = randint(1,100)

b=int(input())

while a!=b :

    if a>b :

        print('Мое число больше!')

    else :

        print('Мое число меньше!')

    print('Попробуешь еще?')

    b=int(input())

print('Черт возьми! Ты угадал! Забирай мое золото!')



вівторок, 20 квітня 2021 р.

Алгоритми з повтореннями. Цикл FOR. Спіралі з черепашкою

 Циклы с повторениями спирали 

 


Відеолекція для самостійної підготовки:

Розділ цитується за підручником Бондаренко О.О., Ластовецький В.В.,. Пилипчук О.П., Шестопалов Є.А. Інформатика. 5 клас.


Повторення (цикл) — це алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів. Для запису алгоритмів із повторенням (циклів) мовою Python використовують 2 види операторів циклу: з параметром та з умовою. Серію команд, що повторюється під час виконання циклу, називають тілом циклу. Кожне виконання тіла циклу називають ітерацією.


Повторення команд

Цикл for повторює блок команд (тіло циклу) задану кількість разів, позбавляючи необхідності декілька разів писати одні і ті самі команди.
Синтаксис, або правила запису циклу for, виглядає наступним чином:
for х in range(n) :
          <тіло циклу>

В першу чергу ми вказуємо ключове слово for, після чого указуємо змінну х, яка буде лічильником циклу. Ключове слово in наказує Python по черзі надати змінній x всі значення в діапазоні від 0 до n-1. Не забувайте, що комп'ютер зазвичай починає рахувати з 0, а не з 1, як люди. Вбудована функція range повертає безперервну зростаючу послідовність цілих чисел, які можна використовувати в якості індексів всередині циклу.

Щоб дати зрозуміти комп'ютеру, які команди слід повторити, використовуються відступи. Можна зробити відступ для кожної повторюваної в тілі циклу команди, натискаючи для цього клавішу Tab у вікні нового файла.

Приклад 1. Проаналізуйте зміну значень лічильника х в циклі for. Функція range(4) задає список значень [0, 1, 2, 3]:
for x in range(4) :
        print (x)

Приклад 2. Для малювання трикутника ми тричі, для кожної сторони трикутника, давали Черепашці команди forward(100) і right(120). Замість цього можна повторити ці команди в циклі.
from turtle import *
for х in range(3) :
forward(100)
right(120)





Лічильник циклу for
Змінна-лічильник циклу веде відлік, скільки разів повторився цикл, почергово набуваючи всіх значень з указаного діапазону.
Приклад 3. Діапазон значень може бути заданий у вигляді текстового рядка. Лічильник почергово приймає значення літер, з яких складається указаний рядок:
a = 'Рядок'
for x in a  :
       print ('->', x)



Крім рядків або числових значень змінна може містити списки. Список – це набір значень, розділених комами, взятий у квадратні дужки. У списках можна зберігати значення будь-якого типу, будь то числа або рядки.



Приклад 4. Діапазон значень може бути заданий у вигляді списку значень, взятого в квадратні дужки. Лічильник почергово приймає значення зі списку:
b = [2, 4, 6, 8, 10]
for x in b  :
       print ('->', x)


Якщо список значень лічильника достатньо великий, і числа в списку змінюються з певним кроком, можна застосувати функцію  range з такими параметрами:

range (від, до, крок)

Відлік починається зі значення «від» і завершується на 1 раніше за значення «до».




Приклад 5. Функція range (2,11,3) надає змінній х значення від 2 до (11-1) з кроком 3, тому, хоча 8+3=11, значення 11 вже до діапазону значень не входить.
for x in range(2, 11, 3) :
       print ('->', x)


Приклад 6. Якщо потрібно вести зворотній відлік (в бік зменшення значень), укажіть значення «від» більшим, ніж значення «до», а «крок» повинний бути від’ємним:
for x in range(5, 1, -1) :


Використання циклу for для створення малюнків
Проаналізуємо виконання програми:
from turtle import *
for x in range(1,100,2) :
    forward(x)
    left(90)
При кожному проході циклу Черепашка малює лінію довжиною х пікселів  і повертається вліво на 90° (рис. 31.1). Ви знаєте з курсу математики, що навколо точки можна виконати повний поворот на 360°. Таким чином, за 4 ітерації циклу Черепашка повертається до початкового напрямку  (4*90°=360°).  Програма малює спіраль, тому що кожний відрізок на 2 пікселі довший за попередній: перший відрізок має довжину 1 піксель, другий – 3, останній (50-й) – 99.
Поворот на  90° створює квадратну спіраль. Змінимо кут повороту на 2°: left(92) . Зміна всього лише 1 числа призводить до значних змін у вигляді спіралі (рис.31.2).
       print ('->', x)


Змінимо команду forward(x) на circle(x), яка малює коло радіусу х з поточної позиції.
for x in range(1,100,2) :
    circle(x)
    left(90)
Отримаємо 4 набори  кіл, тому що після малювання кожного кола Черепашка повертається вліво на  90° (рис.31.3). Щоб намалювати n кіл, потрібно повертати Черепашку на 360°/n градусів. Внесемо такі зміни до програми, щоб Черепашка малювала 6 наборів кіл (360°/6=60°, рис. 31.4):
   for x in range(1,100,2) :
    circle(x)
    left(60)
Як зробити наші спіралі різнокольоровими?
Для цього нам потрібен список кольорів, а не один колір, тому ми створимо змінну-список з ім'ям colors і помістимо в цей список чотири кольори:
colors = ['red', 'yellow', 'green', 'blue']
Зверніть увагу, що ми помістили список кольорів у квадратні дужки. Звернутися до значення зі списку з номером х можна як до colors[x]. Наприклад, colors[0] ='red', colors[3] ='blue'.
Складне питання: як змусити черепашку при кожній ітерації циклу, коли х змінюється від 1 до 99, обирати одне з 4-х значень списку?  Використаємо операцію % (остача від ділення). При обчисленні виразу x % 4 ми можемо отримати 4 значення остачі (0, 1, 2, 3), що відповідає номерам кольорів в списку colors.  Повернемось до програми малювання квадратної спіралі, але крок циклу зробимо рівним 1 (рис.31.5):
from turtle import *
colors = ['red','yellow','green','blue']
for x in range(100) :
    color(colors[x% 4])
    forward(x)
    left(90)


Таким чином, вносячи  нескладні зміни до операторів малювання в тілі циклу for, ми можемо отримувати складні цікаві зображення.

неділя, 18 квітня 2021 р.

Цикли. Черепашача графіка в Python

 

 


Розділ цитується за підручником Бондаренко О.О., Ластовецький В.В.,. Пилипчук О.П., Шестопалов Є.А. Інформатика. 5 клас.

Черепашача графіка

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

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

Система координат

Результат виконання Черепашкою команд відображається у вікні Python Turtle Grafics

Для визначення місце­знаходження Черепашки використовують корди­нати. Ви вже знаєте, що таке координатна пряма, і вмієте визначати положення точки на прямій.

Але для малювання нам доведеться користуватися орієнтирами не тільки вздовж прямої, а й на площині. Будь-яка точка у  вікні Python Turtle Grafics може бути задана парою чисел (X, Y).

Координатні осі – це дві координатні прямі, які перетинаються під прямим кутом. Центр вікна Python Turtle Grafics – точка перетину невидимих координатних осей – точка з координатами (0, 0). Вертикальна координата Y зростає знизу до верху, а горизонтальна Х – зліва направо.
На математиці ви працювали з числами, розташованими на координатній прямій праворуч від 0. Але горизонтальну числову пряму можна продовжити вліво, а вертикальну – вниз від 0, а на променях ліворуч і знизу від 0 розташовані від’ємні числа, тобто числа зі знаком мінус ().

На малюнку зображені 5 черепашок і указані координати їхнього місцеположення.

Команди Черепашки

Для завантаження команд роботи з Черепашкою потрібна команда:

from turtle import *

Після введення цієї команди ви можете давати Черепашці команди малювання.

Якщо у вашій програмі є і команди введення-виведення, і команди малювання, перед початком малювання запишіть команду

pendown() – почати малювати;

а завершивши створення малюнку – команду

penup() – закінчити малювати.

Команда
Призначення
forward (n)
Проповзти вперед n кроків (пікселів)
left (angle)
Повернутися наліво на angle градусів
right (angle)
Повернутися направо на angle градусів
circle (r)
Намалювати коло радіуса  r, центр якого знаходиться зліва від черепашки
circle (r,angle)
Намалювати дугу радіуса | r | і градусною мірою angle. 
goto (x,y)
Перемістити Черепашку в точку з координатами (x, y)
down ()
Опустити перо. 
up ()
Підняти перо
width (n)
Встановити ширину сліду Черепашки в n пікселів
write (s)
Вивести текстовий рядок s в точці знаходження Черепашки
clear ()
Очищення області малювання

Приклад 1. Виконання команд малювання

Введіть ці команди у вікні консолі.
>>>from turtle import *
>>> forward(100)
>>> right(120)
>>> forward(100)
>>> right(120)
>>> forward(100)
Черепашка рухається, залишаючи за собою лінію.



Створюємо кольоровий малюнок

Черепашка може залишати не тільки чорний, але й кольоровий слід.

З бібліотекою Turtle ви можете використовувати велику кількість різноманітних кольорів.

Назва кольору (англійською мовою) береться в одинарні лапки, наприклад, ‘red’, ‘yellow’, ‘green’ тощо. Відвідайте сайт www.tcl.tk/man/tcl8.4/TkCmd/colors.htm, щоб переглянути повний список кольорів.

Команда
Призначення
сolor(s)
Встановити колір сліду Черепашки в s
сolor(s1,s2)
Встановити колір сліду Черепашки в s1, а колір заливки замкненої фігури в s2

Для зафарбування замкнених фігур потрібні команди:

begin_fill() – почати стежити за черепашкою для заповнення області
end_fill() – заповнити кольором s2 область, починаючи з begin_fill ().

Приклад 3. У  вікні консолі введіть команди для малювання червоного кола, зафарбованого синім кольором.

>>> color('red', 'blue')
>>> begin_fill()
>>> circle(50)
>>> end_fill()

Результат роботи цієї програми

Завдання для самопідготовки: відеолекція до уроку







вівторок, 13 квітня 2021 р.

Основи мови Python

 

Как загрузить и установить Python?

  • Зайдите на сайт https://www.python.org/
  • Нажмите кнопку Download
  • Выберите подходящий вам вариант загрузки (по умолчанию - Python 3.9.1)

Загрузка Python
  • Запустите загруженный файл установки.
Вместе с Питоном установится IDLE (Integrated Development and Learning Environment) — это интегрированная среда разработки и обучения на языке Python. В ней удобно видеть результаты выполнения отдельных команд.

Среда IDLE для Питона


Чтобы создать новую программу, запустите IDLE Python  и дайте команду File/New File, чтобы создать новый файл программы. Наберите программный код и запустите его на выполнение командой Run - Run Module  или F5



неділя, 11 квітня 2021 р.

Алгоритми та програми

 

 


Каждый человек в повседневной жизни, во время учебы или на работе решает огромное количество задач самой разной сложности. Некоторые из этих задач столь просты и привычны, что мы решаем их не задумываясь, автоматически, и даже не считаем задачами. К ним можно отнести такие задачи, как «купить хлеб», «собраться в школу», «закрыть дверь на ключ» и пр.

Другие же задачи, напротив, так трудны, что требуют длительных размышлений и усилий для поиска решения и достижения поставленной цели.  Например, решения задач «написать контрольную работу на 12» или «свободно разговаривать на иностранном языке» требуют выполнения гораздо большего количества сложных действий, чем решение задачи «купить мороженое». При этом решение даже самой простой задачи обычно осуществляется за несколько последовательных шагов.

Например, процесс покупки хлеба можно представить так:
  • Взять у мамы деньги;
  • Пойти в магазин;
  • Выбрать нужные хлебобулочные изделия;
  • Оплатить стоимость покупки;
  • Принести хлеб домой.

Аналогично, в виде последовательности действий можно описать процессы решения многих задач, с которыми ты имеешь дело в школе:
  • «вычислить периметр многоугольника»
  • «найти наибольший общий делитель двух натуральных чисел»
  • «определить часть речи»
  • «провести фонетический разбор слова».

Такая последовательность шагов в решении задачи называется алгоритмом.

При этом для алгоритма важен не только набор действий, но и то, в каком порядке они выполняются. Например, попробуем переставить в известном тебе алгоритме нахождения наименьшего общего кратного (НОК) нескольких натуральных чисел четвертое действие на второе место:

  1. Разложить исходные числа на простые множители;
  2. Найти произведения получившихся множителей;
  3. Выписать множители, входящие в разложение одного из чисел;
  4. Дописать к ним недостающие множители из разложений остальных чисел.

Эту последовательность действий также можно исполнить, но к достижению поставленной цели (нахождению НОК) она не приведёт!

Алгоритм — конечная последовательность шагов в решении задачи, приводящая от исходных данных к требуемому результату.

Алгоритм может представлять собой некоторую последовательность вычислений, а может — последовательность действий нематематического характера. Но, в любом случае, перед его составлением должны быть чётко определены начальные условия и то, что предстоит получить.

Разрабатывать алгоритмы может (пока!) только человек.

Исполняют алгоритмы люди и всевозможные устройства — компьютеры, роботы, станки, спутники, сложная бытовая техника и даже некоторые детские игрушки. Современного человека окружает множество разнообразных технических устройств: телевизор, магнитофон, фотоаппарат, телефон, стиральная машина, автомобиль и пр. Каждое из этих устройств предназначено для решения своей задачи и способно выполнять некоторый ограниченный набор действий, или команд.

Устройство, способное выполнять определённый набор команд, мы будем называть исполнителем.

Команды, которые может выполнить конкретный исполнитель, образуют систему команд исполнителя (СКИ). Исполнители бывают разные. Одним из самых простых исполнителей можно считать кнопку включения/выключения электропитания на корпусе монитора.

Система команд исполнителя — CD-плеера.

Более сложным исполнителем является современная стиральная машина, в электронную память которой заложены разработанные инженерами различные программы стирки белья.

Весь процесс стирки (замачивание, отстирывание, полоскание, отжим, сушка) машина выполняет автоматически, без участия человека, но по программе, выбранной человеком.

Среди автоматических устройств наиболее совершенными исполнителями являются роботы. Едва ли человек сможет так быстро, безошибочно и качественно собрать сложнейшую электронную плату, как это делает робот — манипулятор на автоматизированном производстве. В наше время созданы человекоподобные роботы и роботы — игрушки, напоминающие домашних животных.

Новый робот-собака Аибо от компании Sony

Самый впечатляющий пример исполнителя — компьютер. Его отличительная черта — универсальность. Ты знаком с компьютерными программами, предназначенными для обработки текстовой, числовой и графической информации, с обучающими программами и компьютерными играми. Кроме того, существуют программы, с помощью которых компьютер управляет работой других связанных с ним устройств (исполнителей).

Во многих случаях и сам человек является исполнителем алгоритмов. Например, каждый из нас при переходе улицы является исполнителем следующего алгоритма:
  1. Остановись на тротуаре;
  2. Посмотри налево;
  3. Если транспорта нет, то иди до середины улицы и остановись, иначе выполняй п. 2;
  4. Посмотри направо;
  5. Если транспорта нет, то иди до противоположного тротуара, иначе выполняй п. 4.


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

В последнем случае для обозначения шагов алгоритма используются следующие геометрические фигуры:


Последовательность действий указывается с помощью стрелок, соединяющих фигуры, обозначающие шаги алгоритма.


Вот так, например, с помощью блок-схемы можно представить алгоритм действий человека при переходе улицы:

Алгоритм, записанный на языке, понятном исполнителю, называется программой.


Алгоритм разрабатывается для решения некоторой задачи или класса задач. При этом:
  • Выделяются фигурирующие в задаче объекты, устанавливаются свойства объектов, отношения между объектами и возможные действия с объектами;
  • Определяются исходные данные и результат;
  • Определяется точная последовательность действий исполнителя, обеспечивающая переход от исходных данных к результату;
  • Последовательность действий записывается на языке, понятном исполнителю.