Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Обработка текстов

Читайте также:
  1. VI. Обработка и анализ
  2. VI. Обработка и анализ
  3. VI. Обработка и анализ 1 страница
  4. VI. Обработка и анализ 2 страница
  5. VI. Обработка и анализ 3 страница
  6. VI. Обработка и анализ 4 страница
  7. VI. Обработка и анализ 5 страница

 

4.1 Пусть даны целое число п, символы S 1, S 2,..., S п. Преобразуйте последователь­ность S 1, S 2,..., S п, удалив каждый символ звездочки (*) и повторив каждый символ, отличный от звездочки.

4.2 Во входном потоке вводится строка, оканчивающаяся точкой. Требуется напечатать строку, получаемую из исходной по следующим правилам:

— каждую цифру заменить на взятую в круглые скобки последова­тельность знаков «+» (если цифра четная) или «» (если цифра нечетная), длина которой равна значению цифры;

— каждую букву «с», следующую за первым вхождением буквы «b», заменить на символ «/»;

— остальные символы без изменения.

Найти также число вхождений буквы «а» в строку.

Например, по исходной строке: a12ca0bfc3ca.

должно быть отпечатано: a(-)(++)ca()bf/(---)/a
и число вхождений буквы «а» равно 3.

 

Пояснения к программе

Конкретизируя обработку введенного символа, выделим 5 случаев: цифра, буквы ' a ', ' b ', ' c ', все остальные символы.

Признаком окончания ввода строки является точка, поэтому ввод строки посимвольно организован в цикле While, выполняющемся до тех пор, пока вводится символ, отличный от точки. В цикле в первую очередь проверяется, является ли введенный символ цифрой. В составном операторе, обрабатывающем цифру, выполняется переход к значению цифры (целочисленная переменная K), затем это значение проверяется на нечетность с помощью функции ODD, и символ цифры заменяется знаком плюс или минус, последовательность знаков заключается в круглые скобки. Вторая ветвь условного оператора обрабатывает все остальные символы: в операторе варианта они проверяются на совпадение с буквами ' a ', ' b ', ' c ' и для каждой из них выполняется обработка в соответствии с заданием, затем все символы выводятся на экран. В конце цикла вводится очередной символ, и процесс обработки повторяется.

program STROKA (input, output);

Var:

Sim: Char;

literB: Boolean;

K, i, indA: Integer;

Begin

indA:= 0;

literB:= false;

Read (Sim);

{ цикл по всем символом строки }

While Sim <> '.' do

Begin

if (Sim >= '0') AND (Sim <= '9')

Then

{ обработка цифр }

Begin

Write ('(');

K:= ord (Sim) - ord ('0');

if ODD (K)

then Sim:= '-'

else Sim:= '+';

for i:= 1 to K do

Write (Sim);

Write (')')

End

Else

{ обработка остальных символов — не цифр }

Begin

Case Sim of

'a': indA:= indA + 1;

'b': literB:= true;

'c': if literB

then Sim:= '/'

end;

Write (Sim)

end;

Read (Sim)

end {While};

Writeln;

Writeln ('Буква "а" входит ', indA, ' раз')

End.

4.3 Пусть даны целое число п, символы S 1, S 2,..., S п. Удалите из данной последова­тельности все группы букв, образующих запись аbcd, то есть получите новую последовательность, не содержащую этих групп литер.

4.4 Пусть даны целое число п, символы S 1, S 2,..., S п, среди которых есть двоеточие. Получите все символы, расположенные:

а) до первого двоеточия включительно;

б) между первым и вторым двоеточием; если второго двоеточия нет, то по­лучите все символы, расположенные после имеющегося двоеточия.

4.5 Напечатайте заданный непустой текст, удалив из него все буквы b, непосредственно перед которыми находится буква с.

4.6 Заданный текст распечатайте по строкам, понимая под строкой либо очередные 20 литер, если среди них нет запятой, либо часть текста до запятой вклю­чительно.

4.7 Пусть в заданный непустой текст входят только цифры и буквы. Определите, удовлетворяет ли он следующему условию:

а) текст начинается с некоторой ненулевой цифры, за которой следуют толь­ко буквы, и их количество равно числовому значению этой цифры;

б) текст начинается с k букв (1 ≤ k ≤ 9), за которыми следует только одна литера — цифра с числовым значением k;

в) сумма числовых значений цифр, входящих в текст, равна длине текста.

4.8 Пусть задан текст, за которым следует точка. Поменяйте все строчные латинские буквы, которые встречаются в тексте, на прописные.

4.9 Пусть дан непустой текст из заглавных латинских букв, за которым следует точка. Определите, упорядочены ли эти буквы по алфавиту.

4.10 Пусть задан текст, состоящий из слов. Под словом понимается последова­тельность литер, не содержащая пробелов и знаков препинания. Если слово начинается с латинской строчной буквы, замените ее на прописную.

4.11 Пусть вводится последовательность символов, длина которой не больше наперед заданного числа птах. Замените каждую из рядом стоящих групп точек одной точкой. Решите эту задачу в двух вариантах:

а) полученная последовательность просто выводится на печать, а массив, в котором хранится исходная последовательность, не изменяется;

б) преобразованная последовательность должна заместить исходную в массиве.

4.12 Известно, что длина последовательности символов не превышает наперед заданного числа птах. Подсчитайте максимальное количество идущих подряд пробелов.

4.13Пусть вводится последовательность символов, длина которой не превышает 80. Напечатайте те русские буквы (в алфавитном порядке), которые встречаются в заданной последовательности.

4.14 Пусть дан текст из 80 литер. Напечатайте сначала все цифры, входящие в него, а затем все остальные литеры, сохраняя при этом взаимное расположение литер в каждой из этих двух групп.

4.15 Пусть дан текст, содержащий от 1 до 70 букв. Напечатайте буквы текста в обратном порядке.

4.16 Пусть дан непустой текст из прописных русских букв, за которым следует точка. Определите, упорядочены ли эти буквы по алфавиту.

4.17 Пусть дан текст, за которым следует восклицательный знак. Замените все прописные русские буквы, встречающиеся в тексте, строчными.

4.18 Пусть дан текст, состоящий из слов, слова в тексте разделяются запятыми, текст оканчивается точкой. Вывести по алфавиту без повторений слова исходного текста.


Дата добавления: 2015-07-08; просмотров: 662 | Нарушение авторских прав


Читайте в этой же книге: Вычисление функций | Пояснения к программе | Пояснения к программе | Одномерные массивы | Матрицы | Процедуры и функции | Пояснения к программе | Пояснения к программе | Множества | Пояснения к программе |
<== предыдущая страница | следующая страница ==>
Пояснения к программе| Пояснения к программе

mybiblioteka.su - 2015-2024 год. (0.009 сек.)