servik78
?>

По ивт напишите программу, которая выполняет инверсию битов в символьной строке: заменяет в ней все нули на единицы и наоборот. пример: введите строку: 10011010 инверсия: 01100101

Информатика

Ответы

Makarov

program raf105;

var  

 white,blue,red,x,y,z: integer;

 w,b,r: boolean;

begin

writeln('Ввод:');

readln(white, blue, red, x, y, z);

repeat

 w:= false;

 b:= false;

 r:= false;

 if white >= x

   then begin

     white-= x;

     blue+= 1;

   end

   else w:= true;

 if blue >= y

   then begin

     blue-= y;

     red+= 1;

   end

   else b:= true;

 if red >= z

   then begin

     red-= z;

     white+= 1;

   end

   else r:= true;

until w and b and r;

writeln('Вывод:');

writeln(white,' ', blue,' ', red);

end.

PascalABC 3.4.2
testovich1012

2000 Байтов.

Объяснение:

В алфавите 16 букв. Зная это информацию, мы можем воспользоватся формулой Хартли - N = 2^i, где N - мощность алфавита, а i - вес одного символа. 16 = 2^4. В задаче говорится, что все слова этого языка состоят из 5 букв. Выполнив обычные умножение, мы можем узнать вес одного слова в битах. 5 * 4 = 20 бит - вес одного слова. Далее просто вес одного слова умножим на их количество. 20 * 8000 = 160000. Нас просят  выразить информацию в Байтах, поэтому получившееся число разделим на 8, т.к. в одном Байте восемь бит информации. 160000 : 8 = 20000 Байтов - вес всех слов, составленных из букв алфавита.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

По ивт напишите программу, которая выполняет инверсию битов в символьной строке: заменяет в ней все нули на единицы и наоборот. пример: введите строку: 10011010 инверсия: 01100101
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ksen1280
reception
Nadezhdachizhikova7968
guzelda19904850
bestxbox
Наталья
Gstoremsk62
kapitan19
avn23
Mariya-Karaseva
ПетросовичЗаславский
Вадим-Рашад323
Стадник620
cafemgimo
Александровна-Грузман