Exercícios da Aula de LAB 01

9
Programação Estruturada II EXERCÍCIOS DA AULA DE LAB 01 2015.1 Prof. Thomás da Costa [email protected]

Transcript of Exercícios da Aula de LAB 01

Page 1: Exercícios da Aula de LAB 01

Programação Estruturada II

EXERCÍCIOS DA AULA DE LAB 01 – 2015.1

Prof. Thomás da Costa

[email protected]

Page 2: Exercícios da Aula de LAB 01

Exercícios BÁSICOS – 2015.1

1 – O programa abaixo troca 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:

Page 3: Exercícios da Aula de LAB 01

2 – O programa abaixo recebe 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:

Page 4: Exercícios da Aula de LAB 01

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:

Page 5: Exercícios da Aula de LAB 01

4 – Este programa efetua o cadastro de um produto em uma lista e efetua a consulta de todos os produtos inseridos. Colocar a 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)

Page 6: Exercícios da Aula de LAB 01

{ 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:

Page 7: Exercícios da Aula de LAB 01

Exercícios NORMAL

1 – Os programas dos exercícios anteriores recebem uma informação do usuário. O que acontece quando é digitado um valor diferente do tipo da variável?

Resposta: _________________________________________________________________________________

2 – Como posso corrigir o problema proposto na questão anterior?

Resposta: _________________________________________________________________________________

3 – Modifique o exercício 1 da seção anterior sem o caractere “&” na função e mostre a saída do programa.

Resposta: _________________________________________________________________________________

4 – O programa abaixo possui um erro. Qual o problema do 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 abaixo efetua o cálculo da média do aluno. Modificar o programa criando funções, indicando o nome das funções na 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;

Page 8: Exercícios da Aula de LAB 01

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 abaixo utiliza de sobrecarga de função. Verificar a execução do 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: _________________________________________________________________________________

Page 9: Exercícios da Aula de LAB 01

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 imposto de renda (IR: 27,5%), a partir do salário digitado pelo usuário.

3 – Desenvolva um programa que calcule a média de 3 números, o quadrado e imprima a soma na tela.

4 – Crie um programa que entre com 2 números e imprima a faixa de número entre eles, multiplique o anterior

com o próximo e liste os números pares e impares

5 – Faça um programa que entre com dia, mês e ano e mostre no formato dd/mm/aaaa ou no formato aaaa-mm-dd