Замените каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита - Turbo Pascal

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

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

В процедуру Bukva передаётся строка Q, состоящая из любых символов. Замените каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита: 1 буквой А, 2 буквой B, 3 буквой C, 4 буквой D, и т.д.. (Алфавит - ABCDEFGHIJKLMNOPQRSTUVWXYZ). Процедура возвращает переданную строку Q с произведёнными изменениями и KOL - количество таких замен. МАССИВЫ использовать НЕЛЬЗЯ!!!! Исходная строка: qwert2asdfgh5@#$h0KJ3qsdfvb Результат: qwertBasdfghE@#$h0KJCqsdfvb

Решение задачи: «Замените каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита»

textual
Листинг программы
procedure Bukva(var s: String; var u: Integer);
var c: Char; p: Integer;
begin
  u:=0;
  for c:='1' to '9' do begin
    p:=Pos(c,s);
    while p>0 do begin
      s:=Copy(s,1,p-1)+Chr(Ord(c)-Ord('1')+Ord('A'))+Copy(s,p+1,255);
      p:=Pos(c,s);
      Inc(u);
    end;
  end;
end;

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

  1. В процедуре Bukva объявлены две переменные: s (строка) и u (целое число).
  2. Значение переменной u установлено равным 0.
  3. Цикл for выполняется от символа '1' до символа '9'.
  4. Внутри цикла переменная c принимает значение каждого из символов от '1' до '9'.
  5. Переменная p инициализируется значением, которое возвращает функция Pos, которая ищет первое вхождение символа c в строке s.
  6. Затем, в цикле, строка s изменяется следующим образом: сначала удаляется символ c, затем к первым 1 или 2 символам добавляется заглавная буква, соответствующая символу c, а затем оставшаяся часть строки s копируется без изменений.
  7. После завершения внутреннего цикла, значение переменной u увеличивается на 1.
  8. Внешний цикл завершается, когда значение переменной c равно 0.
  9. В результате выполнения процедуры Bukva, строка s будет содержать каждую цифру от 0 до 9, замененную соответствующей заглавной буквой латинского алфавита.

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


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

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

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