É importante realizar um fluxograma para entender como pode funcionar a Fila Circular para resolver o problema de processos, e a partir deste fluxograma, criar o algoritmo para execução da solução. Devido ao seu grande conhecimento em processos, um programador foi contratado por uma grande empresa de desenvolvimento de sistemas para realizar a implementação de uma fila de processos em um sistema operacional. Considerando o contexto apresentado, avalie as seguintes asserções e a relação proposta entre elas.
I. Aplica-se o algoritmo abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Declaração das funções de horas */
#define N 10
struct filacirc {
int tam, ini, fim;
int vet[N];
};
typedef struct filacirc FilaCirc;
void inicia_fila (FilaCirc *f){
f -> tam = 0;
f -> ini = 1;
f -> fim = 0;
}
void insere_fila (FilaCirc* f, char elem) {
if (f -> tam == N - 1) {
printf("A fila esta cheia\n");
} else {
f -> fim = (f -> fim % (N - 1)) + 1;
f -> vet[f -> fim] = elem;
f -> tam++;
}
}
int fila_vazia (FilaCirc* f){
return (f -> tam == 0);
}
int remove_fila (FilaCirc* f) {
if (fila_vazia(f)) {
printf("Fila vazia\n");
} else {
f -> ini = (f -> ini % (N-1)) + 1;
f -> tam--;
}
}
A relação entre as asserções é verdadeira e a asserção I é uma proposição verdadeira.
A relação entre as asserções é verdadeira, mas a asserção I é uma proposição falsa.
A relação entre as asserções é falsa, mas a asserção I é uma proposição verdadeira.
A relação entre as asserções é falsa e a asserção I é uma proposição falsa.
Ainda não há comentários para esta questão.
Seja o primeiro a comentar!