Создание программы часов
Программа по созданию стрелочных часов. Минимальные требования к составу и параметрам технических средств программы. Выбор и обоснование системы программирования Microsoft Visual Studio. Общее описание алгоритма. Руководство пользователя и программиста.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 11.12.2012 |
Размер файла | 1017,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Каждый день мы рассчитываем свое свободное и занятое время. В моей работе я создал программу - стрелочные часы. Пользователь имеет возможность узнавать, сколько время, не отвлекаясь от других дел на компьютере.
В пояснительной записке были описаны входные и выходные данные, основные процедуры и их параметры.
В процессе выполнения работы была разработана схема программы, блок-схема.
1 Анализ исходных данных и разработка ТЗ
1.1 Основание и назначение разработки
Основанием для разработки данной программы является потребность пользователя в любое время узнавать, сколько времени, не отрываясь от дел на компьютере.
1.2 Минимальные требования к составу и параметрам технических средств: ЭВМ, внешние устройства
Минимальные требования к составу и параметрам технических средств определяются операционной системой:
· Процессор 1,5MHz
· Оперативная память 64Мb
· Монитор от 15``
· Мышь
· Клавиатура
1.3 Требования к информационной и программной совместимости
· ОС Windows 98SE и выше.
· Office 2000 и выше
· Поддержка национальных шрифтов (кириллицы)
1.4 Требования к функциональным характеристикам
Программа должна выполнять следующие функции:
· Правильно определять и показывать время в соответствии с временем на компьютере.
· Закрывать часы при нажатии на кнопку.
1.5 Выбор и обоснование системы программирования и используемых программных средств
Для выполнения данного задания использовался алгоритмический язык программирования Microsoft Visual Studio 10.0. Данный выбор обусловлен использованием язык VB в пакете Microsoft Office.
2. Внешняя спецификация.
2.1 Входные данные
В программе применяются следующие типы входных данных:
· Integer (для хранения целых чисел)
· DateTime (для хранения / определения времени)
2.2 Выходные данные
Программа рисует на форме графическое изображение часов.
2.3 Общее описание алгоритма
1. При запуске программы мы видим стрелочные часы с часовой, минутной и секундной стрелкой.
2. Часы показывают время данного компьютера.
3. Чтобы выйти из программы, нажимаем кнопку «Выход».
2.4 Основной алгоритм программы
Программа по созданию стрелочных часов построена по следующему алгоритму:
· Делаем прозрачным задний фон.
· Переносим начало координат в центр.
· Оформляем часы - рисуем штрихи, обозначающие часы и минуты, цифры на часах.
· Узнаем сколько времени.
· Рисуем секундную, минутную и часовую стрелки.
· Выясняем соотношение градусов.
· Принудительная перерисовка через 1 секунду.
· Создаем кнопку для закрытия программы.
2.5 Функциональная схема программы
3. Руководство пользователя
стрелочный часы программа алгоритм
3.1 Назначение программы
Потребность пользователя в любое время узнавать, сколько времени.
3.2 Описание интерфейса. Требования к входным данным
При запуске программы на экране появляются Стрелочные часы (рис. 1).
На форме расположены: кнопка «Выход», таймер «Timer1».
4. Руководство программиста
4.1 Организация ввода данных в программу и вывода результатов
В данную программу не данные не вводятся, то есть нет пользовательских данных.
4.2 Блок-схема программы
4.3 Описание процедур и их параметры
Clear()
Очищает всю поверхность рисования и выполняет заливку поверхности указанным цветом фона.
TranslateTransform()
Изменяет начало координат координатной системы
FillEllipse()
Заполняет внутреннюю часть эллипса, определяемого ограничивающим прямоугольником, заданным с помощью пары координат, ширины и высоты.
DrawEllipse()
Рисует эллипс, определяемый ограничивающим прямоугольником, заданным с помощью координат для верхнего левого угла прямоугольника, высоты и ширины.
DrawLine()
Проводит линию, соединяющую две точки, задаваемые парами координат.
RotateTransform()
Применяет заданное вращение к матрице преобразования данного объекта
DrawString()
Создает указываемую текстовую строку в заданном месте
Invalidate()
Делает недействительной всю поверхность элемента управления и вызывает его перерисовку.
Close() Закрывает форму.
ResetTransform()
Сбрасывает матрицу универсального преобразования данного объекта и делает ее единичной матрицей
TranslateTransform()
Изменяет начало координат координатной системы путем добавления заданного сдвига к матрице преобразования данного объекта
RotateTransform()
Применяет заданное вращение к матрице преобразования данного объекта
FillPolygon()
Заполняет внутреннюю часть многоугольника, определяемого массивом точек, заданных структурами
4.4 Настройка программы
Программа оптимизирована и никаких настроек не требует.
4.5 Структура программы
Form1 содержит код программы, который рисует часы
Список источников
1. Лукин С.Н «Понятно о Visual Basic.NET» Самоучитель.Ч1-3.2005 г.
2. http://vbbook.ru/visual-basic/vb-bazu-dannux-sozdanie-pervoiy-bd-baza-dannux/
3. Лукин С.Н. «VB 6.0.» - издательство М.:Диалог - МИФИ», 2001 г.
4. Лабораторные работы по VB.net
Приложения
Код программы с комментариями.
Public Class Form1
Protected Overrides Sub OnPaintBackground (ByVal pevent As System. Windows. Forms. PaintEventArgs)
'OnPaintBackground делает перерисовку быстрее чем событие OnPaint
'если очень много рисуем, лучше это делать тут.
Dim g As Graphics = pevent. Graphics()
Dim pen1 As New Pen (Color. Black, 1)
Dim h As Integer = Me. ClientSize. Height 'вертикаль
Dim w As Integer = Me. ClientSize. Width 'горизонталь
'заливка формы белым цветом
g. Clear (Color. White)
'Делаем прозрачным задний фон
Me. TransparencyKey = Color. White
'перенос начала координат в центр
g. TranslateTransform (Me. ClientSize. Width * 0.5, Me. ClientSize. Height * 0.5)
'оформление часов
g. FillEllipse (Brushes. SaddleBrown, -100, -100, 200, 200)
g. FillEllipse (Brushes. Peru, -95, -95, 190, 190)
g. FillEllipse (Brushes. LemonChiffon, -90, -90, 180, 180)
g. DrawEllipse (Pens. Black, -90, -90, 180, 180)
g. DrawEllipse (Pens. Black, -85, -85, 170, 170)
'штрихи обозначающие часы и минуты
Dim i As Integer
For i = 1 To 12
g. DrawLine (pen1, (199 \ 2) - (90 \ 10), 0, 80, 0)
g. RotateTransform(30)
Next
Dim p As Integer
For p = 1 To 60
g. DrawLine (pen1, (84), 0, 90, 0)
g. RotateTransform(6)
Next
'Рисуем цифры на часах
g. DrawString («1», Me. Font, Brushes. Black, 30, -70)
g. DrawString («2», Me. Font, Brushes. Black, 58, -42)
g. DrawString («3», Me. Font, Brushes. Black, 69, -6)
g. DrawString («4», Me. Font, Brushes. Black, 59, 31)
g. DrawString («5», Me. Font, Brushes. Black, 30, 58)
g. DrawString («6», Me. Font, Brushes. Black, -5, 65)
g. DrawString («7», Me. Font, Brushes. Black, -40, 57)
g. DrawString («8», Me. Font, Brushes. Black, -68, 31)
g. DrawString («9», Me. Font, Brushes. Black, -78, -6)
g. DrawString («10», Me. Font, Brushes. Black, -68, -43)
g. DrawString («11», Me. Font, Brushes. Black, -40, -70)
g. DrawString («12», Me. Font, Brushes. Black, -8, -78)
End Sub
Private Sub Form1_Load (ByVal sender As Object, ByVal e As System. EventArgs) Handles MyBase. Load
'двойная буферизация, убирает мерцание при перерисовке
SetStyle (ControlStyles. UserPaint, True)
SetStyle (ControlStyles. AllPaintingInWmPaint, True)
SetStyle (ControlStyles. DoubleBuffer, True)
End Sub
Private Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Timer1. Tick
'принудительная перерисовка, через 1 секунду
Me. Invalidate()
End Sub
Private Sub Form1_Paint (ByVal sender As Object, ByVal e As System. Windows. Forms. PaintEventArgs) Handles MyBase. Paint
'здесь ходят стрелки часов
Dim g As Graphics = e. Graphics
Dim brush1 As Brush = New SolidBrush (Color. Red)
Dim brush2 As Brush = New SolidBrush (Color. Black)
Dim brush3 As Brush = New SolidBrush (Color. Brown)
'узнаем сколько время
Dim t As New DateTime()
t = DateTime. Now
Dim wh As New Size (Me. ClientSize. Width * 0.5, Me. ClientSize. Height * 0.5)
Dim j As Integer = Me. ClientSize. Height
If j > Me. ClientSize. Width Then j = Me. ClientSize. Width
j *= 0.15 'Коэфицент размера стрелок
'рисуем cекундную стрелку
Dim ps1 As New Point (0, 0)
Dim ps2 As New Point (0, 1.3)
Dim ps3 As New Point (j * 1.7, 0)
Dim ps4 As New Point (j * 1.7, 1.3)
Dim ps5 As New Point (-j * 0.7, 1.3)
Dim ps6 As New Point (-j * 0.7, 0)
Dim psts As Point() = {ps1, ps3, ps4, ps2, ps5, ps6}
'рисуем минутную стрелку
Dim pm1 As New Point (0, 0)
Dim pm2 As New Point (0, 1.5)
Dim pm3 As New Point (j * 1.5, 0)
Dim pm4 As New Point (j * 1.5, 1.5)
Dim pm5 As New Point (-j * 0.5, 1.5)
Dim pm6 As New Point (-j * 0.5, 0)
Dim pmts As Point() = {pm1, pm3, pm4, pm2, pm5, pm6}
'рисуем часовою стрелку
Dim ph1 As New Point (0, 0)
Dim ph2 As New Point (0, 1.5)
Dim ph3 As New Point (j * 1.2, 0)
Dim ph4 As New Point (j * 1.2, 1.5)
Dim ph5 As New Point (-j * 0.3, 1.5)
Dim ph6 As New Point (-j * 0.3, 0)
Dim phts As Point() = {ph1, ph3, ph4, ph2, ph5, ph6}
'выясняем соотношение градусов к минутам
'используется вычет 90 градусов, так как по умолчанию 0 градусов на 3 часах
'360 на 60 секунд, 6 градусов в секунду
g. TranslateTransform (wh. Width, wh. Height)
g. RotateTransform (t. Second * 6 - 90)
g. FillPolygon (brush1, psts)
'360 на 60 минут, 6 градусов в минуту
g. ResetTransform()
g. TranslateTransform (wh. Width, wh. Height)
g. RotateTransform (t. Minute * 6 - 90)
g. FillPolygon (brush2, pmts)
'360 на 12 часов, 30 градусов в час
'стрелку часов рисуем по другому немного, чтобы она зависела от кол-ва минут
g. ResetTransform()
g. TranslateTransform (wh. Width, wh. Height)
g. RotateTransform((t. Hour * 30 - 90) + (t. Minute * 0.5))
g. FillPolygon (brush3, phts)
End Sub
Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1. Click
Me. Close()
End Sub
End Class
Вид формы
Стрелочные часы
Размещено на Allbest.ru
Подобные документы
Среда программирования Embarcadero RAD Studio. Создание окна, которое отображает системную дату и время. Выполнение выбранного действия в определенный промежуток времени, заданный пользователем. Руководство программиста. Минимальные системные требования.
курсовая работа [85,2 K], добавлен 16.06.2014Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.
курсовая работа [46,0 K], добавлен 27.11.2007Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015Разработка программы FileInfo, выдающей полную информацию о заданном файле с применением языка программирования С++, используя API функции Win 32. Использование пространств имён .NetFramework. Руководство пользователя и системные требования программы.
курсовая работа [1,2 M], добавлен 25.04.2012Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.
курсовая работа [1,5 M], добавлен 17.11.2010Изучение особенностей растровых и векторных графических редакторов. Создание графического редактора: выбор языка программирования, разработка структуры программы и алгоритма работы. Описание интерфейса программы. Руководство программиста и пользователя.
курсовая работа [1,3 M], добавлен 28.07.2013Создание программы на языке программирования Visual Prolog. Разработка математической модели. Функциональные характеристики программы: оптимальный маршрут для такси. Интерфейс пользователя, руководство программиста, функциональная схема, тестовый пример.
курсовая работа [515,4 K], добавлен 18.10.2010Требования к программе или программному продукту. Условия эксплуатации и требования к параметрам технических средств. Программное обеспечение, рекомендуемое для функционирования программы. Руководство системного программиста и настройка программы.
отчет по практике [1,1 M], добавлен 22.07.2012Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.
курсовая работа [639,0 K], добавлен 16.03.2012