Buscar

Avaliação Online 1_ FEV TADS 2 - Linguagens de Programação (1)

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

05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 1/12
Avaliação Online 1
Entrega 5 abr em 23:59 Pontos 15 Perguntas 10
Disponível 30 mar em 0:00 - 5 abr em 23:59 7 dias
Limite de tempo 120 Minutos Tentativas permitidas 2
Instruções
Histórico de tentativas
Tentativa Tempo Pontuação
MANTIDO Tentativa 2 11 minutos 15 de 15
MAIS RECENTE Tentativa 2 11 minutos 15 de 15
Tentativa 1 49 minutos 13,5 de 15
Pontuação desta tentativa: 15 de 15
Enviado 5 abr em 17:10
Esta tentativa levou 11 minutos.
Leia com atenção as orientações abaixo antes de iniciar esta prova:
Serão permitidas duas tentativas para realizar esta avaliação, prevalecendo a maior nota.
Programe-se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos
cronometrados (por tentativa) para conclusão e envio das respostas.
Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou
não;
Durante a realização da prova:
Será exibido uma questão por vez, podendo “Avançar” ou “Voltar” quando necessário dentro
do período da tentativa;
A tentativa somente será contabilizada após clicar no botão “Enviar”.
1,5 / 1,5 ptsPergunta 1
A linguagem C não possui um tipo string explícito. Não existe palavra
reservada que declare uma variável para armazenar uma string. Em
vez disto, você aloca espaço na memória para uma string definindo
uma matriz de caracteres. Uma matriz de caracteres algumas vezes se
parece com qualquer outra variável. Por exemplo, você pode mostrar
uma string inteira na tela numa única operação printf e usar uma
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768/history?version=2
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768/history?version=2
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768/history?version=1
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 2/12
variedade de funções para ler uma string do teclado e armazenar
numa variável de entrada.
Fonte: Disponível em:<
https://www.unicamp.br/fea/ortega/info/aula09.htm> Acesso.08.
Ago.2019.
Nesse contexto, avalie as asserções a seguir e a relação proposta
entre elas:
I - A leitura de valores string pode ser feita da mesma forma que a
leitura de outros tipos.
PORQUE
II - utilizando-se scanf com a string de controle %s a entrada é
formatada para o tipo texto.
A respeito dessas asserções, assinale a opção correta.
 
A asserção I é uma proposição falsa e a II é uma proposição
verdadeira.
 
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.
Correto!Correto!
 
A leitura de valores string pode ser feita da mesma forma que a
leitura de outros tipos, utilizando scanf com a string de controle
%s, que formata a entrada para o tipo texto. Para ler o nome
declarado, o comando de entrada dado por scanf(“%s”,&nome);.
Como apresentado na unidade 1, no tópico 1.1.3. Linguagem de
Programação
 
 
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa correta da I.
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 3/12
 As asserções I e II são proposições falsas. 
1,5 / 1,5 ptsPergunta 2
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. Correto!Correto!
 Vetor de caracteres. 
 Vetor de strings. 
 String. 
 Matriz de strings. 
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 4/12
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 3
O programador, que estava desenvolvendo um programa para a escola onde você
trabalha, criou uma lógica que compara a palavra Aluno com o conteúdo da variável
str. Para que a comparação seja feita de forma simplificada, foi utilizada a função
strlwr, da biblioteca string.h; porém, o desenvolvedor começou o código e não pôde
terminá-lo. Como você tem um conhecimento avançado em programação, foi
chamado para continuar o desenvolvimento do programa e viu que o programador
havia começado a configurar a comparação da string (str) com a palavra (Aluno)
utilizando o strlwr, e a única coisa que faltou para terminar foi a constante literal da
comparação. 
Com base nas informações apresentadas, de que modo deve ser escrita a constante
no código para que a comparação com a função strlwr(str) seja executada quando o
usuário escrever Aluno?
 “aluno” Correto!Correto!
 “Aluno” 
 “Aluno ou aluno” 
 “ALUNO ou aluno” 
 “ALUNO” 
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 5/12
A função strlwr retorna o conteúdo da string minúsculo. No caso
proposto na questão, independentemente da forma como o
usuário digitar a palavra aluno (Aluno, ALUNO, aluno, AlUnO,
ALuNo), ele retornará que são iguais se a constante a ser
comparada for “aluno”.
1,5 / 1,5 ptsPergunta 4
Analise o seguinte trecho de código.
#define TAM_MAX 10000 
double vetor[TAM_MAX]; 
double variavel1; 
for(i=0; i<TAM_MAX; i++) 
 scanf("%f",&vetor[i]); 
variavel1 = vetor[0]; 
for(i=0; i<TAM_MAX; i++) 
 if (vetor[i] > variavel1) 
 variavel1 = vetor[i]; 
Sobre o código apresentado é correto o que se afirma em:
 O código seleciona o maior elemento da variável vetor. Correto!Correto!
O código apresentado declara um vetor com 10000 posições e
realiza a leitura de seus elementos a partir do teclado em seguida,
seleciona o maior elemento deste vetor e o armazena na variável
(variavel1).
 
Como apresentado na unidade 1, no tópico 1.1.4. Linguagem de
Programação
 O código seleciona o menor elemento da variável vetor 
 A variável1 é impressa na tela. 
 O código imprime todos os valores do variável vetor. 
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 6/12
 variável1 recebe todos os valores de variável vetor. 
1,5 / 1,5 ptsPergunta 5
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
 
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
 As asserções I e II são proposições falsas. 
 
A asserção I é uma proposição falsa e a II é uma proposição
verdadeira.
http://www.facom.ufu.br/~backes/gsi002/Aula10-Ponteiros.pdf
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 7/12
 
As asserções I e II são proposições verdadeiras, e a II é uma
justificativa correta da I.
 
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, mas a II não é uma
justificativa correta da I.
Correto!Correto!
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.
1,5 / 1,5 ptsPergunta 6
Analise o seguinte código escrito em linguagem C.
#include<stdlib.h>
#include<stdio.h>
#define MAX 1000
int main(){
 
 int *ptvetor, i,vet[MAX];
 
 for(i=0;i<MAX;i++){
 vet[i]=i+1;
 }
 ptvetor=vet;
 for(i=0;i<MAX;i++){
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 8/12
 
 printf(“%p - %i\n”,ptvetor, *ptvetor);
 ptvetor++;
}
 
Sobre o código apresentado é correto o que se afirmar em:
 A variável *ptvetor é um vetor de inteiros. 
 A expressão ptvetor++; soma uma unidade na variável vetor. 
 A variável *ptvetor é um ponteiro para números inteiros. Correto!Correto!
A variável *ptvetor é um ponteiro para números inteiros, tendo
sido declarada no início do programa.
 
Como apresentado na unidade 2 no tópico 2.1.6 Linguagem de
Programação
 A expressão vet[i]=i+1; consiste em uma aritmética de ponteiros. 
 
As expressões printf(“%p - %i\n”,ptvetor, *ptvetor); mostram um mesmo
resultado.
1,5 / 1,5 ptsPergunta 7
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.
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 9/12
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):
 III, somente. 
 I, somente. Correto!Correto!
 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.
 I e II, somente. 
 II, somente. 
 II e III, somente. 
1,5 / 1,5 ptsPergunta 8
Analise o seguinte trecho de código.
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 10/12
 
#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:
 
Imprime a posição de memória da estrutura através do comando printf. 
 Aloca dinamicamente uma estrutura. Correto!Correto!
 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.
 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. 
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 11/12
1,5 / 1,5 ptsPergunta 9
Analise a codificação a seguir:
#include <stdio.h>
#include <stdlib.h> 
struct x{
int a;
int b;
int c;
};
int main(void){
struct x estrutura;
int *y = malloc ( 2* sizeof(estrutura));
printf("%li", sizeof(estrutura));
}
Considerando que o tipo inteiro (int) aloca 4 bytes na arquiterura
utilizada por esse programa, conclui-se que, usando alocação
dinâmica na codificação, a quantidade de bytes alocados para uma
variável do tipo x será de:
 128 bytes. 
 12 bytes. Correto!Correto!
 64 bytes. 
 16 bytes. 
 32 bytes. 
1,5 / 1,5 ptsPergunta 10
A implementação abaixo, em linguagem C, faz uso do recurso de
alocação dinâmica e retorna valores armazenados e um vetor V.
Selecione abaixo qual resultado corresponde ao resultado da
codificação.
05/04/2020 Avaliação Online 1: FEV.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/6465/quizzes/10768 12/12
# include <stdio.h>
# include <stdlib.h>
int main () {
int *v,n =5;
v = (int *) malloc ( sizeof (int)*n);
int i;
for (i=0;i<n;i++)
v[i] = i*i;
for (i=0;i<n;i++)
printf ("%d,", v[i]);
free (v);
return 0;
}
 1, 1, 1, 1, 1, 
 0, 1, 4, 9, 16, Correto!Correto!
 0, 1, 2, 3, 4, 5, 
 1, 2, 3, 4, 5, 
Pontuação do teste: 15 de 15

Continue navegando