рдорд╛рдЧреАрд▓ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ (
рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд, рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рдЕрдиреЗрдХрджрд╛ рдЗрддрдХреЗ рдореЛрдареЗ рдЕрд╕рддрд╛рдд рдХреА рдПрдХрд╕рд╛рд░рдЦреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╣ рдореЗрдорд░реА рд╡реНрдпрд╛рдкрдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА. рддреНрдпрд╛рдореБрд│реЗ, рд╕рдорд╛рди рдореВрд▓реНрдпреЗ рд╕рд╛рдард╡рдгреНрдпрд╛рдд рдореЗрдорд░реА рд╡рд╛рдпрд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ.
рдХрд╛рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ, рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рднрд╛рд╖реЗрдордзреНрдпреЗрдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд,
рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреНрд▓реЛрдмрд▓ рд╣реЗ рдЪрд╛рдВрдЧрд▓реЗ рдЙрдореЗрджрд╡рд╛рд░ рдЖрд╣реЗрдд рдХрд╛рд░рдг:
- рддреЗ рдХреЗрд╡рд│ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбреНрд╕рдЪреА рдореВрд▓реНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд рдЖрдгрд┐ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдпреЗ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдд рдирд╛рд╣реАрдд;
- рдиреЛрдбрдЪреНрдпрд╛ рд╡реНрд╣реЕрд▓реНрдпреВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕ рдмрд╣реБрдЖрдпрд╛рдореА рдЕреЕрд░реЗ рдШрдЯрдХрд╛рдордзреНрдпреЗ рдХрд┐рддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкреНрд░рд╡реЗрд╢ рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд рдпрд╛рд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ.
Set ^a(1, 2, 3)=5 Write ^a(1, 2, 3)
- рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреНрд▓реЛрдмрд▓ рд╣реА рдмрд░реНтАНрдпрд╛рдкреИрдХреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд░рдЪрдирд╛ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреНрдпрд╛рдд рдЙрддреНрдХреГрд╖реНрдЯ рдЧрддреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд (рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж рд╢реЗрдХрдбреЛ рддреЗ рд▓рд╛рдЦреЛ рд╡реНрдпрд╡рд╣рд╛рд░, рдЦрд╛рд▓реА рдкрд╣рд╛).
1 )
рдЧреНрд▓реЛрдмрд▓ рд╣реА рдПрдХ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, RAM рдЪреА рд░рдХреНрдХрдо рдкреБрд░реЗрд╢реА рдирд╕реЗрд▓ рд╣реЗ рдЖрдзреАрдЪ рдорд╛рд╣реАрдд рдЕрд╕рддрд╛рдирд╛ рддреНрдпрд╛рд╡рд░ рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ.
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реЗрд▓рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓реНрдпрд╛рд╕ рдХрд╛рд╣реА рдбреАрдлреЙрд▓реНрдЯ рдореВрд▓реНрдп рдкрд░рдд рдХрд░рдгреЗ рд╣реЗ рд╕реНрдкрд╛рд░реНрд╕ рдЕреЕрд░реЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рдЧреБрдгрдзрд░реНрдорд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ.
рд╣реЗ рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ
SET a = $GET(^a(x,y,z), defValue)
рдХреЛрдгрддреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рд╡рд┐рд░рд│ ре▓рд░реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЧреНрд▓реЛрдмрд▓ рдХрд╢реА рдорджрдд рдХрд░реВ рд╢рдХрддрд╛рдд?
рд╕рдВрд▓рдЧреНрдирддрд╛ (рдХрдиреЗрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреА) рдореЕрдЯреНрд░рд┐рдХреНрд╕
рдЕрд░реНрдерд╛рдд, рдЖрд▓реЗрдЦ рдЬрд┐рддрдХрд╛ рдореЛрдард╛ рдЕрд╕реЗрд▓ рддрд┐рддрдХреЗ рдореЕрдЯреНрд░рд┐рдХреНрд╕рдордзреНрдпреЗ рд╢реВрдиреНрдп рдЬрд╛рд╕реНрдд рдЕрд╕рддреАрд▓. рдЬрд░, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣реА рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд▓реЗрдЦ рдШреЗрддреЛ рдЖрдгрд┐ рддреЛ рд╕рдорд╛рди рдореЕрдЯреНрд░рд┐рдХреНрд╕рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕рд╛рджрд░ рдХрд░рддреЛ, рддрд░ рддреНрдпрд╛рдд рдЬрд╡рд│рдЬрд╡рд│ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рд╢реВрдиреНрдп рдЕрд╕рддреАрд▓, рдореНрд╣рдгрдЬреЗ. рдПрдХ рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рдЕрд╕реЗрд▓.
Set ^m(id1, id2) = 1
Set ^m(id1, id3) = 1
Set ^m(id1, id4) = 1
Set ^m(id1) = 3
Set ^m(id2, id4) = 1
Set ^m(id2, id5) = 1
Set ^m(id2) = 2
....
рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЖрдореНрд╣реА рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдмрдЪрдд рдХрд░рддреЛ ^m рдХрдиреЗрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреА рдореЕрдЯреНрд░рд┐рдХреНрд╕, рддрд╕реЗрдЪ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░реАрд▓ рдХрдбрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ (рдХреЛрдг рдХреЛрдгрд╛рд╢реА рдорд┐рддреНрд░ рдЖрд╣реЗ рдЖрдгрд┐ рдорд┐рддреНрд░рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛).
рдЖрд▓реЗрдЦрд╛рдордзреАрд▓ рдШрдЯрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 29 рджрд╢рд▓рдХреНрд╖рд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдирд╕рд▓реНрдпрд╛рд╕ (рд╣реА рд╕рдВрдЦреНрдпрд╛ 8 * рдЪреЗ рдЧреБрдгрд╛рдХрд╛рд░ рдореНрд╣рдгреВрди рдШреЗрддрд▓реА рдЬрд╛рддреЗ.
рдмрд┐рдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕рд╣ рдореЕрдирд┐рдкреБрд▓реЗрд╢рди рдлрдВрдХреНрд╢рдирджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд
; ╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╨▒╨╕╤В╨░
SET $BIT(rowID, positionID) = 1
; ╨┐╨╛╨╗╤Г╤З╨╡╨╜╨╕╨╡ ╨▒╨╕╤В╨░
Write $BIT(rowID, positionID)
рд░рд╛рдЬреНрдп рдорд╢реАрди рд╕рдВрдХреНрд░рдордг рд╕рд╛рд░рдгреА
рдорд░реНрдпрд╛рджрд┐рдд рдСрдЯреЛрдореЕрдЯрдирдЪрд╛ рд╕рдВрдХреНрд░рдордг рдЖрд▓реЗрдЦ рд╣рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрд▓реЗрдЦ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдорд░реНрдпрд╛рджрд┐рдд рдСрдЯреЛрдореЕрдЯреЙрдирдЪреЗ рд╕рдВрдХреНрд░рдордг рд╕рд╛рд░рдгреА рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╛рди рд╕рдВрд▓рдЧреНрдирддрд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдЖрд╣реЗ.
рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛
рд╕рд░реНрд╡рд╛рдд рдкреНрд░рд╕рд┐рджреНрдз рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЕрдЯрди тАЛтАЛрдЖрд╣реЗ
рд╕реНрдЯреАрдлрди рд╡реЛрд▓реНрдлреНрд░рд╛рдордЪрд╛ рдЕрд╕рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдЖрд╣реЗрдд
рд╣реЗ рд╕рд┐рджреНрдз рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдХреА рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдХреЛрдгрддреЗрд╣реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЕрдЯрди тАЛтАЛрд╡рд╛рдкрд░реВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдбрд╛рдпрдиреЕрдорд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдЖрдгрд┐ рдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рдореЙрдбреЗрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЗрддрд░ рд╣реЗрддреВрдВрд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
рдЬрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЦреВрдк рдореЛрдареЗ рдлреАрд▓реНрдб рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЕрдЯрдирдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рд╕реНрдЯреЗрдЯрд╕ рд░реЗрдХреЙрд░реНрдб рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рддрд░ рдЧреНрд▓реЛрдмрд▓ рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЕрд░реНрде рдЖрд╣реЗ.
рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлреА
рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдорд╛рдЭреНрдпрд╛ рдордирд╛рдд рдпреЗрдгрд╛рд░реА рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдореЕрдкрд┐рдВрдЧ рдХрд╛рд░реНрдпреЗ.
рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдирдХрд╛рд╢рд╛рдВрд╡рд░ рдмрд░реАрдЪ рд░рд┐рдХрд╛рдореА рдЬрд╛рдЧрд╛ рдЖрд╣реЗ. рдЬрд░ рдирдХрд╛рд╢рд╛ рдореЛрдареНрдпрд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдореНрд╣рдгреВрди рджрд░реНрд╢рд╡рд┐рд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рдкреГрдереНрд╡реАрдЪреНрдпрд╛ рдкрд┐рдХреНрд╕реЗрд▓рдкреИрдХреА 71% рд╕рдореБрджреНрд░рд╛рдиреЗ рд╡реНрдпрд╛рдкрд▓реЗрд▓рд╛ рдЕрд╕реЗрд▓. рд╡рд┐рд░рд│ рдЕреЕрд░реЗ. рдЖрдгрд┐ рдЬрд░ рдЖрдкрдг рдлрдХреНрдд рдорд╛рдирд╡реА рд╣рд╛рддрд╛рдВрдЪреА рдХрд╛рдореЗ рд▓рд╛рдЧреВ рдХреЗрд▓реА рддрд░ рд░рд┐рдХреНрдд рдЬрд╛рдЧрд╛ 95% рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓.
рдЕрд░реНрдерд╛рдд, рд░рд╛рд╕реНрдЯрд░ рдЕреЕрд░реЗрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдХреЛрдгреАрд╣реА рдирдХрд╛рд╢реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдд рдирд╛рд╣реА; рд╡реЗрдХреНрдЯрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.
рдкрдг рд╡реЗрдХреНрдЯрд░ рдирдХрд╛рд╢реЗ рдХрд╛рдп рдЖрд╣реЗрдд? рд╣рд╛ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдлреНрд░реЗрдо рдЖрдгрд┐ рдкреЙрд▓реАрд▓рд╛рдЗрдиреНрд╕ рдЖрдгрд┐ рдкреЙрдЗрдВрдЯреНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рдкреЙрд▓реАрдЧреЙрдиреНрд╕ рдЖрд╣реЗ.
рдореВрд▓рдд: рдмрд┐рдВрджреВ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдордзреАрд▓ рдХрдиреЗрдХреНрд╢рдирдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕.
рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдореЕрдкрд┐рдВрдЧ рдореЛрд╣рд┐рдорд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдЖрдкрд▓реНрдпрд╛ рдЖрдХрд╛рд╢рдЧрдВрдЧреЗрдЪрд╛ рдирдХрд╛рд╢рд╛ рдмрдирд╡рдгреНрдпрд╛рдЪреЗ рдЧреИрдпрд╛ рдЯреЗрд▓рд┐рд╕реНрдХреЛрдк рдорд┐рд╢рди. рд▓рд╛рдХреНрд╖рдгрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдЖрдкрд▓реА рдЖрдХрд╛рд╢рдЧрдВрдЧрд╛, рд╕рдВрдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡рд╛рдкреНрд░рдорд╛рдгреЗрдЪ, рдПрдХ рд╕рддрдд рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рдЖрд╣реЗ: рд░рд┐рдХрд╛рдордкрдгрд╛рдЪреА рдкреНрд░рдЪрдВрдб рдЬрд╛рдЧрд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рджреБрд░реНрдорд┐рд│ рд▓рд╣рд╛рди рдмрд┐рдВрджреВ рдЖрд╣реЗрдд - рддрд╛рд░реЗ. рд░рд┐рдХрд╛рдореА рдЬрд╛рдЧрд╛ репреп.репрепрепрепрепрептАжтАж.% рдЖрд╣реЗ. рдЖрдордЪреНрдпрд╛ рдЖрдХрд╛рд╢рдЧрдВрдЧреЗрдЪрд╛ рдирдХрд╛рд╢рд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рдЬрд╛рдЧрддрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд╡рдбрд▓рд╛ рдЧреЗрд▓рд╛ - рдХреЕрд╢реЗ.
рдорд▓рд╛ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рдЧреНрд▓реЛрдмрд▓реНрд╕рдЪреА рдиреЗрдордХреА рд░рдЪрдирд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА, рдореА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рд╢рдХрддреЛ рдХреА рддреЗ рдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ:
Set ^galaxy(b, l, d) = 1; ╨Э╨╛╨╝╨╡╤А ╨╖╨▓╨╡╨╖╨┤╤Л ╨┐╨╛ ╨║╨░╤В╨░╨╗╨╛╨│╤Г, ╨╡╤Б╨╗╨╕ ╨╡╤Б╤В╤М
Set ^galaxy(b, l, d, "name") = "Sun"
Set ^galaxy(b, l, d, "type") = "normal" ; ╨▓╨░╤А╨╕╨░╨╜╤В╤Л blackhole, quazar, red_dwarf ╨╕ ╤В.╨┤.
Set ^galaxy(b, l, d, "weight") = 14E50
Set ^galaxy(b, l, d, "planetes") = 7
Set ^galaxy(b, l, d, "planetes", 1) = "Mercury"
Set ^galaxy(b, l, d, "planetes", 1, weight) = 1E20
...
рдЬреЗрдереЗ b, l, d рдЖрд╣реЗрдд
рдЧреНрд▓реЛрдмрд▓реНрд╕рдЪреА рд▓рд╡рдЪрд┐рдХ рд░рдЪрдирд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддрд╛рд░реЗ рдЖрдгрд┐ рдЧреНрд░рд╣рд╛рдВрдЪреА рдХреЛрдгрддреАрд╣реА рдЖрд╡рд╢реНрдпрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬрддрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдХрд╛рд░рдг рдЧреНрд▓реЛрдмрд▓реНрд╕рд╡рд░реАрд▓ рдмреЗрд╕ рдпреЛрдЬрдирд╛-рд░рд╣рд┐рдд рдЖрд╣реЗрдд.
рдЖрдкрд▓реНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╛рдЪрд╛ рдирдХрд╛рд╢рд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХреЕрд╢реЗрдЪреА рдирд┐рд╡рдб рдХреЗрд╡рд│ рддреНрдпрд╛рдЪреНрдпрд╛ рд▓рд╡рдЪрд┐рдХрддреЗрд╕рд╛рдареАрдЪ рдирд╛рд╣реА, рддрд░ рдЬрд▓рдж рд╢реЛрдзрд╛рдВрд╕рд╛рдареА рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЬрд╛рдЧрддрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдбреЗрдЯрд╛рдЪрд╛ рдкреНрд░рд╡рд╛рд╣ рдЕрддрд┐рд╢рдп рдЬрд▓рдж рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╕рд╛рдареА рджреЗрдЦреАрд▓ рдирд┐рд╡рдбрд▓реА рдЧреЗрд▓реА.
рдЬрд░ рдЖрдкрдг рдкреГрдереНрд╡реАрд╡рд░ рдкрд░рддрд▓реЛ, рддрд░ рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ
рдЕрд▓реАрдХрдбреЗ рд╡рд░
OpenStreetMap XAPI рдордзреНрдпреЗ рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдЕрд╡рдХрд╛рд╢реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
рд╡рд░реВрди рдШреЗрддрд▓реЗрд▓реА рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░реЗ
рд╕рдВрдкреВрд░реНрдг рдЬрдЧ рдЪреМрд░рд╕рд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдирдВрддрд░ рдЙрдк-рдЪреМрд░рд╕ рдЖрдгрд┐ рдЙрдк-рдЪреМрд░рд╕ рдЙрдк-рдЙрдк-рдЪреМрд░рд╕, рдЖрдгрд┐ рдЕрд╕реЗрдЪ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдХреЛрдгрддреЗ рдЧреНрд▓реЛрдмрд▓ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рддреЗ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╢реНрд░реЗрдгреАрдмрджреНрдз рд░рдЪрдирд╛ рдорд┐рд│рддреЗ.
рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд╖рдгреА, рдЖрдореНрд╣реА рдЬрд╡рд│рдЬрд╡рд│ рддреНрд╡рд░рд┐рдд рдЗрдЪреНрдЫрд┐рдд рд╕реНрдХреНрд╡реЗрдЕрд░рдЪреА рд╡рд┐рдирдВрддреА рдХрд░реВ рд╢рдХрддреЛ рдХрд┐рдВрд╡рд╛ рддреЛ рд╕рд╛рдл рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдЙрдк-рдЪреМрд░рд╕ рджреЗрдЦреАрд▓ рдкрд░рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓ рдХрд┐рдВрд╡рд╛ рд╕рд╛рдл рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.
рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рд╕рдорд╛рди рдпреЛрдЬрдирд╛ рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.
рдкрд░реНрдпрд╛рдп 1:
Set ^m(a, b, a, c, d, a, b,c, d, a, b, a, c, d, a, b,c, d, a, 1) = id╨Я╨╡╤А╨▓╨╛╨╣╨в╨╛╤З╨║╨╕
Set ^m(a, b, a, c, d, a, b,c, d, a, b, a, c, d, a, b,c, d, a, 2) = id╨Т╤В╨╛╤А╨╛╨╣╨в╨╛╤З╨║╨╕
...
рдкрд░реНрдпрд╛рдп 2:
Set ^m('abacdabcdabacdabcda', 1) = id╨Я╨╡╤А╨▓╨╛╨╣╨в╨╛╤З╨║╨╕
Set ^m('abacdabcdabacdabcda', 2) = id╨Т╤В╨╛╤А╨╛╨╣╨в╨╛╤З╨║╨╕
...
рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрддрд░рд╛рдЪреНрдпрд╛ рд╕реНрдХреНрд╡реЗрдЕрд░рдордзреНрдпреЗ рд╕реНрдерд┐рдд рдкреЙрдЗрдВрдЯреНрд╕рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА COS/M рд╡рд╛рдкрд░рдгреЗ рдХрдареАрдг рдирд╛рд╣реА. рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрддрд░рд╛рд╡рд░ рдЬрд╛рдЧреЗрдЪреЗ рдЪреМрдХреЛрдиреА рддреБрдХрдбреЗ рд╕рд╛рдл рдХрд░рдгреЗ рдХрд╛рд╣реАрд╕реЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓, рдкрд░рдВрддреБ рд╣реЗ рдХреНрд╡рдЪрд┐рддрдЪ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЦрд╛рд▓рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░реАрд▓ рдЪреМрд░рд╕рд╛рдВрдкреИрдХреА рдПрдХрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг:
рдЖрдгрд┐ рдпреЗрдереЗ XAPI рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рдЕрдиреЗрдХ рдЬрд╛рдЧрддрд┐рдХ рдЖрд╣реЗрдд: рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░реАрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡:
рдЬрд╛рдЧрддрд┐рдХ ^рдорд╛рд░реНрдЧ рдЧреБрдг рд╕рд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ
рдЧреНрд▓реЛрдмрд▓реНрд╕рд╡рд░ рд╡рд┐рд░рд│ рдЕреЕрд░реЗрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреЗ рдЙрдЧреНрд░ рд╡рд░реНрдЧреАрдХрд░рдг.
- рдЖрдореНрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╕реНрддреВрдВрдЪреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рд╕реНрдерд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ (рдореЕрдкрд┐рдВрдЧ, рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛)
- рдЖрдореНрд╣реА рд╡рд┐рд░рд│ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рд╕рд╛рдард╡рддреЛ.
рдХреЗрд╕ 2 рд╕рд╛рдареА) рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордиреНрд╡рдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рддрд╛рдирд╛ рдЬреЗрдереЗ рдШрдЯрдХрд╛рд▓рд╛ рдореВрд▓реНрдп рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА, рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдбреАрдлреЙрд▓реНрдЯ рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рдШрдЯрдХрд╛рдЪреЗ рдореВрд▓реНрдп рдорд┐рд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЧреНрд▓реЛрдмрд▓реНрд╕рдордзреНрдпреЗ рдмрд╣реБрдЖрдпрд╛рдореА рдореЕрдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрдЪрдпрд┐рдд рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдорд┐рд│рдгрд╛рд░реЗ рдмреЛрдирд╕
рдкрдЯрдХрди рдХрд╛рдвреВрди рдЯрд╛рдХрд╛ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдкрдВрдХреНрддреА, рд╡рд┐рдорд╛рдиреЗ, рдЪреМрдХреЛрдиреА рддреБрдХрдбреЗ рдЗ.рдЪреНрдпрд╛ рдкрдЯреАрдд рдЕрд╕рд▓реЗрд▓реЗ рддреБрдХрдбреЗ рдирд┐рд╡рдбрд╛. рдкреВрд░реНрдгрд╛рдВрдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЧреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА, рдкрдВрдХреНрддреА, рд╕рдорддрд▓, рдЪреМрдХреЛрдиреА рддреБрдХрдбреЗ рдЗ.рдЪреНрдпрд╛ рдкрдЯреАрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЬрд╛рдЧреЗрдЪреЗ рднрд╛рдЧ рджреНрд░реБрддрдкрдгреЗ рдХрд╛рдврдгреНрдпрд╛рдЪреА рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рдЖрдгрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЙрдкрдпреБрдХреНрдд рдЕрд╕реВ рд╢рдХрддреЗ.
рд╕рдВрдШ
рдЖрдХреГрддреА рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рддреНрд░рд┐рдорд┐рддреАрдп рдЕреЕрд░реЗ рджрд░реНрд╢рд╡рддреЗ ^a рдЖрдгрд┐ рд╣рдЯрд╡рдгреНрдпрд╛рдЪреЗ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░.
рдЬреНрдЮрд╛рдд рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╡рд╛рдкрд░реВрди рдЬрд╛рдЧреЗрдЪреЗ рддреБрдХрдбреЗ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛
рдХреЙрд▓рдо рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдХреЙрд▓рдо рдирд┐рд╡рдбрдгреЗ:
; ╨Ч╨░╨┤╨░╨┤╨╕╨╝ ╤В╤А╤С╤Е╨╝╨╡╤А╨╜╤Л╨╣ ╤А╨░╨╖╤А╨╡╨╢╨╡╨╜╨╜╤Л╨╣ ╨╝╨░╤Б╤Б╨╕╨▓ 3x3x3
Set ^a(0,0,0)=1,^a(2,2,0)=1,^a(2,0,1)=1,^a(0,2,1)=1,^a(2,2,2)=1,^a(2,1,2)=1
Merge Column = ^a(2,2)
; ╨Т╤Л╨▓╨╡╨┤╨╡╨╝ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Г╤О Column
Zwrite Column
рдирд┐рд╖реНрдХрд░реНрд╖:
Column(0)=1
Column(2)=1
рдХреЙрд▓рдо рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдмрджреНрджрд▓ рдордиреЛрд░рдВрдЬрдХ рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рд╡рд┐рд░рд│ рдЕреЕрд░реЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдЫреЛрдЯреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорджреНрд╡рд╛рд░реЗ рдЬрд╛рдЧреЗрдЪреЗ рддреБрдХрдбреЗ рдирд┐рд╡рдбрдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдзреНрдпрд╛рдЪрд╛ рдХрд╛рд│ рдирд╡реАрди рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдХрд╛рд░реНрдпреЗ рдЙрднреА рдХрд░рддреЛ. рдЖрд▓реЗрдЦ рдХреЛрдЯреНрдпрд╡рдзреА рд╢рд┐рд░реЛрдмрд┐рдВрджреВрдВрдиреА рдмрдирд▓реЗрд▓реЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдЕрдмреНрдЬрд╛рд╡рдзреА рдмрд┐рдВрджреВрдВрдиреА рдмрдирд▓реЗрд▓реЗ рдирдХрд╛рд╢реЗ рдЖрдгрд┐ рдХрд╛рд╣реАрдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╡рд┐рд╢реНрд╡ рд╕реЗрд▓реНрдпреБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛рд╡рд░ рдЪрд╛рд▓рд╡рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ (
рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рд░рд│ рдЕтАНреЕрд░реЗрдордзреАрд▓ рдбреЗрдЯрд╛рдЪреА рдорд╛рддреНрд░рд╛ рдпрд╛рдкреБрдвреЗ рд░реЕрдордордзреНрдпреЗ рдмрд╕реВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рддреЗрд╡реНрд╣рд╛ рдЧреНрд▓реЛрдмрд▓ рдЖрдгрд┐ рд╕реАрдУрдПрд╕рд╡рд░ рд╕рдорд╛рди рдкреНрд░рдХрд▓реНрдк рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ.
рдЖрдкрдг рд▓рдХреНрд╖ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж! рдЖрдореНрд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рддреБрдордЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЖрдгрд┐ рд╢реБрднреЗрдЪреНрдЫрд╛рдВрдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рдд рдЖрд╣реЛрдд.
рдЬрдмрд╛рдмрджрд╛рд░реА рдирд╛рдХрд╛рд░рдгреЗ: рд╣рд╛ рд▓реЗрдЦ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░рдЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдорд╛рдЭреЗ рдордд рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪрд╛ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо рдХреЙрд░реНрдкреЛрд░реЗрд╢рдирдЪреНрдпрд╛ рдЕрдзрд┐рдХреГрдд рдкрджрд╛рд╢реА рдХреЛрдгрддрд╛рд╣реА рд╕рдВрдмрдВрдз рдирд╛рд╣реА.
рд╕реНрддреНрд░реЛрдд: www.habr.com