c
Использование модуля L554 при проведении уроков информатики.
Программы start_... .py и модуль L554 созданы учителями и старшекласниками Лицея №554 Санкт-Петербурга для обеспечения соответствия вида графических построений на экране компьютера с видом их в тетради. Причем масштаб можно задать таким(например, указав в операторе mset=300), что клетка (соответствующая 1 ед) будет занимать половину экрана ( это бывает необходимо для исследования графиков функций в интервале (0-1). При щелчке в любой точке экрана получаем координаты этой точки в принятом масштабе, которые можно использовать в очередном операторе (команде). Добавлены три новых (по синтаксису) оператора: точка, линия, окружность, которые используют "тетрадные" координаты - без всяких преобразований.
В большинстве представленных ниже программ все операторы до строчки со словами "Наша школа ..." одинаковы (вызовы модулей, подпрограмм и тп). В оставшейся части применяем стандартные операторы языка программирования python и три новых оператора упрощающих построение графических объектов.
Все представленные программы отлажены для windows XP в бесплатной среде portable python 3.2.5.1.(http://portablepython.com/wiki/Download/ ). Устанавливать python рекомендуем на диск "с" в папку pp3251 - будет проще переносить файлы, когда появится новая версия (далее вся установка проходит автоматически - никаких других настроек не требуется). Эта версия языка, после установки может быть скопирована на сменный носитель и запускаться с него. Содержит все операторы необходимые для решения заданий демо-версий при подготовке к ЕГЭ по информатике.
После завершения установки создаем значок PYTHON на рабочем столе с указанием на файл IDLE-Portable.exe. Можно запускать среду программирования и открывать файлы программ для запуска и редактирования. Все программы используют встроенный в python модуль turtle (начало координат в центре экрана и простые операторы графики) и модуль L554, добавляющий построение координатной сетки и три дополнительных оператора.
Синтаксис трех дополнительных операторов приведен ниже. Все координаты задаются в масштабе сетки. То есть на экране аналог картинки в тетради, а дополнительные операторы программы пишутся с теми координатами с которыми они записаны в тетради.
Например, если в тетради окружность имеет радиус 2 клеточки и координату центра 3,3, то и в программе вызов оператора содержит эти же цифры без пересчета в пиксели. Также и для линии и точки. Для круга можно ещё менять только цвет окружности. Толщина линии окружности 5 пк (фиксирована по техническим причинам). Для линии и точки можно кроме всего менять толщину и диаметр соответственно (задаются в пикселях и не масштабируются).
Подключение модуля L554 никак не отражается на работе стандартных операторов и модулей: все математические, графические и другие операторы языка python и модуля turtle остаются без изменений и применяются стандартно. Конфликтов стандартных операторов с операторами модуля L554 нет.
Синтаксис трех новых операторов.
Точка: m_pset(mset,t1,x,y,5,'red') # ставим точку красного цвета, диаметр 5 пикселей.
mset,t1 - не трогаем;
x,y - координаты точки в единицах координатной сетки; (можно задавать в цикле, а можно просто подставить цифры);
5 - диаметр точки в пикселях (можно подставить букву - имя переменной и менять в цикле цвет от большого диаметра до меньших других цветов - возможно пригодится для индивидуальных заданий);
'red' - цвет, можно задать как в виде ('#ff0000') так и в виде буквы, которой присвоено соответствующее значение (python сам определит по правой части эту букву как строковую переменную).
Линия: m_line(mset,t1,4,1,-2,-2,25,'purple') # линия
mset,t1 - не трогаем;
4,1,-2,-2, - как Вы уже догадались это соответственно x1,y1,x2,y2 где значения задаем в координатах сетки - например в цикле или цифрами.
25 - толщина линии в пикселях, (можно загружать самых быстрых, дополнительно, заданием построить линии сохраняя координаты и меняя толщину от большей к меньшей разного цвета).
'purple' - цвет; подробнее см. в описании точки.
Круг: m_krug(mset,t1,-4, 1,1,'green')
mset,t1, - оставляем как есть
-4, 1,1, - x,y,радиус - координаты центра окружности и радиус в единицах координатной сетки; (можно задавать в цикле, а можно просто подставить цифры);
'green' - цвет
Изучение системы координат и понятий: угол, синус, косинус.
Программа start_coor.py, модуль L554.
Скачиваем программу и модуль и сохраняем в одну папку. Запускаем программу. щелкаем лкм в любом месте координатной сетки и видим на экране координаты этой точки. Сдвигаем вправо левую рамку (чтобы увидеть окно idle) и видим значение угла и его синуса и косинуса.


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

Определение точек пересечения двух разных функций с заданной точностью.
Программы: start_2_fun_01.py, start_2_fun_02.py, start_2_fun_03.py.




Полярные координаты. Клевер. Полярная роза.
Программы: start_3l_klever.py, start_list_5_леп_01.py.


Интегрирование. Определение площади круга.
Программа: pl_kr_integ.py. Модуль L554. Программа и модуль должны быть в одной папке. График основной функции строим щелкая лкм. Один раз обводим сверху круга, второй раз снизу. Площадь круга находим как разность площадей.
Красная точка - значение производной на середине интервала между соседними точками основной функции.
Черная точка - ордината интегральной функции в конце интервала.


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