Buscar

Exercícios Resolvidos 2 1 a 2 9 - Programação de Computadores II -UFOP

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Exercícios Resolvidos 2.1 a 2.9 - Programação de Computadores II -UFOP
2.1 Faça um programa que leia os valores X e Y (números reais) que representam as coordenadas de um ponto em um plano cartesiano. Em seguida faça um dos cálculos abaixo, dependendo de qual quadrante o ponto se encontra (conforme diagrama abaixo).
	Q2
	Q1
	Q3
	Q4
· Primeiro quadrante: calcule o quociente da divisão de X por Y.
· Segundo quadrante: calcule o produto de X por Y.
· Terceiro quadrante: calcule a soma de X e Y.
· Quarto quadrante: calcule o valor de X elevado a Y.
Obs: considere que o ponto nunca estará sobre os eixos do plano cartesiano.
Exemplo de execução:
Entrada:
-3.5
2.2
Saída:
Segundo quadrante: produto = -7.7
Res:
#include <iostream>
#include <math.h>
using namespace std;
int main() {
 double x,y;
 cin >> x;
 cin >> y
 if(x < 0){
 if(y < 0)
 cout << "Terceiro quadrante: soma = " << x+y <<endl;
 else
 cout << "Segundo quadrante: produto = " << x*y <<endl; }
 else{
 if(y < 0)
 cout << "Quarto quadrante: potencia = " << pow(x,y) <<endl;
 else
 cout << "Primeiro quadrante: divisao = " << x/y <<endl; }
 return 0;}
2.2 Faça um programa que receba o código de origem de um produto e mostre a sua procedência. A procedência obedece à tabela a seguir.
	Código
	Procedência
	1
	Amazonas
	2
	Pará
	3 e 4
	Pernambuco
	5 e 6
	Bahia
	7 a 10
	Belo Horizonte
	11 a 20
	São Paulo
Exemplo de execução:
Entrada:
5
Saída:
Procedência: Bahia
Res:
#include <iostream>
#include <locale.h>
using namespace std;
int main(){
int x;
setlocale(LC_ALL,"Portuguese");
 cin>>x;
 if(x==1){
 cout<<"Procedência: Amazonas";}
 else if(x==2){
 cout<<"Procedência: Para";
 }
 else if(x==3 || x==4){
 cout<<"Procedência: Pernambuco";
 }
 else if(x==5 || x==6){
 cout<<"Procedência: Bahia";
 }
 else if(x>=7 && x<=10){
 cout<<"Procedência: Belo Horizonte";
 }
 else if(x>=11 && x<=20){
 cout<<"Procedência: São Paulo";
 }
 return 0;}
2.3 A nota final de um estudante é calculada a partir de três notas, atribuídas respectivamente a um trabalho de laboratório, a uma avaliação semestral e a um exame final. A média das três notas mencionadas obedece aos pesos a seguir:
	Nota
	Peso
	Trabalho de Laboratório
	2
	Avaliação Semestral
	3
	Exame Final
	5
Faça um programa que receba as três notas do dispositivo de entrada padrão, calcule e mostre a média ponderada das notas obtidas pelo aluno. Seu programa deverá informar também o conceito obtido pelo aluno na disciplina, segundo a relação a seguir:
	Média Ponderada
	Conceito
	[8.0,10.0]
	A
	[7.0,8.0[
	B
	[6.0,7.0[
	C
	[5.0,6.0[
	D
	[0.0,5.0[
	E
Exemplo de execução:
Entrada:
7.5
5.0
6.1
Saída:
Média ponderada: 6.05
Conceito: C
Res:
#include <iostream>
#include <iomanip>
#include <locale.h>
using namespace std;
int main(){
double x1,x2,x3,nota;
setlocale(LC_ALL,"Portuguese");
cin>>x1;
cin>>x2;
cin>>x3;
nota=(x1*2+x2*3+x3*5)/10;
if(nota>=0 && nota<5){
 cout<<"Média ponderada: "<<fixed<<setprecision(2)<<nota<<endl;
 cout<<"Conceito: E"<<endl;
}else if(nota>=5 && nota<6){
 cout<<"Média ponderada: "<<fixed<<setprecision(2)<<nota<<endl;;
 cout<<"Conceito: D"<<endl;
}else if(nota>=6 && nota<7){
 cout<<"Média ponderada: "<<fixed<<setprecision(2)<<nota<<endl;
 cout<<"Conceito: C"<<endl;
}else if(nota>=7 && nota<8){
 cout<<"Média ponderada: "<<fixed<<setprecision(2)<<nota<<endl;
 cout<<"Conceito: B"<<endl;
}else if (nota>=8 && nota<=10){
 cout<<"Média ponderada: "<<fixed<<setprecision(2)<<nota<<endl;
 cout<<"Conceito: A"<<endl;
}
return 0;}
2.4 Faça um programa que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu novo salário. Os cargos estão na tabela abaixo.
	Código
	Cargo
	Percentual
	1
	Escriturário
	50%
	2
	Secretario
	50%
	3
	Caixa
	20%
	4
	Gerente
	10%
	5
	Diretor
	Não tem aumento
Exemplo de execução:
Entrada:
1
1000
Saída:
O cargo de Escriturário teve aumento de 500.00 e o novo salário é 1500.00
Reso:
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main() {
 int cod;
 double sal;
 cin >> cod;
 cin >> sal;
 if(cod == 1)
 cout<<"O cargo de Escriturário teve aumento de "<<fixed <<setprecision(2)<<0.5*sal<<" e o novo salário é "<<fixed <<setprecision(2)<<1.5*sal;
 else if (cod == 2)
 cout<<"O cargo de Secretario teve aumento de "<<fixed <<setprecision(2)<<0.5*sal<<" e o novo salário é "<<fixed <<setprecision(2)<<1.5*sal<<endl;
 else if (cod == 3)
 cout<<"O cargo de Caixa teve aumento de "<<fixed <<setprecision(2)<<0.2*sal<<" e o novo salário é "<<fixed <<setprecision(2)<<1.2*sal<<endl;
 else if(cod == 4)
 cout<<"O cargo de Gerente teve aumento de "<<fixed <<setprecision(2)<<0.1*sal<<" e o novo salário é "<<fixed <<setprecision(2)<<1.1*sal<<endl;
 else if(cod == 5)
 cout<<"O cargo de Diretor não tem aumento"<<endl;
 return 0;}
2.5 Faça um programa que recebe um número inteiro de entrada e faça a soma de todos os números ímpares até N.
Exemplo de execução:
Entrada:
16
Saída:
Soma dos ímpares: 64
Resol:
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
 int i, n, soma;
 cin >> n;
 soma = 0;
 for(i =0; i <= n; i++){
 if(i % 2 == 1){
 soma += i;
 }
 }
 cout << "Soma dos ímpares: " << soma;
}
2.6 Criar um algoritmo que leia vários números inteiros e encerre a leitura com 0 e imprima o maior, o menor e a média aritmética dos números. O número 0 (zero) não faz parte da sequência.
Exemplo de execução:
Entrada:
5
574
58
4
7
21
69
14
7
8
0
Saída:
Maior: 574
Menor: 4
Média: 76.7
Resol:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
 float num, min, max, soma=0, contador=0;
 cin >> num;
 min= num;
 max= num;
 while(num != 0){
 if(num<min)
 min=num;
 else if(num>max)
 max=num;
 soma+=num;
 contador++;
 cin>>num;
 }
 cout<<"Maior: "<<max<<endl;
 cout<<"Menor: "<<min<<endl;
 cout<<"Média: "<<setprecision(1)<<fixed<<soma/contador<<endl;
 return 0;
}
2.7 Escreva um algoritmo que receba vários números, e finalize com a entrada do número –999. Para cada número, o algoritmo deve imprimir seus divisores inteiros.
Exemplo de execução:
Entrada:
12
8
6
5
7
-999
Saída:
Divisores de 12: 1 2 3 4 6 12
Divisores de 8: 1 2 4 8
Divisores de 6: 1 2 3 6
Divisores de 5: 1 5 
Divisores de 7: 1 7
Resol:
#include <iostream>
using namespace std;
int main(){
 int entrada, controle =-1;
 do{
 cin >> entrada;
 if(entrada == -999){
 controle =0;
 }else{
 cout<<"Divisores de "<<entrada<<": ";
 for(int i =1; i <= entrada; i++){
 if(entrada % i == 0){
 if(i == entrada){
 cout<<i<<endl;
 }else{
 cout<<i<<" ";
 }
 }
 }
 }
 }while(controle != 0);}
2.8 Criar um algoritmo que leia a idade e o sexo (0-masculino, 1-feminino) de várias pessoas. Calcule e imprima a idade média, o total de pessoas do sexo feminino com idade entre 30-45 inclusive e o número total de pessoas do sexo masculino. O algoritmo termina quando se digita um número não positivo (ou seja, zero ou um número negativo) para a idade.
Exemplo de execução:
Entrada:
20 1
45 1
22 0
17 0
35 1
58 0
-1
Saída:
Idade média: 32.83333
Total feminino [30-45]: 2
Total masculino: 3
 Resol:
int main() {
 int idade;
 int genero =0;
 int cont_idade=0;
 int wonAgecounter=0;
 int cont=0;
 int cont_homem=0;
 while(1){
 cin>>idade;
 if(idade==-1){
 break;
 }else{
 cin>>genero;
 if(genero==1 && (idade>=35 && idade <=45))
 wonAgecounter++;
 if (genero==1)cont_homem++;
 cont_idade+=idade;
 cont++;
 }
 }
 float mean = (float)cont_idade/cont;
 cout<<"Idade média: "<<fixed<<setprecision(5)<<mean<<endl;
 cout<<"Total feminino [30-45]: "<<wonAgecounter<<endl;
 cout<<"Total masculino: "<<cont_homem<<endl;
 return 0;
}
2.9
Existem três candidatos a uma vaga no Senado (1, 2 e 3). Feita a eleição, os votos são registrados.
O voto de cada eleitor foi codificado da seguinte forma:
· 1, 2 ou 3, para Voto em cada canditato em questão,
· 0 para voto branco,
· 4 para votos nulos.
O algoritmo deverá ser capaz de informar:
· o número do candidato vencedor;
· o número de votos em branco;
· o número de votos nulos
· número de eleitores que compareceram às urnas.
Obs: Admite-se que não são possíveis empates.
Construa um algoritmo que execute esta tarefa.
O voto finalizador tem código –1, e não deve ser computado.
Exemplo de execução:
Entrada:
1
1
1
2
4
0
3
1
2
3
3
3
2
4
1
0
0
2
2
3
4
1
-1
Saída:
Candidato vencedor: 1
Votos em branco: 3
Votos nulos: 3
Eleitores que compareceram às urnas: 22
Resol:
#include <iostream>
#include <math.h>
using namespace std;
int main() {
 int cand1=0,cand2=0,cand3=0,branco=0,nulo=0,vencedor,eleitores=0,voto;
 cin>>voto;
 while(voto!=-1){
 eleitores++;
 if(voto==0)
 branco++;
 else if(voto==1)
 cand1++;
 else if(voto==2)
 cand2++;
 else if(voto==3)
 cand3++;
 else if(voto==4)
 nulo++;
 cin>>voto;
 }
 if(cand1 > cand2 && cand1 > cand3)
 vencedor = 1;
 if(cand2 > cand1 && cand2 > cand3)
 vencedor = 2;
 else if(cand3 > cand1 && cand3 > cand2)
 vencedor = 3;
 cout <<"Candidato vencedor: "<<vencedor<<endl;
 cout <<"Votos em branco: "<<branco<<endl;
 cout <<"Votos nulos: "<<nulo<<endl;
 cout <<"Eleitores que compareceram às urnas: "<<eleitores<<endl;
 return 0;
}
3.1

Continue navegando