Informática, perguntado por celsooliveirajr, 5 meses atrás

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.

Soluções para a tarefa

Respondido por cs1664697
2

Resposta:

alternativa 3

Explicação:

espero ter ajudado


celsooliveirajr: Inicio é 30!
Respondido por pbdiro
9

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.


celsooliveirajr: Me salvou pbdiro.Muito obrigado
celsooliveirajr: Só estava faltando responder essa questão.Muito obrigado mesmo!
Perguntas interessantes