{"id":534,"date":"2023-09-18T18:57:45","date_gmt":"2023-09-18T21:57:45","guid":{"rendered":"https:\/\/www.sigaud.com.br\/nicole\/?page_id=534"},"modified":"2025-07-15T18:19:36","modified_gmt":"2025-07-15T21:19:36","slug":"algoritmos","status":"publish","type":"page","link":"https:\/\/www.sigaud.com.br\/nicole\/matematica\/projeto-anacom\/algoritmos\/","title":{"rendered":"ALGORITMOS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Os algoritmos aplic\u00e1veis ao projeto ANACOM s\u00e3o in\u00fameros. Aqui mostramos alguns e como utiliz\u00e1-los em Macros ou rotinas de diversas linguagens de programa\u00e7\u00e3o. Inicialmente, os algoritmos foram divididos em duas classes principais: Caminhos e Algoritmos propriamente ditos. Os Caminhos s\u00e3o as trilhas pelas quais os elementos ir\u00e3o sendo dispostos sobre um gr\u00e1fico cartesiano pr\u00e9-definido.<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-27b9ebf1 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-6fd87fc1\">\n<p class=\"wp-block-paragraph\">Por exemplo, vamos tomar um gr\u00e1fico de dimens\u00f5es 10&#215;10, ou seja, o valor m\u00e1ximo de X \u00e9 10 e o de Y \u00e9 10. Depois disso, estabelece-se uma sequ\u00eancia baseada na sequ\u00eancia padr\u00e3o, ou usa-se ela mesma:<br><img loading=\"lazy\" decoding=\"async\" width=\"803\" height=\"55\" class=\"wp-image-529\" style=\"width: 803px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/elementos.gif\" alt=\"\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-622e0246\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"100\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/grid.gif\" alt=\"\" class=\"wp-image-535\"\/><\/figure>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui usamos os elementos (a,b,c,d,e,f,g,h,i,j,k,l,m,n), a sequ\u00eancia padr\u00e3o. Pode-se usar qualquer tipo de sequ\u00eancia para o desenho, por exemplo (a,c,f,i,k,m,b,a,e,e), (a,b,c,d), etc.<br>Definida a sequ\u00eancia, escolhe-se a trilha a ser seguida. O algoritmo em JavaScript ou outra linguagem ir\u00e1 obedecer, primariamente, \u00e0 <em>rota\u00e7\u00e3o e espelhamento de matrizes<\/em>. O conjunto de trilhas estabelecidas at\u00e9 agora s\u00e3o as seguintes:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-538\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path01.gif\" alt=\"\"><\/td><td><strong>LINEAR<\/strong><br>L1 | L2 | L3 | L4<br>L5 | L6 | L7 | L8<br><strong>Matriz L1<\/strong><br>01 02 03 04 05<br>06 07 08 09 10<br>11 12 13 14 15<br>16 17 18 19 20<br>21 22 23 24 25<br><\/td><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-536\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path05.gif\" alt=\"\"><\/td><td><strong>DIAGONAL<\/strong><br>D1 | D2 | D3 | D4<br>D5 | D6 | D7 | D8<br><strong>Matriz D4<\/strong><br>01 02 06 07 15 <br>03 05 08 14 16<br>04 09 13 17 22<br>10 12 18 21 23<br>11 19 20 24 25<\/td><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-541\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path04.gif\" alt=\"\"><\/td><td><strong>U<\/strong><br>U1 | U2 | U3 | U4<br>U5 | U6 | U7 | U8<br><strong>Matriz U4<\/strong><br>01 02 03 04 05<br>22 21 20 19 06<br>23 24 25 18 07<br>14 15 16 17 08<br>13 12 11 10 09<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-539\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path02.gif\" alt=\"\"><\/td><td><strong>QUEBRADA<\/strong><br>Q1 | Q2 | Q3 | Q4<br>Q5 | Q6 | Q7 | Q8<br><strong>Matriz Q1<\/strong><br>01 02 03 04 05<br>10 09 08 07 06<br>11 12 13 14 15<br>20 19 18 17 16<br>21 22 23 24 25<\/td><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-537\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path06.gif\" alt=\"\"><\/td><td><strong>GREGA<\/strong><br>G1 | G2 | G3 | G4<br>G5 | G6 | G7 | G8<br><strong>Matriz G1<\/strong><br>15 16 17 18 19<br>04 14 24 25 20<br>05 03 13 23 21<br>06 01 02 12 22<br>07 08 09 10 11<\/td><td><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"73\" class=\"wp-image-540\" style=\"width: 150px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/path03.gif\" alt=\"\"><\/td><td><strong>ESPIRA INTERNA<\/strong><br>E1 | E2 | E3 | E4<br>E5 | E6 | E7 | E8<br><strong>Matriz E4<\/strong><br>01 02 03 04 05<br>16 17 18 19 06<br>15 24 25 20 07<br>14 23 22 21 08<br>13 12 11 10 09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>MONTAGEM<\/strong><br>Suponhamos que se escolha o primeiro caminho da primeira figura dos caminhos (com dire\u00e7\u00e3o da esquerda para a direita em todas as linhas &#8211; vai-e-volta), ou <strong>Caminho L1<\/strong>, com a sequ\u00eancia original (<strong>A,B,C,D,E,F,G,H,I,J,K,L,M,N<\/strong>). Os elementos ent\u00e3o seguir\u00e3o este caminho, exatamente na sequ\u00eancia escolhida. Tendo esses dados, estabelecemos ainda que a Matriz, ou o desenho resultante, ter\u00e1 10 letras em cada linha (Largura = 10) e 10 linhas (Altura = 10). O desenho resultante neste caso ser\u00e1:<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-db79523c\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/comb1.gif\" alt=\"\" class=\"wp-image-542\" style=\"width:307px;height:307px\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\"><code>ABCDEFGHIJ<br>KLMNABCDEF<br>GHIJKLMNAB<br>CDEFGHIJKL<br>MNABCDEFGH<br>IJKLMNABCD<br>EFGHIJKLMN<br>ABCDEFGHIJ<br>KLMNABCDEF<br>GHIJKLMNAB<\/code><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Como se pode observar, existe um padr\u00e3o de repeti\u00e7\u00e3o de in\u00edcio de linhas, a partir da linha <strong>8<\/strong>. Isso que dizer que, para esta sequ\u00eancia em particular, com <strong>Largura = 10<\/strong>, basta ter <strong>Altura = 7<\/strong> para se ter um padr\u00e3o completo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OUTRO EXEMPLO: Com <strong>L=5<\/strong> e <strong>A=5<\/strong>, e a mesma sequ\u00eancia anterior, mas tendo o caminho <strong>Q1<\/strong>:<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><code>ABCDE<br>JIHGF<br>KLMNA<br>FEDCB<br>GHIJK<\/code><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td colspan=\"3\">Fica mais f\u00e1cil fazer esse tipo de painel usando letras de outra fonte ao inv\u00e9s das imagens da fonte <strong><a href=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/anacom__.zip\">ANACOM.TTF<\/a><\/strong> de in\u00edcio, convertendo o desenho depois. Dica: Um dos processos mais interessantes de se fazer um desenho \u00e9 jogar com elementos que sejam como imagens em negativos umas das outras, como por exemplo A\/N, B\/D, C\/E, F\/L, G\/M, H\/J e I\/K. Usando estes pares, consegue-se fazer um desenho repleto de &#8216;trilhas&#8217;, o que pode gerar, em desenhos de dimens\u00f5es grandes (maiores que 200 elementos), efeitos interessantes e surpreendentes.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>EQUA\u00c7\u00d5ES<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As <strong>Equa\u00e7\u00f5es<\/strong> propriamente ditas funcionam com base nas coordenadas do gr\u00e1fico cartesiano (cuja origem est\u00e1 no ponto <strong>(1,1)<\/strong> e de crescimento positivo para ambos X e Y (ou seja, do canto inferior esquerdo para o canto superior direito). Por exemplo, tome-se a equa\u00e7\u00e3o <strong>x\u00b2 + y\u00b2<\/strong>. Ela n\u00e3o \u00e9 resolvida como uma equa\u00e7\u00e3o de segundo grau, \u00e9 simplesmente uma conta feita com os valores de <strong>X<\/strong> e <strong>Y<\/strong> no gr\u00e1fico do desenho.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usando como refer\u00eancia a sequ\u00eancia (<strong>B,C,D,E<\/strong>), transpomos os resultados dos c\u00e1lculos nos pontos do gr\u00e1fico da seguinte maneira:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de mais nada, devemos considerar que cada posi\u00e7\u00e3o no gr\u00e1fico tem uma coordenada <strong>X<\/strong> e <strong>Y<\/strong>. Imagine um papel quadriculado, onde voc\u00ea delimitou o tamanho final do seu desenho, digamos <strong>A=4<\/strong> e <strong>L=6<\/strong>. Agora, fa\u00e7a um esquema para n\u00e3o se perder nas coordenadas. Escreva os n\u00fameros das linhas e colunas neste gr\u00e1fico, da seguinte maneira:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><strong>4<\/strong>| | | | | | |<br><strong>3<\/strong>| |\u2022| | | | | <strong>&lt;-<\/strong> O <strong>\u2022<\/strong> est\u00e1 no ponto (2,3), ou seja, x=2 e y=3<br><strong>2<\/strong>| | | | | | |<br><strong>1<\/strong>| | | | | | |<br><strong>_|1|2|3|4|5|6|<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para <strong>x = 2<\/strong> e <strong>y = 3<\/strong>, o resultado deste ponto <strong>(2,3)<\/strong> ser\u00e1 o n\u00famero <strong>(2^2 + 3^2 =&gt; 4 + 9) = 13<\/strong>, a aplica\u00e7\u00e3o da equa\u00e7\u00e3o. O n\u00famero <strong>13<\/strong> corresponde \u00e0 letra <strong>B<\/strong>. Para facilitar a visualiza\u00e7\u00e3o, mostramos aqui a matriz gerada para os n\u00fameros atribu\u00eddos \u00e0s letras dos elementos e o desenvolvimento do desenho:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><code><strong>B<\/strong>|1 5 9 13 17 <br><strong>C<\/strong>|2 6 10 14 18 <br><strong>D<\/strong>|3 7 11 15 19 <br><strong>E<\/strong>|4 8 12 16 20,etc.<\/code><\/td><td>Vamos fazer as contas: <br><code><strong>4<\/strong>|17|20|25|32|41|52 <br><strong>3<\/strong>|10|13|18|25|34|45 <br><strong>2<\/strong>|5 |8 |13|20|29|40 <br><strong>1<\/strong>|2 |5 |10|17|26|37 <br><strong>_|1 |2 |3 |4 |5 |6<\/strong><\/code><\/td><td>Vamos transformar os n\u00fameros nas letras da sequ\u00eancia: <br><code><strong>4<\/strong>|B |E |B |E |B |E <br><strong>3<\/strong>|C |B |C |B |C |B <br><strong>2<\/strong>|B |E |B |E |B |E <br><strong>1<\/strong>|C |B |C |B |C |B <br><strong>_|1 |2 |3 |4 |5 |6<\/strong><\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Virtualmente qualquer equa\u00e7\u00e3o poder\u00e1 ser usada nos desenhos; basta transpor os valores de X e Y nas equa\u00e7\u00f5es, calcular e transformar os resultados nas letras dos elementos. \u00c9 um m\u00e9todo trabalhoso e talvez complicado, mas os resultados s\u00e3o muito interessantes. Veja os exemplo 1 e exemplo 2 para ter uma id\u00e9ia melhor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>EXEMPLO 1<\/strong><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"210\" height=\"288\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/exemplo2.gif\" alt=\"\" class=\"wp-image-548\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"217\" height=\"286\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/exemplo1.gif\" alt=\"\" class=\"wp-image-547\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"425\" height=\"297\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/exemplo3.gif\" alt=\"\" class=\"wp-image-546\"\/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>EXEMPLO 2<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"248\" class=\"wp-image-549\" style=\"width: 338px;\" src=\"https:\/\/www.sigaud.com.br\/nicole\/wp-content\/uploads\/2023\/09\/ex2.gif\" alt=\"\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os algoritmos aplic\u00e1veis ao projeto ANACOM s\u00e3o in\u00fameros. Aqui mostramos alguns e como utiliz\u00e1-los em Macros ou rotinas de diversas linguagens de programa\u00e7\u00e3o. Inicialmente, os algoritmos foram divididos em duas classes principais: Caminhos e Algoritmos propriamente ditos. Os Caminhos s\u00e3o as trilhas pelas quais os elementos ir\u00e3o sendo dispostos sobre um gr\u00e1fico cartesiano pr\u00e9-definido. Por [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":133,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-534","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Nicole Sigaud","author_link":"https:\/\/www.sigaud.com.br\/nicole\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Os algoritmos aplic\u00e1veis ao projeto ANACOM s\u00e3o in\u00fameros. Aqui mostramos alguns e como utiliz\u00e1-los em Macros ou rotinas de diversas linguagens de programa\u00e7\u00e3o. Inicialmente, os algoritmos foram divididos em duas classes principais: Caminhos e Algoritmos propriamente ditos. Os Caminhos s\u00e3o as trilhas pelas quais os elementos ir\u00e3o sendo dispostos sobre um gr\u00e1fico cartesiano pr\u00e9-definido. Por&hellip;","_links":{"self":[{"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/pages\/534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/comments?post=534"}],"version-history":[{"count":16,"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/pages\/534\/revisions"}],"predecessor-version":[{"id":907,"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/pages\/534\/revisions\/907"}],"up":[{"embeddable":true,"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/pages\/133"}],"wp:attachment":[{"href":"https:\/\/www.sigaud.com.br\/nicole\/wp-json\/wp\/v2\/media?parent=534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}