.: Script :.
Os passos de uma construção geométrica podem ser encapsulados na forma de um
algoritmo, o que será aqui denominado por
script.
Por exemplo, os passos abaixo produzem a
mediatriz
de quaisquer 2 pontos:
// sendo 2 pontos quaisquer, denotados por A e B, sua mediatriz pode ser obtida como:
1: c0:= Circunferência ( A,B )
2: c1:= Circunferência ( B,A )
3: C:= PontoInterseção_norte ( c0,c1 )
4: D:= PontoInterseção_sul ( c0,c1 )
5: r:= Reta ( A,B )
Algoritmo: mediatriz de dois pontos
O algoritmo/script apresentado acima utiliza uma
linguagem sintética, na forma de
comandos de instrução de uma
linguagem de computador.
Por exemplo, o comando c0:= Circunferência ( A,B ), indica que será criado um novo objeto
geométrico, rotulado como c0, sendo este objeto uma circunferência com centro no ponto
A e raio definido pela distância entre este e o ponto B
(e portanto, B será um dos pontos de c0).
A partir de qualquer construção no iGeom, pode-se obter sua descrição nesta linguagem sintética. Na versão aplicativo, isso
é conseguido através do menu Arquivo | Gravar algoritmo..., enquanto
que na versão applet do iGeom, isso é obtido "clicando" o botão do meio
do "mouse" sobre a área de desenho (se o seu "mouse" não dispõe de 3 botões,
tente "clicar" simultaneamente sobre os 2 existentes - alguns sistemas conseguem emular o botão do meio deste modo).
Deve ser observado que a descrição acima nada mais é que um algoritmo, que aplicado sobre 2 pontos, gera a "reta mediatriz".
Por este motivo pode-se denominá-lo por algoritmo geométrico.
Observe ainda que o algoritmo anterior deve ser aplicado sobre 2 pontos (A e B), gerando sua
mediatriz, portanto este algoritmo tem como parâmetros
2 pontos.
Deste modo, ao anotar tal script no iGeom, sempre que for necessário obter a mediatriz de quaisquer 2 pontos,
deve-se selecioná-los e então aplicar o script anotado sobre estes pontos (vide a seção
imediatamente abaixo).
No caso do script para a mediatriz, a ordem dos parâmetros (os 2 pontos) é irrelevante, mas isso não ocorre sempre.
Por exemplo, no contexto da álgebra, o algoritmo da divisão de dois números produz resultados diferentes se a ordem dos
parâmetros for alterada (a/b ou b/a).
Como construir um script no iGeom
Existem quatro etapas básicas relacionadas a um script, que por ordem cronológica são:
disparar o gravador; registrar todos os passos de construção; anotar/gravar/enviar o script;
e utilizar o script.
Os três primeiros passos são executados uma única vez e o último será executado toda vez que for necessário aplicar o
script.
Cada um destes passos é explicado abaixo, utilizando o exemplo da mediatriz. No início da explicação de cada etapa, quando for o caso,
aparecerá o botão do iGeom associado, na primeira linha à esquerda.
1. Disparar o gravador
Deve-se primeiro deixar na área de desenho os objetos iniciais (que definirão os
parâmetros) e
depois "clicar" no botão de
Anotação de script (representado no início deste parágrafo).
Antes de "clicar" o referido botão, ao passar o "mouse" sobre o mesmo, a mensagem que aparecerá na
barra de mensagem,
tanto na versão aplicativo quanto na versão
applet do
iGeom, será:
Inicia geração de Script.
Note que, em ambas as versões de
iGeom, após "clicar" sobre o botão, será aberta uma
janela de anotação/gravação dos passos de script, representada à
esquerda na figura 1. Esta janela tem 2 áreas principais:
- Área de registro de parâmetros: é a parte superior da janela, nela o iGeom insere como parâmetro todo
objeto utilizado durante a geração do mesmo e que tenha sido criado antes desta janela ser aberta.
Um objeto de parâmetro é um objeto que será usado pelo script,
durante sua interpretação, para realizar a construção.
- Área de registro de passos do algoritmo: é a parte central da janela, na qual o iGeom registra, para
visualização do usuário (não é o formato interno do iGeom), todos os passos do algoritmo.
Isso é feito apenas para o usuário acompanhar cada passo registrado, utilizando a já citada
linguagem "legível".
Esta é a mesma linguagem usada no exemplo
algoritmo da mediatriz.
A figura 1 apresenta a situação da
área de desenho quando o anotador de
script
é disparado, considerando o exemplo da mediatriz.
A situação final deste processo de anotação de
script é apresentado na
figura 2, na qual poderá ser observado os
5 passos necessário à construção, anotados na linguagem "legível".
Figura 1: à esquerda está a janela de anotação de passos de
script,
ainda vazia.
Exemplo:
construa os pontos
A e
B;
ative os botões de
script "clicando" no botão primário representado acima;
dispare o anotador/gravador de
script "clicando" sobre o botão secundário com
mesmo ícone do primário já citado.
Este exemplo aparece na figura 1, à esquerda a janela do anotador de
script
(ainda "em branco") e à direita a correspondente construção na área de desenho do
iGeom.
2. Registrar todos os passos de construção
Efetue as construções necessárias para seu
script, cada passo será anotado na
janela de anotação de
script, representada na figura 2, na parte à esquerda.
Nesta etapa serão anotadas as duas partes constituintes de um
script, seus
parâmetros e seus
passos/operações de construção.
Parâmetros: |
os parâmetros de um script desempenham o mesmo papel dos parâmetros de uma
função matemática
(por exemplo, como o par de parâmetros x,y da função real f(x,y) = x/y).
O iGeom "deduz" automaticamente estes parâmetros, que serão: todos os objetos que forem usados para a construção
de qualquer outro e que existisse antes do início do processo de anotação do
script.
Para indicar que determinado objeto é um parâmetro para o script em construção,
o rótulo do referido objeto aparecerá na parte superior da janela de anotação (janela mais à esquerda na figura 1).
Na verdade, assim como numa função matemática usual, o que interessa é o "tipo" do objeto, não seu rótulo específico, que é anotado
apenas para o usuário conseguir identificar claramente a ordem dos mesmos (lembre-se do exemplo do
algoritmo da divisão).
A ordem dos parâmetros é essencial à aplicação de qualquer script, apesar de em alguns
casos em que ela ser irrelevante (como no exemplo da
algoritmo da mediatriz).
|
Passos: |
um passo de um script é uma operação elementar realizada sobre um conjunto
de objetos "associados ao mesmo" (como a operação 1 do
algoritmo da mediatriz, que constrói
uma circunferência a partir dos parâmetros A e B).
O conjunto de objetos sobre os quais o script pode atuar são os objetos já construídos
por ele próprio ou seus parâmetros. Estes são os objetos "associados ao mesmo".
Uma operação elementar pode ser a construção de um novo objeto (como uma circunferência) ou a alteração/edição de um (como
a alteração da cor do tracejado da circunferência).
O iGeom permite um tipo especial de passo
que é a
recorrência.
Este tipo de passo para ser bem definido precisa de muita atenção à ordem dos parâmetros do
script e será explicado a seguir.
Por simplicidade, um objeto construído por um dos passos do script
será referido como "construído pelo script".
|
Recorrência: |
é um passo de um script, representando o registro de uma chamada
recorrente/recursiva para o próprio script.
O comportamento de um script recorrente é idêntico ao de uma função matemática
recorrente, como é o caso, por exemplo, da bastante conhecida
função fatorial,
que aqui será denotada por fat:
fat: IN -> IN |
fat(n) := { 1, se n=0; n * fat(n-1), se n>0 }. |
A recorrência da função fatorial é caracterizada pela invocação da própria função
no "lado direito" de sua definição (no exemplo acima, a recorrência é caracterizada pela chamada fat(n-1),
como sublinhado). O mesmo ocorre na caracterização de um script recorrente.
É fortemente recomendado que todas as instruções de recorrência devem aparecer por último, como os últimos passos do
script.
Para se conseguir anotar uma chamada recorrente (ou recursiva) num script, deve-se:
- Marcar (com o selecionador )
os parâmetros necessários para aplicação do script em construção.
Por isso é essencial prestar atenção aos parâmetros do script,
identificando-se ordem e tipos.
Também por isso recomenda-se deixar por último a anotação das recorrências, quando todos os parâmetros
necessários à aplicação do script já foram "deduzidos".
O aparecimento de um novo parâmetro após a anotação de uma
recorrência, implica em erro no script. Este tipo de erro é equivalente à seguinte
tentativa "errônea" definir uma função recursiva:
f(x,y):={1, se x=y; 1+f(x), se x<>y} (note que a função tem 2 parâmetros - f(x,y), entretanto tentou-se
chamá-la recursivamente utilizando apenas um parâmetro - 1+f(x)).
- "Clicar" no botão para anotar recorrência .
Se a recorrëncia foi aplicada corretamente (ou seja, os tipos de objetos selecionados estão compatíveis com os parâmetros
do script), então após o "clique" o iGeom anotará na área de registro de passos
uma instrução do tipo Recorrência (lista_parâmetros).
Para entender melhor como construir um script recorrente e quais vantagens
a recorrência traz, por favor, examine a seção
Tetra-círculo.
|
Figura 2: à esquerda a janela de anotação de passos de script (na parte superior aparecem os
parâmetros e na parte central
os passos).
Exemplo: na construção da mediatriz, com a janela de anotação de
script já disparada,
deve-se realizar as operações necessárias à construção da mediatriz. Por exemplo, pode-se realizar a seguinte sequência de passos:
circunferência
c0 de centro
A e raio definido por
B;
circunferência
c1 de centro
B e raio definido por
A;
definir o ponto
C resultante da interção "norte" entre as circunferência
c0 e
c1;
definir ponto
D resultante da interção "sul" entre as circunferência
c0 e
c1;
definir a reta
r, correspondente à mediatriz dos pontos iniciais (
A e
B na figura 1).
Este exemplo aparece na janela mais à esquerda na figura 2, são os 5 passos indicados na parte central da janela do anotador de
script. Na janela mais à direita da figura 5 está a correspondente construção na área
de desenho do
iGeom.
2. Anotar (gravar/enviar) o script
Note que após abrir a janela de
script, ao passar o "mouse" sobre o botão
anotar/gravar/enviar, a mensagem será diferente daquela obtida antes da abertura da janela. A mensagem agora será:
Anotar script.
Uma vez finalizada a construção, deve-se
anotá-la, o que produz resultados diferentes nas versões aplicativo e
applet.
A anotação é feita "clicando-se" o mesmo botão secundário que disparou o gravador de
script (acima indicado).
- Aplicativo:
Quando se tratar do iGeom aplicativo, será aberta uma janela de diálogo para o usuário escolher um nome (e local)
para armazenar o script.
- Applet:
Quando tratar-se de applet, o iGeom automaticamente armazenará o
script
no primeiro botão disponível dentre os
botões de
script existentes (se não houver mais botão disponível,
ficará no último, apagando o anterior registrado naquele botão).
Os
botões de
script são acessados a partir do botão primário
, pondendo cada secundário correspondente armazenar um
script diferente:
,
,
e
.
Ao passar o "mouse" sobre um destes botões secundários, se houver algum
script
registrado no respectivo botão, aparecerá na
barra de mensagem a lista de tipos de objetos (parâmetros) necessários para a aplicação do referido
script (na ordem requerida).
Exemplo: no
script para construção da mediatriz, os parâmetros são
Ponto e
Ponto,
neste caso não importando a ordem com que os 2 pontos serão marcados (via
selecionador).
4. Utilizar o script (aplicar o algoritmo)
ou
Uma vez anotado o
script pode-se aplicá-lo quantas vezes forem necessários.
Neste caso será necessário: primeiro usar o
selecionador
para marcar os objetos sobre os quais será aplicado o
script: se os tipos
(ou quantidades) de objetos marcados diferirem dos requeridos
pelo
script aparecerá uma mensagem apontando o engano na
barra de mensagem.
Na versão
applet só é possível disparar um
script que já esteja associado a um dos
botões de scripts (de
a
).
Após marcar corretamente os parâmetros do
script, basta "clicar" no referido botão.
No caso do
iGeom aplicativo, além da apção de usar botões de
script, também
é possível disparar um
script "clicando-se" sobre o botão secundário para
executar script
e depois escolhendo-se o
script no sistema de arquivos do computador (em
applet não é possível por
restrições de segurança).
Também restrito à versão aplicativo, pode-se associar um
script previamente gravado a
um dos
botões de script, para isso deve-se utilizar a opção
botões de script (e depois "clicando-se" na opção
adicionar script), como indicado nas figuras 3 e 4.
Na figura 3 está indicada a opção que abre a janela para
Adicionar script... e na figura 4 a janela resultante, na qual deve-se
selecionar o
script e a qual botão este será associado (na imagem está o botão 2).
Ao associar um
script é recomendável
que o usuário digite um texto mostrando quais são os parâmetros do mesmo (sem os quais será impossível aplicá-lo) e talvez uma descrição
que indique o que é gerado. Na figura 4 foi digitado "
Ponto; Ponto: script para mediatriz" para indicar que o
script associado ao botão 2 precisa de 2 parâmetros do tipo ponto e gera a mediatriz
de ambos.
Figura 3: opção
Adicionar script... serve para anotar um
script num
dos
botões de script, via
iGeom aplicativo.
Figura 4: janela para selecionar e comentar o
script a ser adicionado ao
botão de scripts número 2.