Разработайте и отладьте программу, которая запрашивает три строковые величины — взаимосвязанные прилагательное, существительное и глагол, а затем выводит все варианты фраз с использованием введённых слов. Для проверки правильности программы используйте тест: ЗЕЛЁНЫЕ, ЛИСТЬЯ, РАСПУСКАЮТСЯ → ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ; ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ; ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ; ЛИСТЬЯ РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ; РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ ЛИСТЬЯ; РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ. Попробуйте доказать, что других вариантов фраз с использованием трёх данных слов не существует. Обсудите этот вопрос в группе.
Обозначим введённые слова a, b, c. Каждую фразу составляем из всех трёх слов ровно по одному разу. Оператор readln считывает каждое слово в отдельную строку, а writeln помещает между словами по одному пробелу.
var
a, b, c: string;
begin
readln(a);
readln(b);
readln(c);
writeln(a, ' ', b, ' ', c);
writeln(a, ' ', c, ' ', b);
writeln(b, ' ', a, ' ', c);
writeln(b, ' ', c, ' ', a);
writeln(c, ' ', a, ' ', b);
writeln(c, ' ', b, ' ', a)
end.
Первая и вторая строки вывода начинаются с a; третья и четвёртая — с b; пятая и шестая — с c. После выбора первого слова оставшиеся два можно расположить двумя способами. Поэтому всего
Шесть вариантов: ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ; ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ; ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ; ЛИСТЬЯ РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ; РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ ЛИСТЬЯ; РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ.
