Buscar

LINGUAGEM DE PROGRAMAÇÃO I AULA 7

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 23 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 23 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 9, do total de 23 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

1. 
 
 
Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele 
digite o valor 4. 
 
 
 
sexta 
 
quinta 
 
 
quarta 
 
dia não existe 
 
terça 
 
 
 
 
 
 
2. 
 
 
Uma matriz é definida como float mat[5][10]; Quantos elementos 
esta matriz armazena? 
 
 
5 elementos 
 
10 elementos 
 
36 elementos 
 
 
50 elementos 
 
45 elementos 
 
 
 
 
 
 
3. 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include 
 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. 
 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. 
 
O programa não executa pois há falta de chaves. 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. 
 
 
 
 
Explicação: 
Neste caso o preenchimento da matriz está sendo realizado de forma horizontal, 
for(j=0; j< T; j++) 
x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna. 
isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que: 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
 
 
 
 
 
4. 
 
 
Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, 
fazemos: 
 
 
 
int n[5][4]; 
 
int n[4][3]; 
 
char n[5][4]; 
 
char n[4][3]; 
 
float n[5][4]; 
 
 
 
 
 
 
5. 
 
Considere que todas as bibliotecas necessárias foram declaradas. 
 
int main() 
{ 
int mat[3][3], i, j, det; 
puts("Codigo que calcula o determinante de uma matriz 3x3\n"); 
____{ 
puts("Digite os elementos da matriz\n"); 
____(i=0;i<3;i++) 
____(j=0;j<3;j++) 
scanf("%d", &mat[i][j]); 
 
fflush(stdin); 
det= (mat[0][0]*mat[1][1]*mat[2][2]) + 
(mat[0][1]*mat[1][2]*mat[2][0]) + 
(mat[0][2]*mat[1][0]*mat[2][1]) - 
((mat[0][1]*mat[1][0]*mat[2][2]) + 
(mat[0][0]*mat[1][2]*mat[2][1]) + 
(mat[0][2]*mat[1][1]*mat[2][0])); 
printf("\ndet=%d\n", det); 
} ____ (det==0); 
system("pause"); 
return (0); 
} 
Complete as lacunas do código da maneira correta para que o 
programa funcione corretamente. 
 
 
while-for-do-for 
 
do-while-for-for 
 
do-if-for-while 
 
do-if-else-while 
 
 
do-for-for-while 
 
 
Gabarito Coment. 
 
 
 
 
 
6. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include < stdio.h > 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
O programa cria uma matriz de duas dimensões vazia. 
 
 
O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 
 
O programa cria uma matriz de duas dimensões e exibe todos seus elementos. 
 
O programa multiplica dois vetores de dimensão igua a 5. 
 
 
O programa não executa; 
 
 
 
Explicação: 
Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices 
linha e colna são iguais. 
Assim como temos: 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal 
principal. 
 
 
 
 
 
 
7. 
 
 
Um programador precisa armazenar em uma tabela a quantidade 
de alunos, por turma, que tiraram notas abaixo da méida, 
exatamente na média e acimma da média. 
Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, 
servirá para armazenar as notas das 30 turmas existentes, e que 
para o programa que está sendo desenvolvido o melhor será 
organizar as turmas por linhas na tabela. 
Marque a alternativa que melhor representa a declaração desta 
tabela. 
 
 
 
float turmas[30]notas[3]; 
 
 
int mapa[30][3]; 
 
int turmas[30]; 
 
float mapa[30][30]; 
 
int mapa[3][30]; 
 
 
 
 
Explicação: 
A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas], 
como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos e necessita-se de 
30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int 
mapa[30][3]; 
 
 
 
 
 
 
8. 
 
 
Um treinador de uma equipe de futebol com 22 
atletas gostaria de declarar matrizes para guardar 
nomes, total de jogadas boas e total de jogadas 
perdidas. 
Qual das opções abaixo possibilitaria isso se ele 
usasse, somente, matrizes bidimensionais? 
 
 
int jogadasB[22], jogadasR[22]; char nomes[22][30]; 
 
int jogadas[22][2]; char nomes[22]; 
 
 
int jogadas[21][1]; char nomes[21][30]; 
 
int jogadasB[21], jogadasR[21]; char nomes[21][30] 
 
 
int jogadas[22][2]; char nomes[22][30]; 
 
 
 
Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos. 
 
 
 
 
 
 
 
 
1. 
 
 
Observe as afirmativas abaixo e escolha a opção 
correta, sabendo-se que foi usada a letra V se a 
afirmativa for verdadeira e F, se for falsa. Nas 
respostas, aparecem três letras que correspondem, 
respectivamente, às afirmativas I, II e III. 
I Matrizes bidimensionais não são Estruturas 
homogêneas. 
II Se tivermos dois vetores reais de dimensões 
deferentes, podemos agrupá-los em uma matriz 
bidimensional com a dimensão do maior vetor. 
III Quando precisarmos armazenar 30 nomes, 
deveremos dimensionar uma matriz bidimensional de 
char. 
 
 
 
V V V 
 
 
F F V 
 
 
F V V 
 
F F F 
 
V V F 
 
 
 
Explicação: 
Essa é uma pergunta que deseja que o aluno tenha estudado os conceitos básicos da 
AULA 7 logo,certo ou errado. 
 
 
 
 
 
 
2. 
 
 
Supondo que está desenvolvendo um programa de cadastro de 
alunos, qual das opções declara corretamente uma matriz caracter 
que suporte 30 nomes de até 20 caracteres? 
 
 
char nomes (20,30); 
 
 
char nomes [30][20]; 
 
char nomes [30]; 
 
char nomes [20][30]; 
 
char nomes (30); 
 
 
Gabarito Coment. 
 
 
Gabarito Coment. 
 
 
 
 
 
 
3. 
 
 
O departamento do pessoal de uma empresa precisa 
de um programa para armazenar nomes, cargos, 
número de dependentes e salários de 32 
funcionários. 
Um desenvolvedor pensou em algumas linhas que 
precisariam ser incluídas no código para tornar 
possível a construção dos trechos de entrada, saída e 
outros necessários. 
Observe as declarações abaixo e escolha a que 
possibilita isso. 
 
 
 
 
 
float sal[32]; int dep[32]; char nomes[32], cargos[32]; 
 
float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20]; 
 
float dadosN[32][2]; char dadosC[32][30]; 
 
 
float sal[32]; int dep[32]; char nomes[32][30], cargos[32][20]; 
 
float sal[32]; int dep[32]; char dados[32][20]; 
 
 
 
Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos. 
O número de caracteres de um nome e profissão são baseados no comum: 25 a 30 
caracteres para um nome é razoável. 
Tipos diferentes não se agrupam.4. 
 
 
Observe o trecho de programa abaixo e selecione a 
resposta correta. 
 
 char nome[5][30]; 
 puts("\nNome e ultimo sobrenome: "); 
 scanf( "%s", nome[0]); 
... 
 
 
 
Ignora a linha do scanf, mas não tem nenhuma mensagem. 
 
Dá mensagem de erro porque falta & antes de nome 
 
Dá mensagem de erro porque scanf não pode ser usado com vetor de char. 
 
 
Armazena só o primeiro nome 
 
Armazena nome e sobrenome. 
 
 
 
Explicação: 
A função scanf() para de "ler" o que foi digitado quando encontra o código do espaço 
porque assume que o que vem a ser o conteúdo de outra variável. 
Use fgets. 
 
 
 
 
 
 
5. 
 
Analise o programa a seguir e escolha a opção que ilustra o que 
será exibido para o usuário caso ele digite o valor 7 
 
. 
 
 
 
sábado 
 
quinta 
 
quarta 
 
dia não existe 
 
sexta 
 
 
 
 
 
 
6. 
 
 
Um lojista gostaria de desenvolver um programa para 
armazenar os códigos(inteiros), valores de compra e 
venda (reais) e a quantidade (inteiros) de todos os mil 
produtos. 
 Pensou em declarar algumas matrizes 
bidimensionais. 
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 CodQtdeVAL[1000][4]; 
 
 
double CodQtde[1000][2]; int valores[1000][2]; 
 
int CodQtde[999][2]; float valorer[999][2]; 
 
 
int CodQtde[1000][2]; float valores[1000][2]; 
 
double CodQtdeVal[999][4]; 
 
 
 
Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos. 
 
 
 
 
 
 
7. 
 
 
O chefe do departamento do pessoal da Empresa YYY 
gostaria de declarar matrizes bidimensionais para 
armazenar nomes dos 20 funcionários e 14 salários de 
cada um deles. 
Assinale a linha onde a declaração atende ao que ele 
deseja. 
 
 
 
 
char nomes[20][31]; float salarios[20][14]; 
 
 
float nomes[20][31], salarios[20][14]; 
 
 
char nomes[20]; float salarios[19][13]; 
 
 
char nomes[19][31]; float salarios[19][13]; 
 
 
char nomes[20][31]; float salarios[20][20]; 
 
 
 
Explicação: 
Para armazenar nomes de várias pessoas, precisamos de uma matriz bidimensional do tipo char. 
Nesse caso, cada nome será armazenado em uma linha e ao chamarmos, trataremos como se fosse uma 
matriz unidimensional, indicando a posição linha da matriz, mas, se desejarmos um caractere de um 
nome, usaremos as duas dimensões. 
A matriz numérica salarios precisa ser bidimensional porque cada funcionário terá 14 salários 
armazenados. 
Relembro que os tipos serão char e float logo, declarados em comandos separados. 
Eliminada: 
float nomes[20][31], salarios[20][14]; 
Não existe diferença na declaração de uma matriz em relação a uma variável simples a não ser pelos 
pares de colchetes logo, precisamos ficar atentos ao primeiro par de colchetes de uma matriz 
bidimensional onde indica o número total de funcionários: 20 e já eliminarmos o que tem 19. 
Eliminadas: 
 char nomes[20]; float salarios[19][13]; 
 char nomes[19][31]; float salarios[19][13]; 
Vamos observar o segundo par de colchetes: 
1. Na Matriz de char, significa o número máximo de caracteres de cada nome. Nesse caso, foi 
determinado 31 que é um bom número já que UM será para o \0(finaliza uma matriz de char) 
e ficaremos com 30 caracteres 
2. Na matriz numérica, significa o total de dados que deseja armazenar para cada funcionário que 
neste exemplo será 14. 
Eliminada: 
 char nomes[20][31]; float salarios[20][20]; 
Sendo assim, a reposta correta será: 
 char nomes[20][31]; float salarios[20][14]; 
 
 
 
 
 
 
8. 
 
 
As matrizes, assim como os vetores, são muito 
importantes para facilitar o trabalho de um 
programador, por isso é extremamente importante 
saber como utiliza-la. 
Assinale a alternativa em que há uma matriz 
bidimensional, do tipo inteiro, com 10 linhas e 20 
colunas, declarada de forma correta. 
 
 
 
int matrizExemplo[10][20]; 
 
int matrizExemplo[10,20]; 
 
float matrizExemplo[20][10]; 
 
matrizExemplo int[10][20]; 
 
matrizExemplo float[20][10]; 
 
 
 
Explicação: 
Quando declaramos uma matriz bidimensional, primeiro precisamos escolher o tipo. 
Nesse caso, o enunciado informa que é int, 
Depois, vem o nome da matriz que nesse exemplo foi colocado em todas as 
respostas, matrizExemplo. 
Por último virão dois pares de colchetes onde o primeiro terá o número de 
linhas e o segundo, o número de colunas. 
CORRETA: int matrizExemplo[10][20]; 
 
 
 
 
 
1. 
 
 
Analise o programa a seguir e escolha a opção que ilustra o que 
será exibido para o usuário caso ele digite o valor 4. 
 
 
 
quinta 
 
sexta 
 
terça 
 
 
quarta 
 
dia não existe 
 
 
 
 
 
 
2. 
 
 
Uma matriz é definida como float mat[5][10]; Quantos elementos 
esta matriz armazena? 
 
 
5 elementos 
 
36 elementos 
 
10 elementos 
 
 
50 elementos 
 
45 elementos 
 
 
 
 
 
 
3. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. 
 
 
O programa não executa pois há falta de chaves. 
 
 
 
Explicação: 
Neste caso o preenchimento da matriz está sendo realizado de forma horizontal, 
for(j=0; j< T; j++) 
x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna. 
isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que: 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
 
 
 
 
 
4. 
 
 
Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, 
fazemos: 
 
 
char n[4][3]; 
 
float n[5][4]; 
 
int n[4][3]; 
 
 
int n[5][4]; 
 
char n[5][4]; 
 
 
 
 
 
 
5. 
 
Considere que todas as bibliotecas necessárias foram declaradas. 
 
int main() 
{ 
int mat[3][3], i, j, det; 
puts("Codigo que calcula o determinante de uma matriz 3x3\n"); 
____{ 
puts("Digite os elementos da matriz\n"); 
 
____(i=0;i<3;i++) 
____(j=0;j<3;j++) 
scanf("%d", &mat[i][j]); 
fflush(stdin); 
det= (mat[0][0]*mat[1][1]*mat[2][2]) + 
(mat[0][1]*mat[1][2]*mat[2][0]) + 
(mat[0][2]*mat[1][0]*mat[2][1]) - 
((mat[0][1]*mat[1][0]*mat[2][2]) + 
(mat[0][0]*mat[1][2]*mat[2][1]) + 
(mat[0][2]*mat[1][1]*mat[2][0])); 
printf("\ndet=%d\n", det); 
} ____ (det==0); 
system("pause"); 
return (0); 
} 
Complete as lacunas do código da maneira correta para que o 
programa funcione corretamente. 
 
 
do-if-else-while 
 
while-for-do-for 
 
do-if-for-while 
 
 
do-for-for-while 
 
do-while-for-for 
 
 
Gabarito Coment. 
 
 
 
 
 
 
6. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include < stdio.h > 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]:%d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
 
O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 
 
O programa não executa; 
 
O programa cria uma matriz de duas dimensões vazia. 
 
O programa cria uma matriz de duas dimensões e exibe todos seus elementos. 
 
O programa multiplica dois vetores de dimensão igua a 5. 
 
 
 
 
Explicação: 
Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices 
linha e colna são iguais. 
Assim como temos: 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal 
principal. 
 
 
 
 
 
 
7. 
 
 
Um programador precisa armazenar em uma tabela a quantidade 
de alunos, por turma, que tiraram notas abaixo da méida, 
exatamente na média e acimma da média. 
Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, 
servirá para armazenar as notas das 30 turmas existentes, e que 
para o programa que está sendo desenvolvido o melhor será 
organizar as turmas por linhas na tabela. 
Marque a alternativa que melhor representa a declaração desta 
tabela. 
 
 
float turmas[30]notas[3]; 
 
int mapa[3][30]; 
 
 
int turmas[30]; 
 
float mapa[30][30]; 
 
 
int mapa[30][3]; 
 
 
 
Explicação: 
A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas], 
como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos e necessita-se de 
30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int 
mapa[30][3]; 
 
 
 
 
 
 
8. 
 
 
Um treinador de uma equipe de futebol com 22 
atletas gostaria de declarar matrizes para guardar 
nomes, total de jogadas boas e total de jogadas 
perdidas. 
Qual das opções abaixo possibilitaria isso se ele 
usasse, somente, matrizes bidimensionais? 
 
 
int jogadas[22][2]; char nomes[22]; 
 
int jogadas[21][1]; char nomes[21][30]; 
 
 
int jogadas[22][2]; char nomes[22][30]; 
 
int jogadasB[21], jogadasR[21]; char nomes[21][30] 
 
int jogadasB[22], jogadasR[22]; char nomes[22][30]; 
 
 
 
Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos. 
 
 
 
 
 
 
 
1. 
 
 
Analise o programa a seguir e escolha a opção que ilustra o que 
será exibido para o usuário caso ele digite o valor 4. 
 
 
 
terça 
 
sexta 
 
 
quarta 
 
dia não existe 
 
quinta 
 
 
 
 
 
 
2. 
 
 
Uma matriz é definida como float mat[5][10]; Quantos elementos 
esta matriz armazena? 
 
 
45 elementos 
 
5 elementos 
 
36 elementos 
 
 
50 elementos 
 
10 elementos 
 
 
 
 
 
 
3. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. 
 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. 
 
O programa não executa pois há falta de chaves. 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. 
 
 
 
Explicação: 
Neste caso o preenchimento da matriz está sendo realizado de forma horizontal, 
for(j=0; j< T; j++) 
x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna. 
isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que: 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
 
 
 
 
 
4. 
 
 
Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, 
fazemos: 
 
 
 
int n[5][4]; 
 
char n[5][4]; 
 
float n[5][4]; 
 
int n[4][3]; 
 
char n[4][3]; 
 
 
 
 
 
 
5. 
 
 
Considere que todas as bibliotecas necessárias foram declaradas. 
 
int main() 
{ 
int mat[3][3], i, j, det; 
puts("Codigo que calcula o determinante de uma matriz 3x3\n"); 
____{ 
puts("Digite os elementos da matriz\n"); 
____(i=0;i<3;i++) 
____(j=0;j<3;j++) 
scanf("%d", &mat[i][j]); 
fflush(stdin); 
det= (mat[0][0]*mat[1][1]*mat[2][2]) + 
(mat[0][1]*mat[1][2]*mat[2][0]) + 
(mat[0][2]*mat[1][0]*mat[2][1]) - 
((mat[0][1]*mat[1][0]*mat[2][2]) + 
(mat[0][0]*mat[1][2]*mat[2][1]) + 
(mat[0][2]*mat[1][1]*mat[2][0])); 
printf("\ndet=%d\n", det); 
} ____ (det==0); 
system("pause"); 
return (0); 
} 
Complete as lacunas do código da maneira correta para que o 
programa funcione corretamente. 
 
 
do-while-for-for 
 
while-for-do-for 
 
do-if-else-while 
 
do-if-for-while 
 
 
do-for-for-while 
 
 
Gabarito Coment. 
 
 
 
 
 
 
6. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include < stdio.h > 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
O programa multiplica dois vetores de dimensão igua a 5. 
 
 
O programa cria uma matriz de duas dimensões vazia. 
 
 
O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 
 
O programa cria uma matriz de duas dimensões e exibe todos seus elementos. 
 
O programa não executa; 
 
 
 
Explicação: 
Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices 
linha e colna são iguais. 
Assim como temos: 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal 
principal. 
 
 
 
 
 
 
7. 
 
 
Um programador precisa armazenar em uma tabela a quantidade 
de alunos, por turma, que tiraram notas abaixo da méida, 
exatamente na média e acimma da média. 
Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, 
servirá para armazenar as notas das 30 turmas existentes, e que 
para o programa que está sendo desenvolvido o melhor será 
organizar as turmas por linhas na tabela. 
Marque a alternativa que melhor representa a declaração desta 
tabela. 
 
 
int mapa[3][30]; 
 
 
float mapa[30][30]; 
 
float turmas[30]notas[3]; 
 
int turmas[30]; 
 
 
int mapa[30][3]; 
 
 
 
Explicação: 
A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas], 
como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos e necessita-se de 
30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int 
mapa[30][3]; 
 
 
 
 
 
 
8. 
 
 
Um treinador de uma equipe de futebol com 22 
atletas gostaria de declarar matrizes para guardar 
nomes, total de jogadas boas e total de jogadas 
perdidas. 
Qual das opções abaixo possibilitaria isso se ele 
usasse, somente, matrizes bidimensionais? 
 
 
 
int jogadas[22][2]; char nomes[22][30]; 
 
int jogadasB[22], jogadasR[22]; char nomes[22][30]; 
 
int jogadasB[21], jogadasR[21]; char nomes[21][30] 
 
int jogadas[22][2]; char nomes[22]; 
 
int jogadas[21][1]; char nomes[21][30];Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos. 
 
 
 
 
 
 
 
 
1. 
 
 
Analise o programa a seguir e escolha a opção que ilustra o que 
será exibido para o usuário caso ele digite o valor 4. 
 
 
 
 
quarta 
 
dia não existe 
 
sexta 
 
quinta 
 
terça 
 
 
 
 
 
 
2. 
 
 
Uma matriz é definida como float mat[5][10]; Quantos elementos 
esta matriz armazena? 
 
 
36 elementos 
 
45 elementos 
 
5 elementos 
 
10 elementos 
 
 
50 elementos 
 
 
 
 
 
 
3. 
 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. 
 
O programa não executa pois há falta de chaves. 
 
Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. 
 
 
 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
 
 
Explicação: 
Neste caso o preenchimento da matriz está sendo realizado de forma horizontal, 
for(j=0; j< T; j++) 
x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna. 
isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que: 
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 
 
 
 
 
 
 
4. 
 
 
Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, 
fazemos: 
 
 
char n[4][3]; 
 
float n[5][4]; 
 
 
int n[5][4]; 
 
int n[4][3]; 
 
char n[5][4]; 
 
 
 
 
 
 
5. 
 
 
Considere que todas as bibliotecas necessárias foram declaradas. 
 
int main() 
{ 
int mat[3][3], i, j, det; 
puts("Codigo que calcula o determinante de uma matriz 3x3\n"); 
____{ 
puts("Digite os elementos da matriz\n"); 
____(i=0;i<3;i++) 
____(j=0;j<3;j++) 
scanf("%d", &mat[i][j]); 
fflush(stdin); 
det= (mat[0][0]*mat[1][1]*mat[2][2]) + 
(mat[0][1]*mat[1][2]*mat[2][0]) + 
(mat[0][2]*mat[1][0]*mat[2][1]) - 
((mat[0][1]*mat[1][0]*mat[2][2]) + 
(mat[0][0]*mat[1][2]*mat[2][1]) + 
(mat[0][2]*mat[1][1]*mat[2][0])); 
printf("\ndet=%d\n", det); 
} ____ (det==0); 
system("pause"); 
return (0); 
} 
Complete as lacunas do código da maneira correta para que o 
programa funcione corretamente. 
 
 
do-if-for-while 
 
while-for-do-for 
 
do-if-else-while 
 
 
do-for-for-while 
 
do-while-for-for 
 
 
Gabarito Coment. 
 
 
 
 
 
 
6. 
 
Analisando o códio a seguir, pode-se afirmar que: 
#include < stdio.h > 
#define T 5 
int main() 
{ 
int x[T][T], i,j; 
for(i=0; i< T; i++) 
 
for(j=0; j< T; j++) 
x[i][j]=j+1; 
for(i=0; i< T; i++) 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
return 0; 
} 
 
 
 
O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 
 
O programa não executa; 
 
O programa multiplica dois vetores de dimensão igua a 5. 
 
 
O programa cria uma matriz de duas dimensões vazia. 
 
O programa cria uma matriz de duas dimensões e exibe todos seus elementos. 
 
 
 
Explicação: 
Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices 
linha e colna são iguais. 
Assim como temos: 
for(j=0; j< T; j++) 
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); 
Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal 
principal. 
 
 
 
 
 
 
7. 
 
 
Um programador precisa armazenar em uma tabela a quantidade 
de alunos, por turma, que tiraram notas abaixo da méida, 
exatamente na média e acimma da média. 
Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, 
servirá para armazenar as notas das 30 turmas existentes, e que 
para o programa que está sendo desenvolvido o melhor será 
organizar as turmas por linhas na tabela. 
Marque a alternativa que melhor representa a declaração desta 
tabela. 
 
 
float mapa[30][30]; 
 
int turmas[30]; 
 
float turmas[30]notas[3]; 
 
 
int mapa[30][3]; 
 
int mapa[3][30]; 
 
 
 
 
Explicação: 
A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas], 
como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos e necessita-se de 
30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int 
mapa[30][3]; 
 
 
 
 
 
 
8. 
 
 
Um treinador de uma equipe de futebol com 22 
atletas gostaria de declarar matrizes para guardar 
nomes, total de jogadas boas e total de jogadas 
perdidas. 
Qual das opções abaixo possibilitaria isso se ele 
usasse, somente, matrizes bidimensionais? 
 
 
int jogadas[21][1]; char nomes[21][30]; 
 
int jogadasB[22], jogadasR[22]; char nomes[22][30]; 
 
int jogadasB[21], jogadasR[21]; char nomes[21][30] 
 
int jogadas[22][2]; char nomes[22]; 
 
 
int jogadas[22][2]; char nomes[22][30]; 
 
 
 
Explicação: 
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que 
desejamos.

Continue navegando