Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos de Computação Bruno Feres de Souza bferes@gmail.com Universidade Federal do Maranhão Bacharelado em Ciência e Tecnologia 1° semestre de 2013 Na aula passada... Estruturas de controle • Estruturas condicionais: • Estrutura Condicional Simples • Estrutura Condicional Composto • Estrutura de Seleção entre duas ou mais sequências de comandos • Estruturas de repetição: • Estrutura de Repetição por Condição • Estrutura de Repetição por Critério de Parada • Estrutura de Repetição por Contagem Repetição por Condição • Os comandos serão repetidos zero ou mais vezes, enquanto o valor da condição for verdadeiro. • Essa estrutura normalmente é denominada laço ou loop sim não O Comando while while (expressão) { comandos; } 1) avalia condição 1.1) se condição é verdadeira, executa comandos do bloco 2) ao término do bloco, volta a avaliar condição 3) repete o processo até que condição seja falsa O Comando while while (i < 50) i = i + 5; while (i < 50){ i = i + 5; printf(“O novo valor de i é: %d”, i); } O Comando while #include <stdio.h> int main(){ int i; scanf(“%d”, &i); while (i < 50){ printf(“O dobro de %d é: %d”, i, i*2); i = i + 1; } printf (“Fim do cálculo.”); return 0; } O Comando while #include <stdio.h> int main(){ int i; scanf(“%d”, &i); while ((i < 50) && (i < 30)){ printf(“O dobro de %d é: %d”, i, i*2); i = i + 1; } printf (“Fim do cálculo.”); return 0; } O Comando while #include <stdio.h> int main(){ int i; scanf(“%d”, &i); while ((i < 50) && (i < 30)){ printf(“O dobro de %d é: %d”, i, i*2); } printf (“Fim do cálculo.”); } Se o valor lido de i for menor que 50 e menor que 30, então temos um loop infinito O Comando while #include <stdio.h> int main(){ int i; scanf(“%d”, &i); while (1){ printf(“O dobro de %d é: %d”, i, i*2); i = i + 1; } printf (“Fim do cálculo.”); return 0; } Independente dos comandos dentro do escopo de while, a expressão sempre será verdade. Assim, temos um loop infinito Repetição por critério de parada • Com teste no final do bloco de comandos. • Uma diferença dessa forma para a anterior é que os comandos dentro da estrutura são executados uma vez antes que a condição seja testada pela primeira vez, e serve para os processos iterativos onde existe garantia de execução correta do bloco pelo menos uma vez. sim não Repetição por critério de parada do { comandos; } while (condição); • do-while é utilizado sempre que o bloco de comandos deve ser executado ao menos uma vez O Comando do-while do i++; while (i < 50); do { i++; printf(“O novo valor de i é: %d”, i); } while (i < 50); O Comando do-while 1) executa comandos 2) avalia condição: 2.1) se verdadeiro, executa novamente os comandos do bloco 2.2) senão encerra laço #include <stdio.h> void main ( ) { int i; do { printf ("\n Escolha a fruta pelo numero:\n"); printf ("\t (1)...Mamao\n"); printf ("\t (2)...Abacaxi\n"); printf ("\t (3)...Laranja\n\n"); scanf("%d", &i); } while ((i < 1) || (i > 3)); switch (i) { case 1: printf ("\t\t Voce escolheu Mamao.\n"); break; case 2: printf ("\t\t Voce escolheu Abacaxi.\n"); break; case 3: printf ("\t\t Voce escolheu Laranja.\n"); break; } } O Comando do-while #include <stdio.h> int main(){ int i; scanf(“%d”, &i); do { printf(“O dobro de %d é: %d”, i, i*2); i = i + 1; } while (i < 50); printf (“Fim do cálculo.”); return 0; } Repetição por contagem • Na iteração baseada em contagem, sabe-se antecipadamente quantas vezes um conjunto de comandos vai ser repetido. O Comando for for (pré_cmd; teste; pós_cmd) { comandos; } • em termos de while, equivale a: pré_cmd; while (teste) { comandos; pós_cmd; } Repetição por contagem 1) executa pré_cmd (inicialização), que permite iniciar variáveis 2) avalia teste (condição) 2.2) se verdadeiro, executa comandos do bloco, 2.3) senão encerra laço 3) ao término do bloco, executa pós_cmd (incremento) 4) reavalia teste 5) repete o processo até que teste seja falso O Comando for for (i = 1; i <= 50; i++) printf(“O dobro de %d é: %d”, i, i*2); for (i = 1; i <= 50; i++){ printf(“O dobro de %d é: %d\n”, i, i*2); printf(“O quadrado de %d é: %d”, i, i*i); } Repetição por contagem: Exemplo • Escrever a tabuada do 2 na tela #include <stdio.h> int main( ) { int i; for ( i=1; i <=10; i++) printf("2 x %d = %d\n", i, 2*i); return 0; } Repetição por contagem: Exemplo • Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for #include <stdio.h> int main( ) { int i; i = 1; for ( ; i <=10; i++) printf("2 x %d = %d\n", i, 2*i); return 0; } Repetição por contagem: Exemplo • Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for #include <stdio.h> int main( ) { int i; for ( i=1; ; i++) printf("2 x %d = %d\n", i, 2*i); return 0; } A condição quando omitida permite que o loop seja infinito Repetição por contagem: Exemplo • Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for #include <stdio.h> int main( ) { int i; for ( i=1; ; i++){ printf("2 x %d = %d\n", i, 2*i); if (i > 10) break; } return 0; } A condição quando omitida permite que o loop seja infinito, ao menos que se faça uso do comando break Repetição por contagem: Exemplo • Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for #include <stdio.h> int main( ) { int i; for (i = 1; i <=10; ) printf("2 x %d = %d\n", i, 2*i); return 0; } Sem incrementar i, a condição nunca será falsa. Assim, temos um loop infinito. Ou seja, nada é feito para que a condição seja falsa em algum momento Repetição por contagem: Exemplo • Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for #include <stdio.h> int main( ) { int i; for (i = 1; i <=10; ){ printf("2 x %d = %d\n", i, 2*i); i++; } return 0; } A variável i é incrementada no escopo do for Exercícios 1) Ler x e y e calcular xy 2) Ler x e y e depois exibir a soma dos números de x a y (suponha x < y). 3) Faça um programa para calcular o valor da seguinte série: Exercícios 4) Criar um programa em C que determina os números de 0 a 5000 que são quadrados perfeitos (a raiz é um número inteiro). Não é permitido o uso de comandos do C para potência e raiz. 5) Calcular e escrever o valor do número Pi, com precisão de 0.0001, usando a série pi Pi= 4 − 4/3 + 4/5 - 4/7 + 4/9 - 4/11... Mostrar quantos termos foram necessários para se obter a precisão desejada. Cálculo eletrônico 2ª Geração (1955-1965): transistores Material didático ● Aprendendo a Programar Programando na Linguagem C Para Iniciantes (Jaime Evaristo). Capítulos 4. • http://www.fsm.com.br/web/enade/revisao/novos/livroProgramacaoC.pdf Dúvidas?
Compartilhar