Baixe o app para aproveitar ainda mais
Prévia do material em texto
CONVERSA INICIAL Olá! Seja bem-vindo(a) à quinta aula da disciplina Lógica de Programação e Algoritmos. Hoje vamos trabalhar as estruturas de programação condicional e de repetição. Conheceremos a sintaxe geral, bem como exemplos e exercícios para compreendermos estas duas estruturas de controle de programação. Os tópicos abordados serão: Estrutura condicional (Seleção) Estrutura de repetição CONTEXTUALIZANDO Você se lembra das três estruturas de controle básicas em programação e construção de algoritmos? São elas: sequencial, condicional e repetição. É importante notar que, com a combinação de tais estruturas de controle, pode-se resolver qualquer problema algorítmico! O importante é entender o processo lógico por trás das funções, sem se deixar intimidar pelos cálculos específicos de cada situação. A seguir, vamos aprimorar nossos conhecimentos em estruturas condicionais e iniciar a compreensão da estrutura de repetição. PESQUISE Estrutura Condicional (Seleção) – Parte I Relembrando, uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas. As condicionais podem ser do tipo simples, composta e encadeada. Seleção Simples Se <condição) Então Comandos Fimse Seleção Composta Se <condição> Então Comandos Senão Comandos Fimse Seleção Encadeada Se <condição 1> Então Se <condição 2> Então Comandos Fimse Senão Se <condição 3> Então Comandos Fimse Fimse Voltando ao mesmo exercício de algoritmo que receba três números, mostre-os em ordem crescente e diga qual é o maior! Observe atentamente a tabela a seguir. Nela, temos várias situações que precisaremos analisar antes de iniciarmos a construção do algoritmo. N1 N2 N3 Observações 10 10 10 Todos iguais d10 10 9 n1=n2 10 9 10 n1=n3 9 10 10 n2=n3 10 9 8 n1>n2>n3 10 8 9 n1>n3>n2 9 10 8 n2>n1>n3 8 10 9 n2>n3>n1 9 8 10 n3>n1>n2 8 9 10 n3>n2>n1 Nas 4 primeiras linhas vemos que temos opções que invalidam o que precisaríamos fazer no algoritmo. Então, iniciamos nossa utilização de comandos de decisão falando para o usuário que as entradas destas linhas são inválidas. Resolvidas as condições inválidas, partimos para as condições válidas. Neste caso, nas próximas linhas da tabela, agrupadas de duas em duas linhas, observamos que no primeiro momento isolamos o n1, no segundo o n2 e no terceiro o n3. Uma vez que isolemos por exemplo o n1, já sabemos que ele é o maior de todos, mas precisamos ainda testar quem é maior dos que sobraram: n2 ou n3. Assim, duas situações podem acontecer: n2 pode ser maior que n3 n3 pode ser maior que n2 E isto se repetirá para n2 maior e para n3 maior. Simples, não? Confira um exemplo de algoritmo: algoritmo "Maior3" // Função : Verificar o maior de tres numeros e ordenar (crescente) // Autor : Profa. Maristela. // Data : 11/01/2015 // Seção de Declarações var n1,n2,n3: real inicio // Seção de Comandos escreval("Digite tres números quaisquer: ") leia(n1) leia(n2) leia(n3) se (n1=n2) e (n2=n3) entao escreva ("Os tres numeros sao iguais :", n1, n2, n3) senao se (n1=n2) ou (n2=n3) ou (n1=n3) entao escreva ("Ha numeros iguais :", n1, n2 ,n3) senao se (n1>n2) e (n1>n3) e (n2>n3) entao escreva (" n1>n2>n3 ", n1,">", n2,">", n3) fimse se (n1>n3) e (n1>n2) e (n3>n2) entao escreva (" n1>n3>n2 ", n1,">", n3,">", n2) fimse se (n2>n3) e (n2>n1) e (n3>n1) entao escreva (" n2>n3>n1 ", n2,">", n3,">", n1) fimse se (n2>n1) e (n2>n3) e (n1>n3) entao escreva (" n2>n1>n3 ", n2,">", n1,">", n3) fimse se (n3>n1) e (n3>n2) e (n1>n2) entao escreva (" n3>n1>n2 ", n3,">", n1,">", n2) fimse se (n3>n2) e (n3>n1) e (n2>n1) entao escreva (" n3>n2>n1 ", n3,">", n2,">", n1) fimse fimse fimse fimalgoritmo Estrutura de Repetição – Parte II 11 A estrutura de repetição é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. É o tipo de estrutura que facilita quando precisamos que um bloco de comandos seja feita 10, 100, 1.000, 10.000 ou mais vezes! A seguir, confira a construção passo a passo dessa estrutura! ESTRUTURA PARA para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca <sequência-de-comandos> fimpara <variável > Controla o número de repetições. <valor-inicial> Especifica o valor de inicialização. <valor-limite > Valor máximo da variável contadora. <incremento > Opcional. Quando não utilizada o incremento é de 1 em 1. Fimpara Indica a finalização da repetição. Estrutura de Repetição – Parte III Agora vamos estudar a estrutura de repetição através de um exemplo. Acompanhe! Escreveremos um algoritmo que leia 50 valores e encontre o maior e o menor deles. Para começar, escreveremos a seguinte tabela para testarmos os dados para o algoritmo proposto: Maior menor i valor -999999999999 999999999999 1 15 15 15 2 -9 15 -9 3 20 20 -9 4 156 156 -9 5 48 156 -9 Neste algoritmo, escolhemos duas variáveis (maior e menor) que receberão inicialmente um valor que chamamos de estourado. No caso do menor, ele receberá o valor 999999999999 e no caso do maior, ele receberá um valor -999999999999. Isto porque, diante das entradas do usuário, a ideia é que o maior número seja maior que -999999999999 e o menor número menor que 999999999999. Na primeira execução do para faça, maior e menor ficarão com 15, pois 15 é menor que 999999999999 e maior é que -999999999999. Já na segunda execução do para faça, -9 não é maior que 15, por isto ele permanece, mas -9 é menor que 15, por isto ele troca de valor. E assim segue-se até as 50 repetições. TROCANDO IDEIAS Algumas das estruturas parecem complicadas de colocar em prática? Você não precisa estudar sozinho! Vá até o fórum e converse com seus colegas, vocês podem pesquisar e trocar dicas de exercícios, resolver problemas algorítmicos em equipe e descobrir as melhores soluções! Acesse o fórum através do Ambiente Virtual de Aprendizagem. SÍNTESE Nessa aula, trabalhamos algoritmos com estruturas de controle sequencial, condicional e de repetição (para faça). Vimos também que uma estrutura condicional pode ser simples, composta ou encadeada. Atenção: a forma que utilizaremos em nossos algoritmos dependerá de cada problema, bem como a organização da lógica por parte de cada um. COMPARTILHANDO Converse com seus amigos e colegas sobre o que você aprendeu hoje! Além disso, que tal pensar em alguns exercícios de lógica baseados nas vivências do dia a dia? Relacionar o conteúdo a aplicações práticas pode ajudar muito a fixar os conhecimentos! Assim termina nosso encontro de hoje! Nos vemos na próxima aula!
Compartilhar