Как написать программу электронные часы

Для работы программы необходим файл с рисунком циферблата ( скачать ).

Рассмотрим код программы:

Program Timer;
uses crt, GraphABC;
var pic, x0,y0, x,y, R, min, sec : integer;
begin
SetWindowSize(360,480);
HideCursor;
x0:=173; y0:=300; min:=0; sec:=0;
pic:=LoadPicture(‘timer.jpg’);

DrawPicture(pic,0,0,360,480); // Рисование циферблата
sec:=sec+1;

min:= sec div 60; // секунды и минуты
x:=x0+Round(120*sin(Pi*sec/30));
y:=y0-Round(120*cos(Pi*sec/30));
SetPenWidth(3);

Line(x0, y0, x, y); // секундная стрелка
x:=x0+Round(100*sin(Pi*min/30));
y:=y0-Round(100*cos(Pi*min/30));
SetPenWidth(7);

Line(x0, y0, x, y); // минутная стрелка
sleep(1000);
until (min>=60) or keyPressed;
end.

Теперь разберемся как она работает.

Загрузка изображения часов осуществляется в два этапа: сначала с файлом изображения связывается идентификатор изображения (в нашем случае это pic ). Это делается следующим оператором: pic:=LoadPicture(‘timer.jpg’);

Разбор задачи Электронные часы — 1

Далее уже в цикле происходит прорисовка изображения : DrawPicture(pic,0,0,360,480);

Оператор HideCursor; «прячет» курсор, который всегда «моргает» в левом верхнем углу окна.

Работа цикла с постусловием.

Цикл repeat. until (min>=60) or keyPressed; работает пока количество минут не превысит 60 или не будет нажата какая-либо из клавиш клавиатуры.

Что происходит в теле цикла.

1. Прорисовка часов: DrawPicture(pic,0,0,360,480);

2. Увеличение количества секунд на 1: sec:=sec+1;

3. Расчет количества минут: min:= sec div 60;

4. Расчет конечных координат x и у для секундрой стрелки :

5. Прорисовка линии секундной стрелки: SetPenWidth(3); Line(x0, y0, x, y);

6. Расчет конечных координат х и у для минутной стрелки:

7. Прорисовка линии минутной стрелки: SetPenWidth(7); Line(x0, y0, x, y);

8. Задержка работы программы на 1 секунду: sleep(1000);

Небольшой видеофрагмент поможет еще досканельнее разобраться в работе программы:

Видеоурок:

Как добавить часовую стрелку в часы?

2. После расчета количества минут добавить строку для расчета количества часов на основе количества минут:

hour:= min div 12; (здесь делим нацело уже не на 60, а на 12, т.к. часовая стрелка за один полный оборот минутной стрелки должна сместиться не на одно, а на 5 делений);

3. Далее необходимо по аналогии с секундной и минутной стрелками сделать перерасчет количества часов в координаты конца стрелки x и y. В этом же блоке необходимо учесть, что часовая стрелка должна быть еще короче минутной:

4. Выставить толщину и цвет часовой стрелки и провести линию, изображающую часовую стрелку.

5. Для того, чтобы пронаблюдать ход часов в ускоренном виде, необходимо сократить задержку с 1000 ms до 10m: sleep(10);

Вот и все. Удачи Вам в написании программы!

Паскаль — дата и время

Большинство программ, которые вы пишете, нуждаются в реализации некоторой формы функций даты, возвращающих текущую дату и время. Свидания настолько важны в повседневной жизни, что с ними легко работать, не задумываясь. Паскаль также предоставляет мощные инструменты для арифметики дат, которые упрощают манипулирование датами. Однако фактическое имя и работа этих функций различны для разных компиляторов.

Читайте также:
Программа для обновления по Сони эриксон

Как создать программу «ЧАСЫ» в блокноте

Получение текущей даты и времени

Функция Pascal TimeToString дает вам текущее время в форме с разделителями (:). В следующем примере показано, как получить текущее время —

Когда приведенный выше код был скомпилирован и выполнен, он дает следующий результат —

Когда приведенный выше код был скомпилирован и выполнен, он дает следующий результат —

Функция Now возвращает текущую дату и время —

Когда приведенный выше код был скомпилирован и выполнен, он дает следующий результат —

Различные функции даты и времени

Free Pascal предоставляет следующие функции даты и времени —

function DateTimeToFileDate (DateTime: TDateTime): LongInt;

Преобразует тип DateTime в дату файла.

Функция DateTimeToStr (DateTime: TDateTime) :;

Создает строковое представление DateTime

function DateTimeToStr (DateTime: TDateTime; const FormatSettings: TFormatSettings) :;

Создает строковое представление DateTime

процедура DateTimeToString (out Результат:; const FormatStr:; const DateTime: TDateTime);

Создает строковое представление DateTime

процедура DateTimeToString (out Результат:; const FormatStr:; const DateTime: TDateTime; const FormatSettings: TFormatSettings);

Создает строковое представление DateTime

процедура DateTimeToSystemTime (DateTime: TDateTime; выход SystemTime: TSystemTime);

Преобразует DateTime в системное время

function DateTimeToTimeStamp (DateTime: TDateTime): TTimeStamp; Преобразует DateTime в метку времени

Функция DateToStr (Date: TDateTime) :;

Создает строковое представление даты

function DateToStr (Date: TDateTime; const FormatSettings: TFormatSettings) :;

Создает строковое представление даты

Функция Date: TDateTime;

Получает текущую дату

function DayOfWeek (DateTime: TDateTime): Integer;

Получает день недели

процедура DecodeDate (Дата: TDateTime; год выхода: слово; месяц выхода: слово; день выхода: слово);

Декодирует DateTime в год, месяц и день

процедура DecodeTime (время: TDateTime; вне часа: слово; вне минуты: слово; вне секунды: слово; вне миллисекунды: слово);

Декодирует DateTime в часы, минуты и секунды

функция EncodeDate (год: слово; месяц: слово; день: слово): TDateTime;

Кодирует год, день и месяц в DateTime

функция EncodeTime (час: слово; минута: слово; секунда: слово; миллисекунда: слово): TDateTime;

Кодирует часы, минуты и секунды в DateTime

Функция FormatDateTime (const FormatStr:; DateTime: TDateTime) :;

Возвращает строковое представление DateTime

функция FormatDateTime (const FormatStr:; DateTime: TDateTime; const FormatSettings: TFormatSettings) :;

Возвращает строковое представление DateTime

функция IncMonth (const DateTime: TDateTime; NumberOfMonths: Integer = 1): TDateTime;

Добавляет 1 к месяцу

function IsLeapYear (Год: Слово): Boolean;

Определяет, является ли год високосным

function MSecsToTimeStamp (MSecs: Comp): TTimeStamp;

Преобразует количество миллисекунд в метку времени

функция сейчас: TDateTime;

Получает текущую дату и время

function StrToDateTime (const S :): TDateTime;

Преобразует строку в DateTime

function StrToDateTime (const s: ShortString; const FormatSettings: TFormatSettings): TDateTime;

Преобразует строку в DateTime

function StrToDateTime (const s: AnsiString; const FormatSettings: TFormatSettings): TDateTime;

Преобразует строку в DateTime

function StrToDate (const S: ShortString): TDateTime;

Преобразует строку в дату

function StrToDate (const S: Ansistring): TDateTime;

Преобразует строку в дату

function StrToDate (const S: ShortString; разделитель: Char): TDateTime;

Читайте также:
Что такое концепт программы

Преобразует строку в дату

function StrToDate (const S: AnsiString; разделитель: Char): TDateTime;

Преобразует строку в дату

function StrToDate (const S: ShortString; const useformat:; разделитель: Char): TDateTime;

Преобразует строку в дату

function StrToDate (const S: AnsiString; const useformat:; separator: Char): TDateTime;

Преобразует строку в дату

function StrToDate (const S: PChar; Len: Integer; const useformat:; separator: Char = # 0): TDateTime;

Преобразует строку в дату

function StrToTime (const S: Shortstring): TDateTime;

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Задача «Электронные часы».
var N:longint; begin assign(input,’input.txt’); assign(output,’output.txt’); reset(input);.

tick

Электронные часы
3. Текущее показание электронных часов: m ч (0 ≤ m ≤ 23) п мин (0≤ n ≤ 59) kc.

tick

Электронные часы
Написать программу, которая выводит на экран работающие «электронные часы», которые работают в.

Решение

Электронные часы
У нас есть электронные часы (см. во вложении). Обратите внимание: первый элемент (для отображения.

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

Программа, которая работает как настенные/электронные часы
Помогите написать две программы, пожалуйста: 1.программа которая работает как.

tick

Изобразить на экране работающие электронные часы с цифровым индикатором
Электронные часы. Изобразить на экране работающие электронные с цифровым индикатором (каждая цифра.

tick

Изобразить «электронные часы»
Написать программу, которая выводит на экран работающие «электронные часы», которые работают в.

tick

«Электронные часы»
Сама задача : «Электронные часы показывают время в формате h:mm:ss, то есть сначала записывается.

Узнать текущее время, часы, минуты, секунды по отдельности

H := ТекущееВремя.Часы;
M := ТекущееВремя.Минуты;
S := ТекущееВремя.Секунды;

Ну и с датой можно также поступить?
Что-то покопался в справке, в Сети, может к вечеру глаз замылил, но не могу найти.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Время. Дано количество секунд. Вычислить время в формате часы/минуты/секунды.
Написать программу, которая требует от пользователя ввести к- секунду и чтобы программа считала.

Решение

Решение

Всем спасибо. Вот что выродил! Еще теперь бы рашпилем доработать.

Решение

Класс. Я вроде так и делал, используя по аналогу Дня, Месяца и Года a.DayOfWeek, но почему-то не фунциклировало. СПАСИБО!

И про замену тоже думал, но пока лениво было вошкаться. Раньше таких примочек не встречал. СПАСИБО! Но при небольшом тормозе цифры видно как прорисовываются, а не резко выскакивают, я даже изначально специально Sleep ставил.
Я так понимаю, эта новая процедура тоже под различные разрешения монитора адаптирована?

Где именно сложность в понимании?

Добавлено через 41 минуту
Еще один вопрос по ходу этой программки, хоть уже и не в тему. Можно ли из этого безобразия сделать ScreenSaver?

Добавлено через 18 часов 18 минут

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

tick

Создать приложение для решения задачи Текущее время (часы, минуты, секунды) задано тремя переменными: h, m s
Создать приложение для решения задачи Текущее время (часы, минуты, секунды) задано тремя.

Читайте также:
По какой ссылке можно запустить программу интернет поиска

часы в паскале.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Семисегментные часы на Паскале
Товарищи! Помогие пожалуйста! Как можно вывести цифры в виде семисегментных индикаторов для часов.

Нарисовать в паскале часы
:help:помогите пожалуйста нарисовать в паскале часы, оч нужно, заранее большое спасибо:)

Флеш часы: часы, показывающие указанное время
Привет всем. Помогите пожалуйста. Как создать флеш часы чтобы они показывали разное указанное.

tick

Преобразовать введенное значение в часы и минуты и выводит на экран в виде “часы: минуты”
Здравствуйте, помогите пожалуйста с написанием программы. Написать программу, которая запрашивает.

tick

Как работает join и split в Паскале? И есть ли такие аналоги Питону в Паскале?
a=input() #из ‘ Hello world ‘ делаю ‘Hello, world’ a.strip(‘ ‘) a=’, ‘.join(a.split(‘ ‘)) В.

tick

Программа, которая переводит часы и минуты в минуты или минуты – в часы и минуты
Составьте программу, которая в зависимости от входных данных переводит часы и минуты в.

tick

Часы
Функцию определения времени я написал. А теперь я хочу чтобы часы работали. Как? Что-то вроде этого.

Источник: folkmap.ru

Задача «Электронные часы»

Электронные часы 2: Электронные часы показывают время в формате h:mm:ss , то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. Количество минут и секунд при необходимости дополняются до двузначного числа нулями. С начала суток прошло n секунд. Выведите, что покажут часы.

Пример: ввод — 3602, вывод — 1:00:02 Решить нужно как то с помощью div, mod. которые я как раз не очень понимаю, решение может быть написано на C++ или C#. //Первую задачу этого типа я уже решил: Электронные часы 1: Дано число n . С начала суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент. Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). Учтите, что число n может быть больше, чем количество минут в сутках.

var a, b, n:longint; begin readln(n); a:=(n div 60)mod 24; b:=n mod 60; writeln(a,’ ‘,b); end.

Вот так решается первая версия, а как вторая?

Отслеживать

28.4k 10 10 золотых знаков 57 57 серебряных знаков 118 118 бронзовых знаков

Источник: ru.stackoverflow.com

Написать программу, выводящую на экран работающие «электронные часы» — C#

Задача. Написать программу, выводящую на экран работающие «электронные часы» показывающие текущее время, и работающую в течении одной минуты или до тех пор, пока пользователь не нажмет любую клавишу.

Код к задаче: «Написать программу, выводящую на экран работающие «электронные часы»»

Листинг программы

public MainForm() < InitializeComponent(); ltime = new Label(); ltime.Parent = this; ltime.Location = new Point(10,10); ltime.Show(); sc = System.Threading.SynchronizationContext.Current; ((AsyncCallback) delegate < while (true) < sc.Post(delegate < ltime.Text = DateTime.Now.ToString(«%h:%m:%s»); >, null); System.Threading.Thread.Sleep(500); > >).BeginInvoke(null,null,null); >

Источник: studassistent.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru