Для решения данной задачи на языке PascalABC необходимо выполнить следующие шаги:
- Считать исходную строку
s
.
- Считать слово
t
, которое нужно вставить.
- Найти первое слово в строке
s
.
- Вставить слово
t
после первого слова в строке s
.
- Вывести результат.
Рассмотрим реализацию этой задачи в виде программы на языке PascalABC:
program InsertWordAfterFirst;
uses SysUtils;
var
s, t, firstWord, remainingWords: string;
spacePos: Integer;
begin
// Считываем исходную строку s
Write('Введите исходную строку: ');
ReadLn(s);
// Считываем слово t, которое нужно вставить
Write('Введите слово для вставки: ');
ReadLn(t);
// Находим позицию первого пробела
spacePos := Pos(' ', s);
// Если пробел найден, то разделяем строку на первое слово и оставшуюся часть
if spacePos > 0 then
begin
firstWord := Copy(s, 1, spacePos - 1); // первое слово
remainingWords := Copy(s, spacePos + 1, Length(s) - spacePos); // оставшаяся часть строки
end
else
begin
// Если пробела нет, значит строка состоит из одного слова
firstWord := s;
remainingWords := '';
end;
// Формируем новую строку с вставленным словом t
if remainingWords '' then
s := firstWord + ' ' + t + ' ' + remainingWords
else
s := firstWord + ' ' + t;
// Выводим результат
WriteLn('Результат: ', s);
end.
Объяснение работы программы:
Считывание исходной строки и слова для вставки:
- Используем
ReadLn
для ввода строки s
и слова t
.
Поиск первого пробела:
- Функция
Pos(' ', s)
ищет позицию первого пробела в строке s
.
- Если пробел найден (
spacePos > 0
), то разделяем строку на первое слово и оставшуюся часть.
- Если пробела нет, это означает, что строка состоит из одного слова.
Разделение строки:
Copy(s, 1, spacePos - 1)
извлекает первое слово из строки s
.
Copy(s, spacePos + 1, Length(s) - spacePos)
извлекает оставшуюся часть строки.
Формирование новой строки:
- Если есть оставшаяся часть строки, то формируем новую строку, вставляя слово
t
между первым словом и оставшейся частью.
- Если оставшейся части нет, просто добавляем слово
t
после первого слова.
Вывод результата:
- Выводим полученную строку с помощью
WriteLn
.
Пример выполнения:
При вводе:
Введите исходную строку: Наступила осень
Введите слово для вставки: золотая
Программа выдаст результат:
Результат: Наступила золотая осень
Таким образом, программа успешно вставляет слово t
после первого слова исходной строки s
.