Escolar Documentos
Profissional Documentos
Cultura Documentos
Por:
Carlos Augusto Michler Guimarães
Configurando a calculadora:
Para configurar a calculadora, primeiro pressione a tecla , assim ativaremos o seguinte menu de
modos da calculadora:
45
50
95
pressione e selecione “Fixed”, logo em seguida mova para o lado usando as setas
para definir o número de casas decimais.
“Sci” : Formato cientifico. Neste formato a calculadora exibe os números na notação cientifica, caso
o número exceda um determinado número de casas.
■ Por exemplo:
O número 123.5 será exibido como 1.235E2 ( 1.2345×10 2 ) caso o número de casas
decimais definido for 3.
■ Para mudar para este formato, mova o cursor sobre o campo do “Number Format....” e
pressione e selecione “Scientific”, logo em seguida mova para o lado usando as setas
para definir o número de casas decimais.
“Eng” : Formato de engenharia. Este formato é muito semelhante ao formato cientifico, mas não se
define um número de casas, mas sim, o numero múltiplo do expoente da potencia de dez.
■ Por exemplo:
O número 123.5 será exibido como 123.5E0 caso o número divisor do expoente da
potencia de dez for 3, e o número 0.00256será exibido como 2.560E-3 ( 2.560×10−3 )
nas mesmas condições.
■ Para mudar para este formato, mova o cursor sobre o campo do “Number Format....” e
pressione e selecione “Engineering”, logo em seguida mova para o lado usando as
setas para definir o número múltiplo do expoente da potencia de dez.
■ “FM” : Permite escolher se quem será o separador da parte inteira da parte fracionada. Para usar vírgula
marque a movendo o cursor sobre a opção e pressionando caso a opção esteja desmarcada e
para usar ponto desmarque a movendo o cursor sobre a opção e pressionando caso a opção
esteja marcada.
■ “Angle Measure...” : Permite que o usuário modifique a unidade de medida de ângulo da calculadora.
Para modifica-lá mova o cursor sobre o campo “Angle Measure....”, pressione e escolha entre
“Degrees” (Graus), “Radians” (Radianos) ou “Grads” (Grados).
■ “Coord System......” : Permite que o usuário modifique o sistema de coordenadas da calculadora. Para
modificar o sistema de coordenadas mova o cursor sobre o campo “Coord System......”, pressione
e escolha entre “Rectangular” (Retangular), “Polar” ou “Spherical” (Esférico).
■ “Beep” : Permite ligar ou desligar os bipes de alerta. Para desativar ou ativar os bipes mova o cursor
Criando variáveis:
Primeiro digite a equação ou qualquer valor, seja simbólico ou numérico.
Pressione a tecla .
Agora digite o nome da variável (que pode ser uma letra ou uma palavra) e em seguida pressione a tecla
Excluindo variáveis:
Pressione a tecla .
Agora pressione .
Agora digite o nome da variável a ser excluída e logo em seguida pressione a tecla .
Definindo funções:
DEFINE(POTENCIA(X)=X^2)
Depois de definida a função você sempre poderá usa-la digitando-a na tela da seguinte forma:
POTENCIA(5)
25
Criando matrizes:
Para criar uma matriz devemos primeiro iniciar o programa de edição de matrizes. Para iniciar o programa siga
os seguintes passos:
Após ser iniciado é muito simples de se editar as matrizes, basta digitar o valor da primeira cédula e em seguida
pressionar a tecla .
Para selecionar outra cédula basta usar as setas, quando a sua matriz estiver pronta basta pressionar novamente a tecla
e você sairá do programa e a sua matriz estará escrita na tela na linguagem da calculadora.
Criando Vetores:
Somando matrizes/vetores:
Crie a primeira matriz/vetor e coloque-a dentro de uma variável (ex.: A).
Crie a segunda matriz/vetor e coloque-a dentro de uma variável (ex.: B).
Agora some as variáveis (ex.: A+B).
Subtraindo matrizes/vetores:
Crie a primeira matriz/vetor e coloque-a dentro de uma variável (ex.: A).
Crie a segunda matriz/vetor e coloque-a dentro de uma variável (ex.: B).
Agora subtraia as variáveis (ex.: A-B).
Multiplicando matrizes:
Existem diversos jeitos diferentes de se multiplicar matrizes.
Para multiplicar duas matrizes, siga os seguintes passos:
Nesse menu selecione a opção "7. HADAMART", e em seguida digite o nomes das variáveis separando-as com
uma virgula (ex.: HADAMART(A,B)).
Calculando a matriz identidade:
Crie a matriz e coloque-a dentro de uma variável
Nesse menu selecione a opção "IDN" e logo em seguida digite o nome da variável
Selecione um dos tipos, de acordo com a sua função e selecione o nome de suas variáveis nos campos Indep e
Depnd (se este existir no seu tipo de função).
Caso o gráfico seja um gráfico 2D, é possível dar zoom, para isso pressione a tecla e em seguida
OBS: A calculadora não possui uma função que faça integral de integral automaticamente (integral dupla ou tripla),
então para fazer isso, repita todos os passos acima, mas ao invés de dar a função a ser derivada pressione e
logo em seguida .
∫f ( x ) dx
a
Para calcular uma integral definida pressione a tecla e logo em seguida a tecla .
Agora digite o valor de 'a' e logo em seguida uma virgula.
Agora digite o valor de 'b' e logo em seguida uma virgula.
Digite a função a ser integrada e logo em seguida uma virgula.
f ' ( x ) = sin( x) d
= x2 + y2
dy
DERIV(SIN(X),X) DERIV(X^2+Y^2,Y)
COS(X) 2*Y
Solucionando equações:
Função SOLVE(EQUAÇÂO,VARIAVEL)
colocando o cursor sobre o campo A e pressionando a tecla , que deverá abrir o editor de
matrizes.
■ Agora editaremos o campo B, para inserir o vetor B.
Obs. 1: Também seria possível achar soluções multiplicando a matriz inversa de A pelo vetor B.
Obs. 2: Também seria possível achar soluções dividindo a matriz A pelo vetor B.
Obs. 3: A calculadora encontra apenas uma solução independente do tipo de sistema.
Trabalhando com bases numéricas:
Primeiro pressione o botão ·.
Obs.: Para que a calculadora calcule corretamente os cálculos com números na base binária, é necessário
reajustar o número de bits de acordo com o(s) número(s) a ser(em) calculado(s).
Programando na calculadora:
A calculadora possui uma linguagem de programação própria que permite ao usuário criar programas para
resolver problemas específicos em diversas áreas exatas, aplicativos para diversas funcionalidades e até jogos.
Para criar um programa devemos primeiro pressionar e logo em seguida para criar o seguinte
bloco:
«
»
«
CLLCD;
DISP(“OLA MUNDO!”,0);
WAIT(0)
»
Após terminar de digitar o programa, deve-se pressionar , e digitar o nome que queremos
para o programa. Para executa-lo basta digitar o nome escolhido para o programa.
Antes de chamarmos o próximo comando, segure e aperte para criar o nosso separador de
comandos “;” e logo em seguida de uma nova linha pressionando e logo em seguida .
Agora chamaremos a função “DISP” que recebe o texto a ser exibido na tela e logo em seguida o número da
linha que desejamos que o texto seja exibido, aqui no caso digitando “DISP(“OLA MUNDO!”,0)” (sem as aspas).
Agora digitaremos um “;” e logo em seguida daremos uma nova linha.
Final mente digitaremos o ultimo comando do nosso programa que é “WAIT”, que permite pausar o nosso
programa enquanto nenhuma tecla é pressionada quando passamos para ele o número 0 (zero), ou cria uma
pausa em segundos caso passemos um número maior que zero para ele. Aqui no caso chamaremos este
comando da seguinte forma; “WAIT(0)” (sem as aspas).
Como este foi o nosso ultimo comando não devemos digitar “;” pois senão o programa irá dar um erro pois ficará
esperando um comando.
Abaixo está o código completo do programa.
«
CLLCD;
DISP(“OLA MUNDO!”,0);
WAIT(0)
»
Usando variáveis globais:
Para criar uma variável global digite o valor a ser inserido dentro da variável, pressione a tecla e logo
em seguida digite o nome da variável.
Por exemplo:
«
CLLCD;
“1 2 3 TESTANDO” ►TEXTO;
DISP(TEXTO,0);
WAIT(0);
PURGE(TEXTO)
»
As variáveis globais ficam gravadas permanentemente na memória da calculadora, por isso quando criamos
programas que usem variáveis globais devemos apaga-las usando a função “PURGE” que está na ultima linha do
programa acima. Esta função recebe apenas o nome da variável a ser apagada.
e logo em seguida , digitar o nome da variável, dar uma nova linha e criar um novo bloco.
Por exemplo:
«
CLLCD;
“1 2 3 TESTANDO” →TEXTO
«
DISP(TEXTO,0);
WAIT(0)
»
»
Observe que nas variáveis locais, diferentemente das variáveis globais não há a necessidade de apagarmos a
variável. Isso é por que ela só existe dentro do bloco criado dentro do programa, e assim que executamos o programa
ele apaga a variável assim que ele sai do bloco.
«
INPUT(“DIGITE UM TEXTO.”,””) → TEXTO
«
CLLCD;
DISP(TEXTO,0);
WAIT(0)
»
»
Criando um programa que transforme string em número e
vice-versa:
Para transformar uma string em número basta usar a função “→OBJ”, que recebe uma string e retorna um
número, se o conteúdo da string for um número e para transformar um número em uma string basta usar a
função “→STR”, que recebe um número e retorna ele em formato de string.
Por exemplo:
«
INPUT(“DIGITE UM NUMERO.”,””) → TEXTO
«
CLLCD;
DISP(→STR(EVAL(STR→(TEXTO) * 5)),0);
WAIT(0)
»
»
Neste exemplo o usuário deve digitar um número quando o programa pede, então este número é fornecido ao
programa no formato de string através da função “INPUT”, para ser transformado em um número com formato de
número pela função “STR→” que é passado para a função “EVAL” que serve para resolver contas. Aqui no caso estamos
multiplicando o número fornecido por 5 (cinco) e o resultado desta conta (que é retornado pela função “EVAL”) é passado
para string para que possa ser exibido na tela pela função “DISP”.
«
INPUT(“DIGITE UM TEXTO.”,””) → TEXTO
«
CLLCD;
MSGBOX(TEXTO)
»
»
Este programa pede um texto para o usuário e então o exibe dentro de uma caixa de mensagens.
« INPUT(“DIGITE UM NUMERO:”,””) → A
« INPUT(“DIGITE OUTRO NUMERO:”,””) → B
« IF A==B THEN
CLLCD;
DISP(“OS DOIS NUMEROS SAO IGUAIS.”,1);
WAIT(0);
END
»
»
»
Este programa pede dois números e logo em seguida verifica se eles são iguais usando a estrutura condicional
“IF”, que é usada da seguinte maneira:
IF CONDICIONAL THEN
“COMANDOS...............”
END
Após verificar se são iguais, se forem iguais exibe um texto na tela que informa que os números são iguais, caso
o contrário ele termina o programa.
Além da estrutura “IF” temos a estrutura “ELSE”, que deve ser usada junto da estrutura “IF”, para caso a
condição não seja satisfeita o programa executar outros comandos.
Por exemplo:
« INPUT(“DIGITE UM NUMERO:”,””) → A
« INPUT(“DIGITE OUTRO NUMERO:”,””) → B
« IF A==B THEN
CLLCD;
DISP(“OS DOIS NUMEROS SAO IGUAIS.”,1);
WAIT(0);
ELSE
CLLCD;
DISP(“OS DOIS NUMEROS SAO DIFERENTES.”,1);
WAIT(0);
END
»
»
»
Este programa pede dois números e logo em seguida verifica se eles são iguais usando a estrutura condicional
“IF”, caso eles sejam diferentes o programa executa a rotina declarada dentro da estrutura condicional “ELSE”, que aqui
no caso exibe uma mensagem informando que os números são diferentes.
«
FOR (I,0,10)
CLLCD;
DISP(→STR(I),1);
WAIT(1);
NEXT
»
«
WHILE TIME<11,30 REPEAT
CLLCD;
DISP(→STR(TIME),1);
WAIT(1);
END
»
O seguinte exemplo exibe o número equivalente a hora, minuto e segundo (número retornado pela função
“TIME”) de um em um segundo (determinados pela função “WAIT”) enquanto o número for menor ao número “11.30”
(número equivalente as 11 horas 30 minutos da manha).
Listas:
Listas são uma estrutura de baco de dados que permite que se adicione e se leia vários elementos. A estrutura
de uma lista é bem simples:
«
{“T”,”E”,”S”,”T”,”E”}
»
«
{“T”,”E”,”S”,”T”,”E”} → A
« MSGBOX(→STR(GET(A,3)))
»
»
Este programa ele cria uma lista com as letras da palavra “TESTE” e então exibe o 3º elemento da lista (a letra
“S”) dentro de uma caixa de texto.
«
{“T”,”E”,”S”,”T”,”E”} → A
« MSGBOX(→STR(POS(A,”E”)))
»
»
Este programa exibe uma caixa de texto com o número da posição da 1ª ocorrência do termo pesquisado (aqui
no caso o número exibido é o “2”).
Caso o elemento não existisse na lista, o número retornado seria “0” (zero).
Como somar todos os elementos de uma lista:
Para somar todos os elementos naturais de uma lista devemos usar a função “→LIST”, que retorna o somatório
da lista. Por exemplo:
«
{“T”,”E”,”S”,”T”,”E”} → A
« MSGBOX(→STR(→LIST(A)))
»
»
«
{1,2,3,4,5} → A
« MSGBOX(→STR(→LIST(A)))
»
»
«
{1,2,3,4,5} → A
« A + STR→(INPUT(“DIGITE UM NUMERO:”,””)) → A
A
»
»
«
{1,2,3,4,5} → A
« MSGBOX(→STR(SIZE(A)))
»
»
No exemplo acima o programa exibe numa caixa de texto o número de elementos contidos dentro da lista.
Trabalhando com formulários:
Para usar uma interface em forma de formulário, devemos usar a função “INFORM” que recebe o título, uma lista
com os dados do campo, a posição, { } e o conteúdo padrão dos campos e retorna uma lista.
Exemplo:
«
GET(INFORM(“CADASTRO”,{{“NOME”,”DIGITE O NOME”,2},{“E-MAIL”,”DIGITE O E-MAIL”,2}},{2,0},{},{}
),1) → DADOS
« GET(DADOS,1) → NOME
« GET(DADOS,2) → EMAIL
« “NOME: ” + NOME + “
E-MAIL: “ + EMAIL
»
»
»
»
No exemplo acima, repare que a lista com os dados do campo possui o nome do campo, um comentário e o
número que é equivalente ao tipo da entrada de dados.
Criando funções:
Para criarmos funções devemos criar um bloco que possui a passagem de variáveis dentro do bloco de
programação.
Exemplo:
«→abc
« MSGBOX(“X1: ”+STR→(EVAL(-b+√(b^2-4*a*c))/2*a)))+”
X2:”+STR→(EVAL(-b-√(b^2-4*a*c))/2*a))))
»
»
O exemplo acima é uma função que recebe os valores “a”, “b” e “c” de uma equação de segundo grau e exibe as
raízes dentro de uma caixa de mensagem. Para chamar esta função após salva-la, basta digitar o nome dela, abrir
parênteses e inserir dentro dos parênteses os três valores separados por vírgula.
Exemplo:
FUNÇÃODOEXEMPLOANTERIOR(1,2,1)
«
ERASE;
PVIEW({#0,#0});
WAIT(0)
»
No exemplo, acima preparamos a calculadora para usar as funções de desenho. Para isso, começamos
apagando a tela usando a função “ERASE”, e logo em seguida usamos a função “PVIEW”, que recebe as coordenadas
do canto da imagem. O comando “WAIT”, na ultima linha, só está presente para que a calculadora não termine o
programa sem que o usuário pressione uma tecla, assim o usuário tem tempo de ver o que o programa fez.
Transformando texto em desenho e desenhando-o:
Para desenhar um texto na tela, devemos primeiro transformá-lo em um desenho, usando a função “→GROB”,
que serve para transformar variáveis de vários tipos em desenho. Após transformado deve-se usar a função “REPL” ou a
função “GXOR”, que recebem o mesmo tipo de parâmetros mas com a diferença de que a “GXOR” desenha invertendo a
cor do ponto (deixando preto o ponto se ele está em branco e branco se ele está preto), e a “REPL” deixa preto o ponto a
ser marcado (independente se o ponto já estiver preto).
Exemplo:
«
ERASE;
PVIEW({#0,#0});
REPL(PICT,(2,-2),→GROB(“OLA MUNDO!”,2));
WAIT(0)
»
No exemplo acima após prepararmos a calculadora para desenhar, usamos a função “REPL”, que recebe a área
de desenho, que aqui no caso é a própria tela da calculadora (retornada pela função “PICT”), a posição a ser desenhada
e a imagem. Neste caso a imagem é o texto “OLA MUNDO!” convertido para imagem através da função “→GROB”, que
recebeu o valor a ser convertido (aqui no caso uma string) e o código do tipo de valor que estamos fornecendo (aqui no
caso, como se trata de uma string, o código é 2).
«
BLANK(#20d,#20d) → AREA
«
REPL(AREA,(1,1),→GROB(“OI”,2)) → AREA
«
→LCD(AREA);
WAIT(0)
»
»
»
No exemplo acima o programa começa criando uma imagem em branco na dimensão de 20x20 usando a função
“BLANK” (note que é necessário informar a base numérica de cada número nesta função) e logo em seguida guarda a
imagem em uma variável local chamada “AREA”, logo em seguida desenha nesta imagem a palavra “OI” e salva as
modificações armazenando novamente a imagem na variável local “AREA”.
Em seguida o programa executa a função “→LCD” fornecendo a ela a variável da imagem. Esta função desenha
a imagem fornecida na tela.
Para finalizar o programa é usada a função “WAIT(0)” que serve para que o usuário tenha tempo de ver o que o
programa fez.
Desenhando arcos:
Para desenhar um arco primeiro deve-se preparar a calculadora para desenhar, depois disso podemos usar a
função “ARC” que recebe o ponto do centro, raio, ângulo inicial e o ângulo final.
Exemplo:
«
ERASE;
PVIEW({0,0});
ARC((0,0),3,0,3.14/3);
WAIT(0)
»
No exemplo acima, a primeira função chamada foi a “ERASE”, para limpar a tela, logo em seguida chamamos a
função “PVIEW”, fornecendo a mesma os coordenadas do 1º ponto. Neste momento chamamos a função “ARC”, dando
a mesma o ponto central, o raio, o ângulo inicial e o ângulo final. Note que o ângulo da calculadora, aqui mo exemplo
esta configurado na unidade de graus radianos, por isso o nosso ângulo final é de 3.14/ 3 .
Para finalizar o programa é usada a função “WAIT(0)” que serve para que o usuário tenha tempo de ver o que o
programa fez.
Desenhando linhas:
Para desenhar uma linha primeiro deve-se preparar a calculadora para desenhar, depois disso podemos usar a
função “LINE” que recebe dois pontos.
Exemplo:
«
ERASE;
PVIEW({0,0});
LINE((0,0),(3,3));
WAIT(0)
»
No exemplo acima, a primeira função chamada foi a “ERASE”, para limpar a tela, logo em seguida chamamos a
função “PVIEW”, fornecendo a mesma os coordenadas do 1º ponto. Neste momento chamamos a função “LINE”, dando
a mesma o 1º ponto e o 2º ponto.
Para finalizar o programa é usada a função “WAIT(0)” que serve para que o usuário tenha tempo de ver o que o
programa fez.
Desenhando retângulos:
Para desenhar um retângulo primeiro deve-se preparar a calculadora para desenhar, depois disso podemos usar
a função “BOX” que recebe dois pontos.
Exemplo:
«
ERASE;
PVIEW({0,0});
BOX((0,0),(3,3));
WAIT(0)
»
No exemplo acima, a primeira função chamada foi a “ERASE”, para limpar a tela, logo em seguida chamamos a
função “PVIEW”, fornecendo a mesma os coordenadas do 1º ponto. Neste momento chamamos a função “BOX”, dando
a mesma o 1º ponto e o 2º ponto.
Para finalizar o programa é usada a função “WAIT(0)” que serve para que o usuário tenha tempo de ver o que o
programa fez.
Mais exemplos:
• Uma função que calcula o fatorial de um número de forma recursiva.
«
→n
«
IF n>1 THEN
n × FATORIAL(n-1)
ELSE
1
END
»
»
Obs.: Esta função é recursiva, ou seja, ela executa ela mesma diversas vezes. Neste exemplo demos o nome de
FATORIAL para ele, e por isso a chamada “n × FATORIAL(n-1)”. Se o desenvolvedor desejar usar outro nome
para esta função, ele devera mudar esta linha.
• Um programa que calcula a média escolar de um aluno usando a formula MT = MP × 0.8 + MT × 0.2 .
«
0►MP;
FOR(P,1,STR→(INPUT(“DIGITE O NÚMERO DE PROVAS”,””)))
((MP+STR→(INPUT(→STR(P) + “ PROVA”,””)))/2)►MP
NEXT;
0►MT;
FOR(T,1,STR→(INPUT(“DIGITE O NÚMERO DE TRABALHOS”,””)))
((MT+STR→(INPUT(→STR(T) + “ TRABALHO”,””)))/2)►MT
NEXT;
MSGBOX(→STR(0.8 × MP + 0.2 × MT));
PURGE(MP);
PURGE(MT)
»
«
→ EQUACAO N VALOR
«
X-EQUACAO/DERVX(EQUACAO)►CALCULO;
VALOR►X;
CLLCD;
FOR(I,1,N)
EVAL(CALCULO)►X;
DISP(→STR(X),I);
NEXT;
WAIT(0);
PURGE(X);
PURGE(CALCULO);
»
»