Дан код программы, дополните программу комментариями.
var
s: char;
begin
read(s);
case s of
'а','е','ё','и','о','у','ы','э','ю','я': writeln('гласные');
'б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ': writeln('согласные');
else
writeln('знаки');
end;
Здесь применяется теория графов. Если не углубляться, то там всё предельно ясно и просто.
Нужно изобразить граф: рисуем по кругу точки (вершины графа), называем их (можно не просто точки рисовать, а кружки и в кружках букву населенного пункта писать). Потом соединяем между собой точки у которых есть связь и подписываем "вес" (расстояние между населенными пунктами) этого пути. Визуально может не соответствовать длинна, но для нас потом главное просчитать какой из возможных путей наберет наибольший "вес".
Если что-то непонятно, спросите в комментариях.
128=2^7
значит на один символ отводится 7 бит
240 / 7 = 34,2857142857
Скорее всего в цифрах задачи допущена неточность, потому что дробных символов. также как и дробных бит, не бывает
Но если исходить из имеющихся данных, то в сообщении 34 символа.
Если же была ошибка в цифрах, то скорее всего на 1 символ (по замыслу составителей задачи) отводится 8 бит и тогда 240/8=30 символов в сообщении.
2)
Внутреннее представление чисел в компьютере - это двоичные числа
499(10) = 111110011(2)
2 байта это 8*2=16 бит, т.е 16 знаков в числе
Добавим спереди (слева) нули до 16 знаков, получаем внутренне представление числа в 2-х байтовой ячейке:
0000000111110011
Переведем его в 16-ричное представление. Для этого разобьем полученное число на группы по 4 знака (справа налево) и подставим вместо получившихся 4-значных блоков их 16-ричное значение:
0000 0001 1111 0011
0 1 F 3
ответ: 01F3