25
PROGRAMAÇÃO EM CALCULADORA HP PRIME (G8X92AA) Programação BÁSICA e AVANÇADA (para iniciantes) Prof. Lauro Cesar Galvão, Dr. Leonardo de Azevedo Dornelles (aluno de engenharia) 2018

Curso HP Prime - paginapessoal.utfpr.edu.brpaginapessoal.utfpr.edu.br/laurogalvao/disciplinas/Curso HP 48-49... · PROGRAMAÇÃO EM CALCULADORA HP PRIME (G8X92AA) Programação BÁSICA

  • Upload
    vannhi

  • View
    232

  • Download
    6

Embed Size (px)

Citation preview

PROGRAMAÇÃO EM

CALCULADORA HP PRIME (G8X92AA)

Programação BÁSICA e AVANÇADA

(para iniciantes)

Prof. Lauro Cesar Galvão, Dr.

Leonardo de Azevedo Dornelles (aluno de engenharia)

2018

SUMÁRIO

1 Acessando o menu programação ........................................................................................ 3

1.1 Abrindo o catálogo de programação ............................................................................ 3

1.1.1 Programas ............................................................................................................. 3

1.1.2 Criando um programa ........................................................................................... 3

1.1.3 Apagando um programa ....................................................................................... 4

1.2 Organizar Catálogo de Programas ............................................................................... 5

1.2.1 Ordenar programas ............................................................................................... 5

2 HP Prime: Programação Básica .......................................................................................... 6

2.1 Exemplo 01 .................................................................................................................. 7

2.1.1 Parâmetros iniciais do programa .......................................................................... 7

2.1.2 Declarar variáveis no programa ............................................................................ 7

2.1.3 Atribuir valores iniciais a variável........................................................................ 9

2.1.4 Criando ciclo de repetição .................................................................................... 9

2.1.5 Comando Print .................................................................................................... 10

2.1.6 Inserindo fórmulas .............................................................................................. 10

2.1.7 Imprimir resultados............................................................................................. 10

2.1.8 Comando WAIT ................................................................................................. 11

2.1.9 Condições para continuidade do ciclo ................................................................ 12

2.1.10 Verificando sintaxe do programa ....................................................................... 12

2.2 Executando um programa .......................................................................................... 13

2.3 Utilização: Preenchimento da tabela .......................................................................... 14

2.4 Exercício para treinamento: ....................................................................................... 15

2.4.1 Fazer a programação:.......................................................................................... 15

2.4.2 Alimentar o Programa ........................................................................................ 15

2.4.3 Resposta Programa EQ2G .................................................................................. 16

3 HP Prime: Programação Avançada .................................................................................. 17

3.1 Exemplo 02 ................................................................................................................ 18

3.1.1 Matrizes .............................................................................................................. 19

3.1.2 Programação ....................................................................................................... 20

3.1.3 Fórmula: FXY..................................................................................................... 21

3.1.4 Execução ............................................................................................................. 21

3.1.5 Alimentação ........................................................................................................ 21

3.1.6 Utilização ............................................................................................................ 22

3.1.7 Abrindo catálogo de matrizes ............................................................................. 22

3.2 Exercício para treinamento: ....................................................................................... 24

3.2.1 Fazer a programação:.......................................................................................... 24

3.2.2 Alimentar o Programa ........................................................................................ 24

3.3 Comandos Auxiliares ................................................................................................. 25

3.4 Programas auxiliares .................................................................................................. 25

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 3

1 Acessando o menu programação

1.1 Abrindo o catálogo de programação

Para abrir o catálogo de programas devemos pressionar os botões Shift + 1 na tela HOME

1.1.1 Programas

No catálogo de programas veremos o aplicativo em execução (neste caso o DataStreamer) e

uma série de comandos (Editar, Nova e Mais) no menu inferior da tela

1.1.2 Criando um programa

Para criar um programa novo devemos clicar no comando Nova no menu inferior da tela onde

teremos a opção de nomear o programa e a opção de usar o modo CAS. Selecionando o campo

nome insira o nome de programa desejado usando a tecla Alpha e a letra indicada em laranja

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 4

no teclado, para fixar o Alpha pressione o botão duas vezes e para usar letras minúsculas

pressione a tecla Shift. Após nomear o programa pressione a tecla OK no menu inferior ou

Enter no teclado.

1.1.3 Apagando um programa

No catálogo de programas, selecione o programa a ser apagado com o cursor e clique no menu

inferior sobre a opção Mais e logo após Elimin, confirme a operação clicando em OK.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 5

1.2 Organizar Catálogo de Programas

1.2.1 Ordenar programas

Há duas formas de ordenação de programas no catálogo de programas: cronologicamente ou

alfabeticamente. A seleção é acessada através do menu inferior na opção Mais e Orden.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 6

2 HP Prime: Programação Básica

Entrar no catálogo de programas Shift + 1

Criar programa “EX01” (Exemplo 01)

Entrar em “EX01” Após a criação do programa, automaticamente entrará na tela de edição do programa, caso não

aconteça, acesse o catálogo de programas, selecione o programa e clique na opção Editar no

menu inferior.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 7

2.1 Exemplo 01 Vamos programar as seguintes fórmulas para preencher a tabela abaixo:

1jx jx h , para j 0,1,2,, m 1

1jy jy 2

h( 1k 2k ), para j 0,1,2,, m 1

onde 1k f ( jx , jy ) e 2k f ( jx h , jy h 1k ).

Sabendo que 0x 0, 0y 2, a 0, b 1, h =0,1, m h

ab m 10.

Sabendo também que 2),( yxyxf .

j jx jy 1k 2k

0 0 2

1

2

3

4

5

6

7

8

9

10

2.1.1 Parâmetros iniciais do programa

O comando EXPORT possibilita a entrada de valores iniciais para o programa, neste caso

usaremos para os valores de “X0”, “Y0”, “A”, “B” e “H”.

2.1.2 Declarar variáveis no programa

O comando LOCAL serve para declarar variáveis internas ao programa. Deve ser usado sempre

que usarmos variáveis diferentes das pré-existentes para realizar operações.

Neste caso declararemos as variáveis: “X01”, “Y01”, “K1”, “K2”.

Como já declaramos “X0” e “Y0” nos parâmetros iniciais não precisamos realizar a declaração.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 8

Sintaxe: LOCAL “Variável”;

Dica: Todos os comandos estão disponíveis no menu inferior, nas opções Comand para

comandos relacionados a variáveis e Modelo para comandos relacionados ao programa. O

comando LOCAL está na opção Modelo → Variável.

Note que todos os comandos devem ser terminados com o “;” no final como na linguagem de

programação C.

Sempre que houver dúvidas sobre a sintaxe de um comando podemos usar a tecla ? Help da

calculadora sobre o comando para consultar a ajuda.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 9

2.1.3 Atribuir valores iniciais a variável

Para atribuir valor a uma variável devemos usar o operador “:=”, neste exemplo precisamos

atribuir valores a “M” e “J”.

2.1.4 Criando ciclo de repetição

Para criar um ciclo de repetição com condição de parada podemos usar o comando WHILE.

O comando WHILE realiza os comandos que seguem entre o DO e o END de forma repetida

até alcançar a condição de parada do ciclo.

Sintaxe: WHILE “Condição” DO “Comandos” END;

Neste caso a condição de parada do comando é o número de iterações que o programa deve

executar, portanto, usando a variável “J” para realizar apenas o número de iterações desejadas.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 10

2.1.5 Comando Print

Neste exemplo usaremos o comando PRINT para imprimir o valor das variáveis na tela e para

limpar a tela.

Quando o comando PRINT é usado sem argumentos ele tem a função de limpar a tela.

Sintaxe: PRINT (“Argumento”);

2.1.6 Inserindo fórmulas

Para inserir uma fórmula devemos atribuir um valor a variável desejada, esse valor poderá ser

resultado de uma fórmula.

Fórmula 1: K1 = X0 Y0 2

Fórmula 2: K2 = (X0 H)(Y0 H K1) 2

Fórmula 3: X01 = X0 H

Fórmula 4: Y01 = Y0 H/2 (K1 K2)

2.1.7 Imprimir resultados

Para imprimir resultados usaremos o comando PRINT com argumentos, nesse caso quando o

argumento é inserido entre aspas ele tem a função de texto e fora das aspas representa uma

variável.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 11

Note que as variáveis aparecem após um sinal positivo, dessa forma elas serão apresentadas

após o texto inserido entre as aspas.

2.1.8 Comando WAIT

Nesse exemplo usaremos o comando WAIT para aguardar o usuário para continuar a execução.

Quando o comando WAIT é usado com argumento “0” ele tem a função de esperar um toque

no teclado para continuar a execução.

Sintaxe: WAIT (“Argumento”);

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 12

2.1.9 Condições para continuidade do ciclo

Para continuar a progressão do ciclo devemos realizar atribuições as variáveis que devem

progredir com a repetição, neste caso “X0”, “Y0” e “J”.

“X0” tem o valor do “X01”, “Y0” tem o valor de “Y01” e “J” tem o valor incrementado em 1

unidade. No próximo ciclo será feito a nova aplicação das fórmulas onde atribuirá novos valores

em “X01” e “Y01”.

2.1.10 Verificando sintaxe do programa

No menu inferior temos a opção Verif., essa opção verifica a sintaxe do programa e informa

caso haja algum erro no programa será alertado a linha e o cursor direcionado ao ponto do erro.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 13

2.2 Executando um programa Para executar um programa, primeiro precisamos voltar ao catálogo de programas pressionando

a tecla Esc. No catálogo de programas com o curso sobre o programa toque na opção Execut

no menu inferior.

Quando o programa iniciar, devemos alimentar os parâmetros iniciais do programa

Como nesse programa usamos o comando PRINT serão exibidos os resultados das operações

no Terminal.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 14

Para continuar a execução devemos pressionar qualquer tecla do teclado conforme o comando

WAIT usado.

2.3 Utilização: Preenchimento da tabela

j jx jy 1k 2k

0 0 2 0 0,1

1 0,1 2,005 0,095 0,1855

2 0,2 2,019025 0,180975 0,2628775

3 0,3 2,041217625 0,258782375 0,332904138

4 0,4 2,070801951 0,329198049 0,396278244

5 0,5 2,107075765 0,392924235 0,453631811

6 0,6 2,149403568 0,450596432 0,505536789

7 0,7 2,197210229 0,502789771 0,552510794

8 0,8 2,249975257 0,550024743 0,595022269

9 0,9 2,307227608 0,592772392 0,633495153

10 1 2,368540985

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 15

2.4 Exercício para treinamento: Crie um programa chamado “EQ2G”.

Tome a equação do 2o grau 02 cbxax com 0a .

Programar a fórmula de Bhaskara: a

bx

2

com acb 42 .

Declarar 3 parâmetros e criar 3 variáveis

“A”, “B”, “C” e “X1”, “X2”, “DELTA”

2.4.1 Fazer a programação:

Fórmula DELTA: DELTA = B^2 – (4*A*C)

Fórmula X1:

X1 = A

DELTAB

2

Fórmula X2:

X2 = A

DELTAB

2

2.4.2 Alimentar o Programa

Resolver a equação: 02142 xx

Resposta:

7

3

2

1

x

x

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 16

2.4.3 Resposta Programa EQ2G

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 17

3 HP Prime: Programação Avançada

Entrar no catálogo de programas Shift + 1

Criar programa “EX02” (Exemplo 02)

Entrar em “EX02”

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 18

3.1 Exemplo 02 Vamos programar as seguintes fórmulas para preencher a tabela abaixo:

1jx jx h , para j 0,1,2,, m 1

1jy jy 2

h( 1k 2k ), para j 0,1,2,, m 1

onde 1k f ( jx , jy ) e 2k f ( jx h , jy h 1k ).

Sabendo que 0x 0, 0y 2, a 0, b 1, h =0,1, m h

ab m 10.

Sabendo também que 2),( yxyxf .

j jx jy 1k 2k

0 0 2

1

2

3

4

5

6

7

8

9

10

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 19

3.1.1 Matrizes

Neste exercício trabalharemos com matriz, que estão definidas de M0 – M9, para inicializar

uma matriz usamos o comando REDIM que redimensiona a matriz indicada para o tamanho

indicado. Quando o tamanho indicado for menor que o atual, todos os elementos fora do

tamanho serão apagados e quando o tamanho indicado for maior que o atual, será atribuído o

valor 0 aos novos elementos.

Sintaxe: REDIM(Matriz,{Tamanho});

Para exibir a matriz ao final do programa usamos o comando EDITMAT que permite editar ou

visualizar a matriz indicada conforme o “somente leitura”. Se o argumento for diferente de 0

será permitida apenas a visualização da matriz indicada.

Sintaxe: EDITMAT(Matriz, “Título”, somente leitura);

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 20

3.1.2 Programação

EXPORT EX02(FXY,X0,Y0,A,B,H) \\ Parâmetros do programa

BEGIN

LOCAL K1,K2; \\ Declaração de variáveis

M:=(B-A)/H; \\ Cálculo de iterações

J:=0; \\ Inicialização de “J”

REDIM(M1,{1,1}); \\ Inicialização da Matriz M1

WHILE J<=M DO

U:=X0; \\ Atribui o valor alimentado de X0 em U

V:=Y0; \\ Atribui o valor alimentado de Y0 em V

K1:=EVAL(FXY); \\ 1k f ( jx , jy )

U:=X0+H; \\ u jx h

V:=Y0+H*K1; \\ v jy h 1k

K2:=EVAL(FXY); \\ 2k f ( jx h , jy h 1k )

M1(J+1,1):=J; \\ Atribui J para a lin. J+1 e col. 1 de M1

M1(J+1,2):=X0; \\ Atribui X0 para a lin. J+1 e col. 2 de M1

M1(J+1,3):=Y0; \\ Atribui Y0 para a lin. J+1 e col. 3 de M1

M1(J+1,4):=K1; \\ Atribui K1 para a lin. J+1 e col. 4 de M1

M1(J+1,5):=K2; \\ Atribui K2 para a lin. J+1 e col. 5 de M1

X0:=X0+H; \\ Próximo X0

Y0:=Y0+H/2*(K1+K2); \\ Próximo Y0

J:=J+1; \\ Próximo J

END;

EDITMAT(M1,"RESULTADO",1);

END;

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 21

3.1.3 Fórmula: FXY

Até agora não foi dada a função FXY. No programa ela foi considerada na forma geral.

O programa acima é utilizado em cálculo numérico. É o método de Runge-Kutta de Segunda

Ordem (Método de Euler Aprimorado) que aproxima equações diferenciais ordinárias (EDO).

Alimentação: muda para cada exercício. Digitar a equação em modo algébrico, que no caso é: ‘UV2’

2),( yxyxf

3.1.4 Execução

Digitação: digitando a equação Aspas simples indicam que o valor inserido representa uma função, por isso devemos inserir o

valor de FXY usando as aspas usando Shift + ( ).

3.1.5 Alimentação

Fazer FXY ‘U-V+2’

Fazer X0 0

Fazer Y0 2

Fazer A 0

Fazer B 1

Fazer H 0,1

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 22

3.1.6 Utilização

Para executar o programa com os parâmetros inseridos use o botão OK no menu inferior.

Percebe-se que não é possível visualizar toda a matriz. Para isso podemos usar o touch ou as

teclas de navegação.

3.1.7 Abrindo catálogo de matrizes

Para acessar o catálogo de matrizes, onde se encontram as matrizes M0 – M9, usamos a

combinação Shift + 4 e selecionamos a matriz desejada, no caso a matriz M1 usada no exemplo

02.

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 23

O resultado será uma matriz com (m+1) linhas por 5 colunas onde:

j jx jy 1k 2k

0 0 2 0 0,1

1 0,1 2,005 0,095 0,1855

2 0,2 2,019025 0,180975 0,2628775

3 0,3 2,041217625 0,258782375 0,332904138

4 0,4 2,070801951 0,329198049 0,396278244

5 0,5 2,107075765 0,392924235 0,453631811

6 0,6 2,149403568 0,450596432 0,505536789

7 0,7 2,197210229 0,502789771 0,552510794

8 0,8 2,249975257 0,550024743 0,595022269

9 0,9 2,307227608 0,592772392 0,633495153

10 1 2,368540985

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 24

3.2 Exercício para treinamento: Apagar programa EQ2G. Criar o novo programa EQ2G. Entrar em EQ2G.

Tome a equação do 2o grau 02 cbxax com 0a .

Programar a fórmula de Bhaskara: a

bx

2

com acb 42 .

Declarar 3 parâmetros e 1 variável

“A”, “B”, “C” e “DELTA”

3.2.1 Fazer a programação:

EXPORT EQ2G(A,B,C)

BEGIN

LOCAL DELTA;

PRINT();

DELTA:=B^2-(4*A*C);

IF (DELTA>0) THEN

PRINT("As raízes são " +(−B+√DELTA)/2*A +" e " +(−B-√DELTA)/2*A);

ELSE IF(DELTA=0) THEN

PRINT("A raiz é " +(−B+√DELTA)/2*A);

ELSE IF(DELTA<0) THEN

PRINT("Não há raízes reais");

END;

END;

END;

END;

3.2.2 Alimentar o Programa

Resolver a equação: 02142 xx

Resposta:

7

3

2

1

x

x

A = 1

B = -4

C = -21

Prof. Lauro Cesar Galvão, Dr. Página: http://paginapessoal.utfpr.edu.br/laurogalvao

Página 25

3.3 Comandos Auxiliares

TOOLBOX MENU

Clicando na tecla na tela HOME o menu inferior irá mostrar funções disponíveis para

trabalho.

UNITS MENU

Clicando Shift + na tela HOME o menu inferior irá mostrar unidades e constantes

disponíveis para trabalho.

3.4 Programas auxiliares Biblioteca de programas: https://www.hpcalc.org/prime

Teclado touch: https://www.hpcalc.org/prime/utils/virtualkb.zip