Buscar

ALGORITMOS - aula_6

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

AULA 6 – Prof. LUIZ DI MARCELLO
*
ALGORITMOS – AULA 6
Prof. LUIZ DI MARCELLO
Rio de Janeiro, 24 de Maio de 2011
AULA 6 – Prof. LUIZ DI MARCELLO
*
AULA 6 – ESTRUTURAS DE REPETIÇÃO
OBJETIVOS
Construir algoritmos usando o comando de repetição para além dos comandos/operadores/funções aprendidos nas aulas anteriores
Nomear os três comandos de repetição na linguagem C++
Codificar algoritmos na linguagem C++, usando todos os comandos aprendidos até a aula 6 
Usar o Teste de Mesa para acompanhar seus algoritmos com o comando para 
AULA 6 – Prof. LUIZ DI MARCELLO
*
 Como entrar com as notas de 35 alunos de uma turma ???
 Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00 ???
 Como exibir um menu de funções até que seja digitado o número 9 ???
São problemas parecidos ... 
					... mas não são iguais
SITUAÇÕES DE REPETIÇÃO
AULA 6 – Prof. LUIZ DI MARCELLO
*
 Como entrar com as notas de 35 alunos de uma turma ??? 			
			número conhecido de repetições
 Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00 ???
			
			enquanto uma condição for verdadeira
 Como exibir um menu de funções até que seja digitado o número 9 ???
			
			até que uma condição se torne verdadeira
SITUAÇÕES DE REPETIÇÃO
AULA 6 – Prof. LUIZ DI MARCELLO
*
PARA						FOR
ENQUANTO				WHILE
FAÇA ...ENQUANTO			DO ... WHILE
As estruturas são equivalentes, porém algumas situações tem “vocação” para determinadas soluções
O QUE UTILIZAR EM C++ ???
AULA 6 – Prof. LUIZ DI MARCELLO
*
para (inicial ; condição ; incremento)
{
	bloco de comando
}
for (inicial ; condição ; incremento)
 {
	bloco de comando
}
SINTAXE UAL e C++
AULA 6 – Prof. LUIZ DI MARCELLO
*
prog tabuada
 int cont,num;
 imprima “Numero? “;
 leia num;
 para (cont <- 1;cont <10 ;cont++)
 {
 imprima num, “ * “,cont,” = “;
 imprima num*cont, “\n”;
 }
fimprog
 
int main ()
{
 int cont,num;
 cout << "Numero? ";
 cin >> num;
 for (cont =1;cont <10 ;cont++)
 {
 cout << num << " x " <<cont <<" = ";
 cout << num*cont << "\n";
 }
 system ("pause");
}
 
EXEMPLO PARA / FOR
AULA 6 – Prof. LUIZ DI MARCELLO
*
enquanto (condição verdadeira)
{
	bloco de comando
}
while (condição verdadeira)
{
	bloco de comando
}
SINTAXE UAL e C++ 
AULA 6 – Prof. LUIZ DI MARCELLO
*
prog tabuada
 int cont,num;
 imprima “Numero? “;
 leia num;
 cont <- 1;
 enquanto (cont < 10)
 {
 imprima num, “ * “,cont,” = “;
 imprima num*cont, “\n”;
 cont++;
 }
fimprog
 
int main ()
{
 int cont,num;
 cout << "Numero? ";
 cin >> num;
 cont = 1;
 while (cont < 10)
 {
 cout << num << " x " <<cont <<" = ";
 cout << num*cont << "\n";
 cont++;
 }
 system ("pause");
}
 
EXEMPLO ENQUANTO / WHILE
AULA 6 – Prof. LUIZ DI MARCELLO
*
faca
{
	bloco de comando
}
enquanto (condição verdadeira)
do
{
	bloco de comando
}
while (condição verdadeira);
SINTAXE UAL e C++
SEM “Ç”
SEM “;”
AULA 6 – Prof. LUIZ DI MARCELLO
*
prog tabuada
 int cont,num;
 imprima “Numero? “;
 leia num;
 cont <- 1;
 faca 
 {
 imprima num, “ * “,cont,” = “;
 imprima num*cont, “\n”;
 cont++;
 } enquanto( cont <10)
fimprog
 
int main ()
{
 int cont,num;
 cout << "Numero? ";
 cin >> num;
 cont = 1;
 do
 {
 cout << num << " x " <<cont <<" = ";
 cout << num*cont << "\n";
 cont++;
 } while (cont < 10);
 system ("pause");
} 
EXEMPLO FAÇA...ENQUANTO / DO...WHILE
SEM “;”
SEM “Ç”
AULA 6 – Prof. LUIZ DI MARCELLO
*
 Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta.
#include <iostream> using namespace std; int main() {  int cont;  for(cont=100; cont>=20; cont-=10);  {    cout<< " "<<cont;  }  cout<< "\n";  system("pause"); }
REGISTRO DE FREQUÊNCIA
1) Não exibe nada. 2) Exibe a série: 100 90 80 70 60 50 40 30 20. 3) Exibe 10. 
AULA 6 – Prof. LUIZ DI MARCELLO
*
2. Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta.
#include <iostream> using namespace std; int main() {  int cont;  for(cont=100; cont>=1; cont/=5)  {    cout<< " "<<cont;  }  cout<< "\n";  system("pause"); }
REGISTRO DE FREQUÊNCIA
1) Exibe a série: 100 20 4. 2) Não exibe nada. 3) NRA.
AULA 6 – Prof. LUIZ DI MARCELLO
*
3. Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta.
#include <iostream> #include <cmath> using namespace std; int main() {  int cont; float num;  for(cont=1; cont<=4; cont++)  {    cout<< "\nNumero: ";    cin>>num;  }    cout<<"\n"<<pow(num,2);  cout<< "\n";  system("pause"); }
REGISTRO DE FREQUÊNCIA
1) Não exibe nada. 2) Exibe o quadrado o último número. 3) Quatro vezes solicita número e exibe o quadrado do número.
AULA 6 – Prof. LUIZ DI MARCELLO
*
Vamos fazer um programa que leia as opções de um menu:
1- INCLUIR
2- EXCLUIR
3- CONSULTAR
9- SAIR
PRECISAREMOS DE:
 Uma variável inteira para receber a opção
 Um comando para ler a variável opcao
 Um loop que ficará em execução enquanto a variável opcao for diferente de 9
 Uma seleção múltipla para executar o que cada opção indica
EXERCÍCIO RESOLVIDO
AULA 6 – Prof. LUIZ DI MARCELLO
*
int main ()
{
 int opcao;
 cout << " MENU\n";
 cout << " 1-INCLUIR\n";
 cout << " 2-EXLUIR\n";
 cout << " 3-CONSULTAR\n";
 cout << " 9-SAIR\n";
 cin >> opcao;
 
switch (opcao)
{
 case 1: cout << "VAI INCLUIR\n";
 break;
 case 2: cout << "VAI EXCLUIR\n";
 break;
 case 3: cout << "VAI CONSULTAR\n";
 break;
 case 9: break;
 default: cout << "OPCAO INVALIDA\n";
 } 
 system ("pause");
}
EXERCÍCIO RESOLVIDO
O BÁSICO NÃO MUDA:
AULA 6 – Prof. LUIZ DI MARCELLO
*
int main ()
{
 int opcao;
 cout << " MENU\n";
 cout << " 1-INCLUIR\n";
 cout << " 2-EXLUIR\n";
 cout << " 3-CONSULTAR\n";
 cout << " 9-SAIR\n";
 cin >> opcao;
 
switch (opcao)
{
 case 1: cout << "VAI INCLUIR\n";
 break;
 case 2: cout << "VAI EXCLUIR\n";
 break;
 case 3: cout << "VAI CONSULTAR\n";
 break;
 case 9: break;
 default: cout << "OPCAO INVALIDA\n";
 } 
 system ("pause");
}
EXERCÍCIO RESOLVIDO
O BÁSICO NÃO MUDA:
MAS A CADA EXECUÇÃO O PROGRAMA PARA...
E, ENTÃO, QUAL ESTRUTURA DE REPETIÇÃO USAR PARA QUE ISSO NÃO ACONTEÇA ???
AULA 6 – Prof. LUIZ DI MARCELLO
*
int main ()
{
 int opcao;
 for ( opcao = 1; opcao !=9 ; )
 {
 cout << "MENU\n";
 cout << " 1-INCLUIR\n";
 cout << " 2-EXLUIR\n";
 cout << “ 3-CONSULTAR\n";
 cout << “ 9-SAIR\n";
 cin >> opcao;
 
 switch(opcao){
 case 1: cout << "VAI INCLUIR\n";
 break;
 case 2: cout << "VAI EXCLUIR\n";
 break;
 case 3: cout << "VAI CONSULTAR\n";
 break;
 case 9: break;
 default: cout << "OPCAO INVALIDA\n";
 } 
 }
 system ("pause");
}
QUE TAL UTILIZARMOS O “for”...
EXERCÍCIO RESOLVIDO
AULA 6 – Prof. LUIZ DI MARCELLO
*
int main ()
{
 int opcao;
 opcao = 1;
 while (opcao !=9)
 {
 cout << "MENU\n";
 cout << " 1-INCLUIR\n";
 cout << " 2-EXLUIR\n";
 cout << “ 3-CONSULTAR\n";
 cout << “ 9-SAIR\n";
 cin >> opcao;
 
 switch(opcao){
 case 1: cout << "VAI INCLUIR\n";
 break;
 case 2: cout << "VAI EXCLUIR\n";
 break;
 case 3: cout << "VAI CONSULTAR\n";
 break;
 case 9: break;
 default: cout << "OPCAO INVALIDA\n";
 } 
 }
 system ("pause");
}
QUE TAL UTILIZARMOS O “while”...
EXERCÍCIO RESOLVIDO
AULA 6 – Prof. LUIZ DI MARCELLO
*
int main ()
{
 int opcao;
 do
 {
 cout << "MENU\n";
 cout << " 1-INCLUIR\n";
 cout << " 2-EXLUIR\n";
 cout << “ 3-CONSULTAR\n";
 cout << “ 9-SAIR\n";
 cin >> opcao;
 
 switch(opcao){
 case 1: cout << "VAI INCLUIR\n";
 break;
 case 2: cout << "VAI EXCLUIR\n";
 break;
 case 3: cout << "VAI CONSULTAR\n";
 break;
 case 9: break;
default: cout << "OPCAO INVALIDA\n";
 } 
 }
while (opcao !=9);
 system ("pause");
}
OU, ENTÃO, PODEMOS UTILIZAR O “do...while”...
EXERCÍCIO RESOLVIDO
*

Teste o Premium para desbloquear

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

Outros materiais