Logo Passei Direto
Buscar

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

Ferramentas de estudo

Questões resolvidas

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?
int matriz[4][3];
int matriz[3][4];
int matriz[2][5];
int matriz[4][2];

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.

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.

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.

Nesse contexto, julgue as afirmacoes 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.
I, somente.
II, somente.
II e III, somente.
I e II, somente.
III, somente.

É correto o que se afirma em:
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.
II e III, apenas.
II, apenas.
I, II e III.
I e III, apenas.
I, apenas.

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.

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.
III – Ao final da execução do código vetor [5] =25.
II, somente.
I e III, somente.
I e II, somente.
II e III, somente.
I, somente.

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.
III, somente.
II, somente.
II e III, somente.
I, somente.
I e II, somente.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

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?
int matriz[4][3];
int matriz[3][4];
int matriz[2][5];
int matriz[4][2];

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.

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.

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.

Nesse contexto, julgue as afirmacoes 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.
I, somente.
II, somente.
II e III, somente.
I e II, somente.
III, somente.

É correto o que se afirma em:
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.
II e III, apenas.
II, apenas.
I, II e III.
I e III, apenas.
I, apenas.

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.

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.
III – Ao final da execução do código vetor [5] =25.
II, somente.
I e III, somente.
I e II, somente.
II e III, somente.
I, somente.

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.
III, somente.
II, somente.
II e III, somente.
I, somente.
I e II, somente.

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

Mais conteúdos dessa disciplina