codigo comentado
ANÁLISE ESTRUTURADA DE SISTEMAS
Setembro
2014
Faculdade integradas anhanguera
ANÁLISE ESTRUTURADA DE SISTEMA
Setembro
2014
Exercicíos:
1 Verifique o código fonte e faça os comentários conforme sua analise no código fonte.
#include
#include
#define MAX_FILA 100
#define FALSO 0
#define VERDADEIRO 1
#define OK 1
#define ERRO 0
typedef struct { int Dado[MAX_FILA]; int Inicio,Fim; } Tipo_Fila;
/* Rotinas de Manipulacao de FILAS - First In, First Out (FIFO) Alocacao seqüencial */
void inicializa_fila (Tipo_Fila *F)
{
F->Inicio=0; F->Fim=0;
}
int insere_fila (Tipo_Fila *F,int Dado)
{
int prox;
prox=F->Fim+1;
if (prox == MAX_FILA) prox=0;
if (prox == F->Inicio) return(ERRO); else { F->Dado[F->Fim]=Dado; F->Fim=prox; return(OK); }
}
int retira_fila (Tipo_Fila *F,int *Dado)
{
if (F->Fim == F->Inicio) return(ERRO); else { *Dado= F->Dado[F->Inicio]; (F->Inicio)++; if (F->Inicio >= MAX_FILA) F->Inicio=0; return(OK); }
}
void lista_fila (Tipo_Fila F)
{
int cont;
printf("\n"); cont=F.Inicio; while (cont != F.Fim) { printf("Fila[%d]=%d\n",cont,F.Dado[cont]); cont++; if (cont >= MAX_FILA) cont=0; } printf("\n");
}
int consulta_fila (Tipo_Fila F,int Indice,int *Dado)
{
if (F.Fim > F.Inicio) if ((Indice F.Fim) || (Indice >= MAX_FILA) || (Indice < 0)) return(ERRO); else if (((Indice > F.Fim) && (Indice = MAX_FILA) || (Indice < 0)) return(ERRO); else { *Dado=F.Dado[Indice]; return(OK); }
}
int acha_fila