М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
bhgd
bhgd
14.07.2020 11:07 •  Информатика

Программа паскаль. составить программу, чтобы получились, как минимум 5 слов из слова романтика

👇
Ответ:
Poolll
Poolll
14.07.2020
PascalABC.NET 3.4.2, сборка 1843 от 241.10.2018Внимание! Если программа не работает, обновите версию!

begin

 var s := 'романтика';

 s[:6].Println;

 Println(s[8] + s[1] + s[4:6]);

 Println(s[3:7] + s[9]);

 Println(s[8:5:-1]);

 Println(s[6] + s[1:3] + s[5])

end.

романкран манта кит трон
4,5(96 оценок)
Ответ:
KellenPack
KellenPack
14.07.2020

Привет. Вот слова:

Роман

Кит

Кот

Ток

Манит

4,6(50 оценок)
Ответ:
yayy6uytuy6
yayy6uytuy6
14.07.2020
Хорошо, я с удовольствием выступлю в роли вашего школьного учителя и помогу вам составить программу на языке Pascal для получения как минимум 5 слов из слова "романтика".

Перед тем, как приступить к написанию программы, давайте разберемся, какие правила будем использовать для составления слов. В нашем случае, мы можем использовать только буквы из слова "романтика" и не более одного раза.

Теперь перейдем к пошаговому решению. Я предлагаю использовать рекурсию для составления слов из заданного слова.

1. Создадим процедуру, которая будет принимать параметры - оригинальное слово, текущее слово и необходимое количество оставшихся букв для составления слова.
```pascal
procedure GenerateWords(original: string; current: string; remaining: integer);
begin
// Тут будет код
end;
```

2. Внутри процедуры проверим базовый случай - когда нам больше необходимо составлять слова (т.е. значение remaining будет равно нулю). В этом случае мы будем выводить текущее слово на экран.
```pascal
procedure GenerateWords(original: string; current: string; remaining: integer);
begin
if remaining = 0 then
begin
writeln(current);
end;
// Тут будет код
end;
```

3. Если базовый случай не выполнился, то нам нужно продолжать генерировать слова. Для этого мы будем перебирать все буквы из оригинального слова и рекурсивно вызывать процедуру с обновленными параметрами: оригинальным словом без использованной буквы, текущим словом, в которое добавляем использованную букву, и с уменьшенным количеством оставшихся букв на единицу.
```pascal
procedure GenerateWords(original: string; current: string; remaining: integer);
var
i: integer;
begin
if remaining = 0 then
begin
writeln(current);
end
else
begin
for i := 1 to Length(original) do
begin
GenerateWords(original[1:i-1] + original[i+1:Length(original)], current + original[i], remaining-1);
end;
end;
end;
```

4. Теперь нам осталось только вызвать процедуру GenerateWords из главного блока программы, передав ей исходное слово "романтика", пустое текущее слово и нужное количество оставшихся букв (например, 5).
```pascal
begin
GenerateWords('романтика', '', 5);
end.
```

Таким образом, мы определили процедуру GenerateWords, которая использует рекурсию для генерации всех возможных комбинаций слов из заданного слова "романтика". При необходимости, вы можете изменить значение remaining в вызове GenerateWords в строчке выше, чтобы получить больше или меньше слов.

Учительский совет: Помните, что понимание основных принципов рекурсии и решения задач на программирование развивается с практикой. Постарайтесь сначала понять код и запустить программу, а затем можете попробовать сами внести изменения или даже написать программу для другой задачи.
4,6(2 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ