Составьте программу, позволяющую вставить слово t после первого слова исходной строки s. Строка s и...

Тематика Информатика
Уровень 5 - 9 классы
вставка слова работа со строками PascalABC программирование манипуляции со строками ввод данных текстовые операции
0

Составьте программу, позволяющую вставить слово t после первого слова исходной строки s. Строка s и слово t вводятся с клавиатуры. (PascalABC) Пример ввода: Наступила осень золотая Пример выводы: Наступила золотая осень.

avatar
задан 3 месяца назад

2 Ответа

0

Для решения данной задачи на языке PascalABC необходимо выполнить следующие шаги:

  1. Считать исходную строку s.
  2. Считать слово t, которое нужно вставить.
  3. Найти первое слово в строке s.
  4. Вставить слово t после первого слова в строке s.
  5. Вывести результат.

Рассмотрим реализацию этой задачи в виде программы на языке 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.

Объяснение работы программы:

  1. Считывание исходной строки и слова для вставки:

    • Используем ReadLn для ввода строки s и слова t.
  2. Поиск первого пробела:

    • Функция Pos(' ', s) ищет позицию первого пробела в строке s.
    • Если пробел найден (spacePos > 0), то разделяем строку на первое слово и оставшуюся часть.
    • Если пробела нет, это означает, что строка состоит из одного слова.
  3. Разделение строки:

    • Copy(s, 1, spacePos - 1) извлекает первое слово из строки s.
    • Copy(s, spacePos + 1, Length(s) - spacePos) извлекает оставшуюся часть строки.
  4. Формирование новой строки:

    • Если есть оставшаяся часть строки, то формируем новую строку, вставляя слово t между первым словом и оставшейся частью.
    • Если оставшейся части нет, просто добавляем слово t после первого слова.
  5. Вывод результата:

    • Выводим полученную строку с помощью WriteLn.

Пример выполнения:

При вводе:

Введите исходную строку: Наступила осень
Введите слово для вставки: золотая

Программа выдаст результат:

Результат: Наступила золотая осень

Таким образом, программа успешно вставляет слово t после первого слова исходной строки s.

avatar
ответил 3 месяца назад
0

program InsertWordAfterFirst; var s, t, resultString: string; spacePos: integer; begin writeln('Введите исходную строку s:'); readln(s);

writeln('Введите слово t:'); readln(t);

spacePos := pos(' ', s); if spacePos 0 then

resultString := copy(s, 1, spacePos) + t + ' ' + copy(s, spacePos + 1, length(s) - spacePos)

else

resultString := s + ' ' + t;

writeln('Результат:'); writeln(resultString); end.

avatar
ответил 3 месяца назад

Ваш ответ

Вопросы по теме