Baixe o app para aproveitar ainda mais
Prévia do material em texto
Plano de Aula: Estrutura de Repetição - Conceitos Iniciais INTRODUÇÃO A PROGRAMAÇÃO - CCT0672 Título Estrutura de Repetição - Conceitos Iniciais Número de Aulas por Semana Número de Semana de Aula 9 Tema Estrutura de Repetição Objetivos O aluno deverá ser capaz de: · Compreender uma estrutura de repetição e suas características. · Discernir quando uma estrutura de repetição deve ser utilizada e criar algoritmos que utilizem essa estrutura. · Utilizar comandos de uma linguagem de programação para implementação de algoritmos, na forma de programas de computador (Laboratório). Estrutura do Conteúdo Conteúdos: Desenvolver: · Definição da estrutura de repetição e suas características. · Utilização dos operadores relacionais e dos operadores lógicos. · Utilização da estrutura de repetição. · Apresentar o conceito do Teste de Mesa. · Apresentação de comandos da linguagem de programação, correspondentes aos comandos utilizados nos algoritmos. · Desenvolvimento de programas com a linguagem de programação. Conceitos: 1. Estrutura de Repetição Como o próprio nome apresenta, a estrutura de repetição permite que o algoritmo repita determinada seqüência de comandos, de acordo com um determinado critério. Por exemplo, é possível criar um algoritmo com 100 comandos de leitura de dados de entrada (comando leia) ou criar um algoritmo que tenha somente um comando de entrada de dados e que este seja repetido 100 vezes, dependendo da s ituação. Importante observar que, normalmente, isso não afeta o resultado final do processamento, mas afeta a criação do algoritmo, pois diminui sensivelmente o tamanho do algoritmo final. O uso da estrutura de repetição necessita que seja identificado o critério de repetição, ou seja, em que condição o algoritmo deve continuar repetindo os comandos e em que condição ele deve parar de repetir. 2. Operadores Relacionais e Operadores Lógicos As condições utilizadas na estrutura de repetição utilizam os mesmos operadores, relacionais e lógicos, utilizados na estrutura de decisão. 3. Estrutura de Repetição: Comando enquanto Existem vários comandos que permitem a criação de uma estrutura de repetição. O comando enquanto será apresentado em primeiro lugar porque ele permite a criação de estruturas de decisão para qualquer s ituação que possa ser encontrada. Podemos dizer que ele é um comando geral de repetição. O comando enquanto realiza o teste lógico da condição no início da repetição. Esse comando funciona da seguinte forma: enquanto uma determinada condição for verdadeira, ele executa os comandos que devem ser repetidos e retorna para o teste da condição para determinar se deve repetir novamente. Caso a condição seja falsa, ele interrompe a repetição e continua o fluxo de comandos normalmente. É importante observar que não existe uma opção sobre qual seqüência de comandos deve ser realizada, mas s im, quando determinados comandos devem ser repetidos. Não é o conceito de “seguir um caminho ou outro” dentro do algoritmo. Isso diferencia a estrutura de repetição da estrutura de decisão. Fluxograma Pseudocódigo Figura: arquivo anexo Fluxo_Repeticao1.jpg enquanto (CONT < 100) faça leia (NUM); SOMA ß SOMA + NUM; CONT ß CONT + 1; fim_enquanto Existem alguns detalhes importantes a serem observados nesse comando: · Os comandos que estão no “lado S” do comando enquanto, são aqueles que serão repetidos. No exemplo acima, um comando leia e dois comandos de atribuição de valores. · A condição para repetição é a seguinte: enquanto a variável CONT apresentar valor menor do que 100, os comandos devem ser repetidos. · Na prática acontece o seguinte: é realizado o teste lógico para determinar se a condição é verdadeira. Se a condição for verdadeira ele executa os comandos que estão no “lado S” e volta para o teste lógico da condição. Caso continue verdadeiro, repete e testa novamente, caso a condição se apresente como falsa, ele interrompe a repetição (“vai para o lado ‘N’”) e continua a seqüência normal de comandos. · Por permitir que o fluxo de execução dos comandos volte para um ponto anterior do programa, algumas pessoas denominam esse comando de laço de repetição (ou loop de repetição). · Essa maneira de utilizar a estrutura de repetição depende do conhecimento, por parte de quem vai criar o algoritmo, da quantidade de vezes que os comandos serão repetidos. · Existem outras maneiras de utilizar a estrutura de decisão. Elas serão vistas posteriormente. Como exemplo, observe o algoritmo abaixo que deve ler 100 números, somá-los e apresentar o resultado da soma. Fluxograma Pseudocódigo Figura: arquivo anexo Fluxo_Repeticao2.jpg programa REPETICAO var inteiro CONT; real NUM, SOMA; inicio CONT ß 0; SOMA ß 0; enquanto (CONT < 100) faça leia (NUM); SOMA ß SOMA + NUM; CONT ß CONT + 1; fim_enquanto escreva (SOMA); fim Existem alguns detalhes importantes a serem observados nesse algoritmo: · A variável CONT funcionará como um contador de vezes que foi realizada a repetição (ou seja, a quantidade de números que foram digitados). Por esse motivo, é necessário repetir o comando CONT ß CONT + 1, para que, a cada vez que for realizada uma repetição seja acrescentado 1 ao valor da variável contadora. · No início do algoritmo é atribuído o valor zero para a variável CONT porque a contagem deve iniciar com algum valor e como ainda não houve nenhuma repetição o valor deve ser zero. Por esse motivo, o teste lógico realizado no comando enquanto é CONT < 100. · O comando SOMA ß SOMA + NUM permite somar o valor que foi lido pelo comando leia (variável NUM) ao valor atual da variável SOMA e acumular esse valor na própria variável SOMA. Essa variável é utilizada como um acumulador de valores. · A variável SOMA também recebe no início do algoritmo, como atribuição, o valor zero, porque ao iniciar o programa, como nenhum dado foi digitado, a soma dos valores vale zero. · Ao terminar a repetição (condição falsa), o próximo comando a ser executado é o comando escreva (SOMA). · Observe que somente os comandos que estão no “lado S” do comando enquanto serão repetidos. Os outros comandos serão executados somente uma vez. Essa estrutura de repetição poderia ser conhecida como Repetição Controlada por um Contador. 4. Teste de Mesa Nem sempre será possível ter em mão ferramentas computacionais para testar os algoritmos. Nessa s ituação, é necessário testar o programa utilizando apenas “papel e caneta”, ou seja, s imular o funcionamento do programa no papel. Essa s imulação recebe o nome de Teste de Mesa. Observe o que deve ser feito para que o Teste de Mesa seja realizado (vamos utilizar o algoritmo acima como exemplo): · Em primeiro lugar, crie uma tabela onde cada linha tenha o nome de uma das variáveis do algoritmo. Todas as variáveis devem ser colocadas na tabela. No exemplo: CONT, NUM e SOMA. · Observe se a quantidade de vezes que se deseja repetir é alta. Se for, altere para uma quantidade menor, e possível de ser testada em um tempo razoável. No exemplo, o algoritmo pretende repetir as operações 100 vezes, então diminuiremos (somente para efeito de teste) essa quantidade para 4. · Toda entrada de dados (comando leia) indica que um valor será inserido pelo usuário, ou seja, não é possível determinar qual será esse valor, então, cada vez que um comando leia for encontrado é necessário determinar um valor qualquer para a variável de entrada (“chutar o valor”). No exemplo, como adotamos repetir 4 vezes, serão lidos 4 números, que podem ser 5, 6, 2 e 4. · Seguir o fluxograma comando por comando, do início até o fim, fazendo o que os comandos determinam que deve ser feito e seguindo sempre as setas de fluxo de comandos. Só parar o teste quando encontrar o comando fim. · Cada vez que ocorrer um comando de entrada de dados ou de atribuição de valor, na tabela, alterar o valor da variável utilizada pelo comando. Lembre que esses comandos substituem o valor anteriormentearmazenado na variável. · Quando ocorrerem comandos que tenham condições a serem testadas, testar a condição e descobrir por qual fluxo seguir (“lado S” ou “lado N”). Comandos de apresentação de dados (comando escreva) apresentam o conteúdo da variável correspondente. · Chegando ao final do algoritmo, conferir se foram apresentados os resultados corretos (esperados). · Com isso é possível garantir que o algoritmo funciona corretamente. Exemplo de Teste de Mesa (levando em consideração o programa exemplo anterior): CONT 0 1 2 3 4 NUM 5 6 2 4 SOMA 0 5 11 13 17 5. Repetição com Limite do Contador Determinado pelo Usuário Em algumas s ituações, quem cria o algoritmo não sabe a quantidade de vezes que os comandos devem ser repetidos, mas ela pode solicitar que o usuário determine a quantidade de vezes, por intermédio de um comando leia. Fluxograma Pseudocódigo Figura: arquivo anexo Fluxo_Repeticao3.jpg programa REPETICAO var inteiro CONT, QTD; real NUM, SOMA; inicio CONT ß 0; SOMA ß 0; leia (QTD); enquanto (CONT < QTD) faça leia (NUM); SOMA ß SOMA + NUM; CONT ß CONT + 1; fim_enquanto escreva (SOMA); fim Obs: Os comandos serão repetidos QTD vezes. 6. Comandos da Linguagem de Programação Abaixo uma tabela de correspondência de comandos: Comando Pseudocódigo Comando Linguagem C++ b) Comando de repetição: enquanto (CONT < 100) faça leia (NUM); SOMA ß SOMA + NUM; CONT ß CONT + 1; fim_enquanto while (CONT < 100) { cin >> NUM; SOMA = SOMA + NUM; CONT = CONT + 1; } Aplicação Prática Teórica Lista de exercícios Arquivo anexo: Lista de Exercícios VI.doc
Compartilhar