Você está na página 1de 9

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA

DEPARTAMENTO DE COMPUTAO

UNIDADE VII: REPETIO

ESTRUTURAS

DE

CONTROLE

DE

Essas estruturas so usadas para a repetio de uma quantidade de aes (processamento) dentro de um bloco de programa. So controladas por variveis de controle, as quais determinam o incio e o fim do lao de repetio (loop). As principais estruturas de controle de repetio so: enquanto...faca...fimenquanto, repita...ate e para...ate...passo...faca...fimpara. Vejamos a seguir como funciona cada estrutura.

7.1 Estrutura de Controle de Repetio enquanto...faca...fimenquanto


Essa estrutura caracteriza-se por realizar o teste lgico no incio do lao de repetio. Executa o bloco de programao enquanto o teste lgico for VERDADEIRO. O bloco de programao pode no ser executado nenhuma vez, caso o teste lgico for FALSO. Sintaxe: enquanto (teste lgico VERDADEIRO) faca <bloco de instrues> fimenquanto Exemplo: Cont 1 enquanto (Cont <= 10) faca escreva(Cont) Cont Cont + 1 fimenquanto

7.2 Estrutura de Controle de Repetio repita...ate


Essa estrutura caracteriza-se por realizar o teste lgico no final do lao de repetio, no entanto, o lao executado pelo menos uma vez. Executa o processamento enquanto o teste lgico for FALSO, e finaliza o lao quando o teste lgico for VERDADEIRO. Essa estrutura o inverso do lao enquanto...faca...fimenquanto.

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 1

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

Sintaxe repita <bloco de instrues> ate (teste lgico FALSO) Exemplo: Cont 1 repita escreva(Cont) Cont Cont + 1 ate (Cont > 10)

7.3 Estrutura de Controle de Repetio para...ate...passo...faca...fimpara


Essa estrutura caracteriza-se por trabalhar com valores finitos, ou melhor, utilizada quando j conhecemos o incio e o fim do lao. muito utilizada para intervalos (por exemplo, 1 a 10, 1 a 100, 10 a 100, 3 a 30, etc.). Essa estrutura controlada por uma varivel que recebe um valor inicial que pode ser incrementado de um em um, dois em dois, etc. at chegar a um valor final. Nesse tipo de estrutura a varivel controladora se auto-incrementa, ou seja, no preciso atribuir +1 dentro do lao para a varivel. Sintaxe: para (valor inicial) ate (valor final) passo (n) faca <bloco de instrues> fimpara Exemplo: para Cont de 1 ate passo 1 faca escreva(CONT) fimpara Obs.: passo 1 significa que a varivel ser incrementada de 1 em 1 at o final do lao.

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 2

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

7.4 Estruturas de Controle de Repetio no DB e Pseudocdigo


Para exemplificarmos as trs estruturas de controle de repetio usaremos o problema proposto abaixo: Problema: Realizar a impresso dos nmeros inteiros de 1 a 10. Resoluo: 1. Criar uma varivel para controlar o lao (Cont, por exemplo); 2. Iniciar a varivel Cont com valor 1; 3. Incrementar a varivel Cont de 1 em 1 e imprimi-la at o seu valor chegar a 10. 7.4.1 Algoritmo Representado (enquanto...faca...fimenquanto) na Estrutura de Controle de Repetio

DB Imprime_01_a_10 Incio

Cont: inteiro

Cont

Cont <= 10 V Cont

Fim Cont Cont + 1

algoritmo "IMPRIME_01_A_10" var Cont: inteiro inicio Cont <- 1

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 3

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO
enquanto (Cont <= 10) faca escreva(Cont) Cont Cont + 1 fimenquanto fimalgoritmo

7.4.2 Algoritmo Representado na Estrutura de Controle de Repetio (repita..ate)


DB Imprime_01_a_10 Incio

Cont: inteiro

Cont

Cont

Cont

Cont + 1

Cont > 10 V Fim

algoritmo "Imprime_01_a_10" var Cont: inteiro inicio Cont <- 1 repita escreva(Cont) Cont <- Cont + 1 ate (Cont > 10) fimalgoritmo

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 4

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

7.4.3 Algoritmo Representado (para..ate...passo...faca...fimpara)

na

Estrutura

de

Controle

de

Repetio

DB Imprime_01_a_10 Incio

Cont: inteiro

Cont, 1, 10 V

Fim Cont

algoritmo "Imprime_01_a_10" var Cont: inteiro inicio para Cont de 1 ate 10 passo 1 faca escreva(Cont) fimpara fimalgoritmo

7.5 Lao de Repetio Controlado pelo Usurio Os laos apresentados acima so controlados pelo programador (com incio e fim determinados por ele), no entanto, s vezes o lao controlado pelo usurio do programa. Esses laos so controlados por respostas emitidas pelo usurio ao programa. Para exemplificarmos este tipo de lao usaremos o problema proposto a seguir. Problema proposto: Imprimir nmeros digitados pelo usurio. Dar a opo ao usurio em continuar ou no o programa. Soluo: 1. Pedir nmeros para o usurio digitar os nmeros (criar a varivel Nro);
Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 5 semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

2. Imprimir esses nmeros dentro do lao; 3. Perguntar ao usurio se ele deseja continuar (criar uma varivel de Resposta). 7.5.1 Lao de Repetio (enquanto...faca...fimenquanto) Controlado pelo Usurio com a Estrutura

DB Imprime_Numero_Digitado_Pelo_Usuario

Incio

Nro: real Resp: caracter

Resp

SIM

Resp = SIM V Digite um nmero:

Fim Nro

Nro

Deseja continuar? <SIM/NO>: nmero:

Resp

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 6

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

algoritmo "Imprime_Numero_Digitado_Pelo_Usuario" var Nro: real Resp: caracter inicio Resp SIM enquanto (Resp = SIM) faca escreva(Digite um nmero: ) leia(Nro) escreva(Nro) escreva(Deseja continuar? <SIM/NO>: ) leia(Resp) fimenquanto fimalgoritmo

7.5.2 Lao de Repetio Controlado pelo Usurio com a Estrutura (repita...ate)


DB Imprime_Numero_Digitado_Pelo_Usuario Incio

Nro: real Resp: caracter

Digite um nmero:

Nro

Nro Deseja continuar? <SIM/NO>:

Resp

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 7

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

1 2

Resp = NO V Fim

Exerccios propostos: Os exerccios devero ser resolvidos em Pseudocdigo e DB. No DB utilize somente a estrutura de controle de repetio enquanto...faca...fimenquanto. 1. Crie um conjunto de instrues que a partir da leitura de um nmero inteiro realize o clculo da tabuada de 1 a 10. 2. Crie um conjunto de instrues que apresente todos os valores numricos inteiros pares situados na faixa de 100 a 200. 3. Crie um conjunto de instrues que apresente todos os valores numricos inteiros mpares situados na faixa de 1 a 20. 4. Crie um conjunto de instrues que realize a leitura de N nmeros digitados pelo usurio e imprima somente os nmeros positivos. 5. Crie um conjunto de instrues que realize a leitura de N nmeros digitados pelo usurio e imprima somente os nmeros negativos. 6. Crie um conjunto de instrues que realize a leitura de N nmeros inteiros digitados pelo usurio e calcule a mdia dos nmeros inteiros positivos e a soma dos nmeros inteiros pares. 7. Crie um conjunto de instrues que a partir de um nmero inteiro digitado pelo usurio apresente todos os nmeros que so divisveis por ele. Exemplo: Se o

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 8

semestre 2011/1

GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE CINCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITRIO DE ALTO ARAGUAIA DEPARTAMENTO DE COMPUTAO

usurio digitar o nmero 10, o programa dever verificar se o nmero divisvel por (1, 2, 3, 4, 5, 6, 7, 8, 9 e 10). 8. Crie um conjunto de instrues que calcule a potncia de uma base e um expoente digitado pelo usurio. Faa o clculo considerando a base elevada ao expoente. D opo ao usurio para continuar ou parar o programa. 9. Crie um conjunto de instrues que calcule a potncia de uma base e um expoente digitado pelo usurio. No entanto no para ser usada a base elevada ao expoente. Faa da seguinte maneira: por exemplo, 53 = 5 x 5 x 5 = 125, ou seja a base multiplicada por ela mesma trs vezes (nmero do expoente). 10. Crie um conjunto de instrues que calcule o fatorial de um nmero inteiro e positivo digitado pelo usurio.

Aspectos Formais da Computao e Algoritmo Prof. Carlinho Viana de Sousa profcarlinho@gmail.com Pgina 9

semestre 2011/1

Você também pode gostar