Buscar

Aula 06 -Estruturas de Controle

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

*
*
*
Estruturas de Controle
Aula nº 03
Estrutura seqüencial
Estruturas de seleção: if, if/else, ? :
*
*
* /24
Algoritmo
Procedimento para resolver um problema em termos
das ações que devem ser executadas; e
da seqüência em que estas ações devem ser executadas.
Aula nº 06 - Estruturas de Controle
*
*
* /24
Algoritmo “Troca de Pneu”
Apanhe o macaco;
Posicione o macaco sob o carro;
Folgue as porcas do pneu;
Levante o carro com o macaco;
Retire o pneu;
Coloque o estepe;
Coloque os parafusos;
Baixe o carro;
Aperte os parafusos;
Guarde o pneu retirado e o macaco.
E se o estepe estiver furado/vazio?
E se as porcas estiverem aluídas?
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estruturas de Controle
Execução seqüencial;
Transferência de controle;
 goto
 problemas – transferência de controle indiscriminada;
 programação estruturada;
Aula nº 06 - Estruturas de Controle
*
*
* /24
Apanhe o macaco;
Posicione o macaco sob o carro;
Folgue as porcas do pneu;
Levante o carro com o macaco;
Retire o pneu;
Se o estepe estiver vazio goto 13;
Coloque o estepe;
Coloque os parafusos;
Baixe o carro;
Aperte os parafusos;
Guarde o pneu retirado e o macaco.
goto 15;
Leve o pneu furado ao borracheiro e retorne com o pneu cheio;
goto 7;
Fim.
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estruturas de Controle (cont.)
Bohm e Jacopini – 1970 – afirmam que é possível escrever programas sem goto;
Todos os programas podem ser escritos em termos de apenas 3 estruturas:
Estrutura de seqüência;
Estrutura de seleção;
Estrutura de repetição.
Aula nº 06 - Estruturas de Controle
*
*
* /24
Fluxograma
representação de algoritmos
símbolos
linhas de fluxo
Estrutura de sequência
y = x + y;
cout << y;
Aula nº 06 - Estruturas de Controle
*
*
* /24
Fluxograma
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estruturas de Controle
Seqüência
Estruturas de Seleção
if
if/else
switch
Estruturas de Repetição
while
do/while
for
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estruturas de Controle
Os programas em C++ são construídos apenas com essas 7 estruturas de controle (blocos de construção);
Empilhamento
Aninhamento
Cada estrutura só tem uma entrada e uma saída.
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estrutura de seleção if
Usada para escolher curso de ação alternativo;
 Se a nota do estudante for maior que ou igual a 7, 
		 Imprima “Aprovado”
			...
			if (nota >= 7)
				cout << “Aprovado”;
			...
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estrutura de seleção if (cont)
if (nota >= 7)
	 cout << “Aprovado”;
imprime “Aprovado”
Em C++
Se o valor da expressão for 0 false
Se o valor da expressão não for 0 true
Aula nº 06 - Estruturas de Controle
*
*
* /24
imprime “Aprovado”
fim
início
Aula nº 06 - Estruturas de Controle
*
*
* /24
#include <iostream>
using namespace std;
int main() {
	int nota;	
	cout << “\nDigite a nota do aluno: ”;
	cin >> nota;
	if (nota >= 7)
	 cout << “Aprovado”;
	return 0;
}
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estrutura if/else
Permite indicar uma ação para executar se a condição é true e outra ação se condição é false.
 
Se a nota do estudante for maior que ou igual a 7
	Imprima “Aprovado”
senão
	Imprima “Reprovado”
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estrutura if/else (cont)
 Se a nota do estudante for maior que ou igual a 7.0
		Imprima “Aprovado”
 senão
		Imprima “Reprovado”
 	if (nota >= 7)
		 cout << “Aprovado”;
	else
		 cout << “Reprovado”;
Aula nº 06 - Estruturas de Controle
*
*
* /24
Estrutura if/else (cont)
if (nota >= 7.0)
 cout << “Aprovado”;
else
 cout << “Reprovado”;
Aula nº 06 - Estruturas de Controle
*
*
* /24
(_?_:_)
(_?_:_)
(_?_:_)
(_?_:_)
Operador condicional
operador ternário
terceiro operando – valor para a expressão condicional inteira, se a condição for false
segundo operando – valor para a expressão condicional inteira, se a condição for true
primeiro operando – condição
Aula nº 06 - Estruturas de Controle
*
*
* /24
Operador condicional (cont)
 cout << (nota>=7.0 ? “Aprovado” : “Reprovado”);
Obs.:  Precedência baixa
	  Os valores das expressões 			podem ser ações
 (nota>=7.0 ? cout<<“Aprovado” : cout<< “Reprovado”);
Aula nº 06 - Estruturas de Controle
*
*
* /24
if ’s aninhados
Se a nota for maior ou igual a 90
	 imprima “A”
senão
	 Se a nota for maior ou igual a 80
	 imprima “B”
	 senão
	 Se a nota for maior ou igual a 70
		 imprima “C”
	 senão
		 Se a nota for maior ou igual a 60
			imprima “D”
		 senão
			imprima “R”
Aula nº 06 - Estruturas de Controle
*
*
* /24
if (nota >= 90)
	 cout << “A”;
else
	 if (nota >= 80)
	 	cout << “B”;
	 else
	 if (nota >= 70)
		 cout << “C”;
	 else
		 if (nota >= 60)
			 cout << “D”;
		 else
			 cout << “R”;
Aula nº 06 - Estruturas de Controle
*
*
* /24
Comandos compostos
if (nota >= 60)
	 cout << “Aprovado.\n”;
else {
	 cout << “Reprovado.\n”;
	 cout << “Repita esse curso.\n”;
}	
Aula nº 06 - Estruturas de Controle
*
*
* /24
Exercícios em trio
Ler dois números inteiros, x e y, e imprimir o quociente e o resto da divisão inteira entre eles.
Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima se a fração é própria ou imprópria.
Aula nº 06 - Estruturas de Controle
*
*
* /24
Exercícios em trio
Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima:
se a fração é aparente, ou
se a fração é própria, ou 
se a fração é imprópria.
Aula nº 06 - Estruturas de Controle

Teste o Premium para desbloquear

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

Outros materiais