Algoritmos Estruturas de Repetição Prof. Angelo Augusto Frozza Frozza,, M.Sc. [email protected] frozza@ifc Roteiro • Estruturas de repetição – Laço contado • para...ate...faca – Laços condicionados • enquanto...faca • repita...ate Comando para...faca para <variavel> de <valor-inicial> ate <valor-final> faca <sequencia_de_comandos> fimpara • <variavel> – – • <valor-inicial> – • Expressão que especifica o valor de inicialização da variável contador; <valor-final> – • Contador que controla o número de repetições do laço; Deve ser do tipo inteiro; Expressão que especifica o valor máximo da variável contador; <sequencia_de_comandos> – Pode ser um único comando ou mais de um comando; Comando para...faca algoritmo "Numeros_de_1_a_10" var j: inteiro inicio para j de 1 ate 10 faca escreva (j:2) fimpara fimalgoritmo Comando para...faca algoritmo "Numeros_de_1_a_10" var j: inteiro inicio para j de 10 ate 1 faca escreva (j:2) fimpara fimalgoritmo Comando para...faca algoritmo "Numeros_de_1_a_10" var j: inteiro inicio para j de 10 ate 1 passo -1 faca escreva (j:2) fimpara fimalgoritmo Comando enquanto...faca enquanto <expressão-lógica> faca <sequência-de-comandos> fimenquanto • <expressão-lógica> – Expressão avaliada antes do início de cada repetição do laço; – Quando seu resultado for FALSO, o laço é interrompido; • <sequência-de-comandos> – Lista de instruções que devem ser executadas repetidamente; Comando enquanto...faca algoritmo "Numeros_de_1_a_10" var j: inteiro inicio j <- 1 enquanto j <= 10 faca escreva (j:3) j <- j + 1 fimenquanto fimalgoritmo Vai executar o laço ZERO ou MAIS vezes Variável sentinela Comando repita...ate repita <sequência-de-comandos> ate <expressão-lógica> • <expressão-lógica> – Expressão avaliada antes do início de cada repetição do laço; – Quando seu resultado for FALSO, o laço é interrompido; • <sequência-de-comandos> – Lista de instruções que devem ser executadas repetidamente; Comando enquanto...faca algoritmo "Numeros_de_1_a_10" var j: inteiro inicio j <- 1 repita escreva (j:3) Variável j <- j + 1 sentinela ate j >= 10 fimalgoritmo Vai executar o laço UMA ou MAIS vezes Comparação • Qual a principal diferença entre os comandos? – para...faca – enquanto...faca – repita...ate • Quando é indicado usar cada comando? • Qual a principal diferença entre o comando enquanto e o comando repita? Comando interrompa • Algumas vezes, é necessário interromper uma estrutura de repetição antes de o algoritmo chegar na condição definida na <expressao-logica>; • Para tanto, usa-se o comando interrompa dentro do laço de repetição; Comando interrompa algoritmo "Números_de_1_a_10" var x: inteiro inicio x <- 0 repita x <- x + 1 escreva (x:3) se x = 10 entao interrompa fimse ate falso fimalgoritmo Resumo • Nesta aula foram vistas as estruturas de repetição: – Laço contado • para...ate...faca – Laços condicionados • enquanto...faca • repita...ate – Comando interrompa