{"id":122,"date":"2015-08-31T21:11:08","date_gmt":"2015-09-01T00:11:08","guid":{"rendered":"http:\/\/just.pro.br\/blog\/?p=122"},"modified":"2015-11-28T11:14:00","modified_gmt":"2015-11-28T14:14:00","slug":"implementacao-de-automato","status":"publish","type":"post","link":"https:\/\/just.pro.br\/blog\/2015\/08\/31\/implementacao-de-automato\/","title":{"rendered":"Implementa\u00e7\u00e3o de aut\u00f4mato"},"content":{"rendered":"<p>Ol\u00e1, pessoal.<\/p>\n<p>Segue abaixo o c\u00f3digo para implementa\u00e7\u00e3o do aut\u00f4mato que fizemos em sala de aula para reconhecimento dos n\u00fameros em algarismos romanos de 1 a 39. Para o trabalho proposto, basta alterar o c\u00f3digo para que o programa imprima na tela o n\u00famero em algarismos ar\u00e1bicos.<\/p>\n<p>Exemplo: se o usu\u00e1rio digitar &#8220;xxvii&#8221;, o programa deve imprimir &#8220;27&#8221;.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;stdio.h&gt;\r\n#include &lt;string.h&gt;\r\n\r\nint main(void)\r\n{\r\n                   \/* I   V   X  *\/\r\n    int S&#x5B;11]&#x5B;3] = {{ 1,  5,  8}, \\\r\n                    { 2,  4,  7}, \\\r\n                    { 3, -1, -1}, \\\r\n                    {-1, -1, -1}, \\\r\n                    {-1, -1, -1}, \\\r\n                    { 6, -1, -1}, \\\r\n                    { 2, -1, -1}, \\\r\n                    {-1, -1, -1}, \\\r\n                    { 1,  5,  9}, \\\r\n                    { 1,  5, 10}, \\\r\n                    { 1,  5, -1}};\r\n\r\n    char texto&#x5B;100], c;\r\n    int estado, pos, entrada;\r\n\r\n    printf(&quot;Digite o texto: &quot;);\r\n    fgets(texto, 100, stdin);\r\n    texto&#x5B;strlen(texto) - 1] = 0;\r\n\r\n    estado = 0;\r\n    pos = 0;\r\n\r\n    while ((c = texto&#x5B;pos]) != 0)\r\n    {\r\n        if (c == 'i')\r\n            entrada = 0;\r\n        else if (c == 'v')\r\n            entrada = 1;\r\n        else if (c == 'x')\r\n            entrada = 2;\r\n        else\r\n        {\r\n            printf(&quot;Caractere invalido: %c\\n&quot;, c);\r\n            return 1;\r\n        }\r\n\r\n        estado = S&#x5B;estado]&#x5B;entrada];\r\n\r\n        if (estado == -1)\r\n        {\r\n            printf(&quot;Erro na coluna %d.\\n&quot;, pos);\r\n            return 2;\r\n        }\r\n\r\n        pos++;\r\n    }\r\n\r\n    if (estado != 0)\r\n        printf(&quot;Texto OK!\\n&quot;);\r\n    else\r\n        printf(&quot;Texto invalido!\\n&quot;);\r\n\r\n    return 0;\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1, pessoal. Segue abaixo o c\u00f3digo para implementa\u00e7\u00e3o do aut\u00f4mato que fizemos em sala de aula para reconhecimento dos n\u00fameros em algarismos romanos de 1 a 39. Para o trabalho proposto, basta alterar o c\u00f3digo para que o programa imprima &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/just.pro.br\/blog\/2015\/08\/31\/implementacao-de-automato\/\"> <span class=\"screen-reader-text\">Implementa\u00e7\u00e3o de aut\u00f4mato<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,2],"tags":[],"class_list":["post-122","post","type-post","status-publish","format-standard","hentry","category-compiladores","category-unifacs"],"_links":{"self":[{"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/posts\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/comments?post=122"}],"version-history":[{"count":2,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/posts\/122\/revisions"}],"predecessor-version":[{"id":124,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/posts\/122\/revisions\/124"}],"wp:attachment":[{"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/media?parent=122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/categories?post=122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/just.pro.br\/blog\/wp-json\/wp\/v2\/tags?post=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}