Buscar

Aula-10 Estru.Controle

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Estruturas de Controle
Aula nº 07
Estrutura de Seleção Múltipla switch
Estrutura de Repetição do/while
*
*
*/24
A estrutura de seleção múltipla switch
É utilizada quando se quer especificar ações condicionadas a uma série de decisões nas quais uma variável ou expressão é testada para cada um dos valores constantes que ela pode assumir.
*
*
*/24
A estrutura de seleção switch
Como se trata de uma estrutura de seleção múltipla, podemos dizer que a estrutura switch equivale a uma série de if’s (ou if-else’s) em que as condições consistem sempre em comparar uma mesma variável (ou expressão) com diferentes valores possíveis; 
Consiste de uma série de rótulos case e um caso default.
*
*
*/24
A estrutura de seleção switch
	switch (expressão) {
	 	case a:
			ações;
	 		break;
		 	...
	 	case n:
			ações;
			break;
	 	default:
			ações;
			break;
	}
*
*
*/24
Exemplo
Considere que em uma avaliação aplicada são atribuídos conceitos aos alunos: A, B, C, D, e E.
Faça um programa que receba o conceito atingido por cada aluno e conte o número de ocorrências de cada conceito na turma, isto é, quantos conceitos A, quantos conceitos B, etc.
*
*
*/24
#include <iostream>
using namespace std;
int main()
{
 char conceito;
 int contA, contB, contC, contD, contE;
 contA=contB=contC=contD=contE=0;
 cout<< "Forneça os conceitos." << endl << "Digite <ctrl-z> para terminar a 	 entrada de dados." << endl ;
*
*
*/24
while ( (conceito =cin.get( ) ) != EOF) {
 switch (conceito ) {
 case 'A':
 case 'a':
 ++contA;
 break;
 case 'B':
 case 'b':
 ++contB;
 break;
 case ‘C':
 Case 'c':
 	 ++contC;
 break;
*
*
*/24
	 case ‘D':
	 case ‘d’:
	 ++contD;
		break;
	 case ‘E':
	 case ‘e':
 	 ++contE;
		break;
	 default:
		cout<< “"Este conceito nao existe,
 digite um novo conceito " << endl;
nota =cin.get( )
*
*
*/24
	 case ‘E':
	 case ‘e':
 	 ++contE;
		break;
	 
	 default:
		cout<< “Este conceito nao existe,
 digite um novo conceito ” << endl;
nota =cin.get( )
case ‘\n’:
case ‘\t’:
case ‘ ’:
 break;
*
*
*/24
	default:
	cout<< “Este conceito nao existe,
 digite um novo conceito ” << endl;
	break;
 } // fim do switch
 } // fim do while
 cout <<“\n\nOs totais por conceito são:”
	 << “\nA: ” << contA
*
*
*/24
cout <<“\n\nOs totais por conceito são:”
	<< “\nA: ” << contA
 	<< “\nB: “ << contB
 	<< “\nC: “ << contC
 	<< “\nD: “ << contD
 	<< “\nE: “ << contE << endl ;
 return 0;
} // fim de main
*
*
*/24
#include <iostream>
using namespace std;
int main( ) {
 char conceito;
 int contA=0, contB=0, contC=0, contD=0, contE=0;
 cout << "Forneça os conceitos." << endl "Digite <ctrl-z> 		 para terminar a entrada de dados." << endl ;
 
*
*
*/24
while ( (conceito =cin.get( ) ) != EOF) {
 switch (conceito) {
	case 'A':
 	case 'a':
	 ++contA;
	 break;
 	case 'B':
 	case 'b':
 	 ++contB;
 	 break;
 	...
	case 'E':
	case 'e':
 	 ++contE;
	 break;
	default:
	 cout<<"Este conceito nao existe,digite um novo conceito"<< endl;
 break;
 } // fim do switch
 } // fim do while
*
*
*/24
 cout <<"\n\nOs totais por conceito sao:" 
 	 << "\nA: " << contA
 	 << "\nB: " << contB
 	 << "\nC: " << contC
 	 << "\nD: " << contD
 	 << "\nE: " << contE << endl ;
 return 0;
} // fim de main
*
*
*/24
case a
Fluxograma
*
*
*/24
A Estrutura de repetição do/while
Semelhante à estrutura while;
Nesse caso, o laço sempre é executado pelo menos uma vez;
O laço é executado e só depois a condição é testada.
*
*
*/24
		do 	
			corpo
		 while (condição);
A Estrutura de repetição do/while
		 { 	
			
		}
*
*
*/24
Saída:
Exemplo
	...
int main ( )
{
		int i = 1;
		do {
			cout << i << “ ”;
		} while ( ++i <= 10);
		cout << endl;
	...
}
1 2 3 4 5 6 7 8 9 10
*
*
*/24
Fluxograma
condição
true
*
*
*/24
Os comandos break e continue
Alteram o fluxo de controle;
break (dentro de while, for, do/while ou switch)
provoca a saída imediata da estrutura passando para a primeira linha após esta.
*
*
*/24
Saída:
1 2 3 4 5 6 7 8 9 10
Saiu do laço com x = 11
Exemplo
...
int main ( )
{
		int x;
		for (x=1; x<=10; x++) {
			cout << x << “ ”;	
			if (x == 5)
				break;
			
		}
		cout << “\n Saiu do laço com x = ”
			<< x << endl;
}
*
*
*/24
Saída:
1 2 3 4 5 
Saiu do laço com x = 5
...
int main ( )
{
		int x;
		for (x=1; x<=10; x++) {
			cout << x << “ ”;
 	
			if (x == 5)
				break;
			
		}
		cout << “\n Saiu do laço com x = ”
			<< x << endl;
}
*
*
*/24
Os comandos break e continue
continue (dentro de while, for, ou do/while)
salta os comandos restantes do corpo do laço e prossegue com a próxima repetição.
*
*
*/24
Saída:
1 2 3 4 6 7 8 9 10
Exemplo
...
int main ( )
{
		int x;
		for (x=1; x<=10; x++) {
			if (x == 5)
				continue;
			cout << x << “ ”;
		}
		cout << “\n Pulou o 5 ! << endl;
}
Pulou o 5 !
*
*
*/24
Operadores lógicos
“e” lógico: &&
	(curso == 1) && (idade<20)
“ou” lógico: ||
	(idade <= 20) || (idade>=50)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando