processamento de dados & cálculo numérico processamento de dados &...

Click here to load reader

Download Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Post on 07-Apr-2016

225 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

  • Processamento de Dados & Clculo NumricoMdulo 2

  • Consideraes importantesPropriedades

    As propriedades so variveis que podem ser modificadasEm tempo de desenvolvimento quando estamos desenhando a interface grfica do programa Isto feito atravs do Object InspectorEm tempo de execuo quando estamos executando o programaIsto feito atravs de comandos implementados nos eventos de outros objetos

    importante notar que, quando necessitamos modificar propriedades durante a execuo do projeto, temos sempre que dizer primeiro qual o objeto que ter sua propriedade modificada e, depois, qual a propriedade

    Regra NomeDoObjeto.Propriedade := ;

  • Consideraes importantesPropriedades

    Tambm, temos que ter cuidado com o tipo de dado que a varivel aceita.Exemplos:Text uma varivel do tipo string s aceita textosWidth uma varivel do tipo numrico s aceita nmerosCaption uma varivel do tipo string s aceita textos

    Fizemos ento:A:= StrToFloat(Edit1.Text); Variveis Text de Edit1 e A

    B:= StrToFloat(Edit2.Text); Variveis Text de Edit2 e B

    C:= StrToFloat(Edit3.Text); Variveis Text de Edit3 e C

    Edit4.Text:= FloatToStr(X1); Variveis Text de Edit4 e X1

    Edit5.Text:= FloatToStr(X2); Variveis Text de Edit5 e X2

  • Propriedades

    Poderamos ter feito:

    Ao invs de Delta := B*B - 4*A*C;

    Delta := sqr (StrToFloat(Edit2.Text) ) 4 *StrToFloat(Edit1.Text) * StrToFloat(Edit3.Text );

    economizaramos 3 variveis A, B e C

    Ao invs de X1 := (-B + sqrt(Delta))/(2*A);

    Edit4.Text := FloatToStr ((- StrToFloat(Edit2.Text ) + sqrt(Delta))/(2 *StrToFloat(Edit3.Text);

    economizaramos 2 variveis X1 e X2 (se fosse feito o mesmo para X2)Consideraes importantes

  • Consideraes importantesEventosSo aes externas que sero executadas nos objetosExemplos:Clicar num botoDigitar um caractere numa caixa de textoClicar numa imagem

    Essas aes so seguidas por tarefas a serem executadas pelo programaExemplos:Ao clicar num boto altera-se a cor do formulrioAo digitar um texto uma caixa de texto verifica-se se o caractere digitado uma letracaso afirmativo, avisamos que somente sejam digitados nmerosAo clicar numa imagema imagem maximizadaEvento

  • Consideraes importantesMtodos

    So aes internas que sero executadas pelos (e nos) objetos

    Para que qualquer mudana ocorra em uma propriedade de um objeto, um mtodo dever ser acionadoIsto pode ser feito pelo Delphi (escondido do usurio)Ou pode ser feito pelo prprio programador NomeDoObjeto.Mtodo ouNomeDoObjeto.Propriedade.Mtodo

    Exemplos:Encerrar a aplicao fecha-se o projetoO programador deve acionar o mtodo Terminate do objeto ApplicationEsconder um formulrioO programador deve acionar o mtodo Hide do objeto FormMostrar um formulrio que est escondidoO programador deve acionar o mtodo Show do objeto Form

    Essas aes so seguidas por modificaes na propriedade do objeto acionado pelo mtodo.

  • Consideraes importantesMtodos

    So as estruturas de controle que atuam sobre as propriedades de um objeto.

    Formam a parte viva do objeto, pois alm de suprirem todas as aes necessrias ao funcionamento do mesmo, ainda cuidam da consistncia destas operaes, executando todas converses necessrias.

    Quando um agente externo solicita uma alterao numa propriedade, por exemplo, o mtodo vai checar se os valores passados so vlidos e a decidir se os converte ou simplesmente nega-se a completar a operao. s vezes, ao mudar o valor de uma propriedade, o mtodo se encarrega de checar as demais propriedades relacionadas e, em caso de incompatibilidade, se encarrega de fazer os devidos acertos. Os mtodos, portanto, que do inteligncia ao objeto.

    Os mtodos so procedures ou functions que realizam uma operao com o objeto.

  • EventoObjetoConsideraes importantes

  • Consideraes importantesUm exemplo da nossa realidade O objeto automvel

    pertence a uma classe meios_de_transporte.

    possui as seguintes propriedades ou atributos: marca, tipo de combustvel, cor e ano de fabricao.

    Entre suas aes peculiares, que chamaremos de mtodos, podemos destacar: acelerar, frear, ligar os faris, acender as luzes do freio.

    Entre os mtodos acima, alguns necessitam de um estmulo externo (uma interveno do usurio) para serem executados, a esse estmulo chamaremos de evento: colocar a chave na ignio, girar a chave, pisar no freio, pisar no acelerador, girar o volante e abrir a porta.

    Observe que nem todo evento executa uma ao. Colocar a chave na ignio, por exemplo, no dispara nenhuma ao, a menos que voc vire a chave, que outro evento.

  • Consideraes importantesOutro exemplo da nossa realidade: bicicleta

    pertence classe meios_de_transporte.possui as seguintes propriedades ou atributos: marca, Cor, ano de fabricao, tamanho do quadro, tamanho da roda, engrenagens.

    Entre suas aes peculiares, mtodos, podemos destacar: acelerar, frear, mudar a marcha, consertar.

    Entre os mtodos acima, alguns necessitam de um estmulo externo: pedalar, torcer o guidom.

  • Consideraes importantesObserve tambm que os objetos no precisam responder com a mesma ao a um determinado evento.

    No caso do automvel conveniente que isso acontea, mas nada impede que se projete um automvel que, ao se ligar o limpador de pra-brisas, ele responda acendendo os faris, por exemplo.

    Os mtodos e eventos podem provocar alteraes no estado do objeto.

    O estado do objeto indicado pelo conjunto de seus atributos.

    Por exemplo, quando damos partida no automvel mudamos seu estado de desligado para ligado.

  • o Primeiro ProjetoParte 2Resolvendo Equaes de Segundo Grau

    Ax2 + Bx +C = 0

  • Primeiro Projeto Parte 2Os Bugs

    Se entrarmos com letras nas caixas de texto de entradaStrToFloat(Edit#.Text) letras no podem ser transformadas em nmeros

    As caixas de texto de sada no esto dimensionadas para qualquer nmeroSe o nmero real deve ser formatadoMelhorias Adicionais

    Adicionar um boto que apague as caixas de texto imprescindvel caso o usurio queira fazer novos clculos

    Adicionar a parte do programa em que as razes imaginrias so calculadas Melhorar a interface grfica do programa

  • Resolvendo os Bugs A

    Para evitar que o usurio entre com letras nas caixas de texto de entrada

    Esse problema pode ser resolvido com as funes Ord e Chr em um comando if no evento OnKeyPress do objeto Edit.A funo Ord retorna o valor ASCII de um caractere qualquer, enquanto a Chr gera o caractere quando for dado um nmero ASCII.

    Para acionar o evento OnKeyPress do objeto Edit selecione o objetoNo Object Inspector, clique na pgina EventsProcure o evento OnKeyPress

    Clique duas vezes neste espao!Primeiro Projeto Parte 2

  • O procedimento dever ser programado da seguinte maneira:

    Procedure TForm1.Edit1KeyPress (Sender:TObject);beginif ((Ord(Key) < Ord('0')) or (Ord(Key) > Ord('9'))) and ((Ord(Key) Ord(8)) and (Ord(Key) Ord(',')) and (Ord(Key) Ord('-'))) then Key := Chr(0);end;

    Faa isto para as trs caixas de texto

    O resultado ser: mesmo que o usurio tente digitar letras nas caixas, nada acontecer!

    Primeiro Projeto Parte 2

  • Resolvendo os Bugs - B

    Para formatar os dados de sada

    Esse problema pode ser resolvido trocando-se a function FloatToStr pela function FloatToStrF

    Onde escrevia-se: Edit4.Text:= FloatToStr(X1); Edit5.Text:= FloatToStr(X2); Troque por: Edit4.Text:= FloatToStrF(X1,ffGeneral,5,2);Edit5.Text:= FloatToStrF(X2,ffGeneral,5,2);

    Primeiro Projeto Parte 2

  • Melhorias Adicionais Tarefinhas !

    Adicionar um boto que apague as caixas de texto

    Button com Caption Apagar

    Evento OnClick

    Utilize o mtodo Clear do objeto EditEdit#.Clear;

    Adicionar a parte do programa em que as razes imaginrias so calculadas Melhorar a interface grfica do programaRaizes = PReal PIm * iPrimeiro Projeto Parte 2

  • Revisando Alguns ComandosTransformando String em Real

    Transformando Real em String

  • Revisando Alguns ComandosTransformando Real em String - Formatada

    Em Pascal:Write (Varivel : 5 : 2)

  • Transformando String em Inteiro

    Transformando Inteiro em String

    Revisando Alguns Comandos

View more