М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
mzhenyak1999
mzhenyak1999
25.04.2022 15:09 •  Информатика

На языке паскаль написать программу производящую перевод из четверичной системы счисления в шестнадцатиричную

👇
Ответ:
vlipinskiy16
vlipinskiy16
25.04.2022
//PascalABC.Net 3.1 сборка 1200
uses System;

begin
    var Replace4to16 := new Dictionary<string, string>();
    Replace4to16.Add('00', '0');
    Replace4to16.Add('01', '1');
    Replace4to16.Add('02', '2');
    Replace4to16.Add('03', '3');
    Replace4to16.Add('10', '4');
    Replace4to16.Add('11', '5');
    Replace4to16.Add('12', '6');
    Replace4to16.Add('13', '7');
    Replace4to16.Add('20', '8');
    Replace4to16.Add('21', '9');
    Replace4to16.Add('22', 'a');
    Replace4to16.Add('23', 'b');
    Replace4to16.Add('30', 'c');
    Replace4to16.Add('31', 'd');
    Replace4to16.Add('32', 'e');
    Replace4to16.Add('33', 'f');
    
    var n4 := ReadString('a_4 = ');
    if n4.Length mod 2 = 1 then n4 := '0' + n4;
    
    var n16 := '';
    for var i := 0 to n4.Length div 2 - 1 do
        if Replace4to16.ContainsKey(n4.Substring(2 * i, 2)) then
            n16 += Replace4to16[n4.Substring(2 * i, 2)]
        else writeln('Неверные знаки "', n4.Substring(2 * i, 2), '" в числе');
    
    writeln(n16);
end.
4,6(31 оценок)
Открыть все ответы
Ответ:
zakergaevak
zakergaevak
25.04.2022
С 1 и 3 вопросом больших проблем нет: в Юникод на 1 символ отводится 16 бит (2 байта), поэтому, если посчитать, что служебная информация  в файле отсутствует, текст занимает в 2 раза больше байт, чем в нем символов.
1) ответ d - 288 байт
3) ответ  b - 360000 символов

а вот со 2 проблемы. ASCII, или КОИ-7 - на 1 символ отводилось 7 бит. При этом национальные кодировки (в частности, русская) были возможны только вместо строчных латинских букв. Да и то, только прописные буквы.
Расширенный ASCII, или КОИ-8 - 8-битное кодирование.
В пословице, если написать ее правильно, 26 символов. Так что, ни один из ответов не подходит. Или условие неверно переписано, или это умышленный вопрос без ответа. Где-то так...
Или я безнадежно туплю, но сомневаюсь, что это так))
4,4(69 оценок)
Ответ:
efr47
efr47
25.04.2022

программа с комментариями, если все равно не понятно спрашивай

для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие :))

числа можно вводить по одному или одной строкой через пробел

const

   n = 1000; // длина массива

var

   d : array of integer := new integer[n]; // объявляем и создаем массив

   a, b : integer;

   

begin

   // вводим числа в массив //

   writeln('введите данные в массив:');

   for var i := 0 to n-1 do begin

       read(a);

       d[i] := a;

   end;

   writeln('введен массив d=', d); // выводим массив на экран

   // переворачиваем данные в массиве                                //

   // для этого меняем первое с последним, второе с предпоследним    //

   // и так до середины                                              //

   for var i := 0 to (n div 2)-1 do begin

       a := d[i];

       d[i] := d[n-i-1];

       d[n-i-1] := a;

   end;

   writeln('переворачиваем массив d=', d); // выводим перевернутый массив

   write('числа у которых первая цифра больше последней:');

   // ищем и ввыводим числа с заданным условием //

   for var i := 0 to n-1 do begin

       // находим чему равна 1 цифра //

       b := d[i];

       repeat

           b := b div 10;

       until b < 10;

       if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю цифры и ели первая больше то выводим число

   end;

end.

4,4(22 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ