import tkinter as tk
class Form(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.master = root
self.build()
def build(self):
self.canv = tk.Canvas(self, width = 640, height=480)
self.canv.pack()
self._draw()
def _draw(self):
s_x = 10; s_y = 370;
r = 5
for itrtn in range(30):
self.canv.create_oval(s_x - r, s_y - r, s_x + r, s_y + r, outline="blue", width=2)
s_x += 10; s_y -= 5; r += 5;
if __name__ == '__main__':
root = tk.Tk()
root.title('test')
root.geometry('640x480')
form = Form(root)
form.pack()
root.mainloop()
Объяснение:
Рисует примерно то же самое. Логика отрисовки кругов описана в методе Form._draw. Координаты рисования эллипса для метода tkinter.Canvas.create_oval задаются по такой логике: Верхний левый угол (х, у), нижний правый угол (х, у) прямоугольника, в который помещён эллипс
ответ: 1количество в процессоре является важным фактором, влияющим на его производительность. как было показано ранее, в процессоре 8088 на выполнение одной инструкции требовалось 15 циклов тактовой частоты. а чтобы выполнить одну 16-битную операцию, уходило и вовсе порядка 80 циклов. так был устроен умножитель алу этого процессора. чем больше и чем мощнее умножитель алу, тем больше всего успевает сделать процессор за один свой такт.
многие поддерживают технологию конвейеризации. в рамках конвейерной архитектуры происходит частичное наложение выполняемых инструкций друг на друга. инструкция может требовать на свое выполнение все тех же пяти циклов, но если процессором одновременно обрабатываются пять команд (на разных этапах завершенности), то в среднем на выполнение одной инструкции потребуется один цикл тактовой частоты процессора.
во многих современных процессорах дешифратор команд не один. и каждый из них поддерживает конвейеризацию. это позволяет выполнять более одной инструкции за один такт процессора. для реализации этой технологии требуется невероятное множество . тут есть все ответи
объяснение: