Buscar

Lista_6_Gabarito

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

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

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ê viu 3, do total de 12 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

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

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ê viu 6, do total de 12 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

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

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ê viu 9, do total de 12 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

Prévia do material em texto

Lista 6 - gabarito 
 
 
Lista 6 - imprima, atribuição,\leia, se ... então .. senão se, escolha, para 
ou enquanto ou faca...enquanto e vetores. 
 
 
Orientações: 
1- Todas as soluções na linguagem UAL. 
2- O comanda de entrada está presente em todos os exercícios. 
3- Quando existir algum cálculo declare a variável e armazene o 
resultado da operação. 
4- A estrutura do para, ou a estrutura do enquanto ou a estrutura do 
faca...enquanto, está presente em todos os exercícios. 
5 - Todos os exercícios terão comando de saída. 
6- Todos os exercícios têm pelo menos um vetor. 
7- Codificar em C++ todas as soluções já testadas no ambiente UAL. 
 
Linguagem UAL Linguagem C++ 
Solução do exercício 13 
 
 
 
 
 
1) Armazenar 10 números inteiros em um vetor NUM e exibir uma listagem 
numerada. 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 15 
using namespace std; 
int main() 
{ 
 //declaração da variável do for e do vetor 
 int x, NUM[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nRelacao do numeros\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<" - "<<NUM[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
2) Armazenar 15 números inteiros em um vetor NUM e exibir uma listagem 
numerada contendo o número e uma das mensagens: par ou ímpar. 
#include <iostream> 
#define TAM 15 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, NUM[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nNumero\tPar/Iimpar\n"; 
 for(x=0; x< TAM; x++) 
 if(NUM[x] % 2 == 0 ) 
 cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tPAR"; 
 else 
 cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tIMPAR"; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
Lista 6 - gabarito 
 
 
 
3) Entrar com números reais para o vetor A de 10 elementos. Gerar e exibir o 
vetor triplo. 
#include <iostream> 
#define TAM 10 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], TRI[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 //gerando o vetor triplo 
 for(x=0; x< TAM; x++) 
 { 
 TRI[x]= A[x] * 3; //essa linha poderia estar no 1o for, depois da entrada 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nVetor Triplo\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<TRI[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
4) Armazenar 8 números em um vetor e exibir todos os números. Ao final, o total 
de números múltiplos de seis digitados. 
#include <iostream> 
#define TAM 8 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, contador e do vetor 
 int x, NUM[TAM], conta6=0; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 if(NUM[x] % 6 == 0) 
 conta6++; 
 
Lista 6 - gabarito 
 
 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nRelacao do numeros\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<" - "<<NUM[x]; 
 cout<<"\n\nTotal de numeros multiplos de 6: "<<conta6; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
5) Armazenar matrícula e notas das AV1, AV2 e AV3 de 15 alunos. Calcular e 
armazenar a média segundo critério da Estácio (as duas maiores notas 
precisam ser maiores do que 4,0 e a média tem que ser maior ou igual a 6,0). 
Exibir uma listagem contendo matricula, as duas notas, média e situação de 
cada aluno. 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, das variaveis simples e dos vetores 
 int x, matric[TAM], sit[TAM]; 
 float AV1[TAM], AV2[TAM], AV3[TAM], med[TAM], maior1, maior2; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nMatricula do "<<x+1<<"o aluno: "; 
 cin>>matric[x]; 
 cout<<"\nNota da AV1 do "<<x+1<<"o aluno: "; 
 cin>>AV1[x]; 
 cout<<"\nNota da AV2 do "<<x+1<<"o aluno: "; 
 cin>>AV2[x]; 
 cout<<"\nNota da AV3 do "<<x+1<<"o aluno: "; 
 cin>>AV3[x]; 
 } 
 
 //calculo da media 
 for(x=0; x< TAM; x++) 
 { 
 if(AV1[x] < AV2[x] && AV1[x] < AV3[x] ) 
 { 
 maior1=AV2[x]; maior2=AV3[x]; 
 } 
 else if( AV2[x] < AV3[x] ) 
 { 
 maior1=AV1[x]; maior2=AV3[x]; 
 } 
 else 
 { 
 maior1=AV1[x]; maior2=AV2[x]; 
 
Lista 6 - gabarito 
 
 
 } 
 med[x]=(maior1 + maior2)/2; 
 //Quando voce, na AULA_10 aprender a ducao strcpy(), volte aqui e 
melhore esse trecho 
 if(maior1 >= 4 && maior2 >= 4 && med[x] >=6 ) 
 sit[x]=1; 
 else 
 sit[x]=0; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nMatric.\tAV1\tAV2\tAV3\tMedia\tSituacao\n"; 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\n"<< 
matric[x]<<"\t"<<AV1[x]<<"\t"<<AV2[x]<<"\t"<<AV3[x]<<"\t"<<med[x]<
<"\t"; 
 if(sit[x] == 1) 
 cout<<"AP"; 
 else 
 cout<<"RP"; 
} 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
6) Armazenar matrícula e salário de 20 pessoas. Calcular o novo salário sabendo-
se que o reajuste foi de 8%. Exibir uma listagem numerada com matrículas e 
novos salários. 
#include <iostream> 
#define TAM 20 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x, matric[TAM]; 
 float sal[TAM], salNovo[TAM]; 
 
 //entrada e calculo do novo salario 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nMatricula do "<<x+1<<"o funcionario: "; 
 cin>>matric[x]; 
 cout<<"\nSalario atual do "<<x+1<<"o funcionario: "; 
 cin>>sal[x]; 
 salNovo[x]=sal[x] * 1.08; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 
Lista 6 - gabarito 
 
 
 cout<< "\nMatric\tNovo salario\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<"-"<<matric[x]<<"\t"<<salNovo[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
7) Armazenar código, quantidade, valor de compra e valor de venda de 30 
produtos. A listagem pode ser de todos os produtos ou somente de um ao se 
digitar o código. 
#include <iostream> 
#define TAM 30 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, outras variáveis simples e dos vetores 
 int x, codigo[TAM], qtdade[TAM], codigoProcura, achou, op, posicaoAchada; 
 float valorCompra[TAM], valorVenda[TAM]; 
 
 //entrada e 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nCodigo do "<<x+1<<"o produto: "; 
 cin>>codigo[x]; 
 cout<<"\nQuantidade do "<<x+1<<"o produto: "; 
 cin>>qtdade[x]; 
 cout<<"\nValor de compra do "<<x+1<<"o produto: "; 
 cin>>valorCompra[x]; 
 cout<<"\nValor de compra do "<<x+1<<"o produto: "; 
 cin>>valorVenda[x]; 
 } 
 
 //saida 
 do 
 { 
 system("cls"); //no Linux system("clear"); 
 cout<<"\nListagem\n"; 
 cout<<"\n1- Todos"; 
 cout<<"\n2- So um"; 
 cout<<"\n3- Sai"; 
 cout<<"\nOpcao: "; 
 cin>>op; 
 system("cls"); 
 switch(op) 
 { 
 case 1: 
 cout<< "\nCodigo\tQtdade\tCompra\tVenda\n";for(x=0; x< TAM; x++) 
 
cout<<"\n"<<codigo[x]<<"\t"<<qtdade[x]<<"\t"<<valorCompra[x]<<"\t"<<
valorVenda[x]; 
 
Lista 6 - gabarito 
 
 
 break; 
 
 case 2: 
 cout<< "\nDigite o codigo do produto: "; 
 cin>>codigoProcura; 
 achou=0; 
 for(x=0; x< TAM && achou == 0; x++) 
 if(codigoProcura == codigo[x]) 
 { 
 achou=1; 
 posicaoAchada=x; 
 } 
 
 if(achou == 1) 
 { 
 cout<< "\nCodigo\tQtdade\tCompra\tVenda\n"; 
 
cout<<"\n"<<codigo[posicaoAchada]<<"\t"<<qtdade[posicaoAchada]<<"\t"<
<valorCompra[posicaoAchada]<<"\t"<<valorVenda[posicaoAchada]; 
 } 
 else 
 cout<<"\nCodigo não encontrado"; 
 break; 
 
 case 3: 
 cout<<"\nGabarito\n"; 
 break; 
 
 default: cout<<"\nOpcao Invalida\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
 }while(op != 3); 
} 
 
8) Entrar com números inteiros em um vetor A [50]. Gerar e exibir o vetor B 
onde cada elemento é o quadrado do elemento, na respectiva posição, do 
vetor A. 
#include <iostream> 
#define TAM 50 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], B[TAM]; 
 
 //entrada e geracao do vetor B 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 B[x]= A[x] * A[x]; //pode usar a funcao pow(,) 
 
Lista 6 - gabarito 
 
 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nVetor Quadrado\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<B[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
9) Faça um programa que leia um vetor A de 10 valores e construa outro vetor B, 
da seguinte forma: 
Ex: Vetor A 3 8 4 2 5 
 Vetor B 9 4 12 1 15 
#include <iostream> 
#define TAM 10 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], B[TAM]; 
 
 //entrada e geracao do vetor B 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 if( x % 2 == 0)//VERIFICA SE A POSICAO É PAR 
 B[x]= A[x] * 3; 
 else 
 B[x]= A[x] / 2; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetor A\t"; 
 for(x=0; x< TAM; x++) 
 cout<<A[x]<<"\t"; 
 cout<< "\n\nVetor B\t"; 
 for(x=0; x< TAM; x++) 
 cout<<B[x]<<"\t"; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
10) Faça um programa que leia dois vetores A e B, contendo, cada um, 25 
elementos inteiros. Intercale esses dois conjuntos( A[1] / B[1] / A[2] / B[2] 
/..), formando um vetor V de 50 elementos. Exiba o vetor V. 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 25 
using namespace std; 
int main() 
{ 
 //declaração da variável do for, variável que indicará a posição de V e do 
vetor 
 int x, posV=0; 
 float A[TAM], B[TAM], V[TAM*2]; 
 
 //entrada e geracao do vetor V 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero "<< x+1<<" do vetor A: " ; 
 cin>>A[x]; 
 V[posV]=A[x]; 
 posV++; 
 cout<<"\nNumero "<< x+1<<" do vetor B: " ; 
 cin>>B[x]; 
 V[posV]=B[x]; 
 posV++; 
 } 
 
 //saida EXIBI TAMABÉM OS VETORES A e B PARA VOCES ENTENDEREM 
MELHOR 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetA\t"; 
 for(x=0; x< TAM; x++) 
 cout<<A[x]<<"\t"; 
 cout<< "\n\nVetB\t"; 
 for(x=0; x< TAM; x++) 
 cout<<B[x]<<"\t"; 
 cout<< "\n\nVetV\t"; 
 for(x=0; x< TAM*2; x++) 
 cout<<V[x]<<"\t"; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
11) Faça um programa para ler um conjunto de 100 números reais e informar: 
1. quantos números lidos são iguais a 30 
 2. quantos são maiores que a média 
 3. quantos são iguais a média 
#include <iostream> 
#define TAM 100 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, contadores, acumuladores e do vetor 
 int x, conta30=0, contaMaiorMedia=0, contaIgualMedia=0;; 
 float A[TAM], soma, media; 
 
 //entrada 
 
Lista 6 - gabarito 
 
 
 soma=0; 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero "<< x+1<<" do vetor: " ; 
 cin>>A[x]; 
 soma += A[x]; 
 } 
 media=soma/TAM; 
 
 //saida e testes 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetor\n"; 
 for(x=0; x< TAM; x++) 
 { 
 if(A[x]== 30) 
 conta30++; 
 if(A[x] > media) 
 contaMaiorMedia++; 
 else if(A[x] == media) 
 contaIgualMedia++; 
 cout<<A[x]<<"\n"; 
 } 
 cout<<"\n\nIguais a 30: "<<conta30; 
 cout<<"\n\nMaiores que a media: "<<contaMaiorMedia; 
 cout<<"\n\nIguais a media: "<<contaIgualMedia; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
12) Faça um programa que leia um conjunto de 30 valores inteiros, armazene-os 
em um vetor e escreva-os ao contrário da ordem de leitura. 
#include <iostream> 
#define TAM 30 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x; 
 float A[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nExibindo na ordem inversa de leitura\n"; 
 for(x=TAM-1; x>=0; x--) 
 cout<<"\n"<<A[x]; 
 
Lista 6 - gabarito 
 
 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
13) Faça um programa que leia os elementos de um vetor com 6 posições.Em 
seguida, troque o primeiro elemento com o último, o segundo com o penúltimo, 
o terceiro com o antepenúltimo, e assim sucessivamente. Ao final, exiba os dois 
vetores. 
#include <iostream> 
#define TAM 6 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, tras; 
 float A[TAM], aux; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 //Trocando 
 tras=TAM-1; 
 for(x=0; x< TAM/2; x++) 
 { 
 aux=A[x]; 
 A[x]=A[tras]; 
 A[tras]=aux; 
 tras--; 
 } 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nTrocando de posicao\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<A[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
14) No vestibular da Estácio, no curso de Sistemas de Informação, inscreveram-se 
12000 pessoas. Faça um programa que leia o gabarito da prova que tinha 100 
questões, sendo o valor de cada questão igual a 1 ponto. Para cada candidato, 
deverá ser lido o número de inscrição e as 100 respostas dele. O programa 
deverá exibir: o número de inscrição e a nota de cada candidato. Observação: 
Só é necessário guardar a soma dos pontos de cada candidato e o número de 
inscrição. 
 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 1200 
#define GAB 100 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, y, conta, nInsc[TAM],candidatos[TAM]; 
 char gabarito[GAB], resp; 
 //entra com gabarito 
 for(y=0; y<GAB; y++) 
 { 
 cout<<"\ndigite gabarito da "<<y+1<<"a questao (a/b/c/d/e): "; 
 cin>>gabarito[y]; 
 } 
 system("cls"); 
 //entrada 
 for(x=0; x< TAM; x++) 
 {cout<<"\nNumero de inscricao: "; 
 cin>>nInsc[x]; 
 cin.get(); 
 conta=0; 
 for(y=0; y<GAB; y++) 
 { 
 cout<<"\ndigite resposta da "<<y+1<<"a questao (a/b/c/d/e): "; 
 cin>>resp; 
 if(resp == gabarito[y]) 
 conta++; 
 } 
 candidatos[x]=conta; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nNumInsc\tNotas dos candidatos\n"; 
 for(x=0; x<TAM; x++) 
 cout<<"\n"<<nInsc[x]<<"\t"<<candidatos[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
}

Outros materiais