Buscar

Aula 05

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Os códigos vão ficar menores – Chegaram as estruturas de repetição
Estruturas de repetição:
Estrutura do for - Estrutura ideal quando o número de repetições for conhecido durante a elaboração do programa ou quando o usuário puder fornecê-lo durante a execução. Sua lógica é: repete enquanto a variável contadora não tiver ultrapassado seu valor final estipulado na estrutura. Como ela testa antes de executar o bloco, pode ser que nem execute o bloco se a condição, de início, for falsa.
���			
Estrutura while - Estrutura que testa no início e é usada quando o número de repetições for desconhecido. Sua lógica é: repete enquanto a condição for verdadeira. Como ela testa antes de executar o bloco, pode ser que nem execute o bloco se a condição, de início, for falsa. As chaves só serão obrigatórias se o bloco tiver mais de um comando. Um comando scanf/fgets/getchar/fgetc (ou de atribuição) antes do while para entrar na repetição e um comando scanf/fgets/getchar/fgetc (ou de atribuição) antes da }, para repetir ou sair da repetição.
�			�
Estrutura do...while - Estrutura usada quando o número de repetições for desconhecido. Sua diferença em relação à estrutura while é que ela testa ao final, significando que executa o bloco de comandos pelo menos uma vez. Essa estrutura também precisa de um teste para interromper a repetição. Sua lógica é: repete enquanto a condição for verdadeira, mas, como ela testa ao final, executa pelo menos uma vez o bloco, diferenciando-a da estrutura while. A lógica de construção de um trecho, usando nessa estrutura, é mais parecida com a estrutura do for, não precisando de leitura/atribuição antes do do para entrar na estrutura.
�				�
Tanto a estrutura while quanto a estrutura do... while repetem o bloco de comandos enquanto o teste retornar um resultado verdadeiro.
Dentro da repetição, só há uma função de leitura ou comando de atribuição. A função de leitura ou comando de atribuição, que aparece antes da estrutura while, possibilita a entrada do primeiro valor que, se não passar pelo teste, não executará o bloco, mas se o valor passar então, a execução do programa ficará nesse bloco até que se digite um valor que não satisfaça mais à condição. Se dentro desse bloco não estiver presente uma função de leitura ou comando de atribuição, como os valores, a partir do segundo até o último, poderão ser lidos? Isso implicaria que o primeiro valor lido, se maior do que zero, ficaria armazenado para sempre na variável num e o programa entraria em loop como ficou a segunda solução.
For simula While:						For simula do…While:
�					�
While simula For:						While simula do…While:
�					�
do…While simula For:						do…While simula While:
�						�
Aninhando as estruturas - Uma estrutura dentro de outra estrutura de repetição é algo muito comum. Seja para proteger a entrada de dados ou para muitas outras finalidades.
For dentro do For: Um for mais externo que assumirá os valores das colunas e for mais interno, como um temporizador, visto que o objetivo é montar um letreiro. O objetivo é só para você fixar que o ; ao final da linha do for, só gerará uma PA ou PG internamente, mas não repete o bloco. É necessário ter a biblioteca conio2.h(Borland).
�			�
While dentro do For:
�
Exemplo: 1) Se a estrutura for ou while ou do… while só tiver um comando para ser repetido, é obrigatório as { } para envolver o comando? R: for e while, NÃO. do...while, SIM.
Exemplo: 2) Todas as estruturas podem repetir um número determinado de vezes, mas qual a estrutura que, por definição, já faz isso? R: A estrutura do for.
Exemplo: 3) Qual(is) a(s) desvantagem(ens) em se usar a estrutura while para simular a estrutura do…while? R: Forçar a entrada e fazer dois testes.
Exemplo: 4) Identifique qual testa no início e qual testa ao final:
a) while
b) for					R: for e while – Início do...while - FINAL
c) do...while
Exemplo: 5) Qual a estrutura mais usada para fazer trechos de proteção? R: while
	 1a Questão (Ref.: 201309296491)
	
	A estrutura de decisão switch é extremamente poderosa na linguagem C. Dado o código:
#include < stdio.h>
#include < stdlib.h>
void main(){
  int x=1, a;
  do{
    for(a = 1; a<2;a++){ a+=1; }
    printf("%d",x); printf("%d",a);
  }while(x++<2);
  system("PAUSE");      
}
Selecione a opção correta:
	
	
	O programa exibirá 1222
	 
	O programa exibirá 1232
	
	O programa exibirá 2332
	
	O programa exibirá 3233
	 
	O programa exibirá 1323
	 2a Questão (Ref.: 201309287264)
	
	Observe o trecho de código abaixo e suponha que foi digitado o número 1762. Qual das opções abaixo corresponde à saída?
 
	
	 
	2671            1762
	
	1762            12671
	
	1762            0
	 
	2671            0
	
	12671           1762
	 3a Questão (Ref.: 201309301119)
	
	 Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
	
	
	0246810
	 
	10
	
	024681010
	
	0 2 4 6 8 10
	 
	02468

Outros materiais