Programação Estruturada II
EXERCÍCIOS DA AULA DE LAB 01 – 2015.1
Prof. Thomás da Costa
thomasdacosta@gmail.com
Exercícios BÁSICOS – 2015.1
1 – O programa abaixotroca os valores das variáveis.Colocar a entrada e saída do programa.
#include <iostream>
using namespace std;
void troca(int &a, int &b);
int main()
{
int a = 10;
int b = 20;
cout << "Valor de A e B original:" << a << "-" << b << endl;
troca(a, b);
cout << "Valor de A e B FOI alterado:" << a << "-" << b << endl;
}
void troca(int &a, int &b)
{
int temp;
temp = b;
b = a;
a = temp;
}
Entrada:
Saída:
2 – O programa abaixorecebe um número e mostra se o mesmoé par ou ímpar. Colocar a entrada e saída do
programa.
#include <iostream>
using namespace std;
int pares_impares(int numero);
int main()
{
int numero;
int resultado;
for (;;)
{
cout << "Digite um numero ou digite zero para sair:" << endl;
cin >> numero;
resultado = pares_impares(numero);
if (resultado == 0)
cout << "Par" << endl;
else
cout << "Impar" << endl;
if (numero == 0)
break;
}
}
int pares_impares(int numero)
{
return numero % 2;
}
Entrada:
Saída:
3 - O programa abaixo imprime a quantidade de vogais de uma palavra. Colocar a entrada e saída do programa.
#include <iostream>
#include <string.h>
using namespace std;
int total_vogais(char *palavra);
int main()
{
char palavra[100];
cout << "*** Quantidade de vogais de uma palavra ***" << endl;
cout << "Digite uma palavra: ";
cin >> palavra;
cout << "Total de vogais na palavra: " << total_vogais(palavra) << endl;
}
int total_vogais(char *palavra)
{
int vogais = 0;
for (int i=0;i<=strlen(palavra)-1;i++)
{
switch (palavra[i])
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
{
vogais++;
break;
}
}
}
return vogais;
}
Entrada:
Saída:
4 – Este programa efetuao cadastro de um produto emuma lista e efetuaa consulta de todos os produtos
inseridos.Colocara entrada e saída do programa.
#include <iostream>
#include <limits>
#include <stdlib.h>
#include <conio.h>
using namespace std;
const char ARROZ = 'A';
const char FEIJAO = 'F';
const char REFRIGERANTE = 'R';
char lista_produtos[100];
void iniciar_produtos();
void imprimir_menu();
void incluir_produto(char produto);
void listar_produto();
int main()
{
int opcao;
char produto;
iniciar_produtos();
for (;;)
{
imprimir_menu();
cin >> opcao;
if (opcao == 1)
{
cout << "Digite o produto:" << endl;
cin >> produto;
incluir_produto(produto);
}
if (opcao == 2)
listar_produto();
if (opcao == 0)
break;
system("cls");
}
}
void iniciar_produtos()
{
for (int i=0;i<100;i++)
lista_produtos[i] = 'V';
}
void imprimir_menu()
{
cout << "** LOJA DE PRODUTOS **" << endl;
cout << "[1] - Incluir Produto" << endl;
cout << "[2] - Listar Produto" << endl;
cout << "[0] - Sair" << endl;
}
void incluir_produto(char produto)
{
for (int i=0;i<100;i++)
{
if (lista_produtos[i] == 'V')
{
lista_produtos[i] = produto;
cout << "Produto inserido com sucesso !!";
getch();
break;
}
}
}
void listar_produto()
{
for (int i=0;i<100;i++)
{
switch (lista_produtos[i])
{
case ARROZ:
cout << "Arroz" << endl;
break;
case FEIJAO:
cout << "Feijão" << endl;
break;
case REFRIGERANTE:
cout << "Refrigerante" << endl;
break;
}
}
getch();
}
Entrada:
Saída:
Exercícios NORMAL
1 – Os programas dos exercíciosanterioresrecebemuma informação do usuário.O que acontece quando é
digitadoum valor diferente dotipoda variável?
Resposta: _________________________________________________________________________________
2 – Como posso corrigir o problema propostona questãoanterior?
Resposta: _________________________________________________________________________________
3 – Modifique oexercício1 da seção anterior semo caractere “&” na função e mostre a saída do programa.
Resposta: _________________________________________________________________________________
4 – O programa abaixopossui um erro. Qual o problemado programa? Efetue a correção do programa
#include <iostream>
using namespace std;
double dividir(double valor1, double valor2);
int main()
{
int valor1;
int valor2;
int resultado;
cout << "Digite o valor A:" << endl;
cin >> valor1;
cout << "Digite o valor B:" << endl;
cin >> valor2;
resultado = dividir(valor1,valor2);
cout << "Resultado:" << resultado;
}
double dividir(double valor1, double valor2)
{
return valor1 / valor2;
}
Resposta: _________________________________________________________________________________
5 – O programa abaixoefetuao cálculoda médiado aluno. Modificaro programa criando funções,indicandoo
nome das funçõesna resposta.
#include <iostream>
using namespace std;
int main()
{
int opcao;
char aluno[100];
char ra[100];
double nota1;
double nota2;
cout << "Entre com o nome do aluno:" << endl;
cin >> aluno;
cout << "Entre com a RA do aluno:" << endl;
cin >> ra;
cout << "Digite a nota B1:" << endl;
cin >> nota1;
cout << "Digite a nota B2:" << endl;
cin >> nota2;
cout << "A média do aluno é:" << ((nota1 + nota2) / 2) << endl;
}
Resposta: _________________________________________________________________________________
6 – O programa abaixoutiliza de sobrecarga de função. Verificara execuçãodo programa e explicar o seu
funcionamento.
#include <iostream>
#include <string.h>
using namespace std;
void imprime_vetor(char *valores);
void imprime_vetor(int *valores);
void imprime_vetor(int *valores, int tamanho);
int main()
{
int valores[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
char nome[10] = {'a','n','h','a','n','g','u','e','r','a'};
imprime_vetor(nome);
imprime_vetor(valores);
imprime_vetor(valores, 10);
}
void imprime_vetor(char *valores)
{
cout << "void imprime_vetor(char *valores)" << endl;
for (int i=0;i<=9;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
void imprime_vetor(int *valores)
{
cout << "void imprime_vetor(int *valores)" << endl;
for (int i=0;i<=9;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
void imprime_vetor(int *valores, int tamanho)
{
cout << "void imprime_vetor(int *valores, int tamanho)" << endl;
for (int i=0;i<tamanho;i++)
{
cout << "valores[" << i << "] :" << valores[i] << endl;
}
}
Resposta: _________________________________________________________________________________
Exercícios AVANÇADOS
1 – Crie um programa que recebe uma letra e identifique se é uma vogal.
2 – Faça um programa para calcular o valor do impostode renda (IR: 27,5%), a partir do salário digitadopelo
usuário.
3 – Desenvolvaum programa que calcule a média de 3 números, o quadrado e imprimaa soma na tela.
4 – Crie um programa que entre com 2 números e imprimaa faixa de número entre eles,multiplique oanterior
com o próximo e liste os númerospares e impares
5 – Faça um programa que entre com dia, mêse ano e mostre no formato dd/mm/aaaa ou no formato aaaa-mm-
dd

Exercícios da Aula de LAB 01

  • 1.
    Programação Estruturada II EXERCÍCIOSDA AULA DE LAB 01 – 2015.1 Prof. Thomás da Costa thomasdacosta@gmail.com
  • 2.
    Exercícios BÁSICOS –2015.1 1 – O programa abaixotroca os valores das variáveis.Colocar a entrada e saída do programa. #include <iostream> using namespace std; void troca(int &a, int &b); int main() { int a = 10; int b = 20; cout << "Valor de A e B original:" << a << "-" << b << endl; troca(a, b); cout << "Valor de A e B FOI alterado:" << a << "-" << b << endl; } void troca(int &a, int &b) { int temp; temp = b; b = a; a = temp; } Entrada: Saída:
  • 3.
    2 – Oprograma abaixorecebe um número e mostra se o mesmoé par ou ímpar. Colocar a entrada e saída do programa. #include <iostream> using namespace std; int pares_impares(int numero); int main() { int numero; int resultado; for (;;) { cout << "Digite um numero ou digite zero para sair:" << endl; cin >> numero; resultado = pares_impares(numero); if (resultado == 0) cout << "Par" << endl; else cout << "Impar" << endl; if (numero == 0) break; } } int pares_impares(int numero) { return numero % 2; } Entrada: Saída:
  • 4.
    3 - Oprograma abaixo imprime a quantidade de vogais de uma palavra. Colocar a entrada e saída do programa. #include <iostream> #include <string.h> using namespace std; int total_vogais(char *palavra); int main() { char palavra[100]; cout << "*** Quantidade de vogais de uma palavra ***" << endl; cout << "Digite uma palavra: "; cin >> palavra; cout << "Total de vogais na palavra: " << total_vogais(palavra) << endl; } int total_vogais(char *palavra) { int vogais = 0; for (int i=0;i<=strlen(palavra)-1;i++) { switch (palavra[i]) { case 'A': case 'E': case 'I': case 'O': case 'U': case 'a': case 'e': case 'i': case 'o': case 'u': { vogais++; break; } } } return vogais; } Entrada: Saída:
  • 5.
    4 – Esteprograma efetuao cadastro de um produto emuma lista e efetuaa consulta de todos os produtos inseridos.Colocara entrada e saída do programa. #include <iostream> #include <limits> #include <stdlib.h> #include <conio.h> using namespace std; const char ARROZ = 'A'; const char FEIJAO = 'F'; const char REFRIGERANTE = 'R'; char lista_produtos[100]; void iniciar_produtos(); void imprimir_menu(); void incluir_produto(char produto); void listar_produto(); int main() { int opcao; char produto; iniciar_produtos(); for (;;) { imprimir_menu(); cin >> opcao; if (opcao == 1) { cout << "Digite o produto:" << endl; cin >> produto; incluir_produto(produto); } if (opcao == 2) listar_produto(); if (opcao == 0) break; system("cls"); } } void iniciar_produtos() { for (int i=0;i<100;i++) lista_produtos[i] = 'V'; } void imprimir_menu() { cout << "** LOJA DE PRODUTOS **" << endl; cout << "[1] - Incluir Produto" << endl; cout << "[2] - Listar Produto" << endl; cout << "[0] - Sair" << endl; } void incluir_produto(char produto)
  • 6.
    { for (int i=0;i<100;i++) { if(lista_produtos[i] == 'V') { lista_produtos[i] = produto; cout << "Produto inserido com sucesso !!"; getch(); break; } } } void listar_produto() { for (int i=0;i<100;i++) { switch (lista_produtos[i]) { case ARROZ: cout << "Arroz" << endl; break; case FEIJAO: cout << "Feijão" << endl; break; case REFRIGERANTE: cout << "Refrigerante" << endl; break; } } getch(); } Entrada: Saída:
  • 7.
    Exercícios NORMAL 1 –Os programas dos exercíciosanterioresrecebemuma informação do usuário.O que acontece quando é digitadoum valor diferente dotipoda variável? Resposta: _________________________________________________________________________________ 2 – Como posso corrigir o problema propostona questãoanterior? Resposta: _________________________________________________________________________________ 3 – Modifique oexercício1 da seção anterior semo caractere “&” na função e mostre a saída do programa. Resposta: _________________________________________________________________________________ 4 – O programa abaixopossui um erro. Qual o problemado programa? Efetue a correção do programa #include <iostream> using namespace std; double dividir(double valor1, double valor2); int main() { int valor1; int valor2; int resultado; cout << "Digite o valor A:" << endl; cin >> valor1; cout << "Digite o valor B:" << endl; cin >> valor2; resultado = dividir(valor1,valor2); cout << "Resultado:" << resultado; } double dividir(double valor1, double valor2) { return valor1 / valor2; } Resposta: _________________________________________________________________________________ 5 – O programa abaixoefetuao cálculoda médiado aluno. Modificaro programa criando funções,indicandoo nome das funçõesna resposta. #include <iostream> using namespace std; int main() { int opcao; char aluno[100]; char ra[100]; double nota1; double nota2; cout << "Entre com o nome do aluno:" << endl; cin >> aluno;
  • 8.
    cout << "Entrecom a RA do aluno:" << endl; cin >> ra; cout << "Digite a nota B1:" << endl; cin >> nota1; cout << "Digite a nota B2:" << endl; cin >> nota2; cout << "A média do aluno é:" << ((nota1 + nota2) / 2) << endl; } Resposta: _________________________________________________________________________________ 6 – O programa abaixoutiliza de sobrecarga de função. Verificara execuçãodo programa e explicar o seu funcionamento. #include <iostream> #include <string.h> using namespace std; void imprime_vetor(char *valores); void imprime_vetor(int *valores); void imprime_vetor(int *valores, int tamanho); int main() { int valores[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; char nome[10] = {'a','n','h','a','n','g','u','e','r','a'}; imprime_vetor(nome); imprime_vetor(valores); imprime_vetor(valores, 10); } void imprime_vetor(char *valores) { cout << "void imprime_vetor(char *valores)" << endl; for (int i=0;i<=9;i++) { cout << "valores[" << i << "] :" << valores[i] << endl; } } void imprime_vetor(int *valores) { cout << "void imprime_vetor(int *valores)" << endl; for (int i=0;i<=9;i++) { cout << "valores[" << i << "] :" << valores[i] << endl; } } void imprime_vetor(int *valores, int tamanho) { cout << "void imprime_vetor(int *valores, int tamanho)" << endl; for (int i=0;i<tamanho;i++) { cout << "valores[" << i << "] :" << valores[i] << endl; } } Resposta: _________________________________________________________________________________
  • 9.
    Exercícios AVANÇADOS 1 –Crie um programa que recebe uma letra e identifique se é uma vogal. 2 – Faça um programa para calcular o valor do impostode renda (IR: 27,5%), a partir do salário digitadopelo usuário. 3 – Desenvolvaum programa que calcule a média de 3 números, o quadrado e imprimaa soma na tela. 4 – Crie um programa que entre com 2 números e imprimaa faixa de número entre eles,multiplique oanterior com o próximo e liste os númerospares e impares 5 – Faça um programa que entre com dia, mêse ano e mostre no formato dd/mm/aaaa ou no formato aaaa-mm- dd