Олимпиада. Шпион - Pascal

Узнай цену своей работы

Формулировка задачи:

Ваня и Саша решили закодировать свои сообщения след.образов: строчные и заглавные буквы, знаки препинания ( . , : ; ? ! ) и пробел заменить на бинарные расширения коды ASCII записанные наоборот, остальные символы оставить без изменений. Помогите закодировать сообщение для Саши. Пример: Ввод: 2а+3B? Вывод:210000110+30100001011111100. Спасибо. Огромное

Решение задачи: «Олимпиада. Шпион»

textual
Листинг программы
var
  s,r,t:string;
  j,i:integer;
begin
  readln(s);
  for i:=1 to length(s)do begin
    if s[i] in ['a'..'z','A'..'Z','а'..'я','А'..'Я','ё','Ё','.',',',':',';',' ','?','!'] then begin
      j:=ord(s[i]);t:='';
      while j>0 do begin
        t:=t+chr(j mod 2+48);
        j:=j div 2;
      end;  
      for j:=length(t) to 7 do t:=t+'0'
    end else t:=s[i];
    r:=r+t;
   end;
   writeln(r)
 end.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • s, r, t типа string, для хранения строковых значений.
    • j, i типа integer, для хранения целочисленных значений.
  2. Вводится значение переменной s с клавиатуры.
  3. Выполняется цикл от 1 до длины строки s.
    • Если текущий символ строки s является буквой, цифрой, пробелом, знаком препинания или другим специальным символом, то:
      • Присваивается переменной j код текущего символа.
      • Очищается переменная t.
      • Используется цикл, чтобы перевести код символа в двоичную систему, добавляя остатки от деления на 2 к переменной t.
      • Добавляются нули к двоичному коду, чтобы дополнить его до 8 символов.
    • Иначе текущий символ копируется в переменную t.
    • Значение переменной t добавляется к переменной r.
  4. Выводится значение переменной r. Таким образом, данный код преобразует введенную строку, заменяя каждый символ его двоичным представлением и добавляя нули для заполнения до 8 бит, затем выводит результат.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы