ESTUDO E
REALIZAÇAO
DE UM SISTEMA
PORTATI-L
DE CADASTROS
ORIENTADO PARA
USUARIO
LEIGO EM COMPUTACAO
2a. PARTE
-
UTILIZACAO E ATUALIZAChO
Marinilza Bruno de Carvalho
TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE
POS-GRADUAÇAO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO
DE
JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A
OBTENÇAO
DO GRAU DE MESTRE EM CIÊNCIAS (M.Sc
.).
Aprovada por:
Prof. Pierre-Jean Lavelle
(Presidente)
Prof. Nelson Maculan ~ i 1 %
A o f . ~ o s é
Lucas M. Range1 Netto
RIO DE JANEIRO
,
RJ
-
BRASIL
BRUNO DE CARVALHO, MARINILZA
Estudo e Realização de um Sistema Portátil de
Cadastros Orientado para usuário Leigo em Computa-
ção
-
2a. parte-
Utilização e Atualização Rio de Janeiro 1976.VIII, 88p. 29,7cm (COPPE-UFRJ, M.Sc., Engenharia
de Sistemas e Computação, 1977)
Tese
-
Univ. Fed. Rio de Janeiro. Fac. Engenharia 1. Assunto: Sistema de CadastroI.
COPPE/UFRJ 11. Estudo e Realização de um Sistema Portátil deCadastros Orientado para Usuário Leigo em Computa-
D E D I C A T Ó R I A -
- - -
Ao
iii A G R A D E C I M E N T O S - - - Ao P r o f e s s o r P i e r r e - . J e a n L a v e l l e , p e l a o r i - e n t a ç ã o . Ao P r o f e s s o r Nelson Maculan F i l h o , p e l o - a p o i o , i n c e n t i v o e amizade. Ao CNPq, p e l a b o l s a c o n c e d i d a . A S u e l y e Angela p e l o t r a b a l h o de d a t i l o
-
g r a f i a .Aos Amigos da COPPE e do NCE que de alguma forma c o n t r i b u i r a m p a r a a c o n s t r u ç ã o d e s s a t e s e e c u j a c i t a ç ã o nominal me é t ã o d i f í c i l .
R E S U M O
Muito se tem feito no estudo de bancos de da-
dos, visando a sistemas de grande complexidade e de grande
porte.
A
presente tese (segunda parte de um conjun- to) apresenta uma outra visão do problema: a da maior sim-plificação sem perda de performance alcançável quando o pro-
blema pode se restringir a gestão de cadastros relativamente
simples feita diretamente por pessoas leigas em computação,
usando máquinas de pequeno porte.
Os enfoques são na independencia do programa
em relação
à
máquina usada, na facilidade de transportar es- se programa de uma para outra máquina de estrutura diferen-S U M M A R Y The s t u d y of d a t a b a n k s i s made a i m i n g a t l a r g e and complex s y s t e m s g e n e r a l l y . T h i s t h e s i s ( s e c o n d p a r t of a t w o - p a r t s e t ) t r i e s a n o t h e r l o o k a t t h i s p r o b l e m : . t h e l a r g e s i m p l i f i c a t i o n w i t h o u t h l o s s o of p e r f o r m a n c e when t h e problem c a n be r e s t r i c t
-
ed t o d i r e c t c o n t r o l of r e l a t i v e l y s i m p l e s c a d a s t e r s by p e o p l e n o t k n o w l e d g e a b l e i n computer s c i e n c e u s i n g m i n i compu - t e r s .The main p a r a m e t e r s . . a r e machine i n d e p e n d e n c y , e a s y program t r a n s p o r t t o d i f f e r i n g m a c h i n e s , and m o d u l a r i t y .
p á g i n a s AGRADECIMENTOS
...
iii RESUMO...
i v ABSTRACT...
INTRODUÇÃO...
1.
O P r o j e t o.
C a r a c t e r í s t i c a s...
3 1.1. D e f i n i ç ã o...
3 1 . 2 . O b j e t i v o s...
.
7 1 . 3 . C a r a c t e r í s t i c a s...
7 1 . 4 . Acesso...
1 0 2.
A n á l i s e do Pedido de P e s q u i s a...
2 . 1 . A n á l i s e da Ordem de P e s q u i s a...
2 . 1 . 1 . Ordenar...
2 . 1 . 2 . L i s t a r...
2.1.3. Contar...
2 . 2 . A n á l i s e do Dado a S e r Pesquisado...
2 . 2 . 1 . D e f i n i ç ã o...
2 . 2 . 2 . O b j e t i v o s...
2.2.3. C a r a c t e r i s t i c a s...
2 . 2 . 4 . Sequencia de Operações...
v i i p á g i n a s 2.3. A n á l i s e da Condição de P e s q u i s a
...
2 5 2 . 3 . 1 . D e f i n i ç ã o...
2 5 2.3.2. O b j e t i v o s...
2 5 2.3.3. c a r a c t e r í s t i c a s...
2 6 2.3.4. E t a p a s...
2 6 3.
Execução da P e s q u i s a...
30 3.1. P r o c u r a dos Dados...
32 3.2. T e s t e s...
36 3.3. Contagem...
4 0 3.4. Impressão...
4 2 3.5. Ordenação...
5 1 3.6. F i m de P e s q u i s a...
5 1 4.
A t u a l i z a ç ã o...
4 . 1 . C a r a c t e r í s t i c a s...
4 . 2 . ~ e q u ê n c i a de Operações...
4.3. Fase Atua 1...
...
4 . 4 . Fase Atua 2...
4 . 5 . Fase Atua 3 4.6. Tipos de A t u a l i z a ç ã o...
4 . 6 . 1 . I n s e r ç ã o...
4.6.2. R e t i r a r...
4.6.3. T r o c a r...
v i i i 4 . 7 . O b s e r v a ç õ e s
...
...
C O N C L U S ~ E S...
B I B L I O G R A F I A...
ANEXO I.
L i s t a de E r r o s ANEXO I1.
M a n u a l do U s u á r i o...
ANEXO I11.
L i s t a d a s R o t i n a s...
páginas 7 3I N T R O D U Ç Ã O
- - -
Muito s e tem f e i t o n a á r e a d e computação s o - b r e a r q u i v o s em d i s c o e f i t a , e c a d a v e z maior a n e c e s s i d a d e de mão d e o b r a e s p e c i a l i z a d a p a r a a o p e r a ç ã o d e s s e s s i s t e m a s
.
Sempre que um novo s i s t e m a
6
i m p l a n t a d o , t e m-
s e um p e r í o d o d e a d a p t a ç ã o e aprendizagem p o r p a r t e do u s u á r i o com c u r s o s e s p e c i a i s que o s preparam p a r a um novo t i p o d e t r a - b a l h o . Tudo i s t o , quando n ã o s ã o f e i t o s c o n t r a t o s de e s p e c i a-
l i s t a s no ramo. M u i t a s empresas r e l u t a m em i m p l a n t a r um no - vo s i s t e m a d e v i d o a t a l c o n s e q u ê n c i a . Quem p o d e r á u t i l i z á - l o ? Somente a s empresas d e g r a n d e p o r t e e s t ã o p r e p a r a d a s p a r a t a l empreendimento. d E s t a c o n s e q u ê n c i a , d r á s t i c a , p a r a a l g u n s , e a c a r a c t e r í s t i c a p r i n c i p a l d e s t e t r a b a l h o , c u j a m a n i p u l a ç ã o i n - depende de programador.E
um s i s t e m a f e i t o p a r a a t e n d e r a s ne - c e s s i d a d e s de um u s u á r i o l e i g o em computação. Seguindo a p e n a s a s i n s t r u ç õ e s de um m a n u a l , o u s u á r i o p o d e r á u t i l i z a r e a t u a l i - z a r o s i s t e m a . P o s s u e g r a n d e p o r t a b i l i d a d e , podendo s e r implan - t a d o em v á r i o s t i p o s d e máquina. Dois a r q u i v o s l i n e a r e s , g r a v a d o s em f i t a,
s ã o e l a b o r a d o s , c o n t e n d o c a d a um, uma t a b e l a í n d i c e , que6
s u a p r ó p r i a d e s c r i ç ã o e a massa de dados c o d i f i c a d o s . 0 s dados s ã o l i d o s em c a r t ã o , d e p u r a d o s es ó
e n t ã o a.montagem d o s a r q u i v o s4
A
comunicação ao sistema pelo usuário e feita por cartão em formato livre e em linguagem corrente, se - guindo apenas algumas instruções de um manual.0 s pedidos de informação podem ser uma lis
-
tagem, uma contagem ou uma ordenação de qualquer ou quaisquerdados cadastrados e até mesmo sob condições estipuladas pelo
usuário.
Na atualização o usuário pode inserir da
-
dos, retirar ou trocar outros dados.Na Ordenação, depende da máquina em que es - tiver implantado, o sistema permite utilizar qualquer tipo de
I . O PROJETO
-
C A R A C T E R ~ S T I C A S 1.1. D e f i n i c ã o A t r a v é s d e "Montagem e A n á l i s e C r i t í c a dos C a d a s t r o s " , p r i m e i r a p a r t e d e , E s t u d o e R e a l i z a ç ã o de um S i s t e m a p o r t á t i l de C a d a s t r o s O r i e n t a d o p a r a u s u á r i o L e i - go em computação um s i s t e m a d e c á d a s t r o s e l a b o r a d o s de f o r - ma t a l que p e r m i t a a montagem de q u a l q u e r t i p o de c a d a s t r o , i s t oé ,
uma montagem que depende de como o c a d a s t r oé
a p r e - s e n t a d o e n ã o d e q u a i s s ã o o s s e u s d a d o s .C a d a s t r o s d e d i f e r e n t e s t i p o s d e d a d o s podem s e r p r o c e s s a d o s d e s d e que s e c o n s t i t u a m s e INDICE +
ARQUIVO, p a r t e s d i s t i n t a s e que j u n t a s formam o c a d a s t r o ( F i g . 2 )
.
No í n d i c e , encontram-se t o d o s o s t i p o s de dados que c o n s t i t u e m o c a d a s t r o . Se o dado
é
uma p a l a v r a ou um número, s e e s s a p a 1 a v r a . é um nome, um c a r g o ou um e n-
d e r e ç o ; s e o &meroé
um c ó d i g o , t e l e f o n e ou m a t r í c u l a , t o d a s e s t a s e s p e c i f i c a ç õ e s d o s dados g r a v a d o s e s t ã o no í n d i c e ( F i g . 3).
No i n d e x e s t ã o também a s l i s t a s d e c ó d i g o s d o s d a-
d o s c o d i f i c a d o s ( F i g . 4).
No a r q u i v o tem-se o s dados p r o p r i a m e n - t e d i t o s c o d i f i c a d o s ou nã.0 ( F i g . 4).
O
projeto6
justamente utilizar e atualizar um sistema de arquivos, elaborados na forma descrita, indepen-dente de seu conteúdo (Fig. 1).
A
utilização consta de vários tipos de pez quisa. De uma forma geral o sistema de utilizasão projetado lista, conta e ordena dados do sistema de cadastros sob quaisquer
condições (Fig. 9)
-
(Fig .l).
Quanto a atualização, permite inserir, reti
-
rar ou trocar dados do sistema de cadastros também sob quais-
quer condições (Fig. 9)-
(Fig .l).
Q
'PROJETO
FASE
1DEPURA OS
PEDIDOS DE
PESQUISA
FASE
2I
UTILIZA
I
SISTEMA
ATUALIZA
INSERIR
O
O SISTEMA
FIGURA
1CADASTRO
FIGURA 2INDEX
Representa um registro lógico (RL) .do arqui
-vo codificado e cada RL possue um número de campos, todos nes
-te formato.
NOME
+NOME DO TIPO DE DADO
*
+DELIMITADOR
A
+BIT PARA A ORDEM LISTAR
= O +
NÃO LISTA
=1
+LISTA
B
+BIT PARA TESTAR
= O +-
NÃO TESTA
= 1 +
TESTA
C
+I N D I C A S E O D A D O D O A R Q U I V O É
ALFANUMERICO
(=A) OU NUMERICO
(=N)
D E
+INDICA SE O DADO
ÉLISTA EXCLUSIVA
(=LE), LISTA INCLUSIVA (=LI) OU NÃO
ÉLISTA
(=PP)
F G
+INDICA SE O DADO TEM TAMANHO FIXO(=TF)
OU TAMANHO VARI~VEL
(=TV)
H I
+SE
ÉFIXO, INDICA O TAMANHO
(=
08,04,22,etc..
.)SE
ÉV A R I ~ V E L
(=00)
JKLM
+INDICA O ENDEREÇO DA LISTA DE CODIGOS.
1.2. Objetivo
A
utilização e atualização de cadastros é assunto bastante explorado atualmente, entretanto, apesar deconhecido e muito específico, toda firma que implanta um no - vo sistema, precisa de meses, por vezes, anos para formar
pessoal especializado para opera-lo. Tal fato começou a one - rar por demais os sistemas computacionais.
A
solução seria suprir as deficiências do usuário em computação com um sistema de fácil manipulação por parte deste. Com esse objetivo
,
o sistema foi projetado. Feito para um usuário leigo em com - putação, sua operação não exige linguagem específica, nemcódigos tabelados, os pedidos de pesquisa são através de car - tões perfurados pelo próprio usuário em linguagem corrente
.
um sistema bem amplo que resolve o problema de operar qual - quer cadastro por qualquer usuário.
características
1.3.1. É um projeto elaborado para operar cadastros em gg
ral, qualquer que seja seu conteúdo ou mesmo tamanho. O sis
tema é de certa maneira "cego
"
para o que se tem gravado no arquivo ou para o número de dados gravados.1.3.2. Portabilidade
é
outra característica de grande impor-
tância. Não é um sistema projetado para um determinado tipo de computador. Possue condições de ser implantadoINDEiX D O C A D A S T R O N O M E a U O A T V P C C O O O M A T R I C U L A * O O N T F O 8 0 0 O O F U N C A O ~ ~ O ~ N L E T F O 4 0 4 6 O C n T E G O R I A ~ O O N L E T Ç 0 4 0 5 3 O T E M P O ~ DE, S E R V I C O *OON T F 0 4 C O n O L O T A C A O ~ ~ C O N L E T F 0 4 D 5 6 5 Q U A L I F I C A C A ~ ~ : 0 5 N L I T V C I O O 2 3 5 D y S C I PL I N A . N O M E A D O ~ O O N L E T F 0 4 0 3 7 5 I ~ I SC I PL I N A . O U T R A S 2 : O " N L I T V C C 0 3 7 S = 6 P R I M E I H O - G R A U - C O M P L E T Q / S t r U N D O - G R A U - C U F l P L E T O / L I C E N C I A T U R 4 - C U R T A / t I C E N C I A T U R R - P L E N A / € S P E C I A L I Z A C A O / M E S T R A D O / D O U T O R A D O / C U R S O - C E L D I R E T O R IA/ $MATE M A T I C A / P R O C E S S A P E N T O / P O R T U G U E S / G E O G R A F I A / H I S T O R I A / C I E P i C I A S / I N G L E S / F R A i d C E S / = $ D f R E T O R / P R O F E S S O R / C H E F E D E S E R V I C O / C O O R D E N A D O R / A S T E $ S O R / I P J S P E f O R / B S U B S T I T t J T O / E F E T I V O/ CQNT R A T A D O / $ S E C R E T A R I A D E E D U C A C A O / F E R R E I R A V I A N A / P A U t O D E f R n N T 1 N / I N S T I T U T O D E E D U C A 3 A O / / A R Q U I V O C O D í F I C A D C 'F'I'GURA 4
em v á r i o s t i p o s de máquina; d e v i d o em g r a n d e p a r t e a l i n g u a
-
gem F o r t r a n n a q u a l f o i implementado e a s u a forma modular,
p o s s i b i l i t a n d o uma e s t r u t u r a d e o v e r l a y . 1 . 3 . 3 . A c a r a c t e r í s t i c a m a i s i m p o r t a n t e do p r o j e t o é j u s t a-
mente a f a c i l i d a d e de o p e r a ç ã o do s i s t e m a p o r p a r t e do u s u á-
r i o . A u t i l i z a ç ã o e a t u a l i z a ç ã o s ã o f e i t a s a t r a v é s de p e d i d o s d e p e s q u i s a p r e p a r a d o s p e l o u s u á r i o em linguagem c o r r e n t e s e - guindo d e t e r m i n a d a s r e g r a s d e p o n t u a ç ã o bem e x p l í c i t a s no ma - n u a 1 do u s u á r i o . O campo d e p e s q u i s a é g r a n d e , e x i g i n d o do-
o p e r a d o r a p e n a s o conhecimento do t i p o do a r q u i v o g r a v a d o , o r t o g r a f i a e linguagem. 1 . 3 . 4 . O e s p a ç o d e memória é o u t r a c a r a c t e r í s t i c a de g r a n d e r e l e v â n c i a . O f a t o do s i s t e m a p o d e r o p e r a r c a d a s t r o s d e q u a l q u e r tamanho, l h e dá um campo d e a p l i c a ç ã o , t a n t o no ramo cien - t í f i c o como c o m e r c i a l , b a s t a n t e amplo, p o i s o e s p a ç o d e memó- r i a m u i t a s v e z e s s e t o r n a um enorme problema. Quanto a execu- ção d e um p e d i d o d e p e s q u i s a , o espaço d e memória n e c e s s á r i o a o s i s t e m aé
p a r a o i n d e x do a r q u i v o e o v e t o r j a n e l a . Um c a d a s t r oé
formado p o r r e g i s t r o s l ó g i-
c o s , queé
a s u a u n i d a d e b á s i c a . Um a r q u i v o d e "n" f u n c i o n á-
a r i o s , p o s s u i "n" r e g i s t r o s l ó g i c o s , p o i s c a d a f u n c i o n á r i o e um r e g i s t r o l ó g i c o . O i n d e x r e p r e s e n t a n a memória, um r e g i s-
t r o l ó g i c o do c a d a s t r o ,6
p o r t a n t o n v e z e s menor que o c a d a s - t r o . Quanto a o v e t o r j a n e l aé
um v e t o r d e tama - nho f i x o e s c o l h i d o p e l o u s u á r i o ( p o r exemplo 1000 c a r a c t e r e s ) ,residente na memória do computador. Funciona como uma área de
trabalho, recebendo os dados do arquivo por partes, a propor-
ção que são requisitados na execução. Isto significa que todo
o cadastro passa pela memória, mas de tantos em tantos carac-
teres por vez, tempo em que estará sendo pesquisado. Desse mo
-
do o espaço de memória utilizadoé
pequeno e não há problema quanto ao tamanho do cadastro.Outro problema de memória, que surge mui
tas vezes,
6
ao implantar o sistema numa determinada máquina.Em
um mini-computador, provavelmente have - ria problema de espaço, se o sistema não fosse modular, o quepermite uma estrutura de overlay, possibilitando sua implanta
-
ção tanto num computador de grande porte como num de médio ouum mini-computador.
1.4. Acesso ao Cadastro
Na utilização e atualização o acesso para
toda e qualquer pesquisa
é
feito através do index, sem o qual o arquivo codificado seria total e completamente indecifrável.Ao receber um pedido de pesquisa, o sistema consulta o index
do cadastro, para verificar a validade da pesquisa, quais os
dados a serem pesquisados, onde se encontram e se estão codi-
ficados ou não.
O
arquivo codificado sóé
acessado durante a fase de execução.O processo usado para acessar um dado do
APONTADORES
INDEX DADOS CODIFICADOS
INDEX DO CADASTRO
DADOS CODIFICADOS
neamente, o i n d e x e o a r q u i v o , i s t o é , a c a d a i n s t a n t e e x i s t e um dado do i n d e x e um dado do a r q u i v o s e n d o d e t e r m i n a d o , c a d a q u a l p o r um a p o n t a d o r ( F i g . 5 ) . Sendo o dado do i n d e x e x a t a
-
mente a d e s c r i ç ã o do dado a p o n t a d o no a r q u i v o . Ao i n í c i o d e c a d a p e s q u i s a o s a p o n t a d o r e s i n d i c a m o s p r i m e i r o s d a d o s , t a n t o do i n d e x como do a r q u i v o co-
d i f i c a d o.
P a r a s e c o n s e g u i r um dado do a r q u i v o , i n i - c i a l m e n t e , e l e d e v e r á s e r bem e s p e c i f i c a d o no p e d i d o d e p e s-
q u i s a . T a l e s p e c i f i c a ç ã oé ,
e n t ã o , comparada com o p r i m e i r o dado do i n d e x , i n d i c a d o . Caso a i g u a l d a d e n ã o s e v e r i f i q u e , o s a p o n t a d o r e s s ã o a t u a l i z a d o s , p a s s a n d o a i n d i c a r o s d a d o s s e - g u i n t e s . R e p e t e - s e o p r o c e s s o a t é que a comparação com o i n d e x s e j a v e r d a d e i r a , n e s t e p o n t o o dado c o d i f i c a d o i n d i c a d o p e l o a p o n t a d o r s e r á o dado d e s e j a d o .A c o n s u l t a a o í n d i c e é f e i t a p e r c o r r e n d o
-
o t o t a l m e n t e e comparando c a d a um d e s e u s d a d o s com o dado s o b r e o q u a l s e d e s e j a a p e s q u i s a . No c a s o d e t o d o o í n d i c e t e r s i d o comparado e nenhum dado e n c o n t r a d o , mensagens d e e r - r o s ã o e n v i a d a s p e l o s i s t e m a .BITS
-
TESTAR-
LISTAR INDEX DO CADASTRO N O M E * O O ) 5 ) 5 T V O O O O O O M A T R I C U L A * O O N ) 5 ) 5 L I STAR LISTART F O 8 O O O O F U N Ç Ã O * O O N L E T F 0 4 0 4 6 0
L I STAR2
2'
TESTAR C A T E G O R I A * O O N L E T F 0 4 0 5 3 0 T E M P O . L I sTAR3
L T E s T A R D E . S E R V I Ç O * O O N ) 5 ~ T F O 4 O O O O L I sTARf
L T E s T A R FIGURA 61 4
C A P I T U L O - I1
11.
ANALISE
DO PEDIDO DE PESQUISAA a n á l i s e do p e d i d o de p e s q u i s a f e i t o a t r a
-
v é s de um ou m a i s c a r t õ e s p e r f u r a d o s é a f a s e p r i n c i p a l d a p e s q u i s a . N e s t a f a s e , onde o s c a r t õ e s s ã o l i d o s e a n a l i s a d o s um de c a d a v e z , t o d o e q u a l q u e r e r r o é a n o t a d o e mensagens e s - p e c í f i c a s s ã o e n v i a d a s a o u s u á r i o , p o s s i b i l i t a n d o e f a c i l i t a n do a c o r r e ç ã o d o s e r r o s . O p e d i d o d e p e s q u i s a temt r ê s
p a r t e s que o c a r a c t e r i z a m : ( i ) ordem d e p e s q u i s a-
s ã o o s s e t e p r i m e i - r o s c a r a c t e r e s não b r a n c o s . ( i i ) t i p o ou t i p o s de d a d o s a serem p e s q u i s a d o s-
t o d o s o s c a r a c t e r e s não b r a n c o s e n t r e a ordem d e p e s - q u i s a e o d e l i m i t a d o r d o i s p o n t o s ( ; ) . ( i i i ) c o n d i ç ã ~ ou c o n d i ç õ e s d e p e s q u i s a-
t o d o s o s c a r a c t e r e s não b r a n c o s e n t r e o s d e l i m i t a d o r e s d o i s p o n t o s (;) e p o n t o e v í r g u l a ( ; ).
O m o t i v o do s i s t e m a u t i l i z a r e s s e s d e l i m i - t a d o r e s é , j u s t a m e n t e , p a r a f a c i l i t a r o t r a b a l h o do u s u s á r i o . Com e s s e s s í m b o l o s , não há o problema d e f o r m a t o do c a r t ã o,
para o p e d i d o d e p e s q u i s a . O u s u á r i o pode p e r f u r a r o c a r t ã o em q u a l q u e r c o l u n a e u s a r q u a n t o s c a r t õ e s d e s e j a r . Na l e i t u r a e d e p u r a ç ã o do p e d i d o de p e s q u i-
s a , t r e s f a s e s s ã o d i s t i n t a m e n t e a n a l i s a d a s ( F i g . 7 ) : ( i ) a n á l i s e d a ordem de p e s q u i s a ( i i ) a n á l i s e do dado a s e r p e s q u i s a d o ( i i i ) a n á l i s e d a c o n d i ç ã o d e p e s q u i s a . Supondo que não t e n h a o c o r r i d o e r r o s , a o fim d e s t a f a s e o s i s t e m a t e r á a n o t a d o , q u a l a ordem d e p e s q u i s a,
q u a l o dado a s e r p e s q u i s a d o , s o b que c o n d i ç ã o ou c o n d i ç õ e s d eDIAGRAMA DE BLOCO
-
FASE
1-
CARTA0 PES
QUI
SA
DA ORDEM DE
I
DA ORDEM
DE
PESQUISA
'r
DO DADO DE
INDICE RECE
BE QUAIS OS
DADOS PARA
PESQUISA
I
DACONDIÇAO
INDICE RECE
4-7
DOS D m S DEARMAZENAMENTO
DOS OPERANDOS
L-
FIGURA 7v e s e r e f e t u a d a a p e s q u i s a , e t c . . . . também a s c o d i f i c a ç õ e s e d e c o d i f i c a ç õ e s n e c e s s á r i a s t e r ã o s i d o f e i t a s . Em suma o s i s - tema e s t a r á t o t a l m e n t e p r e p a r a d o p a r a a execução i m e d i a t a da p e s q u i s a . 2 . 1 . A n á l i s e da Ordem de P e s a u i s a É o e s t u d o d o s . s e t e p r i m e i r o s c a r a c t e r e s não b r a n c o s , que r e p r e s e n t a m a ordem de p e s q u i s a .
O pedido de p e s q u i s a r e c e b i d o p e l o s i s t e m a p a s s a p o r uma f a s e de compactação dos s e t e p r i m e i r o s c a r a c t e - r e s não b r a n c o s . I s t o s e deve ao f a t o do u s u á r i o u s a r uma linguagem c o r r e n t e e formato l i v r e , d e s s e modo, e l e pode i n
-
s e r i r uma q u a n t i d a d e i n c o n t á v e l d e b r a n c o s e n t r e a s l e t r a s do p e d i d o de p e s q u i s a . Gom o a u x í l i o da r o t i n a de compacta-
ç ã o , a f a c i l i d a d e p e r m i t i d a aos u s u á r i o s , não d i f i c u l t a o processamento. A d e t e r m i n a ç ã o de s e t e c a r a c t e r e s não b r a n c o s é o número máximo de c a r a c t e r e s e n t r e a s o r d e n s e x i s t e n t e s . F e i t a a compactação e s s e s c a r a c t e r e s s ã o comparados com a s p o s s z v e i s o r d e n s de p e s q u i s a . A ordem s e n-
do a c e i t a p e l o s i s t e m a , s e u c ó d i g o6
armazenado e a a n á l i s e do c a r t ã o c o n t i n u a , d e s t a f e i t a passando a a n a l i s a r o dado a s e r p e s q u i s a d o .Caso a ordem d e p e s q u i s a não c o n f i r a com
a
nenhuma d a s o r d e n s e x i s t e n t e s , a mensagem "ORDEM ERRADA" e e n v i a d a , o c o n t a d o r de e r r o s
é
a c r e s c i d o e a depuração doM A T E M T I C A ; LISTAR
PROFESSOR, DISC1PL;INA NOMEADO =
ORDENAR MATRICULA : FUNÇÃO =
CONTAR NOME : IDADE > 30 ;
A : FQN@O = PROFESSOR ;
LISTAR NOME, MATRICULA
cartão continua. Evidentemente, no caso de uma ordem certa
,
perfurada errada, será uma ordem errada, não constando dosistema.
2.1.1. Ordenar
Se a pesquisa pedida for uma ordenação, e
xistem algumas diferenças no processamento, durante a análi-
se da ordem de pesquisa.
Uma vez que a ordem foi aceita pelo siste - ma, seu código é comparado com o código de "ordenar". Caso não confira, o sistema procede como descrito no item anteri-
or, mas se o código é de ordenação, então o sistema troca esse código para o código da ordem LISTAR e liga uma chave
de ordenação. Isto se deve ao fato de que uma pesquisa de
ordenar dados sob alguma condição, significa, em primeiro lu - gar separar os dados que satisfazem a condição, e em segundo,
ordená-los. Desse modo, toda ordenação, implica numa pesqui-
sa de listagem e posteriormente numa ordenação dos dados a
serem listados. Assim sendo, o sistema transforma a pesquisa
ordenar em listar, ao fim da qual, a chave de ordenação
é
tes-
tada. Se estiver ligada, a ordenaçãoé
processada e em segui - da a listagem dos dadosé
feita. Se não estiver ligada, sim - plesmente a listagem6
feita.A pesquisa ordenar pode-se apresentar co - mo (Fig.
-
9):a. Ordenar um tipo de dado sob uma OU
derado somente se todas as condições forem satisfeitas.
b. Ordenar um tipo de dado, sempre. Neste
caso, não há condição e todos os dados do tipo referido na
pesquisa são ordenados.
2.1.2. Listar
--
Para a ordem de pesquisa listar, haverá
um bit aceso em cada campo do index que se queira listar
(Fig. 6). Desse modo no momento da execução as rotinas de
teste saberão qual o dado a ser listado.
Um pedido para listar pode se apresentar
como :
a. listar um ou vários tipos de dAdos sob
determinada ou determinadas condições (Fig.
--
9). Em caso de várias condições, o dado6
listado somente quando todas as condições forem satisfeitas.b. listar um ou mais tipos de dados, sem - pre. Neste caso não há condição a ser testada, de modo que a
listagem
é
feita para todos os dados do tipo referido na pes- quisa.c. listar tudo. Este
é
o caso de um dump de memória, onde o arquivoé
inteiramente decodificado e lis - tado.A
listagem de dump, não tem o formato das listagens comuns. Trata-se de um arquivo completo, uma lista-EXEMPLOS DE PEDIDOS DE PESQUISA
LISTAR NOME
:F U N O
=PROFESSOR
;LISTAR NOME
,
MATRICULA
:IDADE
>30
,
FUNGO
=SERVENTE
;LISTAR NOME
:SBiRE
;LISTAR MATRICULA
,
FUNGO
:SEMPRE
;LISTAR
TUDO
;CONTAR NOME
:FUNGO
=PROFESSOR
;CONTAR MATRICULA
:FUNPO
=DIRETOR
,
TEMPO
.
DE
.
SERVIÇO
>10
;CONTAR NOME
:SEMPRE
;ORDENAR MATRICüLA
:FUNGO
=PROFESSOR
;ORDENAR IDADE
:TEMPO
.
DE
.
SERVIÇO
>15
,FUNGO
=DIRETOR
;ORDENAR NOME
:SEMPRE
;Desse modo o relatório de dump é feito por registros, isto
é ,
são listados sequencialmente os dados de cada registro do ar - quivo (Fig. 17).2.1.3. Contar
4
Dos tres. tipos de pesquisa, "contar" e a
mais rápida. Tanto no tempo de processamento, pois não preci-
sa armazenar nenhum dado, como no tempo de E I S pois não tem relatório impresso.
A
pesquisa contar, depois de executada, - a penas imprime o título da pesquisa e o valor correspondenteaonúmero de dados que satisfazem as condições dadas.
Um pedido de contar pode-se apresentar co-
mo (Fig. 9) :
a. contar um ou mais tipos de dados sob
uma ou mais condições. Neste caso, tal como, na pesquisa lis
-
tar, para várias condições, o dadoé
contado quando todas as condições forem satisfeitas.b.
contar um ou mais tipos de dados, sem-
pre. Esta pesquisa, não possue condição alguma. Todos os dados do tipo referido são contados.
2.2. ~ n á l i s e do Dado - a ser Pesquisado
2.2.1.
E
o estudo dos caracteres do pedido de pesquisa conti - dos entre a ordem de pesquisa e o delimitador dois pontos(Fig.8 ) . E s s e s c a r a c t e r e s , q u e , r e p r e s e n t a m o dado a s e r p e s q u i s a
-
-
d o , s ã o a n a l i s a d o s q u a n d o - a s i n t a x e , com r e l a ç ã o a p o n t u a ç ã o , o r t o g r a f i a e q u a n t o a l ó g i c a do s i s t e m a , com r e l a ç ã o a e x i s-
t ê n c i a ou não d o s d a d o s d e p e d i d o s no s i s t e m a . Também a f a l t a do d e l i m i t a d o ré
a n a l i s a d a e n e s t e c a s o , um e r r o é d e t e t a d o.
A p r e s e n ç a d e q u a l q u e r e r r o , o r i g i n a a .impressão i m e d i a t a da mensagem d e e r r o r e s p e c t i v a . 2 . 2 . 2 . O s o b j e t i v o s d e s t e e s t u d o s ã o p a r a f a c i l i t a r t a n t o o p r o c e s s a m e n t o p o r p a r t e do s i s t e m a como a o p e r a ç ã o do mesmo p o r p a r t e do u s u á r i o . P a r a o s i s t e m a o o b j e t i v oé
e v i t a r que o p e d i d o d e p e s q u i s a chegue a t é a f a s e d e execução com e r r o s no p r ó p r i o p e d i d o , que i m p e d i r á , e v i d e n t e m e n t e a execução comple - t a d a p e s q u i s a . Quando a f a s e d e e x e c u ç ã o tem i n i c i o , o c a d a s-
t r o de d a d o s g r a v a d o s começa a s e r manipulado p e l o s i s t e m a . 1 ~ t o s i g n i f i c a d i z e r que a f i t a ou o d i s c o no q u a l o a r q u i v o e s-
t á g r a v a d o começará a s e r l i d a ou l i d o . O c a s o do s i s t e m a de-
t e t a r e r r o s que impessam a execução c o m p l e t a , d e p o i s d e s t a t e r s i d o i n i c i a d a , s i g n i f i c a que o c a d a s t r o em f a s e d e l e i t u - r a s e r á i n t e r r o m p i d o e a execução c a n c e l a d a . Seé
um a r q u i v o em f i t a , e s t a d e v e r á s e r r e e m r o l a d a p a r a d a r i n i c i o a n o v a p e s - q u i s a . Seé
em d i s c o também o p r o c e s s o d e l e i t u r a v o l t a a o i n i c i o . D e s n e c e s s á r i o s e t o r n a d i z e r , que o f a t o d o s e r r o s serem d e t e t a d o s a n t e s do i n i c i o d a execução p r o p o r - c i o n a m a i o r s e g u r a n ç a e r a p i d e z no p r o c e s s a m e n t o .Há
também e r r o s d e e x e c u ç ã o , e r r o s que - a parecem somente d u r a n t e t a l f a s e . Contudo e s s e s e r r o s s ã o ,a
em s u a g r a n d e m a i o r i a , e r r o s d e s i s t e m a , e c u j a e x i s t ê n c i a e pouquissimo p r o v á v e l . São e r r o s que constam da l i s t a d e e r r o s ,
tem s u a s mensagens e s p e c i f i c a s e t o d a a s e q u ê n c i a normal d e um e r r o ao s e r d e t e t a d o . A i d é i a do e r r o . d e s i s t e m a , P o r m a i s i m p r o v á v e l que s e j a s u a e x i s t ê n c i a , s e deve ao f a t o , de que e s t e p r o j e t o f o i f e i t o de forma que nenhuma p e r g u n t a f i c a s - s e sem r e s p o s t a p o r m a i s a b s u r d a ou i n o c e n t e que f o s s e . Qual- q u e r h i p o t e s e f o i p r e v i s t a , mesmo que nunca venham a a c o n t e
-
c e r .P a r a o u s u á r i o , o o b j e t i v o d a a n á l i s e do dado a s e r p e s q u i s a d o
é
o m a i s s i m p l e s e p r á t i c o . Tem como f i n a l i d a d e i n d i c a r ao u s u á r i o , p o r q u e a p e s q u i s a não f o i e f e-
t u a d a e q u a l o e r r o p o r e l e c o m e t i d o , d a n d o - l h e p o s s i b i l i d a-
d e s . d e c o r r i g i - l o e em menos tempo, uma v e z que a s mensagens e s p e c í f i c a s traduzem q u a l o e r r o d e t e t a d o .2 . 2 . 3 . A c a r a c t e r í s t i c a d e s s a a n á l i s e c o n f u n d e - s e com um d e s e u s o b j e t i v o s que
é
j u s t a m e n t e p e r m i t i r ao u s u á r i o , uma c o r - r e ç ã o r á p i d a d e s e u s e r r o s .2 . 2 . 4 . A d e p u r a ç ã o do dado a s e r p e s q u i s a d o começa com a com- p a c t a ç ã o d o s , c a r a c t e r e s . a serem e s t u d a d o s . Todos o s b r a n c o s são r e t i r a d o s formando uma s e q u ê n c i a d e c a r a c t e r e s não b r a n c o s que compõem o t i p o ou o s t i p o s de d a d o s a serem p e s q u i s a d o s
.
Numa e t a p a s e g u i n t e , e s t a s e q u ê n c i aé
comparada com t o d o s o s dados do i n d e x do a r q u i v o . Uma v e z que no i n d e x e n c o n t r a m - s e t o d o s o s t i p o s de d a d o s e x i s t e n t e s .Na h i p ó t e s e de v á r i o s dados a serem p e s q u i
-
s a d o s , s ã o t e s t a d a s também, a s v í r g u l a s e n t r e e s s e s d a d o s , c u - j a f a l t a ocasionam e r r o s , impedindo a e x e c u ç ã o . Cada dado do p e d i d o d e p e s q u i s a é comparado com t o d o s o s dados do i n d e x .D u r a n t e a f a s e d e comparação o s d a d o s do i n d e x que conferem com o s dados de p e s q u i s a s ã o a s s i n a l a d o s com o c ó d i g o d a ordem d e p e s q u i s a p e d i d a . Desse modo a o
térmi
-
no d e s t a e t a p a , no i n d e x e s t a r ã o n o t a d o s o s d a d o s que devem s e r l i s t a d o s , c o n t a d o s ou o r d e n a d o s . Se nenhum dado do i n d e x f o r a s s i n a l a d o , s i - g n i f i c a e r r o no p e d i d o d e p e s q u i s a , o que a c a r r e t a , a c r é s c i m o no c o n t a d o r d e e r r o s e o e n v i o d a mensagem e s p e c í f i c a . 2.3. ~ n á l i s e d a Condicão d e P e s a u i s a 2 . 3 . 1 . É o e s t u d o d o s c a r a c t e r e s não b r a n c o s , do p e d i d o d e p e s q u i s a , c o n t i d o s e n t r e o s d e l i m i t a d o r e s d o i s p o n t o s ( : ) e p o n t o e v í r g u l a
.
E s s e s c a r a c t e r e s r e p r e s e n t a m a ou a s c o n d i - ç õ e s d e p e s q u i s a ( F i g . 8 ).
I! uma a n á l i s e s i n t á t i c a , o r t o g r á f i c a e de c o n t e ú d o , com r e l a ç ã o ao c a d a s t r o g r a v a d o . a 2 . 3 . 2 . O s o b j e t i v o s s ã o v á r i o s , o m a i s p r á t i c o i n c l u s i v e , e a d e t e t e ç ã o de e r r o s do p e d i d o d e p e s q u i s a , a n t e s d e s e i n i c i-
a r a execução d a mesma, dando ao u s u á r i o uma a v a l i a ç ã o comple t a do s e u p e d i d o , p o i s e s t a é a ú l t i m a f a s e d e d e p u r a ç ã o doscartões de pesquisa.
A
coerência dos dados de condição com o cadastro,é
outro objetivo deste estudo bem como armazenar o dado condicionado, para futuros testes, marcar no indexque tipo de dado será testado e fazer as devidas decodifi
-
cações e codificações.2.3.3. A característica básica 6 o fato desta análise de condições ser feita, sem testar a condição.
E
uma análise quanto as possibilidades de execução da pesquisa. 0s dadosde condição são testados para verificar se satisfazem as - e xigências operacionais do sistema e não para verificar as
condições ditadas pelo usuário. As condições do usuário uma
vez, satisfazendo a todas as condições do sistema, serão en - tão pesquisadas e processadas.
~á
também o número de condições. O siste - ma permite no máximo dez (10) condições para cada pesquisa.O que supos ser um limite bastante razoável. Um número de condições superior acarretará erro, mensagem de erro e in - terrupção na execução.
2.3.4. A fase de análise das condições possue tres (3) eta - pas I F i g . 7) :
i) marcação no index
ii) reconhecimento e armazenamento do o-
perador
i) Marcação do Index
Iniciando a análise da condição de pesqui - sa, o sistema faz a compactação dos caracteres não brancos
contidos entre os delimitadores dois pontos e ponto e vírgu-
la, caracteres estes que representam as condições da pesqui-
sa. Uma vez que cada condição
é
constituída de tipos de da dos, operadores e dados reais (Fig.--
9 ) , a sequência de carac - teres compactados de uma ou mais condições apresenta-se namesma forma. Assim sendo o sistema passa a comparar os pri - meiros caracteres (que representam o tipo de dado) com os da
-
dos do index a fim de reconhecer qual o tipo de dado da con-dição. Feitas as comparações sem conferir com nenhum dado do
index, a mensagem de "dado não existente" é indicada, o con- tador de erro 6 acrescido e a depuração continua. No caso do tipo de dado conferir com algum dado do index, o bit de tes - tar do dado do index em questão
é
assinalado (Fig. 6). Essa marcação é feita para facilitar a execução, pois quando esta tiver inicio bastará ao sistema verificar qual o dado do in - dex que possue a marcação para teste. Somente estes dados de - verão ser testados e pesquisados, o que evita maior perda detempo,tanto de execução como de entrada e saída.
ii) Reconhecimento e Armazenamento do Ope - rador
O sistema permite a utilização de tres
-
o peradores a saber: maior ( > ) , menor (<) ou igual ( = ) .Uma vez que o tipo de dado já foi analisa - do, o sistema pesquisa se o caractes seguinte 6 um dos tres
operadores. Em caso afirmativo, o operador é armazenado e o sistema passa a etapa seguinte. No caso de não conferir, a
mensagem adequada
é
enunciada, o contador de errosé
acresci - do e a depuração prossegue.iii) Armazenamento do Dado de Condição
Nesta etapa o sistema armazena o dado de
pesquisa num vetor determinado.
O processo de armazenamento desse dado
utiliza um conjunto de tres vetores indexados em cadeia, is
-
toé ,
uma composição de funções. O motivo desse processo, a princípio confuso, é devido ao fato do sistema permitir vá - rias condições de pesquisa, desse modo, podem haver até 10(dez) dados de pesquisa a serem armazenados, e que precisam
ser indicados, que dado corresponde a tal condição, uma vez
que a execução será processada num tempo posterior.
Os vetores'ind6xados funcionam da se
-
guinte maneira:Sejam VI, V2 e V3
-
vetores internos Sendo V1 e V2 numéricos e V3 alfanumérico. No vetor V1 são armazenados sequencialmente todos os ?n-
dices dos bits testar dos campos marcados no index. No vetor
V3 são armazenados, também sequencialmente, os dados reaisde
condição, separados por ( / ) barra no caso de mais de uma con
-
dição. No vetor V2 são armazenados, também sequencialmente , os índices dos primeiros caracteres de cada dado, armazenadoem V 3 .
seus contadores representam o número de condições. Dessa forma uma condição como:
...
: NOME = MARIA LUCIA, FUNÇÃO = PROFESSOR ;Sabendo que os .índices dos bits testar dos dados NOME e FUNÇÃO do index são respectivamente 'a' e
'b',
teríamos os vetores.V1 (1) = a la. condição v2 (I) = I la. condição V3 (1) = M V3 (2) = A V3 (3) = R v3 (4) =
I
V3 (5) =A
V3 (6) =L
v3 (7) =u
v3 (8) = C v3 (9) =I
V3 (10)=A
v3 (11)=/
Vi (2) = b 2a. condição v2 (2) = 1 2 2a. condição v3 (12) =P
V3 (13) =R
V3 (14) = O V3 (15) =F
V3 (16) = E V3 (17) = S V3 (18) = S V3 (19) =O
V3 (20) = R v3 (21) =/
Com esta apresentação o sistema permite o armazenamento de inúmeros dados. Ao fim do qual verfica-se a existência de mais alguma condição de pesquisa e se não ultra- passa o limite de 10 condição, o que acarretaria erro para o sistema. ~ a m b é m o falta de vírgula, separando as condições - a carretaria erro, impedindo a execução da pesquisa. Feitas to - das essas verificações o sistema repete o processo de análise, no caso de haver mais condições, ou passa a execução propria
-
mente dita.C A P I T U L O
-
I11111. EXECUCÃO DA PESOUISA
Uma vez que a f a s e de l e i t u r a e d e p u r a ç ã o t e n h a s i d o c o m p l e t a d a , e nenhum e r r o d e t e t a d o , tem i n í c i o en
-
t ã o , a e x e c u ç ã o d a p e s q u i s a , f a s e em que o s dados do a r q u i - vo s ã o p r o c u r a d o s , a s c o n d i ç õ e s s ã o t e s t a d a s e o s r e l a t ó r i - o s e l a b o r a d o s ( F i g . 1 0 ).
A s c a r a c t e r í s t i c a s p r i n c i p a i s r e s i d e m no f a t o do s i s t e m as ó
e n t r a r n e s t a f a s e , s e nenhum e r r o a n t e r i - o r houver s i d o d e t e t a d o e também o f a t o d e que somente n e s - t e p o n t o é que o a r q u i v o c o n d i f i c a d oé
m a n i p u l a d o . A t é e n t ã o , o s i s t e m a t r a b a l h a somente com o s c a r t õ e s que dão e n t r a d a com o s p e d i d o s d e p e s q u i s a . Depois d e v e r i f i c a r que não e x i s - t e e r r o , o s i s t e m a p a s s a e n t ã o a l e r o a r q u i v o c o d i f i c a d o,
no q u a l p r o c u r a o s d a d o s p a r a a s p e s q u i s a s , f a z o s t e s t e s e mais uma v e z t e s t a a p r e s e n ç a d e e r r o s . Nenhum sendo encon- t r a d o , o r e l a t ó r i o e n t ã o s e r á e l a b o r a d o dando p o r t e r m i n a d a a p e s q u i s a . E s s e s f a t o s concorrem p a r a um p r o c e s s a m e n t o m a i sI N I C I O
(7
F I G U R A 1 0 - - - - 1 II
PROCURA DOS I DADOS I EXECUÇÁO I I I TESTES I I I I ORDENAR t - - - I - - AI
I
PCONTAR LISTm ORDENAGO
MENSAGEM FINAL
rápido e mais eficiente pois não se perde tempo em ler um ar
-
quivo, caso a pesquisa não possa ser efetuada e o mesmo não corre o risco de ser lido e relido sem necessidade, princi - palmente porque na maioria dos casos os arquivos são em fi-
tas, cuja inconfiabilidade é bastante conhecida.3.1. Procura dos Dados
Fase em que o arquivo codificado é lido
,
verificando-se qual o campo ou campos a serem listados, con-tados, ordenados, atualizados ou testados com outros dados
(Fig. 11). -
Tem por finalidade apanhar o dado do ar - quivo. Este
é
o ponto base da procura dos dados, sendo tam-
bém a característica mais importante, pois é a única fase,
exceto a atualização, que tem acesso ao arquivo codificado.
A
procura dos dadosé
feita através do in7
dex, uma vez que este, possue assinalado cada campo (item 2)
que deverá ser testado, listado ou contado.
E
conveniente lem brar que a pesquisa de ordenaré
transformada em listar e so - mente na elaboração do relatórioé
que a ordenaçãoé
feita.
Quanto a atualização o index assinala todos os campos a se - rem testados, somente, e a atualização propriamenteé
feita posterior aos testes, caso sejam satisfatórios.Desse modo o sistema percorre simultanea-
mente o index e o arquivo codificado, onde cada qual possue
MENSAGEM
7
v
D FIGURA 11 ACRESCEo
CONTADORd e n t e s e n t r e o i n d e x e o a r q u i v o . I s t o s i g n i f i c a que a c a d a minuto o a p o n t a d o r do i n d e x i n d i c a um dado que
é
a e x a t a d e s c r i ç ã o do dado i n d i c a d o n e s s e mesmo i n s t a n t e p e l o a p o n t a d o r do a r q u i v o c o d i f i c a d o ( F i g.
5 ).
Como j f o i e x p o s t o no i t e m 2 , c a d a campo do i n d e x p o s s u e b i t s de t e s t a r e l i s t a r( F i g . 6 )
.
A s s i m sendo o s i s t e m a p e r c o r r e o i n d e x e o a r q u i v o , v e r i f i c a n d o a c a d a campo e s s e s b i t s , que possuem o s s e g u i n t e s c ó d i g o s : b i t de t e s t a r
-
O-
não t e s t a r o dado 1-
t e s t a r o dado b i t de l i s t a r-
O-
não l i s t a r o dado 1-
l i s t a r o dado O p r o c e s s oé
r e p e t i d o p a r a c a d a r e g i s t r o l ó g i c o a t é que s e e n c o n t r e a l g o a p e s q u i s a r . Caso o r e g i s t r o l ó g i c o não possua nenhum campo a s s i n a l a d o , i s t o s i g n i f i c a que e s t e r e g i s t r o não deve s e r p e s q u i s a d o e o s i s t e m a p a s s a p a r a o r e g i s t r os e g u i n t e .
O p r i m e i r o b i t a s e r v e r i f i c a d o
6
o d e l i s t a r e em c a s o p o s i t i v o o dado r e f e r e n t eé
armazenado num v e t o r d e t e r m i n a d o . A s e g u i r t e s t a - s e o b i t d e t e s t a r , e em c a s o p o s i t i v o o s i s t e m a p a s s a p a r a f a s e d e t e s t e s dando o s r e s p e c t i v o s r e s u l t a d o s . Terminada a f a s e d e t e s t e s , o con-
t r o l e do s i s t e m a r e t o r n a a e s t a f a s e p a r a v e r i f i c a r o s r e - s u l t a d o s . Caso s e j a m s a t i s f a t 6 r i o s e nenhum e r r o d e t e t a d o o s i s t e m a t e s t a a ordem de p e s q u i s a :-
s e f o r c o n t a r , a c r e s c e o c o n t a d o r ,-
s e f o r l i s t a r , o s i s t e m a p a s s a p a r a t e s t a r o r e g i s t r o s e g u i n t e , uma v e z que o dadoj á
f o i armazenado e o r e l a t ó r i o s ó é e l a b o r a d o quando t o d o s o s r e g i s t r o s do a r-
q u i v o t i v e r e m s i d o p e s q u i s a d o s .Se o r e s u l t a d o não f o r s a t i s f a t ó r i o e a ordem d e p e s q u i s a f o r l i s t a r , a q u e l e dado armazenado
é
e n t ã o apagado do v e t o r , o mesmo a c o n t e c e n d o quando o s r e s u l t a d o s f o - rem s a t i s f a t ó r i o s mas f o r c o n s t a t a d a a p r e s e n ç a d e e r r o s .Desse modo a " p r o c u r a d o s dados" é a f a s e m a i s i m p o r t a n t e d a e x e c u ç ã o , p o i s é quem manuseia com o s a r - q u i v o s c o d i f i c a d o s , apanhando o s dados e armazenando-os quan
-
do n e c e s s á r i o . É também a p a r t i r d e s t a f a s e que s e teminz
-
c i o a f a s e d e t e s t e s . Sendo a i n d a r e s p o n s á v e l p e l o r e c e b i m e n-
t o dos r e s u l t a d o s e s u a p o s t e r i o r a n á l i s e . 3 . 2 . F a s e de T e s t e s São r o t i n a s que t e s t a m o s d a d o s a r q u i v a-
d o s c o d i f i c a d o s ou n ã o , n u m é r i c o s ou a l f a n u m é r i c o s com a s con - d i ç õ e s d a p e s q u i s a .I?
uma f a s e c u j a c a r a c t e r í s t i c a p r i m o r d i a l c o n s i s t e na r a p i d e z e e f i c i ê n c i a d o s t e s t e s .E
e s s e n c i a l m e n - t e p r á t i c a , uma vez que t o d a a p r e p a r a ç ã oj á
f o i f e i t a . Rece - bendo o s d a d o s , o s i s t e m a n e s t a f a s e , d e c o d i f i c a - o s ou não,
conforme o c a s o , e o s compara com a s c o n d i ç õ e s j á armazena-
d a s e p r e p a r a d a s ( i t e m 2 . 3 ) .FASE DE TESTES DADO P A
RA
TES-'4-
ALFA D E C O D I F I C A Ç ~ O RESULTADOSE s t a f a s e tem i n í c i o quando chamada p e l a f a
-
s e d e p r o c u r a d o s d a d o s , d a q u a l r e c e b e o dado a s e r t e s t a d o e p a r a a q u a l e n v i a s e u s r e s u l t a d o s ( F i g . 1 2 ) .O dado a s e r t e s t a d o tem t r e s v a r i a ç õ e s , p g dendo s e r um dado a l f a n u m é r i c o , um número comum ou um número c o d i f i c a d o . Nos d o i s p r i m e i r o s , dizemos que o dado
6
r e a l e a comparação com a s c o n d i ç õ e s p r o c e s s a - s e i m e d i a t a m e n t e . No Último c a s o , temos um dado c o d i f i c a d o que6
d e c o d i f i c a d o e e n t ã o comparado com a s c o n d i ç õ e s . Desse modo vemos que o s t e s-
t e s começam v e r i f i c a n d o s e o dado6
numérico ou a l f a n u m é r i c o , d e p o i s s e é c o d i f i c a d o ou não e e n t ã o a comparação com a con- d i ç ã o d e p e s q u i s a6
e f e t u a d a . Uma vez que o dado e s t á p r o n t oa
p a r a a comparação, o s i s t e m a apanha a c o n d i ç ã o . P a r a t a n t o , e u t i l i z a d o o p r o c e s s o d o s t r e s v e t o r e s ,
j á
e x p o s t o no i t e m 2 . 3 , que s i t u a m q u a l a c o n d i ç ã o p a r a c a d a dado. O v e t o r V 1 (Fig.13) contém o í n d i c e do b i t t e s t a r , .o v e t o r V 2 contém o í n d i c e do 1 - a r a c t e r d a c o n d i ç ã o no v e t o r V3. 0 s í n d i c e s de V 1 e V 2 s ã o i g u a i s p a r a c a d a c o n d i ç ã o . Desse modo o s i s t e m a compara o v e t o r V 1 com o b i t t e s t a r do campo r e f e r e n t e ao dado. Quandoc o n f e r i r e m t e r e m o s o p o n t o e x a t o onde começa a c o n d i ç ã o p a r a s e r t e s t a d a .
No exemplo da F i g . 1 3 o s i s t e m a deve t e s
-
t a r o s campos M ~ ~ ~ e "TEMPO.DE.SERVIÇO", ç Ã ~ v a s s i m a f a s e de t e s t e s r e c e b e o dado r e l a t i v o a FUNÇÃO v e r i f i c a queé
c ó d i - g o , d e c o d i f i c a - o e p r e p a r a - s e p a r a a p a n h a r a c o n d i ç ã o . E n t ã o , t e s t a V 1 a t é e n c o n t r a r o í n d i c e do b i t t e s t a r d e FUNÇÃO. Como o í n d i c e de V 1é
o mesmo p a r a V 2 em c a d a c o n d i ç ã o , ao encon-
t r a r em V 1 ( 1 ) , o b i t de t e s t a r e usando o mesmo í n d i c e I , p a -INREtX D O C A D A S T R O f 4 L E T F 0 4 0 4 6 O C A T E G O R I A ~ O O N L E T F 0 4 0 5 3 O T E M P O a DE* S E R V I C O * O @ # F F 0 4 0 0 " O L D T A C A U * G O N L E T F O 4 U 5 6 5 O U A L I F Z C A C A O ~ ~ O O NL I T V ~ O ~ ~ ~ ~ O - ~ S C I P L I N A ~ N O M E A D O ~ O O N L E T F O ~ O ~ ~ ~ D ~ S C I P L I N A , O U T R A S * ; G p N L I T b C C 0 3 7 5 = $ P R I M E I H O - G R A U -COblPL E T O / S Z r U N D O - G R A U - C O P l P L E T O / L I C E N C I A T U R A - C U R T A / L ICEI\JCIATUR.~-PL ENA/ESPECIALI Z A C A O / M E S T R A D O / D O U T O R
A D O / C U R S O - CE-D I R E TOR I A ' / $ M A T E M A T I
CA/PROCESSAMEN
PESQUISA -r .LISTAR NCME, MATR~ CULA: TEMPO. DE. SERVIÇCb15, FUNI;ÃO=DIRETOR; CAMPOS A SEREM TESTADOS:
TEMPO DE SERVIÇO
-
BIT TESTAR = I 0 3 FUN@O-
BIT TESTAR = 50 VETOR V 1 CONTEM OS ~NDICES DOS BITS TESTAR V l ( 1 ) = 1 0 3 V l ( 2 ) = ' 5 0VETOR V2 CONTEM OS ÍNDICES DO 19 CARACTER DE CADA CONDIGO NO VETOR V3.
V2(1) = 1 V2(2) = 4
OS fNDICES DE V I e V2 SÃO IGUAIS PARA O A
CONDIDO.
WTOR V3 CONTEM AS C O N D I ~ ~ Sr a V2, temos em V 2 ( I ) , o í n d i c e d e V3 que contém o p r i m e i r o c a r a c t e r d a c o n d i ç ã o r e f e r e n t e ao dado. Se V l ( 1 ) = 5 0 ( b i t t e s t a r ) + I = 2 l o g o V2(2) = 4 é o í n d i c e de V3 onde começa a c o n d i ç ã o . E n t ã o V 3 ( 4 ) = D é o p r i m e i r o c a r a c t e r d a c o n d i ç ã o . E n c o n t r a d a a c o n d i ç ã o , a comparação com o dado tem i n í c i o . É bom l e m b r a r , que ambos devem s e r do mesmo t i p o , i s t o
é,
a l f a n u m é r i c o ou n u m é r i c o . No c a s o d e serem n u m é r i c o s , p r o c u r a - s e no v e t o r V4 o e l e m e n t o d e í n d i c e I , o mesmo u s a d o p a r a V 1 e V 2 . E s t e v e t o r contém o s o p e r a n d o s d a sc o n d i ç õ e s usando o s mesmos í n d i c e s que V 1 e V 2 . Conhecendo o o p e r a n d o d a c o n d i ç ã o , o s i s t e m a t e s t a s e o dado
é
maior, menor ou i g u a l a c o n d i ç ã o , d e a c o r d o com o o p e r a n d o encon-
t r a d o.
P a r a o c a s o d o s dados serem a l f a n u m é r i c o s a comparação
é
f e i t a t e s t a n d o - s e c a r a c t e r p o r c a r a c t e r , uma v e z que n e s t e c a s o o r e s u l t a d o s a t i s f a t ó r i o,
e e v i d e n t e m e n - t e ,é
que a c o n d i ç ã o c o n f i r a com o dado. Terminados o s t e s - t e s , sejam q u a i s forem o s r e s u l t a d o s o s i s t e m a r e t o r n a a f a s e de p r o c u r a d o s d a d o s , onde é f e i t a a n á l i s e d o s r e s u l t a-
d o s .3 . 3 . Contagem
A p e s q u i s a d e c o n t a r
é
a mais s i m p l e s e r á p i d a , uma v e z que não e x i s t e r e l a t ó r i o a s e r e l a b o r a d o,
nem dados p a r a a r m a z e n a r . A s c o d i f i c a ç õ e s ou d e c o d i f i c a ç õ e sCONTAGEM
LEITURA E DEPU
-RAPO DO PEDIDO
r - - - - - -PROCURA DE DADOS
TESTES
0
FIGURA
14f e i t a s s ã o e x c l u s i v a m e n t e p a r a o s t e s t e s .
A contagem c o n s i s t e em l e r e d e p u r a r o p e
-
d i d o d e p e s q u i s a , p r o c u r a r o s d a d o s , t e s t a r e c o n t a r aque-
l e s que s a t i s f a z e m a s c o n d i ç õ e s ( F i g . 1 4 ) .O r e s u l t a d o d a p e s q u i s a
é
dado numa Única mensagem do t i p o "EXISTEM X DADOS QUE SATISFAZEM ASEXIGEN-
CIAS", onde X é o número e n c o n t r a d o .E s s a p e s q u i s a s e g u e a l i n h a do p r o j e t o com f á c i l o p e r a ç ã o , r a p i d e z e e f i c i ê n c i a na e x e c u ç ã o . O s t i p o s de contagem s ã o v á r i o s , dependendo do c a d a s t r o a r q u i v a d o ( v e - j a m a n u a l ) . A p a r t e m a i s p r á t i c a do p r o j e t 9 , é a r e s
-
p o s t a a o s p e d i d o s d e p e s q u i s a com a s o l u ç ã o d o s p r o b l e m a s do u s u á r i o.
A i m p r e s s ã o e l a b o r a o s r e l a t ó r i o s d o s p g d i d o s de p e s q u i s a l i s t a r e o r d e n a r c o n s t r u i n d o r e l a t ó r i o s or - denados ou não de a c o r d o com a p e s q u i s a .No c a s o da p e s q u i s a s e r o r d e n a r , uma c h a v e
é
l i g a d a e t r a n s f o r m a - s e a p e s q u i s a em l i s t a r .aí
o s i s - tema p r o c e d e n a e x e c u ç ã o d a mesma, depurando o p e d i d o d e p e s - q u i s a , p r o c u r a n d o e armazenando o s dados a serem l i s t a d o s,
t e s t a n d o - o s e f i n a l m e n t e o s r e l a t ó r i o s . A n t e s porém de e l a - b o r á - l o s , o s i s t e m a v e r i f i c a a chave de o r d e n a ç ã o s e e s t a
LEITURA E
DEPURAÇÃO
DO PEDIDO
O
PROCURA DOS
DADOS E AR
-
MAZENAMENTO
B
TESTES
TTSORT
o
FRELATORIOS
FIGURA
15ligada
.
Em c a s o p o s i t i v o , o s o r t6
a c i o n a d o e n v i a n d o p a r a a i m p r e s s ã o um a r q u i v o o r d e n a d o . Caso a chave não e s t e j a l i g a - d a , o s i s t e m a i n i c i a a e l a b o r a ç ã o d o s r e l a t ó r i o s com o a r q u i - vo n a forma em que e s t i v e r ( F i g . 15).
P e l o modo como e s t á p r e p a r a d a a i m p r e s s ã o tem como o b j e t i v o , f a c i l i t a r a s u a compreensão. São r e l a t ó r i - o s s i m p l e s , p r á t i c o s , sem m u i t a s l i n h a s e c o l u n a s que comu
-
mente confundem o u s u á r i o . Com e s t a s c a r a c t e r í s t i c a s , o s r e-
l a t ó r i o s foram d i v i d i d o s em 4 t i p o s d i v e r s o s podendo c a d a um d e l e s e s t a r ordenado ou não conforme o p e d i d o d e p e s q u i s a .
0 s r e l a t ó r i o s e l a b o r a d o s s ã o d o s t i p o s :
i . ~ e 1 a t Ó r i . o número 1 ( F i g . 1 6 )
-
6
o r e l a-
t ó r i o i m p r e s s o mais s i m p l e s e comum. Cada l i n h a c o r r e s p o n d e a um r e g i s t r o l ó g i c o e c a d a c o l u n a , o s d i f e r e n t e s campos d e s t e r e g i s t r o que t i v e r e m s i d o p e s q u i s a d o s . A s c o l u n a s s ã o s i-
m e t r i c a m e n t e c e n t r a d a s , c a d a q u a l com um t í t u l o r e f e r e n t e ao campo do r e g i s t r o . i i . R e l a t ó r i o número 2 ( F i g . 1 6 )-
e s t e r e-
l a t ó r i o s a t i s f a z a n e c e s s i d a d e de mais uma l i n h a p a r a c a d a % campo do r e g i s t r o . N e s t e c a s o c a d a r e g i s t r o pode t e r d u a s ou mais l i n h a s e a s c o l u n a s d a mesma forma que no r e l a t ó r i o nÜ-
mero 1, s ã o o s campos d o s r e g i s t r o s que foram p e s q u i s a d o s .
... .. . - r-l <._r- L T C -:. -- *-- .'.. C-. r* ,.- - '..i . C.#
l j a * a :-+i a Ls. < rx r n .?v .-. .-, -1.... + ;z: $--. C"> * -r& %.. ,z
-
-t M a v ut 7 .i *... ,L. 3 W t i - ;Zf U jx & +I Li. s S W Z ,r 5:.--,
ui*
*I L?. IY t W r i , -a <? .<51o caso da pesquisa especial para "listar tudo", é ottdump de memória", onde todo o arquivo
é
impresso em relatório. Esta pesquisa é muito comum e até mesmo conveniente, seguindo uma pesquisa de atualização. No caso do dump, o relatório não sefaz em linhas e colunas. É mais simples, é feito por regis
-
tro, isto é , cada registro é totalmente impresso, na ordem em que está arquivado com um campo por linha, ou mais se ne-
cessário. Estes registros são numerados. Ao final dessa pes- quisa o usuário terá todo o arquivo e com o número de quan - tos registros.iv. Relatório número
4
(Fig. 17)-
este relatório tem como característica a continuação em outra pá-gina. Isto significa, um relatório do tipo número 1 ou 2
,
mas que nem todas as colunas podem constar na mesma página.
Neste caso, o sistema repete sempre a primeira coluna e aseguir aqueles campos que ainda não foram impressos.
Por exemplo, na fig. 17, temos um relató
-
rio com 5 campos, dos quais somente tres somam todo o espaçode uma página. Desse modo, a primeira página é elaborada com os tres primeiros e repetindo-se a primeira coluna e mais os
campos restantes compõe-se a segunda página. Tal processo de - ve se repetir quantas vezes for necessário, para a impressão de todos os dados, e sempre repetindo em cada página a pri - meira coluna, visto ser esta, o ponto de conexão entre os da