В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
angelinaangelka
angelinaangelka
26.04.2020 18:11 •  Информатика

Реализуйте несколько классов, вычисляющих суммы следующих последовательностей натуральных чисел от 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

Показать ответ
Ответ:
delsinroujob
delsinroujob
31.01.2022 16:24

Объяснение:

Компью́терная гра́фика — область деятельности, в которой компьютеры наряду со специальным программным обеспечением используются в качестве инструмента как для создания и редактирования изображений, так и для оцифровки визуальной информации, полученной из реального мира, с целью дальнейшей её обработки и хранения.

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

0,0(0 оценок)
Ответ:
Aigerim800
Aigerim800
24.10.2021 20:42

program z1;

var a:array [1..10] of integer;

i,sp,so:integer;

begin

randomize;

sp:=0;

so:=0;

write('Массив: ');

for i:=1 to 10 do

begin

a[i]:=random(41)-20;

if a[i] > 0 then sp:=sp+a[i]

else so:=so+a[i];

write(a[i],'  ')

end;

writeln;

writeln('Сумма положительных элементов: ',sp);

writeln('Сумма отрицательных элементов: ',so)

end.

Объяснение:

Задаём элементы массива через random

Если элемент больше 0, то считаем сумму положительных элементов, в противном случае считаем сумму отрицательных элементов (0 на сумму не влияют)

Выводим значение элемента на экран

Выводим суммы

Если 0 очень важны, то меняем строки:

if a[i] > 0 then sp:=sp+a[i]

else so:=so+a[i];

на:

if a[i] > 0 then sp:=sp+a[i];

if a[i] < 0 then so:=so+a[i];

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота