Buscar

Exercício 10 Algoritmos

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 6 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 6 páginas

Prévia do material em texto

Exercício: CCT0749_EX_A10_201801153345_V1 26/10/2018 16:08:53 (Finalizada)
Aluno(a): JORGIVALDO NOGUEIRA LEAL 2018.3 EAD
Disciplina: CCT0749 - ALGORITMOS 201801153345
 
 
 1a 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[1001], altura[1001], imc [1001];
char peso[999], altura[999], imc [999];
float peso[1000] ; altura[1000] ; imc[1000];
char peso[1000], altura [1000], imc[1000];
 float peso[1000], altura[1000], imc [1000];
 
 
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];
 
 
 
 2a Questão
Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução.
int a = 3, b = 2;
int v[] = { 6, 7, 8, 9};
a = (v[2] - v[0]) + a;
int d = a * v[b];
std::cout << d << " " << v[1] << a + 2;
 40 77
24 75
40 75
35 67
21 67
 
 
Explicação:
int a = 3, b = 2;
int v[] = { 6, 7, 8, 9};
a = (v[2] - v[0]) + a;
int d = a * v[b];
std::cout << d << " " << v[1] << a + 2;
Analisando passo a passo :
a b v d
3 2 {6,7,8,9} 
a recebe 8 - 6 + 3, que
dá 5 
5 * v[2], ou seja, 5 * 8
= 40
Na tela será impresso :
40 7 7
pois, d vale 40
 v[1] vale 7
 a vale 5 e somado com 2 dá 7
 
 
 
 3a 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][30];
int shopping[30][1];
int shopping[4][4];
int shopping[1][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];
Vejamos as outras opções :
Falso. São 4 andares. Então, não pode ser 1 linha
int
shopping[1]
[30];
 
 Verdadeiro
int
shopping[4]
[30];
 
FAlso. São 30 lojas em cada andar, ou seja, 30 colunas em cada linha. E
como são 4 linhas, não podemos ter 30 linhas e 1 coluna
int
shopping[30]
[1];
 
Falso. Não são 4 andares com 4 lojas em cada andar.
int
shopping[4]
[4];
 
FAlso. Não podem ser 30 linhas porque não são 30 andares.
int
shopping[30]
[30];
 
 
 
 
 
 4a Questão
Os chamados vetores e matrizes podem ser considerados como:
Estruturas de dados heterogêneas
Comandos de seleção
Comandos de seleção composta
Comandos de repetição
 Estruturas de dados homogêneas
 
 
Explicação:
 Verdadeira
Estruturas de dados
homogêneas
 
FAlsa. Em vetores e matrizes os dados são todos do
mesmo tipo.
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çãocomposta
 
 
 
 5a Questão
Analise o código em C++ mostrado abaixo e assinale a alterna�va 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 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 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 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
 
 
 
 
 6a 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 alterna�va que apresenta a declaração desta matriz.
 float notas[40][3];
char notas[40][3];
float notas[40,3];
int notas[40][40];
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];
 
 
 
 7a 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];
 a) float notasAlunos[30][6];
c) float notasAlunos[30,6];
e) float notasAlunos[][];
b) 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çõesnã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. floatnotasAlunos[6,30];
 
Falso. Nâo colocou o total de linhas e de colunas. floatnotasAlunos[][];
 
 
 
 
 8a Questão
 
Um lojista gostaria de desenvolver um programa para armazenar os códigos(valores inteiros), os valores de
compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.
 Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. 
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e
seguindo, rigorosamente, as sugestões do texto acima?
 
 
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
int codigos[999], qtdade[999]; float valorC[999], valorV[999];
double codigos[999], qtdade[999], valorC[999], valorV[999];
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
 
 
Explicação:
Analisando o enunciado, temos que :
>> será criado um vetor para 1000 valores do tipo int para armazenar os códigos
>> será criado um vetor para 1000 valores do tipo float ou double para armazenar os valores de compra e outro vetor para 1000
valores do tipo float ou double para armazenar os valores de venda
>> será criado um vetor para 1000 valores do tipo int para armazenar as quantidades
Então, a opção que segue a explicação acima é 
int codigos[1000], qtdade[1000];
float valorC[1000], valorV[1000];
 Nenhuma opção que crie vetores com capacidade para 999 elementos servirá, pois são 1000 elementos. Não confundir com os índices
que irão de 0 até 999 para vetores de 1000 elementos.

Continue navegando