Buscar

AlgoritmoAula10.V01

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

ALGORITMOS 
10a aula 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
Exercício: CCT0749_EX_A10__V1 08/11/2018 19:52:57 (Finalizada) 
Aluno(a): 2018.3 EAD 
Disciplina: CCT0749 - ALGORITMOS 
 
 
 
 
 1a 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]; 
 
 
1, 3, 2 
 
3, 2, 1 
 
2, 1, 3 
 
2, 3, 1 
 1, 2, 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 
 
 
 
 
 
 2a Questão 
 
 
Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada 
de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma: 
< tipo de dado> nome [nºde linhas][nºde colunas]; 
 Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: 
 
 
Somar todas as colunas da linha índice 1 
 
Somar todas as linhas da coluna índice 1. 
 
Somar todas as colunas da linha índice 0. 
 Somar todas as linhas da coluna índice 0. 
 
Somar todas as linhas de todas as colunas. 
 
 
Explicação: 
Como a 1a. coluna (coluna 0) é relativa ao 1o. mês, então é preciso somar todas as linhas da coluna 0. 
Analisando as opções : 
 Verdadeira Somar todas as linhas da coluna índice 0. 
 
Falso. Tem que somar todas as linhas da coluna 0 Somar todas as colunas da linha índice 0. 
 
Falso. O 1o. mês é relativo à 1a. coluna, que tem índice zero. Somar todas as linhas da coluna índice 1. 
 
Falso. Tem que somar todas as linhas, cuja coluna tem índice 0. Somar todas as colunas da linha índice 1 
 
FAlso. Se quer apenas o 1o. mês, que está na 1a. coluna. Somar todas as linhas de todas as colunas. 
 
 
 
 
 
 3a 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[8][5]; 
 
int edificio[5][8]; 
 
int edificio[40][1]; 
 
int edificio[1][40]; 
 
int edificio[40][5]; 
 
 
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. 
 
 
 
 
 
 4a 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. 
 
 
long int NOTA [50][5]; 
 
int NOTAS [5][50]; 
 
float NOTAS [5][50]; 
 
int NOTA [50][5]; 
 float 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. 
 
 
 
 
 
 5a 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. 
 
 
int notas[40][40]; 
 
char notas[3][40]; 
 float notas[40][3]; 
 
char notas[40][3]; 
 
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]; 
 
 
 
 
 
 6a 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. 
 
 
d) float notasAlunos[6,30]; 
 
e) float notasAlunos[][]; 
 
c) float notasAlunos[30,6]; 
 
b) float notasAlunos[6][30]; 
 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[][]; 
 
 
 
 
 
 7a 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á todos os números que sejam maiores 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 í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á somente os números pares e que sejam 
maiores que 30. 
 
 
Explicação: 
Analisando o programatemos 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 
 
 
 
 
 
 8a Questão 
 
 
 
 
 -1 0 1 2 3 4 5 6 7 8 
 -1 0 1 2 3 4 5 4 3 2 1 
 0 1 2 3 4 5 6 7 8 9 
 0 1 2 3 4 5 4 3 2 1 0 
 -1 0 1 2 3 4 4 3 2 1 
 
 
Explicação: 
O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9) 
O segundo for é executado de traz para frente por 4 vezes, até i=6 alterando valores do vetor. 
v[]= {0,1,2,3,4,5,4,3,2,1) 
No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar. 
Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da posição 
5 até 0 será diminuído de uma unidade, ficando assim: 
v[]= {-1,0,1,2,3,4,4,3,2,1) 
O último for, apenas imprime o vetor completo.

Continue navegando