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

Напишите класс Голубь (Pigeon), экземпляр p которого инициализируется с аргументами: имя (строка), дальность полёта и грузоподъёмность (целые числа). Класс реализует (инкапсулирует) функциональность:

str(p) — возвращает своё имя в формате Pigeon <имя>, <грузоподъёмность>;

p.eat(food) — подкрепляется. За каждые 10 порций еды грузоподъёмность увеличивается на 1. Если количество порций не кратно 10, остаток хранится в запасе и может быть учтён при следующей еде. Ничего не возвращает;

p.carry(load, range) — проверяет, может ли он донести переданный в качестве аргумента груз на заданную дальность. Возвращает True, если может, и False, если хоть что-то меньше;

p.flap_wings() — машет крыльями. При каждом вызове меняется возвращаемое значение: то up, то down. Первый раз up;

экземпляры класса можно сравнивать. Сначала сравниваются по грузоподъёмности, потом по дальности, потом по длине имени, потом по алфавиту.

Пример 1

Ввод Вывод

from solution import Pigeon

p = Pigeon('Johnas', 100, 10)

print(p)

print(p.flap_wings())

print(p.flap_wings())

print(p.flap_wings())

p.eat(25)

print(p)

print(p.carry(100, 13))
Вывод:

Pigeon Johnas, 10

up

down

up

Pigeon Johnas, 12

False

Пример 2

Ввод Вывод

from solution import Pigeon

p1 = Pigeon('Johnas', 100, 10)

p2 = Pigeon('Calman', 100, 10)

print(p1, p2, sep='\n')

print(p1 > p2)

p2.eat(13)

print(p1 >= p2)

p1.eat(42)

p2.eat(7)

print(p1, p2, sep='\n')

print(p1.carry(90, 15))
Вывод:

Pigeon Johnas, 10

Pigeon Calman, 10

True

False

Pigeon Johnas, 14

Pigeon Calman, 12

False

Показать ответ
Ответ:
Leramedvedeva12
Leramedvedeva12
27.10.2020 17:32

уточнять на каком языке программирования нужно написать задачки. Я же напишу на С++. Алгоритм везде будет один и тот же.

1 задача

int x1 = 0;

int x2 = 0;

int x3 = 0;

int x4 = 0;

int x5 = 0;

cin >> x1;

cin >> x2;

cin >> x3;

cin >> x4;

cin >> x5;

double sr = 0.0;

sr = (x1+x2+x3+x4+x5)/5;

Или же можно сделать по проще

int x = 0;

int sum = 0;

double sr = 0.0;

for(int i = 0; i<5; i++){

cin >> x;

sum = sum +x;

}

sr = sum/5;

2 Задача

int number = 5;

for(int i = 2; i<20; i=i+2){

number = number + i;

}

0,0(0 оценок)
Ответ:
kstarikova1
kstarikova1
27.10.2020 17:32

1) program exec;

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

var p,i:integer;

begin

randomize;

for i:=1 to 20 do begin

a[i]:=random(50);

writeln (a[i]);

if (a[i] mod 2<>0) then p:=p+1;

end;

if (p>0) then writeln ('Присутствуют нечётные элементы')

else writeln ('Не присутствуют нечётные элементы');

end.

2) program exec;

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

var p,i:integer;

begin

randomize;

for i:=1 to 20 do begin

a[i]:=random(50);

writeln (a[i]);

if (a[i] mod 2=0) then a[i]:=a[i]+1

else a[i]:=a[i]*2;

end;

writeln ('---'); // разделение двух массивов

for i:=1 to 20 do writeln (a[i]);

end.

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