Aula 7 e 8 - Lacos
-
Upload
edvaldo-carvalho -
Category
Documents
-
view
6 -
download
1
Transcript of Aula 7 e 8 - Lacos
LAÇOSLINGUAGEM C.
Definição
• Laços são comandos sempre que uma ou
mais instruções tiverem de ser repetidas
enquanto uma certa condição estiver
sendo satisfeita.
Em C, existem três comandos de laços
• For
• While
• Do while
O Comando For
• O laço for é geralmente usado quando queremos repetir
algo um número fixo de vezes. Isso significa que
utilizamos um laço For quando sabemos o número de
vezes a repetir.
Sintaxe do comando For
• For(i=1 ; i < 5 ; i++)
Inicialização Teste Incremento
Não há ponto-e-vírgula aqui
Ponto-e-vírgula
Sintaxe do comando For
• For(i=1 ; i < 5 ; i++)
• A inicialização é uma instrução de atribuição (i=1) e é sempre executada uma única vez, antes que o laço seja inicializado.
• O teste é uma condição avaliada como verdadeira ou falsa, e controla o laço (i<5).
• O incremento geralmente define a maneira pela qual a variável de controle será alterada cada vez que o laço for repetido.
Exemplo 1#include <stdio.h>
int main (){ int i; for (i=1 ; i < 40 ; i++) printf ("%c", '*'); printf("\n");
system("pause"); return 0;
}
Exemplo 2#include <stdio.h>
int main (){ int i; for (i=1 ; i < 10 ; i++) printf("\n %d x 6 = %d", i, i*6); printf("\n");
system("pause"); return 0;
}
Exercício 1
• Crie um programa em C, de forma que seja solicitado quatro
vezes um numero inteiro e imprima o triplo deles.
Solução do Exercício 1#include <stdio.h>
int main (){ int i, n; for (i=1 ; i < 5 ; i++) { printf("\nDigite um numero inteiro: "); scanf("%d", &n); printf("\n O triplo de %d e %d \n", n, n*3); } system("pause"); return 0;
}
O comando While
• Ele utiliza os mesmo elementos do For, mas estes são
distribuídos de maneira diferente no programa;
• A função do laço while é repetir um determinado trecho
ENQUANTO uma determinada condição for verdadeira.
Exemplos de aplicações do While
• Por exemplo, enquanto (while) o personagem tiver life, o jogo deve continuar.
• Enquanto (while) a mp3 não terminar, ela deve continuar tocando.
• Enquanto (while) um jogador não ganhar, perder ou der empate, o jogo da velha deve continuar rodando.
• Enquanto o usuário não digitar 0, seu programa deve continuar rodando.
Sintaxe do comando WhileInicialização;
while (Teste)
{
comandos
....
incremento;
}
Exemplo 1Programa em C que imprime asteriscos
#include <stdio.h>int main (){int i=0;while (i < 20) { printf("%c", '*'); i++; }
printf("\n");system("pause");return 0;}
Exemplo 2: Programa em C que conta de 1 até 10 usando o laço while
#include <stdio.h>int main() {
int numero=1;while(numero <= 10) {
printf("%d \n", numero);
numero++; }
system(“pause”);}
Exemplo 3#include <stdio.h>
int main (){ int n, soma=0; printf ("\n Digite um numero inteiro: "); scanf ("%d", &n); while (n>=0) { soma=soma + n; printf("\n Digite um numero inteiro: "); scanf("%d", &n); } printf("\n\n A soma dos numeros lidos e %d \n\n", soma);
system("pause");return 0;
}
O comando do while
• Esse laço é bastante similar ao laço while. Ele é
utilizado em situações em que é necessário executar o
corpo do laço uma primeira vez e, depois , avaliar a
expressão de teste e criar o ciclo repetido.
Sintaxe do comando do whiledo
{
Instrução;
Instrução;
}
While (teste);
Faça
Enquanto
Exemplo 1
#include <stdio.h>int main (){ int n=1; do { printf("%d \n", n); n+=1; //Poderia ser feito também n++; } while (n<=10); system ("pause");}
Exemplo 2#include<stdio.h>int main(){ float nota1=0,nota2=0,media=0; int resp; do { printf("Digite a primeira nota: "); scanf("%f",¬a1); printf("Digite a segunda nota: "); scanf("%f",¬a2); media = (nota1 + nota2)/2; printf("Media do aluno = %f \n",media); printf("Digite 1 para continuar ou 2 para sair \n"); scanf("%d", &resp); }while (resp==1);return 0;}
Exemplo 3#include <stdio.h>
int main (){ int i=1; float nota1=0, nota2=0, nota3=0, media=0; do { printf("Digite a primeira nota: "); scanf ("%f", ¬a1); printf("Digite a segunda nota: "); scanf ("%f", ¬a2); printf("Digite a terceira nota: "); scanf ("%f", ¬a3); media=(nota1+nota2+nota3)/3; printf("A media e %.2f \n\n", media); i=i+1; } while (i<4);
system ("pause");}