Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3N'akụkụ ndị gara aga (1, 2) anyị na-ekwu banyere ụwa dị ka osisi, na nke a anyị ga-ele ụwa anya dị ka sparse arrays.

Obere Array bụ ụdị n'usoro nke ọtụtụ n'ime ụkpụrụ na-ewere otu uru.

Na omume, ngwa ngwa na-adịkarị oke oke nke na ọ nweghị uru iji ihe ndị yiri ya were ebe nchekwa were. Ya mere, ọ bụ ihe ezi uche dị na ya iji mejuputa usoro ndị na-adịghị ahụkebe n'ụzọ nke na ebe nchekwa agaghị emefusịa n'ịkwakọba ụkpụrụ ndị ahụ.
N'asụsụ mmemme ụfọdụ, a na-etinye usoro dị iche iche n'asụsụ ahụ n'onwe ya. ọmụmaatụ na J, MATLAB. Asụsụ mmemme ndị ọzọ nwere ọba akwụkwọ pụrụ iche na-enye gị ohere ime ya. Maka C ++ - Nke nwe na ndị ọzọ.

Globals bụ ezigbo ndị na-eme ntuli aka maka imejuputa usoro dị obere n'ihi na:

  1. Ha na-echekwa ụkpụrụ nke naanị ụfọdụ ọnụ na adịghị echekwa ụkpụrụ nke ndị na-akọwaghị;
  2. Ihe interface maka ịnweta uru ọnụ ọnụ dị nnọọ ka ọtụtụ asụsụ mmemme na-eme ka ịnweta ihe nhazi multidimensional.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. Global bụ usoro dị ala dị ala maka ịchekwa data, yabụ ọ nwere njirimara ọsọ pụrụ iche (site na narị puku kwuru iri puku kwuru iri nde azụmahịa kwa nkeji, dabere na ngwaike, lee n'okpuru). 1)

Ebe ọ bụ na ụwa bụ usoro na-adịgide adịgide, ọ bụ ihe ezi uche dị na ya ịmepụta usoro ndị na-adịghị ahụkebe na ha mgbe a matara na mbụ na ọnụọgụ RAM agaghị ezuru.

Otu n'ime njirimara nke mmejuputa n'usoro n'usoro bụ iweghachite ụfọdụ uru ndabara ma ọ bụrụ na emere ohere na cell enweghị nkọwa.

Enwere ike ime nke a site na iji ọrụ ahụ $GET na COS. Ọmụmaatụ a na-atụle n'usoro akụkụ 3.

SET a = $GET(^a(x,y,z), defValue)

Kedu ihe aga-eme na-achọ obere usoro na kedu ka ụwa ga-esi nyere aka?

Adjacency (njikọ) matrix

Matrices dị otú ahụ eji anọchi anya eserese:

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

N'ụzọ doro anya, ka eserese ahụ buru ibu, ka efu ga-adị na matriks. Ọ bụrụ na, dịka ọmụmaatụ, anyị na-ewere eserese netwọk mmekọrịta ma gosipụta ya n'ụdị matriks yiri ya, mgbe ahụ ọ ga-abụ na ọ fọrọ nke nta ka ọ bụrụ zeros, i.e. ga-abụ a obere n'usoro.

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
....

N'ihe atụ a, anyị na-echekwa ụwa niile ^m njikọta matrix, yana ọnụ ọgụgụ nke ọnụ na ọnụ ọnụ nke ọ bụla (onye bụ enyi ya na ọnụ ọgụgụ ndị enyi).

Ọ bụrụ na ọnụ ọgụgụ nke ihe dị na eserese ahụ abụghị ihe karịrị nde 29 (a na-ewere nọmba a dị ka ngwaahịa nke 8 *). kacha akara nha), ya bụ, ụzọ ọbụna karịa ego iji chekwaa matrices ndị dị otú ahụ bụ ntakịrị eriri, ebe ọ bụ na mmejuputa ha na-eme ka oghere dị ukwuu na ụzọ pụrụ iche.

A na-arụ ọrụ na-arụ ọrụ na-eji eriri bit $BIT.

; установка бита
SET $BIT(rowID, positionID) = 1
; получение бита
Write $BIT(rowID, positionID)

Tebụl mgbanwe igwe steeti

Ebe ọ bụ na eserese mgbanwe nke automaton nwere njedebe bụ eserese nkịtị, mgbe ahụ, tebụl mgbanwe nke njedebe automaton bụ otu matrix adjacency a tụlere n'elu.

Cellular automata

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

Automon cellular kacha ama ama bụ egwuregwu "Ndụ", nke, n'ihi iwu ya (mgbe cell nwere ọtụtụ ndị agbata obi, ọ na-anwụ) bụ ihe na-adịghị mma.

Stephen Wolfram kwenyere na cellular automata bụ ngalaba sayensị ọhụrụ. N'afọ 2002, o bipụtara akwụkwọ dị peeji 1280, A New Kind of Science, nke ọ na-arụrịta ụka n'ụzọ zuru ezu na ọganihu na cellular automata adịghị adịpụrụ iche, kama ọ na-adịgide adịgide ma nwee nnukwu mmetụta maka mpaghara sayensị niile.

E gosiputara na algọridim ọ bụla enwere ike ime na kọmpụta nwere ike itinye ya site na iji cellular automaton. A na-eji cellular automata iji ṅomie gburugburu na sistemu dị ike, iji dozie nsogbu algọridim na maka ebumnuche ndị ọzọ.

Ọ bụrụ na anyị nwere nnukwu ubi na anyị kwesịrị ịdekọ niile etiti ala nke a cellular automaton, mgbe ahụ, ọ bụ ihe ezi uche na-eji globals.

Ihe osise

Ihe mbụ na-abata m n'obi ma a bịa n'iji arrays ndị na-adịchaghị mkpa bụ ịse eserese.

Dịka iwu, enwere ọtụtụ ohere efu na maapụ. Ọ bụrụ na a na-anọchi anya maapụ ahụ dị ka nnukwu pikselụ, mgbe ahụ, 71% pikselụ ụwa ga-anọ n'oké osimiri. Nkwadebe dị obere. Ma ọ bụrụ na ị na-etinye naanị ọrụ aka mmadụ, mgbe ahụ ohere efu ga-abụ karịa 95%.

N'ezie, ọ dịghị onye na-echekwa maapụ n'ụdị raster arrays ka a na-eji ihe nnọchianya vector eme ihe.
Mana gịnị bụ maapụ vector? Nke a bụ ụdị etiti na polyline na polygon nwere isi ihe.
N'ezie nchekwa data nke isi na njikọ dị n'etiti ha.

Otu n'ime ọrụ ịse eserese kachasị mma bụ ozi Gaia Telescope iji mapụta ụyọkọ kpakpando anyị. N'ikwu okwu n'ụzọ ihe atụ, ụyọkọ kpakpando anyị, dị ka eluigwe na ụwa dum, bụ ihe na-aga n'ihu n'usoro: nnukwu oghere nke ihe efu nke enwere obere isi ihe - kpakpando. Oghere efu bụ 99,999999…….%. Iji chekwaa map nke ụyọkọ kpakpando anyị, a họọrọ nchekwa data zuru ụwa ọnụ - Caché.

Amaghị m kpọmkwem usoro nke globals na ọrụ a, enwere m ike iche na ọ bụ ihe yiri:

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
...

Ebe b, l, d galactic na-ahazi latitude, longitude na anya na Sun.

Usoro mgbanwe nke ụwa na-enye gị ohere ịchekwa njirimara ọ bụla dị mkpa nke kpakpando na mbara ala, ebe ọ bụ na ntọala na ụwa enweghị atụmatụ.

Iji chekwaa maapụ nke eluigwe na ala anyị, Caché họọrọ ọ bụghị naanị maka mgbanwe ya, kamakwa maka ike ịchekwa iyi data ngwa ngwa, ebe n'otu oge na-eke index globals maka nyocha ngwa ngwa.

Ọ bụrụ na anyị laghachi na Ụwa, mgbe ahụ, cartographic ọrụ e kere na globals OpenStreetMap XAPI na ndụdụ nke OpenStreetMap - FOSM.

Na nso nso a hackathon caché etinyere ihe nrịbama geospatial Geospatial. Anyị na-echere akụkọ sitere n'aka ndị edemede nwere nkọwa mmejuputa.

Mmezu nke ntụzịaka oghere n'ụwa niile na OpenStreetMap XAPI

Foto ndị e si na ya ihe ngosi a.

A na-ekewa ụwa dum n'okirikiri, emesia okpuru-squares, na akụkụ-squares n'ime obere akụkụ, na ihe ndị ọzọ. N'ozuzu, anyị na-enweta nhazi usoro maka ịchekwa nke ụwa ka emepụtara.

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

N'oge ọ bụla, ọ fọrọ nke nta ka ọ bụrụ na anyị nwere ike ịrịọ square a chọrọ ozugbo ma ọ bụ kpochapụ ya, a ga-eweghachikwa ma ọ bụ kpochapụ akụkụ niile nke mpaghara.

Enwere ike ime atụmatụ yiri nke ahụ na ụwa n'ọtụtụ ụzọ.

Nhọrọ 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ВторойТочки
...

Nhọrọ 2:

Set ^m('abacdabcdabacdabcda', 1) = idПервойТочки
Set ^m('abacdabcdabacdabcda', 2) = idВторойТочки
...

N'okwu abụọ ahụ, ọ naghị esiri ike iji COS/M rịọ isi ihe dị na square nke ọkwa ọ bụla. Ọ ga-adịtụ mfe ihicha oghere oghere n'ogo ọ bụla na nhọrọ mbụ, mana nke a adịghị mkpa.

Ọmụmaatụ nke otu n'ime akụkụ anọ dị ala:

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

Ma ebe a bụ ọtụtụ ụwa sitere na ọrụ XAPI: ihe nnochite anya nke ndeksi na ụwa:

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

zuru ụwa ọnụ ^ uzo eji echekwa ihe polyline (okporo ụzọ, obere osimiri, wdg) na polygon (ebe mechiri emechi: ụlọ, ọhịa, wdg).

Nkewa siri ike nke ojiji nke obere arrays na ụwa.

  1. Anyị na-echekwa nhazi nke ụfọdụ ihe na steeti ha (maapụ, cellular automata)
  2. Anyị na-echekwa matrices dị obere.

Maka ikpe 2) mgbe ị na-arịọ nhazi ahaziri ahazi ebe anaghị ekenye mmewere uru, anyị ga-enweta uru nke ihe ndabara adịghị mma.

Bonuses anyị na-enweta mgbe ị na-echekwa matrices multidimensional na globals

Wepu ngwa ngwa na/ma ọ bụ họrọ iberibe oghere bụ ọtụtụ ahịrị, ụgbọ elu, cubes, wdg. Maka ikpe ebe a na-eji ndenye integer eme ihe, ikike iwepụ ngwa ngwa na/ma ọ bụ weta oghere nke bụ ọtụtụ ahịrị, ụgbọ elu, cubes, wdg nwere ike ịba uru.

Otu egbu anyị nwere ike ihichapụ ma otu mmewere ma ọ bụ n'ahịrị, ma ọ bụ ọbụna otu dum ụgbọelu. N'ihi njirimara nke ụwa, nke a na-eme ngwa ngwa - ọtụtụ puku ugboro ngwa ngwa karịa mwepụ nke mmewere-site-mmemme.

Ọnụọgụ a na-egosi nhazi akụkụ atọ n'ime ụwa ^a na ụdị nhichapụ dị iche iche.

Globals bụ mma agha-akụ maka ịchekwa data. Ngwakọta dị obere. Akụkụ nke 3

Ka ịhọrọ iberibe oghere site na iji ndenye aha amaara, ịnwere ike iji iwu ahụ Jikota.

Ịhọrọ kọlụm matriks n'ime mgbanwe kọlụm:

; Зададим трёхмерный разреженный массив 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

Mmechi:

Column(0)=1
Column(2)=1

Ihe na-atọ ụtọ banyere mgbanwe kọlụm bụ na anyị nwekwara usoro dị obere, nke a ga-enwerịrị ike ịnweta ya. $GET, ebe ọ bụ na anaghị echekwa ụkpụrụ ndabara na ya.

Ịhọrọ iberibe oghere nwekwara ike ime site na obere mmemme site na iji ọrụ ahụ Usoro $. Nke a na-adabara nke ọma na oghere ndị na-adịghị ọnụ ọgụgụ indices (cartography).

nkwubi

Oge ndị dị ugbu a na-ebute nnukwu ọrụ ọhụrụ. Enwere ike iji ọtụtụ ijeri vertices mebere eserese, maapụ nwere ọtụtụ ijeri isi, na ụfọdụ nwere ike chọọ ịgbasa mbara igwe nke ha na cellular automata (1, 2).

Mgbe olu data sitere na ụdị ndị na-adịghị ahụkebe enweghị ike ịbanye na RAM, mana ịkwesịrị ịrụ ọrụ na ha, mgbe ahụ ọ bara uru ịtụle ohere nke ịmejuputa ọrụ ndị yiri ya na ụwa na COS.

Daalụ maka itinye uche gị! Anyị na-eche ajụjụ gị na ọchịchọ gị na nkọwa.

Disclaimer: Edemede a na ihe m kwuru na ya bụ echiche m na enweghị njikọ na ọkwa gọọmentị nke InterSystems Corporation.

isi: www.habr.com

Tinye a comment