bergamon
?>

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

Информатика

Ответы

blizzardtap641
◘Объективность информации. Например: "На улице холодно" - это субъективная информация. А "На улице -14°" - объективная (но не всегда точная)
◘Достоверность информации. Ин-фа достоверна, если отражает истинное положение дел. (объективная информация всегда достоверна)
◘Полнота информации. Информация полная, если ее достаточно для понимания и принятия решения.
◘Точность информации. Определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.д.
◘Актуальность информации – важность для настоящего времени.
◘Полезность информации.
 - Самая ценная информация – объективная, достоверная, полная, и актуальная.
karien87
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение:
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:

program N_0547847;
var
    b, c, d, f, i:integer;
    a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
  a[i]:=random(4)+2; 
  write(a[i],' '); end; 
writeln;
for i:=1 to 20 do begin
    if a[i]=2 then  b:=b+1;
    if a[i]=3 then  c:=c+1;
    if a[i]=4 then  d:=d+1;
    if a[i]=5 then   f:=f+1;
end;
writeln('Двоек: ', b); 
writeln('Троек: ', c); 
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.   

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

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

Популярные вопросы в разделе

dmdlir
novkatrina
rusart3
allo01
Вадимовна
Mark-Petrovich
jeep75
mira15963256
dariagromova54
aaltuxova16
Станислав Роман994
Guskov
Vladimirovich1898
det-skazka55
Khlistova1488