Создание программы часов

Программа по созданию стрелочных часов. Минимальные требования к составу и параметрам технических средств программы. Выбор и обоснование системы программирования 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.2014

  • Microsoft 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.