Розробка програми створення аналогового годинника
Розробка ескізного та технічного проектів програми. Призначення і науково-технологічна галузь її застосування. Розроблення програми "Електронний годинник" за допомогою візуальних компонентів інтегрованого середовища Delphi. Алгоритм і блок-схема.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 20.12.2018 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Технічне завдання
Електронний годинник (Постановка завдання: Розробка програми створення аналогового годинника, яка включає в себе наступні етапи:
- Промальовування годинникової стрілки;
- Промальовування хвилинної стрілки;
- Промальовування секундної стрілки;
- Синхронізація з реальним часом.
Вступ
Нині проблема створення додатків та впровадження їх в повсякденному житті дуже актуальна. Наприклад - створення програм для оплати різних послуг через термінал і фікції часу оплати. У кожному офісі є ПК зі спеціальними додатками до роботи.
З допомогою додатків ведеться виробництво складної техніки на підприємствах, автоматизація виробництв. Додатки використовують у електротехнічних приладах домашнього користування: калькуляторах, пральних машинах, відеокамерах, фотоапаратах та інших. Отже, для руху прогресу і впровадження, розробки нових технологій потрібні програмісти.
В сучасному світі чільне місце посідають комп'ютерні технології. Внаслідок швидкого розвитку цієї галузі комп'ютери тепер є доступними практично всім. А якщо людина має справу з комп'ютером, то рано чи пізно в неї виникне бажання програмувати. Але декілька років назад більшість мов програмування, таких, як Turbo Pascal, або Borland C++ for Windows були досить складними для створення в них програм, якими було б зручно користуватись.
Бурхливий розвиток обчислювальної техніки, необхідність в ефективних засобах розробки програмного забезпечення призвели до появи систем програмування, орієнтованих на так звану "швидку розробку", серед яких можна виділити Borland Delphi і Microsoft Visual Basic. В основі систем швидкої розробки покладена технологія візуального проектування і подвійного програмування, суть якої полягає в тому, що область розробки бере на себе більшу частину рутинної роботи, залишаючи програмісту роботу по конструюванню діалогових вікон і функцій обробки подій.
1. Розробка ескізного і технічного проектів програми
Програмування одна із найбільш складних наук, і обсяг інформації, засвоюваної програмістом дуже складно запам'ятати. Для допомоги програмістам створюються та розробляються додатки з орієнтованим завданням програмістів. Вони допомагають полегшити життя початкуючому програмісту і заощадити час досвідченішого програміста, виключають пошук потрібної довідкової інформації в інтернеті і бібліотеках, забезпечуючи потрібними даними безпосередньо в робочому місці.
Час - головний чинник у роботі програміста. Іноді терміни на написання програми дуже обмежені, і доводиться витрачати чимало часу для пошуку інформації в книгах й довідниках.
Тема мого курсового проекту - розробка програми «Електронний годинник» за допомогою візуальних компонентів інтегрованого середовища Delphi. Ця програма має бути проста в зверненні і зручною в користуванні. Вона заглиблена у вивченні базових компонентів в середовищі Delphi.
Постановка завдання: розробка програми Електронного годинника, яка включає в себе наступні етапи:
1. Промальовування годинникової стрілки
2. Промальовування хвилинної стрілки
3. Промальовування секундної стрілки
4. Синхронізація з реальним часом.
2. Призначення і науково-технологічна галузь застосування
Призначення розробки програми електронного годинника полягає у освоєнні базових компонентів в середовищі програмування DELPHI.
Дану програму можна використовувати в навчальних закладах для навчання студентів об'єктного орієнтованого програмування, покращення їх навиків програмування, засвоєння використаних компонентів, що допоможе їм у подальшій праці у сфері програмування, а саме заощадження часу на пошук потрібних компонентів, потрібної довідкової інформації в інтернеті і бібліотеках, які використовують безпосередньо в мові програмування DELPHI.
3. Вхідні та вихідні дані
Вхідними даними моєї програми є
· Час комп'ютера, який має бути синхронізований з даною програмою.
Вихідними даними моєї програми є
· Розробити механічний годинник з відображенням годинної, хвилинної та секундної стрілки, які змінюють своє початкове положення в результаті роботи програми.
· Розробити електронний годинник.
· Розробити механічний і електричний секундомір.
4. Постановка завдання
Згідно із завданням курсового проекту потрібно розробити програму створення електронного годинника.
Розробка програми включає в себе наступні етапи:
1. Промальовування годинникової стрілки.
2. Промальовування хвилинної стрілки.
3. Промальовування секундної стрілки.
4. Синхронізація з реальним часом.
5. Розробка робочого проекту
5.1 Розробка програми
Для роботи з графікою, в Delphi існує бібліотека візуальних компонентів (VCL), що приховує механізм взаємодії додатка з операційною системою і полегшує роботу з графікою.
Графічні можливості середовища Delphi дуже великі: від звичайної побудови графіків до анімації; від малювання графічних примітивів до програмування фракталів.
У середовищі Delphi існує безліч класів, які працюють з графікою. Більшість з них об'єднані в модулі graphics.
Рисунок 1
Клас TGraphicsObject включає в себе функції для роботи зі шрифтами (Font), пером (Реn) і замальовуванням областей (Brush).
За допомогою даних інструментів можна будувати зображення з плоских графічних примітивів, а також відображати на екрані текстову інформацію з використанням різних шрифтів Windows. Нащадки цього класу (TFont, TBrush, TPen) не доступні в якості компонентів, але доступні в якості властивостей в деяких компонентах і є «робочими інструментами» для малювання.
В даному курсовому проекті для побудови графічного годинника я використовую компонент TCanvas.
5.2 Специфікація програми
Клас TCanvas
Важливим графічним класом є клас TCanvas. Цей клас є основою для графічної підсистеми Delphi.
Він об'єднує в собі і простір (полотно, канву) для створення, зберігання і обробки графічних об'єктів, і компоненти для малювання (перо, пензель, шрифт), і методи для малювання (набір функцій по малюванню типових геометричних фігур).
Канва забезпечує: завантаження і зберігання графічних зображень; створення нових і зміну завантажених зображень за допомогою пера, пензля, шрифту; малювання і зафарбовування різних фігур, ліній, текстів.
Полотно не є компонентом, але воно присутнє в якості властивостей Canvas в багатьох інших компонентах, які повинні відобразити будь-яку інформацію.
Крім того, в VCL передбачений спеціальний об'єкт, готовий виконувати обов'язки полотна, - це компонент TPaintBox.
Полотно представляє собою перевернуту систему координат XOY, де O це верхня ліва точка компонента або форми.
Рисунок 5.1. Координатна вісь полотна на формі
Основні властивості класу TCanvas наведені в таблиці нижче.
Таблиця 5.1 Властивості класу TCanvas
Властивість |
Тип |
Опис |
|
Handle |
HDC |
Дескриптор канви |
|
Brush |
TBrush |
Визначає колір і стиль заповнення замкнутих фігур і фону (кисті) |
|
CanvasOrientation |
TCanvasOrientation |
Визначає звичайну (зліва направо) і східну (справа наліво) орієнтацію канви і її координат Властивість тільки для читання |
|
ClipRect |
TRect |
Визначає доступну область малювання на канві і область, що підлягає перемальовуванні при події OnPaint. Властивість тільки для читання |
|
CopyMode |
Визначає режим копіювання графічного зображення на канву |
||
Font |
TFont |
Визначає атрибути шрифту, яким виводиться текст |
|
LockCount |
Визначає, скільки разів блокована канва в багато потокових застосуваннях. Властивість тільки для читання |
||
Pen |
TPen В |
Визначає властивості пера, малює лінії і фігури |
|
PenPos |
Визначає поточну позицію пера. |
||
Pixels |
TColor |
Визначає колір пікселя |
|
TextFlags |
Визначає спосіб виведення тексту на канву |
Для малювання полотно містить перо, шрифт і кисть: Властивість Font є об'єктом типу TFont. Зміна шрифту здійснюється шляхом зміни властивостей Color, Height, Name, Pitch, Size, Style робочого об'єкта.
Звернення: property Font: TFont;
Властивість канви Pen визначає атрибути пера, використовуваного для малювання ліній і фігур. Ця властивість є об'єктом типу TPen. Атрибути складаються з кольору, ширини, стилю ліній і режиму малювання пера. Присвоєння властивості Pen може проводитися методом Assign.
Звернення: property Pen: TPen;
Властивість Brush (кисть) можна використовувати щоб визначити колір і стиль заповнення фону вікна. Це властивість тільки для читання. Однак, атрибути об'єкта Brush можна змінювати, використовуючи властивості Color і Style.
Звернення: property Brush: TBrush;
Так само, малювати можна по пікселях, використовуючи властивість Pixels [X, Y], яка надає доступ до кожного пікселю. Значенням цієї властивості є колір точки з координатами (X, Y).
Звернення: property Pixels [X, Y: Integer]: TColor;
Задання значень пікселів дозволяє малювати по пікселям графіки і лінії. Як значення можна використовувати константи TColor.
Визначення кольору пікселя використовується зазвичай в методі FillRect.
Властивість канви ClipRect визначає доступну область малювання на канві і область, яка потребує перемальовування. За областю ClipRect малювати неможливо.
Властивість форми OnPaint визначає ту частину канви, поза якою перемальовування не потрібне.
Використання цієї властивості дозволяє скоротити витрати часу на перемальовування.
Властивість канви CopyMode визначає режим копіювання графічного зображення на канву методом CopyRect або при малюванні об'єкта TBitmap. Використовуючи дану властивість можна досягти різних ефектів об'єднання зображень і їх комбінування.
Клас TPopupMenu
TPopupMenu - допоміжне (локальне) меню.
Компоненти класу TPopupMenu використовуються для створення допоміжних (локальних) меню, що з'являються після натискання правої кнопки миші. На відміну від головного меню, допоміжне меню може бути створене для будь-якого віконного компонента. Щоб зв'язати клацання правою кнопкою миші на компоненті з розкриттям допоміжного меню, в властивість Pорupmеnu компонента необхідно помістити ім'я компонента меню.
Клас TLabel
Label - мітка для відображення тексту компоненти класу TLabel (мітка) призначена для розміщення на формі різного роду текстових написів. Для цього служить центральна властивість компонента - Caption.
Рисунок 5.2. Мітка для відображення тексту компоненти класу TLabel
За допомогою властивості Font можна урізноманітнити вигляд напису. Мітка Label може відображати довгий текстовий рядок у вигляді декількох рядків: для цього слід встановити в AutoSize значення False, задати чималі розміри мітки і помістити в Wordwrap значення True.
Властивості компонента Label представленні в таблиці (див.табл.5.2 )
Таблиця 5.2 Властивості компонента Label
Властивості |
Опис |
|
Аlignment |
Визначає вирівнювання тексту по горизонталі щодо координат компоненти |
|
AutoSize |
Вказує, чи буде мітка змінювати свої розміри в залежності від вміщеного в її властивість Caption тексту |
|
FocusControl |
Містить ім'я віконного компонента, який пов'язаний з міткою-акселератором |
|
Layout |
Визначає вирівнювання тексту по вертикалі щодо кордонів мітки |
|
ShowAccelChar |
Якщо містить True, символ & у тексті мітки передує символу-акселератора |
|
Transparent |
Визначає прозорість фону мітки. Якщо False- фон зафарбовується власним кольором Color |
|
Wordwrap |
Дозволяє / забороняє розрив рядка на кордоні слова |
Клас TDateTime
Для розробки програм, що працюють в реальному часі, комп'ютер має вбудований системний таймер, який показує дату і час поточного моменту. Цей таймер має автономне джерело живлення і не відключається при виключенні комп'ютера.
Для використання показань системного таймера в системі Delphi є спеціальний тип даних TDateTime і ряд спеціальних функцій.
Дані типу TDateTime містять величини, пов'язані з датою і часом. Такі величини виникають, наприклад, при використанні стандартних функцій Date - отримання поточної дати і Time - отримання поточного часу.
Ці функції не мають вхідних параметрів і відображають покази системного таймера.
При необхідності відображати значення типу TDateTime в текстових об'єктах їх потрібно переводити в текстову форму (подібно до того, як це робилося для числових даних). Тут з'являється й зворотне завдання. Для цього в мові Object Pascal є спеціальні функції:
1. DateToStr - переведення дати в String;
2. TimeToStr - переведення часу в String;
3. StrToDate - переведення з String в дату;
4. StrToTime - переведення з String під час.
Якщо потрібно показати поточний час на екрані, можна скористатися написом (об'єкт класу TLabel) і наступною інструкцією:
Label1.Caption: = TimeToStr (Time);
Є також функції, що переводять дату і час в числовий вигляд, виділяючи елементи з дати або часу.
Процедура DecodeTime (time, h, m, s, ms) виділяє з поточного часу години, хвилини, секунди і мілісекунди.
Процедура DecodeDate (date, year, month, day) виділяє з поточної дати рік, місяць і день. У цих процедур перший параметр вхідний, а решта - вихідні.
Функція EncodeTime (h, m, s, ms) повертає час, складений з числових значень годин, хвилин, секунд і мілісекунд у вигляді величини типу TDateTime. програма електронний годинник алгоритм
Функція EncodeDate (year, month, day) повертає дату, складену з числових значень року, місяця і дня у вигляді величини типу TDateTime.
Відзначимо, що змінні h, m, s, ms, year, month, day повинні мати тип word (цілі невід'ємні числа).
Клас TTimer
Об'єкти класу TTimer служать для фіксації подій, пов'язаних з плином часу. Властивості об'єкту цього класу наведенні в таблиці (див.табл.5.3)
Таблиця 5.3 Властивості об'єкту класу TTimer
Властивість |
Тип |
Пояснення |
Приклад |
|
Interval |
Integer |
Інтервал часу в мілісекундах, що проходить між наступними подіями |
Timer1.Interval: = 1000; Подія настає кожну секунду |
|
Enabled |
Boolean |
Активність |
Timer1.Enabled: = false; Таймер не працює |
За допомогою таймера можна моделювати рух об'єктів на екрані. Наприклад, для моделювання руху фігури Shape1 по горизонталі потрібна така програма обробки події onTimer.
6. Алгоритм і блок-схема
7. Керівництво користувача
При запуску програми відкривається діалогове вікно в якому зображений загальний вигляд програми, «Електронний годинник. »
На робочому полі програми зображений загальний вигляд годинника, а саме циферблат з годинниковою, хвилинною і секундною стрілками.
Рисунок 7.1. Загальний вигляд робочої програми
При натисканні діалогового вікна робочої програми лівою кнопкою мишки «Механічний годинник» конвертується в «Електронний годинник» (див.рис.7.2)
Рисунок 7.2. Електронний годинник
При натисканні правої кнопки мишки на робочому полі програми відкривається POPUPMenu, в якому зображені основні режими роботи програми, а саме:
1. Годинник
2. Секундомір
3. Старт
4. Стоп
5. Вихід
Рисунок 7.3. Демонстрація додаткових можливостей програми
При виборі команди Стоп - відліковий пристрій зупиняється; можливе використання цієї опції, як в режимі годинника так і в режимі секундоміра.
При виборі команди Старт - відліковий пристрій, якщо він був зупинений продовжує свій відліковий процес.
Якщо ж відліковий пристрій вже працював то команда не спрацює, аналогічно як і команда Стоп - яка може бути використана як в режимі годинника так і в режимі секундоміра.
При виборі команди вихід - закривається програма (програма завершує свою роботу).
Висновок
Створення даної програми дозволило мені пізнати графічні можливості програмування на Delphi і поліпшити навики використання даних компонентів. Для створення руху стрілок годинника було використано певний математичний пакет, який дозволив визначити залежність координати стрілок від часу.
Незважаючи на те що програмі електронного годинника вже більше сотні років вона все ж залишається однією із самих популярних робіт з графікою і одночасно являється досить хорошою програмою для вивчення основних компонентів по роботі з графічним апаратом в Delphi 7.
Список використаних джерел
1. Архангельский, А. Я. Delphi 7. Справочное пособие / А. Я. Архангельский. - СПб.: БХВ-Петербург, 2005.
2. Архангельский, А. Я. Приемы программирования в Delphi на основе VCL / А. Я. Архангельский. - М.: Бином-Пресс, 2006.
3. Бобровский, С. И. Технологии Delphi 2006. Новые возможности / С. И. Бобровский. - СПб.: Питер, 2006.
4. Вежневец, В., Краткое неформальное введение в графику Windows
5. Зайцев, О. В. Графика в Delphi / О.В. Зайцев, А. М. Владимиров. - СПб.: Наука и техника, 2007.
6. Кузан, Д.Е. Программирование Win32 API в Delphi / Д. Кузан, В. Шапоров. - СПб.: БХВ-Петербург, 2005. - 682с.
7. Культин, Н. Б. Delphi в задачах и примерах / Н. Б. Культин. - СПб.: БХВ-Петербург, 2004.
8. Культин, Н.Б. Основы программирования в Delphi 7 /Н. Б. Культин, 2003.
Додаток A. Лістинг програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DateUtils, ExtCtrls, StdCtrls, Menus;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Draw_S(t,l:integer);
procedure Draw_H(t,m,l:integer);
procedure Draw_Clock(l:integer);
procedure FormClick(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Meh_draw(s,m,h,ts,tm,th:integer;meh:boolean);
procedure Sec_draw(ms,ss,mm,s,m:integer);
procedure N1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
meh,sec:boolean;
ss,ms,mm:integer;
implementation
{$R *.dfm}
procedure TForm1.Draw_Clock(l: integer);
var t:integer;
u:real;
begin
with Canvas do
begin
Pen.Width:=5;
Ellipse(Form1.ClientWidth div 2-l,Form1.ClientHeight div 2-l,
Form1.ClientWidth div 2+l,Form1.ClientHeight div 2+l);
for t:=1 to 12 do
begin
u:= pi/2-((t*5*6)*pi)/180;
case t of
1..2: TextOut(Form1.ClientWidth div 2+round((l-15)*cos(u)),
Form1.ClientHeight div 2-round((l-5)*sin(u)), IntToStr(t));
3: TextOut((Form1.ClientWidth div 2+round((l)*cos(u)))-15,
(Form1.ClientHeight div 2-round((l)*sin(u)))-5, IntToStr(t));
4..5: TextOut(Form1.ClientWidth div 2+round((l-20)*cos(u)),
Form1.ClientHeight div 2-round((l-20)*sin(u)), IntToStr(t));
6: TextOut((Form1.ClientWidth div 2+round((l)*cos(u)))-2,
(Form1.ClientHeight div 2-round((l-10)*sin(u))-10), IntToStr(t));
7..8: TextOut(Form1.ClientWidth div 2+(round((l-10)*cos(u))+(l div 13-t)),
Form1.ClientHeight div 2-round((l-20)*sin(u)), IntToStr(t));
9: TextOut((Form1.ClientWidth div 2+round((l)*cos(u)))+10,
(Form1.ClientHeight div 2-round((l-10)*sin(u))-5), IntToStr(t));
10..11: TextOut(Form1.ClientWidth div 2+round((l-5)*cos(u)),
Form1.ClientHeight div 2-round((l-5)*sin(u)), IntToStr(t));
12: TextOut((Form1.ClientWidth div 2+round((l)*cos(u)))-5,
(Form1.ClientHeight div 2-round((l-10)*sin(u))-2), IntToStr(t));
else ;
end;
end;
end;
end;
procedure TForm1.Draw_H(t, m, l: integer);
var u:real;
x,y:integer;
begin
t:=t mod 12;
m:=m div 12;
t:=(t*5)+m;
u:= pi/2-((t*6)*pi)/180;
Canvas.MoveTo(Form1.ClientWidth div 2,Form1.ClientHeight div 2);
x:=Form1.ClientWidth div 2+round(l*cos(u));
y:=Form1.ClientHeight div 2-round(l*sin(u));
Canvas.LineTo(x,y);
end;
procedure TForm1.Draw_S(t, l: integer);
var u:real;
x,y:integer;
begin
u:= pi/2-((t*6)*pi)/180;
Canvas.MoveTo(Form1.ClientWidth div 2,Form1.ClientHeight div 2);
x:=Form1.ClientWidth div 2+round(l*cos(u));
y:=Form1.ClientHeight div 2-round(l*sin(u));
Canvas.LineTo(x,y);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
meh:=true;
sec:=false;
Form1.ClientWidth:=200;
Form1.ClientHeight:=200;
Label1.Caption:='';
ss:=0;
ms:=0;
mm:=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var dateTime:TDateTime;
s,m,h,ts,tm,th:integer;
begin
s:=80;
m:=60;
h:=40;
dateTime:=Now;
ts:=SecondOf(dateTime);
tm:=MinuteOf(dateTime);
th:=HourOf(dateTime);
case sec of
false: begin
ss:=0;
ms:=0;
mm:=0;
Meh_draw(s,m,h,ts,tm,th,meh);
Timer1.Interval:=1000;
end;
true:
begin
Timer1.Interval:=1;
ms:=ms+1;
if ms>99 then
begin
ss:=ss+1;
ms:=0;
end;
if ss>59 then
begin
ss:=0;
mm:=mm+1;
end;
Sec_draw(ms,ss,mm,s,m);
end;
else ;
end;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
if meh then
meh:=false
else
meh:=true;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
sec:=true;
end;
procedure TForm1.Meh_draw(s, m, h, ts, tm, th: integer; meh:boolean);
begin
Form1.Caption:=IntToStr(th)+ ': '+ IntToStr(tm)+': '+IntToStr(ts);
if meh then
begin
Form1.Refresh;
with Canvas do
begin
Label1.Caption:='';
Pen.Color:=clBlack;
Brush.Style:=bsClear;
Draw_Clock(s);
Pen.Width:=1;
Draw_S(ts,s);
Pen.Width:=3;
Draw_S(tm,m);
Pen.Width:=5;
Draw_H(th,tm,h);
end;
end
else
begin
Form1.Refresh;
Label1.Caption:=IntToStr(th)+ ': '+ IntToStr(tm)+': '+IntToStr(ts);
Label1.Left:= (ClientWidth - Label1.Width) div 2;
Label1.Top:= (Clientheight - Label1.Height) div 2;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
sec:=false;
end;
procedure TForm1.Sec_draw(ms, ss, mm, s, m: integer);
begin
Form1.Caption:=IntToStr(mm)+ ': '+ IntToStr(ss)+': '+IntToStr(ms);
if meh then
begin
Form1.Refresh;
with Canvas do
begin
Label1.Caption:='';
Pen.Color:=clBlack;
Brush.Style:=bsClear;
Draw_Clock(s);
Pen.Width:=1;
Draw_S(ss,s);
Pen.Width:=3;
Draw_S(mm,m);
end;
end
else
begin
Form1.Refresh;
Label1.Caption:=IntToStr(mm)+ ': '+ IntToStr(ss)+': '+IntToStr(ms);
Label1.Left:= (ClientWidth - Label1.Width) div 2;
Label1.Top:= (Clientheight - Label1.Height) div 2;
end;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Timer1.Enabled:=false;
Timer1Timer(sender);
end;
end.
Додаток Б
Результати роботи програми
Рисунок 1. Механічний годинник
Рисунок 2. Електронний годинник
Рисунок 3. Електронний секундомір
Рисунок 4. Демонстрація додаткових можливостей програми
Рисунок 5. Механічний та електронний секундомір
Рисунок 6. Синхронізація часу програми з часом комп'ютера
Размещено на Allbest.ru
...Подобные документы
Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.
курсовая работа [831,2 K], добавлен 01.03.2014Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.
курсовая работа [2,0 M], добавлен 23.06.2010Призначення драйверів та порядок роботи з драйверами в MS-DOS. Розробка драйверів консолі. Структура драйвера та призначення компонентів. Розробка структури алгоритму, програми налагодження драйвера. Опис змінних програми та роботи модулів програми.
курсовая работа [1,0 M], добавлен 22.06.2012Поняття та класифікація комп’ютерних ігор. Відтворення гри "Морський бій" у вигляді комп’ютерної програми. Компоненти програмного середовища Delphi, що були використані під час її створення. Алгоритм реалізації ігрового процесу та скріншоти з програми.
дипломная работа [418,2 K], добавлен 12.07.2013Розробка ефективних засобів навчання. Виявлення системи, способів, що сприяють підвищенню активності учнів. Призначення та область використання програми електронний довідник. Розробка алгоритму програми. Обґрунтування вибору мови і системи програмування.
курсовая работа [161,7 K], добавлен 02.06.2014Обліковий запис root. Настройка атрибутів користувацького облікового запису. Програми для створення облікових записів користувачів. Створення програми-скрипта add_user для надання робочого інтерфейсу програмі useradd. Блок схема алгоритму програми.
курсовая работа [35,9 K], добавлен 10.01.2013Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Головні принципи візуального програмування, опис компонентів Delphi, використаних при розробці проекту. Опис програми-додатку "Психологічний тест" та список дій користувача. Алгоритм роботи програми, її форма та ієрархія. Опис графічного інтерфейсу.
курсовая работа [1,2 M], добавлен 08.06.2010Можливості програмування за допомогою Delphi. Розробка програми "Кадровий облік", її функції. Алгоритм задачі: логіка програми, визначення структури даних та інтерфейсу. Аналіз програми та її тестування: переваги та недоліки у порівнянні з аналогами.
курсовая работа [1,6 M], добавлен 07.05.2009Функції комп'ютерної програми-органайзера, пов'язані із забезпеченням роботи календаря, записної книжки, менеджера контактів (адресно-телефонної книги), годинника, калькулятора. Програмна модель, розробка інтерфейсу і тестування програми, інсталяція.
курсовая работа [932,8 K], добавлен 03.06.2010Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.
курсовая работа [3,4 M], добавлен 17.11.2014Інструменти середовища C++Builder, які були використані в програмі. Робота з файлами, їх відкриття, відображення та закриття. Розробка основних функцій для реалізації програми. Тестування програмного забезпечення. Блок-схема та алгоритм програми.
курсовая работа [924,3 K], добавлен 14.01.2014Розробка програми, яка розраховує параметри магнітних ланцюгів генератора постійного струму і асинхронного двигуна, з можливістю імпорту результатів розрахунків в документ Word, а також передбачена можливість збереження результатів в текстовому файлі.
курсовая работа [1,2 M], добавлен 17.04.2009Створення двух файлів В1 і В2 з шести двоцифрових цифр з введенням в довільному порядку цифр з клавіатури із записуванням парних цифр в файл В3, а непарних - у файл В4. Процес розробки програми за допомогою мови "Асемблер". Блок-схема алгоритму задачі.
курсовая работа [37,6 K], добавлен 26.11.2011Призначення гри в хрестики-нулики та програмне забезпечення, необхідне для її функціонування. Написання програми в середовищі Borland C++ Builder. Способи виклику програми. Характер вхідних та вихідних даних. Алгоритм та тестування роботи програми.
курсовая работа [321,6 K], добавлен 01.04.2016Створення схеми електричної принципової годинника-будильника-термометра з ІЧ ПК. Призначення проектуємого пристрою. Розробка структурнї та електричної принципової схеми пристрою та програми тестування роботи пристрою, розрахунок надійності його роботи.
курсовая работа [935,6 K], добавлен 23.03.2009Аналіз технічного забезпечення, вибір інструментального програмного забезпечення та середовища розробки програм. Створення класів для реалізації необхідних функцій для роботи програмного засобу. Розробка інтерфейсу для користувача та лістинг програми.
курсовая работа [343,9 K], добавлен 24.08.2012Розробка та схема алгоритму проектованої гри. Особливості мови програмування та середовища "Microsoft Visual Studio C++ 2008 Express Edition". Лістинг програми та загальний опис її роботи, аналіз отриманих результатів та оцінка практичної ефективності.
курсовая работа [762,8 K], добавлен 03.05.2015Принципи роботи команд мікросхеми 24LC08: читання, запису даних. Опис і блок-схеми програми і підпрограм, що обслуговує пристрій. Вибір середовища програмування і розробка програми, яка забезпечує можливість демонстрації команд. Проведення тестування.
курсовая работа [114,2 K], добавлен 08.12.2011Стан та різновиди засобів інформаційних технологій та програмного забезпечення, застосовуваних на станціях технічного обслуговування автомобілів. Розробка програми з формування товарного чеку - документу, за допомогою якого оформляється купівля-продаж.
отчет по практике [870,2 K], добавлен 09.06.2019