Создание программы «Space research»

XXI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание программы «Space research»

Тайнов А.А. 1
1МОУ "Кривозерьевская СОШ"
Карабанова Р.К. 1
1МОУ "Кривозерьевская СОШ"
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

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

За последние 10-15 лет резко возрос интерес к программированию. Это в первую очередь связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек является профессионалом в данной отрасли, то он в любом случае имел дело с программированием. Если же человек не профессионал, а возможно только интересующийся компьютерными технологиями, то рано или поздно у него возникает желание, а иногда и появляется необходимость программировать.

На современном этапе программирование может рассматриваться как наука и как искусство. Программирование представляет собой сферу действий, направленную на создание программ.

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

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

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

Программирование давно увлекало меня, и в 13 лет я написал свою первую программу

Идея создания программы у меня возникла с желанием научиться программировать на Python. Язык программирования Python был для меня новым, поэтому я изучил много литературы о данном языке. Возникла идея создать программу, которая помогла бы выяснить некоторые возможности косморобота на других планетах в сравнении с возможностями на Земле, так как из всех учебных предметов меня увлекает именно физика, астрономия и информатика.

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

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

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

Главным образом, задача космических роботов заключается в исполнении определенного цикла операций: установить или направить прибор для проведения измерений, собрать образцы для исследования, собрать некую конструкцию или даже обеспечить астронавта средством передвижения.

В некотором смысле космороботы мало отличаются от своих земных собратьев, подменяя человека тогда, когда требуется выполнить какую-либо работу. Тем не менее, к автоматам для работы в безвоздушном пространстве предъявляются некоторые особые требования. Они должны:

* перенести запуск

* функционировать в сложных условиях враждебной среды, зачастую на большом удалении

* весить как можно меньше, так как каждый килограмм, выведенный на

орбиту, стоит дорого

* потреблять мало энергии и иметь долгий срок службы

* работать в автоматическом режиме

* обладать чрезвычайной надежностью

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

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

Python.

Для достижения цели я поставил перед собой следующие задачи:

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

2. проанализировать необходимые компоненты программы для реализации расчетов

3. составить схему взаимодействия модулей программы, навигацию, принцип работы;

4. определить дизайн и создать графический интерфейс для программы;

5. написать программу на языке программирования Python;

6. реализовать связующее звено между программой и графическим интерфейсом.

Гипотеза исследования: мне кажется, что тема возможностей косороботов на других планетах интересна не только детям, но и взрослым

Объект исследования: программирование на языке Python

Предмет исследования: создание и использование программы «Space research»

Методами исследования являются:

1. поиск, сбор и анализ информации по теме в различных источниках;

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

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

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

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

Ссылка на программу https://clck.ru/33YD9e

1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СОЗДАНИЯ ПРОГРАММ С ПОМОЩЬЮ ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON

Python представляет популярный высокоуровневый язык программирования, который предназначен для создания приложений различных типов. Это и веб-приложения, и игры, и настольные программы, и работа с базами данных. Довольно большое распространение Python получил в области машинного обучения и исследований искусственного интеллекта.

Основные особенности языка программирования Python:

1. Скриптовый язык.

2. Код программ определяется в виде скриптов.

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

4. Интерпретация программ. Для работы со скриптами необходим интерпретатор, который запускает и выполняет скрипт.

Выполнение программы на Python выглядит следующим образом. Сначала пишем в текстовом редакторе скрипт с набором выражений на данном языке программирования. Этот скрипт выполняет интерпретатор. Интерпретатор транслирует код в промежуточный байткод, а затем виртуальная машина переводит полученный байткод в набор инструкций, которые выполняются операционной системой (Рис.1). Здесь стоит отметить, что хотя формально трансляция интерпретатором исходного кода в байткод и перевод байткода виртуальной машиной в набор машинных команд представляют два разных процесса, но фактически они объединены в самом интерпретаторе.

Рис.1

· Не имеет значения, какая операционная система установлена Windows, Mac OS, Linux, достаточно написать скрипт, который будет запускаться на всех этих ОС при наличии интерпретатора.

· Автоматическое управление памяти.

· Динамическая типизация

Python – очень простой язык программирования, он имеет лаконичный и в то же время довольно простой и понятный синтаксис.

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

1.1. История возникновения языка программирования Python

Создание языка Python начиналось довольно медленно и неуверенно. Главным энтузиастом, который в 1990 году пытался воплотить Python в реальность, стал Гвидо Ван Россум. Именно этот человек, работая над разработкой языка ABC в Голландском институте CWI, понял, что хотел бы создать нечто новое. Это послужило стартом для написания нового интерпретатора; конечно, не без использования некоторых идей, взятых с ABC.

Интересным моментом выступает то, что первый рабочий прототип Python был создан на домашнем Макинтоше Гвидо, да и еще за пару выходных. Что касается распространения, то делалось это с помощью Интернет.

В 1996 году, когда данный проект набирал критическую массу, к разработке подключился Стив Маевский, который был довольно известным в сети, так как вел свой блог «Сравнительная критика языков программирования». Стив, как и Гвидо был поклонником Macintosh, возможно, это и послужило основой их сотрудничества. Стоить отметить, что язык получил название «Python» не в честь вида змей, как ошибочно считают многие разработчики. Во времена разработки «Питона» Гвидо любил смотреть комедийное шоу «Воздушный цирк Монти Пайтона», поэтому и назвал своей проект в честь Монти Пайтона.

Так как Питон имел отличный потенциал и свободно распространялся через Интернет, в него появилось ядро последователей - люди, которые были заинтересованы в развитии Python как язык программирования. В начале своего пути, этот язык имел вид небольшого интерпретатора с малым количеством функций и полным отсутствием ООП, что всех не устраивало и мотивировало на дальнейшее развитие языка.

Уже в 1991 году стали появляться первые средства ООП разработки.

1.2.Плюсы и минусы языка Python

В работе была использована версия Python 3.10.0 в качестве языка для создания программы. На протяжении всей работы были выявлены плюсы и минусы данного языка. Как оказалось плюсов у данного языка очень много.

Несомненным достоинством является то, что интерпретатор Python реализован практически на всех платформах и операционных системах. Первым таким языком был C, однако его типы данных на разных машинах могли занимать разное количество памяти и это служило некоторым препятствием при написании действительно переносимой программы. Python же таким недостатком не обладает.

Следующая немаловажная черта - расширяемость языка, этому придается большое значение и, как пишет сам автор, язык был задуман именно как расширяемый. Это означает, что имеется возможность совершенствования языка всеми заинтересованными программистами. Интерпретатор написан на С и исходный код доступен для любых манипуляций. В случае необходимости, можно вставить его в свою программу и использовать как встроенную оболочку. Или же, написав на C свои дополнения к Python и скомпилировав программу, получить "расширенный" интерпретатор с новыми возможностями.

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

1. Numerical Python - расширенные математические возможности, такие как манипуляции с целыми векторами и матрицами;

2. Tkinter - построение приложений с использованием графического пользовательского интерфейса (GUI) на основе широко распространенного на X-Windows Tk-интерфейса;

3. OpenGL - использование обширной библиотеки графического моделирования двух- и трехмерных объектов Open Graphics Library фирмы Silicon Graphics Inc. Данный стандарт поддерживается, в том числе, в таких распространенных операционных системах как Microsoft Windows 95 OSR 2, 98 и Windows NT 4.0.

Рассмотрим так же некоторые особенности языка, которые можно отнести к плюсам языка.

1. Python, в отличие от многих языков (Pascal, C++, Java, и т.д.), не требует описания переменных. Они создаются в месте их инициализации, т.е. при первом присваивании переменной какого-либо значения. Значит, тип переменной определяется типом присваиваемого значения. В этом отношении Python напоминает Basic. Тип переменной не является неизменным. Любое присваивание для нее корректно и это приводит лишь к тому, что типом переменной становится тип нового присваиваемого значения.

2. В таких языках как Pascal, C, C++ организация списков представляла некоторые трудности. Для их реализации приходилось хорошо изучать принципы работы с указателями и динамической памятью. И даже имея хорошую квалификацию, программист, каждый раз заново, реализуя механизмы создания, работы и уничтожения списков, мог легко допустить трудноуловимые ошибки. Ввиду этого были созданы некоторые средства для работы со списками. Например, в Delphi Pascal имеется класс TList, реализующий списки; для С++ разработана библиотека STL (Standard Template Library), содержащая такие структуры как векторы, списки, множества, словари, стеки и очереди. Однако, такие средства имеются не во всех языках и их реализациях.

Одной из отличительных черт Python является наличие таких встроенных в сам язык структур как тьюплы (tuple), списки (list) и словари (dictionary), которые иногда называют картами (map).

Рассмотрим их подробней:

a. Тьюпл. Он чем-то напоминает массив: состоит из элементов и имеет строго определенную длину. Элементами могут быть любые значения - простые константы или объекты. В отличие от массива, элементы тьюпла не обязательно однородны. А тем, что отличает тьюпл от списка (list) является то, что тьюпл не может быть изменен, т.е. мы не можем i-тому элементу тьюпла присвоить что-то новое и не можем добавлять новые элементы. Таким образом, тьюпл можно назвать списком-константой. Синтаксически тьюпл задается путем перечисления через запятую всех элементов, и все это заключено в круглые скобки:

(1,2,5,8)
(3.14,‘string’,-4)

Все элементы индексируются с нуля. Для получения i-го элемента

необходимо указать имя тьюпла затем индекс i в квадратных скобках. Пример:

t=(0,1,2,3,4)

print t[0], t[-1], t[-3] Результат: 0 4 2

Таким образом, тьюпл можно было назвать вектором-константой, если бы

его элементы всегда были однородными.

b. Список. Хорошим, частным примером списка может служить строка (string) языка Turbo Pascal. Элементами строки являются одиночные символы, ее длина не фиксирована, имеется возможность удалять элементы или, напротив, вставлять их в любом месте строки. Элементами же списка могут быть произвольные объекты не обязательно одного и того же типа. Чтобы создать список, достаточно перечислить его элементы через запятую, заключив все это в квадратные скобки:

[3, 5.14, ‘s’]
[‘string’, (0,1,8), [1,1]]

В отличие от тьюпла, списки можно модифицировать по своему желанию. Доступ к элементам осуществляется также как и в тьюплах. Пример:

l = [1, ‘s’, (2,8), [0,3,4]]
print l[0], l[1], l[-2], l[-1][0] Результат: 1 s (2,8) 0

c. Словарь. Напоминает тип запись (record) в Pascal или структуры

(structure) в С. Однако, вместо схемы "поле записи"-"значение" здесь применяется "ключ"-"значение". Словарь представляет собой набор пар "ключ"-"значение". Здесь "ключ" - константа любого типа (но преимущественно применяются строки), он служит для именования (индексирования) некоторого соответствующего ему значения (которое можно менять).

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

d = {'a': 1, 'b': 3, 5: 3.14, 'name': 'John'} d['b'] = d[5]
print d['a'], d['b'], d[5], d['name']
Результат: 1 3.14 3.14 John

Для добавления новой пары "ключ"-"значение" достаточно присвоить

элементу с новым ключом соответствующее значение:

d['new'] = 'new value' print d
Результат: {'a':1, 'b':3, 5:3.14, 'name':'John', 'new':'new value'}

3. Python в отличие от Pascal, C, C++ не поддерживает работу с

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

4. Одним из особенностей Python является то, как происходит присваивание одной переменной другой, т.е. когда по обе стороны от оператора "=" стоят переменные.

Весьма оригинальным является то, как в Python группируются операторы. В Pascal для этого служат операторные скобки begin-end, в C, C++, Java - фигурные скобки {}, в Basic применяются закрывающие окончания конструкций языка (NEXT, WEND, END IF, END SUB).В языке Python все гораздо проще: выделение блока операторов осуществляется путем сдвига выделяемой группы на один или более пробелов или символов табуляции вправо относительно заголовка конструкции к которой и будет относиться данный блок. Например:

if x > 0:
print ‘ x > 0 ’ x = x - 8
else:
print ‘ x <= 0 ’ x = 0

Тем самым, хороший стиль записи программ.

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

Заметить, что в современной реализации Python компилирует (то есть транслирует) инструкции исходного программного кода в промежуточное представление, известное как байт-код, и затем интерпретирует этот байт-код.

1.3 Инструменты Python для создания программ

Для создания программы я использовал программу Visual Studio Сode.

2.РАЗРАБОТКА ПРОГРАММЫ «SPACERE SEARCH»

2.1. Закон всемирного тяготения

Я в этом году начал изучать физику и на уроках узнал, почему все физические тела падают на Землю. Закономерность этого явления выяснил великий ученый Исаак Ньютон. Ходит даже легенда, что он до этого додумался, когда на его голову упало яблоко. Оказывается, на все тела у поверхности Земли действует сила тяжести, которая зависит от массы тела и расстояния до центра Земли. При этом на каждый килограмм массы действует сила тяжести, равная 9,8 Н/кг. Мне стало интересно, а какая сила тяжести действует на тела у поверхности других планет солнечной системы. Ведь когда-нибудь в будущем, может, на все эти планеты отправят летательные аппараты, а на некоторые, может быть, полетят и люди.

Я решил создать программу на языке Python для косморобота с некоторыми физическими возможностями на Земле и расчет этих возможностей на других планетах.

Задача косморобота-исследователя заключается в исследовании поверхности планеты и его возможности преодолевать препятствия, например, кратеры, путем перепрыгивания. Меня заинтересовал вопрос, на какую высоту мой косморобот сможет перепрыгнуть на других планетах, и какую грузоподъемность будет иметь.

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

Два любых тела притягиваются друг к другу с силой, модуль которой прямо пропорционален произведению их масс и обратно пропорционален квадрату расстояния между ними: Для подсчета используется формула:

F = G ∙ (m1 ∙ m2) / R²,

где m — масса, R — расстояние между телами, G — гравитационная постоянная, значение которой было определено экспериментально, она численно равна силе гравитационного притяжения двух тел, массой по 1кг, находящихся расстоянии 1м одно от другого. Она одинакова для всех тел в природе и равна

G =6,67 * 10-11 Н*м2/кг2

Вычисления ускорения свободного падения определяю при подстановке силы тяжести в формулу всемирного тяготения

Вычислю силу тяжести, которая действовала бы на косморобот на поверхности планет, если бы мой косморобот попал туда. Масса моего косморобота 70 кг.

2.2. Разработка схемы и функций программы

С помощью модульности Python, мне пришла идея создать библиотеку для языка Python с функциями физических уравнений. Схематично это можно представить, как показано на рисунке 2

Рис. 2

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

Результатом данной деятельности стала разработка схемы программы

(см. рисунок 3 )

Рис.3

По формуле ( см. рисунок 3), программа находит ускорение свободного падения на других планетах

g = G * (M/R 2)

где g — ускорение свободного падения, M — масса планеты, R — радиус планеты,

G -- постоянная гравитационная равна примерно 6.674*10^-11, но в программе я ее немного округлил.

Рис. 4

Для расчёта веса робота на другой планете требуется знать простую формулу:

P=m ⋅ g

где m — масса, а g — ускорение свободного падения на поверхности небесного тела. Здесь следует обратить внимание, что вес измеряется в ньютонах, а не в килограммах (в кг измеряется масса). 1 кг на Земле — это 9,8Н.

Зная массу робота на земле и ускорение свободного падения на поверхности небесного тела, можно рассчитать массу робота на этом небесном теле.

По формуле (см. рисунок 5), программа рассчитывает массу робота на планете

Рис. 5

В программе используется простой расчёт высоты прыжка: она обратно пропорциональна ускорению свободного падения на небесном теле. Например, ускорение свободного падения на Марсе в 2,5 раза меньше земного, значит высота прыжка будет во столько раз больше (1,2 метра, а не 0,5 метра)

По формуле ( см. рисунок 6) программа определяет высоту прыжка робота на этой планете.

Высота прыжка на этой планете= высота прыжка на Земле * (Ускорение свободного падения на Земле/ Ускорение свободного падения на этой планете)

Рис. 6

По этой формуле (см. рисунок 7 ) находится грузоподъемность робота на этой планете.

грузоподъемность робота на этой планете = грузоподъемность робота на Земле * (Ускорение свободного падения на этой планете/10)

Рис. 7

2.3. Разработка дизайна программы

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

Для создания графического интерфейса пользователя мной был использован объектно-ориентированный язык программирования Python, в особенности визуальный редактор графического интерфейса пользователя в среде разработки Visual Studio Сode.

Передо мной стояла задача создания удобного и понятного графического интерфейса пользователя. Для этого необходимо было учесть несколько принципов создания графического интерфейса:

• Интерфейс должен быть интуитивно понятным. Таким, чтобы пользователю не требовалось объяснять, как им пользоваться

• Чем быстрее человек увидит результат - тем лучше

• Следует с осторожностью предоставлять пользователю возможность, по установке личных настроек

Для разработки дизайна программы были так же использованы некоторые общепринятые принципы:

• Иконки в программе должны быть очевидными

• Обычно (но не обязательно), элементы размещаются в следующей градации: слева направо, сверху вниз

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

• Соблюдение пропорции

• Если вы даете пользователю информацию, которую он должен куда-то ввести или как-то обработать, то информация должна оставаться на экране до того момента, пока человек ее не обработает

Учитывая данные принципы, был разработан следующий графический интерфейс пользователя (Рис.8).

Рис.8

В результате расчет со стороны пользователя выглядит так, как показано на рисунке 9

Рис.9

Вначале пользователь вводит данные согласно условиям задачи. Далее нажимает на кнопку расчёта и получает расчет.

Возможность менять параметры создает условия для анализа и интерпретации результатов согласно поставленной задаче.

ЗАКЛЮЧЕНИЕ

В результате этой работы была создана программа для физических расчётов - «Space research». Много правок и кардинальных изменений было внесено в программу перед тем, как программа обрела свой текущий вид. Скорее всего, и это не финальный вид программы, она будет ещё менять свой внешний вид и, возможно, будет создана версия на мобильных телефонах.

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

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

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

В программе я также оставил и возможность писать код самому, скриптами. Это создаёт поддержку программ на Linux и Mac OS.

Эта работа оказалась для меня очень интересной тем, как можно было реализовать программу. Также интересна была работа над графическим интерфейсом пользователя.

ИСПОЛЬЗУЕМЫЕ ИСТОЧНИКИ

1. Перышкин. А. В. Физика 7 класс: учебник для общеобразовательных учреждений / А. В. Перышкин. – 15-е изд., стереотип. – М. : Дрофа, 2021. – 191 с.

2. Банкрашков, А.В. Программирование для детей на языке Python / А.В. Банкрашков. - М.: АСТ, 2018. - 288 c.

3. Вордерман, К. Программирование на Python. Иллюстрированное руководство для детей / К. Вордерман, К. Стили, К. Квигли. - М.: Манн, Иванов и Фербер, 2017. - 346 c.

4. Лутц, М. Программирование на Python. Т. 2 / М. Лутц. - М.: Символ, 2016. - 992 c.

5. Лутц, М. Программирование на Python. Т. 1 / М. Лутц. - М.: Символ, 2016. - 992 c.

6. МакГрат, М. Программирование на Python для начинающих / М. МакГрат. - М.: Эксмо, 2015. - 192 c.

Просмотров работы: 20