Все выпуски  

RusFAQ.ru: Математика


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ НАУКА И ОБРАЗОВАНИЕ / Точные науки / Математика

Выпуск № 34
от 08.08.2005, 19:13

Администратор:Tigran K. Kalaidjian
В рассылке:Подписчиков: 56, Экспертов: 14
В номере:Вопросов: 1, Ответов: 1


Вопрос № 24451: А как вы подобрали константы в 9 и 10 строках? Кстати AYL мне ее дал! 06.07.2005, 12:30 1 program scheme; 2 uses Crt; 3 4 Type 5 Number = array [0..9] of Byte; 6 Segment = array [1..7] of Byte; 7 8 Const 9 cDi...

Вопрос № 24.451
А как вы подобрали константы в 9 и 10 строках?
Кстати AYL мне ее дал! 06.07.2005, 12:30
1 program scheme;
2 uses Crt;
3
4 Type
5 Number = array [0..9] of Byte;
6 Segment = array [1..7] of Byte;
7
8 Const
9 cDigS : Number = ($7E, $30, $6D, $79, $33, $5B, $5F, $70, $7F, $7D);
{126, 48, 109, 121, 51, 91, 95, 112, 127, 125}

10 cSgm : Segment = ($40, $20, $10, $08, $04, $02, $01);
{ 64, 32, 16, 8, 4, 2, 1}
11
12 Var
13 n,i : Byte;
14 d : integer;
15 BEGIN
16 ClrScr;
17 Repeat
18 Write ('‚введите номер: ');
19 Readln (n);
20 Until n in [0..9];
21
22 d := cDigS [n];
23 for i := 1 to 7 do
24 if d and cSgm[i] <> 0 then
25 Write (i,' ');
26 Writeln;
27 END.
Отправлен: 02.08.2005, 20:39
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Ayl
Здравствуйте, Терсков Алексей Николаевич!

Константы в 10-й строке - это просто степени числа 2 (от 0-й до 6-й). Степень n числа 2 выражается в 2-й системе счисления как единица с n нулями. Играет роль маски для выделения бита, соответствующего данному сегменту.

Константы в 9-й строке описывают сегменты для каждой цифры.
Например, для цифры 2 должны гореть сегменты A, B, D, E и G. Если назвать A первым сегментом, а G - седьмым, и условиться, что 7-й сегмент описывается младшим битом числа, то получим, что для цифры 2 сегменты должны кодироваться следующим образом:
ABCDEFG
1101101 = $6D

Смотрим в массив cDigS - действительно, 3-й элемент равен $6D. А при нумерации элементов от 0 третий элемент соответствует цифре 2.

Остальные константы рассчитываются аналогичным образом.

---------
Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 03.08.2005, 12:55
Оценка за ответ: 5
Комментарий оценки:
Я бы, не зачто не дадумался
Хотя не так уж и сложно!
Блин теперь наконец вроде все понятно.
Болшое спасибо блин!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: science.exact.mathematicsfaq
Отписаться
Вспомнить пароль

В избранное