·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Técnicas de Desenvolvimento de Algoritmos Material Teórico Responsável pelo Conteúdo Profª Me Ana Fernanda Gomes Ascencio Revisão Textual Jaquelina Kutsunugi Revisão Técnica Profª Esp Margarete Eliane da Silva Almendro Estruturas de Repetição Estrutura de Repetição em Algoritmos Desenvolver algoritmos em fl uxograma e em pseudocódigo com estruturas de repetição OBJETIVO DE APRENDIZADO Estruturas de Repetição Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional siga algumas recomendações básicas Assim Organize seus estudos de maneira que passem a fazer parte da sua rotina Por exemplo você poderá determinar um dia e horário fixos como seu momento do estudo Procure se alimentar e se hidratar quando for estudar lembrese de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo No material de cada Unidade há leituras indicadas e entre elas artigos científicos livros vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade Além disso você tam bém encontrará sugestões de conteúdo extra no item Material Complementar que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados Após o contato com o conteúdo proposto participe dos debates mediados em fóruns de discus são pois irão auxiliar a verificar o quanto você absorveu de conhecimento além de propiciar o contato com seus colegas e tutores o que se apresenta como rico espaço de troca de ideias e de aprendizagem Organize seus estudos de maneira que passem a fazer parte Mantenha o foco Evite se distrair com as redes sociais Mantenha o foco Evite se distrair com as redes sociais Determine um horário fixo para estudar Aproveite as indicações de Material Complementar Procure se alimentar e se hidratar quando for estudar lembrese de que uma Não se esqueça de se alimentar e de se manter hidratado Aproveite as Conserve seu material e local de estudos sempre organizados Procure manter contato com seus colegas e tutores para trocar ideias Isso amplia a aprendizagem Seja original Nunca plagie trabalhos UNIDADE Estruturas de Repetição Estruturas de Repetição em Algoritmos Nesta Unidade IV continuaremos conhecendo um pouco mais sobre as estrutu ras que compõem os algoritmos Salientamos que a implementação dos algoritmos utilizando qualquer Linguagem de Programação permite o teste efetivo destes Nes te curso os testes serão realizados na ferramenta VisualG Na Unidade I abordamos as definições de algoritmos e as três técnicas mais utilizadas para o desenvolvimento dos mesmos Na Unidade II foram abordados alguns algoritmos que utilizam apenas estrutura sequencial ou seja entrada dos dados processamento e saída Na Unidade III abordamos alguns algoritmos que utilizam estruturas condicionais também conhecidas como desvios E a partir desta Unidade IV abordaremos algoritmos que apresentam comandos que são repetidos várias vezes assim a estrutura que permite essa execução repetitiva é denominada Estrutura de Repetição Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido O número de repetições pode ser fixo ou estar atrelado a uma condição ASCENCIO CAMPOS 2012 p 95 As estruturas de repetição estão divididas em Estrutura de repetição com variá vel de controle Estrutura de repetição condicional com teste no início e Estrutura de repetição condicional com teste no final As estruturas de repetição são também conhecidas como laços ou loops e estes podem se repetir por um número definido ou indefinido de vezes A primeira estrutura de repetição a ser abordada é a estrutura de repetição com variável de controle e é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido Quadro 1 Estrutura de repetição com variável de controle em fluxograma e em pseudocódigo Fluxograma Pseudocódigo para VARIÁVELDECONTROLE de VALORINICIAL ate VALOR FINAL faca comandos fimpara 8 9 Na estrutura de repetição com variável de controle a variável de controle recebe o valor inicial e os comandos são repetidos até que a variável de controle receba o valor final A instrução PASSO n indicada como a variável será incrementada ou decrementada Exemplo 1 da estrutura de repetição com variável de controle em pseudocódigo para i de 0 ate 5 passo 1 faca escreva Estudar fimpara Exemplo 1 da estrutura de repetição com variável de controle em fluxograma Figura 1 Estrutura de repetição com variável de controle em fl uxograma do Exemplo 1 No exemplo acima a variável de controle identificada por i receberá inicial mente o valor 0 e este será incrementado em 1 devido à instrução PASSO 1 até atingir o valor 5 logo o comando escreval estudar será repetido seis vezes 9 UNIDADE Estruturas de Repetição Teste de mesa ou simulação da estrutura definida no Exemplo 1 Quadro 2 Teste de mesa do Exemplo 1 Memória Tela i 0 estudar 1 estudar 2 estudar 3 estudar 4 estudar 5 estudar Exemplo 2 da estrutura de repetição com variável de controle em pseudocódigo para x de 5 ate 1 passo 1 faca escreva Valor de x x fimpara Exemplo 2 da estrutura de repetição com variável de controle em fluxograma Figura 2 Estrutura de repetição com variável de controle em fluxograma do Exemplo 2 10 11 No exemplo acima a variável de controle identificada por x receberá inicialmen te o valor 5 e este será decrementado em 1 devido à instrução PASSO 1 até atin gir o valor 1 logo o comando escreval valor de x x será repetido cinco vezes Teste de mesa ou simulação da estrutura definida no Exemplo 2 Quadro 3 Teste de mesa do Exemplo 2 Memória Tela x 5 valor de x 5 4 valor de x 4 3 valor de x 3 2 valor de x 2 1 valor de x 1 Exemplo 3 da estrutura de repetição com variável de controle em pseudocódigo para m de 0 ate 100 passo 20 faca se m 0 então escreval Múltiplo de 20 m fimse fimpara Exemplo 3 da estrutura de repetição com variável de controle em fluxograma Figura 3 Estrutura de repetição com variável de controle em fl uxograma do Exemplo 3 11 UNIDADE Estruturas de Repetição algoritmo exemplo3 Autor Margarete E S Almendro 07022020 utilizando laços de repetição Var num m idadeinteiro somareal nomecaractere Inicio para m de 0 ate 100 passo 20 faca se m 0 então escreval Múltiplo de 20 m fimse fimpara fimalgoritmo No exemplo acima a variável de controle identificada por m receberá inicial mente o valor 0 e este será incrementado em 20 devido à instrução PASSO 20 até atingir o valor 100 logo o comando se m 0 então escreval Múltiplo de 20 m fimse será testado seis vezes e o comando escreval Múltiplo de 20 m será executado cinco vezes Teste de mesa ou simulação da estrutura definida no Exemplo 3 Quadro 4 Teste de mesa do Exemplo 3 Memória Tela m 0 20 múltiplo de 20 20 40 múltiplo de 20 40 60 múltiplo de 20 60 80 múltiplo de 20 80 100 múltiplo de 20 100 12 13 Exemplo 4 da estrutura de repetição com variável de controle em pseudocódigo escrevaNúmeros de 250 a 25 para m de 250 ate 25 passo 25 faca escreval Número m fimpara Exemplo 4 da estrutura de repetição com variável de controle em fluxograma Figura 4 Estrutura de repetição com variável de controle em fl uxograma do Exemplo 4 No exemplo acima a variável de controle identificada por num receberá ini cialmente o valor 250 e este será decrementado em 25 devido à instrução PAS SO 25 até atingir o valor 25 logo o comando escreval Número m será repetido dez vezes Teste de mesa ou simulação da estrutura definida no Exemplo 4 Quadro 5 Teste de mesa do Exemplo 4 Memória Tela num 250 Número 250 13 UNIDADE Estruturas de Repetição Memória Tela 225 Número 225 200 Número 200 175 Número 175 150 Número 150 125 Número 125 100 Número 100 75 Número 75 50 Número 50 25 Número 25 Existem duas situações em que os comandos da estrutura de repetição com variável de con trole não são repetidos ou seja não são executados nenhuma vez Explor Quais situações seriam estas Situação 1 para i de 10 ate 20 passo 1 faca escreval Número i fimpara Na situação 1 o comando escreval i não será executado nenhuma vez porque o valor inicial da variável de controle i é 10 e deveria ir até 20 mas como o passo é 1 então a variável de controle vai decrementar em uma unidade logo a condição para execução que seria i 20 não seria respeitada Situação 2 para i de 10 ate 0 passo 1 faca escreval Número i fimpara Na situação 2 o comando escreval i não será executado nenhuma vez porque o valor inicial da variável de controle i é 10 e deveria ir até 0 mas como o passo é 1 então a variável de controle vai incrementar em uma unidade logo a condição para execução que seria i 0 não seria respeitada 14 15 A segunda estrutura de repetição a ser abordada é a estrutura de repetição con dicional com teste no início mais utilizada quando NÃO se sabe o número de vezes em que um trecho do algoritmo deve ser repetido Embora a indicação de sua utilização seja para quando NÃO se sabe o número de repetições necessário essa estrutura também pode ser utilizada quando se sabe o número de repetições Quadro 6 Estrutura de repetição condicional com teste no início em fl uxograma e em pseudocódigo Fluxograma Pseudocódigo enquanto Condição faca comandos fimenquanto Na estrutura de repetição condicional com teste no início os comandos serão repetidos enquanto a condição for verdadeira Nos exemplos a seguir exploraremos a estrutura de repetição condicional com teste no início Exemplo 1 da estrutura de repetição condicional com teste no início em pseu docódigo i 0 enquanto i 5 faca escrevalEstudar i i 1 fimenquanto 15 UNIDADE Estruturas de Repetição Exemplo 1 da estrutura de repetição condicional com teste no início em fluxograma Figura 5 Estrutura de repetição condicional com teste no início em fluxograma do Exemplo 1 No exemplo acima a variável identificada por i receberá inicialmente o valor 0 enquanto a condição i 5 for verdadeira os comandos escreval estudar e i i 1 serão repetidos Teste de mesa ou simulação da estrutura definida no Exemplo 1 Quadro 7 Teste de mesa do Exemplo 1 Memória Tela i 0 estudar 1 estudar 2 estudar 3 estudar 4 estudar 5 estudar 6 16 17 Exemplo 2 da estrutura de repetição condicional com teste no início em pseu docódigo i 10 j 100 cont 0 enquanto i j faca i i 10 j j 10 cont cont 1 fimenquanto escreval Repeticoes cont Exemplo 2 da estrutura repetição condicional com teste no início em fluxograma Figura 6 Estrutura de repetição condicional com teste no início em fl uxograma do Exemplo 2 No exemplo acima a variável identificada por i receberá inicialmente o valor 10 a variável identificada por j receberá inicialmente o valor 100 a variável iden tificada por cont receberá inicialmente o valor 0 Enquanto a condição i j for verdadeira os comandos i i 10 j j 10 e cont cont 1 serão repetidos 17 UNIDADE Estruturas de Repetição Teste de mesa ou simulação da estrutura definida no Exemplo 2 Quadro 8 Teste de mesa do Exemplo 2 Memória Tela i j cont 10 100 0 20 90 1 30 80 2 40 70 3 50 60 4 60 50 Repetições 5 Existe uma situação em que os comandos da estrutura de repetição condicional com teste no início não são repetidos ou seja não são executados nenhuma vez Qual situação será esta Explor i 0 enquanto i 0 faça escrevai i i 1 Na situação acima os comandos escreval i e i i 1 não serão executados ne nhuma vez porque o valor inicial da variável i é 0 o que torna a condição i 0 falsa A terceira estrutura de repetição a ser abordada é a estrutura de repetição con dicional com teste no final mais utilizada quando NÃO se sabe o número de vezes em que um trecho do algoritmo deve ser repetido Embora a indicação de sua utilização seja para quando NÃO se sabe o número de repetições necessário essa estrutura também pode ser utilizada quando se sabe o número de repetições 18 19 Quadro 9 Estrutura de repetição condicional com teste no fi nal em fl uxograma e em pseudocódigo Fluxograma Pseudocódigo repita comandos até condição Na estrutura de repetição condicional com teste no final os comandos serão repetidos pelo menos uma vez e até a condição se tornar verdadeira Nos exemplos a seguir vamos explorar a estrutura de repetição condicional com teste no final Exemplo 1 da estrutura de repetição condicional com teste no final em pseu docódigo i10 repita escreval valor de i i ii 10 ate i 50 Exemplo 1 da estrutura de repetição condicional com teste no final em fluxograma 19 UNIDADE Estruturas de Repetição Figura 7 Estrutura de repetição condicional com teste no final em fluxograma do exemplo 1 No exemplo acima a variável identificada por i receberá inicialmente o valor 10 os comandos escreval valor de i i e i i 10 serão executados até a condição se tornar verdadeira ou seja até i 50 Teste de mesa ou simulação da estrutura definida no Exemplo 1 Quadro 10 Teste de mesa do Exemplo 1 Memória Tela i 10 valor de i 10 20 valor de i 20 30 valor de i 30 40 valor de i 40 50 valor de i 50 60 20 21 Exemplo 2 da estrutura de repetição condicional com teste no final em pseudocódigo i 1 repita escreval valor de i i i i 1 até i 5 Exemplo 2 da estrutura de repetição condicional com teste no final em fluxograma Figura 8 Estrutura de repetição condicional com teste no fi nal em fl uxograma do Exemplo 2 No exemplo acima a variável identificada por i receberá inicialmente o valor 1 os comandos escreval valor de i i e i i 1 serão executados até a condição se tornar verdadeira ou seja até i 5 Teste de mesa ou simulação da estrutura definida no Exemplo 2 Quadro 11 Teste de mesa do Exemplo 2 Memória Tela i 1 valor de i 1 21 UNIDADE Estruturas de Repetição Memória Tela 2 valor de i 2 3 valor de i 3 4 valor de i 4 5 valor de i 5 6 Quando utilizamos a estrutura de repetição condicional com teste no final os comandos serão repetidos PELO MENOS UMA VEZ pois a condição se encontra após o comandos Explor Em quais estruturas de repetição podemos gerar um laço também conhecido como loop ou seja uma estrutura de repetição infinita o que trava a execução do algoritmo Explor As duas estruturas de repetição condicionais com teste no início e com teste no final podem causar um laço conforme exemplos abaixo Exemplo 1 i 1 enquanto i 0 faça escreval valor de i i i i 1 fimenquanto No exemplo 1 a variável i é inicializada com 1 e dentro da estrutura de repetição ela é incrementada em 1 Como a estrutura enquanto será executada enquanto a condição for verdadeira i 0 e a condição nunca se tornará falsa teremos um laço infinito Exemplo 2 i 1 repita escreval valor de i i i i 1 até i 0 22 23 No Exemplo 2 a variável i é inicializada com 1 e dentro da estrutura de repeti ção ela é incrementada em 1 Como a estrutura repita será executada até a condi ção se tornar verdadeira i 0 e a condição nunca se tornará verdadeira teremos um laço infinito Observe a Figura 9 a seguir Figura 9 Estruturas de repetição em algoritmos em algoritmos Fonte yasnaten 123RF Como se pode ver as estruturas de repetição permitem que um ou vários co mandos sejam executados repetidas vezes 23 UNIDADE Estruturas de Repetição Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade Livros Lógica de Programação com Pascal O livro Lógica de Programação com Pascal no Capítulo 6 mostra a teoria sobre Estruturas de repetição e vários exemplos Ao final desse capítulo há uma lista de exercícios a resolver ASCENCIO A F G Lógica de Programação com Pascal São Paulo Pearson 1999 Fundamentos da Programação de Computadores O livro Fundamentos da Programação de Computadores no Capítulo 5 mostra a teoria sobre Estruturas de repetição e vários exemplos Ao final desse capítulo existem duas listas de exercícios uma resolvida e a outra a resolver ASCENCIO A F G CAMPOS E A V Fundamentos da Programação de Computadores 3 ed São Paulo Pearson 2012 Algoritmos Teoria e Prática O livro Algoritmos Teoria e Prática do autor Thomas Cormen é um clássico na área de Computação e aborda o desenvolvimento de algoritmos na teoria e na prática CORMEN T H Algoritmos Teoria e Prática Rio de Janeiro Campus 2012 Algoritmos O livro Algoritmos de José Augusto Manzano é muito indicado para quem está começando a desenvolver algoritmos tendo em vista que possível sequência didática de aprendizagem e uma linguagem apropriada para iniciantes MANZANO J A N G Algoritmos 28 ed São Paulo Pearson 2016 24 25 Refer ê ncia ASCENCIO A F G CAMPOS E A V Fundamentos da Programação de Computadores 3 ed São Paulo Pearson 2012 25 Cruzeiro do Sul Educacional