Реализуйте несколько классов, вычисляющих суммы следующих последовательностей натуральных чисел от 1 до N:
1+2+3...+n
1^2+2^2+3^2...+n^2
1^3+2^3+3^3...+n^3
Сделайте это с наследования.
Базовым классом будет Summator, который реализует методы transform(n) и sum(N).
Метод transform(n) выполняет преобразование элемента последовательности. Для класса Summator это будет тождественное преобразование, т.е. transform(n) == n. Метод transform(n) будет переопределяться в производных классах.
Метод sum(N) должен вычислять сумму значений transform(n) для всех значений n от 1 до N.
Производные классы должны переопределять метод transform(n):
SquareSummator: transform(n) == n ** 2
CubeSummator: transform(n) == n ** 3
Метод sum(N) переопределять не нужно.
Мой код:
class Summator:
def transform(self, n):
return n
def sum(self, N):
count = 0
for i in range(N + 1):
count += self.transform(int(i))
return count
class SquareSummator(Summator):
def transform(self, n):
return n ** 2
class CubeSummator(Summator):
def transform(self, n):
return n ** 3
228
332
Ответы на вопрос:
program lol; vara10: array[1..20] of integer; i: integer; beginrandomize; for i: =1 to 20 dobegina10[i]: =random(50)-39; writeln('element #',i,': ',a10[i]); end; writeln; for i: =1 to 20 dobeginif a10[i] > 0 then a10[i]: =a10[i]*2; if a10[i] < 0 then a10[i]: =0; writeln('element #',i,': ',a10[i]); end; readln; end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
marina0350199715.04.2020 07:25
-
elenamatveeva6912.03.2021 11:48
-
ilonaloginova13.06.2021 02:26
-
ROMAGTTV90001.06.2021 02:56
-
крис89823.11.2020 22:53
-
ивашка903.06.2022 04:19
-
yanamosijchuk17.09.2020 20:29
-
vikasamartseva110.04.2023 19:42
-
radif0112.10.2020 06:45
-
mooziviycom17.04.2022 18:57
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.