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

Напишите класс Голубь (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

Показать ответ
Ответ:
ZnAnIjAbro
ZnAnIjAbro
11.12.2022 16:26
А)
var    s:string;    mas:array ['a'..'z'] of longint;{индексы элементов соответствуют латинице}    c:char;    i:longint; begin      read(s);      for c:='a' to 'z' do{заполнение нулями элементов массива, для запоминания количества элементов в латинице}          mas[c]:=0;      for i:=1 to ord(s[0]) do{пробегаем по всей строке ord(s[0]) это количесвто элементов в строке (только паскаль)}          mas[s[i]]:=mas[s[i]]+1;      for c:='a' to 'z' do{пробегаем по массиву значений и выводим только неповторяющиеся}          if(mas[c]=1) then                       writeln(c); end.
0,0(0 оценок)
Ответ:
Ariya03
Ariya03
11.02.2022 01:13
Var   a: array[1..20,1..20] of integer;   n,m,i,j,min,jm,x: integer; begin   randomize;   write('Введите размеры массива: ');   readln(n,m);   writeln('Исходный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       a[i,j]:=random(19)-9;       write(a[i,j]:4);     end;     writeln;   end;   min:=0;   for i:=1 to n do min:=min+a[i,1];   writeln('Сумма элементов 1-го столбца = ',min);   jm:=1;   for j:=2 to m do   begin     x:=0;     for i:=1 to n do       x:=x+a[i,j];     writeln('Сумма элементов ',j,'-го столбца = ',x);     if x<min then     begin       min:=x;       jm:=j;     end;   end;   writeln('Минимальная сумма в ',jm,'-м столбце');   writeln('Полученный массив:');   for i:=1 to n do   begin     for j:=1 to m do     begin       if j<>jm then a[i,j]:=a[i,jm];     write(a[i,j]:4);     end;     writeln;   end;   readln; end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота