Prévia do material em texto
<p>Sumário</p><p>Apresentação da disciplina 32</p><p>Introdução 4</p><p>Exercícios Resolvidos 5</p><p>Exercícios Propostos 7</p><p>Lógica de Programação 7</p><p>Proposição 10</p><p>Lógica Booleana 11</p><p>Exercícios Resolvidos 14</p><p>Exercícios Propostos 14</p><p>Diagrama de Bloco 15</p><p>Exercícios Resolvidos 18</p><p>Exercícios Propostos 20</p><p>Expressões Algorítmicas 21</p><p>Constantes e Variáveis 22</p><p>Comando de Atribuição 24</p><p>Estrutura Condicional 26</p><p>Exercícios Resolvidos 29</p><p>Exercícios Propostos 31</p><p>Estrutura de Repetição 32</p><p>Exercícios Resolvidos 37</p><p>Exercícios Propostos 40</p><p>Anexo I 42</p><p>Scratch 42</p><p>Criar Conta na Plataforma 43</p><p>Criar e Compartilhar Produções 46</p><p>Apresentação da disciplina</p><p>Esta disciplina tem como objetivo ensinar a lógica utilizada na construção de</p><p>programas de computadores. Esses programas de computadores são construídos</p><p>por meio de algoritmos, que são o foco da disciplina. O conteúdo ministrado será</p><p>dividido em 3 partes:</p><p>1 Introdução: nesta primeira parte será discutido o conceito de algoritmo, lógica de</p><p>programação e um pouco sobre a lógica booleana. Nela você irá escrever seus</p><p>primeiros algoritmos.</p><p>2 Diagrama de bloco: nesta parte você vai aprender uma forma mais estruturada</p><p>para representar um algoritmo. Essa forma utiliza alguns símbolos que facilitam a</p><p>leitura dos algoritmo.</p><p>3 Expressões algorítmicas: aqui será onde você conhecerá estruturas mais</p><p>complexas para criação de algoritmos, essas estruturas podem ser representadas</p><p>nos diagramas de blocos ou em uma outra representação de algoritmo, que é o</p><p>pseudocódigo.</p><p>Bons estudos!</p><p>Introdução</p><p>A palavra algoritmo pode até</p><p>não ser muito conhecida, mas,</p><p>provavelmente você já executou um</p><p>algoritmo. Este termo, apesar de não</p><p>ser muito utilizado no dia a dia,</p><p>refere-se a algo muito corriqueiro em</p><p>nossas vidas. Todo programa de</p><p>computador é composto de um</p><p>conjunto de algoritmos. Mesmo</p><p>ações como cozinhar um prato</p><p>seguindo uma receita culinária ou</p><p>resolver um problema do seu</p><p>computador utilizando um tutorial</p><p>são exemplos de situações em que</p><p>você utiliza algoritmos.</p><p>De acordo com o dicionário</p><p>Michaelis1</p><p><http://michaelis.uol.com.br/moderno</p><p>-portugues/busca/portugues-</p><p>brasileiro/algoritmo/> um algoritmo é</p><p>um conjunto de regras e operações e procedimentos, definidos e ordenados, usados</p><p>na solução de um problema, ou de classe de problemas, em um número finito de</p><p>etapas. Uma das primeiras formalizações do conceito de algoritmo aconteceu em</p><p>1936, pela Máquina de Turing, de Alan Turing.</p><p>A definição formal de algoritmo que utilizaremos nesta disciplina é a seguinte:</p><p>Uma sequência finita de instruções, que devem ser executadas em um</p><p>intervalo de tempo finito para alcançarem um objetivo.</p><p>Embora muitos algoritmos sejam mais complexos que uma receita culinária, o</p><p>conceito de algoritmo pode ser ilustrado por esse exemplo. Eles podem repetir</p><p>passos ou necessitar de decisões até que a tarefa seja completada. Mesmo que um</p><p>algoritmo seja corretamente executado, ele pode não resolver um problema se for</p><p>feito incorretamente ou se não for apropriado ao problema.</p><p>Algoritmo não é sinônimo de um programa de computador, ele, na verdade,</p><p>representa os passos necessários para realizar uma tarefa. Sua implementação</p><p>pode ser feita por um computador, por outro tipo de máquina ou mesmo por um ser</p><p>humano. Dois algoritmos diferentes podem realizar a mesma tarefa usando um</p><p>conjunto diferente de instruções em mais ou menos tempo.</p><p>Abaixo vemos um exemplo de uma receita de bolo de liquidificador. Repare</p><p>como este exemplo segue as definições de um algoritmo.</p><p>Receita de bolo de liquidificador</p><p>1. Coloque 3 ovos no liquidificador;</p><p>2. Adicione 2 colheres de margarina no liquidificador;</p><p>3. Adicione 1 copo de açúcar no liquidificador;</p><p>4. Bata os ovos, o açúcar e a margarina no liquidificador por 1 minuto;</p><p>5. Adicione 2 xícaras de farinha de trigo;</p><p>6. Adicione 1 e 1/2 xícara de leite;</p><p>7. Adicione 1 colher de fermento em pó;</p><p>8. Bata a farinha, o leite e o fermento em pó com o restante da massa por</p><p>mais 1 minuto no liquidificador;</p><p>9. Unte a forma;</p><p>10. Despeje a massa na forma untada;</p><p>11. Preaqueça o forno por 5 minutos;</p><p>12. Asse em forno médio (180° C) por 20 minutos.</p><p>Ainda sobre a receita de bolo de liquidificador, podemos afirmar:</p><p>● que ela possui 12 instruções, que é uma sequência finita de</p><p>instruções;</p><p>● que ela pode ser executada em um intervalo de tempo finito;</p><p>● se executada corretamente, alcança o objetivo de se fazer um bolo.</p><p>Exercício Resolvido</p><p>1 – Escreva, na forma de um algoritmo, os passos que você utiliza para tomar</p><p>banho.</p><p>Entrar no banheiro;</p><p>Despir;</p><p>Ligar o chuveiro;</p><p>Passar xampu;</p><p>Esfregar o cabelo</p><p>Enxaguar xampu;</p><p>Ensaboar;</p><p>Enxaguar;</p><p>Pegar toalha;</p><p>Secar;</p><p>Vestir roupa limpa;</p><p>Exercícios Propostos</p><p>1. Escreva, na forma de um algoritmo, os passos para trocar uma lâmpada.</p><p>2. Escreva, na forma de um algoritmo, os passos para trocar um pneu furado.</p><p>3. Escreva, na forma de um algoritmo, os passos para calcular a média de dois</p><p>números.</p><p>4. Escreva, na forma de um algoritmo, a receita de seu prato favorito.</p><p>Lógica de programação</p><p>A Lógica de Programação é a técnica de desenvolver algoritmos para atingir</p><p>determinados objetivos. Sendo assim, se você resolveu os exercícios propostos na</p><p>seção anterior, você já está utilizando a lógica para construir algoritmos.</p><p>Todo mamífero é um animal</p><p>Todo cão é um mamífero</p><p>Logo, todo cão é um animal</p><p>Mas a Lógica é utilizada em diversas áreas como, por exemplo, na área da</p><p>Matemática, onde seu objetivo é investigar a veracidade de suas proposições.</p><p>Assim, podemos dizer que a lógica é a arte de bem pensar, é um produto da</p><p>coerência e da racionalidade. Uma de suas preocupações é determinar quais</p><p>operações são válidas ou não, fazendo análises das formas das leis do</p><p>pensamento. Sempre que pensamos, a lógica está presente. Desde as tarefas mais</p><p>simples como por exemplo:</p><p>A gaveta está fechada.</p><p>O papel está dentro da gaveta.</p><p>Logo, preciso abrir a gaveta para pegar o papel.</p><p>Existem muitos jogos que exploram a lógica, assim, vamos indicar alguns</p><p>para deixar vocês bem afiados em problemas de lógica.</p><p>O primeiro é o dos missionários e os canibais, nele você tem que ajudar os</p><p>três missionários e os canibais a atravessarem para a outra margem do rio. Mas os</p><p>canibais comem os missionários, em qualquer uma das margens do rio, quando</p><p>estiverem em maior número que os missionários. O jogo pode ser encontrado no</p><p>seguinte endereço http://www.testesdeqi.com.br/jogos/padres-e-canibais/.</p><p>No site https://rachacuca.com.br/logica/problemas/ você encontra vários</p><p>jogos de lógica, em diversos níveis de dificuldade.</p><p>Aqui fica um desafio para você: resolver o Teste de QI de Einstein, que</p><p>pode ser encontrado no site https://rachacuca.com.br/teste-de-einstein/.</p><p>Proposição</p><p>Willard Van Orman Quine afirma que toda proposição é uma frase, mas</p><p>nem toda frase é uma proposição; e que uma frase é uma proposição apenas</p><p>quando admite um dos dois valores lógicos: verdadeiro ou falso.</p><p>Uma proposição lógica é uma sentença declarativa, seja ela expressa de</p><p>forma afirmativa ou negativa, à qual podemos atribuir um valor lógico verdadeiro ou</p><p>falso. É importante ressaltar que nem toda sentença é uma proposição, uma</p><p>proposição também pode ser expressa por símbolos. Observe as seguintes</p><p>sentenças:</p><p>1. Tenha um bom dia!</p><p>2. Minas Gerais fica no Brasil.</p><p>3. Poços de Caldas fica em Minas Gerais.</p><p>4. Quantas horas são?</p><p>5. Poços de Caldas fica no Pará.</p><p>6. 1+1=2</p><p>7. 5+7=10</p><p>8. Leia atentamente.</p><p>A sentença número 1 não é considerada uma proposição pois não tem um</p><p>valor verdadeiro ou falso. Já a sentença número 2 é uma proposição de valor</p><p>verdadeiro, bem como</p><p>a sentença de número 3. A sentença de número 4 não pode</p><p>receber um valor verdadeiro ou falso, logo não é uma proposição. No entanto a</p><p>sentença de número 5 é uma proposição de valor falso. As sentenças número 6 e 7</p><p>são proposições, mas a de número 6 é verdadeira e a 7 falsa.</p><p>Lógica Booleana</p><p>A lógica booleana, também conhecida por álgebra booleana, foi idealizada</p><p>por George Boole, tendo suas primeiras publicações em 1854. Ela trabalha com</p><p>variáveis que podem assumir dois valores: verdadeiro ou falso. Nela o F representa</p><p>falso e V representa verdadeiro. Em algumas representações computacionais,</p><p>esses valores são mapeados por 0 e 1, onde F=0 e V=1.</p><p>Veremos três operadores utilizados na lógica booleana: E, OU e NÃO. É</p><p>comum encontrar esses operadores sendo usados em inglês: AND, OR e NOT; e</p><p>também existe uma notação em símbolos: ⋀, ⋁ e ⌐.</p><p>A operação lógica E, que pode ser representada pelo símbolo ⋀, verifica se</p><p>as duas variáveis de entrada são verdadeiras. A saída da operação E é verdadeira</p><p>apenas quando ambas entradas são verdadeiras. Abaixo temos a tabela verdade da</p><p>operação E.</p><p>⋀ 0 1</p><p>0 0 0</p><p>1 0 1</p><p>A operação lógica OU, que pode ser representada pelo símbolo ⋁, verifica se</p><p>ao menos uma das duas variáveis de entrada são verdadeiras. A saída da operação</p><p>OU é verdadeira se, no mínimo, uma das entradas for verdadeira. Abaixo temos a</p><p>tabela verdade da operação OU.</p><p>⋁ 0 1</p><p>0 0 1</p><p>1 1 1</p><p>A operação lógica NÃO, que pode ser representada pelo símbolo ⌐, inverte o</p><p>valor da entrada. Diferente das outras duas operações, o NÃO tem apenas uma</p><p>entrada e uma saída. A saída da operação NÃO é o inverso da sua entrada. Abaixo</p><p>temos a tabela verdade da operação NÃO.</p><p>⌐ 0 1</p><p>1 0</p><p>Nos operadores matemáticos como +, -, * e / existe a precedência, as</p><p>operações de multiplicação e divisão são resolvidas antes das operações de soma e</p><p>subtração. Os operadores booleanos também têm uma precedência definida, as</p><p>operações NÃO são executadas primeiro, seguidas pelas operações E, e depois as</p><p>operações OU. Como na matemática, podemos utilizar os parênteses ( ) para</p><p>modificar essa ordem.</p><p>Durante a escrita de algoritmos, também iremos nos deparar com outros</p><p>operadores, os operadores relacionais. A notação escolhida para esses operadores</p><p>durante esta disciplina é um pouco diferente da notação padrão, comumente</p><p>utilizada na Matemática. Futuramente, quando você começar escrever programas</p><p>em linguagens de programação como C ou Java, verá que essa é a notação</p><p>utilizada nessas linguagens. A lista dos operadores relacionais que utilizaremos é:</p><p>= Igual</p><p>> Maior</p><p>< Menor</p><p>>= Maior ou igual</p><p><= Menor ou igual</p><p>! = Diferente</p><p>Esses operadores podem ser agrupados de forma a representarem</p><p>expressões booleanas, essas expressões têm um resultado V ou F, de acordo com</p><p>os valores de suas variáveis. Alguns exemplos de expressões:</p><p>1. idade <= 18</p><p>2. ano ! = 2017</p><p>3. valor > 200</p><p>4. idade >= 65 OU tempoServico >= 35</p><p>5. nota >= 60 E frequencia >= 75</p><p>6. valor > 50 OU peso < 2</p><p>Podemos ler estas expressões da seguinte forma:</p><p>1. Idade menor ou igual a 18 anos.</p><p>2. Ano diferente de 2017.</p><p>3. Valor maior que R$200.</p><p>4. Idade maior ou igual a 65 anos ou tempo de serviço maior ou igual a 35 anos.</p><p>5. Nota maior que 60 e frequência maior que 75%.</p><p>6. Valor maior que R$50 e peso menor que 2kg.</p><p>Essas expressões podem ser utilizadas em algoritmos para verificar se uma</p><p>pessoa é menor de idade, se o ano é diferente do ano atual, se o valor de um</p><p>produto é maior de 200 reais, se um funcionário já está apto para aposentar, se a</p><p>nota e a frequência de um aluno é suficiente para que ele seja aprovado e se o valor</p><p>e o peso de um pedido se encaixa na promoção de frete grátis.</p><p>Exercícios Resolvidos</p><p>1. Escreva um algoritmo no qual você digita o ano de nascimento e ele te</p><p>informa quantos anos você tem ou vai fazer neste ano.</p><p>Digite seu ano de nascimento.</p><p>Calcule 2017 - o ano de nascimento digitado.</p><p>Escreva na tela do computador o valor calculado.</p><p>2. Qual o valor esperado nas seguintes operações:</p><p>a. 18 < 25</p><p>b. 18 < 18</p><p>c. 27 >= 27</p><p>d. NÃO V E F</p><p>e. NÃO (V E F)</p><p>f. V OU F</p><p>a. Verdadeiro</p><p>b. Falso</p><p>c. Verdadeiro</p><p>d. Falso</p><p>e. Verdadeiro</p><p>f. Verdadeiro</p><p>Exercícios Propostos</p><p>1. Escreva um algoritmo que receba 4 números inteiros, calcule e mostre a</p><p>soma desses números.</p><p>2. Faça um algoritmo que receba 3 notas, calcule e mostre a média aritmética</p><p>entre elas.</p><p>3. Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o</p><p>novo salário, sabendo-se que este sofreu um aumento de 25%.</p><p>4. Faça um algoritmo que calcule e mostre a área de um triângulo. Sabe-se que:</p><p>Área = (base * altura) /2</p><p>5. Faça um algoritmo que calcule e mostre a área de um círculo. Sabe-se que:</p><p>A = 𝛑 * R2 e 𝛑 = 3,1415</p><p>6. Faça um algoritmo que receba o preço de um produto, calcule e mostre o</p><p>novo preço, sabendo-se que este sofreu um desconto de 10%.</p><p>Diagrama de Bloco</p><p>Existem diversas formas para se representar um algoritmo, os tipos mais</p><p>utilizados de algoritmos são:</p><p>● Descrição Narrativa: o algoritmo é escrito em linguagem natural (língua</p><p>portuguesa).</p><p>● Fluxograma ou Diagrama de Blocos: o algoritmo é escrito utilizando símbolos</p><p>gráficos predefinidos.</p><p>● Pseudocódigo ou Portugol: o algoritmo é escrito utilizando regras</p><p>predefinidas. Neste caso, a passagem do algoritmo para a linguagem de</p><p>programação é quase imediata.</p><p>Até o presente momento, estamos utilizando apenas a descrição narrativa de</p><p>algoritmos, porém, essa forma tem uma desvantagem, ela é ambígua se tomamos</p><p>como base a definição de algoritmo “Uma sequência finita de instruções, que devem</p><p>ser executadas em um intervalo de tempo finito para alcançarem um objetivo”. Ao se</p><p>utilizar a descrição narrativa, podemos interpretar as instruções de forma</p><p>equivocada, não alcançando assim o objetivo do algoritmo.</p><p>Nesta seção iremos estudar como fazemos algoritmos utilizando diagrama de</p><p>blocos, conhecidos também como fluxogramas. Posteriormente, na seção</p><p>expressões algorítmicas, iremos aprender um pouco mais sobre o pseudocódigo.</p><p>O diagrama de blocos utiliza uma sequência de símbolos com significado</p><p>bem definido, portanto, sua principal função é facilitar a visualização dos passos de</p><p>um processamento, evitando que as instruções sejam interpretadas de forma</p><p>equivocada.</p><p>Nome Símbolo Função</p><p>Terminal</p><p>Indica o início e o fim do</p><p>algoritmo.</p><p>Transição</p><p>Indica o sentido do fluxo</p><p>de dados.</p><p>Processamento</p><p>Utilizado para indicar</p><p>cálculos e atribuições de</p><p>valores.</p><p>Entrada de Dados</p><p>Indica a entrada de dados</p><p>através do teclado.</p><p>Exibir</p><p>Mostra informações ou</p><p>resultados.</p><p>Decisão</p><p>Indica que uma tomada</p><p>de decisão será feita e</p><p>que o fluxo de transição</p><p>poderá ser alterado.</p><p>Repetição</p><p>Utilizado para indicar que</p><p>um conjunto de blocos</p><p>poderá ser executado</p><p>repetidamente.</p><p>Os blocos de decisão e repetição serão discutidos com mais detalhes na</p><p>seção expressões algorítmicas. Abaixo apresentamos alguns exemplos de</p><p>diagramas de bloco.</p><p> Diagrama de bloco com algoritmo para chupar uma bala.</p><p> Diagrama de bloco com algoritmo que soma dois números.</p><p>Os diagramas acima foram feitos na ferramenta “lucidchart” e estão</p><p>disponíveis para visualização no seguinte endereço</p><p>https://www.lucidchart.com/invitations/accept/669e6e7d-6b9b-4bd6-a09c-</p><p>f837786edcf1.</p><p>Exercícios Resolvidos</p><p>1. Faça um diagrama de blocos com algoritmo com as atividades que você faz</p><p>logo que acorda pela manhã.</p><p>2. Faça um diagrama de blocos para calcular a média de 4 notas.</p><p>Exercícios Propostos</p><p>1. Escreva, na forma de um fluxograma, um algoritmo com os passos que você</p><p>utiliza para tomar banho.</p><p>2. Escreva, na forma de um fluxograma, um algoritmo com os passos para</p><p>trocar uma lâmpada.</p><p>3. Escreva, na forma de um fluxograma, um algoritmo com os passos para</p><p>trocar um pneu furado.</p><p>4. Escreva, na forma de um fluxograma, um algoritmo que receba 4 números</p><p>inteiros, calcule e mostre a soma desses números.</p><p>5. Escreva, na forma de um fluxograma, um algoritmo que receba o salário de</p><p>um funcionário, calcule e mostre o novo salário, sabendo-se que este sofreu</p><p>um aumento de 25%.</p><p>6. Escreva, na forma de um fluxograma, um algoritmo que calcule e mostre a</p><p>área de um triângulo. Sabe-se que: Área = (base * altura)/2.</p><p>7. Escreva, na forma de um fluxograma, um algoritmo que calcule e mostre a</p><p>área de um círculo. Sabe-se que: A = 𝛑 * R2 e 𝛑 = 3,1415</p><p>8. Escreva, na forma de um fluxograma, um algoritmo que receba o preço de</p><p>um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um</p><p>desconto de 10%.</p><p>Expressões Algorítmicas</p><p>Nesta seção iremos escrever os algoritmos na forma de fluxograma, como</p><p>visto anteriormente, e também iremos utilizar uma nova notação: o pseudocódigo.</p><p>Para escrever o pseudocódigo devemos seguir algumas regras:</p><p>● Todo algoritmo começa com a palavra “início”;</p><p>● Todo algoritmo termina com a palavra “fim”;</p><p>● Toda instrução termina com “ponto e vírgula”;</p><p>● Todo texto que segue os caracteres “//” não será interpretado como</p><p>instruções, esse texto é conhecido como comentário;</p><p>● Não serão utilizados caracteres especiais como ç, ã, é, entre outros;</p><p>● O comando “leia” espera que o usuário digite algo no teclado;</p><p>● O comando “escreva” imprime o conteúdo entregue a ele na tela;</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>início</p><p>escreva (“Esse é meu primeiro algoritmo em pseudocódigo!”);</p><p>fim</p><p>No exemplo acima temos um programa que escreve “Esse é meu primeiro</p><p>algoritmo em pseudocódigo!” na tela do computador.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>início</p><p>inteiro número;</p><p>//esse é outro exemplo em pseudocódigo</p><p>leia (número);</p><p>escreva (número);</p><p>fim</p><p>Nesse exemplo temos um programa que lê um número do teclado e escreve</p><p>o número digitado na tela.</p><p>Constantes e Variáveis</p><p>Uma variável é um dado armazenado em computador. Esse dado é chamado</p><p>de variável porque o valor contido nesse espaço de memória do computador varia</p><p>com o tempo, não é um valor fixo. Como bem sabemos, nosso computador utiliza</p><p>memória para armazenar dados de forma temporal e essa memória é utilizada</p><p>também pelos nossos programas para armazenar essas variáveis. Quando</p><p>declaramos uma variável em um programa, estamos separando um espaço na</p><p>memória para armazenar o valor dessa variável durante execução do programa.</p><p>Vamos transcrever esse fluxograma que soma dois números em um</p><p>programa utilizando pseudocódigo.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p><p>14</p><p>início</p><p>inteiro número1;</p><p>inteiro número2;</p><p>inteiro soma;</p><p>leia (número1);</p><p>leia (número2);</p><p>soma <- número1 + número2;</p><p>escreva (soma);</p><p>fim</p><p>Desta forma declaramos 3 variáveis neste programa, são elas: número1,</p><p>número2 e soma. Elas são do tipo inteiro e são declaradas pelos comandos das</p><p>linhas 3, 4 e 5. O comando da linha 7 e 8 faz com que os número1 e número2 sejam</p><p>lidos do teclado e armazenados na memória do computador. O comando escreva,</p><p>da linha 12, faz com que o valor que se encontra dentro dos parênteses seja</p><p>impresso na tela.</p><p>Os valores dos número1 e número2 lidos do teclado ficarão armazenados</p><p>nas variáveis enquanto nenhum outro valor for digitado para eles, ou enquanto o</p><p>programa estiver em execução. Isso significa que depois que o programa terminar</p><p>de executar esses valores deixarão de existir, assim como as variáveis, e o espaço</p><p>de memória que estava reservado será também liberado para que outros programas</p><p>possam usá-lo.</p><p>Uma constante pode ser considerada uma variável que não tem seu valor</p><p>alterado. Uma constante também reserva um espaço de memória para o tipo de</p><p>dado que será manipulado. Entretanto, uma constante armazenará um valor único,</p><p>um valor que não mudará durante o programa.</p><p>Um exemplo legal do uso de uma constante é o uso do número 𝝅, vamos</p><p>supor que você precise trabalhar com esse número calculando a área de dois</p><p>círculos. Você pode declará-lo como uma constante e utilizá-lo diversas vezes sem</p><p>medo de que seu valor seja alterado durante a execução do seu programa.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>início</p><p>real raio1;</p><p>real raio2;</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p><p>14</p><p>15</p><p>16</p><p>17</p><p>18</p><p>real area1;</p><p>real area2;</p><p>constante real pi <- 3.14159265359;</p><p>leia (raio1);</p><p>leia (raio2);</p><p>area1 <- pi * raio1 * raio1;</p><p>area2 <- pi * raio2 * raio2;</p><p>escreva (area1);</p><p>escreva (area2);</p><p>fim</p><p>Uma constante chamada pi foi declarada no início do algoritmo, na linha 7,</p><p>com o valor 3.14159265359 e usada para realizar operações de cálculo de área.</p><p>Esse valor de pi não pode ser alterado durante o programa por estar definido como</p><p>sendo uma constante.</p><p>Lembre-se que constantes e variáveis são espaços de memória reservados</p><p>para o tipo de dados que você deseja trabalhar. Constantes são valores fixos que</p><p>você utilizará em seu programa e variáveis são valores que podem variar durante o</p><p>tempo de execução do seu programa.</p><p>Sempre que formos declarar as variáveis em nossos programas, devemos</p><p>escolher identificadores relevantes. Um identificador é o nome que damos às</p><p>nossas constantes e variáveis. Uma dica boa para vocês é que procurem dar nomes</p><p>de variáveis o mais próximo possível do problema que estão resolvendo. Desse</p><p>modo fica muito mais fácil manipular e, principalmente, dar manutenção em um</p><p>programa assim do que em um programa que você não sabe o que os nomes das</p><p>variáveis significam.</p><p>Comando de Atribuição</p><p>Quando uma variável é declarada, ela não contém nada, caso ela contenha,</p><p>normalmente é o que chamamos de lixo de memória. A partir da atribuição, a</p><p>variável passa a armazenar valor atribuído a ela. Depois de ter um valor atribuído, a</p><p>variável pode ser utilizada em qualquer expressão, inclusive como parte de</p><p>expressões em atribuições para outras variáveis.</p><p>Assim, a cada variável ou constante criada, temos que atribuir um valor</p><p>conforme a sequência lógica do algoritmo. Quando fizermos um cálculo, por</p><p>exemplo, o resultado deve ser atribuído a uma variável. Para isso adotaremos como</p><p>sinal de atribuição uma seta <- para a esquerda, indicando para onde vai ficar</p><p>armazenado o resultado dos cálculos. Sempre que nos referirmos a uma variável,</p><p>estamos nos referindo ao seu conteúdo. Assim, podemos fazer cálculos usando os</p><p>nomes das variáveis.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>início</p><p>inteiro x;</p><p>x <- 100;</p><p>escreva (x);</p><p>x<- x + 1;</p><p>escreva (x);</p><p>fim</p><p>No pseudocódigo acima temos um exemplo simples de atribuição na linha 4.</p><p>Se formos acompanhar a variável x, ela é declarada na linha 3, e o valor 100 é</p><p>atribuído a ela na linha 4. A linha 6 é um pouco mais complexa para ser</p><p>interpretada, devemos tomar um pouco de cuidado para conseguirmos o resultado</p><p>correto. O valor inicial de x é de 100 e foi atribuído na linha 4, ao executarmos a</p><p>linha 6 temos o valor 1 adicionado ao valor de x e armazenado em x. Assim temos</p><p>que, à partir da linha 6, x passa a valer 101. Logo, ao executarmos completamente o</p><p>algoritmo representado acima teremos dois números impressos na tela do</p><p>computador 100 e 101.</p><p>Estrutura Condicional</p><p>Comandos de Controle de Programa são comandos que você pode usar em</p><p>seus programas para direcionar o fluxo de execução. Um comando de controle de</p><p>programa é, então, um comando que desvia de uma parte do programa, executa</p><p>determinada ação, e volta para o fluxo normal de execução. O que acontece é que o</p><p>programa principal está sendo executado e então, ao chegar em uma linha que</p><p>contém um comando de controle, o controle do programa passa a não ser mais do</p><p>programa principal, mas sim desse bloco de código que está sendo executado.</p><p>O primeiro comando de controle que iremos conhecer é o de decisão,</p><p>conhecido como desvio condicional. O que estudaremos nesta seção é chamado de</p><p>SE, em português, também conhecido como IF, em inglês. O comando de desvio</p><p>condicional faz exatamente o que o próprio nome diz, desvia o programa pela</p><p>avaliação de uma condição. Além do comando SE, temos o comando ESCOLHA</p><p>(SWITCH) e o SE SENÃO (IF ELSE).</p><p>O comando SE (IF) deve ser utilizado sempre quando precisamos analisar</p><p>uma situação e decidir o que vamos fazer em seguida. Ele funciona mais ou menos</p><p>assim: se tal condição for verdadeira, faça tal coisa. Já o comando SE SENÃO (IF</p><p>ELSE) funciona com uma segunda cláusula: Se tal condição for verdadeira, faça tal</p><p>coisa, caso contrário, faça outra coisa.</p><p>No fluxograma, o comando de controle é representado por um losango. Onde</p><p>o fluxo é dividido em dois novos fluxos, a direção que o algoritmo vai seguir</p><p>depende do resultado da expressão que se encontra dentro do losango de decisão.</p><p>No fluxograma acima temos um exemplo clássico do comando SE SENÃO.</p><p>Nesse exemplo são solicitadas duas notas, é calculada a média dessas notas e a</p><p>situação do estudante é apresentada como “reprovado” caso a média seja menor</p><p>que 6 e “aprovado” se a média for maior ou igual a 6. O pseudocódigo do algoritmo</p><p>fica da seguinte forma:</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>1</p><p>0</p><p>1</p><p>1</p><p>1</p><p>início</p><p>inteiro nota1;</p><p>inteiro nota2;</p><p>inteiro media;</p><p>leia (nota1);</p><p>leia (nota2);</p><p>media <- (nota1+ nota2) / 2;</p><p>SE media >= 6 ENTÃO</p><p>escreva (“Você foi aprovado!”);</p><p>SENÃO</p><p>2</p><p>1</p><p>3</p><p>1</p><p>4</p><p>1</p><p>5</p><p>1</p><p>6</p><p>1</p><p>7</p><p>1</p><p>8</p><p>escreva (“Você foi reprovado!”);</p><p>FIMSE</p><p>Fim</p><p>O pseudocódigo apresenta como novidade o comando SE SENÃO, a sintaxe</p><p>dele está melhor representada abaixo. O código entre <> deve ser substituído no</p><p>código final. Utilizamos letras maiúsculas apenas para enfatizar a sintaxe, o uso de</p><p>letras minúsculas não muda a forma com que o código abaixo é entendido. A</p><p>sequência de comandos 1 é executada caso a condição seja verdadeira e</p><p>sequência de comandos 2 é executada apenas se a condição for falsa.</p><p>SE <condição> ENTÃO</p><p><sequência de comandos 1></p><p>SENÃO</p><p><sequência de comandos 2></p><p>FIMSE</p><p>Caso um fluxo de ações não seja necessário quando a condição é falsa,</p><p>pode-se usar o comando SE de forma mais simples, sem a cláusula SENÃO,</p><p>conforme exemplificado abaixo.</p><p>SE <condição> ENTÃO</p><p><sequência de comandos></p><p>FIMSE</p><p>Exercícios Resolvidos</p><p>1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia as</p><p>quatro notas bimestrais de um aluno e informe se ele foi aprovado, está em</p><p>recuperação ou foi reprovado. As condições são as seguintes:</p><p>➢ para ser aprovado, a média deve ser maior ou igual a 6;</p><p>➢ para estar em recuperação, a média deve ser menor que 6 e maior ou</p><p>igual a 4;</p><p>➢ para ser reprovado, a média deve ser menor que 4.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p><p>14</p><p>15</p><p>início</p><p>inteiro nota1;</p><p>inteiro nota2;</p><p>inteiro nota3;</p><p>inteiro nota4;</p><p>inteiro media;</p><p>leia (nota1);</p><p>leia (nota2);</p><p>leia (nota3);</p><p>leia (nota4);</p><p>media <- (nota1+ nota2 + nota3 + nota4) / 4;</p><p>16</p><p>17</p><p>18</p><p>19</p><p>20</p><p>21</p><p>22</p><p>23</p><p>24</p><p>25</p><p>26</p><p>SE media >= 6 ENTÃO</p><p>escreva (“Você foi aprovado!”);</p><p>SENÃO</p><p>SE media >= 4 ENTÃO</p><p>escreva (“Você está em recuperação!”);</p><p>SENÃO</p><p>escreva (“Você foi reprovado!”);</p><p>FIMSE</p><p>FIMSE</p><p>Fim</p><p>Exercícios Propostos</p><p>1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que verifique</p><p>se uma pessoa pode ou não votar.</p><p>2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia o</p><p>peso de uma pessoa, a altura, e calcule o índice de massa corpórea(IMC).</p><p>Mostre o resultado na tela. Fórmula para calcular o IMC: peso dividido por</p><p>altura ao quadrado. O algoritmo deve informar se a pessoa está com o peso</p><p>ideal, com sobrepeso ou abaixo do peso ideal para sua altura.</p><p>3. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que leia as</p><p>quatro notas bimestrais de um aluno, sua porcentagem de presença e</p><p>informe se ele foi aprovado, está em recuperação ou foi reprovado. As</p><p>condições são as seguintes:</p><p>➢ para ser aprovado, a média deve ser maior ou igual a 6 e a frequência</p><p>maior ou igual a 75%;</p><p>➢ para estar em recuperação, a média deve ser menor que 6, maior ou</p><p>igual a 4 e a presença maior que 75%;</p><p>➢ para ser reprovado, a média deve ser menor que 4 ou a presença ser</p><p>menor que 75%.</p><p>Estrutura de Repetição</p><p>Seguindo com os comandos de controle que iremos conhecer, teremos as</p><p>estruturas de repetição. Essas estruturas são responsáveis pela iteração do fluxo do</p><p>código. A palavra 1iteração é bastante utilizada dentro da informática e significa</p><p>repetição. Essas estruturas apresentam um laço, também chamado loop, onde no</p><p>fluxo de execução do código retorna para a estrutura de tomada de decisão.</p><p>Existem diferentes estruturas de repetição, nesta apostila iremos conhecer duas</p><p>delas:</p><p>● o PARA, conhecido como FOR, em inglês;</p><p>● o ENQUANTO, conhecido como WHILE;</p><p>O comando PARA é uma opção a ser utilizada sempre que você precisar</p><p>repetir um bloco de comandos. Mas cuidado, todo laço de estruturas de repetição</p><p>deve ser repetido um número finito de vezes, isto é, a repetição deve ter um fim,</p><p>caso contrário, o seu programa não chegará a um resultado. Na programação,</p><p>quando o programa entra nessa repetição infinita é dado o nome de loop infinito.</p><p>Resumindo, se não tiver um fim definido, aqueles comandos ficarão executando</p><p>eternamente, o programa ficará travado sem apresentar nenhum resultado, na</p><p>maioria das vezes, o loop infinito ocorre por um erro de lógica.</p><p>Por isso deve haver uma forma de controlar e contar quantas vezes o PARA</p><p>foi executado, isto é, precisamos de um contador que incrementa um valor chamado</p><p>de contador. No pseudocódigo apresentado, esse incrementador fica implícito, mas</p><p>em outras linguagens de programação esse contador é implementado de forma</p><p>explícita.</p><p>No fluxograma, a estrutura de repetição é representada por um hexágono.</p><p>Onde o fluxo é dividido em dois novos fluxos, a direção que o algoritmo vai seguir</p><p>depende do resultado da expressão que se encontra dentro do hexágono de</p><p>decisão. Uma das direções é um laço que retorna para o próprio hexágono, o outro</p><p>fluxo possível é fluxo sequencial do algoritmo.</p><p>Colocar como glossário na lateral da página:</p><p>1</p><p>Iteração - na programação, é o processo de repetição de uma ou mais ações.</p><p>A estrutura PARA repete a execução do bloco em um número definitivo de</p><p>vezes, pois ela possui limites fixos. Devemos utilizar essa estrutura quando se sabe</p><p>de antemão o número de vezes que o laço deverá ser repetido. Abaixo temos um</p><p>exemplo em um fluxograma.</p><p>Esse fluxograma utiliza a estrutura PARA com a finalidade de imprimir os</p><p>números 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10 na tela do computador. Ele utiliza a variável i</p><p>para controlar a quantidade de repetições do laço, em que o valor de i é impresso</p><p>na tela. Normalmente, a variável utilizada na estrutura de repetição tem o nome i,</p><p>abreviação de iterador. O pseudocódigo desse algoritmo que imprime de 1 até 10 é</p><p>o seguinte:</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>início</p><p>inteiro i;</p><p>PARA i DE 1 ATÉ 10 FAÇA</p><p>escreva (i);</p><p>FIMPARA</p><p>fim</p><p>A sintaxe básica do comando PARA, em pseudocódigo, é a seguinte:</p><p>PARA <variável> DE <valor inicial> ATÉ <valor final> FAÇA</p><p><sequência de comandos></p><p>FIMPARA</p><p>Lembrando que as palavras-chave estão em letra maiúscula apenas para</p><p>chamar mais atenção, ao escrever o pseudocódigo ela pode ser escrita com letras</p><p>minúsculas também.</p><p>Existe uma segunda forma para se escrever o comando PARA, nesta outra</p><p>forma definimos o PASSO, que é o valor em</p><p>que a variável i será incrementada, a</p><p>sintaxe do comando PARA é a seguinte.</p><p>PARA <variável> DE <valor inicial> ATÉ <valor final> PASSO <incremento> FAÇA</p><p><sequência de comandos></p><p>FIMPARA</p><p>No pseudocódigo abaixo temos a representação de um algoritmo que</p><p>imprime os números ímpares de 1 a 10. Assim ele irá imprimir os números 1, 3, 5, 7</p><p>e 9.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>início</p><p>inteiro i;</p><p>PARA i DE 1 ATÉ 10 PASSO 2 FAÇA</p><p>6</p><p>7</p><p>8</p><p>9</p><p>escreva (i);</p><p>FIMPARA</p><p>fim</p><p>Outra forma de iterar em um algoritmo é a utilização da estrutura</p><p>ENQUANTO. Apesar dessa estrutura de repetição utilizar o símbolo de decisão no</p><p>fluxograma, seu comportamento é bem diferente do comando SE, pois ele possui</p><p>um laço em que o programa repete o fluxo de execução por uma quantidade de</p><p>vezes definida pela lógica na programação. Assim como no PARA, é muito</p><p>importante verificar a lógica utilizada neste comando, evitando que nosso algoritmo</p><p>entre em loop infinito.</p><p>No comando ENQUANTO existe uma condição a ser analisada, essa</p><p>condição é responsável pela repetição do laço ou pelo retorno ao fluxo principal do</p><p>programa. O laço será repetido caso a condição seja V, caso a resposta da</p><p>condição seja F, ele sai do laço de repetição e retorna para o programa principal. A</p><p>condição é responsável pela quantidade de vezes que o laço de instruções será</p><p>executado, assim, enquanto a condição for verdadeira, os comandos dentro do laço</p><p>serão repetidos. A partir do momento que a condição se tornar falsa, ele sairá do</p><p>while. A seguir temos o exemplo de um fluxograma que imprime os números de 1 a</p><p>10 na tela do computador.</p><p>O pseudocódigo que executa esse fluxograma seria o seguinte:</p><p>1</p><p>2</p><p>início</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>inteiro i;</p><p>i <- 1;</p><p>ENQUANTO i <= 10 FAÇA</p><p>escreva (i);</p><p>i <- i + 1;</p><p>FIMENQUANTO</p><p>fim</p><p>A sintaxe do comando ENQUANTO, em pseudocódigo, é a seguinte:</p><p>ENQUANTO <condição> FAÇA</p><p><sequência de comandos></p><p>FIMENQUANTO</p><p>Seguindo os exemplos anteriores, para imprimir os números ímpares</p><p>utilizando a estrutura do enquanto precisamos apenas controlar o incremento do i de</p><p>forma diferente.</p><p>É importante ressaltar que no uso do PARA o incremento é feito de forma</p><p>automática, no uso do ENQUANTO é de responsabilidade de quem cria o algoritmo</p><p>incrementar o valor do i para que o algoritmo seja executado de forma correta. A</p><p>seguir temos o pseudocódigo que utiliza o ENQUANTO para imprimir os números 1,</p><p>3, 5, 7 e 9.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>início</p><p>inteiro i;</p><p>i <- 1;</p><p>ENQUANTO i <= 10 FAÇA</p><p>escreva (i);</p><p>i <- i + 2;</p><p>FIMENQUANTO</p><p>fim</p><p>Exercícios Resolvidos</p><p>1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre</p><p>todos os números pares entre 0 a 100 utilizando o comando PARA.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>início</p><p>inteiro i;</p><p>PARA i DE 0 ATÉ 100 PASSO 2 FAÇA</p><p>escreva (i);</p><p>FIMPARA</p><p>fim</p><p>2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre</p><p>todos os números pares entre 1 a 100 utilizando o comando ENQUANTO.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>início</p><p>inteiro i;</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>i <- 2;</p><p>ENQUANTO i <= 100 FAÇA</p><p>escreva (i);</p><p>i <- i + 2;</p><p>FIMENQUANTO</p><p>fim</p><p>Exercícios Propostos</p><p>1. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre</p><p>todos os números pares entre 1 a 100.</p><p>2. Faça um fluxograma e escreva o pseudocódigo de um algoritmo que mostre</p><p>todos os números múltiplos de 5 entre 1 a 1000.</p><p>3. Escreva um fluxograma que imprima na tela os números de 0 até um número</p><p>digitado pelo usuário.</p><p>Parabéns!</p><p>Agora que você terminou nossa disciplina, você pode treinar mais suas</p><p>habilidades de construir algoritmos na internet. No Anexo I é apresentado o Scratch,</p><p>uma ferramenta visual para a programação que permite a criação de jogos e</p><p>animações, junto você encontra um grupo de pessoas compartilhando suas</p><p>criações. Disponível no endereço https://scratch.mit.edu/.</p><p>Caso você queira iniciar a produção de programas de computadores</p><p>escrevendo código temos a linguagem VisualG. Ela é baseada no portugol, que é</p><p>uma forma estruturada do português muito similar ao pseudocódigo, visto nas</p><p>seções anteriores. Com o VisualG você pode escrever programas seguindo a</p><p>mesma lógica de programação utilizada em linguagens bem poderosas e modernas,</p><p>com a vantagem de escrever o código em português. Para quem quer aprender</p><p>mais sobre VisualG, indico o site http://visualg3.com.br/ e o site</p><p>http://www.apoioinformatica.inf.br/produtos/visualg/linguagem.</p><p>Anexo I - Scratch</p><p>O Scratch é uma linguagem de programação visual de uso livre e gratuito</p><p>desenvolvida pela universidade americana MIT (Massachusetts Institute of</p><p>Technology). Por não exigir conhecimento prévio de outras linguagens de</p><p>programação, ela é indicada para crianças e iniciantes na programação. Com ela</p><p>pode-se criar histórias animadas, jogos e outras aplicações interativas. O acesso à</p><p>plataforma do Scratch pode ser feito no seguinte endereço: https://scratch.mit.edu/.</p><p>Página inicial do Scratch</p><p>A linguagem utiliza uma sintaxe comum a muitas linguagens de</p><p>programação, por isso é uma ótima forma de se aprender a programar. Cada bloco</p><p>da linguagem contém um comando em separado, que pode ser agrupado seguindo</p><p>as regras da linguagem.</p><p>Junto com a plataforma do Scratch existe uma comunidade voltada para a</p><p>aprendizagem de programação por meio de projetos compartilhados. Os fóruns de</p><p>discussão do Scratch em português podem ser encontrados no seguinte endereço</p><p>https://scratch.mit.edu/discuss/20/. Além do fórum, alguns tutoriais estão disponíveis</p><p>no endereço https://scratch.mit.edu/tips.</p><p>Abaixo temos o exemplo de um código que faz com que o ator do programa,</p><p>que por padrão é um gato, dê 10 passos, diga “Olá!” e dê um miado toda vez que a</p><p>tecla espaço for pressionada.</p><p>Exemplo de código produzido no Scratch</p><p>Criar conta na plataforma</p><p>Aqui temos um tutorial passo a passo de como criar uma conta na plataforma</p><p>do Scratch. Para iniciar seu cadastro, clique no link “Aderir ao Scratch” na página</p><p>inicial da plataforma.</p><p>Na tela que surgiu, você deve digitar um nome de usuário no primeiro campo,</p><p>no segundo campo você deve digitar uma senha e no terceiro você deve confirmar a</p><p>senha digitada.</p><p>Na segunda tela do cadastro, você deve colocar seu mês e ano de</p><p>nascimento, marcar seu gênero e o país que reside.</p><p>Na tela seguinte você deve colocar seu e-mail e confirmar seu endereço de</p><p>e-mail. Caso queira receber e-mails sobre o Scratch você deve marcar a última</p><p>opção.</p><p>Pronto! Se você seguiu esse algoritmo de forma correta, agora você já é um</p><p>membro da comunidade do Scratch e pode criar e compartilhar seus programas do</p><p>Scratch.</p><p>Aproveite a plataforma para treinar sua lógica de programação e criar jogos e</p><p>animações. Não se esqueça de marcar sua produção na categoria IFSULDEMINAS</p><p>e MEDIOTEC para que possamos acompanhar o que nossos alunos estão criando.</p><p>Criar e Compartilhar produções</p><p>Após clicar no botão “criar”, do Scratch, devemos modificar a linguagem</p><p>escolhida para a construção dos algoritmos. Para escolher a linguagem, basta clicar</p><p>no símbolo do globo, ao lado do logo do Scratch em laranja no canto superior</p><p>esquerdo da tela.</p><p>Uma dica que eu dou para você é que tente utilizar o Scratch em inglês, caso</p><p>você tenha algum conhecimento sobre a língua inglesa. A maioria das linguagens</p><p>de programação utilizada atualmente no mercado de trabalho é em inglês, então,</p><p>aprender a programar no Scratch em inglês facilitará bastante o entendimento de</p><p>outras linguagens de programação.</p><p>Para compartilhar algo feito no Scratch, você deve clicar no botão</p><p>“compartilhar”, que fica no canto superior direito da tela, assim você será</p><p>redirecionado para outra página, onde adicionará</p><p>informações sobre o programa</p><p>que deseja compartilhar.</p><p>Essa é a página onde você poderá adicionar informações sobre o programa</p><p>que está compartilhando. Nela você pode informar as instruções, notas e créditos</p><p>sobre o seu programa. É muito importante preencher esses campos quando publicar</p><p>suas produções no Scratch, assim as pessoas irão saber quem fez e como utilizar o</p><p>programa que você criou.</p><p>Esse exemplo utilizado é uma “Animação do Avião” bem simples que criei</p><p>para exemplificar o uso do Scratch, ela pode ser acessada no endereço</p><p>https://scratch.mit.edu/projects/154670370/.</p><p>Deixo aqui também um jogo criado por um aluno do IFSULDEMINAS durante</p><p>a disciplina de Algoritmos. O nome do jogo é “Don't drown” e foi criado pelo aluno</p><p>Jean Melo como trabalho final da disciplina de Algoritmos, do curso Técnico em</p><p>Informática. O jogo está disponível no endereço</p><p>https://scratch.mit.edu/projects/89156548/ e mostra um pouco do que pode ser</p><p>criado na plataforma.</p>