2. AS FERRAMENTAS QUE POSSUIMOS PARA CRIAR  - Parte 4
Autor: Jeronimo Bezerra | Publicado: 2011-09-30T11:06:00-07:00


2.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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&nbsp; do disco rigido é o tamanho máximo&nbsp; do nosso arquivo binário.&nbsp;



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 é&nbsp; 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&nbsp; pascal poderia ser assim.
   Ficha   ( Registro)
     
     
     
     
    
     Nome:     
     
     
    
     End:     
     
     
    
     Tel:     
     
     
    
     Cidade:     
     UF:     
    
  


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

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

2.10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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)&nbsp;Coloca o conteudo de uma ficha no fichario.
Read (CadCli,Cli1)&nbsp;Realiza a leitura de uma ficha do fichario, e coloca em uma ficha rascunho.

3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FUNÇÃOFunçã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.&nbsp; 
&nbsp;&nbsp;3.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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&nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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.&nbsp;A cláusula de condição é mostrada logo abaixo em portugou e em pascal de forma comparativa.


   Portugol   
   Pascal  
   Se &lt;Condição&gt; então
   
   IF   &lt;Condição&gt;&nbsp; then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   begin  
   comandoscomandos
   
   comandos;comandos;
  
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Senão   
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   end  
   comandoscomandoscomandoscomandoscomandos   
   else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   begincomandos;comandos;
  
   fim se
   
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   end;  


Usamos constantemente a cláusula de condição em nosso dia-a-dia sem perceber quando citamos&nbsp; os termos.
Se eu ganhar na sena vou comprar um carro senão jogarei de novo
Se eu passar de matemática irei soltar fogosSenã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. &nbsp;&nbsp;3.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLÁUSULA DE LOOP
&nbsp;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 falsaO 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&nbsp; acima.

   PORTUGOL   
   PASCAL  
   Enquanto   &lt;Condição&gt; faça   
   While   &lt;Condição&gt; do  
   Comando;   
   &nbsp;&nbsp;   Begin  
   Comando;   
   Comando  
   Comando;   
   Comando  
   Comando;   
   Comando  
   Fim enquanto;   
   &nbsp;&nbsp;&nbsp;   end;  



   PORTUGOL   
   PASCAL  
   Para &lt;variável&gt;   de &lt;valor Inicial&gt; até &lt;Valor Final&gt;&nbsp; faça   
   For   &lt;variável&gt; := &lt;Valor   Inicial&gt; to &lt;Valor   Final&gt;&nbsp; do  
   Comando;   
   &nbsp;&nbsp;   Begin  
   Comando;   
   Comando  
   Comando;   
   Comando  
   Comando;   
   Comando  
   Fim enquanto;   
   &nbsp;&nbsp;&nbsp;   end;  
.

   PORTUGOL   
   PASCAL  
   Repita      
   Repeat  
   Comando;   
   
  
   Comando;   
   Comando  
   Comando;   
   Comando  
   Comando;   
   Comando  
   até &lt;Condição&gt;   ;   
   &nbsp;Until&nbsp;   &lt;Condição&gt; ;&nbsp;&nbsp;   


3.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLÁUSULA DE CASO

A&nbsp; 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 menuOperações que devem ser realizadas diariamente usando taxas diferentes.


   PORTUGOL   
   PASCAL  
   Escolha   &lt;expressão&gt;    
   Case   &lt;expressão&gt; of  
   Caso   &lt;Valor1&gt;:Comando;   
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   &lt;Valor1&gt;:Comando;  
   Caso   &lt;Valor2&gt;:Comando;   
   &lt;Valor1&gt;:Comando;  
   Caso   &lt;Valor3&gt;:Comando;   
   &lt;Valor1&gt;:Comando;  
   Caso   &lt;Valor4&gt;:Comando;   
   &lt;Valor1&gt;:Comando;  
   Fim enquanto;   
   &nbsp;&nbsp;&nbsp;   end;