mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 14:16:10 -06:00
145 lines
10 KiB
C++
145 lines
10 KiB
C++
TITLE("Zpracování polí hodnot")
|
|
REF("Calc$CarrayIndex")
|
|
REF("Calc$CcountA")
|
|
REF("Calc$CleftAN")
|
|
REF("Calc$CmidAN")
|
|
REF("Calc$CmidANN")
|
|
REF("Calc$CrightAN")
|
|
REF("Calc$CsumA")
|
|
REF("Calc$CsumASC")
|
|
TOPIC_TEXT(
|
|
"[2 $$0,0#00000000000000000000000000000000:Default][b100;a50;K* $$1,0#23046025415494101427921008701515:Paragraph][i167;b50;a25;kKN1;~~~>.3917;* "
|
|
"$$2,0#52185223490867151055420261384346:Toc1`.Heading1][i333;kN11;~~~>.3917;* $$3,0#36545033421193513457240054113541:Toc2`.Heading2][i500;kN111;~~~>.3917; "
|
|
"$$4,0#65092512416424580164828413186219:Toc3`.Heading3][i167;b50;a25;kKNA;~~~>.3917;* "
|
|
"$$5,5#922913324743")
|
|
TOPIC_TEXT(
|
|
"08709450111162202673:AppToc1`.AppHeading1][i333;kNA1;~~~>.3917;* $$6,15#61887903412252554674480251236992:AppToc2`.AppHeading2][i500;kNA11;~~~>.3917; "
|
|
"$$7,7#03533551421653050355120437860335:AppToc3`.AppHeading3][i500;b100;a100;KN1;*4 "
|
|
"$$8,0#94145093439740438411010082165944:Heading1][i500;b100;a50;kKN11;*+117 $$9,0#10901425421210535753260366156531:Heading2][i500;b100;a25;kKN111;* "
|
|
"$$10,0#53209141402041")
|
|
TOPIC_TEXT(
|
|
"366431858192225431:Heading3][i500;b100;a100;KNA;*4 $$11,8#32912651424211307887950041245434:AppHeading1][i500;b100;a50;kKNA1;*+117 "
|
|
"$$12,8#51232055453458524230328032001901:AppHeading2][i500;b100;a25;kKNA11;* $$13,8#34108020439428305453439845463579:AppHeading3][b100;a50;k*4 "
|
|
"$$14,0#49239115434362547028389207250014:Heading][b50;a25;k~~~>.3917;* $$15,15#40743698422276745552070108434023:Toc`.Heading][b10")
|
|
TOPIC_TEXT(
|
|
"0;a50;K~~~>.3917;*+117 $$16,16#15422850471211852294098111138263:Topics1][l167;b50;a50;K~~~>.3917;* "
|
|
"$$17,17#35241722455500657380289596243808:Topics2][l333;~~~>.3917; $$18,18#31041344429742018840308064013200:Topics3][b83;a42;K* "
|
|
"$$19,0#46440151113795363000000595230845:Paragraph][{_}%EN-US [s14; oper\303\241tor "
|
|
"`+ (pole hodnot, pole hodnot) [S \302\256] pole hodnot&][s0; Oper\303\241tor spoj\303\255 "
|
|
"dv\304\233 pole (za\305\231ad\303\255 jeji")
|
|
TOPIC_TEXT(
|
|
"ch jednotliv\303\251 prvky za sebe).&][s14;:Calc`$CarrayIndex: [%00-00 oper\303\241tor "
|
|
"`[`] (pole hodnot, cel\303\251 \304\215\303\255slo) ][%00-00S \302\256][%00-00 "
|
|
"libovoln\303\275 typ]&][s0; Oper\303\241tor vr\303\241t\303\255 prvek pole na dan\303\251 "
|
|
"pozici. Prvky pole jsou indexov\303\241ny od 0, posledn\303\255 prvek m\303\241 index "
|
|
"[/ pole.count]`-1.&][s0; &][s0; [* P\305\231\303\255klad: ]`[`\"index0`\", `\"index1`\", "
|
|
"`\"index2`\"`]`[1`] `= `\"index1`\"&][s0;* [* Pomoc\303\255 konstruktu ]`[a .")
|
|
TOPIC_TEXT(
|
|
". b`][* lze vytvo\305\231it pole hodnot z_dan\303\251ho intervalu. V\303\275sledn\303\251 "
|
|
"pole bude obsahovat hodnoty ]`[a,a`+1,a`+2,...,[* round(]b[* )]`].&][s14;:Calc`$CcountA: "
|
|
"[%00-00 count (pole hodnot) ][%00-00S \302\256][%00-00 cel\303\251 \304\215\303\255slo]&][s0; "
|
|
"Funkce vr\303\241t\303\255 po\304\215et prvk\305\257 zadan\303\251ho pole.&][s0; "
|
|
"&][s0; [* P\305\231\303\255klad: ]count(`[3..6`]) `= 4&][s14;:Calc`$CleftAN: [%00-00 "
|
|
"group(pole hodnot ][%00-00/ data][%00-00 , pole h")
|
|
TOPIC_TEXT(
|
|
"odnot ][%00-00/ skupiny][%00-00 , \305\231et\304\233zec ][%00-00/ prom\304\233nn\303\241][%00-00 "
|
|
", lambda`-v\303\275raz ][%00-00/ seskupit][%00-00 , lambda`-v\303\275raz ][%00-00/ "
|
|
"v\303\275stup][%00-00 )] [S \302\256] pole hodnot&][s14;:Calc`$CleftAN: [%00-00 group(pole "
|
|
"hodnot ][%00-00/ data][%00-00 , pole hodnot ][%00-00/ skupiny][%00-00 , \305\231et\304\233zec "
|
|
"][%00-00/ prom\304\233nn\303\241][%00-00 , lambda`-v\303\275raz ][%00-00/ seskupit][%00-00 "
|
|
")] [S \302\256] pole hodnot&")
|
|
TOPIC_TEXT(
|
|
"][s0; Funkce p\305\231eskup\303\255 hodnoty v zadan\303\251m poli [/ data] v z\303\241vislosti "
|
|
"na obsahu \305\231\303\255dic\303\255ho pole [/ skupiny]. V\303\275sledkem funkce "
|
|
"je pole se stejn\303\275m po\304\215tem prvk\305\257, jako m\303\241 pole [/ skupiny]. "
|
|
"Pro ka\305\276d\303\275 prvek pole [/ data] (p\305\231i\305\231azen\303\275 do prom\304\233nn\303\251 "
|
|
"[/ prom\304\233nn\303\241]) se nejprve vypo\304\215te lambda`-v\303\275raz [/ seskupit] "
|
|
"a jeho v\303\275sledek se vyhled\303\241 v poli [/ skupiny]. Pokud hodnota v poli "
|
|
"nen\303\255 nalezena")
|
|
TOPIC_TEXT(
|
|
", prvek se ignoruje. Pokud hodnota nalezena je, vypo\304\215\303\255t\303\241 se "
|
|
"lambda`-v\303\275raz [/ v\303\275stup] a jeho v\303\275sledek se p\305\231i\304\215te "
|
|
"k stejnolehl\303\251mu prvku v\303\275stupn\303\255mu pole hodnot, tedy k prvku se "
|
|
"stejn\303\275m indexem, jako pod kter\303\275m byla v poli [/ skupiny] nalezena hodnota "
|
|
"vypo\304\215ten\303\241 v\303\275razem [/ seskupit]. S\304\215\303\255t\303\241n\303\255 "
|
|
"v\303\275stupn\303\255ch hodnot pracuje stejn\304\233 jako v p\305\231\303\255pad\304\233 "
|
|
"funkce [/ sum], tedy pokud funkce [/ v\303")
|
|
TOPIC_TEXT(
|
|
"\275stup] vytv\303\241\305\231\303\255 hodnoty typu [/ \304\215\303\255slo], v\303\275sledn\303\251 "
|
|
"prvky pole budou obsahovat sou\304\215ty t\304\233chto hodnot; pokud funkce vytv\303\241\305\231\303\255 "
|
|
"\305\231et\304\233zce, v\303\275sledn\303\251 prvky pole budou obsahovat spojen\303\255 "
|
|
"t\304\233chto \305\231et\304\233zc\305\257 za sebe, a v p\305\231\303\255pad\304\233 "
|
|
"pol\303\255 budou ve v\303\275stupn\303\255m poli prvky vytvo\305\231en\303\251 spojen\303\255m "
|
|
"d\303\255l\304\215\303\255ch pol\303\255.&][s0; &][s0; Posledn\303\255 parametr [/ "
|
|
"v\303\275stup] je nepovinn\303\275; pokud nen\303\255 zad\303\241n, pou\305\276ije "
|
|
"se ")
|
|
TOPIC_TEXT(
|
|
"jako v\303\275stupn\303\255 hodnota pr\303\241v\304\233 zpracov\303\241van\303\275 "
|
|
"prvek vstupn\303\255ho pole [/ data].&][s0; &][s0;* P\305\231\303\255klad:&][s0; "
|
|
"group(`[`[4, `\"D`\"`], `[2, `\"B`\"`], `[4, `\"C`\"`], `[1, `\"A`\"`]`], `[1, 2, "
|
|
"3, 4`], `\"x`\", #(x`[0`]), #(`[x`[1`]`])) [S \302\256] `[`[`\"A`\"`], `[`\"B`\"`], "
|
|
"null, `[`\"D`\", `\"C`\"`]`]&][s0; group(`[`[4, `\"D`\"`], `[2, `\"B`\"`], `[4, `\"C`\"`], "
|
|
"`[1, `\"A`\"`]`], `[1, 2, 3, 4`], `\"x`\", #(x`[0`])) [S \302\256 ]`[`[1,")
|
|
TOPIC_TEXT(
|
|
" `\"A`\"`], `[2, `\"B`\"`], null, `[4, `\"D`\", 4, `\"C`\"`]`]&][s14; [%00-00 left "
|
|
"(pole hodnot, cel\303\251 \304\215\303\255slo ][%00-00/ po\304\215et][%00-00 ) ][%00-00S "
|
|
"\302\256][%00-00 pole hodnot]&][s0; Funkce vr\303\241t\303\255 pole obsahuj\303\255c\303\255 "
|
|
"prvn\303\255ch [* po\304\215et] hodnot zadan\303\251ho pole hodnot. Pokud je hodnota "
|
|
"[* po\304\215et] men\305\241\303\255 nebo rovna nule, funkce vr\303\241t\303\255 "
|
|
"pr\303\241zdn\303\251 pole. Pokud je hodnota [* po\304\215et] v\304\233t\305\241\303\255 "
|
|
"ne\305\276 po\304\215et prvk\305\257 pole, ")
|
|
TOPIC_TEXT(
|
|
"funkce vr\303\241t\303\255 p\305\257vodn\303\255 pole beze zm\304\233ny.&][s0; &][s0; "
|
|
"[* P\305\231\303\255klad: ]left(`{1, 2, 3, 5, 8, 13`}, 4) `= `{1, 2, 3, 5`}&][s14;:Calc`$CmidAN: "
|
|
"[%00-00 mid (pole hodnot, cel\303\251 \304\215\303\255slo ][%00-00/ i][%00-00 ) ][%00-00S "
|
|
"\302\256][%00-00 pole hodnot]&][s0; Funkce vr\303\241t\303\255 ze zadan\303\251ho "
|
|
"pole [* i]`-t\303\275 a\305\276 posledn\303\255 prvek. Prvn\303\255 prvek pole m\303\241 "
|
|
"index 0.&][s0; &][s0; [* P\305\231\303\255klad: ]mid(`[`\"A`\", `\"B`\", `\"C`\", "
|
|
"`\"D`\"")
|
|
TOPIC_TEXT(
|
|
", `\"E`\"`], 2) `= `[`\"C`\", `\"D`\", `\"E`\"`]&][s0;* &][s14;:Calc`$CmidANN: [%00-00 "
|
|
"mid (pole hodnot, cel\303\251 \304\215\303\255slo ][%00-00/ i][%00-00 , cel\303\251 "
|
|
"\304\215\303\255slo ][%00-00/ po\304\215et][%00-00 ) ][%00-00S \302\256][%00-00 "
|
|
"pole hodnot]&][s0; Funkce vr\303\241t\303\255 ze zadan\303\251ho pole [* po\304\215et] "
|
|
"prvk\305\257 po\304\215\303\255naje [* i]`-t\303\275m prvkem. Prvn\303\255 prvek "
|
|
"pole m\303\241 index 0.&][s0; &][s0; [* P\305\231\303\255klad: ]mid(`[`\"A`\", `\"B`\", "
|
|
"`\"C`\", `\"D`\", `\"E`\"`], 2")
|
|
TOPIC_TEXT(
|
|
", 2) `= `[`\"C`\", `\"D`\"`]&][s14;:Calc`$CrightAN: [%00-00 right (pole hodnot, "
|
|
"cel\303\251 \304\215\303\255slo ][%00-00/ po\304\215et][%00-00 ) ][%00-00S \302\256][%00-00 "
|
|
" pole hodnot]&][s0; Funkce vr\303\241t\303\255 posledn\303\255ch [* po\304\215et] "
|
|
"hodnot z_konce zadan\303\251ho pole. Pokud je [* po\304\215et <`= 0], funkce vr\303\241t\303\255 "
|
|
"pr\303\241zdn\303\251 pole. Je`-li [* po\304\215et ]v\304\233t\305\241\303\255 nebo "
|
|
"roven po\304\215tu prvk\305\257 vstupn\303\255ho pole, funkce vr\303\241t\303\255 "
|
|
"toto pole beze zm\304\233ny.&][s0; &]")
|
|
TOPIC_TEXT(
|
|
"[s0; [* P\305\231\303\255klad:] right(`[1..5`], 3) `= `[3, 4, 5`]&][s14;:Calc`$CsumA: "
|
|
"[%00-00 sum (pole hodnot) ][%00-00S \302\256][%00-00 libovoln\303\275 typ]&][s0; "
|
|
"Funkce vr\303\241t\303\255 sou\304\215et hodnot zadan\303\251ho pole. Pokud pole "
|
|
"obsahuje jako prvky \304\215\303\255seln\303\251 hodnoty, funkce vr\303\241t\303\255 "
|
|
"\304\215\303\255seln\303\275 sou\304\215et t\304\233chto hodnot. Pokud pole obsahuje "
|
|
"\305\231et\304\233zce, funkce vr\303\241t\303\255 spojen\303\255 t\304\233chto \305\231et\304\233zc\305\257. "
|
|
"P\305\231\303\255padn\303\251 hodnoty [* null] v_pol")
|
|
TOPIC_TEXT(
|
|
"i se ignoruj\303\255.&][s0; &][s0; [* P\305\231\303\255klad: ]sum(`{1..5`}) `= 15&][s14;:Calc`$CsumASC: "
|
|
"[%00-00 sum(pole hodnot, \305\231et\304\233zec ][%00-00/ identifik\303\241tor][%00-00 "
|
|
", lambda`-v\303\275raz) ][%00-00S \302\256][%00-00 libovoln\303\275 typ]&][s0; Funkce "
|
|
"se\304\215te / spoj\303\255 hodnoty vypo\304\215ten\303\251 zadan\303\275m [* lambda`-v\303\275razem] "
|
|
"z[/ ]prvk\305\257 zadan\303\251ho pole. [/ Lambda`-v\303\275raz] sm\303\255 pou\305\276\303\255vat "
|
|
"zadan\303\275 [* identifik\303\241tor] pro p\305\231\303\255stup k aktu")
|
|
TOPIC_TEXT(
|
|
"\303\241ln\303\255mu prvku pole. V\303\275sledky v\303\275razu mus\303\255 b\303\275t "
|
|
"jednoho z_podporovan\303\275ch datov\303\275ch typ\305\257:&][s0; &][s0;i150;O0;+-83 "
|
|
"[* \304\215\303\255slo] `- funkce vr\303\241t\303\255 sou\304\215et v\305\241ech "
|
|
"t\304\233chto \304\215\303\255sel; prvky obsahuj\303\255c\303\255 hodnotu [* null] "
|
|
"se ignoruj\303\255&][s0;i150;O0;+-83 [* \305\231et\304\233zec] `- funkce vr\303\241t\303\255 "
|
|
"spojen\303\255 v\305\241ech t\304\233chto \305\231et\304\233zc\305\257&][s0;i150;O0;+-83 "
|
|
"[* pole] `- funkce vr\303\241t\303\255 spojen\303\255 v\305\241ech t\304\233chto "
|
|
"pol\303\255&][s0;i200;+-")
|
|
TOPIC_TEXT(
|
|
"83 &][s0;+-83 [* P\305\231\303\255klad:] `[1, 4, 7`].sum(`\"X`\", #(X`*X)) `= 66, "
|
|
"`[1, 4, 7`].sum(`\"T`\", #(T.text)) `= `\"147`\"&][s0; Funkce p\305\231evede zadan\303\251 "
|
|
"pole na standardn\303\255 textovou reprezentaci ve tvaru&][s0; &][s0; `[[/ prvn\303\255 "
|
|
"prvek, druh\303\275 prvek, t\305\231et\303\255 prvek...]`]&][s0; &][s0; [* P\305\231\303\255klad:] "
|
|
"`[0.0, 1.0, 2.5`].text `= `\"`[0, 1, 2.5`]`\"&][s0; &][s0;* &][s0; &][s0; &][s0; "
|
|
"&][s0; &][s0;3 ]")
|