{"id":407,"date":"2026-02-15T09:56:03","date_gmt":"2026-02-15T09:56:03","guid":{"rendered":"https:\/\/plcdevstudio.com\/?p=407"},"modified":"2026-02-15T10:02:13","modified_gmt":"2026-02-15T10:02:13","slug":"es-un-anagrama","status":"publish","type":"post","link":"https:\/\/plcdevstudio.com\/?p=407","title":{"rendered":"\u00bfEs un Anagrama?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Despu\u00e9s del cl\u00e1sico FizzBuzz, el siguiente reto sube ligeramente el nivel: trabajar con <strong>cadenas de texto<\/strong> y dise\u00f1ar una funci\u00f3n que determine si dos palabras son anagramas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejercicio es especialmente interesante en PLC porque obliga a trabajar con:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manipulaci\u00f3n de strings<\/li>\n\n\n\n<li>Gesti\u00f3n de arrays<\/li>\n\n\n\n<li>Contadores<\/li>\n\n\n\n<li>Comparaciones estructuradas<\/li>\n\n\n\n<li>Dise\u00f1o de funciones reutilizables<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Y todo esto en <strong>Structured Text (ST)<\/strong> dentro de TwinCAT 3.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">El reto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Debemos crear una funci\u00f3n que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reciba dos palabras (<code>STRING<\/code>)<\/li>\n\n\n\n<li>Devuelva <code>TRUE<\/code> si son anagramas<\/li>\n\n\n\n<li>Devuelva <code>FALSE<\/code> si no lo son<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Condiciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un anagrama consiste en reordenar <strong>todas<\/strong> las letras de otra palabra.<\/li>\n\n\n\n<li>No es necesario comprobar si la palabra existe en el diccionario.<\/li>\n\n\n\n<li>Dos palabras exactamente iguales <strong>no<\/strong> se consideran anagrama.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplo:<\/p>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\n&#039;cosa&#039; \u2192 &#039;saco&#039; \u2192 TRUE\n&#039;cosa&#039; \u2192 &#039;cosa&#039; \u2192 FALSE\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Programa principal<\/p>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nPROGRAM R002_Es_un_Anagrama\nVAR\n\tresult : BOOL;\nEND_VAR\n\nresult := IsAnagram(&#039;cosa&#039;, &#039;saco&#039;);\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed simplemente llamamos a la funci\u00f3n <code>IsAnagram<\/code> y almacenamos el resultado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dise\u00f1o de la funci\u00f3n<\/p>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nFUNCTION IsAnagram : BOOL\nVAR_INPUT\n\tsWordA : STRING(20);\n\tsWordB : STRING(20);\nEND_VAR\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La funci\u00f3n recibe dos palabras y devuelve un booleano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Estrategia utilizada<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de ordenar cadenas (lo cual implicar\u00eda m\u00e1s complejidad), utilizamos un enfoque m\u00e1s robusto y eficiente:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Contar la frecuencia de cada car\u00e1cter<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">La idea es simple:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Contar cu\u00e1ntas veces aparece cada car\u00e1cter en la palabra A.<\/li>\n\n\n\n<li>Contar cu\u00e1ntas veces aparece cada car\u00e1cter en la palabra B.<\/li>\n\n\n\n<li>Comparar los contadores.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si todos coinciden \u2192 son anagramas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">Inicializaci\u00f3n de contadores<\/h4>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nFOR i:= 0 TO 256 DO \n\tCountA&#x5B;i] := 0;\n\tCountB&#x5B;i] := 0;\nEND_FOR\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se crean dos arrays de tama\u00f1o 256 (rango ASCII) para almacenar la frecuencia de cada car\u00e1cter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este enfoque evita depender de ordenamientos y reduce el problema a comparaci\u00f3n de frecuencias.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Conteo de caracteres<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Para la primera palabra:<\/h5>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nlengthA := LEN(sWordA);\n\nFOR i := 0 TO lengthA DO\n\tbCode := sWordA&#x5B;i];\n\tCountA&#x5B;BYTE_TO_INT(bCode)] := CountA&#x5B;BYTE_TO_INT(bCode)] + 1;\nEND_FOR\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cada car\u00e1cter se convierte en su c\u00f3digo ASCII y se incrementa el contador correspondiente.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Para la segunda palabra:<\/h4>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nlengthB := LEN(sWordB);\n\nFOR i := 0 TO lengthB DO\n\tbCode := sWordB&#x5B;i];\n\tCountB&#x5B;BYTE_TO_INT(bCode)] := CountB&#x5B;BYTE_TO_INT(bCode)] + 1;\nEND_FOR\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Validaciones previas importantes<\/p>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nIF lengthA &lt;&gt; lengthB THEN IsAnagram := FALSE; RETURN; END_IF;\nIF sWordA = sWordB THEN IsAnagram := FALSE; RETURN; END_IF;\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Primero descartamos casos evidentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si no tienen la misma longitud \u2192 imposible que sean anagramas.<\/li>\n\n\n\n<li>Si son exactamente iguales \u2192 no cumplen la definici\u00f3n del reto.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esto evita c\u00e1lculos innecesarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comparaci\u00f3n final<\/p>\n\n\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\nFOR i:= 0 TO 256 DO\n\tIF CountA&#x5B;i] &lt;&gt; CountB&#x5B;i] THEN\n\t\tIsAnagram := FALSE;\n\t\tRETURN;\n\tEND_IF\nEND_FOR\n\nIsAnagram := TRUE;\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si alg\u00fan contador difiere, las palabras no son anagramas.<br>Si todos coinciden, entonces s\u00ed lo son.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reflexi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejercicio introduce conceptos muy relevantes para programaci\u00f3n industrial:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manipulaci\u00f3n avanzada de datos<\/li>\n\n\n\n<li>Uso eficiente de memoria<\/li>\n\n\n\n<li>Comparaciones estructuradas<\/li>\n\n\n\n<li>Early return para optimizaci\u00f3n<\/li>\n\n\n\n<li>Dise\u00f1o de funciones puras (sin efectos colaterales)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, el enfoque basado en frecuencia de caracteres es:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u00e1s eficiente que ordenar<\/li>\n\n\n\n<li>M\u00e1s escalable<\/li>\n\n\n\n<li>Independiente del idioma<\/li>\n\n\n\n<li>F\u00e1cil de testear<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En un entorno industrial real, este patr\u00f3n podr\u00eda utilizarse en:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Validaci\u00f3n de comandos<\/li>\n\n\n\n<li>Procesamiento de recetas<\/li>\n\n\n\n<li>Sistemas de trazabilidad<\/li>\n\n\n\n<li>Normalizaci\u00f3n de datos recibidos por comunicaci\u00f3n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Posibles mejoras<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas mejoras arquitect\u00f3nicas interesantes ser\u00edan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Normalizar may\u00fasculas\/min\u00fasculas (<code>TO_LOWER<\/code>)<\/li>\n\n\n\n<li>Ignorar espacios<\/li>\n\n\n\n<li>Convertir la funci\u00f3n en un m\u00e9todo de una librer\u00eda de utilidades<\/li>\n\n\n\n<li>Implementar testing autom\u00e1tico con TcUnit<\/li>\n\n\n\n<li>Optimizar rango ASCII si solo usamos letras<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque \u201c\u00bfEs un Anagrama?\u201d parece un reto simple, es una excelente excusa para practicar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dise\u00f1o estructurado<\/li>\n\n\n\n<li>Pensamiento algor\u00edtmico<\/li>\n\n\n\n<li>Manipulaci\u00f3n de strings en PLC<\/li>\n\n\n\n<li>Funciones reutilizables<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Despu\u00e9s del cl\u00e1sico FizzBuzz, el siguiente reto sube ligeramente el nivel: trabajar con cadenas de texto y dise\u00f1ar una funci\u00f3n que determine si dos palabras son anagramas. Este ejercicio es especialmente interesante en PLC porque obliga a trabajar con: Y todo esto en Structured Text (ST) dentro de TwinCAT 3. El reto Debemos crear una [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":408,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[8,18],"tags":[],"class_list":["post-407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-retos-algoritmicos-y-logica"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00bfEs un Anagrama? - plcdevstudio.<\/title>\n<meta name=\"description\" content=\"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfEs un Anagrama? - plcdevstudio.\" \/>\n<meta property=\"og:description\" content=\"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/plcdevstudio.com\/?p=407\" \/>\n<meta property=\"og:site_name\" content=\"plcdevstudio.\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-15T09:56:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-15T10:02:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#article\",\"isPartOf\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57\"},\"headline\":\"\u00bfEs un Anagrama?\",\"datePublished\":\"2026-02-15T09:56:03+00:00\",\"dateModified\":\"2026-02-15T10:02:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407\"},\"wordCount\":654,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png\",\"articleSection\":[\"BLOG\",\"Retos Algor\u00edtmicos y L\u00f3gica\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/plcdevstudio.com\/?p=407#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/plcdevstudio.com\/?p=407\",\"url\":\"https:\/\/plcdevstudio.com\/?p=407\",\"name\":\"\u00bfEs un Anagrama? - plcdevstudio.\",\"isPartOf\":{\"@id\":\"https:\/\/plcdevstudio.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#primaryimage\"},\"image\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#primaryimage\"},\"thumbnailUrl\":\"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png\",\"datePublished\":\"2026-02-15T09:56:03+00:00\",\"dateModified\":\"2026-02-15T10:02:13+00:00\",\"author\":{\"@id\":\"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57\"},\"description\":\"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.\",\"breadcrumb\":{\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/plcdevstudio.com\/?p=407\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#primaryimage\",\"url\":\"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png\",\"contentUrl\":\"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/plcdevstudio.com\/?p=407#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/plcdevstudio.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfEs un Anagrama?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/plcdevstudio.com\/#website\",\"url\":\"https:\/\/plcdevstudio.com\/\",\"name\":\"plcdevstudio\",\"description\":\"Blog de desarrollo de software PLC\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/plcdevstudio.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/plcdevstudio.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/965cd391265fc7ae23e6e78dbd3b34a126ddaffc738c6435ededdaea54c739c5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/965cd391265fc7ae23e6e78dbd3b34a126ddaffc738c6435ededdaea54c739c5?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/plcdevstudio.com\"],\"url\":\"https:\/\/plcdevstudio.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfEs un Anagrama? - plcdevstudio.","description":"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"\u00bfEs un Anagrama? - plcdevstudio.","og_description":"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.","og_url":"https:\/\/plcdevstudio.com\/?p=407","og_site_name":"plcdevstudio.","article_published_time":"2026-02-15T09:56:03+00:00","article_modified_time":"2026-02-15T10:02:13+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/plcdevstudio.com\/?p=407#article","isPartOf":{"@id":"https:\/\/plcdevstudio.com\/?p=407"},"author":{"name":"admin","@id":"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57"},"headline":"\u00bfEs un Anagrama?","datePublished":"2026-02-15T09:56:03+00:00","dateModified":"2026-02-15T10:02:13+00:00","mainEntityOfPage":{"@id":"https:\/\/plcdevstudio.com\/?p=407"},"wordCount":654,"commentCount":0,"image":{"@id":"https:\/\/plcdevstudio.com\/?p=407#primaryimage"},"thumbnailUrl":"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png","articleSection":["BLOG","Retos Algor\u00edtmicos y L\u00f3gica"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/plcdevstudio.com\/?p=407#respond"]}]},{"@type":"WebPage","@id":"https:\/\/plcdevstudio.com\/?p=407","url":"https:\/\/plcdevstudio.com\/?p=407","name":"\u00bfEs un Anagrama? - plcdevstudio.","isPartOf":{"@id":"https:\/\/plcdevstudio.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/plcdevstudio.com\/?p=407#primaryimage"},"image":{"@id":"https:\/\/plcdevstudio.com\/?p=407#primaryimage"},"thumbnailUrl":"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png","datePublished":"2026-02-15T09:56:03+00:00","dateModified":"2026-02-15T10:02:13+00:00","author":{"@id":"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57"},"description":"Aprende a resolver el reto \u201c\u00bfEs un Anagrama?\u201d en PLC con TwinCAT 3. Manipulaci\u00f3n de strings y dise\u00f1o algor\u00edtmico en Structured Text.","breadcrumb":{"@id":"https:\/\/plcdevstudio.com\/?p=407#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/plcdevstudio.com\/?p=407"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/plcdevstudio.com\/?p=407#primaryimage","url":"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png","contentUrl":"https:\/\/plcdevstudio.com\/wp-content\/uploads\/2026\/02\/ChatGPT-Image-15-feb-2026-10_47_53.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/plcdevstudio.com\/?p=407#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/plcdevstudio.com\/"},{"@type":"ListItem","position":2,"name":"\u00bfEs un Anagrama?"}]},{"@type":"WebSite","@id":"https:\/\/plcdevstudio.com\/#website","url":"https:\/\/plcdevstudio.com\/","name":"plcdevstudio","description":"Blog de desarrollo de software PLC","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/plcdevstudio.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/plcdevstudio.com\/#\/schema\/person\/79b12ac1b1af49d0498b809974733c57","name":"admin","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/plcdevstudio.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/965cd391265fc7ae23e6e78dbd3b34a126ddaffc738c6435ededdaea54c739c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/965cd391265fc7ae23e6e78dbd3b34a126ddaffc738c6435ededdaea54c739c5?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/plcdevstudio.com"],"url":"https:\/\/plcdevstudio.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=407"}],"version-history":[{"count":1,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions"}],"predecessor-version":[{"id":409,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions\/409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=\/wp\/v2\/media\/408"}],"wp:attachment":[{"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/plcdevstudio.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}