Buscar

Avaliação Online 1 _ Linguagem de programação

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

19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 1/12
Avaliação Online 1 Resultados para Carolina Azzalin
Bap�sta Cardoso de Moraes
 As respostas corretas estarão disponíveis em 21 set em 0:00.
Pontuação desta tentativa: 15 de 15
Enviado 19 set em 18:31
Esta tentativa levou 22 minutos.
1,5 / 1,5 ptsPergunta 1
Quando se observa um código de programação, com a chance de simular seu
funcionamento, é possível descobrir muita coisa, desde como ele manipula os
valores até de que tipo são esses valores, mesmo que isso não esteja explícito no
código. No caso de vetores e matrizes de caracteres, strings e vetores de strings, o
que os diferencia é a forma como são manipulados no código, e não propriamente a
forma como são declarados.
No código abaixo, é possível ver a declaração e uso de uma estrutura. Considerando
que a estrutura só é utilizada dessa forma, observe o código:
char nomes[10][21];
 for(i=0;i<=9;i++)
 {
 for(j=0;j<=20;j++)
 {
 printf("Digite o próximo valor:");
 scanf("%c",&nomes[i][j]);
 }
 }
Nesta situação, pode-se afirmar que foi declarado no começo do código um(a):
 Matriz de caracteres. 
 String. 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 2/12
 Vetor de caracteres. 
 Vetor de strings. 
 Matriz de strings. 
Strings referem-se a uma forma de manipulação dos vetores de caracteres
que, quando são lidos utilizando a string de controle (%s) no scanf( ) ou um
comando de entrada próprio – o gets( ) –, são reconhecidos como uma
palavra ou texto, e não somente como um conjunto de caracteres. A
estrutura não é um string, mas, sim, uma matriz de caracteres por não ser
manipulada como string ao receber os dados.
 
1,5 / 1,5 ptsPergunta 2
Analise o seguinte trecho de código.
#include 
void funcao_descolhecida(int Vet[10]) 
{ 
 int i; 
 for(i = 0; i < 10; i++) { 
 printf("%d ", Vet[i]); 
 } 
} 
int main() 
{ 
 int Matriz[5][10]; 
 int i; 
 for(i = 0; i < 10; i++){ 
 Matriz[0][i] = i; 
 } 
 i = 0; 
 funcao_descolhecida (Matriz[i]); 
 printf("\n"); 
 return 0; 
} 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 3/12
Sobre o código apresentado, é correto o que se afirmar em:
 A variável Matriz armazena valores reais. 
 No answer text provided. 
 O programa preenche todas as linhas e colunas da matriz. 
 A variável Matriz armazena 40 elementos. 
 O programa imprime a primeira linha da variável Matriz. 
O programa apresentado, declara uma variável Matriz cujas
imensões são 5 linhas e 10 colunas , em seguida inicializa a linha
de índice 0 com os valores de 0 a 9 , em seguida imprime esta
linha através da função_desconhecida.
 
Como apresentado na unidade 1, no tópico 1.1.4. Linguagem de
Programação.
 A função_desconhecida imprime os maiores valores de uma linha 
1,5 / 1,5 ptsPergunta 3
Analise o código a seguir.
int main()
{ 
int linha;
int coluna;
int i;
int somaprod;
int mat1[3][3]={{5,4,3},{1,3,4},{5,7,9}};
int mat2[3][3]={{1,0,0},{0,1,0},{0,0,1}};
int mat3[3][3];
int M1L=3, M1C=3, M2L=3, M2C=3;
for(linha=0; linha<M1L; linha++) 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 4/12
for(coluna=0; coluna<M2C; coluna++){ 
somaprod=0; 
for(i=0;i<M1L; i++) 
somaprod+=mat1[linha][i]*mat2[i][coluna]; 
mat3[linha][coluna]=somaprod; 
} 
for(linha=0; linha<M1L; linha++){ 
for(coluna=0; coluna<M2C; coluna++) 
printf("%d ", mat3[linha][coluna]); 
printf("\n"); 
}
system("PAUSE"); 
return 0;
}
Após a execução do código anterior é correto o que se afirma em:
 O valor de mat3[2][1] = 21. 
 O valor de mat3[2][2] = 9 
O algoritmo descrito no texto, inicialmente declara três matrizes
mat1, mat2 e, mat 3 , sendo cada uma delas de dimensão
3x3.Posteriormente inicializa das duas primeiras, e, em seguida,
realiza a multiplicação destas , armazenando seu resultado em
mat3, por fim o algoritmo imprime a matriz resultante. Importante
observar que mat2 consiste na matriz identidade, logo o produto
de mat1 por mat2 consiste em mat1 , o qual é armazenada em
mat3.
 
 
Como apresentado na unidade 1, no tópico 1.1.4. Linguagem de
Programação
 O valor de mat3[1][1] = 8. 
 O valor de mat3[0][1] = 3. 
 O valor de mat3[1][2] = 6. 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 5/12
1,5 / 1,5 ptsPergunta 4
Matrizes são recursos muito utilizados tanto na matemática quanto na
computação. Uma matriz pode organizar os dados de mesmo tipo em
um programa entre linhas e colunas, permitindo o uso posterior das
informações de forma mais prática. Quando é necessário percorrer
uma matriz, é importante que se observem os 2 índices necessários
para acesso a cada campo, assim como acontece com os pontos de
um plano cartesiano.
Seu amigo programador precisa criar uma matriz na qual todas as
linhas devem ser preenchidas com valores de 0 a 2. Ele enviou-lhe um
trecho do código que havia criado para que você fizesse um teste;
porém, no trecho que enviou, não havia a declaração da matriz. Como
você necessita do código completo para realizar o teste, como ficará a
declaração dessa matriz para que o programa funcione corretamente?
A seguir, está o código enviado pelo seu amigo:
 for(i=0;i<=3;i++)
 for(j=0;j<=2;j++)
 matriz[i][j]=j;
Após analisar o código, pode-se afirmar que a forma correta para a
declaração da matriz para que esse código funcione corretamente é int
matriz:
Fonte: Adaptado de CUNHA, Claudia, 2018.
 [3][2] 
 [4][2] 
 [2][3] 
 [3][4] 
 [4][3] 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 6/12
Como a repetição mais externa (i) é responsável por mudar a
linha, e a mais interna (j) é responsável por preencher as
colunas de cada linha, o “i” vai de 0 a 3 (4 posições) e o “j” vai
de 0 a 2 (3 posições), além de receber o valor e o “j” nas
posições, podemos afirmar que a matriz é (Int matriz[4][3]).
1,5 / 1,5 ptsPergunta 5
Em C, uma variável que contém um endereço de memória é uma
variável do tipo ponteiro. Um valor, que é um endereço (como &a) é
um valor de ponteiro. Quando um ponteiro (a variável) contém um
determinado endereço, dizemos que ele aponta para o endereço de
memória. Além disso, se o valor deste ponteiro é o endereço de uma
outra variável qualquer, dizemos que tal ponteiro aponta para esta
outra variável.
Diponível em;<
http://www.inf.ufpr.br/cursos/ci067/Docs/NotasAula/notas-
28_Ponteiros.html> Acesso.06. Ago.2019.
Nesse contexto, considere pt1 um ponteiro, em seguida julgue as
afirmações que se seguem.
I – A expressão pt1 ++; acessa o próximo endereço de memória.
II – A expressão (*pt1)-=2; acesso dois endereços de memória para
traz.
III – A expressão pt1=pt1+9; acessa dez endereços de memória frente.
 
Está(ão) correta(s) a(s) afirmativa(s):
 II, somente. 
 II e III, somente. 
 III, somente. 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 7/12
 I e II, somente. 
 I, somente. 
 Apenas a afirmação I está correta, as a segunda afirmação II está
incorreta, pois a expressão(*pt1)-=2; acessa o conteúdo apontado subtraído de 2 e a terceira
expressão pt1=pt1+9;// acessa 9 endereços à frente.
 
 
Como apresentado na unidade 2 no tópico 2.1.5 Linguagem de
Programação.
1,5 / 1,5 ptsPergunta 6
Analise o seguinte código em linguagem C.
#include <stdio.h>
#include <stdlib.h>
int main(){
int *pt1=NULL, *pt2=NULL;
int valor1, valor2, resultado;
valor1=47;
valor2=50;
pt1=&valor1;
pt2=&valor2;
resultado=*pt1+*pt2;
printf(“%i \n”,resultado); 
system(“PAUSE”);
return 0;
}
Sobre o código apresentado é correto o que se afirmar em:
 
A expressão valor1=47;faz referência ao endereço de memória da
variável valor.
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 8/12
 A variável resultado será um ponteiro nulo. 
 A expressão pt1=&valor1 atribui o valor contido em valor1 a pt1. 
 A variável resultado irá armazenar o valor inteiro 97. 
O programa apresentado declara as variáveis valor1, valor2 e
resultado, como sendo do tipo inteiro, bem como os ponteiros
*pt1, *pt2 também sendo do tipo inteiro. Posteriormente, a variável
resultado recebe a soma dos valore que pt1 e pt2 apontam,
portanto 97.
 
Como apresentado na unidade 2 no tópico 2.1.5 Linguagem de
Programação
 A variável resultado apresentará erro ao tentar somar os ponteiros. 
1,5 / 1,5 ptsPergunta 7
Um ponteiro é um espaço reservado de memória usado para guardar o
endereço de memória de uma outra variável. Além disso, um ponteiro
é uma variável como qualquer outra do programa, sua diferença é que
ela não armazena um valor inteiro, real, caractere ou booleana. Ela
serve para armazenar endereços de memória (são valores inteiros
sem sinal.
Disponível em:<http://www.facom.ufu.br/~backes/gsi002/Aula10-
Ponteiros.pdf (http://www.facom.ufu.br/~backes/gsi002/Aula10-
Ponteiros.pdf) >Acesso.06. Ago.2019.
Nesse contexto, avalie as asserções a seguir e a relação proposta
entre elas.
 
I - Se um ponteiro p armazena o endereço de uma variável i, podemos
dizer o ponteiro p aponta para i ou p é o endereço de i.
 
PORQUE
http://www.facom.ufu.br/~backes/gsi002/Aula10-Ponteiros.pdf
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 9/12
 
II - Se um ponteiro p tem valor diferente de NULL então *p é o valor da
variável apontada por p.
 
A respeito dessas asserções, assinale a opção correta
 
A asserção I é uma proposição verdadeira, e a II é uma proposição
falsa.
 
As asserções I e II são proposições verdadeiras, e a II é uma
justificativa correta da I.
 As asserções I e II são proposições falsas. 
 
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa correta da I.
A primeira afirmação versa sobre as propriedades de um 
ponteiro, e a segunda explana o conceito sobre como exibir o 
valor para o qual o ponteiro aponta.
 
A asserção I é uma proposição falsa e a II é uma proposição
verdadeira.
1,5 / 1,5 ptsPergunta 8
A linguagem C utiliza bibliotecas para serem incluídas em aplicações
com o objetivo de oferecer recursos adicionais à linguagem. Estas são
incluídas na elaboração de programas através do comando include.
Para manipularmos a alocação dinâmica, precisaremos de uma
biblioteca específica. Selecione a alternativa correta.
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 10/12
 limits.h 
 string.h 
 stdlib.h 
 stdio.h 
 math.h 
1,5 / 1,5 ptsPergunta 9
O desenvolvimento de uma aplicação envolve a utilização de recursos
de memória, e gerenciar esses recursos com um código mais bem
planejado torna a aplicação menos propença a falhas. Usando as
funções de alocação de memória da linguagem C, é possível
manipular áreas de memória livre e, nelas, poderemos alocar as
variáveis. Se a região, porém, não tiver espaço para essa alocação,
qual retorno receberíamos se usássemos as funções malloc( ) e
realloc( )?
 null
 false
 0 
 full
 true 
Todas as funções de alocação de memória retornam uma
informação para o código, mas somente quando retornam null
saberemos que houve erro.
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 11/12
1,5 / 1,5 ptsPergunta 10
Analise o seguinte trecho de código.
 
#include <stdio.h>
 #include <stdlib.h>
struct x{
 int a;
 int b;
 int c; };
int main(void){
 
 struct x estrutura;
 int *y = malloc ( sizeof(estrutura));
 printf(“%li”, sizeof(estrutura));
}
 
Sobre o trecho de código apresentado é correto apenas o que se
afirma em:
 Aloca dinamicamente uma estrutura. 
 O código apresentado aloca dinamicamente uma estrutura
contendo três números inteiros.
 
Como apresentado na unidade 3, no tópico 3.1.2.1 Linguagem
de Programação.
 
Imprime a posição de memória da estrutura através do comando printf. 
19/09/2020 Carolina Azzalin Baptista Cardoso de Moraes, histórico de teste: Avaliação Online 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=2 12/12
 Declara uma estrutura de números reais. 
 Imprime uma estrutura através do comando printf. 
 Lê a partir do teclado três números inteiros. 
Pontuação do teste: 15 de 15

Outros materiais