НАПИСАТЬ НА ПАСКАЛЕ Задача:

Вводится строка, состоящая из трёх слов. Слова отделяются друг от друга ровно одним пробелом, в начале и конце строки пробела нет. Поменять местами 2 и 3 слова.

Описать функцию: function Zamena(s: String): String

Формат ввода:

На вход подается исходная строка.

Формат вывода:

Полученная строка.

Пример входных данных

qwe asd zxc

Пример выходных данных

qwe zxc asd

KristinaPech KristinaPech    1   24.12.2020 23:22    8

Ответы
wwwlavor wwwlavor  22.01.2024 16:00
Добрый день, уважаемые ученики! Сегодня мы рассмотрим задачу на языке программирования Паскаль.

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

Для решения данной задачи мы будем использовать функцию с названием Zamena, которая будет принимать на вход исходную строку и возвращать полученную строку.

Перейдем непосредственно к решению задачи. Для этого нам понадобятся следующие шаги:

1. Объявляем функцию Zamena с параметром s типа String, и указываем, что функция будет возвращать строку.

2. Внутри функции Zamena создадим переменные temp, secondWord и thirdWord типа String. Переменная temp будет использоваться для временного хранения значения второго слова.

3. Используем процедуру Pos, чтобы найти позиции первого и второго пробелов в строке s и записываем их в переменные spacePos1 и spacePos2 соответственно.

4. Используем функцию Copy, чтобы получить подстроку s, начиная от начала строки до первого пробела (не включая его) и записываем это значение в переменную firstWord.

5. Используем функцию Copy еще раз, чтобы получить подстроку s, начиная с позиции после первого пробела и до второго пробела (не включая его) и записываем это значение в переменную secondWord.

6. Используем функцию Copy еще раз, чтобы получить подстроку s, начиная с позиции после второго пробела и до конца строки и записываем это значение в переменную thirdWord.

7. Записываем в переменную temp значение переменной secondWord.

8. Формируем результат, объединяя строки firstWord, thirdWord и temp.

9. Возвращаем полученную строку как результат выполнения функции Zamena.

Теперь давайте посмотрим на решение задачи в виде кода на языке Паскаль:

```
function Zamena(s: String): String;
var
temp, firstWord, secondWord, thirdWord: String;
spacePos1, spacePos2: Integer;
begin
spacePos1 := Pos(' ', s);
spacePos2 := Pos(' ', s, spacePos1 + 1);

firstWord := Copy(s, 1, spacePos1 - 1);
secondWord := Copy(s, spacePos1 + 1, spacePos2 - spacePos1 - 1);
thirdWord := Copy(s, spacePos2 + 1, Length(s) - spacePos2);

temp := secondWord;
Result := firstWord + ' ' + thirdWord + ' ' + temp;
end;
```

Это решение позволяет нам решить поставленную задачу и вернуть полученную строку, в которой второе и третье слова поменялись местами.

Например, если введенная строка была "qwe asd zxc", то функция Zamena вернет строку "qwe zxc asd".

Надеюсь, что я смог оперативно и подробно объяснить решение задачи на Паскале. Если у вас есть дополнительные вопросы или что-то не ясно, пожалуйста, задавайте, и я с радостью помогу вам!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика