• Matéria: Informática
  • Autor: rodrigogfelipe
  • Perguntado 8 anos atrás

Questão 2

Na informática, a fila é uma estrutura onde os dados são inseridos no início e removidos do início. São estruturas conhecidas como First In, First Out (FIFO), que pode ser traduzido por Primeiro a Entrar, Primeiro a Sair.

Dado o trecho de código com a função fila_sair e a estrutura de dado fila.

void fila_sair() {
if (fila.ini == fila.fim) {
printf(“\nA fila está vazia, não há nada para remover!\n\n”);
system(“pause”);
} else {
int i;
for (i = 0; i < tamanho; i++) {
fila.dados[i] = fila.dados[i+1];
}
fila.dados[fila.fim] = 0;
fila.fim--;
}
}

Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 5 2 1 8 4 6 0 0 0 0

Qual das alternativas a seguir corresponde ao vetor fila.dados corretamente após a execução do código a seguir:

fila_sair();
fila_sair();
Alternativas

Alternativa 1:
Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 0 0 1 8 4 6 0 0 0 0

Alternativa 2:
Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 5 2 1 8 4 6 0 0 0 0

Alternativa 3:
Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 1 8 4 6 0 0 0 0 0 0

Alternativa 4:
Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 1 8 1 8 4 6 0 0 0 0

Alternativa 5:

Índice = 0 1 2 3 4 5 6 7 8 9
Dados = 0 8 1 8 4 6 0 0 0 0

Respostas

respondido por: zerobyroxouqzjq
3

 else {

               int i;

               for (i = 0; i < tamanho; i++) {

                       fila.dados[i] = fila.dados[i+1];

               }

               fila.dados[fila.fim] = 0;

               fila.fim--;

Quando chamamos a função fila_sair(), a posição do fila.dados[i] recebe a posição de i+1 ou seja tira a primeira posição do vetor traz os valores da direita para a esquerda e adiciona um 0 ao final do vetor.

FILA ATUAL:

             ini               topo

Índice = 0  1  2  3  4  5  6  7  8  9
Dados= 5  2  1  8  4  6  0  0  0  0

fila_sair()

             ini           topo <- o topo moveu para a esquerda

Índice = 0  1  2  3  4  5  6  7  8  9
Dados= 2  1  8  4  6  0  0  0  0  0 <- adicionou um 0

fila_sair()

             ini       topo <- moveu para a esquerda

Índice = 0  1  2  3  4  5  6  7  8  9
Dados= 1  8  4  6  0  0  0  0  0  0 <- adicionou um 0


respondido por: mayaravieiraj
0

Podemos dizer que quando temos uma função fila_sair(), é fato que a posição do fila.dados[i] recebe a posição de i+1. Então, tira a primeira posição do vetor traz os valores da direita para a esquerda, além de adicionar um 0 ao final do vetor.

else {

              int i;

              for (i = 0; i < tamanho; i++) {

                      fila.dados[i] = fila.dados[i+1];

              }

              fila.dados[fila.fim] = 0;

              fila.fim--;

FILA ATUAL:

            ini               topo

Índice = 0  1  2  3  4  5  6  7  8  9

Dados= 5  2  1  8  4  6  0  0  0  0

fila_sair()

            ini           topo <- o topo moveu para a esquerda

Índice = 0  1  2  3  4  5  6  7  8  9

Dados= 2  1  8  4  6  0  0  0  0  0 <- adicionou um 0

fila_sair()

            ini       topo <- moveu para a esquerda

Índice = 0  1  2  3  4  5  6  7  8  9

Dados= 1  8  4  6  0  0  0  0  0  0 <- adicionou um 0

Leia mais em:

brainly.com.br/tarefa/1983945

Anexos:
Perguntas similares