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

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

Upload: tiago-joao-batista-tavares-beppler

Post on 07-Apr-2016

245 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Processamento de DadosProcessamento de Dados

&&

Cálculo NuméricoCálculo NuméricoMódulo 2Módulo 2

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

Módulo 2 p.2

Considerações importantes

• PropriedadesPropriedades– As propriedades são variáveis que podem ser modificadas

• Em tempo de desenvolvimento quando estamos “desenhando” a interface gráfica do programa

– Isto é feito através do Object Inspector• Em tempo de execução quando estamos executando o

programa– Isto é feito através de comandos implementados nos eventos de

outros objetos

– É importante notar que, quando necessitamos modificar propriedades durante a execução do projeto, temos sempre que dizer primeiro qual o objeto que terá sua propriedade modificada e, depois, qual a propriedade

• RegraRegra NomeDoObjeto.Propriedade := <valor da prop>;NomeDoObjeto.Propriedade := <valor da prop>;

Page 3: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.3

Considerações importantes

• PropriedadesPropriedades– Também, temos que ter cuidado com o tipo de dado que a

variável aceita.• ExemplosExemplos:

– Text é uma variável do tipo string só aceita textos– Width é uma variável do tipo numérico só aceita números– Caption é uma variável do tipo string só aceita textos

– Fizemos então:• A:= StrToFloat(Edit1.Text); Variáveis TextText de Edit1Edit1 e AA• B:= StrToFloat(Edit2.Text); Variáveis TextText de Edit2Edit2 e BB• C:= StrToFloat(Edit3.Text); Variáveis TextText de Edit3Edit3 e CC• Edit4.Text:= FloatToStr(X1); Variáveis TextText de Edit4Edit4 e X1X1• Edit5.Text:= FloatToStr(X2); Variáveis TextText de Edit5Edit5 e X2X2

Page 4: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.4

• PropriedadesPropriedades– Poderíamos ter feito:

• Ao invés de Delta := B*B - 4*A*C;

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

– economizaríamos 3 variáveis A, B e C

• Ao invés de X1 := (-B + sqrt(Delta))/(2*A);

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

– economizaríamos 2 variáveis X1 e X2 (se fosse feito o mesmo para X2)

Considerações importantes

Page 5: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.5

• EventosEventos– São ações externasexternas que serão executadas nosnos objetos

• ExemplosExemplos:– Clicar num botão– Digitar um caractere numa caixa de texto– Clicar numa imagem

– Essas ações são seguidas por tarefas a serem executadas pelo programa

• ExemplosExemplos:– Ao clicar num botão

» altera-se a cor do formulário– Ao digitar um texto uma caixa de texto

» verifica-se se o caractere digitado é uma letra» caso afirmativo, avisamos que somente sejam digitados números

– Ao clicar numa imagem» a imagem é maximizada

EventoEvento

Considerações importantes

Page 6: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.6

• MétodosMétodos– São ações internas que serão executadas pelospelos (e nosnos)

objetos– Para que qualquer mudança ocorra em uma propriedade de

um objeto, um método deverá ser acionado• Isto pode ser feito pelo Delphi (escondido do usuário)• Ou pode ser feito pelo próprio programador

– NomeDoObjeto.Método NomeDoObjeto.Método ou– NomeDoObjeto.Propriedade.Método NomeDoObjeto.Propriedade.Método

– ExemplosExemplos:• Encerrar a aplicação fecha-se o projeto

– O programador deve acionar o método Terminate do objeto Application• Esconder um formulário

– O programador deve acionar o método Hide do objeto Form• Mostrar um formulário que está escondido

– O programador deve acionar o método Show do objeto Form

– Essas ações são seguidas por modificações na propriedade do objeto acionado pelo método.

Considerações importantes

Page 7: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.7

• MétodosMétodos – São as estruturas de controle que atuam sobre as

propriedades de um objeto. – Formam a parte “viva” do objeto, pois além de suprirem todas

as ações necessárias ao funcionamento do mesmo, ainda cuidam da consistência destas operações, executando todas conversões necessárias.

– Quando um agente externo solicita uma alteração numa propriedade, por exemplo, o método vai checar se os valores passados são válidos e aí decidir se os converte ou simplesmente nega-se a completar a operação.

• Às vezes, ao mudar o valor de uma propriedade, o método se encarrega de checar as demais propriedades relacionadas e, em caso de incompatibilidade, se encarrega de fazer os devidos acertos.

• Os métodos, portanto, é que dão inteligência ao objeto.

– Os métodos são procedures ou functions que realizam uma operação com o objeto.

Considerações importantes

Page 8: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.8

EventoEvento

ObjetoObjeto

Considerações importantes

MétodoMétodo

MétodoMétodo

MétodoMétodo

MétodoMétodo

MétodoMétodo

MétodoMétodoMétodoMétodo

MétodoMétodo AtributosAtributos

Page 9: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.9

• Um exemplo da nossa realidade O objeto “automóvelautomóvel” – pertence a uma classe meios_de_transporte.– possui as seguintes propriedades ou atributos:

• marca, • tipo de combustível, • cor e • ano de fabricação.

– Entre suas ações peculiares, que chamaremos de métodos, podemos destacar:

• acelerar, • frear, • ligar os faróis, • acender as luzes do freio.

– Entre os métodos acima, alguns necessitam de um estímulo externo (uma intervenção do usuário) para serem executados, a esse estímulo chamaremos de evento:

• colocar a chave na ignição, • girar a chave, • pisar no freio, • pisar no acelerador, • girar o volante e abrir a porta.

– Observe que nem todo evento executa uma ação. • Colocar a chave na ignição, por exemplo, não dispara nenhuma ação, a

menos que você vire a chave, que é outro evento.

Considerações importantes

Page 10: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.10

• Outro exemplo da nossa realidade: bicicletabicicleta

– pertence à classe meios_de_transporte.– possui as seguintes propriedades ou atributos:

• marca, • Cor, • ano de fabricação, • tamanho do quadro, • tamanho da roda, • engrenagens.

– Entre suas ações peculiares, métodos, podemos destacar: • acelerar, • frear, • mudar a marcha, • consertar.

– Entre os métodos acima, alguns necessitam de um estímulo externo: • pedalar, • torcer o guidom.

Considerações importantes

Page 11: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.11

• Observe também que os objetos não precisam responder com a mesma ação a um determinado evento. – No caso do automóvel é conveniente que isso aconteça,

mas nada impede que se projete um automóvel que, ao se ligar o limpador de pára-brisas, ele responda acendendo os faróis, por exemplo.

• Os métodos e eventos podem provocar alterações no estado do objeto. – O estado do objeto é indicado pelo conjunto de seus

atributos. • Por exemplo, quando damos partida no automóvel mudamos

seu estado de desligado para ligado.

Considerações importantes

Page 12: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.12

o Primeiro ProjetoParte 2

• Resolvendo Resolvendo Equações de Equações de Segundo GrauSegundo Grau

• Ax2 + Bx +C = 0Ax2 + Bx +C = 0

Page 13: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.13

Primeiro Projeto – Parte 2

• Os Os BugsBugs

– Se entrarmos com letras nas caixas de texto de entrada

• StrToFloat(Edit#.Text) letras não podem ser transformadas em números

– As caixas de texto de saída não estão dimensionadas para qualquer número

• Se o número real deve ser formatado

• Melhorias AdicionaisMelhorias Adicionais

– Adicionar um botão que apague as caixas de texto

• É imprescindível caso o usuário queira fazer novos cálculos

– Adicionar a parte do programa em que as raízes imaginárias são calculadas

– Melhorar a interface gráfica

do programa

Page 14: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.14

• Resolvendo os Resolvendo os Bugs – ABugs – A

– Para evitar que o usuário entre com letras nas caixas de texto de Para evitar que o usuário entre com letras nas caixas de texto de entradaentrada

• Esse problema pode ser resolvido com as funções OrdOrd e ChrChr em um comando ifif no evento OnKeyPressOnKeyPress do objeto Edit.

– A função Ord retorna o valor ASCII de um caractere qualquer, enquanto a Chr gera o caractere quando for dado um número ASCII.

• Para acionar o evento OnKeyPressOnKeyPress do objeto Edit – selecione o objeto– No Object Inspector, clique na página Events– Procure o evento OnKeyPressOnKeyPress

Clique duas vezes neste espaço!

Primeiro Projeto – Parte 2

Page 15: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.15

• O procedimento deverá ser programado da seguinte maneira:

Procedure TForm1.Edit1KeyPress (Sender:TObject);begin

if ((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; • Faça isto para as três caixas de textoFaça isto para as três caixas de texto

– O resultado será: mesmo que o usuário tente digitar letras nas caixas, nada acontecerá!

Primeiro Projeto – Parte 2

Page 16: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.16

• Resolvendo os Resolvendo os Bugs - BBugs - B– Para formatar os dados de saídaPara formatar os dados de saída

• Esse problema pode ser resolvido trocando-se a function FloatToStrFloatToStr pela function FloatToStrFFloatToStrF

• 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

Page 17: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.17

• Melhorias AdicionaisMelhorias Adicionais – – Tarefinhas !Tarefinhas !

– Adicionar um botão que apague as caixas de texto • Button com CaptionCaption ApagarApagar

– Evento OnClickOnClick

» Utilize o método ClearClear do objeto Edit

Edit#.Clear;

– Adicionar a parte do programa em que as raízes imaginárias são calculadas

– Melhorar a interface gráfica do programa

Raizes = PReal Raizes = PReal PIm * i PIm * i

Primeiro Projeto – Parte 2

Page 18: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.18

Revisando Alguns Comandos• Transformando String em RealTransformando String em Real

Variável do tipo real Variável do tipo string

Variável do tipo string Variável do tipo real

• Transformando Real em StringTransformando Real em String

Page 19: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.19

Revisando Alguns Comandos

• Transformando Real em String - FormatadaTransformando Real em String - Formatada

Variável do tipo string Variável do tipo real

Variável do tipo real Variável do tipo real

Variável do tipo real

Em Pascal:Write (Variável : 5 :

2)

Page 20: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.20

• Transformando String em InteiroTransformando String em Inteiro

Variável do tipo integer Variável do tipo string

Variável do tipo string Variável do tipo integer

• Transformando Inteiro em StringTransformando Inteiro em String

Revisando Alguns Comandos

Page 21: Processamento de Dados & Cálculo Numérico Processamento de Dados & Cálculo Numérico Módulo 2

Módulo 2 p.21