Главная страница

Разработка web-приложения. ЛР по ВТП для ВТ (Питон). Методические указания к лабораторным работам для студентов, обучающихся в бакалавриате по направлениям


Скачать 2.07 Mb.
НазваниеМетодические указания к лабораторным работам для студентов, обучающихся в бакалавриате по направлениям
АнкорРазработка web-приложения
Дата18.05.2022
Размер2.07 Mb.
Формат файлаdoc
Имя файлаЛР по ВТП для ВТ (Питон).doc
ТипМетодические указания
#536632
страница5 из 10
1   2   3   4   5   6   7   8   9   10

Управление временем в Python-проектах

Цель работы: научить студентов использовать средства управления временем в программных Python-проектах.

Введение

При создании динамического изображения в программных проектах требуется механизм управления временем. Модуль tkinter позволяет реализовать это управление двумя способами:

  1. Метод after() откладывает выполнение какого-либо кода на заданный промежуток времени. Его синтаксис имеет вид:

<окно>.after(<временная задержка в мс>[, <функция>]),

т.е. выполнение <функции> задерживается на время, указанное в (<временной задержке в мс>.

Периодическую задержку можно организовать:

а) через цикл с заранее известным числом повторений. Здесь также возможны два варианта.

О бобщенный алгоритм первого варианта (рис. 4.1):


Для того, чтобы изображение реконфигурировалось на каждом шаге цикла, необходимо после очередного перестроения активизировать метод <окно>.up-date_idletasks(). Обычно эта функция используется, если были внесены изменения в состояние приложения, и вы хотите, чтобы эти изменения были отображены на экране немедленно, не дожидаясь завершения сценария.

О бобщенный алгоритм второго варианта представлен на рис. 4.2:

При этом предполагается, что аргумент <команда> метода after запускает некоторую функцию, находящуюся вне цикла.

б ) цикл на основе рекурсивной структуры. Для его запуска и остановки требуется глобальная переменная-переключатель, которая устанавливается в соответствующие значения отдельными процедурами (рис. 4.3а и 4.б). А переключатель управляет работой процедуры таймера (рис. 4.3в).

Этот вариант не требует использования метода update_idletasks() для корректного отображения динамики

  1. Метод sleep() также позволяет создавать временные задержки требуемой длительности. Его синтаксис имеет вид:

time.sleep(<задержка в сек.>)

Из записи видно, этот метод принадлежит модулю time, т.е. это модуль должен быть импортирован в начале скрипта.

Метод sleep() также требует для корректной работы поддержки методом update_idletasks().

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

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

На канву можно выводить текст командой, синтаксис которой имеет вид:

<имя канвы>.create_text(<координаты опорной точки>, text="<отображаемый текст>", [<параметры шрифта>])

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

c.create_text(100, 100, text="Hello World,\nPython\nand Tk", justify=CENTER, font="Verdana 14 italic")

Основные параметры текста:

  • fill – цвет текста;

  • font – шрифт, включает название шрифта, его размер в пунктах и стиль;

  • anchor – выравнивание текста относительно точки привязки (см. предыдущую лабораторную работу);

  • activefill – цвет текста при наведении на него мыши.

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

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

<имя канвы>. create_rectangle(<координаты левого верхнего угла>, < координаты правого нижнего угла >, [<параметры прямоугольника>])

Основные параметры текста:

  • outline - цвет контура прямоугольника;

  • fill - цвет заливки;

  • activefill - цвет заливки при наведении на прямоугольник мыши;

  • activeoutline - цвет контура прямоугольника при заходе на него мыши;

  • width - ширина контура фигуры в пикселях.

Графические средства tkinter позволяют создавать ломаную линию произвольной конфигурации. Одиночный отрезок создается командой c.create_line(10, 10, 190, 50), т.е.по синтаксису:

<имя канвы>.create_line(<координаты конца 1>, < координаты конца 2>)

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

<имя канвы>.create_line(<массив точек>)

Основные параметры линии:

  • fill - цвет линии;

  • activefill - цвет линии при наведении на прямоугольник мыши;

  • width - ширина линии фигуры в пикселях;

  • smooth – сглаживание линии.

Ниже приведен пример создания линии, когда выделяется отдельно каждая точка излома:

c.create_line([300,80],[400,80],[450,75],[450,200],[300,180],[330,160])

Но такой же результат будет получен и при следующем задании линии:

c.create_line(300,80,400,80,450,75,450,200,300,180,330,160)

Параметр smooth по умолчанию установлен в значение 0, что соответствует излому линии в каждой точке перегиба. При smooth=1 в точках перегиба линия сглаживается.

Метод create_polygon контейнера Canvas близок по своему действию к предыдущему методу, но здесь первая и последняя точки линии автоматически соединяются, а замкнутые поверхности закрашиваются установленным цветом. Поэтому у данного метода параметр fill определяет цвет заливки замкнутого контура, а outline – цвет самого контура. Актуален также параметр smooth.

Окружности на канве создаются методом create_oval, у которого в начале параметров указываются координаты левого верхнего и правого нижнего углов описывающего окружность прямоугольника:

c.create_oval(50, 10, 150, 110, width=2)

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

Рассмотренные фигуры можно перемещать по пространству канвы с помощью метода move:

<канва>, move(<имя фигуры>, <смещение по оси Х>, <смещение по оси У>)

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

I. В соответствии с заданием выбрать вариант реализации программного проекта. Во всех вариантах задания графический объект создается на базе контейнера Canvas. На канве создается статическое изображение с динамическим компонентом-рамкой. Толщина рамки три пикселя.

В(1)-1. На пространстве формы изображен календарь за январь текущего года с горизонтальным расположением недель. Дни недели подписаны. Квадратная рамка движется циклически по датам с дискретом времени 0.4 сек. Цвет рамки – “black”. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-2. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-3. На пространстве формы изображен календарь за март текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка - контекстное меню, что приводит к установке рамки на первую дату.

В(1)-4. На пространстве формы изображен календарь за апрель текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – главное меню, что приводит к установке рамки на первую дату.

В(1)-5. На пространстве формы изображен календарь за май текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – главное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-6. На пространстве формы изображен календарь за июнь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.5 сек. Запуск движения и остановка движения – команды главного меню, что приводит к установке рамки на первую дату.

В(1)-7. На пространстве формы изображен календарь за июль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-8. На пространстве формы изображен календарь за август текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-9. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-10. На пространстве формы изображен календарь за октябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-11. На пространстве формы изображен календарь за ноябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату.

В(1)-12. На пространстве формы изображен календарь за декабрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-13. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-14. На пространстве формы изображен календарь за февраль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команда главного меню, остановка – команда контекстного меню, что приводит к установке рамки на первую дату.

В(1)-15. На пространстве формы изображен календарь за март текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда контекстного меню, остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-16. На пространстве формы изображен календарь за апрель текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-17. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-18. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-19. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команда главного меню, остановка – кнопка, что приводит к установке рамки на первую дату.

В(1)-20. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату.

В(1)-21. На пространстве формы изображен календарь за сентябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-22. На пространстве формы изображен календарь за октябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде пятиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-23. На пространстве формы изображен календарь за ноябрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-24. На пространстве формы изображен календарь за декабрь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-25. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-26. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде овала исходно находится в левом верхнем углу, а после запуска циклически движется по периметру матрицы по часовой стрелке с дискретом времени 0.8 сек. После окончания полного цикла рамка движется против часовой стрелки, а затем снова по часовой. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В (1)-27. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения и остановка – переключение виджета CheckButton. Остановка приводит к установке рамки в исходное положение.

В (1)-28. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В (1)-29. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде квадрата с закругленными углами исходно находится в правом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – кнопка SpeedButton. Остановка приводит к установке рамки в исходное положение.

В(1)-30. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в начале четвертого столбца, а после запуска циклически движется сначала против часовой стрелки, потом по часовой, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение.

В(1)-31. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде пятиугольника исходно находится в начале четвертого столбца, а после запуска циклически движется сначала по часовой стрелке, потом против часовой, по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на последнюю дату.

В(1)-32. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-33. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде квадрата с закругленными углами исходно находится в правом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – кнопка SpeedButton. Остановка приводит к установке рамки в исходное положение.

В(1)-34. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в начале четвертого столбца, а пос ле запуска циклически движется сначала против часовой стрелки, потом по часовой, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение.

В(1)-35. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде пятиугольника исходно находится в начале четвертого столбца, а после запуска циклически движется сначала по часовой стрелке, потом против часовой, по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на последнюю дату.

В(1)-36. На пространстве формы изображен календарь за январь текущего года с горизонтальным расположением недель. Дни недели подписаны. Квадратная рамка движется циклически по датам с дискретом времени 0.4 сек. Цвет рамки – “black”. Запуск движения – кнопка «Пуск», остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-37. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-38. На пространстве формы изображен календарь за декабрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – команда контекстного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-39. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-40. На пространстве формы изображен календарь за март текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде ромба циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – команда контекстного меню, остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-41. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команды главного меню, остановка – кнопка, что приводит к установке рамки на первую дату.

В(1)-42. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату.

В(1)-43. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-44. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-45. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде овала исходно находится в левом верхнем углу, а после запуска циклически движется по периметру матрицы по часовой стрелке с дискретом времени 0.8 сек. После окончания полного цикла рамка движется против часовой стрелки, а затем снова по часовой. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-46. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в лев ом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – нажатие цифры 2 на клавиатуре, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-47. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-48. На пространстве формы изображен календарь за июль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.6 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-49. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату

В(1)-50. На пространстве формы изображен календарь за май текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.6 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.

В(1)-51. На пространстве формы изображен календарь за август текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.4 сек. Запуск движения – кнопка «Пуск», остановка – команда контекстного меню, что приводит к установке рамки на первую дату.

В(1)-52. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-53. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 6х6. Метка в виде квадрата с закругленными углами исходно находится в левом верхнем углу, а после запуска циклически движется по траектории вида с дискретом времени 0.8 сек. Запуск движения и остановка – переключение виджета CheckButton. Остановка приводит к установке рамки в исходное положение.

В(1)-54. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В (1)-55. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 9х9. Метка в виде ромба исходно находится в начале девятого столбца, а после запуска циклически движется по стрелкам, по траектории вида с дискретом времени 0.8 сек. Запуск/остановка движения – радионабор из двух радиокнопок. Остановка приводит к установке рамки в исходное положение.

В(1)-56. На пространстве формы изображена матрица случайных чисел от 0 до 99 размером 7х7. Метка в виде ромба исходно находится в левом верхнем углу, а после запуск циклически движется по периметру верхней треугольной матрицы по часовой стрелке, а нижней треугольной – против часовой с дискретом времени 0.8 сек. Запуск движения – двойной щелчок левой клавиши мыши по форме, остановка – команда главного меню, что приводит к установке рамки в исходное положение.

В(1)-57. На пространстве формы изображен календарь за январь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.7 сек. Запуск движения и остановка движения – команды контекстного меню, что приводит к установке рамки на первую дату.

В(1)-58. На пространстве формы изображен календарь за июль текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата с закругленными углами циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – команды главного меню, остановка – кнопка, что приводит к установке рамки на первую дату.

В(1)-59. На пространстве формы изображен календарь за июнь текущего года с вертикальным расположением недель. Дни недели подписаны. Метка в виде квадрата циклически движется по датам с дискретом времени 0.7 сек. Запуск движения – команда главного меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-60. На пространстве формы изображен календарь за февраль текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде окружности циклически движется по датам с дискретом времени 0.5 сек. Запуск движения – контекстное меню, остановка – кнопка «Стоп», что приводит к установке рамки на первую дату.

В(1)-61. На пространстве формы изображен календарь за сентябрь текущего года с горизонтальным расположением недель. Дни недели подписаны. Метка в виде шестиугольника циклически движется по датам с дискретом времени 0.8 сек. Запуск движения – кнопка «Пуск», остановка – команда главного меню, что приводит к установке рамки на первую дату.
II. Работу программы показать преподавателю.

Содержание отчета:

  1. Титульный лист установленной формы;

  2. Задание на выполнение лабораторной работы;

  3. Структура проекта;

  4. Блок-схема начальной установки, блок-схемы процедур;

5) Листинг программы.
Контрольные вопросы

1) Сколько есть вариантов использования метода after?

2) Можно ли задать для таймера временной интервал меньше 1 млс?

3) Какому модулю принадлежит метод sleep?

4) Можно ли менять временной интервал у методов времени в ходе работы программы?

5) При каком условии можно менять параметры у геометрических объектов?

Лабораторная работа № 5
1   2   3   4   5   6   7   8   9   10


написать администратору сайта