champion = None
ready_steady_go()
go_b.config(state=DISABLED), quit_b.config(state=DISABLED)
# ΠΠ»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΆΠ΄Π΅Ρ ΡΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ²
while sum(positions) < distance*nrunners:
update_positions()
update_positions()
go_b.config(bg=champion) # ΠΠ½ΠΎΠΏΠΊΠ° ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ²Π΅Ρ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ
tk.update_idletasks()
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° Python 2.3 (Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sum() ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ²ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ), ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½ΡΠΆΠ΅Π½ Python Π²Π΅ΡΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ 2.3.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π²ΡΠΊΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π»ΡΠ±ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ (ΠΏΡΠ΅Π²Π΄ΠΎ) ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, Π±ΠΎΠ»Π΅Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΡΠΉ UnixβΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ β ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ). Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ (ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ³ΡΠ°ΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, Π΄Π°Π±Ρ Π½Π΅ Π½Π°ΡΡΡΠΈΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΎΠ³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΊΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π·Π°ΠΌΠΊΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΡ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ Π½Π°Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ threading ΠΈ thread, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Queue).
ΠΠ΅ΠΊΡΠΈΡ #12: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° (Β«ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Β»), Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² (Tk).
ΠΠ±Π·ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π‘ΡΡΠΎΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI, Graphical User Interface) Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ°Π»ΡΠΊΡ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ².
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠ½, Π½ΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ:
β’ Tkinter ΠΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ (Unix, Windows, Macintosh). ΠΡ ΠΎΠ΄ΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΡ Python. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Β«An Introduction to TkinterΒ» (Β«ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² TkinterΒ»), Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π€ΡΠ΅Π΄ΡΠΈΠΊΠΎΠΌ ΠΡΠ½Π΄ΠΎΠΌ: http://www.pythonware.com/library/tkinter/introduction/
β’ wxPython ΠΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ wxWidgets (ΡΠ°Π½ΡΡΠ΅ Π½Π°Π·ΡΠ²Π°Π»Π°ΡΡ wxWindows). ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΡΠ΅ΡΡΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GL. ΠΠΌΠ΅Π΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°ΠΉΠΌΠ΅Ρ ΠΌΠ΅ΡΡΠΎ Tkinter Π² Π±ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Python. Π‘Π°ΠΉΡ: http://www.wxpython.org/
β’ PyGTK ΠΠ°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄Π»Ρ GTK+ ΠΈ Gnome. Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ GTK.
β’ PyQT/PyKDE Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Qt (ΠΏΠΎΠ΄ UNIX ΠΈΠ»ΠΈ Windows) ΠΈΠ»ΠΈ KDE.
β’ Pythonwin ΠΠΎΡΡΡΠΎΠ΅Π½ Π²ΠΎΠΊΡΡΠ³ MFC, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ win32all; ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows.
β’ pyFLTK ΠΠ½Π°Π»ΠΎΠ³ Xforms, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL. ΠΠΌΠ΅Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Windows ΠΈ Unix. Π‘Π°ΠΉΡ: http://pyfltk.sourceforge.net/
β’ AWT, JFC, Swing ΠΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Jython, Π° Π΄Π»Ρ Jython Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Java. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java.
β’ anygui ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Python. Π‘Π°ΠΉΡ: http://anygui.sourceforge.net/
β’ PythonCard ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΠΎ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ HyperCard/MetaCard. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π° Π±Π°Π·Π΅ wxPython. Π‘Π°ΠΉΡ: http://pythoncard.sourceforge.net/
Π‘ΠΏΠΈΡΠΎΠΊ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ· Python, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ: http://phaseit.net/claird/comp.lang.python/python_GUI.html
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, PythonCard ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ wxPython, ΠΊΠΎΡΠΎΡΡΠΉ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Linux Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ½ΠΎΠΉ GUIβΠ±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ wxWindows, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° GTK+ ΠΈΠ»ΠΈ Π½Π° Motif, Π° ΡΠ΅ β ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° X Window. ΠΡΡΠ°ΡΠΈ, Π΄Π»Ρ Motif Π² Python ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ.
Π Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ Tkinter, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΡΠΊΠΎΠΉ Π΄Π»Ρ Tcl/Tk β ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΡΠ΅Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Tcl. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΡΡΡΡ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ WIMP β Window, Icon, Menu, Pointer (ΠΎΠΊΠ½ΠΎ, ΠΈΠΊΠΎΠ½ΠΊΠ°, ΠΌΠ΅Π½Ρ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ). ΠΠ½ΡΡΡΠΈ ΠΎΠΊΠΎΠ½ ΡΠΈΡΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ Π±ΡΠ΄ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ (widget β ΡΡΡΡΠΊΠ°). ΠΠ΅Π½Ρ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΡΡΡΡ ΠΎΠΊΠ½Π°, Π½ΠΎ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΠΎ: ΠΎΠ½ΠΈ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Β«ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΒ» ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ±ΡΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ»ΡΠΆΠΈΡ ΠΊΡΡΡΠΎΡ ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π΄ΠΆΠΎΠΉΡΡΠΈΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Β«ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅Β» ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠ΅Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ. ΠΠ± ΡΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° (ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°) ΡΡΠ΅Π΄ΡΡΠ² ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅ΡΡΠΈ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°, Π²ΡΠ±ΠΈΡΠ°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡ: ΠΈΠ· ΡΠΎΡΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠ»ΠΎΡ ΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΡΠΈΡ ΠΎΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π·Π° ΡΠ°ΡΠ°Π΄ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠΈΠΏΠΈΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈΠΈ ΡΠΊΡΠ°Π½ΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Β«ΠΌΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈΒ» (wizards). ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΠΊΠΎΡΠ΅Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠΎΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΈΠΏΠΈΡΠ½ΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π»Π΅Π³ΠΊΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³ΠΈΠ±ΡΠΈΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ Β«ΠΌΠ°ΡΡΠ΅ΡΠ°Β» ΠΈ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ . ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ Π²ΡΡΠ°Π·ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΉ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π° ΡΡΠ΅Π½Π°ΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΡΠ½ΠΎΠ²Ρ Tk
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅ΡΡΠ° Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠΎβΡΠΎ ΡΡΠΈΡΠ°Π΅Ρ (Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅) ΠΎΡ Π½Π°ΡΠ°Π»Π° ΡΠ²ΠΎΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°: Π΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎβΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°. ΠΠ½Π° ΠΆΠ΄Π΅Ρ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°Ρ ) ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΊ ΡΡΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. Π‘Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ (ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΎΠ·ΡΠΈΠ½ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ), ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² (Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²) Π²Π΅Π΄Π°ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠ΄ΠΆΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, Π½ΠΎ ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ. Π Tk ΠΈΠΌΠ΅ΡΡΡΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊ (pack), ΡΠ΅ΡΠΊΠ° (grid) ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (place).
ΠΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΠΎΡΠΊΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ: ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ ΠΏΠΎΠ»ΠΎΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Π² Tk ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΠ»Π°ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Tk ΠΎΡΠΎΠ±ΡΠ°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² (Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅):