hp-support-head-portlet

Acções
A carregar...

Suporte ao Cliente HP

hp-contact-secondary-navigation-portlet

Acções
A carregar...

hp-share-print-widget-portlet

Acções
A carregar...

hp-concentra-wrapper-portlet

Acções
A carregar...

Calculadora HP 20s - Ramificação e condicionais

Tecla de símbolo da calculadora
Os procedimentos neste documento utilizam o seguinte texto para representar as teclas de símbolo:
Tecla
Descrição
Representação do texto
Tecla "Shift" da direita
RS
Tecla "Shift" da esquerda
LS
Move o cursor para a esquerda
cursor-left
Move o cursor para a direita
cursor-right
Mover o cursor para cima
cursor-up
Mover o cursor para baixo
cursor-down
Backspace/limpar
backspace
Divisão
divide
Ramificação (GTO)
Da mesma forma que com as sub-rotinas, geralmente é desejável transferir a execução para uma parte do programa que não é a próxima linha. Isto é chamado ramificação.
A ramificação incondicional utiliza a instrução GTO (vá para) para ramificar para uma etiqueta de programa. Utilize as teclas: LS, GTO e label.
A instrução LS, GTO, label transfere a execução de um programa em execução para a linha de programa que contém essa etiqueta, esteja onde estiver. A procura começa em LS, GTO e continua por toda a memória de programa. O programa continua a ser executado a partir do novo local. Ele não volta automaticamente para seu ponto de origem quando um LS, RTN é encontrado. Conseqüentemente, LS, GTO não é utilizado para sub-rotinas.
Instruções condicionais - decisões e controle
Além das sub-rotinas, outra forma de controlar a execução do programa é com um teste condicional - um teste verdadeiro/falso que compara dois números e ignora a próxima instrução do programa se a comparação for falsa.
A HP 20S tem duas instruções condicionais: elas são RS e x<y?, e RS e x=0?. x=0? pergunta, "x é igual a 0? Se a resposta for verdadeira, o programa continuará a execução com a linha imediatamente seguinte à pergunta. Se a resposta for falsa, o programa vai ignorar uma linha e continuar dali.
Por exemplo, se uma instrução condicional for x=0?, o programa vai comparar o conteúdo do visor com zero. Se houver um zero no visor, o programa continuará na próxima linha. Se não houver um zero no visor, o programa vai pular uma linha e continuar dali. Esta regra é comumente conhecida como "Fazer se verdadeiro".
Para x<y?, o programa compara y (o valor exibido) com x (o valor oculto). Utilize INPUT ou qualquer outro operador (por exemplo, + ou divide) para separar x e y. Se x for menor que ou igual a y, o programa continua na próxima linha. Se x não for menor que ou igual a y (ou seja, se x for maior que y), o programa vai ignorar uma linha e continuar dali.
O exemplo a seguir ilustra a ramificação condicional e uma instrução GTO.
Exemplo de ramificação condicional e instrução GTO
Um contador solicita um programa que calcule o valor dos impostos que uma pessoa deve pagar. Se os rendimentos excederem R$ 30.000,00, a taxa de impostos é 38%. Se os rendimentos forem menores que ou iguais a R$ 30.000,00, a taxa de impostos é 28%. A pergunta é: o rendimento é maior que ou igual a R$ 30.000,00? Ou a pergunta pode ser representada pela fórmula da Figura 1.
Figura : Exemplo de fórmula da taxa de impostos
Teclas
Exibição
Descrição
Pressione LS e, em seguida, PRGM
Entra no modo Programa
Pressione RS e, em seguida, CLPRGM
00-
Limpa programas anteriores
Pressione RS, LBL e, em seguida, A
01- 61 41 A
Nomeia o programa
Pressione INPUT
02- 31
Insere o valor do visor na posição x para o teste condicional
Pressione 3
03- 3
Insere o primeiro dígito de 30.000
Pressione 0
04- 0
Pressione 0
05- 0
Pressione 0
06- 0
Pressione 0
07- 0
Insere o último dígito de 30.000
Pressione RS e, em seguida, x<y?
08- 61 42
Teste condicional: x é menor que ou igual a 30.000? Executa a próxima linha se verdadeiro; caso contrário, ignora uma linha
Pressione LS, GTO e, em seguida, 0
09- 51 41 0
Vai para a etiqueta 0 se o rendimento for menor que ou igual a 30.000
Pressione LS e SWAP
10- 51 31
Troca 30.000 e o rendimento
Pressione x
11- 55
Multiplica o valor de x
Pressione 3
12- 3
Cada dígito utiliza uma linha do programa
Pressione 8
13- 8
Insere a taxa de impostos
Pressione LS e %
14- 51 14
Pressione =
15- 74
38% do valor de x
Pressione R/S
16- 26
Interrompe o programa
Pressione RS, LBL e, em seguida, 0
17- 61 41 0
Inicia a rotina para rendimento menor que ou igual a 30.000
Pressione LS e SWAP
18- 51 31
Troca 30.000 e o valor de x
Pressione x
19- 55
Multiplica o valor de x
Pressione 2
20- 2
Cada dígito utiliza uma linha do programa
Pressione 8
21- 8
Insere a taxa de impostos
Pressione LS e %
22- 51 14
Pressione =
23- 74
28% do valor de x
Pressione R/S
24- 26
Interrompe o programa
Mantenha pressionado LS e SHOW
d6b6
Checksum (consulte a seção Checksum explicada a seguir)
Pressione LS e, em seguida, PRGM
Sai do modo Programa
Testa o programa comparando amostras feitas manualmente. Por exemplo, pressionar 15000, x, 28, LS, % e, em seguida, =, deve resultar em 4.200,0000. Teste mais alguns rendimentos manualmente, em seguida execute o programa e compare-os. Para executar o programa, digite o valor do rendimento no visor e pressione XEQ e, em seguida, A.
Os : que aparecem no visor após o programa ser concluído se devem ao INPUT, que separa o rendimento de 30.000 para o teste condicional na linha 08. O programa pode ser regravado de forma que x seja usado para separar o rendimento de 30.000 para o teste condicional. Além disso, para gravar linhas do programa, toques no teclado comuns podem ser agrupados. O programa a seguir utiliza a ramificação condicional e incondicional para os toques no teclado comuns.
Teclas
Exibição
Descrição
Pressione LS e, em seguida, PRGM
Entra no modo Programa
Pressione RS e CLPRGM
00-
Apaga qualquer programa existente
Pressione RS, LBL e, em seguida, A
01- 61 41 A
Nomeia o programa A
Pressione x
02- 55
Coloca o valor do visor na posição x para a condicional. Ele será utilizado posteriormente para multiplicar pela taxa de impostos
Pressione 3
03- 3
Um dígito por linha
Pressione 0
04- 0
Pressione 0
05- 0
Pressione 0
06- 0
Pressione 0
07- 0
O valor de y é 30.000
Pressione RS e, em seguida, x<y?
08- 61 42
Em caso positivo, vai para a próxima linha; em caso negativo, ignora uma linha
Pressione LS, GTO e, em seguida, 1
09- 51 41 1
Vai para a etiqueta 1 se o rendimento for menor que ou igual a 30.000
Pressione 3
10- 3
Substitui 30.000 pela taxa de impostos
Pressione 8
11- 8
Pressione LS, GTO e, em seguida, 2
12- 51 41 2
Vai para a etiqueta 2 para passos comuns
Pressione RS, LBL e, em seguida, 1
13- 61 41 1
Inicia a rotina 1 para x menor que ou igual a 30.000
Pressione 2
14- 2
Um dígito por linha
Pressione 8
15- 8
Pressione RS, LBL 2 2
16- 61 41 2
Inicia a rotina 2 com linhas comuns
Pressione LS e %
17- 51 14
Calcula 38% ou 28%...
Pressione =
18- 74
... do rendimento
Pressione R/S
19- 26
Fim do programa
Mantenha pressionados LS e SHOW
CbCA
Checksum (veja a seção Checksum abaixo)
Pressione LS e, em seguida, PRGM
Sai do modo Programa
Teste este programa da mesma forma que o programa anterior para o exemplo da taxa de impostos. Pressione C para remover os : do exemplo anterior.
Checksum
Após o programa ser inserido, verifique se os toques no teclado foram inseridos corretamente comparando o checksum relacionado neste documento ao checksum criado pelo programa. O checksum é um valor hexadecimal exclusivo atribuído aos toques no teclado específicos inseridos. Para visualizar o checksum, mantenha pressionadas as teclas LS+SHOW por um momento enquanto estiver em modo Programa.
Toques no teclado para outras condicionais
A HP 20S fornece duas de várias condicionais possíveis utilizando x, y e zero. A tabela a seguir mostra exemplos de toques no teclado que podem ser utilizados para criar algumas outras condicionais em um programa:
Condicional
Passos do programa
Explicação
Pressione n Pressione RS e x=0? Pressione LS, GTO e, em seguida, 1 (Linhas para n não igual a 0) : Pressione RS, LBL e, em seguida, 1 (Linhas para n = 0)
n é x n = 0? Sim. Vá para LBL 1 Não. Continue aqui
Pressione C Pressione INPUT Pressione n Pressione RS e x<y? Pressione LS, GTO e, em seguida, 1 (Linhas para n < 0) : Pressione RS, LBL e, em seguida, 1 (Linhas para n maior que ou igual a 0)
0 é x n é y 0 é menor que ou igual a n? (n é maior que ou igual a 0?) Sim. Vá para LBL 1 Não. Continue aqui
Pressione n Pressione INPUT Pressione 0 Pressione RS e x<y? Pressione LS, GTO e, em seguida, 1 (Linhas para n>0) : Pressione RS, LBL e, em seguida, 1 (Linhas para n menor que ou igual a 0)
n é x 0 é y n é menor que ou igual a 0? Sim. Vá para LBL 1 Não. Continue aqui
Pressione n 1Pressione [ - ] Pressione n2 Pressione = Pressione RS e x=0? Pressione LS, GTO e, em seguida, 1 (Linhas para n1 não igual a n2) Pressione RS, LBL e, em seguida, 1 (Linhas para n1 = n2)
n1 - n2 = 0? (n1 = n2?) Sim. Vá para LBL 1 Não. Continue aqui
Pressione n2 Pressione INPUT Pressione n1Pressione RS e x<y? Pressione LS, GTO e, em seguida, 1 (Linhas para n1< n2) : Pressione RS, LBL e, em seguida, 1 (Linhas para n1 maior que ou igual a n2)
n2 é x n1é y n2 é menor que ou igual a n1? (n1 é maior que ou igual a n2?) Sim. Vá para LBL 1 Não. Continue aqui
Pressione n1 Pressione INPUT Pressione n2 Pressione RS e x<y? Pressione LS, GTO e, em seguida, 1 (Linhas para n1 > n2) Pressione RS, LBL e, em seguida, 1 (Linhas para n1 menor que ou igual a n2)
n1 é x n2 é y n1 é menor que ou igual a n2? Sim. Vá para LBL 1 Não. Continue aqui
Memória de programa disponível
A memória de programa pode ter até 99 linhas. Se for feita uma tentativa de adicionar linhas do programa (em qualquer lugar da memória de programa) depois que 99 linhas foram inseridas, a mensagem "Erro - cheia" será exibida.
Funções não-programáveis
As seguintes funções da HP 20S não são programáveis:
  • backspace
  • LS e cursor para baixo
  • LS e cursor para cima
  • LS, GTO, [ . ], número da linha
  • LS, GTO, [ . ], [ . ]
  • RS e CLPRGM
  • LS e SHOW
  • LS e LOAD
  • LS e PRGM
  • RS e OFF

hp-feedback-input-portlet

Acções
A carregar...

hp-online-communities-portlet

Acções
A carregar...

Pergunte à comunidade!


Fórum de suporte

Fórum de suporte

Ingresse na conversa! Encontre soluções, faça perguntas e compartilhe conselhos com outros proprietários de produtos HP. Visitar agora


hp-feedback-banner-portlet

Acções
A carregar...

hp-country-locator-portlet

Acções
A carregar...
País: Flag Portugal

hp-detect-load-my-device-portlet

Acções
A carregar...