Python 3. Модуль L554.py и примеры программ.
Оценка 5

Python 3. Модуль L554.py и примеры программ.

Оценка 5
Компьютерные программы
docx
информатика
5 кл—11 кл
17.06.2020
Python 3. Модуль L554.py и примеры программ.
info_2020_L554_0613_prim.docx

 

 

 

 

"Использование языка программирования python 3 и модуля L554 на уроках дополнительного образования (или в базовом курсе) школьной информатики в условиях реализации ФГОС"

 

 

 

 

 

 

Сухомлинов Александр Иванович

 

 

 

 

 

 

 

 

 

Санкт-Петербург

2020

 

 

 

 

Пояснительная записка

 

Количество недельных часов: 2

Количество часов в год: 68

Уровень программы: базовый.

Нормативными документами для составления рабочей программы по математике 6-7 класса являются:

  1. Федеральный  Закон РФ «Об образовании в РФ» (от 29.12.2012 №273-Ф3);
  2. Федеральный государственный образовательный стандарт основного общего образования (ФГОС ООО, утвержден приказом Министерства образования и науки РФ от 17.12.2010г. №1897);
  3. Примерные программы, созданные на основе федерального государственного образовательного стандарта;
  4. Список учебников ОУ, соответствующий Федеральному перечню учебников, утвержденных, рекомендованных (допущенных) к использованию в образовательном процессе в образовательных учреждениях на 2018-2019 уч. год, реализующих программы общего образования;
  5. Рекомендации по оснащению общеобразовательных учреждений учебным и учебно-лабораторным оборудованием, необходимым для реализации ФГОС основного общего образования, организации проектной деятельности, моделирования и технического творчества обучающихся (Рекомендации Министерства образования и науки РФ от 24.11.2011.  № МД-1552/03);
  6. Основная образовательная программа основного общего образования.

7.      Учебный  план ГБОУ Лицея № 554.

В связи с введением ФГОС внеурочная деятельность имеет большое значение для развития личности, здесь в полной мере можно осуществить индивидуальный и дифференцированный подход. Здесь идет оценка развития учащегося в сравнении с самим собой, а не в соответствии нормам и требованиям образования.

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

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

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

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

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

Таким образом:

· программа позволяет планомерно вести внеурочную деятельность по предмету;

· позволяет расширить и углубить знания по информатике;

· различные формы проведения занятий, способствуют повышению интереса к предмету;

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

 

Основные цели и задачи:

·         создание условия для пробуждения и развития устойчивого интереса учащихся к информатике и умения применять знания информатики в различных жизненных ситуациях и в изучении всех предметов;

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

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

 

Общая характеристика программы внеурочной деятельности

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

- формирование логического и абстрактного мышления у школьников как основы их дальнейшего эффективного обучения;

- сформировать набор необходимых для дальнейшего обучения предметных и общеучебных умений на основе решения предметных и интегрированных жизненных задач;

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

- сформировать представление об идеях и методах информатики, об информатике как форме описания и методе познания окружающего мира;

- сформировать представление об информатике как части общечеловеческой культуры, понимание значимости информатики для общественного прогресса;

- сформировать устойчивый интерес к информатике на основе дифференцированного подхода к учащимся;

- выявить и развить информационные и творческие способности на основе заданий, носящих нестандартный, занимательный характер.

Разработанная программа внеурочной деятельности  «для учеников 8 класса  основана на получении знаний по разным разделам информатики, при выборе тем определяющим фактором стало содержание программы курса информатики за 8 класс и расширение в таких темах, как «Программирование на языке Python», так же включены темы по истории информатики, такие избранные вопросы информатики, как решение классических задач, логика высказываний, обработка строк и другие. Включенный материал программы тесно связан с различными сторонами нашей жизни,  а также с другими учебными предметами. Отбор заданий подразумевает доступность предлагаемого материала, сложность задач нарастает постепенно. Познавательный материал курса будет способствовать формированию функциональной грамотности – умению воспринимать и анализировать информацию. В программу включено создание графических построений, создание диалоговых программ, игр, проблемных заданий, задачи на оптимизацию, задачи на смекалку и другие, которые способствуют развитию логического мышления. Занятия дают возможность шире и глубже изучать программный материал, больше рассматривать практических задач, а так же работать над ликвидацией пробелов знаний учащихся, внедрять принцип опережения. При организации занятий предполагается использование  компьютерного класса, наличие интерактивной доски, возможности ресурсов Интернет, учебных порталов, электронных учебников, и др.

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

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

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

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

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

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

Описание места предмета внеурочной деятельности в учебном плане

Программа внеурочной деятельности рассчитана на:

68 ч. - в 8 классе (из расчета 2 ч. в неделю)

Продолжительность занятия 90 минут

 

 

1. ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ ОСВОЕНИЯ КУРСА

 

Выпускник научится:

· составлять алгоритмы для  решения учебных задач различных типов;

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

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

·     определять результат выполнения заданного алгоритма (программы) или его фрагмента;

·     использовать термины «исполнитель», «алгоритм», «программа», а также понимать разницу между употреблением этих терминов в обыденной речи и в информатике;

·     выполнять без использования компьютера («вручную») несложные алгоритмы управления исполнителями и анализа числовых и текстовых данных, записанные на конкретном язык программирования с использованием основных управляющих конструкций последовательного    программирования (линейная программа,    ветвление,    повторение, вспомогательные алгоритмы);

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

·      использовать величины (переменные) различных типов, табличные величины (массивы), а также выражения, составленные из этих величин; использовать оператор присваивания;

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

·     использовать логические значения, операции и выражения с ними;

·     записывать на выбранном языке программирования арифметические и логические выражения и вычислять их значения.

Выпускник получит возможность:

·     познакомиться с использованием в программах строковых величин и с операциями со строковыми величинами;

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

·     познакомиться с понятием «управление», с примерами того, как компьютер управляет различными системами (роботы, летательные и космические аппараты, станки, оросительные системы, движущиеся модели и др.);

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


2. ОСНОВНОЕ СОДЕРЖАНИЕ КУРСА ВНЕУРОЧНОЙ ДЕЯТЕЛЬНОСТИ ПО ИНФОРМАТИКЕ

 

История языков программирования. Компиляция и интерпретация. Знакомство с Python и средой программирования IDLE.

Типы данных в программировании. Определение переменной. Ввод данных с клавиатуры. Первая программа на Python.

Строки       как       последовательности       символов.       Списки       —       изменяемые последовательности. Замена элементов в списке.

Логические выражения. Условный оператор. Инструкция if - elif - else. Проверка истинности if- elif- else. Цикл For. Цикл While.

Кортежи. Словари. Множества. Основные задачи обработки массивов. Введение в словари.

Сортировка выбором (поиск минимума и перестановка). Сортировка пузырьковым методом.

Функции в программировании. Параметры и аргументы функций. Локальные и глобальные переменные. Процедуры.

Файлы. Работа с файлами. Менеджеры контекста with .. as

Решение задач посредством языка программирования Python:     Алгоритм Евклида (нахождение     наибольшего    общего     делителя);     вычисление     факториала     на     языке программирования Python; двоичный инарный) поиск элемента в массиве; перевод чисел из десятичной системы счисления в двоичную; решето Эратосфена - алгоритм определения простых чисел; сумма и произведение цифр числа; числа Фибоначчи (вычисление с помощью цикла while и рекурсии); тестирование простоты числа методом перебора делителей

 

 

 

3. ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ С УКАЗАНИЕМ КОЛИЧЕСТВА ЧАСОВ, ОТВОДИМЫХ НА ОСВОЕНИЕ КАЖДОЙ ТЕМЫ КУРСА (34 часа)

 

раздела, темы

 

Раздел, тема

 

ИТОГО

1

Введение. Знакомство с Python

 

1.1.

Знакомство с IDLE Python

2

1.2.

Вычисления и переменные

2

1.3.

Первая программа на Python

2

2

Построение программы на языке Python

 

2.1.

Строки и списки

2

2.2.

Синтаксис языка Python

2

2.3.

Операторы Python

2

3.

Инструкция if - elif - else. Выбор подходящего варианта. Ветвление

 

3.1.

Инструкция if- elif else

2

3.2.

Проверка истинности if- elif else

4

4.

Цикл в языке программирования Python

 

4.1

Цикл for

8

4.2

Цикл while

8

4.3

Операторы break и continue

4

5.

Кортежи. Словари. Множества

 

5.1.

Кортежи

2

5.2.

Словари

2

5.3.

Множества

2

5.4.

Индексы и срезы

2

6

Функции в программировании

 

6.3.

Параметры и аргументы функций

4

6.4.

Локальные и глобальные переменные

4

6.5.

Процедуры. Рекурсия

6

7

Файлы. Работа с файлами

 

7.1.

Работа с файлами

2

7.2.

Менеджеры контекста with .. as

2

7.3.

Документирование кода в Python

2

7.4.

Работа с модулями: создание и подключение инструкций import .. from

2

 

Итого

68


УЧЕБНО-ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ КУРСА

 

урока

Раздел, тема урока

Кол-во часов

 

Элементы содержания

 

Практическая часть

 

Примечание

Раздел. Введение. Знакомство с Python 6 часов

1

Знакомство с IDLE Python

2

Язык программирования Python. Знакомство и первая работа в среде разработки IDLE. Открытие, редактирование и сохранение файлов.

 

 

2

Вычисления и переменные

2

Обозначение переменных. Арифметические операторы. Примеры программ простых вычислений.

 

 

3

Первая программа

2

Создание и проверка первой программы «Hello world» и программ простой графики.

Практическая работа: «Hello world!»

 

Раздел. Построение программы на языке Python 6 часов

4

Строки и списки

2

Знакомство со строками списками

Практическая работа. Арифметические операции со строками.

 

5

Синтаксис языка Python

2

Работа со строками и списками. Функции и методы строк. Функции и методы списков

Практическая работа. Сообщение пользователю: написание письма с использованием строк

 

6

Операторы Python

2

Операторы сравнения. Операторы присваивания. Логические операторы

Практическая работа. Написание программы расчета          количества часов в году

 

Раздел. Инструкция if elif else. Выбор подходящего варианта. Ветвление 6 часов

7

Инструкция ifelif else

2

Инструкция ifelif else. Использавние инструкция ifelif else

 

 

8 – 9

Проверка истинности ifelif else

4

Использование инструкции ifelif else

Практическая работа. Написание программ с          использованием инструкции if elif else для определения

 


 

 

 

 

результата

 

Раздел. Цикл в языке программирования Python 20 часов

10 – 13

Цикл for

8

Цикл for. Требования к записи цикла. Работа цикла. Порядок выполнения программа

Практическая работа: «Решение      задач с циклом for»

 

14 – 17

Цикл while

8

Цикл while. Требования к записи цикла. Работа цикла. Порядок выполнения программа

Практическая работа: «Решение      задач с циклом while»

 

18

Операторы break и continue

4

Оператор прерывания цикла break. Оператор перехода к следующему шагу

цикла – continue. Синтаксис записи программы.

 

 

Раздел. Кортежи. Словари. Множества 8 часов

19

Кортежи

2

Отличие кортежа от списка. Работа с кортежем. Операции с кортежем.

Практическая работа: «Работа с кортежем -turpl»

 

20

Словари

2

Словари. Работа со словарями. Методы словарей

Практическая работа: «Работа со словарем -dict»

 

21

Множества

2

Множества. Set и frozenset.

Практическая работа: «Работа со множествами»

 

22

Индексы и срезы

2

Взятие элемента по индексу. Срезы

 

 

Раздел. Функции в программировании 14 часов

23 – 24

Параметры и аргументы

4

Именные функции. Функция def.

Практическая работа:

 


 

функций

 

Синтаксис программы, содержащей функцию

«Применение и написание функции def»

 

25 – 26

Локальные и глобальные переменные

4

Аргументы функций. Анонимные функции. Функция lambda. Область видимости

 

 

27 – 30

Процедуры. Рекурсия

6

Понятие рекурсии. Аргументы произвольной длины. Ключевое слово return. Оправданные случаи использования рекурсии

Практическая работа: «Применение рекурсии. Нахождение факториала»

 

Раздел. Файлы. Работа с файлами 8 часов

31

Работа с файлами

2

Чтение из файла. Запись в файл

 

 

32

Менеджеры контекста with .. as

2

Менеджеры контекста. Определение менеджеров контекста. With .. as

 

 

33

Документирование кодав Python

2

Строки документации. Однострочные строки. Многострочные строки

 

 

34

Работа с модулями: созданиеи подключениеинструкций import .. from

2

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

Практическая работа: «Инструкция from. Создание своего модуля на Python»

 

 

 

 

 

Примеры программ (авторская разработка) на языке Python 3:

Модуль L554.py

Этот модуль должен находиться в папке с основной программой.  Подключается вначале текста основной программы командой:

from L554 import  *

Добавление этой строки в начале текста основной программы избавляет от необходимости строить в основной программе координатную сетку. Позволяет задать масштаб от 10 до 500 пикселей на одну клетку. Позволяет записывать формулы в основной программе, так как они записаны в тетради – без перевода в пиксели и обратно. Любые координаты, полученные при построении геометрических фигур выводятся по щелчку левой кнопки мыши в нужной точке (например, пересечение графиков функций).  Появляется возможность использовать два новых оператора (точки и линии) в синтаксисе которых содержаться координаты, толщина и цвет. Это делает основную программу заметно понятнее и избавляет от большого объема рутинной работы.  Все стандартные операторы языка Python 3 работают как обычно.

 

# L554.py

# Санкт-Петербург, Лицей № 554, июнь 2020

 

'''

Модуль L554.py версия от 2020-0605.

Модуль представляет собой внешнюю подпрограмму выполняющую

необходимые вспомогательные построения (координатная сетка,

вывод на экран координат курсора по щелчку мыши и т.п.).

 

1. Должен находиться в папке с запускаемой программой.

2. Модуль в запускаемой программе подключается строкой

   from L554 import *  

3. Строит координатную сетку в заданном масштабе (например: mset =50)

  (50 - количество пикселей на одну клетку - единицу длины);

4. Выводит по щелчку лкм координаты курсора в масштабе сетки.

5. Позволяет дополнительно использовать два оператора: точки и линии,

   содержащих все необходимые для построения параметры (координаты,

   толщина, цвет).

6. В основной программе исполняемые операторы размещены между строками

   комментариев 123 ... 321:

  

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

Учащимся достаточно знать понятия стандартной координатной системы

и синтаксис двух новых операторов (точки и линии:m_pset и m_line).

   Учитель точно знает, где искать ошибку обучающегося.

  

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

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

самостоятельная программа - должно появиться построение наклонной

плоскости.

При первом запуске файла L554.py как модуля (т.е. вызовом из

основной программы (командой:from L554 import *)

создается папка __pycache__  содержащая компилированный файл

L554.cpython-32.pyc

его надо переименовать в L554.pyc (т.е. питоновский, компилированный).

и сохранить в папку с программой (вместо L554.py, папку __pycache__

тоже надо удалить). Т.е. в папке с основной программой будет всего

два файла: файл программы и компилированный файл модуля.

    Строка вызова модуля в отлаживаемой программе не меняется,

но использование компилированного файла предохранит сам модуль

от нежелательных изменений (как случайных, так и просто из любопытства).

 

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

импортировании модуля L554.py получится короче за счет использования

одного нового графического оператора (точки, линии) вместо трех.

С первых шагов можно строить значительно более сложные программы.

При этом все стандартные операторы python 3 работают как обычно.

 

Обновленную версию  и разные программы, работающие с ним, можно получить

на сайте turtk.viptop.ru

Желаем успешной работы!

'''

 

# Модуль L554.py версия от 2020-0605.

#

#

import turtle as t

import turtle

from turtle import *

from math import *

from tkinter import *

 

 

# модуль для получения значений ws и hs ширины и высоты экрана

root = Tk()

global ws,hs

# Получение размера экрана пользователя

ScrW = root.winfo_screenwidth() # Получение ширины экрана

 

ws = ScrW - 10

ScrH = root.winfo_screenheight() # Получение высоты экрана

hs = ScrH - 70

root.destroy()

 

#====================================================

 

import turtle as t

t.hideturtle()

#print('ws = ',ws)

#print('hs = ',hs)

t1=Turtle()

t1.hideturtle()

wt=t.Screen()

wt.bgcolor('#ffffe0')

 

wt.tracer(10) # Скорость 1-10. При 0 - рисует мгновенно.

    # Информация для титульной строки

    #turtle.title ('Рисуем линии двумя курсорами. СПБ Лицей 554')

wt.title ('                                                                       СПБ Лицей 554')

           

    # Задаем удобные размеры экрана

wt.setup (ws, hs, 0, 0)

 

    # Перемещаем перо

t.penup(); t.goto ((-ws/2+76), (hs/2-20))

    # Задаем цвет

t.color ('navy')

    # Этикетка

t.write ('Санкт-Петербург, Лицей №554', font = 'Helvetica 7 bold')

 

t.penup(); t.goto (0, 0)

t.hideturtle()   

 

 

 

'''   

t.write ('Санкт-Петербург, Лицей №554', font = ('Times New Roman', 12, 'bold'))

t.penup(); t.goto (0, 0)

t.hideturtle()

 

 

label = Label(text='Санкт-Петербург, Лицей №554',

              font='Helvetica 7 bold',background='#ffffef')

#label.pack(fill=Y, expand=1)

label.place(x=76,y=10)

'''

 

def pset(t12,px,py,pw,pc):

    t12.hideturtle()

    t12.up()

    t12.width(pw)

    t12.setx(px)

    t12.sety(py)

    t12.down()

    #t12.dot(pw,pc)

    t12.dot(pw,pc)

    t12.up()

#===================================================

def line(lt,lx1,ly1,lx2,ly2,lw,lc):

    lt.hideturtle()

    lt.width(lw)

    lt.color(lc)

    lt.up()   #  подняли перо

    lt.goto(lx1,ly1)

    lt.down()

    lt.goto(lx2,ly2) # провели линию

    lt.up()   #  подняли перо

 

#===================================================

   

def krug(t1,kx,ky,kr,kc):

    #t1.speed(0)

    r = kr

    x0 = kx

    y0 = ky

   

    for fi in range (0,360):

        x = x0 + r *cos(fi*3.14/180)

        y = y0 + r * sin(fi*3.14/180)

        t1.up()

        t1.goto(x,y)

        t1.down()

        t1.dot(5,kc)   

#===================================================

global mset

 

def msetout(mset):

    global mset2

    mset2=mset

   

pset(turtle,0,0,7,'green') # точка в начале координат

turtle.hideturtle()

def coor(x,y):

    global mset2

    t.hideturtle()

    t.speed(0)

    t.width(1)

   

    t.clear()

    t.up()

    t.goto(-230,0)

    t.down()

    t.goto(230,0)

    t.up()

    t.goto(0,230)

    t.down()

    t.goto(0,-230)

    t.up()

#  Вычисляем радиус окруж с центр 0,0

#  проходящей через точку с коор х,у

    r = sqrt(x*x + y*y)

    t.goto(x,y)

    t.color('#ffffe0')

    #t.down()

    t.goto(0,0)

   

    t.goto(x,0)

    t.goto(x,y)

    t.color('black')

   

    t.write('x=%7.2f | y=%7.2f' % (turtle.xcor()/mset2, turtle.ycor()/mset2),

            move=False, align="left", font=("Arial", 18, "normal"))

    t.dot(7,'red')

    t.up()

    t.goto(0,-r)

 

    #t.circle(r)  # проводим окружность

    t.up()

    sinus = y/r

   

    cosinus = x/r

    k = ((asin(y/r)) *(180/3.14))

    if y/r > 0 and x/r > 0:print('a = % 5.1f ' % k)

    if y/r > 0 and x/r < 0:print('a = % 5.1f ' % (180 - abs(k)))

    if y/r < 0 and x/r < 0:print('a = % 5.1f ' % (180 + abs(k)))

    if y/r < 0 and x/r > 0:print('a = % 5.1f ' % (360 - abs(k)))

   

    print('sin(a) = % 5.2f ' % sinus)

    print('cos(a) = % 5.2f ' % cosinus)

    print()

    print('-------------------------')

    print()

 

#===================================================

#===================================================

 

def setka(mset):

    ts=Turtle()

    ts.hideturtle()

    x=0

    while x < ws:

        x=x+mset

        y1=hs/2

        y2=-hs/2

        line(t1,x,y1,x,y2,2,'lightblue')

    x=mset

    while x > -ws:

        x=x-mset

        y1=hs/2

        y2=-hs/2

        line(t1,x,y1,x,y2,2,'lightblue')

#

    y=0

    while y < hs:

        y=y+mset

        x1=ws/2

        x2=-ws/2

        line(t1,x1,y,x2,y,2,'lightblue')

    y=mset

    while y > -hs:

        y=y-mset

        x1=ws/2

        x2=-ws/2

        line(t1,x1,y,x2,y,2,'lightblue')

    # оси

   

    ts.speed(0)

    ts.width(1)

    ts.color('black')

    #ts.clear()

    ts.up()

    ts.goto(-500,0)

    ts.down()

    ts.goto(500,0)

    ts.up()

    ts.goto(0,230)

    ts.down()

    ts.goto(0,-230)

    ts.up()

    ts.hideturtle()

#===================================================

def m_line(mset,tl,x1,y1,x2,y2,lw,lc):

    line(tl,x1*mset,y1*mset,x2*mset,y2*mset,lw,lc)

 

def m_pset(mset,t,px,py,pw,pc):

 

    x=px*mset

    y=py*mset

    pset(t,x,y,pw,pc)

 

def m_krug(mset,tk,kx,ky,kr,kc):

    kx=kx*mset

    krug(tk,kx,ky*mset,kr*mset,kc)

 

if __name__ == "__main__":

    # Вызов стандартных модулей и модуля L554

    from L554 import *

    import turtle as t

    import turtle

    from turtle import *

    from math import *

    label = Label(text=' ТЕСТ МОДУЛЯ L554  \n'

            ' версия от 2020-0605 \n '

            'модуль выполняется как основная программа.',

              font='Arial 20 bold',background='#ffffdd')

    label.place(x=270,y=13)

 

    t.hideturtle()

    t1=Turtle()

    t1.hideturtle()

    turtle.hideturtle()

    global x, y,mset

    x=t1.xcor()

    y=t1.ycor()

 

    mset =100  # Сколько точек на 1 деление сетки координат

    setka(mset) # Построение сетки в заданном масштабе

    msetout(mset)

    t.onscreenclick(coor) # Вычисление координат

 

   

# Эти операторы строят немасштабируемые объекты

    line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,50,'yellow')

    line(t1,-ws/2+10,hs/2-20,-ws/2+50,hs/2-20,10,'white')

    line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,10,'blue')

    line(t1,-ws/2+10,hs/2-40,-ws/2+50,hs/2-40,10,'red')

    m_line(mset,t1,-2,-2,4,-2,25,'yellow') # Основание наклонной плоскости

    m_line(mset,t1,4,1,4,-2,25,'green') # Вертикальная линия

    m_line(mset,t1,4,1,-2,-2,25,'purple') # Наклонная линия

    m_pset(mset,t1,4,1,10,'black') # Ось шкива

    m_pset(mset,t1,4,-2,10,'brown') # Гвоздик

    m_pset(mset,t1,-2,-2,10,'black') # Гвоздик

    m_pset(mset,t1,-1,-1.17,35,'red') # Колесо

    m_pset(mset,t1,-1,-1.17,5,'black') # Ось колеса

    m_pset(mset,t1,0,-0.67,35,'red') # Колесо

    m_pset(mset,t1,0,-0.67,5,'black') # Ось колеса

    m_line(mset,t1,-1.25,-0.84,-0.15,-0.3,50,'brown') # Корпус тележки

    #m_krug(mset,t1,6,  3,0.2,'blue')

    # Стрелка вектора скорости

    m_line(mset,t1,0.07,-0.19,1.96,0.7,5,'blue') #

    m_line(mset,t1,1.69,0.68,1.96,0.7,5,'blue') #

    m_line(mset,t1,1.78,0.52,1.96,0.7,5,'blue') #

    m_line(mset,t1,2.0,0.72,3.68,1.47,3,'#aaaaaa') # трос вдоль плоскости

   

    m_pset(mset,t1,4,1,120,'red') # шкив max

    m_pset(mset,t1,4,1,111,'brown') # шкив mid

    m_pset(mset,t1,4,1,10,'black') # Ось шкива

    m_line(mset,t1,4.57,0.8,4.57,-0.2,3,'#aaaaaa') # трос вниз к грузу

    m_line(mset,t1,4.57,-0.6,4.57,-1.2,75,'#554554') # груз

    m_pset(mset,t1,4.57,-0.21,13,'#554554') # крепление груза

    m_pset(mset,t1,4.57,-0.21,5,'#ffffff') # отверствие для крепления груза

    # крепление троса к тележке

    m_pset(mset,t1,0.06,-0.2,11,'brown') #

    m_pset(mset,t1,0.06,-0.2,4,'white') #

   

    mainloop()

 

 

Для тестирования модуля запускаем его как программу (не импортируя из основной программы). Получим  рисунок наклонной плоскости. Можно заменить операторы построения плоскости например на построение графика функции или другие. Однако текст такой программы очень длинный.

    Гораздо эффективнее использовать файл L554.py как модуль – импортируя его всего одной строкой как указано выше.

При первом запуске файла L554.py как модуля (т.е. вызовом из основной программы (командой:from L554 import *) создается папка __pycache__  содержащая компилированный файл

L554.cpython-32.pyc

его надо переименовать в L554.pyc (т.е. питоновский, компилированный) и сохранить в папку с программой (вместо L554.py, папку __pycache__

тоже можно удалить). Т.е. в папке с основной программой будет всего

два файла: сам файл программы и компилированный файл модуля, т.е. . L554.pyc

    Строка вызова модуля в основной программе не меняется, но использование компилированного файла предохранит сам модуль

от нежелательных изменений (как случайных, так и просто из любопытства).

Обновленную версию  и разные программы, работающие с ним, можно получить на сайте turtk.viptop.ru

Текст программы на Python 3, использующей L554 (всё равно – компилированный(предпочтительно) или нет):

 

'''

Python 3. Алгебра 9 класс. Базовый курс.

509_1-Algebra.-9kl.-Uchebnik_Makarychev-Yu.N-Mindyuk-N.G.-i-dr._2014-271s.pdf

Использование программы позволяет рассмотреть больше вариантов при изложении

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

 

Решение системы уравнений: k1_1*x**2 + k1_2*x + k1_3

и  x**2 + y**2 = k2_1   (стр.109,рис.65).

 

Разрешение экрана 1024*768

Санкт-Петербург, Лицей №554, май 2020

'''

# a9b-s109-r065-25.py

# Вызов стандартных модулей и модуля L554

 

from L554 import *

import turtle as t

import turtle

from turtle import *

from math import *

 

t.hideturtle()

t1=Turtle()

t1.hideturtle()

t5=Turtle()

t5.hideturtle()

t6=Turtle()

t6.hideturtle()

t7=Turtle()

t7.hideturtle()

 

global x, y,mset,k1_1,k1_2,k1_3,k2_1

x=t1.xcor()

y=t1.ycor()

 

mset =50  # Сколько точек на 1 деление сетки координат

setka(mset) # Построение сетки в заданном масштабе

msetout(mset) 

t.onscreenclick(coor) # Вычисление координат

# Выводит в форму значения координат щелчка мыши

# Выводит в shell значения угла в градусах и значения sin и cos

 

 

# Линии вверху слева

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,50,'yellow')

line(t1,-ws/2+10,hs/2-20,-ws/2+50,hs/2-20,10,'white')

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,10,'blue')

line(t1,-ws/2+10,hs/2-40,-ws/2+50,hs/2-40,10,'red')

 

# Вот отсюда начинаем редактировать, дополнять и тд.

# Вместо "Наша школа" пишем свои реквизиты

wt.title ('Наша школа   и   СПБ Лицей 554')

'''

 Параметры оператора линии:

 m_line(mset,t5,x1,y1,x2,y2,5,'green')

      

 mset,t5, - оставляем как есть (для параболы t6 для окружности t7).

 Далее по порядку: координаты начала и конца линии "х1","у1", "х2","у2"

 ( все размеры в координатах сетки экрана - т.е. идентично клеткам тетради).

 толщина линии в пикселях(не масштабируется), цвет.

 

 Параметры оператора точки.

 

 m_pset(mset,t6,xc,yc,5,'blue')

 mset,t6, - оставляем как есть (для параболы t6 для окружности t7).

 Далее координаты точки, диаметр (5 пикселей) и цвет.

 Построение окружностей и линий функций производим точками.

 

'''

#vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

 

# Подпрограмма отрисовки параболы

def plot_p():

   

    print('PLOT_P')

   

    t5.clear()

    x5_1=-7

    k1_1 = float(e_k1_1.get())

    k1_2 = float(e_k1_2.get())

    k1_3 = float(e_k1_3.get())

    k2_1 = float(e_k2_1.get())

   

    y5_1= k1_1 * x5_1 + k1_2

    x5_2= 7

    y5_2= k1_1 * x5_2 + k1_2

 

   

    scale_k1_1.set(k1_1) # сдвигаем ползунок по значению из окна

    scale_k1_2.set(k1_2) # сдвигаем ползунок по значению из окна

    scale_k1_3.set(k1_3) # сдвигаем ползунок по значению из окна

    scale_k2_1.set(k2_1) # сдвигаем ползунок по значению из окна

    draw_p(k1_1,k1_2,k1_3) # При нажатии кнопки

#vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

# Подпрограмма отрисовки окружности

def plot_c():

    #global x, y,mset,k1_1,k1_2,k1_3

    print('PLOT_С')

   

    t5.clear()

    x5_1=-7

    k1_1 = float(e_k1_1.get())

    k1_2 = float(e_k1_2.get())

    k1_3 = float(e_k1_3.get())

    k2_1 = float(e_k2_1.get())

   

    y5_1= k1_1 * x5_1 + k1_2

    x5_2= 7

    y5_2= k1_1 * x5_2 + k1_2

 

    scale_k1_1.set(k1_1) # сдвигаем ползунок по значению из окна

    scale_k1_2.set(k1_2) # сдвигаем ползунок по значению из окна

    scale_k1_3.set(k1_3) # сдвигаем ползунок по значению из окна

    scale_k2_1.set(k2_1) # сдвигаем ползунок по значению из окна

   

    draw_c(k2_1) # Рисуем окружность после изменения параметров

 

def plot_scale(ev=None):

    t5.clear()

    x5_1=-7

    k1_1 = float(scale_k1_1.get())

    k1_2 = float(scale_k1_2.get()) # значения ползунков

    k1_3 = float(scale_k1_3.get()) # значения ползунков

    k2_1 = float(scale_k2_1.get())

    y5_1= k1_1 * x5_1 + k1_2

    x5_2= 7

    y5_2= k1_1 * x5_2 + k1_2

 

    # рисуем линию

    #m_line(mset,t5,x5_1,y5_1,x5_2,y5_2,5,'green') # Наклонная линия

 

    e_k1_1.delete(0, END) # очищаем окно к1_1

    e_k1_1.insert(0, str(k1_1)) # вставляем в окно значение ползунка

 

    e_k1_2.delete(0, END) # очищаем окно к1_2

    e_k1_2.insert(0, str(k1_2)) # вставляем в окно значение ползунка

   

    e_k1_3.delete(0, END) # очищаем окно к1_3

    e_k1_3.insert(0, str(k1_3)) # вставляем в окно значение ползунка

 

    e_k2_1.delete(0, END) # очищаем окно к1_1

    e_k2_1.insert(0, str(k2_1)) # вставляем в окно значение ползунка

 

 

#------------------------------------------------------------------------

# вертикальная шкала k1_1

scale_k1_1 = Scale(from_=8, to=-8,orient=VERTICAL,relief=GROOVE,

              label="a",troughcolor='green',background='yellow',

              resolution=0.01,fg="black",activebackground='red',

              length=100,command= plot_scale)

 

scale_k1_1.set(-1.0)# начальное значение

#fg="black"  - цвет цифр шкалы

#activebackground='green' - цвет ползунка при перемещении или под курсором

scale_k1_1.place(x=10,y=60)

 

#-------------------------------------------------------------------------

# вертикальная шкала k1_2

scale_k1_2 = Scale(from_=10, to=-10,orient=VERTICAL,relief=GROOVE,

              label="b",troughcolor='green',background='yellow',

              resolution=0.01,fg="black",activebackground='red',

              length=100,command= plot_scale)

 

scale_k1_2.set(2.0)# начальное значение

scale_k1_2.place(x=10,y=200)

 

#-------------------------------------------------------------------------

# вертикальная шкала k1_3

scale_k1_3 = Scale(from_=10, to=-10,orient=VERTICAL,relief=GROOVE,

              label="c",troughcolor='green',background='yellow',

              resolution=0.01,fg="black",activebackground='red',

              length=100,command= plot_scale)

 

scale_k1_3.set(5.0)# начальное значение

scale_k1_3.place(x=10,y=350)

 

#------------------------------------------------------------------------

# вертикальная шкала k2_1

scale_k2_1 = Scale(from_=50, to=0.1,orient=VERTICAL,relief=GROOVE,

              label="1",troughcolor='green',background='yellow',

              resolution=0.01,fg="black",activebackground='red',

              length=100,command= plot_scale)

 

scale_k2_1.set(25.0)# начальное значение

scale_k2_1.place(x=915,y=60)

 

#wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

# Метка  y =

m_yr = Label(text=" y = ", bg="yellow", fg="black",font='Helvetica 12 bold')

m_yr.place(x=10,y=630)

 

# Метка 1 k1_1

label_k1_1 = Label(text='   a',

              font='Helvetica 12 bold')

label_k1_1.place(x=45,y=605)

# Окно ввода коэффициента k1_1

e_k1_1 = Entry( width=6,background = '#ffeeff',font='Helvetica 12 bold')

# 1 символ = 10 пикселей

e_k1_1.delete(0, END)

e_k1_1.insert(0, "-1.0")

e_k1_1.place(x=45,y=630)

k1_1 = float(e_k1_1.get())

print('k1_1= ',k1_1)

 

# Метка  *x**2 + 

m_xp = Label(text="*x**2 + ", bg="yellow", fg="black",font='Helvetica 13 bold')

m_xp.place(x=105,y=628)

 

# Метка 2 k1_2

label_k1_2 = Label(text='  b',font='Helvetica 12 bold')

label_k1_2.place(x=170,y=605)

 

# Окно ввода коэффициента k_1_2

e_k1_2 = Entry( width=6,background = '#ffeeff',font='Helvetica 12 bold')  #

e_k1_2.delete(0, END)

e_k1_2.insert(0, "2.0")

e_k1_2.place(x=170,y=630)

k1_2 = float(e_k1_2.get())

print('k1_2= ',k1_2)

 

# Метка  *x + 

m_xp = Label(text="*x + ", bg="yellow", fg="black",font='Helvetica 13 bold')

m_xp.place(x=230,y=628)

 

 

# Метка 3 k1_3

label_k1_3 = Label(text='  c',font='Helvetica 12 bold')

label_k1_3.place(x=272,y=605)

 

# Окно ввода коэффициента k_1_3

e_k1_3 = Entry( width=6,background = '#ffeeff',font='Helvetica 12 bold')  #

e_k1_3.delete(0, END)

e_k1_3.insert(0, "5.0")

e_k1_3.place(x=272,y=630)

k1_3 = float(e_k1_3.get())

print('k1_3= ',k1_3)

 

# Метка  x**2 + y**2 =

m_xp = Label(text="x**2 + y**2 = ", bg="yellow", fg="black",font='Helvetica 13 bold')

m_xp.place(x=810,y=628)

 

# Окно ввода коэффициента k2_1

e_k2_1 = Entry( width=6,background = '#ffff00',font='Helvetica 12 bold')

e_k2_1.delete(0, END)

e_k2_1.insert(0, "25.0")

e_k2_1.place(x=930,y=630)

k2_1 = float(e_k2_1.get())

print('k2_1= ',k2_1)

def draw_p(k1_1,k1_2,k1_3):

    # Рисуем параболу ППППППППППППППППППППППППППППППППППППППППППППППППППППП

    print ('Парабола')

    t7.clear()

    for xp in range(-1000,1000):

        xp=xp/100+0.01

        yp=k1_1 * xp**2 + k1_2*xp + k1_3

        m_pset(mset,t7,xp,yp,5,'red')   #   Строим  точками.

 

 

# Кнопка PLOT_P

but_plot=Button(text=' PLOT_P ',bg='green', command= plot_p)

but_plot.place(x=10,y=660,width=320)

 

def draw_c(k2_1):

    # Рисуем окружность 0000000000000000000000000000000000000000000000

    r = sqrt(k2_1)

    print (' r = ',r)

    t6.clear()

    for fi in range(0,361):

        fi=fi*pi/180

        xc=r*cos(fi)

        yc=r*sin(fi)

        m_pset(mset,t6,xc,yc,5,'blue')   #   Строим  точками.

       

# Кнопка PLOT_C

but_plot=Button(text=' PLOT_С ',bg='green', command= plot_c)

but_plot.place(x=680,y=670,width=320)

 

draw_p(k1_1,k1_2,k1_3) # Рисуем параболу при старте.

draw_c(k2_1) # Рисуем окружность при старте.

 

#eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

 

mainloop()

 

 

 

 

 

 

 

 

 

 

Свидетельство проекта infourok.ru №ЭЦ57526077.jpg

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

# start_domik.py

# Вызов стандартных модулей и модуля L554

from L554 import *

import turtle as t

import turtle

from turtle import *

from math import *

 

t.hideturtle()

t1=Turtle()

t1.hideturtle()

 

global x, y,mset

x=t1.xcor()

y=t1.ycor()

 

mset =100  # Сколько точек на 1 деление сетки координат

setka(mset) # Построение сетки в заданном масштабе

msetout(mset) 

t.onscreenclick(coor) # Вычисление координат

# Выводит в форму значения координат щелчка мыши

# Выводит в shell значения угла в градусах и значения sin и cos

 

 

# Эти операторы строят немасштабируемые объекты

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,50,'yellow')

line(t1,-ws/2+10,hs/2-20,-ws/2+50,hs/2-20,10,'white')

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,10,'blue')

line(t1,-ws/2+10,hs/2-40,-ws/2+50,hs/2-40,10,'red')

 

# Вот отсюда начинаем редактировать, дополнять и тд.

# Вместо "Наша школа" пишем свои реквизиты

wt.title ('Наша школа   и   СПБ Лицей 554')

 

# Линии - синтаксис команд вызова в координатах сетки       

# mset,t1, - оставляем как есть. Далее по порядку "х1","у1",

#  "х2","у2", толщина линии в пикселях(не масштабируется), цвет

 

#1111111111111111111111111111111111111111111111111111111111111111111

#2222222222222222222222222222222222222222222222222222222222222222222

#3333333333333333333333333333333333333333333333333333333333333333333

#m_pset(mset,t1,4,1,10,'black') # Оператор точка

# m_line(mset,t1,0.07,-0.19,1.96,0.7,5,'blue') # Оператор линия

 

# Начало нашей программы.

 

# Начинаем с левого верхнего угла передней стены.

m_line(mset,t1,-1.0,0.0,-1.0,-2.0,5,'blue') # левая сторона

m_line(mset,t1,-1.0,-2.0,0.0,-2.0,5,'blue') # нижняя

m_line(mset,t1,0.0,-2.0,0.0,0.0,5,'blue') # правая

m_line(mset,t1,0.0,0.0,-1.0,0.0,5,'blue') # верхняя

m_line(mset,t1,-1.0,0.0,-0.5,0.5,5,'blue') # левый наклон

m_line(mset,t1,-0.5,0.5,0.0,0.0,5,'blue') # правый наклон

m_line(mset,t1,0,0,2,1,5,'blue') # верх правой стенки

m_line(mset,t1,0,-2,2,-1,5,'blue') # низ правой стенки

m_line(mset,t1,2,1,2,-1,5,'blue') # правая сторона правой стенки

m_line(mset,t1,2,1,1.5,1.5,5,'blue') # правый наклон крыши (дальний)

m_line(mset,t1,-0.5,0.5,1.5,1.5,5,'blue') # верхняя линия крыши

m_pset(mset,t1,6,3,70,'#ffdd00') # Солнце.

 

label = Label(text=' ЗАДАНИЕ: нарисуйте (программно) 5 окон и дверь. \n'

            ' Примерные координаты можно определить используя лкм. \n '

            ' Добавьте лучи солнцу и другие элементы по указанию учителя.',

              font='Arial 20 bold',background='#ffffdd')

label.place(x=270,y=13)

 

# Завершение нашей программы.

 

#333333333333333333333333333333333333333333333333333333333333333333333

#222222222222222222222222222222222222222222222222222222222222222222222

#111111111111111111111111111111111111111111111111111111111111111111111

mainloop()

 

01-домик.png

 

 

Одной из классических задач является графо-аналитическое решение системы двух нелинейных уравнений:

# start_2_fun_02.py

# Вызов стандартных модулей и модуля L554

from L554 import *

import turtle as t

import turtle

from turtle import *

from math import *

 

t.hideturtle()

t1=Turtle()

t1.hideturtle()

 

global x, y,mset

x=t1.xcor()

y=t1.ycor()

turtle.setup(900, 650, 370, 10)

 

mset =300  # Сколько точек на 1 деление сетки координат

setka(mset) # Построение сетки в заданном масштабе

msetout(mset) 

t.onscreenclick(coor) # Вычисление координат

# Выводит в форму значения координат щелчка мыши

# Выводит в shell значения угла в градусах и значения sin и cos

 

 

# Эти операторы строят немасштабируемые объекты

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,50,'yellow')

line(t1,-ws/2+10,hs/2-20,-ws/2+50,hs/2-20,10,'white')

line(t1,-ws/2+10,hs/2-30,-ws/2+50,hs/2-30,10,'blue')

line(t1,-ws/2+10,hs/2-40,-ws/2+50,hs/2-40,10,'red')

 

# Вот отсюда начинаем редактировать, дополнять и тд.

# Вместо "Наша школа" пишем свои реквизиты

wt.title ('Наша школа   и   СПБ Лицей 554')

 

# Линии - синтаксис команд вызова в координатах сетки       

# mset,t1, - оставляем как есть. Далее по порядку "х1","у1",

#  "х2","у2", толщина линии в пикселях(не масштабируется), цвет

 

# Все координаты просматриваются по щелчку в нужной точке

 

#1111111111111111111111111111111111111111111111111111111111111111111

#2222222222222222222222222222222222222222222222222222222222222222222

#3333333333333333333333333333333333333333333333333333333333333333333

#m_pset(mset,t1,4,1,10,'black') # Например: точка x=4, y=1, диаметр=10

# m_line(mset,t1,0.07,-0.19,1.96,0.7,5,'blue') # линия х1=0.07 ...толщина=5

 

# Начало нашей программы.

label = Label(text=' ЗАДАНИЕ: для функций заданных учителем найдите, \n'

    ' с заданной точностью, корни уравнений, подбирая шаг(d), начальное и \n '

    ' конечное значение х. Оформите результаты в виде таблицы в тетради.',

              font='Arial 13 bold',background='#ffffdd')

label.place(x=130,y=13)

 

# Линии будем строить точками в цикле по формулам:

# y1= 0.5*sin(3*x)+0.1*sin(20*x) и y2= x*x

d=0.004 # Шаг изменения х

x= -0.5   # Начальная точка интервала построения

while x < 1.45:  # Конечная точка интервала изменения "х"

    x=x+d    # Увеличиваем значение "х"  на шаг "d"

    y1= 0.5*sin(3*x)+0.1*sin(20*x)   #  Уравнение первой линии

    m_pset(mset,t1,x,y1,5,'red')   #  Строим зелеными точками.

    y2= x*x   #  Уравнение второй линии

    m_pset(mset,t1,x,y2,5,'blue')   #   Строим синими точками.

    #y3= -2*(x-2) -1.5   #  Уравнение третьей линии

    #m_pset(mset,t1,x,y3,5,'red')   #   Строим красными точками.

    dr= abs(y2-y1)   #  Вычисляем модуль разности ординат линий 1 и 2

    if dr<=1.5*d: # Печатаем если достигнута заданная точность

        print(' При  x= %6.3f'  % x)

        print(' y1= %5.3f'  % y1)

        print(' y2= %5.3f'  % y2)

        print(' abs(y2-y1)= %7.5f'  % dr)

        print('==================')

 

 

# Завершение нашей программы.

 

#333333333333333333333333333333333333333333333333333333333333333333333

#222222222222222222222222222222222222222222222222222222222222222222222

#111111111111111111111111111111111111111111111111111111111111111111111

 

 

mainloop()

 

 

 

 

 

 

 

 

 

 

02-система-уравнений.png

 

 

Использование языка программирования python 3 на уроках дополнительного образования или в базовом курсе школьной информатики позволяет решать задачи соответствия ФГОС более эффективно.


 

Использование языка программирования python 3 и модуля

Использование языка программирования python 3 и модуля

Пояснительная записка Количество недельных часов : 2

Пояснительная записка Количество недельных часов : 2

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

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

Познавательный материал курса будет способствовать формированию функциональной грамотности – умению воспринимать и анализировать информацию

Познавательный материал курса будет способствовать формированию функциональной грамотности – умению воспринимать и анализировать информацию

Продолжительность занятия 90 минут 1

Продолжительность занятия 90 минут 1

· по з на к о м и т ь с я с у ч е бной ср е д ой с о с т…

· по з на к о м и т ь с я с у ч е бной ср е д ой с о с т…

О С Н О В Н О Е СО Д Е Р Ж А

О С Н О В Н О Е СО Д Е Р Ж А

И н с т р у кци я i f - e l i f - e l s e

И н с т р у кци я i f - e l i f - e l s e

УЧ Е Б Н О - Т Е М А Т И Ч ЕС К

УЧ Е Б Н О - Т Е М А Т И Ч ЕС К

Оп ер а торы P y t h o n 2

Оп ер а торы P y t h o n 2

Р а з д е л. Ц ик л в я з ы к е п р о г р амм и р о в…

Р а з д е л. Ц ик л в я з ы к е п р о г р амм и р о в…

С ин та к с и с п ро г р амм ы , с о д е р ж а щ е й ф…

С ин та к с и с п ро г р амм ы , с о д е р ж а щ е й ф…

Примеры программ (авторская разработка) на языке

Примеры программ (авторская разработка) на языке

В основной программе исполняемые операторы размещены между строками комментариев 123

В основной программе исполняемые операторы размещены между строками комментариев 123

Модуль L554.py версия от 2020-0605

Модуль L554.py версия от 2020-0605

Скорость 1-10. При 0 - рисует мгновенно

Скорость 1-10. При 0 - рисует мгновенно

t12.up() t12.width(pw) t12.setx(px) t12.sety(py) t12.down() #t12.dot(pw,pc) t12.dot(pw,pc) t12.up() #=================================================== def line(lt,lx1,ly1,lx2,ly2,lw,lc): lt.hideturtle() lt.width(lw) lt.color(lc) lt.up() # подняли перо lt.goto(lx1,ly1) lt.down() lt.goto(lx2,ly2) # провели линию lt.up()…

t12.up() t12.width(pw) t12.setx(px) t12.sety(py) t12.down() #t12.dot(pw,pc) t12.dot(pw,pc) t12.up() #=================================================== def line(lt,lx1,ly1,lx2,ly2,lw,lc): lt.hideturtle() lt.width(lw) lt.color(lc) lt.up() # подняли перо lt.goto(lx1,ly1) lt.down() lt.goto(lx2,ly2) # провели линию lt.up()…

Вычисляем радиус окруж с центр 0,0 # проходящей через точку с коор х,у r = sqrt(x*x + y*y) t

Вычисляем радиус окруж с центр 0,0 # проходящей через точку с коор х,у r = sqrt(x*x + y*y) t

False, align="left", font=("Arial", 18, "normal")) t

False, align="left", font=("Arial", 18, "normal")) t

x=x+mset y1=hs/2 y2=-hs/2 line(t1,x,y1,x,y2,2,'lightblue') x=mset while x > -ws: x=x-mset y1=hs/2 y2=-hs/2 line(t1,x,y1,x,y2,2,'lightblue') # y=0 while y < hs: y=y+mset x1=ws/2 x2=-ws/2 line(t1,x1,y,x2,y,2,'lightblue') y=mset while…

x=x+mset y1=hs/2 y2=-hs/2 line(t1,x,y1,x,y2,2,'lightblue') x=mset while x > -ws: x=x-mset y1=hs/2 y2=-hs/2 line(t1,x,y1,x,y2,2,'lightblue') # y=0 while y < hs: y=y+mset x1=ws/2 x2=-ws/2 line(t1,x1,y,x2,y,2,'lightblue') y=mset while…

Вызов стандартных модулей и модуля

Вызов стандартных модулей и модуля

Сколько точек на 1 деление сетки координат setka(mset) #

Сколько точек на 1 деление сетки координат setka(mset) #

Ось шкива m_line(mset,t1,4

Ось шкива m_line(mset,t1,4

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Текст программы на Python 3, использующей

Текст программы на Python 3, использующей

Сколько точек на 1 деление сетки координат setka(mset) #

Сколько точек на 1 деление сетки координат setka(mset) #

Далее координаты точки, диаметр (5 пикселей) и цвет

Далее координаты точки, диаметр (5 пикселей) и цвет

Рисуем окружность после изменения параметров def plot_scale(ev=None): t5

Рисуем окружность после изменения параметров def plot_scale(ev=None): t5

END) # очищаем окно к 1_2 e_k1_2

END) # очищаем окно к 1_2 e_k1_2

Scale(from_=10, to=-10,orient=VERTICAL,relief=GROOVE, label="c",troughcolor='green',background='yellow', resolution=0

Scale(from_=10, to=-10,orient=VERTICAL,relief=GROOVE, label="c",troughcolor='green',background='yellow', resolution=0

Метка *x**2 + m_xp =

Метка *x**2 + m_xp =

Метка x**2 + y**2 = m_xp =

Метка x**2 + y**2 = m_xp =

Строим точками . #

Строим точками . #

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Одной из первых программ обычно является рисование домика

Одной из первых программ обычно является рисование домика

Наша школа и СПБ Лицей 554') #

Наша школа и СПБ Лицей 554') #

Завершение нашей программы. #333333333333333333333333333333333333333333333333333333333333333333333 #222222222222222222222222222222222222222222222222222222222222222222222 #111111111111111111111111111111111111111111111111111111111111111111111 mainloop()

Завершение нашей программы. #333333333333333333333333333333333333333333333333333333333333333333333 #222222222222222222222222222222222222222222222222222222222222222222222 #111111111111111111111111111111111111111111111111111111111111111111111 mainloop()

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Одной из классических задач является графо-аналитическое решение системы двух нелинейных уравнений: # start_2_fun_02

Одной из классических задач является графо-аналитическое решение системы двух нелинейных уравнений: # start_2_fun_02

Вместо "Наша школа" пишем свои реквизиты wt

Вместо "Наша школа" пишем свои реквизиты wt

Вычисляем модуль разности ординат линий 1 и 2 if dr<=1

Вычисляем модуль разности ординат линий 1 и 2 if dr<=1

Python 3. Модуль L554.py и примеры программ.

Python 3. Модуль L554.py и примеры программ.

Использование языка программирования python 3 на уроках дополнительного образования или в базовом курсе школьной информатики позволяет решать задачи соответствия

Использование языка программирования python 3 на уроках дополнительного образования или в базовом курсе школьной информатики позволяет решать задачи соответствия
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
17.06.2020