Buscar

Avaliação Online 1_ AGO 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 13 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 13 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 13 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 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 1/13
Avaliação Online 1
Entrega 18 set em 23:59 Pontos 15 Perguntas 10
Disponível 18 set em 21:00 - 22 set em 23:59 4 dias Limite de tempo 120 Minutos
Tentativas permitidas 2
Instruções
Histórico de tenta�vas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 12 minutos 13,5 de 15
 As respostas corretas estarão disponíveis em 21 set em 0:00.
Pontuação desta tentativa: 13,5 de 15
Enviado 19 set em 22:37
Esta tentativa levou 12 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”.
Fazer o teste novamente
1,5 / 1,5 ptsPergunta 1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/history?version=1
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712/take?user_id=14501
Rectangle
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 2/13
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.
 [2][3] 
 [4][2] 
 [3][4] 
 [4][3] 
 [3][2] 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 3/13
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 2
Avalie o seguinte trecho de código:
 #define NLIN 10
 #define NCOL 20
 int Matriz[NLIN][NCOL];
 for(i=0; i < NLIN; i++) 
 for(j=0; j < NCOL; j++)
 Matriz[i][j] = i+j;
Sobre o trecho de código apresentado, assinale a alternativa correta.
 O valor armazenado em Matriz [2][2] é igual a 4. 
 O valor armazenado em Matriz[3][3] é igual a 6. 
 A variável Matriz possui o mesmo número de linhas e colunas. 
 A variável Matriz possui 100 elementos. 
 O valor armazenado em Matriz[0][0] é igual a 0. 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 4/13
O valor armazenado em Matriz[0][0] é igual a 0.
 
O trecho de código apresentado define uma matriz de contendo 10
linhas e 20 colunas, neste código, a variável Matriz recebe na
posição i,j a soma destes, como em linguagem C , os índices se
iniciam em 0, então para Matriz[0][0]=0.
 
Como apresentado na unidade 1, no tópico 1.1.4. Linguagem de
Programação.
1,5 / 1,5 ptsPergunta 3
Observe o código a seguir:
int resposta = strcmp( nome1, nome2 )
Considerando o código apresentado, se o conteúdo de nome1 for a palavra “Vez”
enquanto o conteúdo de nome2 for a palavra “Carro”, qual é o valor armazenado na
variável resposta ao final da execução do trecho de código?
 Maior que 0. 
 Igual a -1. 
 Menor que 0. 
 Igual a 1. 
 Igual a 0. 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 5/13
A alternativa correta é que a variável resposta será maior que 0, pois a função
strcmp retorna um valor maior que zero caso a primeira string seja maior que 0.
Nesse caso de estudo, a situação é essa, pois foi dito que o conteúdo de
nome1 é maior que o conteúdo de nome2.
1,5 / 1,5 ptsPergunta 4
Analise o código abaixo:
 char nome[41], sobrenome [21];
 setlocale(LC_ALL, "Portuguese");
 strcpy(nome," Ana ");
 strcpy(sobrenome,"Maria");
 strcat(nome,sobrenome);
 printf("\n %s\n",nome);
A partir do conhecimento construído, ao executar o código acima, qual será o valor
impresso? Marque a alternativa correta que demonstre o valor a ser escrito.
 Ana. 
 Maria. 
 Maria Ana. 
 Ana Ana. 
 Ana Maria. 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 6/13
Será impresso o texto Ana Maria, pois nome recebeu “Ana” através do strcpy, e
sobrenome recebeu “Maria”; além disso, na sequência, os valores foram
concatenados na variável nome1.
1,5 / 1,5 ptsPergunta 5
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 variável resultado irá armazenar o valor inteiro 97. 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 7/13
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 expressão valor1=47;faz referência ao endereço de memória da variável
valor.
 A expressão pt1=&valor1 atribui o valor contido em valor1 a pt1. 
 A variável resultado será um ponteiro nulo. 
 A variável resultado apresentará erro ao tentar somar os ponteiros. 
1,5 / 1,5 ptsPergunta 6
Analise o código a seguir.
#include<stdlib.h> 
#include<stdio.h> 
#include<locale.h>
int main(){
int *pt1, **pt2, valor;
setlocale(LC_ALL, “Portuguese”);
pt1=&valor;
valor=100;
pt2=&pt1;
printf(“%p\n”,pt2);
printf(“%p\n”,*pt2); 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 8/13
printf(“%i”,**pt2);
}
Nesse contexto, julgue as afirmações que se seguem.
I – A expressão printf(“%i”,**pt2); mostra o número 100.
II – A atribuição pt1=&valor; faz com que pt assuma o valor armazenado
em valor.
III – A declaração **pt2 no início do código é um ponteiro para um
número real.
Está(ão) correta(s) a(s) afirmativa(s):
 I, somente. 
 Apenas a afirmação I está correta, a afirmaçãoII está incorreta, pois
a expressão pt1=&valor; atribui o endereço da variável valor a pt1, a
terceira afirmação está incorreta , pois a declaração **pt2, consiste
em um ponteiro para ponteiro.
 
 II, somente. 
 II eIII, somente. 
 I e II, somente. 
 III, somente. 
1,5 / 1,5 ptsPergunta 7
As variáveis em C podem ser consideradas (i) comuns, quando
armazenam conteúdo (números, letras, palavras) na memória, ou (ii)
ponteiros, quando armazenam endereços. Enquanto uma variável
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 9/13
comum não armazena endereços, uma variável ponteiro só trata de
endereços. Nesse contexto, avalie as afirmações a seguir:
I. Uma variável ponteiro pode receber diretamente o resultado de uma
operação aritmética entre valores reais.
II. Variável ponteiro é um tipo especial de variável, que recebe endereços
para posições de memória.
III. Uma variável ponteiro pode manipular valores de variáveis comuns na
memória de forma indireta.
É correto o que se afirma em:
 II e III, apenas. 
 II, apenas. 
 I, II e III. 
 I e III, apenas. 
 I, apenas. 
A afirmativa I está errada, pois variáveis ponteiros só recebem
diretamente os endereços de memória. As outras afirmativas
estão corretas.
1,5 / 1,5 ptsPergunta 8
Analise o seguinte código computacional.
# include <stdio.h>
# include <stdlib.h>
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 10/13
int main(){
 int *v, n =500;
 v = (int *) malloc( sizeof (int)*n);
 int i;
 for (i=0;i<n;i++)
 v[i] = i*i +2;
 for (i=0;i<n;i++)
 printf (“v[%d] = %d\n”,i, v[i]);
 
free (v);
return 0;
}
Sobre o código apresentado é correto apenas o que se afirmar em:
 Ao final de sua execução v[10]=100. 
 Ao final de sua execução v[13]=170. 
 Ao final de sua execução v[20]=404 
 Ao final de sua execução v[12]=144. 
 Ao final de sua execução v[9]=83 
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 11/13
O código apresentado, aloca dinamicamente um vetor com 500
posições, e inicializa este através da seguinte expressão v[i] = i*i +2,
portanto , v[9] = 9*9 +2 =83.
 
Como apresentado na unidade 3 no tópico 3.1.2.1 Linguagem de
Programação.
1,5 / 1,5 ptsPergunta 9
Analise o seguinte trecho de código.
#include <stdlib.h> 
#include<stdio.h>
int main (){
int * vetor; 
vetor = malloc (10 * sizeof (int));
for (int n = 0; n< 10; n++) 
vetor[n]=n*n;
vetor = realloc (vetor, 15 * sizeof (int));
for (int n = 10; n < 15; n++) 
vetor[n]=n;
printf (“\n”);
for (int n = 0; n < 15; n++) 
printf (“\n vetor[%i]=%i”,n,vetor[n]); 
}
Neste contexto, julgue as afirmações que se seguem.
I - A função realloc sobrescreve todos os dados do vetor.
II – Ao final da execução do código vetor [14] =14.
II – Ao final da execução do código vetor [5] =25.
Está(ão) correta(s) a(s) afirmativa(s):
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 12/13
 II, somente. 
 I e III, somente. 
 I e II, somente. 
 II e III, somente. 
Apenas as afirmações IIe III estão corretas, a afirmação I não está
correta, pois a função realloc apenas expande o tamanho da
memoria previamente alocada , não sobrescrevendo esta.
 
 I, somente. 
0 / 1,5 ptsPergunta 10IncorretaIncorreta
Analise o seguinte código computacional.
# include <stdio.h> 
# include <stdlib.h>
int main (){
int *pi;
pi = (int *) malloc(sizeof(int));
printf(“\n Digite um numero : “);
scanf(“%d”, pi);
printf(“\n primeira impressao: %d\n”, *pi);
free(pi);
printf(“\n segunda impressao: %d\n\n”, *pi);
system (“pause”);
return 0;
}
Rectangle
19/09/2020 Avaliação Online 1: AGO.TADS.2 - Linguagens de Programação
https://newtonpaiva.instructure.com/courses/8900/quizzes/17712 13/13
Considerando o código apresentado, julgue as afirmações que se
seguem.
I - A variável *pi é um número inteiro.
II - O primeiro printf irá mostrar o endereço de memória relativo a *pi.
III – O programa aloca dinamicamente o número de bytes para um
número inteiro.
Está(ão) correta(s) a(s) afirmativa(s):
 III, somente. 
 II, somente. 
 II e III, somente. 
 I, somente. 
 I e II, somente. 
Pontuação do teste: 13,5 de 15
Rectangle

Outros materiais