Пример 2. Упражнение выполнить в среде PascalABCNET

Дана строка не более 40 символов, состоящая из слов, разделенных пробелами. Разработать программу удаления «лишних» пробелов. Лишними считать пробелы в начале строки до первого символа, второй и более пробелы между словами и пробелы в конце строки.

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

Программа:

Пример 2. Упражнение выполнить в среде PascalABCNET - student2.ru

Пример 3. Упражнение выполнить в среде DelphiT

Составить программу, которая вводит строки, содержащие фамилию, имя, отчество и год рождения, а выводит - строки, содержащие фамилию, инициалы и возраст на текущий год. Например: Иванов Иван Иванович 1966 => Иванов И.И. 45. Завершение ввода - при чтении пустой строки.

1. Создайте новый проект в среде Delphi, выбрав в окне New Items объект Console Application.

2. Введите в редакторе кода код программы.

3. Проверьте работу программы

Для выполнения операций над строками используем строковые функции. Обработку строк будем выполнять в цикле до ввода пустой строки.

1. Начнем с определения местоположения первого пробела, который отделяет имя от фамилии. Для этого используем функцию Pos, а результат запишем в переменную с1.

2. Затем перепишем в строку результата фамилию, пробел и первый инициал. Туда же дописываем точку.

3. Для поиска следующего пробела придется копировать в рабочую строку часть исходной строки, начиная с символа после первой буквы имени. В этой строке вновь определяем местоположение пробела и заносим результат в переменную с2.

4. Теперь можно переписать в строку-результат второй инициал.

5. Удаляем из рабочей строки начало, включая второй инициал, и вновь определяем местоположение пробела, выделяя подстроку, содержащую год рождения. Удаляем из рабочей строки остаток отчества и преобразуем строку в число.

6. Полученное значение вычитаем из текущего номера года, а результат вновь преобразуем в строку и дописываем к строке результата.

7. Выводим результат на экран и вводим следующую строку.

Пример 2. Упражнение выполнить в среде PascalABCNET - student2.ru

Начало решения задачи преобразования строк

Программа:

Пример 2. Упражнение выполнить в среде PascalABCNET - student2.ru

Обработка и поиск символьной информации

В основе обработки символьной информации, как правило, лежит разбиение текста на слова и выполнение некоторых операций со словами.

Наши рекомендации