Baixe o app para aproveitar ainda mais
Prévia do material em texto
25/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 1/4 ESTRUTURA DE DADOS 8a aula Lupa PPT MP3 Exercício: CCT0826_EX_A8_201901306054_V1 24/05/2020 Aluno(a): JONATAS RICIANO SILVEIRA 2020.1 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201901306054 1a Questão Considerando a afirmação: "Ponteiro é uma variável que armazena o endereço de outra variável", a forma correta de se atribuir ao ponteiro p o endereço de uma variável é p = &matricula; p.matricula = 20170562; char *p; *p = matricula; p->matricula = 20170562; Respondido em 24/05/2020 01:31:33 Explicação: Analisando na sequência : Falsa. Declara um ponteiro para char. Falsa. Acessa o campo de uma struct apontada por um ponteiro p. Falsa. Acessa o campo de uma struct, sem usar ponteiro. Verdadeira. Faz um ponteiro p receber o endereço de uma variável matricula. Falsa. ACessa a área apontada por um ponteiro e atribui o valor de matricula. 2a Questão QUAL A SAÍDA DESTE PROGRAMA? #include main() { int i=10,*p; p=&i; cout << *p << " " << i + *p<< " " << *p**p << " " << i+**&p; system("pause"); } 10 25 100 30 10 24 102 25 10 20 104 22 http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:abre_frame('2','8','','',''); javascript:abre_frame('3','8','','',''); 25/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 2/4 10 20 100 22 10 20 100 20 Respondido em 24/05/2020 01:33:36 3a Questão Qual o valor de x no final do programa? int main() { int x, *p, y; x = 2; p = &x; y = *p; y = 5; (*p)++; (*p) = (*p) - y; return(0); } -2 5 2 8 Nenhuma das anteriores. O programa possui um erro de sintaxe. Respondido em 24/05/2020 01:37:15 Explicação: Analisando passo a passo : int main() { int x, *p, y; x = 2; p = &x; // p aponta para x, sendo que x recebeu 2 y = *p; //y recebeu o conteúdo da área apontada por p, ou seja, y recebeu *p que é 2 y = 5; //y recebeu 5 (*p)++; //A área apontada por p recebeu 3 Ou seja, x recebeu 3 (*p) = (*p) - y; //*p, que é x recebeu 3 - 5. Ou seja, *p recebeu -2 return(0); } Como p aponta para x e *p recebeu -2, então x recebeu -2 4a Questão E C++, quando um ponteiro é declarado para uma struct, o acesso aos campos deste registro (struct) se dá pelo operador : ∙ (ponto). & (e comercial ou eitza). -> (seta). , (vírgula). * (asterisco). Respondido em 24/05/2020 01:38:42 Explicação: Por definição, o operador é o seta, pois se tem, no caso, ponteiro para struct. 5a Questão Seja uma lista encadeada cujo nodo é representado por: struct nodo{ int valor; nodo prox; }; 25/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 3/4 Esta estrutura possui um ponteiro de referência que aponta sempre para o primeiro nodo da lista, sendo este declarado como: nodo *lista; Numa lista encadeada seu último nodo possui o campo prox sempre igual a NULL. Marque a opção que representa o trecho de código onde um ponteiro auxiliar é capaz de percorre a lista até seu último nodo: nodo *aux=lista; while(aux->prox)aux=aux->prox; nodo *lista=aux; while(aux->prox)aux=aux->prox; nodo *aux=lista; while(aux)aux->prox=aux; nodo *aux=lista; while(lista->prox)aux=aux->prox; nodo *aux=lista; while(aux->prox)aux->prox=aux->prox; Respondido em 24/05/2020 01:39:26 Explicação: nodo *aux=lista; while(aux->prox)aux=aux->prox; 6a Questão Em uma rotina em que se pretenda inserir o primeiro dado em uma estrutura dinâmica, é correto afirmar que: Deve existir uma estrutura de repetição somente de a lista for duplamente encadeada. Existe uma instrução de repetição para percorrer a lista. Só deve existir estrutura de repetição se ocorrer a inclusão de mais de um dado simultaneamente Não deve existir uma estrutura de repetição. Deve existir uma estrutura de repetição somente se a estrutura for circular. Respondido em 24/05/2020 01:40:06 Gabarito Coment. 7a Questão Seja a seguinte seqüência de instruções em um programa C++: int *pti; int i = 10; pti = &i; Qual afirmativa é falsa? *pti é igual a 10 ao se alterar o valor de i, *pti será modificado pti é igual a 10 ao se executar *pti = 20; i passará a ter o valor 20 pti armazena o endereço de i Respondido em 24/05/2020 01:41:22 Explicação: Analisando cada opção : pti é igual a 10 Explicação : A afirmativa está incorreta porque *pti é igual 10 e não pti é igual a 10. Note que pti é o endereço de i. Logo, a afirmativa deve ser marcada. pti armazena o endereço de i Explicação : pti é um ponteiro que recebeu o endereço (&) de i. Logo, a afirmativa está correta e não deve ser marcada. *pti é igual a 10 Explicação : Afirmativa correta e não deve ser marcada, visto que * é o 25/05/2020 EPS simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 4/4 operador de indireção. Como pti aponta para i, logo *pti é i, que vale 10. ao se executar *pti = 20; i passará a ter o valor 20 Explicação : Afirmativa correta e não deve ser marcada, visto que *pti acessa a área apontada por i. Se *pti recebeu 20 significa que i recebeu 20. ao se alterar o valor de i, *pti será modificado Explicação : Afirmativa correta e não deve ser marcada, visto que pti aponta para i e dessa forma, *pti é i. 8a Questão QUAL A SAÍDA DO PROGRAMA ABAIXO? #include main() { int x=5,*p; p=&x; cout << x - *p << " " << **&*&p + 1 << " " << *p*2+*p << " " << x+**&p; system("pause"); } 0 6 15 10 0 6 15 11 0 6 16 14 1 6 15 12 0 8 16 10 Respondido em 24/05/2020 01:42:19 javascript:abre_colabore('38403','195398796','3906569072');
Compartilhar