21
LAÇOS LINGUAGEM C.

Aula 7 e 8 - Lacos

Embed Size (px)

Citation preview

Page 1: Aula 7 e 8 - Lacos

LAÇOSLINGUAGEM C.

Page 2: Aula 7 e 8 - Lacos

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

Em C, existem três comandos de laços

• For

• While

• Do while

Page 4: Aula 7 e 8 - Lacos

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

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

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

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

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

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

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

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

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

Sintaxe do comando WhileInicialização;

while (Teste)

{

comandos

....

incremento;

}

Page 14: Aula 7 e 8 - Lacos

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

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

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

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

Sintaxe do comando do whiledo

{

Instrução;

Instrução;

}

While (teste);

Faça

Enquanto

Page 19: Aula 7 e 8 - Lacos

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

Exemplo 2#include<stdio.h>int main(){ float nota1=0,nota2=0,media=0; int resp; do { printf("Digite a primeira nota: "); scanf("%f",&nota1); printf("Digite a segunda nota: "); scanf("%f",&nota2); 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

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", &nota1); printf("Digite a segunda nota: "); scanf ("%f", &nota2); printf("Digite a terceira nota: "); scanf ("%f", &nota3); media=(nota1+nota2+nota3)/3; printf("A media e %.2f \n\n", media); i=i+1; } while (i<4);

system ("pause");}