
Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для
работы со строками: А.Три функции для удаления концевых пробелов в заданной строке (удалить пробелы в начале строки, в конце строки и с двух концов) Б. Удаление лишних пробелов (между словами оставить по одному пробелу) В. Удаление всех пробелов в строке Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля. PacsalABC.NET

Ответы на вопрос

модуль
unit SpaceLib;
interface
uses System;
const
ch = ' ';
function MyTrimLeft(s: string): string;
function MyTrimRight(s: string): string;
function MyTrim(s: string): string;
function MySingleSpaces(s: string): string;
function MyNoSpaces(s: string): string;
implementation
function MyTrimLeft(s: string): string;
begin
MyTrimLeft := Regex.Replace(s, '^[' + ch + ']+', '');
end;
function MyTrimRight(s: string): string;
begin
MyTrimRight := Regex.Replace(s, '[' + ch + ']+$', '');
end;
function MyTrim(s: string): string;
begin
s := Regex.Replace(s, '^[' + ch + ']+', '');
MyTrim := Regex.Replace(s, '[' + ch + ']+$', '');
end;
function MySingleSpaces(s: string): string;
begin
s := MyTrim(s);
MySingleSpaces := Regex.Replace(s, '[' + ch + ']+', ' ');
end;
function MyNoSpaces(s: string): string;
begin
MyNoSpaces := s.Replace(ch, '');
end;
end.
Пример
//PascalABC.NET версия 3.4.0.1677 от 17.06.18
//Если программа не запускается, то обновите версию
uses SpaceLib;
begin
var s := ' 123 123 23 4343 434 43 34 ';
WritelnFormat('"{0}"', MyTrimLeft(s));
WritelnFormat('"{0}"', MyTrimRight(s));
WritelnFormat('"{0}"', MyTrim(s));
WritelnFormat('"{0}"', MySingleSpaces(s));
WritelnFormat('"{0}"', MyNoSpaces(s));
end.



Для создания библиотечного модуля с подпрограммами для работы со строками в PascalABC.NET, нужно выполнить следующие шаги:
Создайте новый проект в PascalABC.NET, назовите его, например, "StringUtilsLibrary".
В созданном проекте создайте новый модуль, назовите его "StringUtils".
Внутри модуля "StringUtils" определите все необходимые подпрограммы (процедуры или функции) для работы со строками.
pascalunit StringUtils; interface // Удалить пробелы в начале строки function TrimStart(const s: string): string; // Удалить пробелы в конце строки function TrimEnd(const s: string): string; // Удалить пробелы с двух концов строки function TrimBoth(const s: string): string; // Удалить лишние пробелы между словами function RemoveExtraSpaces(const s: string): string; // Удалить все пробелы в строке function RemoveAllSpaces(const s: string): string; implementation uses SysUtils; function TrimStart(const s: string): string; begin Result := TrimLeft(s); end; function TrimEnd(const s: string): string; begin Result := TrimRight(s); end; function TrimBoth(const s: string): string; begin Result := Trim(s); end; function RemoveExtraSpaces(const s: string): string; var i: Integer; begin Result := ''; i := 1; while i <= Length(s) do begin if not (s[i].IsWhiteSpace and (i < Length(s)) and s[i + 1].IsWhiteSpace) then Result := Result + s[i]; Inc(i); end; end; function RemoveAllSpaces(const s: string): string; var i: Integer; begin Result := ''; for i := 1 to Length(s) do begin if not s[i].IsWhiteSpace then Result := Result + s[i]; end; end; end.
Сохраните модуль "StringUtils" и закройте его.
Теперь создайте новый модуль, который будет содержать программу с демонстрацией работы подпрограмм из библиотечного модуля.
pascalprogram StringUtilsDemo; uses StringUtils; var inputString: string; trimmedString: string; extraSpacesRemoved: string; allSpacesRemoved: string; begin // Пример использования функций из модуля StringUtils writeln('Введите строку: '); readln(inputString); // Удаление пробелов в начале строки trimmedString := TrimStart(inputString); writeln('Удалены пробелы в начале строки: ', trimmedString); // Удаление пробелов в конце строки trimmedString := TrimEnd(inputString); writeln('Удалены пробелы в конце строки: ', trimmedString); // Удаление пробелов с двух концов строки trimmedString := TrimBoth(inputString); writeln('Удалены пробелы с двух концов строки: ', trimmedString); // Удаление лишних пробелов между словами extraSpacesRemoved := RemoveExtraSpaces(inputString); writeln('Удалены лишние пробелы между словами: ', extraSpacesRemoved); // Удаление всех пробелов в строке allSpacesRemoved := RemoveAllSpaces(inputString); writeln('Удалены все пробелы в строке: ', allSpacesRemoved); readln; end.
- Сохраните и запустите программу. После выполнения она попросит ввести строку и продемонстрирует результаты применения каждой из подпрограмм из модуля "StringUtils".
Теперь у вас есть библиотечный модуль с подпрограммами для работы со строками и демонстрационная программа для его использования.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili