Электронные часы
Привет, вот задание:Написать программу, которая выводит на экран изображение идущих электронных часов. Семисегментный индикатор цифры необходимо реализовать самостоятельно.
Кто знает что такое семисегментный индификатор?-это первое
И кто нибудь хоть примерно представляет как это делать?
Просто я что то не как не могу разобраться с этими часами, как и что( Помогите если кто знает, пожалуйста
Программа, которая работает как настенные/электронные часы
Здравствуйте! Помогите написать две программы, пожалуйста: 1.программа которая работает как.
Изобразить «электронные часы»
Написать программу, которая выводит на экран работающие «электронные часы», которые работают в.
Преобразовать введенное значение в часы и минуты и выводит на экран в виде “часы: минуты”
Здравствуйте, помогите пожалуйста с написанием программы. Написать программу, которая запрашивает.
Электронные часы
3. Текущее показание электронных часов: m ч (0 ≤ m ≤ 23) п мин (0≤ n ≤ 59) kc.
Спасибо, на один вопрос стало меньше.
А с чего вообще начать?
Как сделать чтоб они время показывали?
Как написать часы на паскале
06. Часы на PascalABC
Для работы программы необходим файл с рисунком циферблата ( скачать ).
Рассмотрим код программы:
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’);
Далее уже в цикле происходит прорисовка изображения : 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 ABC.net с комментариями
var x0,y0, x,y,min,sec,chas: integer ;
lockdrawing; //Блокирует рисование на графическом окне
HideCursor; //скрывает курсор
x0:= 250 ; y0:= 250 ; min:= 0 ; sec:= 0 ; //начальные значения центра часов
repeat //цикл с постусловием
ClearWindow; //очистить окно
SetPenWidth( 5 ); //задать толщину пера 5
setfontsize( 20 ); //параметры шрифта: размер
setfontcolor(clblack); //параметры шрифта: цвет
setfontstyle(fsbold); //стиль шрифта: полужирный
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); //рисование минутной стрелки
x:=x0+Round( 60 *sin(Pi*chas/ 30 )); //координаты конечной точки часовой стрелки
y:=y0-Round( 60 *cos(Pi*chas/ 30 ));
SetPenWidth( 10 ); Line(x0, y0, x, y); //рисование часовой стрелки
sleep( 1000 ); //задержка
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
Курс повышения квалификации
Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС
Курс повышения квалификации
Современные педтехнологии в деятельности учителя
Ищем педагогов в команду «Инфоурок»
Изучение вложенного цикла и графики в среде программирования Pascal ABC.net на примере создания «графических» часов
var x0,y0, x,y,min,sec,chas: integer;
lockdrawing; //Блокирует рисование на графическом окне
SetWindowSize(500,500); //задает размер экрана
HideCursor; //скрывает курсор
x0:=250; y0:=250; min:=0; sec:=0; //начальные значения центра часов
repeat //цикл с постусловием
ClearWindow; //очистить окно
SetPenWidth(5); //задать толщину пера 5
setfontsize(20); //параметры шрифта: размер
setfontcolor(clblack); //параметры шрифта: цвет
setfontstyle(fsbold); //стиль шрифта: полужирный
x:=x0+Round(120*sin(Pi*sec/30)); //координаты конечной точки секундной стрелки
SetPenWidth(3); Line(x0, y0, x, y); //рисование секундной стрелки
x:=x0+Round(100*sin(Pi*min/30)); //координаты конечной точки минутной стрелки
SetPenWidth(7); Line(x0, y0, x, y); //рисование минутной стрелки
x:=x0+Round(60*sin(Pi*chas/30)); //координаты конечной точки часовой стрелки
SetPenWidth(10); Line(x0, y0, x, y); //рисование часовой стрелки
Номер материала: ДБ-207251
Не нашли то что искали?
Вам будут интересны эти курсы:
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Учителя о ЕГЭ: секреты успешной подготовки
Время чтения: 11 минут
Путин поручил не считать выплаты за классное руководство в средней зарплате
Время чтения: 1 минута
НИУ ВШЭ откроет первую в России магистратуру по управлению низкоуглеродным развитием
Время чтения: 2 минуты
В российских школах могут появиться «службы примирения»
Время чтения: 1 минута
В Хабаровске родители смогут заходить в школы и детсады только по QR-коду
Время чтения: 1 минута
Дума приняла закон о бесплатном проживании одаренных детей в интернатах при вузах
Время чтения: 1 минута
Учителям предлагают 1,5 миллиона рублей за переезд в Златоуст
Время чтения: 1 минута
Подарочные сертификаты
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.
Графика: циферблат механических часов с секундной, минутной и часовой стрелками
Нарисовать часы с вращающимися с разной скоростью часовой и минутной стрелками
Напишите программу которая выводит динамическое изображение часов с вращающимися с разной.
По заданному значению часов и минут, определите угол между часовой и минутной стрелками
Поиогите решить эти задачи на языке паскаль: 4. По заданному значению часов и минут, определите.
Создать эмулятор механических часов на Pascal
Помогите пожалуйста, нужен код программы эмулятора механических часов, с использованием модулей.
Вывести на экран изображение циферблата механических часов
Составить программу вывода на экран изображение циферблата механических часов осуществляется.
Подожди чуть, будет и кукушка, и в часах у меня там ошибка, вечерком будет.
Добавлено через 1 час 54 минуты
ну вот и кукушка.
Процедуры и функции GRAPH. Составьте программу вывода на экран изображения циферблата механических часов
Составьте программу вывода на экран изображения циферблата механических часов с секундной, минутной.
Задача определения минутной стрелки часов
Задача: написать код программы на паскале определения траектории минутной и секундной стрелки,с.
Дан угол для часовой и минутной стрелки. Определить сколько времени
Здравствуйте, помогите пожалуйста решить задачу: Дан угол для часовой и минутной стрелки (90.
Графика: нарисовать циферблат дискового телефона
товарищи вот немогу нарисовать такой рисунок в паскале.
Узнать текущее время, часы, минуты, секунды по отдельности
H := ТекущееВремя.Часы;
M := ТекущееВремя.Минуты;
S := ТекущееВремя.Секунды;
Ну и с датой можно также поступить?
Что-то покопался в справке, в Сети, может к вечеру глаз замылил, но не могу найти.
Перевод заданного количества секунд в часы, минуты, секунды
Нужно написать программу которая по заданному количеству секунд вычисляет сколько прошло часов.
Время. Дано количество секунд. Вычислить время в формате часы/минуты/секунды.
Написать программу, которая требует от пользователя ввести к- секунду и чтобы программа считала.
Решение
Решение
Всем спасибо. Вот что выродил! Еще теперь бы рашпилем доработать.
Решение
Класс. Я вроде так и делал, используя по аналогу Дня, Месяца и Года a.DayOfWeek, но почему-то не фунциклировало. СПАСИБО!
И про замену тоже думал, но пока лениво было вошкаться. Раньше таких примочек не встречал. СПАСИБО! Но при небольшом тормозе цифры видно как прорисовываются, а не резко выскакивают, я даже изначально специально Sleep ставил.
Я так понимаю, эта новая процедура тоже под различные разрешения монитора адаптирована?
Где именно сложность в понимании?
Добавлено через 41 минуту
Еще один вопрос по ходу этой программки, хоть уже и не в тему. Можно ли из этого безобразия сделать ScreenSaver?
Добавлено через 18 часов 18 минут