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__V1 23/10/2018 23:29:45 (Finalizada) Aluno(a): EDOARDO ULYSSES FONTOURA KRAUSE JUNIOR 2018.3 EAD Disciplina: CCT0749 - ALGORITMOS 1a Questão Os chamados vetores e matrizes podem ser considerados como: Comandos de repetição Estruturas de dados homogêneas Estruturas de dados heterogêneas Comandos de seleção Comandos de seleção composta Explicação: Verdadeira Estruturas de dados homogêneas 2a Questão Análise a seguinte afirmação: "Um shopping possui 4 andares, cada andar possui 30 lojas". Se você for declarar uma matriz, na linguagem C++, para a afirmação acima, qual das opções abaixo você escolheria? int shopping[4][30]; int shopping[30][1]; int shopping[1][30]; int shopping[4][4]; int shopping[30][30]; Explicação: Considerando cada andar como uma linha da matriz e as 30 lojas como as 30 colunas da matriz, teremos : int shopping[4][30]; 3a Questão Sendo a matriz M bidimensional igual a: 1 2 3 4 5 -5 3 0 Dimensionadas da seguinte maneira: int m[2][4]; Determine quais são os seguintes elementos: · m[0][3] · m[0][0] · m[1][1] · m[1][2] -5 - 1 - 5 - 4 5 - 1 - 3 - 0 4 - 1 - -5 - 3 4 - 5 - -5 - 0 0 - 1 - 3 - 5 Explicação: Considerando a matriz dada : 1 2 3 4 5 -5 3 0 temos que na 1a. linha (linha 0) temos 4 colunas, a saber : m[0][0] que é 1, m[0][1] que é 2, m[0][2] que é 3 e m[0][3] que é 4 Na 2a. linha (linha 1) temos 4 colunas, a saber : m[1][0] que é 5, m[1][1] que é -5, m[1][2] que é 3 e m[1][3] que é 0 Logo, respondendo ao pedido temos : m[0][3] é 4 · m[0][0] é 1 · m[1][1] é -5 · m[1][2] é 3 4a Questão Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a sua execução: #include < iostream > using namespace std; int main() { int p, num[50]; for (p = 0; p <= 49; p++) { cout << "Digite um valor : "; cin >> num[p]; } for (p = 0; p <= 49; p++) { if (num[p] % 2 == 0 && num[p] > 30) cout << num[p] << "\t"; } system("pause"); return 0; } O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. Explicação: Analisando o programa temos que : O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. for, testa cada elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 condições é que o elemento de v será impresso. Analisando cada opção : O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. é falso. Nâo imprime todos os números O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. é falso. Imprime os pares maiores que 30 e não os ímpares. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. Verdadeira 5a Questão Em um programa, deseja-se armazenar as 3 notas , a média e a maior nota de cada um dos 50 alunos de uma turma, em uma matriz NOTA. Entendendo- se que todos os dados de um mesmo aluno ficarão armazenados em uma mesma linha, assinale a alternativa que indica a declaração correta na matriz descrita. float NOTA [50][5]; int NOTA [50][5]; int NOTAS [5][50]; float NOTAS [5][50]; long int NOTA [50][5]; Explicação: Existem 50 alunos. Os dados de cada aluno devem ser armazenados em uma linha e são 5 dados por aluno. Então teremos uma matriz com 50 linhas e 5 colunas. Portanto, a opção marcada no gabarito é a certa. 6a 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[5][8]; int edificio[8][5]; int edificio[40][5]; int edificio[40][1]; int edificio[1][40]; 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. 7a 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]; float notas[40,3]; int notas[40][40]; char notas[40][3]; char notas[3][40]; 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]; 8a 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. c) float notasAlunos[30,6]; d) float notasAlunos[6,30]; b) float notasAlunos[6][30]; e) float notasAlunos[][]; a) float notasAlunos[30][6]; 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[][];
Compartilhar