Baixe o app para aproveitar ainda mais
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];
Compartilhar