{"id":194,"date":"2018-09-10T14:34:33","date_gmt":"2018-09-10T17:34:33","guid":{"rendered":"http:\/\/lucianodev.com.br\/blog\/?p=194"},"modified":"2018-09-11T09:47:38","modified_gmt":"2018-09-11T12:47:38","slug":"algoritmos-existem-varias-estruturas-e-padroes-do-portugol-qual-e-a-correta","status":"publish","type":"post","link":"https:\/\/lucianodev.com.br\/blog\/algoritmos-existem-varias-estruturas-e-padroes-do-portugol-qual-e-a-correta\/","title":{"rendered":"Algoritmos: Existem v\u00e1rias estruturas e padr\u00f5es do Portugol. Qual \u00e9 a correta?"},"content":{"rendered":"<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\">\ufeff<\/span><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>Ol\u00e1 pessoal. Venho hoje atrav\u00e9s deste POST abordar sobre um t\u00f3pico muito importante e , provavelmente, voc\u00ea j\u00e1 esteve um pouco &#8220;confuso&#8221; quanto a essa situa\u00e7\u00e3o: Qual \u00e9 o Algoritmo em Portugu\u00eas Estruturado (Portugol) correto? Existe aquele algoritmo escrito que segue o padr\u00e3o certo de c\u00f3digo e estrutura? Vamos ver a resposta para essas perguntas logo a seguir.<\/p>\n<p>Quem j\u00e1 tem experi\u00eancia com desenvolvimento de sistemas em linguagens de programa\u00e7\u00e3o como Java, C# e etc., percebeu que cada linguagem possui a sua pr\u00f3pria sintaxe e comandos, o que \u00e9 absolutamente normal. Se pararmos para pensar um pouco, todas as ferramentas de programa\u00e7\u00e3o que adotam uma linguagem de programa\u00e7\u00e3o, n\u00e3o muda os comandos e\/ou estruturas delas (para se ter uma ideia, as ferramentas Eclipse e NetBeans, ambas ferramentas para desenvolvimento de sistemas, adotam a mesma sintaxe e comandos da linguagem Java para desenvolvimento de sistemas). N\u00e3o \u00e9 porque que as ferramentas s\u00e3o diferentes \u00e9 que a linguagem muda.<\/p>\n<p>Agora, esse cen\u00e1rio n\u00e3o \u00e9 exatamente o mesmo quando vamos programar algoritmos usando portugu\u00eas estruturado (pois, cada ferramenta e interpretador de algoritmos adota a sua pr\u00f3pria ideia de sintaxe do que seria o seu &#8220;Portugu\u00eas Estruturado&#8221;). Por exemplo: As ferramentas VisualG e Portugol Studio (popularmente conhecidas como solu\u00e7\u00f5es para a constru\u00e7\u00e3o de algoritmos em portugu\u00eas estruturado) adotam, cada uma, sintaxes diferentes da linguagem Portugol.<\/p>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<h2>Qual vers\u00e3o do Portugol \u00e9 a correta?<\/h2>\n<p>Para falar a verdade <strong>N\u00c3O EXISTE<\/strong> uma vers\u00e3o \u00fanica e correta de uma estrutura de linguagem Portugol, visto que cada um dos desenvolvedores, autores de livros de programa\u00e7\u00e3o e professores t\u00eam uma &#8220;vis\u00e3o pr\u00f3pria&#8221;\u00a0 sobre &#8220;a melhor sintaxe e estrutura &#8221; para o Portugol adotando para o ensino sobre programa\u00e7\u00e3o.<\/p>\n<p>Para termos uma ideia, o VisualG (ferramenta desenvolvida e atualmente mantida por <span class=\"st\">Antonio Carlos Nicolodi) segue uma sintaxe simples e de f\u00e1cil compreens\u00e3o (talvez inspirada em linguagens de programa\u00e7\u00e3o estruturadas como Pascal e ADA). Vejamos um exemplo abaixo:<\/span><\/p>\n<pre class=\"font-size:14 lang:default highlight:0 decode:true\">algoritmo \"Meu primeiro programa\"\r\nvar \r\n nome: caractere\r\ninicio\r\n escreva(\"Digite seu nome: \")\r\n leia(nome)\r\n escreva(\"Seu nome \u00e9 :\",nome)\r\nfimalgoritmo<\/pre>\n<p>Perceba que o <strong>VisualG<\/strong> tem uma sintaxe bem f\u00e1cil, clara e objetiva, permitindo a compreens\u00e3o do fluxo de execu\u00e7\u00e3o de um algoritmo em portugu\u00eas estruturado.<\/p>\n<p>J\u00e1 o <strong>Portugol Studio <\/strong>(desenvolvido por membros da Universidade do Vale do Itaja\u00ed, conhecida como Univali) possui uma sintaxe bem pr\u00f3xima da linguagem C\/C++ e Java, que adotam o esquema de Programa\u00e7\u00e3o Orientada a Objetos. Essa ferramenta possui uma sintaxe do Portugol bastante flex\u00edvel e din\u00e2mica, permitindo a constru\u00e7\u00e3o de algoritmos de maneira mais intuitiva (al\u00e9m da ferramenta contar com um mecanismo de an\u00e1lise e verifica\u00e7\u00e3o de erros em tempo de projeto). Vejamos a sua sintaxe:<\/p>\n<pre class=\"font-size:14 lang:default highlight:0 decode:true\">programa\r\n{\r\n  \/\/Meu primeiro programa\r\n  funcao inicio()\r\n  {\r\n   escreva(\"Meu primeiro algoritmo\")\r\n  }\r\n}<\/pre>\n<p>Refor\u00e7ando novamente a pergunta que foi feita no in\u00edcio: Qual a vers\u00e3o do Portugol \u00e9 a correta? A RESPOSTA \u00c9 <strong>N\u00c3O EXISTE<\/strong>.<\/p>\n<p>Como j\u00e1 foi falado, cada um tem uma ideia do que seria o melhor &#8220;Portugu\u00eas Estruturado&#8221; para resolver problemas computacionais, n\u00e3o importando qual \u00e9 a sua sintaxe e comandos, visto que todos eles (assim como as diferentes linguagens de programa\u00e7\u00e3o) quando corretamente escritos solucionam problemas propostos, e isso \u00e9 o que importa.<\/p>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-4648498281437791\" data-ad-slot=\"5451138398\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<h2>\u00a0Nunca deixe isso acontecer<\/h2>\n<p>\u00c9 muito comum quando estudamos algoritmos (seja na faculdade ou ensino m\u00e9dio t\u00e9cnico) que adotam uma linguagem em Portugol que utiliza uma sintaxe &#8220;X&#8221; ser considerada errada por outra pessoa (seja um colega ou at\u00e9 mesmo professor) que utiliza o Portugol que segue uma sintaxe &#8220;Y&#8221; (confesso que isso j\u00e1 aconteceu comigo h\u00e1 muito tempo atr\u00e1s).<\/p>\n<p>Ent\u00e3o n\u00e3o deixe ningu\u00e9m falar para voc\u00ea que a sintaxe do Portugol &#8220;Y&#8221; \u00e9 a correta e a vers\u00e3o &#8220;X&#8221; que voc\u00ea aprendeu \u00e9 a errada (nada verdade todas s\u00e3o corretas e tem formas diferentes de chegar na mesma solu\u00e7\u00e3o).<\/p>\n<p><strong>Lembre-se:<\/strong> N\u00e3o importa qual linguagem ou sintaxe que voc\u00ea utiliza para construir seu algoritmo, o importante \u00e9 que atrav\u00e9s dele voc\u00ea resolva e solucione problemas computacionais. <strong>PONTO FINAL<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>Bom pessoal, por hoje \u00e9 s\u00f3&#8230;<\/p>\n<p>Espero que esse artigo possa esclarecer poss\u00edveis d\u00favidas quanto a diferentes vers\u00f5es do Portugu\u00eas Estruturado para resolver problemas.<\/p>\n<p>Um forte abra\u00e7o&#8230;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal. Venho hoje atrav\u00e9s deste POST abordar sobre um t\u00f3pico muito importante e , provavelmente, voc\u00ea j\u00e1 esteve um pouco &#8220;confuso&#8221; quanto a essa situa\u00e7\u00e3o: Qual \u00e9 o Algoritmo&hellip;<\/p>\n","protected":false},"author":1,"featured_media":223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,4,3],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algoritmo","category-dicas","category-programacao"],"_links":{"self":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":8,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":204,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions\/204"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media\/223"}],"wp:attachment":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}