Bem-vindo ao Sistersinspirit.ca, onde suas perguntas são respondidas por especialistas e membros experientes da comunidade. Descubra soluções detalhadas para suas dúvidas de uma ampla gama de especialistas em nossa plataforma amigável de perguntas e respostas. Nossa plataforma oferece uma experiência contínua para encontrar respostas confiáveis de uma rede de profissionais experientes.

Questão 4

Observe o código-fonte a seguir:

01 - typedef struct NO{
02 - int dado;
03 - NO* prox;
04 - }NO;
05 -
06 - typedef struct FILA{
07 - NO* inicio;
08 - NO* fim;
09 - } FILA;
10 -
11 - FILA *f;
12 -
13 - void bar(){
14 - NO* ptr = (NO *) malloc(sizeof(NO));
15 - ptr->dado = rand()0;
16 - ptr->prox = NULL;
17 - if(f->inicio == NULL)
18 - f->inicio = ptr;
19 - else
20 - f->fim->prox = ptr;
21 - f->fim = ptr;
22 - }

Considerando que os campos inicio e fim, da fila f, são inicializados com NULL, avalie as afirmações a seguir:

I - A função bar() serve para adicionar um novo dado do tipo inteiro, aleatoriamente, ao fim da fila alocada dinamicamente.

II - As linhas de código 17 e 18 tratam a situação na qual a lista encontra-se inicialmente vazia pois verifica se o inicio da fila é igual a NULL.

III - A instrução de atribuição da linha de código 21 deveria estar condicionada à execução do bloco de comandos do else que se inicia na linha 19.

Assim sendo, pode se dizer que é correto o que se afirma em:

Alternativa 1:
I, apenas.

Alternativa 2:
II, apenas.

Alternativa 3:
III, apenas.

Alternativa 4:
I e II, apenas.

Alternativa 5:
I e III apenas.


Sagot :

Resposta:

alternativa 3

Explicação:

espero ter ajudado

Resposta:

Alternativa 4

Explicação:

A III está errada porque se o comando da linha 21 estivesse condicionado ao Else, no caso da fila estar vazia, ou seja, f->inicio = NULL, a linha 21 não seria executada e a fila ficaria sem fim.