sexta-feira, 30 de setembro de 2011

2. AS FERRAMENTAS QUE POSSUIMOS PARA CRIAR - Parte 4


2.9          ARQUIVOS BINÁRIOS


Os arquivos binários são formas de armazenar diversos dados como se fosse uma matriz, porem a quantidade de informação não é predeterminada. Desta forma podemos ver um arquivo binário como um fichário de cliente de uma loja onde cada vez que cadastramos um novo cliente o fichário aumenta automaticamente.
O tamanho de um arquivo binário pode ser variável, sendo que o máximo é determinado como sendo o tamanho do disco, imaginemos que o nosso fichário esteja em uma sala que meça 4 Mts, o fichário está no chão o tamanho máximo do fichário será o próprio tamanho da sala em nosso computador o espaço livre  do disco rigido é o tamanho máximo  do nosso arquivo binário. 



Realmente comparar um arquivo binário com um fichário é uma forma direta para visualizarmos, um arquivo binário armazenar diversos registros, sendo estes imaginados como a ficha cadastral, a ficha cadastral é  um tipo pré-estabelecido.
Um registro é uma ficha, a coleção de fichas é o conteúdo do nosso fichário, essa ficha é igual para todos, mudamos apenas o conteúdo que esta irá guardar, sendo caracterizado como os dados pessoais de um cliente. A determinação do tipo Cliente usando  pascal poderia ser assim.
Ficha ( Registro)




Nome:



End:



Tel:



Cidade:

UF:



type  Cliente= record
        Nome:String[10];
        End:String[10];
        Tel:string[12];
        Cidade:String[10];
        UF:string[2];
end;


Esta declaração seria a célula das fichas  que irão estar dentro do fichário.


2.10        PRINCIPAIS COMANDO USADO EM UM ARQUIVO BINARIO.

Obs: (No final do livro existe um programa completo exemplificando estes comandos usando os mesmos nomes usados aqui).

Assign(CadCli,”Cliente.Dat”)
Determina que o nome interno que será usado no programa referencia ao nome externo que estará no diretório

Reset (CadCli)
Abre o arquivo, sem estragar o seu conteudo anteriormente colocado.

Rewrite(CadCli)
Abre o arquivo, reescrevendo desde o inicio.

Close (CadCli)
Fecha o arquivo binario

Seek(CadCli,3)
Posiciona no registro número 3 do arquivo binario.

Seek(CadCli,FileSize(CadCli))
Posiciona na ultima posição em branco do arquivo binario, representa o tamanho do arquivo binario.

Write (CadCli,Cli1)
 Coloca o conteudo de uma ficha no fichario.

Read (CadCli,Cli1)
 Realiza a leitura de uma ficha do fichario, e coloca em uma ficha rascunho.


3            PROCEDIMENTO


Procedimento são meios que utilizamos para diminuir o esforço na programação quando devemos realizar um mesmo processo diversas vezes. Utilizamos este recurso a fim de diminuir as linhas de código do programa. O procedimento tem como característica resolver algum problema a ele destacado, mas sem retornar a quem o chamou uma resposta, a questão de retornar uma resposta a quem chamou seria por exemplo informar se a operação foi completa, ou retornar um valor para ser utilizado, a questão de retornar um valor será explicada de forma melhor na seção que falará sobre função, os procedures são úteis quando por exemplo queremos ordenar um vetor de n elementos em ordem crescente, o procedure realiza a operação automaticamente não sendo necessário informar quando terminou, pois o objetivo é ordenar. Esse exemplo é de certa forma grosseiro pois uma solução para isso poderia ser implementada de outras formas.


3.1          FUNÇÃO
Função é semelhante ao procedimento mas este retorna uma resposta a quem o chamou, isso realiza-se da seguinte forma. Vamos supor que escrevemos um algoritmo que realiza calculos matemáticos, e a todo instante precisamos calcular a raiz quadrada de um número chamando um procedure ele calcularia a raiz quadrada mas não nos daria um valor de resposta que neste caso seria de primordial importância. Por esse motivo, usa-se funções, as funções são pedidas a resolver algum problema e como resposta nos entrega a solução do problema de forma a utilizá-la no decorrer das operações. 

  
3.2          SINTAXE DE PROGRAMAÇÃO

Para criarmos um programa devemos usar as ferramentas, respeitando as leis que as rege, e observando os limites para o uso de uma ou de outra.
Para realizarmos um programa necessitamos organizar maneiras simples de forma que esta, se repitam  em rotinas, de modo a testar variáves, encontrar valores tendo uma gama de dados a serem calculados para isso.
As principlais CLÁUSULAs usadas são:


3.3          CLÁUSULA DE CONDIÇÃO


A cláusula de condição é responsável pelo teste de alguma coisa, no caso constantemente iremos realizar a comparação de variáveis. A condição é o fato de condicionarmos Se alguma coisa aconteçer nós iremos fazes isso ou aquilo.
 A cláusula de condição é mostrada logo abaixo em portugou e em pascal de forma comparativa.


Portugol

Pascal
Se <Condição> então


IF <Condição>  then
      begin
comandos
comandos


comandos;
comandos;

       Senão

       end
comandos
comandos
comandos
comandos
comandos

else
       begin
comandos;
comandos;

fim se


       end;


Usamos constantemente a cláusula de condição em nosso dia-a-dia sem perceber quando citamos  os termos.

Se eu ganhar na sena vou comprar um carro
senão jogarei de novo

Se eu passar de matemática irei soltar fogos
Senão irei conversar com o professor

Se eu ganhar 1000 reais jogando 10 eu irei jogar.
Senão irei pensar

Se eu souber toda prova eu tiro 10.
Senão irei fazer o máximo para tirar nota boa

Usando condições podemos manipular a direção que os dados a serem processado deverão tomar para serem bem interpretados e de forma a obtermos os resultados previstos resolvendo o problema proposta da melhor maneira possível.
Com o uso desta cláusula realizaremos os diversos testes comparativos necessários em um programa.
  
3.4          CLÁUSULA DE LOOP

 A cláusula de loop é utilizada quando queremos que um passo se repita até que uma condição seja satisfeita, ou por um período de repetição pré-determinado.
A cláusula de loop pode ser utilizada para:
· Implementar um contador
· Realizar uma busca em um vetor
· Realizar a localização de coordenadas de uma matriz
· Testar uma variável até que ela seja verdadeira ou falsa
O termo loop significa rotação. Quando dizemos que um avião realizou um loop significa que este fez um circulo no ar, da mesma forma, nos realizamos um circulo retornando ao inicio e executando novamente uma operação até que a condição para esse loop termine. Como dizemos anteriormente, esse loop pode ser determinado por uma quantidade pré - estabelecida que seria o Para ou For, ou por uma condição que força o loop a sair quando algo se torna verdadeiro ou falso onde podemos usar o Enquanto ou While.
Existem diversas formas de se manter um loop usando termos como :
Enquanto algo for verdadeiro faça
Para um valor inicial acrescido de um ate que este chegue ao valor máximo, ou final faça.
Repita até que satisfaça alguma condição.
Esses termos usados em português são os termos que serão passados para a linguagem para a sua utilização no algoritmo conforme as nossas necessidades.
Vamos iniciar mostrando de forma comparativa entre o portugol e o pascal, na sequência mostrada  acima.

PORTUGOL

PASCAL
Enquanto <Condição> faça

While <Condição> do
Comando;

   Begin
Comando;

Comando
Comando;

Comando
Comando;

Comando
Fim enquanto;

    end;


PORTUGOL

PASCAL
Para <variável> de <valor Inicial> até <Valor Final>  faça

For <variável> := <Valor Inicial> to <Valor Final>  do
Comando;

   Begin
Comando;

Comando
Comando;

Comando
Comando;

Comando
Fim enquanto;

    end;
.

PORTUGOL

PASCAL
Repita

Repeat
Comando;


Comando;

Comando
Comando;

Comando
Comando;

Comando
até <Condição> ;

 Until  <Condição> ;  


3.5          CLÁUSULA DE CASO


A  cláusula de caso é semelhante a cláusula de condição porém a diferença entre esta e a de condição é que em situações que existem muitos casos a serem escolhidos usando esta cláusula podemos simplificar e muito o algoritmo.
Este tipo de cláusula é utilizado muitas vezes em escolhas como:
Itens de um menu
Operações que devem ser realizadas diariamente usando taxas diferentes.


PORTUGOL

PASCAL
Escolha <expressão>

Case <expressão> of
Caso <Valor1>:Comando;

      <Valor1>:Comando;
Caso <Valor2>:Comando;

<Valor1>:Comando;
Caso <Valor3>:Comando;

<Valor1>:Comando;
Caso <Valor4>:Comando;

<Valor1>:Comando;
Fim enquanto;

    end;








Nenhum comentário:

Postar um comentário