IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двоично-десятичная форма, перевести в двоично-десятичную форму
Вероника
сообщение 11.10.2005 17:17
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Женский
Реальное имя: Вероника

Репутация: -  0  +


Помогите пожалуйста!
Я даже толком не поняла задание но оно звучит так:
Исходная информация: натуральное число записано в виде строки десятичных цифр(можно предполагать, что оно размещается в формате longint).
Задание: перевести это число в двоично-десятичную форму и вывести в виде строки(каждый соответствует двум десятичным цифрам).
Подскажите пожалуйста я буду вам очень благодарна! Заранее спасибо! huh.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 11.10.2005 21:45
Сообщение #2


Гость






Вероника, не совсем понятно, что именно тебе нужно получить... Как вариант могу привести функцию, получающую число (LongInt), и возвращающую визуальное представление BCD-числа, т.е. то, как выглядят сами биты этого двоично-десятичного числа:

function get_bcd_visual(n: longint): string;
const
quart: array['0' .. '9'] of string[4] =
('0000', '0001', '0010', '0011', '0100',
'0101', '0110', '0111', '1000', '1001');
delim: array[boolean] of string = ('', ' ');
var
s: string;
b: boolean;
begin
s := ''; b := true;
while n > 0 do begin
s := quart[chr(48 + (n mod 10))] + delim[b] + s;
n := n div 10; b := not b;
end;
if not b then s := quart['0'] + s;
get_bcd_visual := s;
end;

begin
writeln( get_bcd_visual(12345) );
end.

Если нужно получить само BCD-число, то непонятно, как будет определяться правильность работы программы, т.к. упакованное число 23, например, будет выглядеть как символ с кодом 35, т.е. "#"
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Вероника   Двоично-десятичная форма   11.10.2005 17:17
virt   двоично десятичная форма это когда в байт записыва...   11.10.2005 17:42
klem4   Вероника, такие задачи уже решались, пользуйтесь п...   11.10.2005 17:42
Вероника   Это очень хорошо что вы мне объяснили что такое дв...   11.10.2005 21:08
volvo   Вероника, не совсем понятно, что именно тебе нужно...   11.10.2005 21:45
Вероника   Спасибо котик буду надеяться что это именно то что...   12.10.2005 15:08
Вероника   Помогите решить задачу всё на ту же тему но усложн...   13.10.2005 13:38
volvo   Еще раз повторяю вопрос: КАК именно задана строка?...   13.10.2005 14:28
Вероника   :( :( :( я не знаю примера это задание дано на л...   13.10.2005 14:58
Вероника   Так что Котик без примера не как???   13.10.2005 16:03
Вероника   Привет ещё раз котик помнишь ту задачу которую ты ...   20.10.2005 12:39
volvo   { Это - та функция, которую я делал раньше } funct...   20.10.2005 13:23
Вероника   Котя я тебя обажаю ты лучший Спасибо тебе большое...   20.10.2005 15:18
Вероника   Вот вопросик ещё в 1- ой программе было delim[b] а...   20.10.2005 15:36
volvo   Если ты используешь ТОЛЬКО первую подпрограмму(get...   20.10.2005 15:42


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 10:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"