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

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

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

 
 Ответить  Открыть новую тему 
> Задача про 8-ми битовое число
necks
сообщение 10.01.2008 18:30
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской

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


Вводится восьми-битовое число. Вводится номер бита. Вводится удалить или нет. Вывести результат.

Такое вот задание задал лично одногрупнику наш препод. Целой группой гадаем вообще о чем идет речь, никто не знает...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tan
сообщение 10.01.2008 19:08
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

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


Бит это 0 либо 1. То есть у вас есть число состоящие из 8 битов, каждый из которых представляет 0 либо 1. Храните его в строке, после того как удалите (или не удалите определённый бит) переводите из бинарной в десятичную систему счисления (если это подразумевается под ответом). Алгоритмов в FAQ достаточно. Если не так понял, объясните поподробней в чём загвоздка.
Добавлено : появилось немного времени, я попробовал свои мысли озвучить примером (он очень сухой, но показывает как я понял условие) :
(алгоритм перевода взят из FAQ)
Uses crt;
var s,s1 : string;
ch : char;
num,j : integer;
function ToDec(n:string; radix:longint):longint;
var
m, i: longint;
const
digit: string[16]='0123456789ABCDEF';
begin
m:=0;
while (n[1]='0') and (length(n) > 1) do delete(n,1,1);
for i:=1 to length(n) do m:=m*radix+pos(n[i],digit)-1;
ToDec:=m;
end;
begin
Clrscr;
s1 := '';
writeln ('Vvedite 8-bitnoje cislo :');
readln (s);
writeln ('Vvedite nomer bita, kotorij hotite udalitj');
readln (num);
writeln ('Tochno udaljajem?');
readln (ch);
if ( ch = 'y') or (ch = 'Y') then
begin
for j := 1 to Length(s) do if j <> num then s1 := s1 + s[j];
end
Else s1 := s;
writeln ('Cislo posle operacii : ', s1);
write (s1,' v binarnoj = ', ToDec (s1,2), ' v desjatichnoj');
readkey;
end.



Сообщение отредактировано: Tan - 10.01.2008 20:00


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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