Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/41: Рейтинг темы: голосов - 41, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21

Электронные часы

22.04.2010, 19:00. Показов 8988. Ответов 23
Метки нет (Все метки)

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

Кто знает что такое семисегментный индификатор?-это первое
И кто нибудь хоть примерно представляет как это делать?

Просто я что то не как не могу разобраться с этими часами, как и что( Помогите если кто знает, пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2010, 19:00
Ответы с готовыми решениями:

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

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

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

23
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.04.2010, 19:06
Посмотри на живые электронные часы. Там цифры складываются из 7 черточек, 4 вертикальных и 3 горизонтальных, максимально все используются для цифры 8 в виде
Code
1
2
3
 _
|_|
|_|
1
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
22.04.2010, 23:17  [ТС]
Спасибо, на один вопрос стало меньше.
А с чего вообще начать?
Как сделать чтоб они время показывали?

P.s. случайно не кто не когда не писал такую программу? может сохранилась
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
23.04.2010, 06:29
Вот сам принцип написания электронных часов. Рисование цифр напишите как у Вас в задании, и вообще переделайте покрасивше.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
uses Dos,Crt,Graph;
var  gd,gm,Xc,Yc,c1,c2,c3,c4,c5,c6,
     d1,d2,d3,d4,d5,d6,d7,d8:integer;
     hr,min,sec,hund:word;
{прорисовка цифр}
procedure Zero(xn,yn:integer);
begin
  Rectangle(0+xn,0+yn,5+xn,10+yn);
end;
procedure One(xn,yn:integer);
begin
  Line(5+xn,0+yn,5+xn,10+yn);
end;
procedure Two(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(5+xn,0+yn,5+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(0+xn,5+yn,0+xn,10+yn);
  Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Three(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(5+xn,0+yn,5+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(5+xn,5+yn,5+xn,10+yn);
  Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Fouhr(xn,yn:integer);
begin
  Line(0+xn,0+yn,0+xn,5+yn);
  Line(5+xn,0+yn,5+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(5+xn,5+yn,5+xn,10+yn);
end;
procedure Five(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(0+xn,0+yn,0+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(5+xn,5+yn,5+xn,10+yn);
  Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Six(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(0+xn,0+yn,0+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(5+xn,5+yn,5+xn,10+yn);
  Line(0+xn,10+yn,5+xn,10+yn);
  Line(0+xn,5+yn,0+xn,10+yn);
end;
procedure Seven(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(5+xn,0+yn,5+xn,10+yn);
end;
procedure Eight(xn,yn:integer);
begin
  Rectangle(0+xn,0+yn,5+xn,10+yn);
  Line(0+xn,5+yn,5+xn,5+yn);
end;
procedure Nine(xn,yn:integer);
begin
  Line(0+xn,0+yn,5+xn,0+yn);
  Line(5+xn,0+yn,5+xn,5+yn);
  Line(5+xn,5+yn,0+xn,5+yn);
  Line(5+xn,5+yn,5+xn,10+yn);
  Line(0+xn,10+yn,5+xn,10+yn);
  Line(0+xn,0+yn,0+xn,5+yn);
end;
{выбор нужной цифры}
procedure Number(n,xn,yn:integer);
begin
  case n of
    0:Zero(xn,yn);
    1:One(xn,yn);
    2:Two(xn,yn);
    3:Three(xn,yn);
    4:Fouhr(xn,yn);
    5:Five(xn,yn);
    6:Six(xn,yn);
    7:Seven(xn,yn);
    8:Eight(xn,yn);
    9:Nine(xn,yn);
  end;
end;
{рисование каркаса}
procedure KarkasElectro;
begin
  Rectangle(Xc-40,Yc-15,Xc+36,Yc+15);
  putpixel(Xc-40+25,Yc-3,Green);
  putpixel(Xc-40+25,Yc+3,Green);
  putpixel(Xc-40+50,Yc-3,Green);
  putpixel(Xc-40+50,Yc+3,Green);
end;
{рисование нужных цифр}
procedure DrawElectro;
begin
  c1:=hr div 10;{часы}
  c2:=hr mod 10;
  c3:=min div 10;{минуты}
  c4:=min mod 10;
  c5:=sec div 10;{сукунды}
  c6:=sec mod 10;
  SetColor(Black);{черным цветом, стираем старое изображение}
  Number(c1,Xc-40+5,Yc-15+10);
  Number(c2,Xc-40+15,Yc-15+10);
  Number(c3,Xc-40+30,Yc-15+10);
  Number(c4,Xc-40+40,Yc-15+10);
  Number(c5,Xc-40+55,Yc-15+10);
  Number(c6,Xc-40+65,Yc-15+10);
  GetTime(hr,min,sec,hund);{определяем системное время}
  c1:=hr div 10;
  c2:=hr mod 10;
  c3:=min div 10;
  c4:=min mod 10;
  c5:=sec div 10;
  c6:=sec mod 10;
  SetColor(Green);{снова рисуем уже зеленым цветом}
  Number(c1,Xc-40+5,Yc-15+10);
  Number(c2,Xc-40+15,Yc-15+10);
  Number(c3,Xc-40+30,Yc-15+10);
  Number(c4,Xc-40+40,Yc-15+10);
  Number(c5,Xc-40+55,Yc-15+10);
  Number(c6,Xc-40+65,Yc-15+10);
end;
begin
gd:=0;
initgraph(gd,gm,'');
Xc:=GetMaxX div 2;{центр экрана}
Yc:=GetMaxY div 2;
GetTime(hr,min,sec,hund);{начальное системное время}
KarkasElectro; {рисуем каркас}
repeat
delay(1000);{в цикле через секунду}
DrawElectro;{меняем изображение}
until KeyPressed;{пока не нажата какая-то клавиша}
end.
2
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
23.04.2010, 17:44  [ТС]
Я использую Турбо Паскаль 7.1, как не пыталась, у меня не получается модули запустить(
дописала перед begin
inputgraph( все переменные , путь задала D:\Program Files\Turbo Pascal 7.1\BIN) но не чего не работает(Конешно не удивляйтесь за такой вопрос( я просто только учусь всему...
А модуль dos тоже надо как то запускать?
мне просто надо чтоб часы выводильсь на экран и показывали время ( типа белые цифры, черный экран), а оформление это уже по пожеланию
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
23.04.2010, 17:47
Цитата Сообщение от Evaaa Посмотреть сообщение
inputgraph
Это Вы так писали, или сейчас придумали? У меня в Турбо Паскале все отлично работает.
Проверьте чтобы в папке с программой были модули Graph.tpu, DOS, EGAVGA.BGI
1
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
23.04.2010, 23:45  [ТС]
Все супер, спасибо большое, очень выручили.
спасибо большое!!!!!!!!!!!!!!

Добавлено через 39 минут
а еще не большое вопросик, как сделать все цифирки побольше...а то что то мало ваты..)
0
 Аватар для DeLuxe
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
23.04.2010, 23:49
Цитата Сообщение от Evaaa Посмотреть сообщение
Все супер, спасибо большое, очень выручили.
спасибо большое!!!!!!!!!!!!!!

Добавлено через 39 минут
а еще не большое вопросик, как сделать все цифирки побольше...а то что то мало ваты..)
Редактировать пол программы
Не основу конечно, но координаты подгонять придется.
1
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
24.04.2010, 06:41
Evaaa, Я же привел пример работы с системным временем, а Вам нужно переделать процедуры прорисовки цифр так, как написано в задании, с помощью 7 отрезков.
1
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
28.04.2010, 18:22  [ТС]
а можете написать что означают переменные
var gd,gm,Xc,Yc,c1,c2,c3,c4,c5,c6,
d1,d2,d3,d4,d5,d6,d7,d8:integer;
hr,min,sec,hund:word;

мне просто нужно делать инструкцию прорграмисту)

Добавлено через 13 минут
а еще по поводу Задания про семисегментный идентификатор, могли бы пример показать хотя бы пару цифер как делаеться.....
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.04.2010, 18:44
На каждую цифру пишется процедура, где входными параметрами сделать координаты левого верхнего угла поля цифры. Например цифра 1.
Pascal
1
2
3
4
5
procedure One(x,y:integer);
begin
line(x+20,y+1,x+20,y+19);
line(x+20,y+21,x+20,y+39);
end;
цифра 8.
Pascal
1
2
3
4
5
6
7
8
9
10
Procedure Eight(x,y:integer);
begin
line(x+1,y,x+19,y);
line(x+1,y+20,x+19,y+20);
line(x+1,y+39,x+19,y+39);
line(x+20,y+1,x+20,y+19);
line(x+20,y+21,x+20,y+39);
line(x,y+1,x,y+19);
line(x,y+21,x,y+39);
end;
Возможны опечатки, писал здесь.
Суть получить прямоугольник 20х40, линии рисуют прямоугольные 7-сегментные цифры, в местах соприкосновения разрывы в 1-2 пиксела для обозначения сегментности (см. пост 2).

Добавлено через 9 минут
Переменные
Pascal
1
2
3
4
5
uses Dos,Crt,Graph;
var  gd,gm,{переменные для входа в графический режим}
     Xc,Yc,{переменные для обозначения центра экрана}
     c1,c2,c3,c4,c5,c6:integer;{6 цифр, образующих время}
     hr,min,sec,hund:word;{переменные для чтения системного времени}
Все с символом d уберите, это у меня еще и дату выводило.
0
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 8
14.05.2010, 22:00
Ребята, а почему мне кидает ошибку при компелировании?
Пишет Ошибка 200: Деление на ноль!
Я что-то не пойму где там деление?
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.05.2010, 22:04
Это значит твой комп не поддерживает модуль Crt; попробуй его убрать.
0
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 8
14.05.2010, 22:39
Когда убераю модуль Crt, то пишет что неизвестный индификатор delay!
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
14.05.2010, 22:41
можно на Sleep заменить
0
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 8
14.05.2010, 22:44
А что означает Sleep?

Дали курсач, сделать электронные часы идущие в реальном времени, а я понятия не имею как их сделать
0
 Аватар для STGE
777 / 582 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
14.05.2010, 22:45
Вот посмотрите (инф из источника):
Вложения
Тип файла: zip 680.zip (21.0 Кб, 62 просмотров)
0
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 8
14.05.2010, 22:54
Это все конечно хорошо, но мне бы с обьяснением! Да и так что бы самому разобраться!
Кто сможет с обьяснением помочь?
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.05.2010, 07:38
tr1n, Вам нужно поискать в Гугле исправленный модуль Crt, совместимый с современными системами и процессорами, и заменить свой. Когда-то натыкался на него, но мне не нужно было.
0
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 8
15.05.2010, 08:33
Благодарю! А почему этот модуль не работает на многих компьютерах? Я заметил, у многих он не пашет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2010, 08:33
Помогаю со студенческими работами здесь

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

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

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

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

Часы
Всем привет товарищи нужна помощь-)надо написать программку на C+++ или паскале не сильно замудренную,вот описание. 1.Часы"некоторое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru