1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.8 Упр.24 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.8 Упр.24 ГДЗ Семакин 10 класс (Информатика)

Задача

Замечание. Текст может быть как на русском, так и на английском языке.

Подробный ответ

Нужно пройти по строке и исправить два момента:

  • после точки должен быть пробел;
  • первая буква каждого предложения должна быть заглавной.

Для этого удобно использовать вспомогательную функцию Up, которая переводит символ в верхний регистр. В программе сначала делается заглавной первая буква всей строки, затем строка просматривается справа налево. Если встречается точка, то:

  • если после неё нет пробела, он вставляется;
  • первая буква следующего предложения переводится в верхний регистр.

function Up(c:char):char;
begin
  if c in [‘a’..’z’] then c:=UpCase(c)
  else if c in [‘а’..’я’] then c:=chr(ord(c)-32)
  else if c in [‘р’..’я’] then c:=chr(ord(c)-80)
  else if c=’ё’ then c:=’Ё’;
  Up:=c;
end;

var s:string;
   i,j:byte;
begin
  writeln(‘Введите текст из нескольких предложений, разделенных точками:’);
  readln(s);
  s[1]:=Up(s[1]);
  for i:=length(s) downto 1 do
    if s[i]=’.’ then
    begin
      if s[i+1]<>’ ‘ then
      begin
        s[i+1]:=Up(s[i+1]);
        insert(‘ ‘,s,i+1);
      end
      else
      for j:=i+1 to length(s) do
        if s[j]<>’ ‘ then
        begin
          s[j]:=Up(s[j]);
          break;
        end;
    end;
  write(s);
end.

Такой алгоритм обеспечивает правильное форматирование текста: после каждой точки стоит пробел, а каждое предложение начинается с прописной буквы.

Ответ

Программа приведена выше.



Общая оценка
3.8 / 5
Другие учебники
Другие предметы