Técnicas de Programação

Documentos relacionados
Técnicas de Programação

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Algoritmos e Estruturas de Dados I

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Veiga de Almeida Algoritmos e Linguagem I

Aula 7 Oficina de Programação Estruturas de Repetição no C. Profa. Elaine Faria UFU

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição - GABARITO Repetição com Variável de Controle - Para Professor: Danilo Giacobo

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Amanda Gondim de Oliveira

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

Estruturas de Repetição

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

05/11/2018. Linguagem de Programação e Estruturada

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

Semana 2 Estruturas de Condição, Seleção e Repetição. Prof. Tiago Jesus de Souza

Algoritmos e Programação

Controle de Fluxo Comandos de repetição: while e do-while

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Técnicas de Programação

ESTRUTURAS DE REPETIÇÃO - PARTE 1

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

LINGUAGEM DE PROGRAMAÇÃO

Estruturas de Repetição. João Medeiros FATERN

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de repetição. Prof. Alex Camargo

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

COMANDOS DE REPETIÇÃO (ENQUANTO, REPITA E PARA)

Introdução à Programação. Estruturas de Repetição

Programação de Computadores I. Linguagem C Estruturas de Repetição

COMANDOS DE REPETIÇÃO (ENQUANTO)

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Introdução à Programação. Estruturas de Repetição

CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO

Linguagem C Estruturas de Repetição

Laços de repetição for, while, do-while

Estrutura Condicional

Programação II. Victor Amorim dos Santos

Estruturas de Controle de Fluxo Estruturas de Repetição. Givanaldo Rocha

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Estruturas de Repetição Parte I ENQUANTO

Estruturas de Repetição

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Programação de Computadores Profa Jacqueline 1

Aula 5 Controle do Fluxo de Execução

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Estruturas de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Introdução a programação Comandos de repetição

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Working 04 : Conceitos Básicos III

Programação de Computadores IV. Estruturas de repetição Slides cedidos por Bruno Augusto Dorta Marques

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Estrutura de Repetição C++

Introdução à Ciência da Computação

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos. Prof. Jonatas Bastos Site:

ESTRUTURAS DE CONTROLE

Estruturas de repetição

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Estrutura de Condição, Escolha e Repetição

ESTRUTURAS DE REPETIÇÃO

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

Oficina de Python Prof. Me. José Carlos Perini

foi teoricamente impossível trabalhar essa semana.

ESTRUTURAS DE CONTROLE - LAÇOS OU MALHAS DE REPETIÇÃO

LÓGICA DE PROGRAMAÇÃO. Estrutura de Repetição Determinada e Indeterminada. Sérgio Carlos Portari Júnior

Linguagem de Programação

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Estruturas de Repetição

Transcrição:

Técnicas de Programação

Estruturas de Repetição Material Teórico Responsável pelo Conteúdo: Prof. Esp. Margarete Eliane da Silva Almendro Revisão Técnica: Prof. Me. Douglas Almendro Revisão Textual: Prof. a Me. Selma Aparecida Cesarin

Estruturas de Repetição Estruturas de Repetição Agrupando comandos Nesta Unidade, o aluno terá uma visão do que vem a ser estrutura de repetição e aplicação na programação bem como suas facetas para entender a resolução de problemas computacionais. Olá, alunos(as)! Hoje veremos alguns assuntos introdutórios na nossa Disciplina e aproveito para apresentar alguns conceitos que utilizaremos na estrutura de todas as nossas unidades. Para obter um bom aproveitamento, vamos conferir a estrutura desta Unidade: Atividade de Sistematização: os exercícios disponibilizados são de autocorreção e objetivam que você pratique o que aprendeu na Disciplina e a que identifique os pontos aos quais precisa prestar mais atenção ou sobre os quais necessita pedir esclarecimentos a seu tutor. Além disso, a esses exercícios serão atribuídas notas que farão parte de sua média final na Disciplina; Atividade de Aprofundamento: é uma atividade dissertativa ou de pesquisa; Material Complementar e Referências Bibliográficas: nestes links, você receberá sugestões de leitura ou de mídias por meio das quais você poderá ampliar seus conhecimentos; Videoaula: aqui serão apresentadas algumas ferramentas na prática e também a resolução de alguns exercícios de forma prática. Lembramos a você a importância de realizar todas as atividades propostas dentro do prazo estabelecido para cada Unidade. Dessa forma, você evitará que o conteúdo se acumule e que tenha problemas ao final do semestre. Uma última recomendação, caso tenha problemas para acessar algum item da disciplina ou dúvidas com relação ao conteúdo, não deixe de entrar em contato com seu professor tutor por meio do botão mensagens ou nos fóruns. Bom estudo! 5

Unidade: Estruturas de Repetição Contextualização Em algumas situações, perceberemos que os códigos desenvolvidos se repetirão, mas, não se preocupem, isso é normal. Para solucionarmos esses problemas, utilizaremos recursos da lógica de programação chamados de malhas ou repetições. As estruturas de repetições são conhecidas como estrutura enquanto... faça... fim enquanto tem o seu funcionamento controlado por decisão, as estruturas de repetição são utilizadas para executar repetidamente uma instrução ou um bloco de instruções enquanto determinada condição for verdadeira. Com as malhas ou repetições podemos utilizar o mesmo trecho de código, executando-o quantas vezes forem necessárias. 6

Estruturas de Repetição As estruturas de repetição são também conhecidas como laços (loop). Em algumas circunstâncias, é necessária a repetição de um trecho do programa algumas quantidades de vezes. Sendo assim, deverá ser criado um laço que repita o processamento n vezes quantas forem necessárias. A estrutura enquanto... faça... fim_enquanto tem o seu funcionamento controlado por decisão. É muito parecido com a estrutura de decisão vista anteriormente. As estruturas de repetição são utilizadas para executar repetidamente uma instrução ou um bloco de instruções enquanto determinada condição for verdadeira. Temos três tipos: Pseudocódigo para enquanto faça...enquanto Java for while do while Para determinarmos qual é a estrutura mais adequada, devemos saber: O número de vezes que o trecho programa vai ser executado laços contados; ou A condição para que ela aconteça laços condicionais. Laços contados Auxílio de um contador, que auxiliará no laço. Este possibilita a repetição da estrutura até que o contador atinja o limite estipulado na condição. Laços condicionais O valor é desconhecido e devemos utilizar uma variável com valor pré-definido em uma condição dentro do laço para finalizarmos a repetição Independente do tipo de laço, todos são constituídos por três partes: Inicialização(ões) da(s) variável(is) de controle; Condição(ões); Atualização da(s) variável(is) de controle. 7

Unidade: Estruturas de Repetição Para sabermos quando utilizar uma estrutura de repetição, basta analisarmos se uma instrução ou uma sequência de instruções precisa ser executada várias vezes. Se isto se confirmar, então se deve utilizar uma estrutura de repetição. As estruturas de repetição, assim como a de decisão (seleção), envolvem a avaliação de uma condição (teste). Então, as estruturas de repetição permitem que um trecho do algoritmo (conjunto de instruções) seja repetido um número determinado (ou indeterminado) de vezes, sem que o código correspondente, ou seja, as instruções a serem repetidas, tenha de ser escrito mais de uma vez. A estrutura de repetição é uma estrutura de desvio do fluxo de controle presente em todas as linguagens de programação que a princípio realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Está associada diretamente a uma estrutura de repetição uma condição (também chamada expressão de controle ou condição de parada ) e um bloco de código: verifica-se a condição, e caso seja verdadeira, o bloco é executado. Após o final da execução do bloco, a condição é verificada novamente e, caso ela ainda seja verdadeira, o código é executado novamente. Devemos observar que, caso o bloco escolhido nunca modifique o estado da condição, a estrutura será executada infinitamente, uma situação chamada laço infinito. Da mesma forma, é possível especificar uma estrutura em que o bloco de código modifica o estado da condição, mas esta é sempre verdadeira. Algumas linguagens de programação especificam ainda uma palavra reservada para sair break go to da estrutura de repetição de dentro do bloco de código, quebrando a estrutura. Também é oferecido por algumas linguagens uma palavra reservada para terminar uma iteração específica do bloco de código, forçando nova verificação da condição no laço. É compacta pois a inicialização, condição e atualização estão reunidas na declaração do laço. Pseudocódigo: para (inicialização; condição; atualização) instruções fim para Java for (inicialização; condição; atualização) { instruções;} Utiliza uma variável inteira para controlar o número de vezes que se deve repetir a execução das instruções laço contado. É inicializada com um valor qualquer e é incrementada ou decrementada a cada iteração. 8

A condição geralmente verifica se essa variável já chegou em determinado valor para decidir se o laço deve ser encerrado. Vamos fazer um exemplo! Algoritmo Tabuada inteiro numero, i início escreva ( Entre com o número: ) leia (numero) para (i=0; i<=10; i++) escreva ( numero* i ) fim para fim Em Java 9

Unidade: Estruturas de Repetição Percebam que a mensagem da tabuada estará aparecendo 11 vezes, pois nós estamos inicializando a variável de controle em 0, que estará exibindo desde a multiplicação do 0 até o 10 (estamos incluindo o zero). No caso do Java, estamos usando o comando no modo console e não com o visual do JOptionPane. Vamos fazer outro exemplo! Prestar atenção ao enunciado! Faça um algoritmo que calcula e mostra a soma de 10 números reais digitados pelo usuário. Use a estrutura de repetição para. Algoritmo Somatório real n1, soma inteiro i início soma=0 para (i=1;i<=10;i++) escreva ( Digite um número: ) leia (n1) soma=soma+n1 fim para escreva ( A somatória é: + soma) fim Algoritmo Somatório real n1, soma inteiro i início soma=0 para (i=1;i<=10;i++) escreva ( Digite um número: ) leia (n1) soma=soma+n1 fim para escreva ( A somatória é: + soma) fim Acumulador 10

Em Java Estrutura enquanto (while) Estrutura utilizada tanto para laços contados quanto para os laços condicionais, possui e a seguinte sintaxe: Pseudocódigo: {iniciar a variável de controle} enquanto (condição for verdadeira) {instruções} {atualizar a variável de controle} fim enquanto Instrução que modifica o estado de algum elemento utilizado na condição. Java {iniciar a variável de controle} while (condição for verdadeira){ {instruções} {atualizar a variável de controle} } Nestes casos de laços de repetição, as chaves identificarão o início e o fim do bloco a ser repetido. 11

Unidade: Estruturas de Repetição Exemplo Faça um algoritmo que calcula e mostra a média entre duas notas de 10 alunos. Use a estrutura de repetição enquanto. Algoritmo media_com_enquanto real media, soma inteiro num, qtde caracter resp Inicio soma=0 qtde = 0 resp = s enquanto (resp== s resp == S ) escreva( Digite um número ) leia(num) soma=soma+num qtde=qtde+1 escreva( Deseja continuar? ) leia(resp) fim enquanto media=soma/qtde escreva( A média dos números digitados é: + media) fim Em Java 12

Estrutura faça... enquanto (do-while) É uma variação da estrutura enquanto: enquanto (while) condição testada antes da primeira execução do loop. Se condição for falsa na 1. vez que for avaliada, as instruções desse laço não serão executadas nenhuma vez; faça... enquanto (do...while) a condição é avaliado depois que suas instruções são executadas. Mesmo que a condição desse laço seja falsa antes mesmo de ele iniciar, suas instruções serão executadas uma vez. Estrutura utilizada tanto para laços contados quanto para os laços condicionais, possui a seguinte sintaxe: Pseudocódigo: {iniciar a variável de controle} faça {instruções} {atualizar a variável de controle} enquanto (condição for verdadeira) Instrução que modifica o estado de algum elemento utilizado na condição. Java {iniciar a variável de controle} do{ {instruções} {atualizar a variável de controle} }while(condição for verdadeira); 13

Unidade: Estruturas de Repetição Vamos colocar em prática? Faça um algoritmo que calcula e mostra a soma dos números ímpares digitados pelo usuário. Para encerrar a entrada de dados, digite o número zero. Use a estrutura de repetição faça... enquanto Algoritmo soma_dos_pares_com DoWhile inteiro num, soma Inicio soma=0 faça escreva( Digite um número ) leia(num) se(num%2!=0) soma=soma+num fim se enquanto(num!=0) escreva( A soma dos números ímpares é: + soma) Fim Em Java 14

Agrupando comandos Agora que já conhecemos os comandos de decisão e os comandos de repetição, podemos interagir um com o outro de forma que nossos algoritmos alcancem os objetivos. Vamos trabalhar com alguns exemplos com comandos de repetição aninhados. Crie um algoritmo que calcule a soma de todos os números inteiros de um intervalo dado pelo usuário. Quando mostrar a resposta, pergunte ao usuário se deseja começar novamente. Algoritmo Soma de um Intervalo inteiro inicio, fim, soma, i caracter continua início faça faça escreva( Início do intervalo ) leia(inicio) escreva( Fim do intervalo ) leia(fim) soma=0 para(i=inicio; i<=fim; i++) soma = soma + fim para escreva( A soma deu + soma) escreva( Quer continuar (S/N) ); leia(continua) enquanto(continua== s ou continua == S ) fim Repetição interna Repetição Externa Em Java 15

Unidade: Estruturas de Repetição Comandos de Repetição e Decisão Uma escola quer saber qual o aluno mais alto da turma. Para isso, desenvolva um programa que leia a altura dos 50 alunos de uma turma e imprima qual a maior altura cadastrada. Algoritmo Maior Altura real altura, maior inteiro i início maior=0 para(i=1; i<=50; i++) escreva( Qual a altura do aluno + i) leia(altura) se(altura > maior) maior = altura fim se fim para escreva( A maior altura digitada foi + maior) fim Em Java 16

Material Complementar Para aprofundar seus conhecimentos, consulte: Vídeos: Livros: Videoaula Algoritmos 11 - Comandos de Repetição. Acessado em 15 de janeiro de 2018. https://www.youtube.com/watch?v=g7975lawyfu MANZANO, José Augusto N.G. e OLIVEIRA, Jayr Figueiredo. Livro Estudo Dirigido de Algoritmos. Editora Érica, 2010. WIRTH, N. Algoritmos e Estruturas de Dados. Rio de Janeiro: Ltc-Livros Técnicos e Científicos, 1999. 17

Unidade: Estruturas de Repetição Referências DEITEL, H. M. Java: Como Programar. 6.ed. Porto Alegre: Bookman, 2003. (e-book) FARRER, H. Algoritmos Estruturados. 3.ed. Rio de Janeiro: Ltc-Livros Técnicos e Científicos, 1999. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: A Construção de Algoritmos e Estrutura de Dados. 3.ed. São Paulo: Pearson Prentice Hall, 2008. FURGERI, S. JAVA 6 Ensino Didático: Desenvolvendo e Implementando Aplicações. 2.ed. São Paulo: Érica, 2009. MANZANO, J. A. N. G. Algoritmos: Lógica para Desenvolvimento de Programação. 24.ed. São Paulo: Érica, 2010. OLIVEIRA, J. F.; MANZANO, J. A. N. G. Algoritmos Lógica para desenvolvimento de programação de computadores. Ver o conteúdo de Parte II Técnicas Básica de Programação - Capítulo 3 Tipo de Dados e Instruções Primitivas. 18

Anotações 19