• Nenhum resultado encontrado

Bac004 - Parte 5

N/A
N/A
Protected

Academic year: 2021

Share "Bac004 - Parte 5"

Copied!
23
0
0

Texto

(1)

Comandos de Controle em C

Comandos de Iteração

-Repetição

(2)

2

Comandos de Iteração



Existem três estruturas de repetição que podem ser

utilizadas:



for – recomendado quando há um número

determinado de repetições



while – recomendado quando há um número

indeterminado de repetições



do while – também recomendado quando há um

número indeterminado de repetições, mas

possui diferenças em relação ao while.

(3)

3

3

Comandos de Iteração –

Comando for

Forma Geral

for (inicialização; condição; incremento)

comando;

onde:

inicialização: geralmente um comando de atribuição que

coloca

um valor inicial para as variáveis de controle do laço for.

condição: uma condição relacional, lógica ou aritmética

que

define até quando a iteração pode continuar (condição de

permanência da repetição)

incremento: define como a variável de controle do laço

varia

cada vez que o laço é repetido.

Deve-se usar chaves se o corpo do laço tiver mais de uma

(4)

4

Comandos de Iteração –

Comando for

//ProgC043.cpp - escreve * 20 vezes na tela

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int i;

for( i=0 ; i < 20 ; i++)

cout << '*';

cout << endl;

system("PAUSE");

return 0;

}

Comando for

inicialização

Condição de parada

Incremento

(5)

5

Comandos de Iteração –

Comando for

//ProgC044 - Imprime a tabuada do 6

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int i;

for( i=1 ; i <= 10 ; i++ )

cout << '\n' << "\t" << i << " x 6 = " << "\t" << (i*6);

cout << endl;

system("PAUSE");

return 0;

}

Comando for

Comando que irá se repetir

inicialização

Condição de parada

(6)

6

6

Comandos de Iteração –

Comando while

Comando while

Forma Geral

while (condição)

comando;

onde:

condição: é qualquer expressão onde o

resultado é um valor igual ou diferente de zero.

comando: é um comando vazio, um comando

simples ou um comando em bloco (comando

composto).

(7)

7

Comandos de Iteração –

Comando while

//ProgC045.cpp - Escreve 20 asteriscos na tela.

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int i = 0;

while( i < 20 )

{

cout << '*';

i++;

}

cout << endl;

system("PAUSE"); return 0;

}

Comando

while

Inicialização da variável de controle

Teste da

condição

Incremento

da variável

(8)

8

Comandos de Iteração –

Comando while

//ProgC046.cpp - Validação de entrada de

dados

#include <iostream>

using namespace std;

int main(){

float base, altura, area;

base = 0;

while (base <= 0){

cout << "Digite a medida da base: ";

cin >> base; }

altura = 0;

while (altura <= 0){

cout << "\nDigite a medida da altura ";

cin >> altura; }

area = base * altura / 2;

cout << "Area = " << area;

return 0;

}

Inicialização

Condição

Nova entrada

Inicialização

Inicialização

Condição

Nova entrada

(9)

9

9

Comandos de Iteração –

Comando do while



Forma Geral

do {

comando;

} while (condição);



Ao contrário dos laços while e for que testam a

condição de permanência no começo, o laço

do-while

testa a condição de permanência no final.



O comando dentro das chaves será executado

enquanto a condição for satisfeita.

(10)

10

10

Comandos de Iteração –

Comando do while

/* ProgC047.cpp

Programa que apresenta a malha de repeticao do-while */

#include <iostream>

#include <cstdlib>

int main ( ){

int Contador = 1;

do {

std::cout << Contador << "\t";

Contador++;

} while (Contador <= 100);

system("PAUSE > null");

return 0;

}

Comando do … while

Inicialização

Atualização

Teste

(11)

11

Comandos de Iteração –

Comando do while

//ProgC048.cpp - Teste dos Triângulos #include <iostream>

using namespace std; int main(){

float base, altura, area; do {

cout << "Digite a medida da base: "; cin >> base;

} while (base <= 0); do {

cout << "\nDigite a medida da altura "; cin >> altura;

} while (altura <= 0); area = base * altura / 2; cout << "Area = " << area; return 0; }

Comando do … while

Comando do … while

Atualização

Atualização

Teste

Teste

(12)

03/08/13

Programas Exemplos

-Diversos

(13)

13

Comandos de Iteração –

Comando for

//ProgC049.cpp - Apresenta números pares de

// 0 a 100

#include <iostream>

using namespace std;

int main(){

int i;

for (i = 0; i <= 100; i = i + 2)

cout << i << "\t";

return 0;

}

Comando

for

Comando que irá se repetir

inicialização

Condição de parada

(14)

14

Comandos de Iteração –

Comando for

//ProgC050 - Calcula o quadrado de um número usando soma //o quadrado de n = soma dos n primeiros números ímpares #include <iostream>

#include <cstdlib> using namespace std; int main(){

int n, soma=0;

cout << "Digite um numero>" << endl; cin >> n;

cout << "O quadrado de " << n << " e "; if( n < 0 ) n = -n; //se negativo, muda o sinal for(int i=1 ; n > 0 ; n--) {

soma +=i; i += 2; }

cout << soma << endl; system("PAUSE"); return 0;

}

Declaração do i dentro do for,

só existe neste bloco.

(15)

15

Comandos de Iteração –

Comando for

//ProgC051 - Imprime linha - Repetição e Função

#include <iostream>

#include <cstdlib>

using namespace std;

void linha(int n);

int main(){

linha(21); cout << endl;

cout << "* FELIZ ANIVERSARIO *" << endl;

linha(21);

cout << endl; system("PAUSE"); return 0;

}

void linha( int n){

for(int i=0; i<n; i++) cout << '*';

}

Protótipo da Função

Chamada da Função

Função

(16)

16

Comandos de Iteração –

Comando for

//ProgC052.cpp - Imprime os divisores de um número #include <iostream>

using namespace std; bool divisivel(int x, int y){

if (x % y == 0) return true; return false; } int main(){ int N;

cout << "Digite um numero: "; cin >> N; for (int i = 1; i <= N; i++){

if ( divisivel(N, i) ) cout << i << endl; }

return 0; }

Função divisível – retorna tipo

de dados bool – true ou false

Chamada da Função divisível

Repetição

(17)

17

17

Comandos de Iteração –

Comando for

/* ProgC053.cpp

Malha de repetição For com comando composto */

#include <iostream>

#include <cstdlib>

int main ( ){

int Indice, Numero;

for (Indice = 100; Indice != 65; Indice -= 5){

Numero = Indice * Indice;

std::cout << "\nO quadrado de " << Indice << " e: " <<

Numero;

}

system("PAUSE > null");

return 0;

}

(18)

18

18

Comandos de Iteração –

Comando for

/* ProgC054.cpp

Repeticao For com 2 variaveis de controle */ #include <iostream>

#include <windows.h> #include <cstdlib> #include <string.h> void gotoxy (int x, int y){

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x,y}); }

int main ( ){

char Nome[9] = "UNIFEI"; int Indice1,Indice2;

system ("CLS");

for (Indice1=0, Indice2=strlen (Nome) - 1; Indice1 < strlen (Nome); Indice1++, Indice2--) { gotoxy(10+Indice1, 1); std::cout << Nome[Indice1]; gotoxy(10+Indice1, 2); std::cout << Nome[Indice2]; } system("PAUSE > null"); return 0; }

Função que possibilita colocar o cursor em um ponto da tela.

Comando for trabalhando com mais de uma variável de controle. Função da Biblioteca

(19)

19

19

Comandos de Iteração –

Comando for - Exemplo

/* ProgC055.cpp

Repeticao for infinita */

#include <iostream>

#include <cstdlib>

int main ( ){

for (;;)

std::cout << "Laco sem fim!";

system("PAUSE > null");

return 0;

}

O for possui partes que não são obrigatórias, assim este comando torna-se uma repetição infinita.

(20)

20

20

Comandos de Iteração –

Comando for - Exemplo

/* ProgC056.cpp

Repeticao for sem corpo */

#include <iostream>

#include <cstdlib>

int main ( ){

long int Contador;

std:: cout << "Espere um pouco...";

for (Contador = 1; Contador < 5000000; Contador++);

std:: cout << "\n\nTerminei !";

system("PAUSE > null");

return 0;

}

Comando for que não tem nenhum comando sendo repetido. Útil quando se deseja que o tempo passe.

(21)

21

Comandos de Iteração –

Comando while

//ProgC057.cpp - Jogo de Cara e Coroa #include <iostream>

#include <cstdlib> using namespace std; int main(){

int n, perda=0, ganho=0; cout << "Quantas vezes que jogar? "; cin >> n; for ( int i=0; i < n; i++) {

int resp; cout << "Escolha: 0=Cara e 1=Coroa: "; cin >> resp;

while ( resp != 0 && resp != 1) { cout << "ERRO: entre 0 cara e 1 coroa "; cin >> resp; } if (rand()%2==resp)

{ ganho++; if(resp==0) cout << "Deu Cara, voce ganhou." << endl; else cout << "Deu Coroa, voce ganhou." << endl;

} else

{ perda++; if(resp==0) cout << "Deu Coroa, voce perdeu." << endl; else cout << "Deu Cara, voce perdeu.";

} }

cout << "\n\nRelatorio Final:"; cout << "\nNo. de jogos que voce ganhou: " << ganho; cout << "\nNo. de jogos que voce perdeu: " << perda << endl; system("PAUSE"); return 0; }

Comando

while

Comando

for

(22)

22

Comandos de Iteração –

Comando for

//ProgC058.cpp - Imprime um tabuleiro de xadrez

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

system("cls"); //limpa a tela

for(int lin=1;lin<=8;lin++) //move o cursor para baixo

{

for(int col=1;col<=8;col++) //move o cursor para direita

if((lin+col)%2==0) //é número par?

cout << "\xdb\xdb";

else

cout << " ";

cout << endl;

}

system("PAUSE");

return 0;

}

(23)

23

Tópicos para Discussão



Estruturas de Repetição



for



while

Referências

Documentos relacionados

A menor resistência obtida na aplicação da técnica de ruído eletroquímico pode estar relacionada com fato do sistema aço/ hidrogenocarbonato de sódio não estar atingindo

679 Gramáticos y gramáticas humanistas en el contexto internacional del Occidente Europeo Maria José Corvo Sánchez. 685 Os nomes e sua

Não parece possível entender a situação actual dos falares da Galiza, a intensifica- ção crescente do processo de castelhanização do código que a sociedade urbana da

Objetivo: Contextualizar as principais causas e consequências psicossociais decorrentes da halitose e transmitir a importância do correto diagnóstico pelo

Consequentemente, o restauro arquitetônico foi trabalhado pelo autor exclusivamente do ponto de vista relativo ao conceito de integridade visual, de acordo com o qual

A matrilinearidade, mesmo sendo um modelo de organização relevante para a compreensão da história da África pré-colonial fora considerado pelos cientistas ocidentais um

82 ID., o c.. Ao tratarmos do símbolo como um mero revelador do conhe- cimento de si, nós amputamo-lo na sua função ontológica, nós fingimos crer que o «conhece-te a ti mesmo»

O pleno exercício de direitos políticos por seus titulares (eleitores, candidatos e partidos) é assegurado pela Constituição por meio de um sis- tema de normas que conformam o que