Хорошо, чтобы изменить класс из задания D и добавить функционал, позволяющий добавлять фразы в набор фраз попугая и выводить случайную фразу, нам необходимо выполнить следующие шаги:
1. Создайте класс "Parrot" и определите в нем метод-конструктор "__init__". В методе-конструкторе будут инициализироваться атрибуты класса. Один из атрибутов будет список "phrases", в котором будут храниться фразы, которые знает попугай.
```python
class Parrot:
def __init__(self, phrase):
self.phrases = [phrase]
```
2. Определите метод "learn", который будет добавлять новую фразу в список "phrases".
def say(self, repetitions=1):
for _ in range(repetitions):
print(random.choice(self.phrases))
```
4. Создайте объект класса "Parrot" и проверьте результат:
```python
p = Parrot("Гав!")
p.say() # Выведет случайную фразу из списка: "Гав!"
p.learn("Мяу!")
p.say() # Выведет случайную фразу из списка: "Гав!" или "Мяу!"
p.say(3) # Выведет фразу "Мяу!" три раза
```
Теперь класс "Parrot" позволяет добавлять новые фразы в набор фраз попугая и выводить случайные фразы из этого набора. Кроме того, метод "say" позволяет задать число повторений при выводе фразы.
Для решения данной задачи, воспользуемся блок-схемой и заданными значениями входных переменных.
Согласно блок-схеме, у нас есть переменные Q, S и i. Также задано начальное значение S равное 0 и начальное значение i равное 1.
1. Проверим, что значение Q равно 2.
- Так как Q=2, мы перейдем на следующий шаг и выполним следующую операцию.
2. Выполним операцию S:=S+і.
- Вначале S равно 0, а i равно 1.
- Поэтому S будет равно 0+1, т.е. S станет равно 1.
3. Увеличим значение переменной i на 1.
- Так как i=1, мы увеличим его на 1, получим i=2.
4. Проверим условие "Heys-w".
- Условие "Heys-w" не было указано в блок-схеме.
5. Выведем результат (1-2).
- Результат не был указан в блок-схеме.
Таким образом, если Q=2, то на выходе блок-схемы получим следующие значения переменных: S=1 и i=2.
Теперь рассмотрим вторую часть задачи, когда Q=0,5.
1. Проверим, что значение Q равно 0,5.
- Это условие не соблюдается, поэтому мы не будем выполнять дальнейшие операции в блок-схеме.
Таким образом, если Q=0,5, то на выходе блок-схемы не будет изменений в значениях переменных S и i, которые останутся равными исходным значениям: S=0 и i=1.