{"id":25757,"date":"2024-09-10T17:11:38","date_gmt":"2024-09-10T20:11:38","guid":{"rendered":"https:\/\/maurinsoft.com.br\/?p=25757"},"modified":"2024-09-10T17:11:38","modified_gmt":"2024-09-10T20:11:38","slug":"dia-6-logica-de-programacao-e-algoritmos","status":"publish","type":"post","link":"https:\/\/maurinsoft.com.br\/wp\/en\/dia-6-logica-de-programacao-e-algoritmos\/","title":{"rendered":"Dia 6: L\u00f3gica de Programa\u00e7\u00e3o e Algoritmos"},"content":{"rendered":"<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>O que \u00e9 L\u00f3gica de Programa\u00e7\u00e3o?<\/strong><\/h4>\n\n\n\n<p><strong>L\u00f3gica de programa\u00e7\u00e3o<\/strong> \u00e9 o conjunto de regras e princ\u00edpios que orientam a cria\u00e7\u00e3o de solu\u00e7\u00f5es computacionais. Basicamente, \u00e9 como voc\u00ea <strong>organiza seus pensamentos para resolver um problema usando um computador<\/strong>. Antes de escrever c\u00f3digo em uma linguagem de programa\u00e7\u00e3o, voc\u00ea precisa planejar <strong>como o computador vai resolver o problema<\/strong> passo a passo.<\/p>\n\n\n\n<p>A l\u00f3gica de programa\u00e7\u00e3o \u00e9 essencial porque o computador s\u00f3 faz o que voc\u00ea mandar, seguindo as instru\u00e7\u00f5es de maneira rigorosa.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Conceitos B\u00e1sicos da L\u00f3gica de Programa\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1.1. Algoritmo<\/strong><\/h4>\n\n\n\n<p>Um <strong>algoritmo<\/strong> \u00e9 uma <strong>sequ\u00eancia de passos<\/strong> para resolver um problema. Ele pode ser simples, como uma receita de bolo (onde voc\u00ea segue as etapas para obter o resultado), ou mais complexo, como resolver uma equa\u00e7\u00e3o matem\u00e1tica.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exemplo pr\u00e1tico<\/strong>: Para somar dois n\u00fameros em um algoritmo, voc\u00ea seguiria os seguintes passos:\n<ol class=\"wp-block-list\">\n<li>Pedir o primeiro n\u00famero.<\/li>\n\n\n\n<li>Pedir o segundo n\u00famero.<\/li>\n\n\n\n<li>Somar os dois n\u00fameros.<\/li>\n\n\n\n<li>Exibir o resultado.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p>Isso \u00e9 um exemplo de algoritmo simples.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1.2. Vari\u00e1veis<\/strong><\/h4>\n\n\n\n<p>As <strong>vari\u00e1veis<\/strong> s\u00e3o locais na mem\u00f3ria do computador onde voc\u00ea pode armazenar valores que podem mudar durante a execu\u00e7\u00e3o do programa. Cada vari\u00e1vel tem um nome e um tipo (como n\u00fameros inteiros, decimais ou texto).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exemplo pr\u00e1tico<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Vari\u00e1vel <code>a = 5<\/code> (n\u00famero inteiro).<\/li>\n\n\n\n<li>Vari\u00e1vel <code>nome = \"Jo\u00e3o\"<\/code> (texto).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Voc\u00ea usa vari\u00e1veis para armazenar dados temporariamente enquanto o programa \u00e9 executado.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1.3. Tipos de Dados<\/strong><\/h4>\n\n\n\n<p>Os <strong>tipos de dados<\/strong> representam os diferentes tipos de valores que uma vari\u00e1vel pode armazenar. Alguns tipos comuns s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inteiro (int)<\/strong>: N\u00fameros inteiros (ex.: 5, -3, 100).<\/li>\n\n\n\n<li><strong>Ponto flutuante (float)<\/strong>: N\u00fameros com decimais (ex.: 3.14, -2.5).<\/li>\n\n\n\n<li><strong>Texto (string)<\/strong>: Sequ\u00eancias de caracteres (ex.: &#8220;Ol\u00e1&#8221;, &#8220;Maria&#8221;).<\/li>\n<\/ul>\n\n\n\n<p>Cada linguagem de programa\u00e7\u00e3o tem suas formas de declarar e manipular esses tipos de dados.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1.4. Operadores<\/strong><\/h4>\n\n\n\n<p>Os <strong>operadores<\/strong> s\u00e3o s\u00edmbolos que indicam uma opera\u00e7\u00e3o a ser realizada entre vari\u00e1veis ou valores.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Operadores aritm\u00e9ticos<\/strong>: + (soma), &#8211; (subtra\u00e7\u00e3o), * (multiplica\u00e7\u00e3o), \/ (divis\u00e3o).<\/li>\n\n\n\n<li><strong>Operadores de compara\u00e7\u00e3o<\/strong>: == (igual a), != (diferente de), > (maior que), &lt; (menor que).<\/li>\n\n\n\n<li><strong>Exemplo pr\u00e1tico<\/strong>:\n<ul class=\"wp-block-list\">\n<li><code>a = 10 + 5<\/code> (soma 10 e 5, e armazena o resultado em <code>a<\/code>).<\/li>\n\n\n\n<li><code>b = (a > 5)<\/code> (verifica se <code>a<\/code> \u00e9 maior que 5 e armazena <code>True<\/code> ou <code>False<\/code> em <code>b<\/code>).<\/li>\n<\/ul>\n<\/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\"><strong>2. Estruturas de Controle<\/strong><\/h3>\n\n\n\n<p>As <strong>estruturas de controle<\/strong> s\u00e3o usadas para decidir <strong>quais partes do c\u00f3digo ser\u00e3o executadas<\/strong>, dependendo de certas condi\u00e7\u00f5es ou repeti\u00e7\u00f5es.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2.1. Estruturas Condicionais (IF)<\/strong><\/h4>\n\n\n\n<p>A estrutura <strong>if<\/strong> permite que o programa <strong>tome decis\u00f5es<\/strong> com base em condi\u00e7\u00f5es. Se a condi\u00e7\u00e3o for verdadeira, um bloco de c\u00f3digo \u00e9 executado; se for falsa, outro bloco pode ser executado.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exemplo pr\u00e1tico<\/strong>:pythonCopiar c\u00f3digo<code>idade = 18 if idade >= 18: print(\"Voc\u00ea \u00e9 maior de idade.\") else: print(\"Voc\u00ea \u00e9 menor de idade.\")<\/code><\/li>\n<\/ul>\n\n\n\n<p>Nesse exemplo, se a vari\u00e1vel <code>idade<\/code> for maior ou igual a 18, a mensagem &#8220;Voc\u00ea \u00e9 maior de idade&#8221; ser\u00e1 exibida; caso contr\u00e1rio, &#8220;Voc\u00ea \u00e9 menor de idade&#8221; ser\u00e1 exibida.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2.2. Estruturas de Repeti\u00e7\u00e3o (LOOPs)<\/strong><\/h4>\n\n\n\n<p>As estruturas de repeti\u00e7\u00e3o permitem que um conjunto de instru\u00e7\u00f5es seja executado <strong>v\u00e1rias vezes<\/strong>. Isso \u00e9 \u00fatil quando voc\u00ea precisa fazer a mesma coisa v\u00e1rias vezes, como somar n\u00fameros em uma lista.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>While (enquanto)<\/strong>: Executa um bloco de c\u00f3digo enquanto a condi\u00e7\u00e3o for verdadeira.pythonCopiar c\u00f3digo<code>contador = 0 while contador &lt; 5: print(contador) contador += 1<\/code><\/li>\n<\/ul>\n\n\n\n<p>Esse c\u00f3digo imprime os n\u00fameros de 0 a 4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>For (para)<\/strong>: Repete um bloco de c\u00f3digo um n\u00famero espec\u00edfico de vezes.pythonCopiar c\u00f3digo<code>for i in range(5): print(i)<\/code><\/li>\n<\/ul>\n\n\n\n<p>Esse c\u00f3digo tamb\u00e9m imprime os n\u00fameros de 0 a 4, mas usa um <strong>loop for<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Estruturas de Dados B\u00e1sicas<\/strong><\/h3>\n\n\n\n<p>Para manipular grandes quantidades de dados, voc\u00ea precisa usar <strong>estruturas de dados<\/strong>, como <strong>listas<\/strong> e <strong>dicion\u00e1rios<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3.1. Listas<\/strong><\/h4>\n\n\n\n<p>Uma <strong>lista<\/strong> armazena v\u00e1rios valores em uma \u00fanica vari\u00e1vel.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exemplo pr\u00e1tico<\/strong>:pythonCopiar c\u00f3digo<code>lista_numeros = [1, 2, 3, 4, 5] print(lista_numeros[0]) # Imprime o primeiro n\u00famero da lista (1)<\/code><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3.2. Dicion\u00e1rios<\/strong><\/h4>\n\n\n\n<p>Um <strong>dicion\u00e1rio<\/strong> armazena pares de <strong>chave-valor<\/strong>, onde cada chave tem um valor associado.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exemplo pr\u00e1tico<\/strong>:pythonCopiar c\u00f3digo<code>dicionario = {\"nome\": \"Ana\", \"idade\": 25} print(dicionario[\"nome\"]) # Imprime \"Ana\"<\/code><\/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\"><strong>4. Algoritmos: Como Resolver Problemas com L\u00f3gica de Programa\u00e7\u00e3o<\/strong><\/h3>\n\n\n\n<p>Agora que voc\u00ea entende as bases da l\u00f3gica de programa\u00e7\u00e3o, vamos ver <strong>como criar um algoritmo<\/strong> para resolver problemas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Exemplo: Calcular a M\u00e9dia de Tr\u00eas N\u00fameros<\/strong><\/h4>\n\n\n\n<p>Vamos criar um algoritmo simples que pede ao usu\u00e1rio tr\u00eas n\u00fameros e calcula a m\u00e9dia.<\/p>\n\n\n\n<p><strong>Passos do algoritmo<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pe\u00e7a ao usu\u00e1rio o primeiro n\u00famero.<\/li>\n\n\n\n<li>Pe\u00e7a ao usu\u00e1rio o segundo n\u00famero.<\/li>\n\n\n\n<li>Pe\u00e7a ao usu\u00e1rio o terceiro n\u00famero.<\/li>\n\n\n\n<li>Some os tr\u00eas n\u00fameros.<\/li>\n\n\n\n<li>Divida a soma por 3.<\/li>\n\n\n\n<li>Mostre o resultado ao usu\u00e1rio.<\/li>\n<\/ol>\n\n\n\n<p><strong>C\u00f3digo em Python<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pythonCopiar c\u00f3digo<code>numero1 = float(input(\"Digite o primeiro n\u00famero: \"))\nnumero2 = float(input(\"Digite o segundo n\u00famero: \"))\nnumero3 = float(input(\"Digite o terceiro n\u00famero: \"))\n\nmedia = (numero1 + numero2 + numero3) \/ 3\n\nprint(\"A m\u00e9dia dos tr\u00eas n\u00fameros \u00e9:\", media)\n<\/code><\/pre>\n\n\n\n<p>Esse c\u00f3digo segue os passos que descrevemos no algoritmo e calcula a m\u00e9dia dos tr\u00eas n\u00fameros fornecidos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Pr\u00e1tica e Desenvolvimento de Algoritmos<\/strong><\/h3>\n\n\n\n<p>Agora \u00e9 a sua vez! Tente desenvolver pequenos algoritmos que resolvam problemas simples do dia a dia, como calcular a soma de n\u00fameros ou verificar se um n\u00famero \u00e9 par ou \u00edmpar. Quanto mais voc\u00ea pratica, melhor ficar\u00e1 em pensar em <strong>solu\u00e7\u00f5es l\u00f3gicas<\/strong> e organizadas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Exerc\u00edcio para Praticar<\/strong>:<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Crie um algoritmo que receba cinco n\u00fameros e mostre o maior deles.<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Passos<\/strong>:\n<ol class=\"wp-block-list\">\n<li>Pe\u00e7a cinco n\u00fameros ao usu\u00e1rio.<\/li>\n\n\n\n<li>Compare cada n\u00famero para descobrir qual \u00e9 o maior.<\/li>\n\n\n\n<li>Mostre o maior n\u00famero.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Crie um algoritmo que verifique se um n\u00famero \u00e9 par ou \u00edmpar.<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Passos<\/strong>:\n<ol class=\"wp-block-list\">\n<li>Pe\u00e7a um n\u00famero ao usu\u00e1rio.<\/li>\n\n\n\n<li>Use a opera\u00e7\u00e3o de m\u00f3dulo (%) para verificar se o n\u00famero \u00e9 divis\u00edvel por 2.<\/li>\n\n\n\n<li>Mostre se o n\u00famero \u00e9 par ou \u00edmpar.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Resumo Final<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L\u00f3gica de Programa\u00e7\u00e3o<\/strong> \u00e9 como voc\u00ea organiza seus pensamentos para resolver problemas usando um computador.<\/li>\n\n\n\n<li><strong>Algoritmos<\/strong> s\u00e3o sequ\u00eancias de passos que resolvem problemas.<\/li>\n\n\n\n<li><strong>Vari\u00e1veis, operadores, estruturas condicionais e loops<\/strong> s\u00e3o os blocos de constru\u00e7\u00e3o para qualquer algoritmo.<\/li>\n\n\n\n<li>Praticar pequenos problemas e criar algoritmos vai te ajudar a desenvolver habilidades essenciais para resolver problemas mais complexos.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 L\u00f3gica de Programa\u00e7\u00e3o? L\u00f3gica de programa\u00e7\u00e3o \u00e9 o conjunto de regras e princ\u00edpios que orientam a cria\u00e7\u00e3o de solu\u00e7\u00f5es computacionais. Basicamente, \u00e9 como voc\u00ea organiza seus pensamentos para resolver um problema usando um computador. Antes de escrever c\u00f3digo em uma linguagem de programa\u00e7\u00e3o, voc\u00ea precisa planejar como o computador vai resolver o [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-25757","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/25757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/comments?post=25757"}],"version-history":[{"count":1,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/25757\/revisions"}],"predecessor-version":[{"id":25758,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/posts\/25757\/revisions\/25758"}],"wp:attachment":[{"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/media?parent=25757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/categories?post=25757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurinsoft.com.br\/wp\/en\/wp-json\/wp\/v2\/tags?post=25757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}