Buscar

Aula 10 MATRIZES E VETORES Exercícios de Fixação

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 8 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 8 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

Prévia do material em texto

ALGORITMOS 
10a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: CCT0749_EX_A10_201801039844_V1 29/10/2018 21:02:42 (Finalizada) 
Aluno(a): MAIKON CARDOSO LEMOS 2018.3 EAD 
Disciplina: CCT0749 - ALGORITMOS 201801039844 
 
 
 
 
 1a Questão 
 
 
<valor[x]; 
 
</valor[x]; 
 
 
 
Todos os elementos pares do vetor VALOR. 
 Todos os elementos que são maiores que cinco do vetor VALOR. 
 
Todos os elementos que são menores que cinco do vetor VALOR. 
 
Todos os elementos do vetor VALOR. 
 
Todos os elementos ímpares do vetor VALOR. 
 
 
Explicação: 
Analisando o trecho dado em C++, temos o seguinte : 
x é índice do vetor VALOR e é inicializado com zero. x irá de zero até 10, mas só entrará no loop até valer 9. 
PAra cada x de 0 até 9 entraremos no loop e testaremos se o elemento de VALOR de índice x é maior que 5. 
Se for, tal elemento será impresso na tela. Se não for, nada faremos. 
Olhando para o vetor VALOR temos que serão impressos os valores de 6 até 10. 
Analisando cada opção : 
Falso. Serão impressos valores ímpares também. Todos os elementos pares do vetor VALOR. 
 
Falso. Serão impressos valores pares também. 
 
Todos os elementos ímpares do vetor VALOR. 
 
Falso. Serão impressos valores maiores que 5. 
 
Todos os elementos que são menores que cinco do 
vetor VALOR. 
 
 
Todos os elementos que são maiores que cinco do 
vetor VALOR. 
 
Falso. Serão impressos apenas os valores 6, 7, 8, 9 e 
10 
Todos os elementos do vetor VALOR. 
 
 
 
 
 
 
 
 2a Questão 
 
 
Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a 
resposta que mostra o que será exibido na tela. 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
system("pause"); 
return 0; 
} 
 
 
 
1 2 3 4 5 6 7 8 9 
 
1 3 5 7 9 
 
2 4 6 8 
 
1 2 3 
 1 5 9 
 
 
Explicação: 
Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9 e o trecho do programa abaixo, veja o comentado ao fim 
de cada trecho. 
int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
O trecho acima montará a matriz com 3 linhas e 3 colunas, a saber : 
1 2 3 
4 5 6 
7 8 9 
Já o trecho a seguir : 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
imprimirá os elementos da matriz em que a linha e a coluna são iguais. Ou seja, imprimirá os elementos da 
diagonal principal, que estão destacados em amarelo. 
1 2 3 
4 5 6 
7 8 9 
Impressos : 1 5 9 
 
 
 
 
 
 
 3a Questão 
 
 
Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar 
da seguinte forma: 
< tipo do dado > nome_da_matriz [nº de linhas][nº de colunas]; 
Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional 
para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o 
algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas 
de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada 
notasAlunos. 
 
 
 
e) float notasAlunos[][]; 
 
b) float notasAlunos[6][30]; 
 a) float notasAlunos[30][6]; 
 
c) float notasAlunos[30,6]; 
 
d) float notasAlunos[6,30]; 
 
 
Explicação: 
Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremos uma matriz com 
30 linhas e 6 colunas. como a matriz se chama notasAlunos e as notas são valores reais teremos : 
 float notasAlunos[30][6]; 
 
Vendo porque as outras opções não podem ser : 
Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 30 
colunas. 
 float 
notasAlunos[6][30]; 
 
Falso. Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro 
de colchetes separados. 
 float 
notasAlunos[30,6]; 
 
Falso. Erro nos valores e na sintaxe no uso dos colchetes. 
 float 
notasAlunos[6,30]; 
 
Falso. Nâo colocou o total de linhas e de colunas. float notasAlunos[][]; 
 
 
 
 
 
 
 
 
 4a Questão 
 
 
Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. 
int a = 2; 
int v[] = {2, 3, 1}; 
v[0] = v[a]; 
v[1] = v[0] + v[0]; 
v[2] = v[0] + v[1]; 
 
 
 
2, 3, 1 
 
3, 2, 1 
 
1, 3, 2 
 1, 2, 3 
 
2, 1, 3 
 
 
Explicação: 
Comentando linha a linha, a resposta será encontrada. 
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a]; //v[0] recebe v[2], que é 1 
v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 
v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 
 
 
 
 
 
 
 
 5a Questão 
 
 
Analise a seguinte afirmação: 
"Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Como poderíamos escrever uma declaração de matriz na linguagem C++, seguindo a afirmação acima, 
sabendo que os dados seriam do tipo int ? 
 
 
 
int edificio[40][1]; 
 
int edificio[1][40]; 
 
int edificio[40][5]; 
 int edificio[8][5]; 
 
int edificio[5][8]; 
 
 
Explicação: 
Analisando ... 
 "Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 
apartamentos ou 5 colunas. 
Dessa forma temos : 
 int edificio[8][5]; 
 
 porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas 
Veja que em todas as opções temos a variável de nome edificio. 
 
 
 
 
 
 
 
 6a Questão 
 
 
Um médico precisa armazenar o peso, a altura e o IMC de seus 1000 pacientes. Contratou um 
programador que disse que o programa teria algumas matrizes unidimensionais para o 
armazenamento. 
Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, 
conforme as informações acima: 
 
 
 float peso[1000], altura[1000], imc [1000]; 
 
char peso[1000], altura [1000], imc[1000]; 
 
float peso[1000] ; altura[1000] ; imc[1000]; 
 
float peso[1001], altura[1001], imc [1001]; 
 
char peso[999], altura[999], imc [999]; 
 
 
Explicação: 
 Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Logo, a resposta certa é 
 float peso[1000], altura[1000], imc [1000]; 
 
 
 
 
 
 
 7a Questão 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
 
Comandos de seleção 
 
Comandos de repetição 
 
Estruturas de dados heterogêneas 
 
Comandos de seleção composta 
 Estruturas de dados homogêneas 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmotipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
 
 
 
 
 8a Questão 
 
 
Uma professora possui uma turma de 40 alunos e precisa declarar uma matriz bidimensional, 
na linguagem C++, para armazenar as notas de AV1, AV2 e AV3 da turma. Considere que ela 
necessita dos dados organizados na matriz, de modo que cada linha deverá representar um 
aluno. Assinale a alternativa que apresenta a declaração desta matriz. 
 
 
 
float notas[40,3]; 
 
char notas[40][3]; 
 
int notas[40][40]; 
 
char notas[3][40]; 
 float notas[40][3]; 
 
 
Explicação: 
 Se cada linha deve representar um aluno e são 40 alunos então a matriz a ser declarada terá 40 linhas. 
Como é preciso armazenar as 3 notas de cada aluno então, a matriz possuirá 3 colunas. Se é preciso 
armazenar notas então o tipo de dados deve ser float. 
Analisando as opções. 
Falso. Errado o número de colunas e o tipo de dados. int notas[40][40]; 
 
Falso. Seriam 40 linhas, 3 colunas e o tipo float. tipo char para nota não serve. char notas[3][40]; 
 
Falso. Não se separa o total de linhas do total de colunas com vírgula. float notas[40,3]; 
 
 Verdadeira float notas[40][3]; 
 
FAlso. Erro no uso do tipo char. char notas[40][3];

Outros materiais