Buscar

TESTE DE CONHECIMENTO AULA 10 - INTRODUÇÃO A PROGRAMAÇÃO

Prévia do material em texto

INTRODUÇÃO A PROGRAMAÇÃO
AULA 10
		1.
		Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de
	
	
	
	Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3.
	
	
	Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 .
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as colunas e variando de 1 a 3.
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3.
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 .
	
	
	
	 
		
	
		2.
		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 5 9
	
	
	2 4 6 8
	
	
	1 3 5 7 9
	
	
	1 2 3 4 5 6 7 8 9
	
	
	1 2 3
	
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
	
	
	
	 
		
	
		3.
		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.
	
	
	
	b) float notasAlunos[6][30];
	
	
	d) float notasAlunos[6,30];
	
	
	a) float notasAlunos[30][6];
	
	
	c) float notasAlunos[30,6];
	
	
	e) float notasAlunos[][];
	
Explicação:
A especificação de uma matriz segue a sintaxe:
tipo  [qtd linhas][qtd colunas];
Como são 30 alunos, cada um terá uma linha e para as 6 notas, cada uma terá uma coluna.
Temos então:
 float notasAlunos[30][6];
	
	
	
	 
		
	
		4.
		Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da primeira matriz e gera a segunda?
	
	
	
	enquanto (lin=0;lin<=3;lin++) {
  enquanto (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[col][lin]=M1[lin][col]
  }
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) { 
    escreva(M2[lin][col]," ")
  }
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[col][lin]=M1[lin][col]
  }
}
	
	
	para (lin=0;lin<=3;lin++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][lin])
    M2[lin][lin]=M1[lin][lin]
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[lin][col]=M1[lin][col]
  }
}
	
	
	
	 
		
	
		5.
		Observe a matriz:
 
	A
	R
	E
	S
	 
	E
	U
	Q
	 
	 
	 
	E
	O
	T
	S
	I
 
Qual será o resultado obtido após ser executado o trecho do algoritmo a seguir:
 
for (i = 0; i < 4; i ++)
   for ( j = 0; j < 2; j++)
  {
      aux =  mat[i][j];
      mat[i][j]   = mat[i][3-j];
      mat[[i][3 - j] =  aux;
  }
 
 
 
	
	
	
		S
	E
	R
	A
	Q
	U
	E
	 
	E
	
	
	 
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	Q
	U
	E
	
	 
	
	E
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	 
	Q
	U
	E
	
	 
	E
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	 
	Q
	U
	E
	 
	E
	
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	Q
	U
	E
	
	
	E
	 
	
	I
	S
	T
	O
	
Explicação:
Conforme gabarito e aula de matrizes, consciente que o índice da linha começa de zero e o da coluna também.  O papel da variavel aux é permitir a troca dos valores da matriz.
	
	
	
	 
		
	
		6.
		Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá:
	
	
	
	Somar todas as linhas da coluna índice 0.
	
	
	Somar todas as linhas de todas as colunas.
	
	
	Somar todas as linhas da coluna índice 1.
	
	
	Somar todas as colunas da linha índice 0.
	
	
	Somar todas as colunas da linha índice 1
	
Explicação:
Em cada linha se tem os preços de um produto. Em cada coluna de uma linha se tem o preço em cada mês do produto.
Daí, a resposta ser a indicada no gabarito. 
 
	
	
	
	 
		
	
		7.
		Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários.
Qual das opções abaixo o estudante deverá declarar?
	
	
	
	int salario[45], funcionario[12];
	
	
	char funcionario[12][12];
	
	
	float funcionario[45][12];
	
	
	float funcionario[12],[12];
	
	
	float funcionario[45][45];
	
Explicação:
	Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários.
Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float e não int e nem char.  Logo : float funcionario[45][12];
	 
	Falso. Erro no número de linhas, colunas e uso indevido de vírgula
	float funcionario[12],[12];
	 
	Falso. Erro no número de   colunas.
	float funcionario[45][45];
	 
	Falso. Erro no número de linhas, colunas e no tipo de dados.
	char funcionario[12][12];
	 
	Falso. Não se tem aqui matriz bidimensional, como solicitado.
	int salario[45], funcionario[12];
	 
	VErdadeiro.
	float funcionario[45][12];
	
	
	
	 
		
	
		8.
		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.
	
	
	
	b) float notasAlunos[6][30];
	
	
	e) float notasAlunos[][];
	
	
	a) float notasAlunos[30][6];
	
	
	d) float notasAlunos[6,30];
	
	
	c) float notasAlunos[30,6];
	
Explicação:
Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6notas) 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[][];

Continue navegando