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

По мнению дениса, вы уже точно знаете всё о библиотеке pil. сейчас его больше интересует, насколько хорошо вы изучили работу с пакетом imagedraw. как вам известно, этот пакет предназначен для отрисовки на изображении различных примитивов, однако денису не хватает функциональности. он просит вас расширит класс pil.imagedraw.imagedraw и создать его наследника imagedrawer. от нового класса требуется реализовать два новых метода: right_arrow(xy, fill, outline) и left_arrow(xy, fill, outline). метод right_arrow предназначен для отрисовки стрелки, направленной вправо. стрелка вписана в прямоугольник xy, заданный кортежем из четырёх значений: x1, y1 (координаты верхнего левого угла) и x2, y2 (координаты нижнего правого угла). толщина стрелки составляет 60 % высоты прямоугольника, а острие стрелки — 20 % ширины. метод left_arrow предназначен для отрисовки стрелки, направленной влево. стрелка вписана в прямоугольник xy, заданный кортежем из четырёх значений: x1, y1 (координаты верхнего левого угла) и x2, y2 (координаты нижнего правого угла). толщина стрелки составляет 60 % высоты прямоугольника, а острие стрелки — 20 % ширины. параметры fill (цвет заливки), outline(цвет границы) у обоих методов являются необязательными, задайте им значение по умолчанию «в духе» pil.imagedraw.imagedraw. решение должно содержать только требуемый класс, ничего вызывать не надо.

Показать ответ
Ответ:
diankaa55
diankaa55
21.06.2021 16:40

Текстовые редакторы. Предназначены для создания и редактирования текста без оформления;

Текстовые процессоры (MS Word). Более продвинутые текстовые редакторы, позволяющие редактировать текст с оформлением, изменением шрифтов и его размеров, вставки графических файлов, таблиц и т.п. для более презентабельного оформления текста;

Электронные таблицы (MS Excell). В основном используются для обработки каких-либо данных, содержащихся в этих таблицах. Прикладные задачи чаще всего выполняются для хранения учетных данных с последующим их анализом;

Растровые и векторные графические редакторы (Photoshop, Corel), "просмотрщики". Использование прикладных программ такого типа позволяет создавать, редактировать, а так же просматривать графические изображения;

Аудио видео плееры, редакторы (WinAmp). Позволяет просматривать видео, слушать музыку, создавать музыкальные композиции;

Системы управления базами данных (например - MSQL). Такие программы служат для работы с базами данных. Например, программа учета клиентов - простая база для хранения сведения о клиентах, их контактные данные и т.п. Можно проводить операции по поиску, удалению и добавлению записей в базу;

Переводчики или электронные словари. Такие прикладные программы позволяют без особых усилий переводить текст на разные иностранные языки без их непосредственного изучения;

Компьютерные игры. Используются для развлечений или для развития в игровой форме.

Одним из примеров прикладной программы, может послужить, например, программа подсчета репостов. Все виды прикладных программ перечислить сложно, но мы постарались выделить основные программы прикладного обеспечения.

0,0(0 оценок)
Ответ:
rudens2007
rudens2007
02.05.2022 08:04

program t;

var n, i, a, b, c, d, k, m: integer; x1, x2, x3, y1, y2, y3: array[1..10000] of integer; f1, f2: text;

function icl(x, y: integer): boolean;

var i: integer;

begin

icl:=false;

for i:=1 to n do

begin

 if (x>=x1[i]) and (y>=y1[i]) and (x<=x2[i]) and (y<=y2[i]) then

 begin

  icl:=true;

  break

 end

end

end;

procedure re(st, fn: integer);

var nst, nfn, i, j, jj, xx, yy: integer; eq, ff: boolean;

begin

m:=m+1;

nst:=k+1;

ff:=false;

for i:=st to fn do

begin

 for j:=0 to 11 do

 begin

  if j mod 3=0 then continue;

  xx:=x3[i]+trunc(cos(j*pi/6)*3);

  yy:=y3[i]+trunc(sin(j*pi/6)*3);

  if not icl(xx, yy) then continue;

  eq:=false;

  for jj:=1 to k do if (xx=x3[jj]) and (yy=y3[jj]) then

  begin

   eq:=true;

   break

  end;

  if eq then continue;

  if (xx=c) and (yy=d) then

  begin

   ff:=true;

   break

  end;

  k:=k+1;

  x3[k]:=xx;

  y3[k]:=yy;

 end;

 if ff then break;

end;

if ff then exit;

nfn:=k;

if nst>nfn then

begin

 m:=-1;

 exit

end;

re(nst, nfn)

end;

begin

assign(f1, 'horse.in');

reset(f1);

assign(f2, 'horse.out');

rewrite(f2);

readln(f1, n);

for i:=1 to n do readln(f1, x1[i], y1[i], x2[i], y2[i]);

readln(f1, a, b);

readln(f1, c, d);

k:=1;

x3[1]:=a;

y3[1]:=b;

m:=0;

re(1, 1);

writeln(f2, m);

close(f1);

close(f2)

end.

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