a este valor valor um, de forma que este contenha o valor do codigo anterior mais um, o processo de exclusao sera feito atraves de uma marca que sera colocada em um dos campos do registro, o campo tera o nome de marca, e quando for encontrado nele caracter `* e autorizado ao programa o seu preenchido com um novo cliente. O programa cliente e um programa baseado em procedures de forma que o programa mestre e pequeno e funcional. As operacoes basica do programa cliente e realizada pelos procedures e funcoes devidamente explicados de forma resumida logo abaixo.FUNCAOtesta_arquivo(escolha:integer):boolean;Realiza testes no arquivoPROCEDURESCamposCliRealiza o processo de captura dos dados do clienetMostraCliRealiza a mostragem dos dado de um determinado registro SimNaoRealiza a verificacao da digitacao da letra S ou N na escolhaExisteClienteRealiza a verificacao da existencia de um cliente especificoIncluirCliRealiza as operacoes necessarias para a inclusao de um novo registroAlterarCliRealiza as operacoes necessarias para a alteracao de registroExcluiCliRealiza as operacoes necessarias para a exclusao de registroRestauraCliRealiza as operacoes necessarias para restauracao de um registro marcado FinalCliRealiza a finalizacao do programaIniciaCliRealiza a abertura dos arquivosMenuCliRealiza a escolha do item 5.1 O PROGRAMAPrograma usa a expressao CRT para indicar que ele ira usar funcoe pre-determinadas.Program Joshua;Uses Crt;O programa usa ArqCliente, como constante no programa . O valor constante e aquele que nunca e alterado na execucao do programa , ao contrario das variaveis. Esta constante sera usada para determinar o nome do arquivo externo que sera usado como nossa base de dados principais o arquivo que sera referenciado a um arquivo do tipo binario, este tipo de arquivo e muito importante pois usando esta ideia podemos usar em qualquer linguagem.Const ArqCliente='Cliente.dat';O tipo cliente e declarado neste local, e logo abaixo existe um descricao dizendo que sera usado um tipo cadeia de caracteres com o nome opcao.type Cliente= record CodCli:integer; NomeCli:String[10]; EndCli:String[10]; CepCli:string[12]; FoneCli:String[12]; CidCli:String[10]; EstCli:string[2]; Civil:string[10]; NoEspCli:string[10]; Marca:String[2]; end; Opcao = Set of Char;Neste modulo chamamos assim sera declarada as diversas variaveis usada no decorrer do programa. As caracteristicas funcionais bem como o papel que ela desempenha no decorre do programa sera especificado em cada procedure.var CadCli: File of Cliente; Cli1:Cliente; Cli2:Cliente; FimCli:Boolean; ExisteCli:Boolean; Oque:Char; Oque1:Char; Deseja:Opcao; Aux:String; T:Integer; ind:byte; Marcado:byte; sai:integer;5.2 FUNCTION testa_arquivo(escolha:integer):boolean;ObjetivoO objetivo desta funcao e verificar a existencia do arquivo para posteriormente sabermos se e melhor abrir ou criar.SolucaoEsta funcao realiza operacoes de baixo nivel, verificando a existencia do arquivo, e verificando se este contem erros caracteristico que podem prejudicar a utilizacao do mesmoProgramafunction testa_arquivo(escolha:integer):boolean;begin if (escolha=1) then begin {$I-} assign(CadCli,ArqCliente); filemode := 2; Reset(CadCli); close(CadCli); {$I+} testa_arquivo := (IOResult = 0); end;end;5.3 PROCEDURE CamposCli;Objetivo Para diminuir o tamanho do programa usamos procedures que serao referenciados toda vez que este for necessarioCamposCli deve ter como objetivo informar ao usuario o que esta sendo solicitado, usando uma frase para isso. E logo depois capturar o dado pedido e posto no registro rascunha para ser usado conforme o programa.SolucaoA particula usada para mostragem e o write, pois atraves dele enviamos para a tela uma mensagem. Como exemplo podemos escrever usando esta forma logo abaixo, que