Изменить регистр букв в словах, в которых есть мягкий знак - Turbo Pascal

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

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

Написать программу : Изменить регистр букв в словах, в которых есть мягкий знак. Паскаль

Решение задачи: «Изменить регистр букв в словах, в которых есть мягкий знак»

textual
Листинг программы
const
 UCase:string='ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТБЮQWERTYUIOPASDFGHJKLZXCVBNM';
 LCase:string='ёйцукенгшщзхъфывапролджэячсмитбюqwertyuiopasdfghjklzxcvbnm';
var
  s,Sout,t:string;
  c:char;
  i:integer;
 
procedure MSlovo(var t:string;var SOut:string);
var
  i:integer;
begin
 if (t<>'') and ((pos('ь',t)>0) or (pos('Ь',t)>0)) then
   for i:=1 to length(t) do
     if pos(t[i],UCase)>0 then t[i]:=LCase[pos(t[i],UCase)] else
     if pos(t[i],LCase)>0 then t[i]:=UCase[pos(t[i],LCase)];
  SOut:=SOut+t;
  t:='';
end;
 
begin
{  write('введите слова:');
  readln(s);               }
  s:='тЕСТЬ ТО-еСТЬ, тьмаSDsd. aaa;соль польКа';
  writeln('исходная строка: ',s);
  SOut:='';
  t:='';
  for i:=1 to length(s) do begin
    t:=t+s[i];
    if pos(s[i],'., :!?;')<>0 then MSlovo(t,SOut);
  end;
  MSlovo(t,Sout);
  writeln('Полученная строка: ',Sout);
  readln;
end.

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

  1. В строке const определены две переменные: UCase и LCase. UCase содержит заглавные буквы русского алфавита, а LCase содержит строчные буквы.
  2. В переменной s хранится введенная пользователем строка.
  3. В переменной Sout хранится результат обработки строки s.
  4. В переменной t хранится текущий символ из строки s.
  5. В переменной i используется цикл for для прохода по каждому символу в строке s.
  6. Если текущий символ в строке s является мягким знаком (ь или ь), то он заменяется на соответствующую заглавную букву в переменной t.
  7. Если текущий символ в строке s не является мягким знаком, то он заменяется на соответствующую строчную букву в переменной t.
  8. После прохода по всем символам в строке s, результат обработки записывается в переменную Sout.
  9. Переменная t сбрасывается в пустую строку.
  10. Цикл for завершается.
  11. Выводится сообщение с исходной и полученной строками.
  12. Программа завершается ожиданием ввода пользователя.

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

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