aula 7 e 8 - lacos
TRANSCRIPT
![Page 1: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/1.jpg)
LAÇOSLINGUAGEM C.
![Page 2: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/2.jpg)
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.
![Page 3: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/3.jpg)
Em C, existem três comandos de laços
• For
• While
• Do while
![Page 4: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/4.jpg)
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.
![Page 5: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/5.jpg)
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
![Page 6: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/6.jpg)
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.
![Page 7: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/7.jpg)
Exemplo 1#include <stdio.h>
int main (){ int i; for (i=1 ; i < 40 ; i++) printf ("%c", '*'); printf("\n");
system("pause"); return 0;
}
![Page 8: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/8.jpg)
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;
}
![Page 9: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/9.jpg)
Exercício 1
• Crie um programa em C, de forma que seja solicitado quatro
vezes um numero inteiro e imprima o triplo deles.
![Page 10: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/10.jpg)
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;
}
![Page 11: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/11.jpg)
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.
![Page 12: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/12.jpg)
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.
![Page 13: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/13.jpg)
Sintaxe do comando WhileInicialização;
while (Teste)
{
comandos
....
incremento;
}
![Page 14: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/14.jpg)
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;}
![Page 15: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/15.jpg)
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”);}
![Page 16: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/16.jpg)
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;
}
![Page 17: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/17.jpg)
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.
![Page 18: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/18.jpg)
Sintaxe do comando do whiledo
{
Instrução;
Instrução;
}
While (teste);
Faça
Enquanto
![Page 19: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/19.jpg)
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");}
![Page 20: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/20.jpg)
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;}
![Page 21: Aula 7 e 8 - Lacos](https://reader035.vdocuments.com.br/reader035/viewer/2022062421/55cf998f550346d0339e04d1/html5/thumbnails/21.jpg)
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");}