Buscar

Programando a HP Prime

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 346 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 346 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 346 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMANDO A HP Prime
(COM APLICAC¸O˜ES)
Gentil, o iconoclasta
Boa Vista-RR
Edic¸a˜o do autor
2018
Copyright c© 2018 Gentil Lopes da Silva
Todos os direitos reservados ao autor
Site do autor → docente.ufrr.br/gentil.silva
email → gentil.iconoclasta@gmail.com
Editorac¸a˜o eletroˆnica e Diagramac¸a˜o:
Gentil Lopes da Silva
Capa: Adriano J. P. Nascimento
Ficha Catalogra´fica
S586d Silva, Gentil Lopes da
Programando a HP Prime: com aplicac¸~oes
Gentil Lopes da Silva.-
Manaus/Boa Vista: Editora Uirapuru/Autor, 2018.
x, 343 p. il. 16x23 cm [e-book]
[Pseudo^nimo: Gentil, o iconoclasta]
ISBN 978-85-63979-17-9
1. Computac¸~ao. 2. Matema´tica. 3. Programac¸~ao.
4. Gentil, o iconoclasta. I. Tı´tulo.
CDU: 519.682
(Ficha catalogra´fica elaborada por Biblioteca´ria Zina Pinheiro CRB 11/611)
2
Prefa´cio
“A motivac¸a˜o para escrever o presente livro foi tripla. Em 1996 eu me
encontrava na UFSC quando fui solicitado, pelos alunos da f´ısica e engenha-
ria, a ministrar um curso de programac¸a˜o da HP ; quando, na ocasia˜o, tive a
oportunidade de escrever uma apostila ‘Programando a HP 48’ para condu-
zir o curso. Em 2009 encontro-me na UFRR ministrando a disciplina Ca´lculo
Nume´rico, na qual decidi adotar a HP 50g . Reescrevi a apostila adaptando-a
para a HP 50g e postei uma versa˜o em minha homepage. Num per´ıodo de dois
anos aproximadamente recebi email’s de va´rias partes do Brasil de usua´rios
do meu trabalho − devo admitir que a apostila fez bastante sucesso. Isto me
motivou a transformar o referido trabalho no presente livro. Este trabalho
foi escrito tomando por base ‘a velha apostila’, sua adaptac¸a˜o e o Guia do
Usua´rio-HP.
No que diz respeito a` eficieˆncia da maioria dos alunos em utilizar os re-
cursos dispon´ıveis na calculadora − pelo que tenho observado − e´ a mesma
de um proprieta´rio de uma possante ferrari que, no entanto, se desloca em
um monociclo.” (Extra´ıdo do prefa´cio do livro “Programando a HP 50g ”)
De todas as calculadoras da famı´lia HP a HP Prime e´ a de programac¸a˜o
mais fa´cil; depois de mais de 20 anos trabalhando com estas calculadoras
ainda hoje fico pasmo com a poteˆncia de ca´lculo destes − por assim dizer
− computadores de bolso, agora incluindo-se a computac¸a˜o alge´brica. Ape-
nas para exemplificar, fo´rmulas na˜o muito simples de serem manipuladas na
ma˜o, aqui sa˜o programadas em um u´nica linha!, por exemplo esta
7→
∆m f(n) =
m∑
k=0
(−1)k
(
m
k
)
f(n− k +m)
Muitos dos programas que constam neste livro ocupam no ma´ximo uma
tela da HP Prime , como esta acima.
Para aqueles que desejam “apenas” aprender a programar a HP Prime o
cap´ıtulo 1 deste livro e´ mais do que suficiente; no cap´ıtulo 2 temos alguns
temas matema´ticos ine´ditos − por mim desenvolvidos (sou “compositor”) −
e mais programac¸a˜o; o cap´ıtulo 3 e´ para os alunos do Ca´lculo Nume´rico.
E´ com grata satisfac¸a˜o que deixo aqui consignado meus agradecimentos
ao meu (ex-) aluno Adriano J. P. Nascimento que com grande competeˆn-
cia, boa vontade e desprendimento produziu as capas da maioria dos meus
livros, e ainda se incumbiu da divulgac¸a˜o dos mesmos, a ele minha gratida˜o!.
Gentil, o iconoclasta/Boa Vista-RR, 02.03.2018
3
F
o
t
o
-
A
r
i
o
v
a
l
d
o
(p
.
9
6
)
Caro prof. Gentil, boa tarde.
Sou professor do curso de engenharia ele´trica da Universidade Sa˜o Fran-
cisco, Campinas/SP.
Gostaria de pedir a sua autorizac¸a˜o para usar, como base para um curso
de programac¸a˜o de calculadoras cient´ıficas HP, a sua apostila.
Desde ja´, independentemente da sua autorizac¸a˜o, agradec¸o a sua atenc¸a˜o
e fac¸o elogios a sua apostila e site.
Abrac¸o fraterno.
Luiz Carlos de Freitas Ju´nior
Professor do Curso de Engenharia Ele´trica/Campus Campinas
Professor Gentil,
Chamo-me Cleber e sou acadeˆmico do Curso de Engenharia Qu´ımica da
Universidade Federal do Parana´. Estou escrevendo para parabeniza´-lo pela
sua obra “Programando a HP 50g ”. Esse livro e´ fanta´stico! Tem me ajudado
muito. [. . . ] O seu livro fez toda a diferenc¸a no caminho que percorri para
adentrar no fanta´stico mundo da programac¸a˜o. [. . . ] (p. 97)
Cleber Pertel
Ola´,
Sou Aˆngelo Polloto aluno de Engenharia Eletroˆnica da UTFPR (Univ.
Tecnolo´gica Federal do Parana´)− Campos Toledo.
Li uma parte do seu trabalho ensinando a programar na HP 50g .
Sou muito grato por voceˆ teˆ-lo publicado ja´ que o mesmo me ajudou, e
ajudara´ muito, durante a minha graduac¸a˜o. Pec¸o-lhe gentilmente se posso
recomenda´-lo para amigos da Universidade.
Grato pela atenc¸a˜o
4
Suma´rio
1 Programando a HP Prime 7
1.1 Introduc¸a˜o a` programac¸a˜o da HP Prime . . . . . . . . . . . . 8
1.1.1 Programac¸a˜o nume´rica . . . . . . . . . . . . . . . . . . 10
1.1.2 Como executar um programa . . . . . . . . . . . . . . 15
1.1.3 Programac¸a˜o alge´brica . . . . . . . . . . . . . . . . . . 19
1.2 Expresso˜es e Func¸o˜es . . . . . . . . . . . . . . . . . . . . . . . 24
1.3 Listas e Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.1 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.2 O comando MAKELIST . . . . . . . . . . . . . . . . . . 30
1.3.3 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.4 O comando MAKEMAT . . . . . . . . . . . . . . . . . . . 38
1.4 Somato´rios e produto´rios . . . . . . . . . . . . . . . . . . . . 41
1.5 A´lgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
� Subrotinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
1.6 Estruturas de Programac¸a˜o . . . . . . . . . . . . . . . . . . . 51
1.6.1 Estruturas c´ıclicas . . . . . . . . . . . . . . . . . . . . 52
1.6.2 Estruturas condicionais . . . . . . . . . . . . . . . . . 62
• Trac¸ando gra´ficos . . . . . . . . . . . . . . . . . . . . 65
1.7 Operadores lo´gicos relacionais . . . . . . . . . . . . . . . . . . 67
1.8 Algumas func¸o˜es especiais . . . . . . . . . . . . . . . . . . . . 71
1.8.1 A func¸a˜o apply . . . . . . . . . . . . . . . . . . . . . . 71
1.8.2 A func¸a˜o REPLACE . . . . . . . . . . . . . . . . . . . 72
1.8.3 A func¸a˜o Map . . . . . . . . . . . . . . . . . . . . . . 76
1.8.4 A func¸a˜o Zip . . . . . . . . . . . . . . . . . . . . . . . 77
1.8.5 A func¸a˜o remove . . . . . . . . . . . . . . . . . . . . . 78
1.8.6 A func¸a˜o solve . . . . . . . . . . . . . . . . . . . . . . 79
• Tabela-Resumo . . . . . . . . . . . . . . . . . . . . . . . . 80
1.9 Polinoˆmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1.10 Nu´mero inteiro . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5
2 Aplicac¸o˜es -Mix 99
2.1 Ca´lculo de combinac¸o˜es . . . . . . . . . . . . . . . . . . . . . 100
2.2 Desenvolvimento N -a´rio . . . . . . . . . . . . . . . . . . . . . 103
2.3 Progressa˜o aritme´tica bidimensional . . . . . . . . . . . . . . 107
2.3.1 Fo´rmula do termo geral de uma PA-2D . . . . . . . . 111
2.3.2 Soma dos termos de uma PA-2D . . . . . . . . . . . . 116
2.3.3 Linearizac¸a˜o de sequeˆncias duplas . . . . . . . . . . . 120
2.4 Progressa˜o aritme´tica tridimensional . . . . . . . . . . . . . . 134
2.4.1 Fo´rmula do termo geral de uma PA-3D . . . . . . . . 140
2.4.2 Soma dos termos de uma PA-3D . . . . . . . . . . . . 149
2.4.3 Linearizac¸a˜o de sequeˆncias triplas . . . . . . . . . . . 151
2.5 Progressa˜o aritme´tica de ordem m . . . . . . . . . . . . . . . 157
2.5.1 Fo´rmula do termo geral de uma P.A.m . . . . . . . . 159
2.5.2 Soma dos termos de uma P.A.m . . . . . . . . . . . . 170
2.5.3 Diferenc¸as de ordem m . . . . . . . . . . . . . . . . . 174
2.6 Progressa˜o geome´trica de ordem m . . . . . . . . . . . . . . . 179
2.6.1 Fo´rmula do termo geral de uma P.G.m . . . . . . . . 180
2.6.2 Produto dos termos de uma P.G.m . . . . . . . . . .. 188
2.6.3 Quocientes de ordem m . . . . . . . . . . . . . . . . . 189
2.6.4 Uma aplicac¸a˜o das P.G.m : Ca´lculo de combinac¸o˜es . 195
2.7 Um pequeno interregno cultural . . . . . . . . . . . . . . . . . 199
2.8 A Curva de Peano e o Cubo Hiperma´gico . . . . . . . . . . . 205
2.8.1 A curva de Peano no cubo . . . . . . . . . . . . . . . . 229
2.8.2 O cubo hiperma´gico . . . . . . . . . . . . . . . . . . . 233
2.9 Ca´lculo da taxa de juros . . . . . . . . . . . . . . . . . . . . . 237
3 Aplicac¸o˜es ao Ca´lculo Nume´rico 255
3.1 Interpolac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
3.1.1 Interpolac¸a˜o de Lagrange . . . . . . . . . . . . . . . . 261
3.1.2 Interpolac¸a˜o de Newton . . . . . . . . . . . . . . . . . 269
3.1.3 Interpolac¸a˜o de Gregory-Newton . . . . . . . . . . . . 277
3.2 Integrac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
3.2.1 Regra dos trape´zios generalizada . . . . . . . . . . . . 288
3.2.2 Primeira regra de Simpson . . . . . . . . . . . . . . . 291
3.2.3 Segunda regra de Simpson . . . . . . . . . . . . . . . . 293
3.2.4 Quadratura gaussiana . . . . . . . . . . . . . . . . . . 295
3.2.5 Integral dupla . . . . . . . . . . . . . . . . . . . . . . . 307
3.3 Equac¸o˜es Diferenciais Ordina´rias . . . . . . . . . . . . . . . . 314
• Fo´rmula de Taylor . . . . . . . . . . . . . . . . . . . . 315
3.3.1 Problema de valor inicial (PVI) . . . . . . . . . . . . . 324
3.3.2 Me´todo de Euler . . . . . . . . . . . . . . . . . . . . . 327
3.3.3 Me´todo de Taylor de ordem p = 2 . . . . . . . . . . . 332
3.3.4 Me´todos de Runge-Kutta . . . . . . . . . . . . . . . . 334
6
Capı´tulo 1
Programando a HP Prime
A despeito da cr´ıtica de Laplace, a visa˜o de Leibniz,
pela qual o mundo e´ criado a partir dos 0’s e 1’s, recusa-se
a sair de cena. De fato, ela comec¸ou a inspirar alguns f´ı-
sicos contemporaˆneos, que provavelmente nunca ouviram
falar de Leibniz.
(Gregory Chaitin/Metamat!)
Introduc¸a˜o: Uma diferenc¸a (evoluc¸~ao) abissal!
Como eu conhec¸o − apenas parcialmente, observo − o poder de ca´culo
nume´rico e alge´brico da HP Prime gostaria apenas de registrar nesta in-
troduc¸a˜o que fico deveras embasbacado (pasmo, estupefato) com o seguinte
aspecto da evoluc¸a˜o computacional humana:
Leibnitz (1646-1716) Pascal (1623-1662) − HP Prime
(2013)
7
1.1 Introduc¸a˜o a` programac¸a˜o da HP Prime
A calculadora gra´fica HP Prime e´ uma potente e sofisticada ferramenta
computacional, na˜o apenas nume´rica como, ademais, alge´brica − e tambe´m
gra´fica. A seguir a legenda do teclado∗
→
→
A calculadora e´ um universo praticamente inesgota´vel, apresentaremos
aqui material suficiente para iniciar o leitor no fascinante universo da pro-
gramac¸a˜o, daremos os primeiros passos na programac¸~ao nume´rica e alge´-
brica; muitos outros programas sa˜o apresentados no desenvolver do presente
livro − do cap´ıtulo 1 em diante. A HP Primeutiliza uma linguagem de pro-
gramac¸a˜o pro´pria conhecida como “linguagem de programac¸a˜o da HP
Prime ”: Uma potente e sofisticada linguagem de programac¸a˜o.
A base da calculadora e´ a vista de In´ıcio ( ), aqui podemos realizar
todos os ca´lculos nume´ricos. Os ca´lculos simbo´licos (ou alge´bricos)
sa˜o realizados na vista do CAS ( ), a ser exemplificado oportunamente.
Escrevi um livro sobre programac¸a˜o da calculadora HP 50g no qual adotei o
modo pilha (RPN− Reverse Polish Notation), na HP Prime o modo RPN
foi praticamente banido, ja´ que na˜o podemos utiliza´-lo em programac¸a˜o,
sendo assim adotaremos em todo este livro o modo alge´brico.
∗Retirado do manual “Guia de consulta ra´pida”.
8
Inicialmente, coloque sua calculadora no modo de entrada alge´brico
7 −→
Nota: Enfatizamos que do in´ıcio ao fim deste livro a calculadora estara´
fixada (configurada) no modo de entrada alge´brico.
Pois bem, voltando a` Vista de In´ıcio ( ) destacamos
→
Linha de entrada Linha de entrada
A linha de entrada (de dados) no modo alge´brico e´ “unidimensional”
(em uma linha); apo´s pressionar teremos a tela da direita.
9
1.1.1 Programac¸a˜o nume´rica
Programar a calculadora significa introduzir em sua memo´ria (RAM−
Random Access Memory − memo´ria de acesso aleato´rio) uma se´rie de ins-
truc¸o˜es e comandos para que ela os execute sequeˆncialmente, cumprindo
alguma tarefa espec´ıfica. Por exemplo, resolver uma equac¸a˜o, multiplicar
ou dividir polinoˆmios, imprimir textos, elaborar um gra´fico, construir tabe-
las trigonome´tricas, etc.
Para tanto e´ necessa´rio que as instruc¸o˜es e os comandos sejam digitados
no padra˜o sinta´tico da linguagem da calculadora e dispostos sequeˆncialmente
na ordem em que devem ser executados. A fim de que a execuc¸a˜o seja per-
feita e apresente os resultados objetivados com precisa˜o, na˜o basta atender
estes requisitos. E´ preciso que o programa na˜o contenha erros de lo´gica,
cuja detecc¸a˜o na˜o e´ feita pela calculadora, que esta´ preparada para apontar
somente erros de sintaxe.
Os recursos de programac¸a˜o postos a` nossa disposic¸a˜o pela calculadora
HP Prime sa˜o excepcionalmente valiosos e variados e a melhor forma de
conheceˆ-los, entender sua finalidade e alcance e fixa´-los em nossa memo´ria e´
atrave´s da pra´tica.
Embora mencionada como uma calculadora por causa de seu formato
compacto similar aos dispositivos de ca´lculo manuais t´ıpicos, a HP Prime
deve ser vista como um sofisticado computador programa´vel/gra´fico.
Antes de se iniciar a programac¸a˜o de determinado problema e´ importante
que se tenha bem claro em mente quais sa˜o os dados de entrada e quais sa˜o
os dados de sa´ıda; por exemplo:
1o ) Resolver a equac¸a˜o quadra´tica ax2 + bx+ c = 0.
x =
−b±√b2 − 4ac
2a
Temos:
REQ
a
b
r1
c
r2
Onde:
− Dados de entrada: a, b e c.
− Dados de sa´ıda: r1 e r2 (sa˜o as ra´ızes).
− REQ: Varia´vel que ira´ armazenar o programa (e que sera´ referenciada
sempre que o programa for executado).
10
Observac¸a˜o: o nome REQ e´ apenas um exemplo, o nome poderia ser um
outro, a seu crite´rio. A bem da verdade existem algumas restric¸o˜es na esco-
lha do nome de uma varia´vel. O modo mais pra´tico e´ tentar um nome, caso
a calculadora reclame (erro) mude-o.
2o ) Calcular o n−e´simo termo de uma progressa˜o aritme´tica:
an = a1 + (n− 1)r
Temos
PA
a1
r an
n
Onde:
− Dados de entrada: O primeiro termo a1 ; a raza˜o r da P.A. e a posic¸a˜o n
do termo que desejamos encontrar.
− Dados de sa´ıda: O n−e´simo termo an .
− PA: Varia´vel que ira´ armazenar o programa (e que sera´ referenciada sem-
pre que o programa for executado).
3o ) Obter uma fo´rmula para a soma dos n primeiros termos de uma pro-
gressa˜o aritme´tica:
Sn = n a1 +
n(n− 1) r
2
Temos
FSPA
a1
r
S(n) = n a1 +
n(n−1) r
2
Onde:
− Dados de entrada: O primeiro termo a1 e a raza˜o r da P.A..
− Dados de sa´ıda: A func¸a˜o soma dos termos, S(n).
− FSPA: Varia´vel que ira´ armazenar o programa (e que sera´ referenciada
sempre que o programa for executado).
11
Nosso primeiro programa
Inicialmente vamos fazer um programa para calcular as ra´ızes de uma
equac¸a˜o do 2 o grau
r1 =
−b+√b2 − 4 a c
2 a
e r2 =
−b−√b2 − 4 a c
2 a
Entre na a´rea de programac¸a˜o digitando as teclas
A calculadora exibira´ a seguinte tela (esquerda):
↑
Estamos no Cata´logo de programas. Pressione a tecla virtual New, para
um novo programa. A tela do centro sera´ exibida. Escolha um nome para o
programa−No caso escolhemos o nome REQ (Resoluc¸a˜o Equac¸a˜o Quadra´tica).
Pressione OK, a tela da direita sera´ exibida.
Nota: Na programac¸a˜o nume´rica na˜o marcamos a caixa CAS.
Pressionando OK novamente, a seguinte tela sera´ exibida
↓Aqui
Dentro dos pareˆnteses digite os dados de entrada do programa, separados
por v´ırgula − como na tela do centro. Apo´sdigite a primeira raiz, como na
tela da direita.
12
Adendo: Declaramos as varia´veis r1 e r2 como sendo locais, sa˜o varia´-
veis utilizadas exclusivamente numa determinada func¸a˜o. A utilizac¸a˜o de
varia´veis locais permite-lhe declarar e utilizar varia´veis que na˜o ira˜o afetar o
resto da calculadora. Ao contra´rio, uma varia´vel dita global, e´ globalmente
vis´ıvel − vis´ıvel onde quer que se esteja na calculadora.
O comando
:=
e´ de atribuic¸a˜o. Atribui um valor a uma varia´vel.
Ademais, existe uma outra forma de se armazenar (Sto) um valor em
uma varia´vel, por exemplo, 3◮a. A sintaxe e´ Value◮Var; ou seja, o valor
a` esquerda e´ armazenado na varia´vel a` direita. Este operador pode ser
acessado na tecla
As linhas em um programa na HP Prime sa˜o separadas por ponto e v´ır-
gula; ou ainda, ao te´rmino de uma instruc¸a˜o, e ao iniciar a digitac¸a˜o da
seguinte, separe-as por ;
Por oportuno, vamos copiar o que ja´ foi digitado na tela a seguir
r1 =
−b+√b2− 4 a c
2 a
r2 =
−b−√b2− 4 a c
2 a
para digitar a segunda raiz. Posicione o cursor no in´ıcio da linha a ser
copiada, assim:
7→
apo´s digite a sequeˆncia de teclas do centro, acima. A tela da direita sera´
exibida.
13
Posicione o cursor no final da linha a ser copiada, assim:
↑ ↑
Ao clicar na tecla virtual End a linha a ser copiada e´ marcada, como na
tela do centro. Apo´s clique na tecla virtual Copy. Na tela da direita ja´
posicionamos o cursor onde a linha sera´ copiada, fac¸a isto.
Pois bem, estando na tela a seguir
↑
digite a sequeˆncia de teclas do centro (Colar). A tela da direita sera´ exibida,
com a linha a ser copiada marcada. Apo´s clique na tecla virtual Ok, a tela
a seguir sera´ exibida
↑
Fac¸a as alterac¸o˜es constantes na tela do centro. Apo´s concluir a digitac¸a˜o
clique na tecla virtual Check para verificar se ha´ algum erro de sintaxe.
Pressione em seguida OK e para retornar ao cata´logo de programas,
onde consta o programa que acabamos de construir.
14
1.1.2 Como executar um programa
Temos mais de uma alternativa para executar um programa, iremos apre-
sentar apenas a que utilizaremos ate´ o final deste livro. Executaremos o
programa diretamente da vista de in´ıcio, primando a tecla
estamos na vista de in´ıcio, tela do centro. Nota: quando eu esquec¸o o nome
do programa, os dados de entrada e a ordem destes dados, costumo tirar um
print da tela, como na tela da direita acima. Pois bem, vamos executar o
programa para a seguinte equac¸a˜o do 2 o grau
x2 − 7x + 10 = 0
Digite na linha de entrada o nome do programa e, entre pareˆnteses, os
dados requeridos pelo programa − observe a ordem −, como na tela a seguir
7−→
Apo´s, pressione e teremos a tela da direita, com o resultado
desejado. A seguir fazemos mais uma simulac¸a˜o
x2 + 1 = 0, a = 1, b = 0, c = 1
∆ = b2 − 4 a c
∆ = 02 − 4 · 1 · 1 = −4 < 0
A calculadora acusa um erro. Oportunamente veremos como sanar esta
falha.
15
Vejamos mais um exemplo de programac¸a˜o nume´rica. Vamos fazer um
programa para calcular o n-e´simo termo de uma progressa˜o aritme´tica, a
partir da fo´rmula do termo geral
an = a1 + (n− 1) r
Entre novamente na a´rea de programac¸a˜o
↑
Pedindo um novo programa, agora escolhemos o nome PA. Apo´s pressionar
OK estamos na tela a seguir
completamos como na tela do centro. Na tela da direita executamos o pro-
grama − a partir da vista de in´ıcio −, para a progressa˜o aritme´tica a seguir
1 3 5 7 9 11 13︸︷︷︸
n=7
15 17 . . .
Confira na fo´rmula
an = a1 + (n− 1) r
a7 = 1 + (7− 1) · 2 = 13
Como nosso u´ltimo exemplo de programac¸a˜o nume´rica, vamos programar
a fo´rmula
Sn = n a1 +
n(n− 1) r
2
da soma dos n primeiros termos de uma P.A.
16
Entre novamente na a´rea de programac¸a˜o
↑
Vamos fazer diferente, ao inve´s de pedir um novo programa, vamos pegar
um “atalho”, salvaremos o programa anterior (PA) com um novo nome.
Clicando na tecla virtual assinalada (More) temos a tela da direita.
Clicando em Save estaremos na tela a seguir, onde salvamos o programa
PA com o novo nome de STPA
Ao clicar OK estaremos na tela do centro. Fazemos as alterac¸o˜es conforme
tela da direita.
Na tela a seguir executamos o programa para a mesma P.A. do exemplo
anterior.
Sn = n a1 +
n(n−1) r
2
S6 = 6 · 1 + 6 (6−1)·22 = 36
Portanto, a soma dos seis primeiros termos da P.A. e´ 36, confira
1 3 5 7 9 11︸ ︷︷ ︸
S6 =36
13 15 17 . . .
17
As duas fo´rmulas seguintes sa˜o bastante u´teis em Ana´lise Real.
Exemplo: O maior de dois nu´meros. A seguinte fo´rmula matema´tica
max{ a, b } = a+ b+ |a− b|
2
nos fornece o maior de dois nu´meros. Por exemplo
max{ 2, 5 } = 2 + 5 + |2− 5|
2
= 5
Exemplo: O menor de dois nu´meros. A seguinte fo´rmula matema´tica
min{ a, b } = a+ b− |a− b|
2
nos fornece o menor de dois nu´meros. Por exemplo
min{−1, 0 } = −1 + 0− | − 1− 0|
2
= −1
Nas duas primeiras telas a seguir programamos estas fo´rmulas
Na tela da direita temos algumas simulac¸o˜es (exemplos).
∗ ∗ ∗
Algumas func¸o˜es para nu´meros reais (p. 32)
18
1.1.3 Programac¸a˜o alge´brica
Na programac¸a˜o alge´brica, que sera´ bastante utilizada ao longo de todo
este livro, ale´m de nu´meros podemos ter fo´rmulas na sa´ıda de um programa.
Estes programas pertencem a` vista do CAS − Computer Algebra System
(Sistema de A´lgebra Computacional).
Modo CAS Aproximado e Exato
No modo CAS existe uma importante configurac¸a˜o, acesse assim
Aqui
←− Ademais, pec¸a isto
Se Exact estiver marcado as operac¸o˜es simbo´licas sera˜o calculadas como
expresso˜es alge´bricas, caso contra´rio como nume´ricas. Ou ainda, com Exact
ativo (marcado) as constantes sera˜o tratadas simbolicamente, caso contra´rio,
numericamente (i.e., aproximadas por seus valores nume´ricos). Por exemplo,
na tela a seguir
entramos com as respectivas constantes com Exact ativo, na tela do centro
desativamos Exact e entramos novamente com as mesmas constantes.
Pois bem, vamos iniciar a programac¸a˜o alge´brica por um programa bem
simples. Antes, volte a tivar Exact.
19
Nosso primeiro programa alge´brico
Vimos na pa´gina 15 que o programa para resoluc¸a˜o de uma equac¸a˜o
quadra´tica a x2 + b x + c = 0, REQ, acusa um erro quando ∆ < 0. Com a
programac¸a˜o alge´brica podemos corrigir esta falha.
Entre na a´rea de programac¸a˜o digitando as teclas
A calculadora exibira´ a seguinte tela
pressione a tecla virtual New, para um novo programa. Na tela do centro
nomeamos nosso novo programa, REQ C ; na tela da direita mostramos como
ter acesso a diversos caracteres.
Na programac¸a˜o alge´brica assinalamos a caixa CAS.
Apo´s pressionar OK na tela do centro, acima; digitamos o programa como
na tela a seguir
ւ
−→
Este programa sera´ executado a partir da Vista do CAS. Pressione a tecla
. Na tela do centro resolvemos a equac¸a˜o
x2 + 1 = 0 ∴ a = 1, b = 0, c = 1
cujas ra´ızes sa˜o os nu´meros complexos i e −i. Na tela da direita mos-
tramos a configurac¸a˜o apropriada na Vista de In´ıcio − para que um nu´mero
complexo seja exibido na forma alge´brica a+ b i.
20
Exemplo: Considere a fo´rmula do termo geral de uma P.A.:
an = a1 + (n − 1) r
Faremos um programa onde entraremos com o primeiro termo a1 e a raza˜o r
e na sa´ıda teremos a fo´rmula do termo geral − e na˜o um termo em particular,
como anteriormente. O programa e´ como na tela a seguir
7→
Na tela da direita executamos o programa para a seguinte progressa˜o arit-
me´tica
1 3 5 7 9 11 13 15 17 . . .
onde, a1 = 1 e r = 2. Confira
an = a1 + (n− 1) r
an = 1 + (n− 1) · 2 = 2n − 1
Nota: Caso seu programa na˜o tenha saido com o resultado desejado e´
poss´ıvel que tenha algum valor previamente armazenado na varia´vel n; por
exemplo, na tela a seguir armazenamos 2 nesta varia´vel
→
→
ao executar novamenteo programa obtivemos um nu´mero e na˜o uma expres-
sa˜o alge´brica. Para saber se existe um valor armazenado em uma varia´vel
basta digita´-la na linha de entrada e da´ Enter, como na tela da direita (no
caso da varia´vel ser n, evidentemente). Caso exista algum nu´mero armaze-
nado na varia´vel este sera´ mostrado.
Na pa´gina seguinte mostramos como resolver este − eventual− problema.
21
Como resetar uma varia´vel
Adendo:
Para resetar (deletar) uma varia´vel CAS, acesse a memo´ria da calcula-
dora a partir das teclas:
Em seguida selecione CAS Vars
7−→
7−→ 7−→
pec¸a para ver as varia´veis do CAS; selecione a que deseja deletar, clique na
tecla virtual Delete.
A bem da verdade, existe um me´todo alternativo para se resetar algumas
varia´veis: Escreva o comando purge com a varia´vel entre pareˆnteses. Por
exemplo, na tela a seguir
armazenamos um valor na varia´vel n, para deletar este valor escreva na
linha de entrada como na tela do centro. Ao da´ Enter, na tela da direita
a calculadora mostra o valor que se encontrava armazenado na varia´vel n,
esta encontra-se agora resetada. Por exemplo, ao digitar n na linha de
entrada e da´ Enter esta aparecera´ “limpa”. Podemos resetar va´rias varia´veis
simultaneamente, separe-as por v´ırgula no comando purge.
22
Exemplo: Vamos ver mais um exemplo de programac¸a˜o alge´brica. A partir
da fo´rmula
Sn = n a1 +
n(n− 1) r
2
(1.1)
da soma dos n primeiros termos de uma P.A. vamos elaborar um programa
que saira´ com esta fo´rmula para uma dada P.A..
Entre novamente na a´rea de programac¸a˜o
Pressionando New escolhemos o nome FSPA, digitamos como na tela da
direita. Apo´s Check, o programa na˜o conte´m erros. Vamos executa´-lo, a
partir da vista do CAS, para a P.A.
1 3 5 7 9 11 13 15 17 . . .
onde, a1 = 1 e r = 2. Pressione a tecla
→
na linha de entrada digite o nome do programa e, entre pareˆnteses, os dados
requeridos pelo programa. Apo´s, pressione e teremos a tela da
direita (acima).
Da tela a` direita temos que Sn = n
2 e´ a fo´rmula para a soma dos n primeiros
termos da P.A. do exemplo dado. Vamos confirmar a sa´ıda do programa, a
partir da fo´rmula (1.1)
Sn = n · 1 +
n(n− 1) 2
2
= n2
23
1.2 Expresso˜es e Func¸o˜es
Na HP Prime existe uma importante distinc¸a˜o a ser feita: expressa˜o e
func¸a˜o. Para os exemplos seguintes antes execute purge(x, y). Na tela a
seguir criamos uma expressa˜o e mostramos como avalia´-la para um dado
valor da varia´vel
Na tela do centro criamos uma expressa˜o de duas varia´veis e a avaliamos
para x = 1 e y = −1.
O comando subst substitui uma varia´vel (ou mais) em uma expressa˜o
por um dado valor. Na tela da direita mostramos outra alternativa para se
avaliar uma expressa˜o: atribua antes os valores das varia´veis, depois entre
com a expressa˜o.
Uma func¸a˜o para a HP Primepossui um ou mais argumentos entre pa-
reˆnteses, separados por v´ırgula. A tela a seguir mostra como definimos a
func¸a˜o f(x) = x2 + 2x+ 1
Apo´s Enter teremos a tela do centro; a` direita avaliamos esta func¸a˜o para
x = 1. A propo´sito, um programa e´ visto como sendo uma func¸a˜o.
A seguir definimos a func¸a˜o de duas varia´veis f(x, y) = 2x3 + 4 y − 1
Apo´s Enter teremos a tela do centro; a` direita avaliamos esta func¸a˜o para
x = 1 e y = −1.
24
Um pequeno interregno cultural
Pergunte ao seu professor de matema´tica quanto vale “o quadrado de uma
torre do xadrez mais treˆs vezes um telefone adicionados a` raiz quadrada da
torre dividida pelo telefone”. − quanto vale esta singela operac¸a˜o?
Se por acaso ele na˜o souber a HP Prime sabe; sena˜o vejamos, inicialmente
definimos a seguinte func¸a˜o de duas varia´veis
ao da´ Enter teremos a tela do centro, acima. Na tela da direita temos uma
das (infinitas) respostas poss´ıveis para o desafio proposto!
. . . e George Boole tinha toda raza˜o
“Mais importante ate´ que sua lo´gica matema´tica era a concepc¸a˜o que Bo-
ole tinha da pro´pria matema´tica. Na Introduc¸a˜o a sua Ana´lise Matema´tica
da Lo´gica o autor faz objec¸o˜es a` concepc¸a˜o enta˜o corrente da matema´tica
como cieˆncia da grandeza e do nu´mero (definic¸a˜o ainda adotada em alguns
diciona´rios inferiores). Defendendo uma visa˜o mais ampla, Boole escrevia:
Poder´ıamos com justic¸a tomar como caracter´ıstica definitiva de um
verdadeiro Ca´lculo, que e´ um me´todo que se apo´ia no uso de S´ımbolos,
cujas leis de combinac¸a˜o sa˜o conhecidas e gerais, e cujos resultados ad-
mitem uma interpretac¸a˜o consistente . . . E´ com base nesse princ´ıpio geral
que eu pretendo estabelecer o Ca´lculo da Lo´gica, e que reinvindico para
ele um lugar entre as formas reconhecidas da Ana´lise Matema´tica.
A A´lgebra de Peacock de 1830 tinha sugerido que os s´ımbolos para ob-
jetos na a´lgebra na˜o precisam indicar nu´meros, e De Morgan argu¨ia que as
interpretac¸o˜es dos s´ımbolos para operac¸o˜es eram tambe´m arbitra´rias; Boole
levou o formalismo a` sua conclusa˜o. A matema´tica ja´ na˜o estava limitada a
questo˜es de nu´mero e grandeza cont´ınua. Aqui pela primeira vez esta´ clara-
mente expressa a ide´ia de que a caracter´ıstica essencial da matema´tica e´ na˜o
tanto seu conteu´do quanto sua forma. Se qualquer to´pico e´ apresentado de
tal modo que consiste de s´ımbolos e regras precisas de operac¸a˜o sobre esses
s´ımbolos, sujeitas apenas a` exigeˆncia de consisteˆncia interna, tal to´pico e´
parte da matema´tica.”
(Carl B. Boyer/Histo´ria da Matema´tica)
25
Adendo
Matema´tica: Esta “cieˆncia vazia” que − espantosamente − se aplica a
todas as contingeˆncias fenomenolo´gicas, apesar de ser um puro formalis-
mo reflexivo.
O objetivo deste adendo e´ exemplificar o sentido da seguinte afirmac¸a˜o:
“A A´lgebra de Peacock de 1830 tinha sugerido que os s´ımbolos para ob-
jetos na a´lgebra na˜o precisam indicar nu´meros, e De Morgan argu¨ia que as
interpretac¸o˜es dos s´ımbolos para operac¸o˜es eram tambe´m arbitra´rias.”
Com efeito, consideremos a seguinte expressa˜o simbo´lica:
“Uma torre mais duas vezes um cavalo menos treˆs vezes uma tesoura”
como vemos em destaque na tela a seguir
Esta expressa˜o, por si so´, na˜o faz o menor sentido, ou ainda, e´ vazia de
significado e, por isto mesmo, ela e´ potencialmente infinita, isto e´, pode
comportar infinitas interpretac¸o˜es. Por exemplo na tela da direita atribui-
mos o nu´mero 4 a` torre, o nu´mero 5 ao cavalo e o nu´mero 8 a` tesoura; nestas
condic¸o˜es a expressa˜o torna-se igual ao nu´mero −10.
Mas podemos fazer diferente, vamos atribuir matrizes a estes treˆs objetos,
como na tela a seguir
as operac¸o˜es agora tambe´m sa˜o diferentes, o resultado e´ uma matriz. Ve-
jamos ainda uma terceira alternativa; na tela da direita os objetos agora
sa˜o polinoˆmios, de igual modo, agora as operac¸o˜es sa˜o entre polinoˆmios, o
resultado da expressa˜o e´ um polinoˆmio.
Em resumo: somos no´s mesmos que escolhemos o que a expressa˜o deve
significar; podemos generalizar e afirmar: “assim se da´ com os infinitos sig-
nificados que atribuimos ao mundo”.
26
Exemplo: Retomando, Vamos Editar o programa alge´brico FPA (p. 21)
↑
para sair com uma func¸a˜o, como na tela do centro. Na tela da direita
rodamos o programa para a progressa˜o aritme´tica
1 3 5 7 9 11 13︸︷︷︸
a(7)
15 17 . . .
Na sa´ıda temos a func¸a˜o a(n) = 2n− 1 e, a seguir, calculamos
a(7) = 2 · 7− 1 = 13
Exemplo: A partir da fo´rmula da soma dos termos da P.A.
Sn = n a1 +
n(n− 1) r
2
vamos elaborar um programa para sair com esta fo´rmula. O programa e´
mostrado na tela a seguir (S e´ reservada pela HP Prime )
Na tela do centro excutamos o programa para a seguinte P.A.
1 3 5 7 9 11︸ ︷︷ ︸
S(6)
13 15 17 . . .
e, a seguir, calculamos em St(n) = n2:
St(6) = 62 = 36
27
1.3 Listas e Matrizes
Com o objetivo de aumentar ainda mais nosso poder (poteˆncia) depro-
gramac¸a˜o e´ que incluimos nesta secc¸a˜o dois importantes recursos para pro-
gramac¸a˜o: listas e matrizes.
1.3.1 Listas
Uma lista e´ constituida de objetos (nu´meros, letras, matrizes, etc.) entre
chaves e separados por v´ırgula. Uma lista e´ o que comumente conhecemos
por conjunto, na matema´tica. Exemplo de lista:
{ 1, 5, a, {b, c } }
Lista e´ um recurso muito importante para manipulac¸a˜o de objetos.
Criando listas
As listas podem ser criadas a partir da linha de entrada, veja:
Nota: Antes de digitar
a lista: purge(a,b,c)
Apo´s, pressione para obter a tela da direita.
Importante: Estamos na vista do CAS; para que a letra a, por exemplo,
aparec¸a como elemento da lista nesta letra na˜o deve constar nenhum valor
previamente armazenado, deve estar resetada. Veja adendo, pa´gina 22. A
mesma observac¸a˜o vale para as demais letras, obviamente.
As listas podem ser armazenadas (guardadas) em uma varia´vel. Por
exemplo, escreva L1:= na linha de entrada, clique sobre a lista, como na
tela a seguir
agora clique em Copy para obter uma co´pia; apo´s Enter teremos a tela da
direita, agora a lista encontra-se armazenada na varia´vel L1.
28
Acessando os elementos de uma lista
Podemos ter acesso aos elementos de uma lista digitando o nome da lista
e a posic¸a˜o do elemento entre pareˆnteses. Por exemplo, considere a lista
anterior (tela esquerda a seguir)
na tela da direita acessamos cada um dos elementos da lista.
Pedindo o comprimento e a dimensa˜o de uma lista
Existem dois comandos, SIZE e DIM, que nos da˜o o comprimento e a
dimensa˜o de uma lista, respectivamente. Por exemplo, na tela a seguir
criamos uma lista e a guardamos na varia´vel L2
na tela do centro pedimos o comprimento da lista (nu´mero de elementos,
como na matema´tica) e na tela da direita sua dimensa˜o.
Nas telas a seguir
mostramos como acessar os dados desta lista.
29
1.3.2 O comando MAKELIST
Um importante comando em programac¸a˜o e´ MAKELIST, cuja sintaxe e´
vista a seguir
MAKELIST (expressa˜o, varia´vel, inicio, fim, incremento)
Cria uma lista a partir da expressa˜o a` medida que a varia´vel assume valores
do in´ıcio ao fim, tendo em conta o incremento.
Exemplo: Nas telas a seguir vemos treˆs exemplos
Nota: Na vista do CAS digite o comando MAKELIST − na linha de entrada
− em letras maiu´sculas, caso contra´rio pode dar problemas.
Partic¸a˜o de um intervalo
Para obter uma partic¸a˜o (regular) do intervalo nume´rico [ a, b ] em N
subintervalos de mesmo comprimento h, fazemos h = b−aN , no que resulta
xn = x0 + nh, n = 0, 1, 2, . . . , N.
[ ]
a= x0 xn = b
x1 x2 xn−1
x. . .
h h h
Por exemplo, para x ∈ [ a, b ] = [ 0, 1 ] e N = 4 subintervalos, temos
h =
b− a
N
=
1− 0
4
=
1
4
= 0. 25
A discretizac¸a˜o do intevalo fica: (n = 0, 1, 2, 3, 4)
p p p p p
x0=0 x1=
1
4
x2=
1
2
x3=
3
4
x4=1
x
30
Utilizando o comando MAKELIST vamos elaborar um programa que recebe
a, b e N , e sai com uma lista contendo a partic¸a˜o do intervalo [ a, b ]. O
programa e´ como a seguir
Na tela da direita temos uma simulac¸a˜o, confira geometricamente
p p p p p
x0=0 x1=
1
4
x2=
1
2
x3=
3
4
x4=1
x
Amostragem de uma func¸a˜o nos pontos de uma partic¸a˜o
p p p p
x0=a x1 x2 xn= b
· · ·
...
y0
y1
yn
p
p
p
0
x
y
f
s
s
s
O programa a seguir usa o comando MAKELIST para amostrar uma func¸a˜o
nos pontos de uma partic¸a˜o do intervalo [ a, b ]
−1 0 1
1
2
Na tela do centro amostramos a func¸a˜o f(x) = x2+1 no intervalo [ 0, 1 ],
com h = (1− 0)/4 = 0.25.
31
O menu Math/List
Menus Toolbox
Os menus Toolbox ( ) (Caixa de ferramentas) sa˜o uma co-
lec¸a˜o de menus que oferecem func¸o˜es e comandos u´teis em matema´tica e
programac¸a˜o. Na figura a seguir vemos os menus
→
De momento o que nos interessa e´ o (sub)menu List, para isto prima a
tecla “caixa de ferramentas”. Digite a tecla virtual assinalada acima (Math).
Em seguida desc¸a ate´ o item 6 (List), como na tela a seguir
Selecionando este item comparecem va´rios comandos para se operar com
listas, veja tela da direita.
Os menus Matema´tica, CAS e Cata´logo (Catlg) oferecem mais de 400
func¸o˜es e comandos.
32
Nas telas a seguir, temos algumas simulac¸o˜es
MAKELIST gera uma lista, como ja´ vimos; SORT classifica os elementos de
uma lista na ordem crescente; REVERSE reverte a ordem da lista; CONCAT
concatena duas listas; POS nos da´ a posic¸a˜o de um elemento que esta´ numa
lista. Na tela a seguir
SIZE nos da´ o comprimento de uma lista, como ja´ vimos; ∆LIST cria uma
nova lista composta pelas primeiras diferenc¸as de uma lista; isto e´, as dife-
renc¸as entre elementos consecutivos na lista. A nova lista tem um elemento
a menos que a lista original;
∑
LIST calcula a soma de todos os elementos
numa lista;
∏
LIST calcula o produto de todos os elementos numa lista.
Na tela da direita DIFFERENCE apresenta a lista de elementos na˜o comuns
de duas listas; UNION apresenta a unia˜o das listas como um vetor; INTER-
SECT apresenta a intersecc¸a˜o de duas listas como um vetor∗. Observei que
na vista de in´ıcio, ( ), a unia˜o e a intersecc¸a˜o de duas listas e´ uma lista,
como deve ser.
∗Logo mais veremos o que e´ um vetor para a HP Prime .
33
Um Belo Desafio! − A quem interessar possa.
Introduc¸a˜o: Considere a sequeˆncia dos quadrados dos naturais
12 22 32 42 52 62 72 . . .
No diagrama a seguir
1 4 9 16 25 36 49 . . .
3 5 7 9 11 13 . . .
2 2 2 2 2 . . .
produzimos duas diferenc¸as entre os termos da sequeˆncia dos quadrados
dos naturais. Considere a sequeˆncia dos cubos dos nu´meros naturais
13 23 33 43 53 63 73 . . .
No diagrama a seguir
1 8 27 64 125 216 343 . . .
7 19 37 61 91 127 . . .
12 18 24 30 36 . . .
6 6 6 6 . . .
produzimos treˆs diferenc¸as entre os termos da sequeˆncia dos cubos dos
nu´meros naturais. A calculadora HP Primepossui uma func¸a˜o ∆List que
produz a diferenc¸a entre os termos de uma lista
Desafio: Considere a sequeˆncia dos naturais a` m-e´sima poteˆncia:
1m 2m 3m 4m 5m 6m 7m . . .
prove quem diferenc¸as entre os termos desta sequeˆncia resulta sempre numa
constante igual a m! .
Gentil, o iconoclasta Boa vista-RR/06.08.2016
gentil.iconoclasta@gmail.com
34
1.3.3 Matrizes
Uma das poteˆncias da HP Prime e´ o trato com matrizes, tanto nume´ricas
quanto simbo´licas. Por exemplo, veja
Podemos ate´ multiplicar duas matrizes simbo´licas, como aparece na tela
da direita.
Reiteramos: Estamos na vista do CAS; para que a letra a, por exemplo,
aparec¸a como elemento da matriz nesta letra na˜o deve constar nenhum valor
previamente armazenado, deve estar resetada. Veja adendo, pa´gina 22.
Criando matrizes
As matrizes podem ser criadas a partir da linha de entrada, veja como
criamos as telas anteriores, respectivamente
Em cada caso apo´s primar teremos as (respectivas) matrizes
expostas no in´ıcio.
Um computador foi apenas programado, ele na˜o sabe o que diz!
Assim acontece com muitos seres humanos! − foram apenas programa-
dos; seus discursos podem ate´ envolver alguma“lo´gica”, mas no final na˜o sig-
nificam nada!. Eva mordeu uma mac¸a˜ . . . por isso toda a humanidade se fer-
rou! Este discurso na˜o faz mais sentido que a operac¸a˜o . . . pasme´m!.
35
Da mesma forma que fizemos com as listas, podemos guardar uma matriz
em uma varia´vel. Por exemplo, considere a matriz na tela esquerda a seguir
escreva o nome da matriz na linha de entrada e clique na matriz (tela do
centro), pec¸a uma co´pia (Copy), apo´s Enter teremos a tela da direita, com
a matriz ja´ armazenada na varia´vel MT1.
Acessando os elementos de uma matriz
Podemos ter acesso aos elementos de uma matriz digitando o nome da
matriz e a posic¸a˜o do elemento entre pareˆnteses − exatamentecomo na
matema´tica. Por exemplo, considere a matriz anterior, na tela a seguir
pedimos alguns elementos
na tela do centro pedimos a soma dos elementos da segunda linha, na tela
da direita pedimos o produto dos elementos da terceira coluna.
36
Ca´lculo de Matrizes com Elementos Alge´bricos
Um estudante de engenharia civil (Liercio Feital) me escreveu com a
seguinte du´vida∗: Como fazer um programa para gerar matrizes tipo:[
12E/L 10E/2L
8E/L 5E
]
“onde eu entraria com os valores E = 10 e L = 2, o programa mostraria a
matriz resultante”: [
60 25
40 50
]
Antes do programa vejamos como resolver este problema diretamente na
vista do CAS, na tela a seguir
→
criamos uma varia´vel − na verdade uma func¸a˜o − de dois paraˆmetros (E e
L), apo´s teremos a tela da direita. MLF pode ser vista como uma
func¸a˜o de duas varia´veis. Na tela a seguir
fazemos uma simulac¸a˜o, isto e´, digitamos na linha de entrada MLF(10,2),
apo´s teremos o resultado. Na tela da direita, temos o programa
equivalente.
∗Ainda na HP 50g .
37
Pedindo as dimenso˜es de uma matriz
Um importante comando em programac¸a˜o e´ DIM, que nos devolve o ta-
manho de uma matriz, na tela a seguir
temos uma matriz de ordem {2, 3}; na tela da direita armazenamos uma
matriz na varia´vel MTZ, depois pedimos a dimensa˜o da matriz.
1.3.4 O comando MAKEMAT
Um importante comando em programac¸a˜o e´ MAKEMAT, cuja sintaxe e´ vista
a seguir
MAKEMAT (expressa˜o, linhas, colunas)
Cria uma matriz com a dimensa˜o linhas × colunas, utilizando a expressa˜o
para calcular cada elemento. Se a expressa˜o conte´m as varia´veis I e J, enta˜o,
o ca´lculo para cada elemento substitui o nu´mero de linha atual para I e o
nu´mero da coluna atual para J. A seguir vemos dois exemplos
na tela da esquerda construimos uma matriz 2 × 2 com termo geral dado
por a
ij
= j− i2; na tela da direita construimos uma matriz 3× 4 com termo
geral dado por a
ij
= i − 2 j. Devemos usar letras maiu´sculas na expressa˜o
da matriz, o i minu´sculo e´ reservado para a unidade complexa.
Nota: Na vista do CAS (a que estamos trabalhando) digite o comando − na
linha de entrada − em letras maiu´sculas: MAKEMAT.
38
A propo´sito, vejamos um exemplo um pouco mais sofisticado. A matriz
a seguir
a
ij
= (−1 )
⌊
i−1
2
j−1
⌋
serve para o ca´lculo de combinac¸o˜es, como pode ser visto na refereˆncia [6].
O s´ımbolo ⌊x ⌋ representa a func¸a˜o ma´ximo inteiro (que na˜o supera x), ou
func¸a˜o piso. Na HP Prime e´ denotada por FLOOR, na tela a seguir vemos
alguns exemplos
Na tela da direita construimos a matriz a
ij
, 4×2, dada pela equac¸a˜o acima.
Na tela a seguir usando a equac¸a˜o a
ij
construimos uma func¸a˜o de duas
varia´veis (programa): m, nu´mero de linhas e n, nu´mero de colunas.
Nas telas do centro e direita temos duas simulac¸o˜es.
Observe que os programas na HP Prime resultam bastante compactos −
simples, enxutos, este´ticos. Perguntamos se em outras linguagens de pro-
gramac¸a˜o obter´ıamos este mesmo n´ıvel de simplificac¸a˜o (?).
39
Vetores
Vetor na HP Prime e´ uma matriz unidimensional (uma linha), por exem-
plo
[−1, 2, 5, 7 ]
E´ importante fazer distinc¸a˜o entre um vetor e uma matriz de uma u´nica
linha na hora de acessar um elemento. Por exemplo, na tela a seguir
criamos uma matriz unidimensional e um vetor, com os mesmos elementos.
Na tela do centro tentamos acessar o quarto elemento da matriz com apenas
um ı´ndice, veja no que deu. Na tela da direita acessamos corretamente o
quarto elemento da matriz; ademais, tentamos acessar o quarto elemento
do vetor a partir de dois ı´ndices, a calculadora na˜o reclamou (erro), no en-
tanto, forneceu o valor errado!, em seguida acessamos corretamente o quarto
elemento do vetor.
∗ ∗ ∗
Importante: Ha´ de se observar que um mesmo comando devolve objetos
distintos, na vista de In´ıcio e na vista do CAS, por exemplo:
m:=SIZE([2, 1, 1, −1, 3]) ⇒ m := { 5 }, Na vista de In´ıcio.
m:=SIZE([2, 1, 1, −1, 3]) ⇒ m := 5, Na vista do CAS.
40
1.4 Somato´rios e produto´rios
Somato´rios
Um outro importante recurso para programac¸a˜o e´ o somato´rio. Acesse o
somato´rio primando a tecla
A sintaxe do somato´rio e´∑
(expressa˜o, varia´vel, in´ıcio, fim)
Por exemplo, observe a equivaleˆncia
∑
(expressa˜o, varia´vel, in´ıcio, fim) ⇐⇒
5∑
k=1
k2
Ou ainda
∑
(k ∧ 2, k, 1, 5)︸ ︷︷ ︸
na HP Prime
⇐⇒
5∑
k=1
k2
Por exemplo, digitando na linha de entrada
pressionando teremos o resultado na tela da direita. Isto e´
5∑
k=1
k2 = 12 + 22 + 32 + 42 + 52 = 55
41
Somato´rio e resultados alge´bricos
Nota: Para os exemplos que se seguem, certifique-se de que a varia´vel n
esta´ resetada − adendo, p. 22.
O somato´rio produz ate´ resultados alge´bricos, digitando na linha de en-
trada k variando de 1 a n
pressionando teremos o resultado na tela da direita. Portanto
n∑
k=1
k2 =
2n3 + 3n2 + n
6
Caso se queira o resultado fatorado, escreva factor() na linha de en-
trada, clique na expressa˜o e pec¸a uma co´pia
pressionando teremos o resultado na tela da direita. Portanto
n∑
k=1
k2 =
n (n+ 1) (2n + 1)
6
42
Podemos ate´ criar func¸o˜es envolvendo somato´rios; por exemplo, digi-
tando na linha de entrada
f(m,n) :=
∑
(k ∧m, k, 1, n)
temos uma func¸a˜o de duas varia´veis
11 21 31 41 51 61︸ ︷︷ ︸
f(1, 6)=
6∑
k=1
k1 = 21
12 22 32 42 52︸ ︷︷ ︸
f(2, 5)=
5∑
k=1
k2 = 55
62
Na tela vemos duas simulac¸o˜es.
Somato´rio e se´ries
Podemos ate´ somar algumas se´ries, por exemplo, considere a progressa˜o
geome´trica infinita
1
2
,
1
4
,
1
8
,
1
16
, . . .
na tela a seguir digitamos a soma dos termos desta P.G.
na tela do centro temos o resultado, portanto
1
2
+
1
4
+
1
8
+
1
16
+ . . . =
∞∑
k=1
1
2k
= 1
43
Produto´rios
O produto´rio e´ acessado de modo semelhante ao somato´rio, ver tela na
pa´gina 41; a sintaxe e´ a mesma.
Aqui vamos ta˜o somente ilustrar como podemos explorar a computac¸a˜o
alge´brica (CAS) para obter fo´rmulas que na˜o encontram-se nos livros dida´ti-
cos de matema´tica. Por exemplo, os livros sobre progressa˜o aritme´tica na˜o
trazem uma fo´rmula para o produto dos seus termos. A partir da fo´rmula
do termo geral
an = a1 + (n− 1) r
vamos encontrar uma fo´rmula para o produto dos n primeiros termos
Pn = a1 · a2 · a3 · . . . · an =
n∏
k=1
a
k
=
n∏
k=1
(
a1 + (k − 1) r
)
Como dissemos nenhum autor de livro dida´tico nos apresenta uma tal
fo´rmula, a HP Primepodera´ nos fornecer uma, veja como e´ fa´cil: digitando
como na tela da esquerda
dando Enter a fo´rmula e´ como na tela da direita!.
Nota: Reset todas as varia´veis envolvidas.
Observe que podemos ate´ nos da´ ao luxo de na˜o anotar nada, para isto
basta criar uma func¸a˜o produto, Pt(a1 , r); assim, escreva na linha de entrada
Pt(a1 , r) e clique sobre a expressa˜o, como na tela a seguir
pec¸a uma co´pia (Copy), ao da´ Enter na tela da direita ja´ temos a func¸a˜o!.
Nota: Poderiamos ter criado uma func¸a˜o de treˆs varia´veis, incluindo n,
preferimos assim para ilustrar como a partir desta fo´rmula podemos deduzir
va´rias outras como corola´rio.
44
Exemplo: Encontre uma fo´rmula para o produto a seguir
1 · 2 · 3 · · · · · n
Soluc¸a˜o: Aqui temos o produto dos n primeiros termos da P.A. em que
a1 = 1 e r = 1; substituindo na fo´rmula Pt(a1 , r), resulta
1 · 2 · 3 · · · · · n = n!
Exemplo: Encontre uma fo´rmula para o produto a seguir
2 · 4 · 6 · . . . · 2n
Soluc¸a˜o: Aqui temos o produto dos n primeiros termos da P.A. em que
a1 = 2 e r = 2; substituindo na fo´rmula Pt(a1 , r), resulta
2 · 4 · 6 · . . . · 2n = 2n · n!
Exemplo: Encontre uma fo´rmula para o produto dos n primeiros ı´mpares
1 · 3 · 5 · . . .· 2n− 1
Soluc¸a˜o: Aqui temos o produto dos n primeiros termos da P.A. em que
a1 = 1 e r = 2; substituindo na fo´rmula Pt(a1 , r), resulta
Na tela do centro criamos uma nova func¸a˜o, FPI(n), na tela da direita
fazemos alguns testes . . . tudo isto contribuindo para a preservac¸a˜o do meio
ambiente!, digo, sem usar um u´nico la´pis para anotac¸o˜es!.
45
1.5 A´lgebra
Menu CAS
Nas telas a seguir mostramos como acessar alguns comandos para mani-
pulac¸o˜es alge´bricas.
Vejamos alguns comandos.
1) Simplificar
Apresenta uma expressa˜o simplificada.
simplify(Expr)
2) Colecionar
Recolhe termos semelhantes numa expressa˜o polinomial (ou numa lista de
expresso˜es polinomiais). Decompo˜e os resultados, consoante as definic¸o˜es
CAS.
collect(Poly) ou collect({Poly1, Poly2,..., Polyn})
Exemplos:
46
3) Expandir
Apresenta uma expressa˜o expandida.
expand(Expr)
4) Decompor
Apresenta um polinoˆmio decomposto (fatorado).
factor(Poly)
Exemplos:
Nota: Para estes exemplos a configurac¸a˜o CAS da sua calculadora deve ser
como na tela da direita.
5) Substitue
Substitui um valor por uma varia´vel numa expressa˜o.
subst(Expr,Var=valor)
6) Frac¸a˜o parcial
Realiza a decomposic¸a˜o de uma frac¸a˜o em frac¸o˜es parciais.
partfrac(RatFrac)
Exemplos:
47
Mudando a configurac¸a˜o da Vista de In´ıcio e do CAS como nas telas a
seguir
−→aqui
na tela da direita repetimos os dois exemplos anteriores, ou seja, agora temos
a decomposic¸a˜o sobre os Complexos.
Extrac¸a˜o
7) Numerador
Numerador simplificado. Para os nu´meros inteiros a e b, apresenta o nume-
rador da frac¸a˜o a/b apo´s a simplificac¸a˜o.
numer(a/b)
8) Denominador
Denominador simplificado. Para os nu´meros inteiros a e b, apresenta o
denominador da frac¸a˜o a/b apo´s a simplificac¸a˜o.
denom(a/b)
Exemplos:
48
9) Lado esquerdo
Apresenta o lado esquerdo de uma equac¸a˜o ou a extremidade esquerda de
um intervalo.
left(Expr1=Expr2) ou left(Real1..Real2)
10) Lado direito
Apresenta o lado direito de uma equac¸a˜o ou a extremidade direita de um
intervalo.
right(Expr1=Expr2) ou right(Real1..Real2)
Exemplos:
Uma aplicac¸a˜o interessante destes comandos e´ que podemos extrair a
base e o expoente em uma poteˆncia de expoente fraciona´rio, como na tela
da direita. Funciona ate´ mesmo com poteˆncias alge´bricas, veja:
Na tela da direita mostramos como fatorar o expoente do numerador da
seguinte frac¸a˜o
2x
2−1
x3 − 1
Enta˜o
2x
2−1
x3 − 1 =
2(x−1)(x+1)
x3 − 1
49
� Subrotinas
Um recurso (ou te´cnica) bastante utilizado em programac¸a˜o e´ o que se
chama de subrotina, que consiste na possibilidade de um programa ser aces-
sado por um outro.
Uma situac¸a˜o em que e´ recomenda´vel o uso de subrotina e´ quando te-
mos um conjunto de instruc¸o˜es que e´ utilizado em diversas partes de um
programa e para que na˜o seja reescrito diversas vezes, e´ colocado em um
programa a` parte onde o primeiro programa (podemos chama´-lo de prin-
cipal) acessa o segundo (subrotina). Podemos resumir a ideia no seguinte
diagrama:
P.P.
Subrotina
Atenc¸a˜o!: Os dados requeridos pelo programa subrotina sa˜o passados pelo
programa principal.
Oportunamente estaremos exemplificando este conceito.
50
1.6 Estruturas de Programac¸a˜o
Introduc¸a˜o
Uma estrutura de programac¸a˜o permite a um programa tomar uma
decisa˜o sobre como ele deve ser executado, dependendo das condic¸o˜es dadas
ou dos valores de argumentos em particular. Um uso cuidadoso e inteligente
destas estruturas torna poss´ıvel a criac¸a˜o de programas com extraordina´ria
flexibilidade.
Diriamos que a programac¸a˜o propriamente dita comec¸a aqui com estru-
turas de programac¸a˜o, pois o que fizemos anteriormente foi praticamente a
programac¸a˜o de fo´rmulas apenas.
Estas estruturas que iremos estudar sa˜o comuns a va´rias linguagens de
programac¸a˜o, como por exemplo, PASCAL, FORTRAN, C++, MATLAB,
etc. Quero dizer: voceˆ entendendo-as neste contexto, tambe´m estara´ apto a
executa´-las em qualquer outra linguagem em que estas se fac¸am presentes;
da´ı a importaˆncia de entendeˆ-las nesta aqui, isto e´, na HP Prime .
Estruturas de programac¸a˜o
As estruturas que iremos estudar sa˜o as seguintes:
• Estruturas c´ıclicas :


FOR
FOR - STEP
WHILE - REPEAT - END
• Estruturas condicionais :

 IF - THEN - ENDIF - THEN - ELSE - END
Existem outras estruturas, mas estas sa˜o suficientes para os nossos pro-
po´sitos.
51
1.6.1 Estruturas c´ıclicas
FOR
Apenas para exemplificar o uso desta estrutura vamos construir um pro-
grama para calcular a soma dos N primeiros nu´meros Naturais. Isto e´,
queremos o valor de:
N∑
i=1
i = 1 + 2 + 3 + · · ·+N
Devemos fornecer ao programa o valor de N (ate´ onde queremos que o
mesmo some) e este deve nos devolver o valor da soma correspondente.
Vamos iniciar o programa de acordo com a tela a seguir
↑
Nota: Via de regra iniciamos a varia´vel que vai acumular a soma com o
valor 0.
Para inserir a estrutura FOR no programa pressione a tecla virtual assi-
nalada (Tmplt); desc¸a ate´ o item 3Loop; va´ para a direita. Estamos na tela
da direita acima. Agora pressione ; apo´s, teremos a tela a seguir
complete o programa conforme tela da direita. Ademais, por uma questa˜o
de legibilidade coloque o END na mesma vertical do FOR, e´ o que chamamos
de identac¸a˜o.
Podemos executar o programa diretamente da vista do CAS.
52
Estando na vista do CAS digite o nome do programa e, entre pareˆnteses, os
dados requeridos pelo programa; como, por exemplo, na tela a seguir
→
Isto significa que
5∑
I =1
I = 1 + 2 + 3 + 4 + 5 = 15
Como funciona a estrutura FOR
FOR contador FROM in´ıcio TO fim DO
cla´usula c´ıclica
END
Loop


Esta estrutura executa uma porc¸a˜o do programa por um nu´mero definido
de vezes usando o conteu´do de uma varia´vel local como contador, a qual
pode ser usada dentro do loop para ca´lculos ou outros propo´sitos. No final
do loop o contador e´ testado se ja´ atingiu o fim, caso na˜o o contador e´
incrementado de uma unidade e a clau´sula c´ıclica e´ executada mais uma
vez; este processo se repete ate´ que o contador atinja o fim, quando enta˜o o
loop e´ abandonado.
No programa ao lado temos:
I: contador,
1: in´ıcio do contador,
N: fim do contador,
S:=S+I: cla´usula c´ıclica.
Neste caso o contador esta´ sendo uti-
lizado dentro do loop.
No caso deste programa a varia´vel S e´ inicializada com 0, e, a cada ciclo,
S e´ atualizada adicionando-se o valor de I ao seu valor anterior.
53
FOR-STEP
Esta estrutura funciona de modo semelhante a anterior (FOR) exceto
que a varia´vel de controle pode ser incrementada de um valor diferente da
unidade.
FOR - END’s concatenados
O que chamamos de concatenac¸a˜o de FOR - END’s e´ o mesmo que encaixe
(ou aninhamento) de FOR - END’s que, dependendo do programa, pode
tomar diversas configurac¸o˜es. Por exemplo, assim:
FOR
FOR
END
END
a)
FOR
FOR
FOR
END
END
END
b)
FOR
FOR
FOR
END
END
ENDc)
Dentre muitas outras aplicac¸o˜es a concatenac¸a˜o e´ u´til para se trabalhar
com matrizes. Vejamos o seguinte exemplo:
(U.E.LONDRINA - 84) Dada a matriz A = ( amn )2×2 onde amn = 2
n−m, a
soma de todos os elementos que compo˜e a matriz A2 e´ igual a:
a ) 81/4 b ) 10 c ) 9 d ) 25/4 e ) − 6
Motivados pelo desafio acima vamos fazer um programa para construir
uma matriz (quadrada de ordem N) e que, em particular (N = 2) tenhamos
a matriz do problema anterior. O programa consta da tela a seguir
na tela da direita temos duas simulac¸o˜es. Observe que o programa foi ela-
borado na vista de in´ıcio − e na˜o na vista do CAS.
Observe que temos uma concatenac¸a˜o tipo a ). O primeiro FOR (ou ainda,
o primeiro lac¸o)fixa a linha e o segundo varia as colunas, de modo que a
matriz vai sendo construida linha a linha e de cima para baixo.
Para obter a resposta da questa˜o do vestibular, clique na primeira matriz
(tela anterior), pec¸a uma co´pia para a linha de entrada, eleve ao quadrado
e some os elementos.
54
O programa anterior foi feito apenas para ilustrar a concatenac¸a˜o de
FOR - END’s, no entanto, na tela da esquerda a seguir criamos − na vista
do CAS − um programa equivalente
Na tela da direita temos uma simulac¸a˜o para N = 3.
Digamos que voceˆ queira os elementos da matriz na˜o na forma de frac¸a˜o,
mas aproximados (approx) com treˆs decimais; o caminho e´ este
Aqui
Executamos novamente o programa, como na tela da direita.
55
Exerc´ıcios
Nota: Alguns dos exerc´ıcio a seguir devem, preferencialmente, ser imple-
mentados com a estrutura “FOR”.
1) Fac¸a um programa para sair com os N primeiros termos de uma P.A.
(progressa˜o aritme´tica), de dois modos distintos:
( a ) em uma lista ( b ) em um vetor.
2) Fac¸a um programa para calcular o produto dos N primeiros termos de
uma P.A.
3) Fac¸a um programa para calcular a soma dos N primeiros termos de uma
P.G.
4) Fac¸a um programa para calcular o seguinte somato´rio:
n∑
i=1
i2.
5) Seja a sequeˆncia
1, 1, −1, −1, 1, 1, −1, −1, 1, 1, −1, −1, . . .
cuja fo´rmula do termo geral e do produto sa˜o, respectivamente
an = (−1)
(n−1)(n−2)
2 e Pn = (−1)
n(n−1)(n−2)
6
Fac¸a um programa para sair com um vetor contendo os N primeiros
termos desta sequeˆncia e mais ainda o produto destes N primeiros termos.
6) Fac¸a um programa para calcular o somato´rio:
n∑
i=1
im; onde m e n sa˜o
valores arbitra´rios que devem ser fornecidos ao programa.
7) Fac¸a um programa para calcular a soma,
1 · 2 + 2 · 3 + 3 · 4 + · · · + n · (n+ 1)
8) Fac¸a um programa para calcular o produto interno canoˆnico de dois ve-
tors, assim:
[ a1 a2 . . . an ] · [ b1 b2 . . . bn ] = a1 · b1 + a2 · b2 + · · ·+ an · bn
9) Fac¸a um programa para sair com um vetor contendo os N primeiros
termos de uma P.A., usando a fo´rmula de recorreˆncia (definic¸a˜o) de uma
P.A.: 
a1 = aan = an−1 + r, n ≥ 2.
56
10) Fac¸a um programa para sair com um vetor contendo os N primeiros
termos de uma P.G., usando a fo´rmula de recorreˆncia (definic¸a˜o) de uma
P.G.: 
a1 = aan = an−1 · q, n ≥ 2.
11) Fac¸a um programa para sair (em lista ou vetor) com os N primeiros
termos das seguintes sequeˆncias :
( i ) a1 = 4; an = (−1)n · an−1 .
( ii ) a1 = −2; an = (an−1)2.
12) (U.F.CE -81) Os termos da sucessa˜o a1 , a2 , . . . , an , esta˜o relacionados
pela fo´rmula a
n+1 = 1 + 2 · an , onde n = 1, 2, 3, . . .. Se a1 = 0, enta˜o a6 e´:
a ) 25 b ) 27 c ) 29 d ) 31
13) (PUC-SP - 81) Na sequeˆncia (a1 , a2 , . . .) tem-se:
a1 = 1 e an+1 =
2 + a2
n
2an
Qual dos nu´meros abaixo esta´ mais pro´ximo de a3?
a ) 1 b ) 2 c )
√
2 d )
√
3 e )
√
5
Nota: Lembramos que nestes exerc´ıcios queremos que voceˆ fac¸a um pouco
mais do que o exerc´ıcio pede. Queremos que voceˆ fac¸a um programa para
listar os n primeiros termos das sequeˆncias dadas.
14) (U.F.BA. - 81) sejam as sequeˆncias

a1 = 4
a
n+1 = 1 +
2
an
e


b1 = 5
b
n+1 =
1
1+bn
Se P = an · bn , tem-se:
a ) P < 0 b ) 0 ≤ P < 1 c ) 1 ≤ P < 2 d ) 2 ≤ P < 3 e ) P ≥ 3
15) (U.F.PR. - 80) Seja f uma func¸a˜o tal que f(1) = 2 e f(x+1) = f(x)−1,
para todo valor real de x. Enta˜o f(100) e´ igual a:
a ) − 99 b ) − 97 c ) 96 d ) 98 e ) 100
Nota: Aqui o leitor devera´ fazer um programa para fornecer f(N) onde
N > 1 e´ um um nu´mero natural.
57
16) (PUC - SP - 85) Na sequeˆncia (a0 , a1 , a2 , . . .) onde a0 = 1 e an+1 =
an + n, para todo n ∈ N, a soma dos 7 primeiros termos e´
a ) 41 b ) 42 c ) 43 d ) 63 e ) 64
Nota: O leitor devera´ sempre resolver os problemas de forma generalizada.
Por exemplo, aqui fac¸a um programa para calcular a soma dos N primeiros
termos da sequeˆncia .
17) (PUC - SP - 70) Sendo f : R → R definida por f(x) = 2x + 3, enta˜o
f(1) + f(2) + f(3) + · · ·+ f(25) e´ igual a:
a ) 725 b ) 753 c ) 653 d ) 1375 e ) 400
18) No ca´lculo nume´rico de integrais
I =
∫ b
a
f(x) dx
A primeira regra de Simpson generalizada estabelece que,
∫ xn
x0
f(x) dx∼= h3 [ f(x0 )+ 4f(x1 ) +2f(x2 )+ 4f(x3 )+ ···+2f(xn−2 )+ 4f(xn−1 )+ f(xn ) ]
Fac¸a um programa que calcule a seguinte integral
I =
∫ 1
0
x2 dx
O programa deve receber n. Depois calcule o valor exato da integral e
compare com os resultados do programa para alguns valores de n.
Sugest~ao: Inicialmente determine uma fo´rmula para gerar os coeficientes
nume´ricos em destaque na expressa˜o:
1f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + · · · +2f(xn−2) + 4f(xn−1) + 1f(xn)
19) Programe a fo´rmula para o produto dos termos de uma P.A. de primeiro
termo a1 e raza˜o r
Pn = a1 r
n ·
(
(a1 + n r)
(
1
r
) )
!
(a1 + n r)
( a1
r
)
!
58
WHILE - REPEAT - END
Esta e´ uma outra estrutura c´ıclica bastante utilizada. Para exemplificar
o uso desta estrutura vamos resolver o seguinte problema:
(UNESP - 84) Seja Sn =
1
21
+ 1
22
+ · · ·+ 12n , n um nu´mero natural diferente
de zero. O menor nu´mero n tal que Sn > 0, 99 e´:
a ) 5 b ) 6 c ) 7 d ) 8 e ) 9
A ideia aqui e´ variar n (a partir de 1) e ir somando os termos 12n ate´ que
o resultado da soma seja maior que 0, 99. Veja alguns exemplos,
n Sn
1 12 = 0, 5
2 12 +
1
22 = 0, 75
3 12 +
1
22
+ 1
23
= 0, 875
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Vamos fazer melhor: o programa vai receber como entrada um nu´mero
L (0 < L < 1) que, em particular, pode ser L = 0, 99.
Vamos iniciar o programa de acordo com a tela a seguir (Vista de in´ıcio)
Para inserir a estrutura WHILE, va´ para a tela da direita acima. Agora
pressione ; apo´s, complete como na tela a seguir
Na tela da direita temos duas simulac¸o˜es do programa.
59
Exemplo: Digitando na linha de entrada (vista do CAS)
SUN(n) :=
∑
(1/2 ∧ k, k, 1, n)
criamos uma func¸a˜o de n, esta
Sn =
1
21
+
1
22
+ · · ·+ 1
2n
As telas a seguir
mostram Sn para alguns valores de n.
Para os valores aparecerem como na tela acima em a caixa Exact
deve estar desmarcada (tela da direita).
Como funciona a estrutura WHILE
WHILE
clau´sula de teste
DO
comandos
END
Loop


Esta estrutura executa uma porc¸a˜o do programa (comandos) enquanto
a clau´sula de teste for verdadeira.
No programa ao lado temos:
clau´sula de teste: S ≤ L.
comandos: n:=n+1; S:=S+1/2 ∧ n.
O loop so´ e´ abandonado quando S for
tal que S>L.
60
Exerc´ıcios
20) Determine n tal que
∑n
i=1 2
i = 4088.
21) Resolva o problema anterior utilizando a fo´rmula para a soma dos ter-
mos de uma P.G.: Sn =
a1 ·qn−a1
q−1 .
22) Resolva a questa˜o da UNESP (p. 59) utilizando a fo´rmula para a soma
dos termos de uma P.G.
23) Elabore um programa onde entramos com o primeiro termo e a raza˜o
de uma P.A., e ainda com um nu´mero L (maior ou igual ao primeiro termo),
e o programa saia com n, a quantidade ma´xima de termos que podemos
somar para que a soma na˜o ulrapasse L.
24) Encontre o valor de k de modo que:
k∑
j=1
30∑
i=1
(−2i+ 3j) = 300
25) Quantos termos devem ser somados na sequeˆncia ,
2 − 1 2 − 1 2 − 1 2 − 1 2 − 1 . . .
a partir do primeiro termo, para que a soma seja 15?
Dado: Sn = [ 2n− 3 · (−1)n + 3 ] · 14 .
26) Quantos termos devem ser somados na sequeˆncia ,
−1 3 − 1 3 − 1 3 − 1 3 − 1 3 . . .
a partir do primeiro termo, para que a soma seja 13?
Dado: Sn = (−1)n + n− 1.
27) Fac¸a um programa que que recebe n e sai com o n-e´simo termo da
sequeˆncia
0 1 2 0 1 2 0 1 2 . . .
28) Fac¸a um programa que que recebe n e sai com a soma dos n primeiros
termos dasequeˆncia do exerc´ıcio anterior.
29) A soma dos dos n primeiros termos da sequeˆncia
3 3 6 6 9 9 12 12 15 15 . . .
e´
Sn =
6n2 + 12n − 3(−1)n + 3
8
Inicialmente resolva a equac¸a˜o S(n) = 60, na ma˜o mesmo. Fac¸a um pro-
grama onde dado um inteiro m > 0 ele resolva a equac¸a˜o S(n) = m, caso
na˜o haja soluc¸a˜o o programa deve dizer.
61
1.6.2 Estruturas condicionais
IF - THEN - END
Para exemplificar o uso desta estrutura vamos construir um programa
que nos diz se um dado nu´mero e´ par ou na˜o. Faremos este programa de
dois modos distintos, para ilustrar dois comandos da HP Prime : FP e MOD.
O comando FP nos devolve a parte fraciona´ria de um nu´mero, na tela
a seguir temos alguns exemplos (desmarque a caixa Exact)
Nota: O duplo sinal == e´ de comparac¸a˜o.
Na tela do centro temos o programa. Na tela da direita como acessamos a
estrutura IF - THEN - END.
A estrutura IF - THEN - END executa uma sequeˆncia de comandos so-
mente se o teste e´ verdadeiro. A palavra IF inicia a cla´usula-de-teste, a qual
deixa o resultado do teste (0 ou 1). THEN remove este resultado. Se o
valor e´ 1, a cla´usula verdadeira e´ executada. Caso contra´rio, a execuc¸a˜o do
programa prossegue com a instruc¸a˜o seguinte a END.
O comando MOD nos devolve o resto da divisa˜o de um nu´mero inteiro a
por um nu´mero inteiro b. A seguir temos dois exemplos
5 2
21
տ
5 MOD 2
20 6
32
տ
20 MOD 6
Na tela a seguir temos os dois exemplos acima; o segundo programa
consta na tela do centro a seguir
Na tela da direita temos duas simulac¸o˜es deste programa.
62
IF - THEN - ELSE - END
Esta estrutura condicional e´ bem mais interessante e u´til que a anterior.
Para exemplifica´-la faremos um programa para sair com os N primeiros ter-
mos da sequeˆncia
an =


n
2
, se n e´ par;
n+ 1
2
, se n e´ ı´mpar.
Inicie o programa como a seguir (Vista de In´ıcio)
complete-o como na tela do centro. Na tela da direita temos duas simulac¸o˜es
do programa. Vejamos mais um exemplo de aplicac¸a˜o desta estrutura.
(PUC- SP - 76) Se A e´ uma matriz 3 por 2 definida pela lei
a
ij
=


1, se i = j;
i2, se i 6= j.
Enta˜o A se escreve:
a )
[
1 4 9
1 1 9
]
b )

 1 14 1
9 9

 c )

 1 11 4
9 9

 d ) [ 1 1 9
1 4 9
]
e )

 1 14 1
6 6


Vamos resolver este problema para uma matriz de dimensa˜o gene´rica
M ×N . O programa e´ como a seguir
na tela da direita temos treˆs simulac¸o˜es.
63
Como funciona a estrutura IF - THEN - ELSE - END
IF
clau´sula-de-teste
THEN
clau´sula-verdadeira
ELSE
clau´sula-falsa
END
Estrutura


Esta estrutura executa uma sequeˆncia de comandos se o teste resultar
verdadeiro e outra, caso seja falso.
A palavra IF inicia a cla´usula-de-teste, a qual sai com o resultado (0 ou
1). THEN verifica este resultado. Se o valor e´ 1, a cla´usula-verdadeira e´
executada; caso contra´rio, a cla´usula-falsa e´ executada. Apo´s ter executado
a cla´usula apropriada, o programa prossegue com a instruc¸a˜o seguinte a`
END.
No programa ao lado temos:
clau´sula de teste: FP(n/2)==0
clau´sula verdadeira: TS(n):=n/2
clau´sula falsa: TS(n):=(n+1)/2
64
Trac¸ando gra´ficos com IF - THEN - ELSE - END
Vamos exemplificar como esta estrutura pode ser utilizada para construir
gra´ficos de func¸o˜es definidas por va´rias sentenc¸as.
Inicialmente considere a func¸a˜o f : R→ R dada por
f(x) =


−x, se x < −1;
x2 − 1, se x ≥ −1.
Na tela a seguir programamos esta func¸a˜o
na tela da direita simulamos alguns exemplos. Ao atribuir o nome f ao
programa caso esta varia´vel esteja ocupada enta˜o purge(f) e´ uma sugesta˜o.
Pois bem, nosso objetivo agora e´ plotar o gra´fico desta func¸a˜o. Inicial-
mente prima a tecla o que vai nos levar para a seguinte tela
→
↑
em seguida clique no aplicativo assinalado (Function), o que nos leva para
a tela da direita. Clique na tecla virtual Edit
65
escreva na linha de entrada f(X) (este X deve ser maiu´sculo); apo´s clicar
em OK estaremos na tela da direita
→
↑
Agora vamos dimensionar os eixos para plotagem, para isto clique em
vamos para a seguinte tela (configurac¸a˜o na minha calculadora)
configurando como na tela do centro, apo´s clique em teremos a tela
da direita. Como mais um exemplo, para o gra´fico da func¸a˜o dada por
g(x) =


−x− pi2 , se x < −pi2 ;
| cos 2x |, se − pi2 ≤ x < pi2 ;
x− pi2 , se x ≥ pi2 .
o programa fica assim
66
1.7 Operadores lo´gicos relacionais
Um outro recurso − na˜o menos importante − que a programac¸a˜o nos
oferece sa˜o os operadores lo´gicos booleanos: OR, AND, XOR, NOT,
etc., estes operadores esta˜o definidos pelas respectivas tabelas-verdade:
p q pOR q
V V V
V F V
F V V
F F F
p q pAND q
V V V
V F F
F V F
F F F
p q pXOR q
V V F
V F V
F V V
F F F
p p¯
V F
F V
Ou ainda, na forma em que a HP Prime entende e opera:
p q pOR q
1 1 1
1 0 1
0 1 1
0 0 0
p q pAND q
1 1 1
1 0 0
0 1 0
0 0 0
p q pXOR q
1 1 0
1 0 1
0 1 1
0 0 0
p p¯
1 0
0 1
Estes operadores booleanos sa˜o acessados assim:
Na tela da direita mostramos como acessar outros s´ımbolos u´teis, como, por
exemplo, as letras gregas. A seguir fazemos um exemplo.
67
Vejamos um exemplo de aplicac¸a˜o destes operadores:
(CESGRANRIO - 76) Seja H o conjunto
{n ∈ N : 2 ≤ n ≤ 40 },
n mu´ltiplo de 2, n na˜o mu´ltiplo de 3. O nu´mero de elementos de H e´:
a ) 12 b ) 14 c ) 7 d ) 13 e ) 6
Observe, na definic¸a˜o do conjunto em questa˜o: n e´ mu´ltiplo de 2 e n na˜o
e´ mu´ltiplo de 3. Aqui temos uma tarefa para o operador lo´gico AND.
Vamos fazer melhor, faremos um programa que recebe dois nu´meros na-
turais M e N (N < M) e devolve todos os mu´ltiplos de 2, e na˜o de 3, entre
N e M ; na tela a seguir temos o programa:
Na tela da direita temos a soluc¸a˜o da questa˜o do vestibular.
O programa seguinte sai com os mu´ltiplos de 2 ou 3 entre N e M .
Na tela da direita uma simulac¸a˜o, aqui reproduzida:
[ 2, 3, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 26, 27, 28, 30, 32, 33, 34, 36, 38, 39, 40 ]
68
Exerc´ıcios
30) (F. SANTANA - 83) Dadas as matrizes A = ( a
ij
)2 , tal que
a
ij
=


1 + i, se i = j;
0, se i 6= j.
e B = (B
ij
)2 , tal que bij = 2i− 3j, enta˜o A+B e´ igual a:
a )
[ −1 4
−1 −2
]
b )
[
1 −4
−1 −2
]
c )
[ −1 4
1 2
]
d )
[
1 −4
1 2
]
e )
[
1 4
1 2
]
31) Fazer um programa para sair com a matriz identidade de ordem N :
a
ij
=


1, se i = j;
0, se i 6= j.
32) (U. MACK. - 80) Dada a matriz A = ( a
ij
)2 tal que
a
ij
=


sen pi2 j, se i = j;
cospij, se i 6= j.
Enta˜o A2 e´ a matriz:
a )
[ −1 −1
1 0
]
b )
[
0 −1
1 1
]
c )
[ −1 1
0 1
]
d )
[
0 1
−1 1
]
e )
[
0 1
−1 −1
]
33) (UFRS - 83) A = ( a
ij
) e´ uma matriz de ordem 2× 2 com a
ij
= 2−i se
i = j e a
ij
= 0 se i 6= j. A inversa de A e´:
a )
[
1
2 0
0 14
]
b )
[ −12 0
0 −14
]
c )
[
2 0
0 4
]
d )
[ −2 0
0 −4
]
e )

 2 0
0 2
1
2


34) (FCM STA CASA - 81) Seja a matriz A = ( a
ij
), de ordem 3, tal que
a
ij
=


1 se i < j;
k se i = j e k ∈ R;
−1 se i > j.
Se o determinante de A e´ igual a zero, enta˜o k pertence ao conjunto:
a ) k ∈ {−3, 1, 3 } b ) k ∈ {−2, 1, 2 } c ) k ∈ { 0, 1/3, 1/2 }
d ) k ∈ {−
√
3,
√
3 } e ) k ∈ {−1/3, 1/3 }
69
35) (U. MACK - 80 ) Seja a func¸a˜o f : R→ R definida por
f(x) =


|x|+ 3 se |x| ≤ 2;
|x− 3| se |x| > 2
O valor de f(f(f(. . . f(0) . . .))),
a ) e´ 0 b ) pode ser 1 c ) e´ 3 d ) pode ser 3 e ) e´ imposs´ıvelde calcular.
Neste exerc´ıcio fac¸a um programa onde entra-se com N e o mesmo sai
com uma lista com as N composic¸o˜es de f em 0. Exemplo,
Se N = 1 enta˜o f(f(0))
Se N = 2 enta˜o f(f(f(0))), etc.
36) (PUC CAMP. - 80) Considerando N = { 0, 1, 2, 3, . . .} e, ainda,
A = {x ∈ N/ 24
x
= n, x ∈ N }
B = {x ∈ N/ 3x+ 4 < 2x+ 9 }
podemos afirmar que,
a ) A ∪B tem 8 elementos b ) A ∪B = A c ) A ∩B = A
d ) A ∩B possui 4 elementos b ) n.d.a.
37) (ITA - 66) Quantos nu´meros inteiros existem, de 1000 a 10000, na˜o
divis´ıveis nem por cinco nem por sete?
38) (UFRN - 84) O nu´mero de mu´ltiplos de sete entre 50 e 150 e´:
a ) 9 b ) 12 c ) 14 d ) 16 e ) 23
39) (CESCEA - 75) Quantos nu´meros ı´mpares ha´ entre 14 e 192?
a ) 88 b ) 89 c ) 87 d ) 86 e ) 90
40) (FGV - 81) A soma dos nu´meros naturais na˜o superiores a 1000, na˜o
divis´ıveis por 7, e´:
a ) 429429 b ) 500500 c ) 500500/7 d ) 999999/7 e ) n.d.a.
41) (CESGRANRIO - 84) A soma dos nu´meros naturais menores que 100 e
que divididos por 5 deixam resto 2 e´:
a ) 996 b ) 976 c ) 990 d ) 991 e ) 998
70
1.8 Algumas func¸o˜es especiais
Neste to´pico vamos arrolar mais algumas func¸o˜es da HP Prime que jul-
gamos relevantes no contexto da programac¸a˜o.
1.8.1 A func¸a˜o apply
Aplica um vetor (ou lista) − do domı´nio de uma func¸a˜o − no ca´lculo dos
valores da func¸a˜o
Sintaxe
apply( Var → f(Var), vetor)
Por exemplo
Na tela da direita mostramos como acessar a setinha − ver p. 67.
No lugar do vetor pode ser uma lista. Nas telas a seguir utilizamos esta
func¸a˜o para calcular duas “tabelas trigonome´tricas”, do seno e do cosseno:
Nota: Sua calculadora deve estar fixada no modo Exact, p. 19.
As tabelas trigonome´tricas constantes nos livros na˜o trazem alguns“arcos-
metade”, como, por exemplo, 15o = pi12 , na HP Prime e´ fa´cil, veja:
71
1.8.2 A func¸a˜o REPLACE
Esta e´ uma func¸a˜o important´ıssima, sera´ utilizada em diversos programas
ate´ o final deste livro.
REPLACE Substitui parte de uma matriz ou vetor guardados em nome por
um objeto a partir da posic¸a˜o in´ıcio. In´ıcio para uma matriz e´ uma lista
que conte´m dois nu´meros. Para um vetor, e´ um u´nico nu´mero. REPLACE
tambe´m funciona com listas, gra´ficos e strings.
Sintaxe
REPLACE(nome, inı´cio, objeto)
Nas telas a seguir, vemos dois exemplos.
Lembrete: Na˜o esquec¸a de resetar as letras, se necessa´rio.
Observe mais duas substituic¸o˜es
72
Tabela trigonome´trica
Como mais uma aplicac¸a˜o da func¸a˜o REPLACE vamos montar uma tabela
trigonome´trica do seno. Considere novamente a tela a seguir
a` direita criamos uma matriz, que vai ser a tabela ao final.
A seguir, criamos uma matriz que conte´m os valores do domı´nio
a` direita calculamos o seno para esta matriz.
A seguir, crie uma varia´vel VC, clique em cima do u´ltimo vetor (matriz)
e guarde uma co´pia nesta varia´vel
na tela da direita substituimos a primeira coluna da matriz MTR pelo trans-
posto do vetor VD.
73
Este u´ltimo resultado salvamos em MTR
na tela da direita substituimos em MTR o transposto do vetor VC.
A seguir salvamos esta u´ltima matriz em MTR
na tela da direita colocamos uma “legenda” na tabela. Opcionalmente, po-
demos ver a tabela na horizontal, tomando o transposto, assim
Clique em cima da tabela e pec¸a para ver (Show)
74
Vamos encimar a tabela com grau, no lugar de radiano. Para isto sal-
vamos a tabela em uma nova varia´vel. Digite na linha de entrada como a
seguir
Apenas a t´ıtulo de curiosidade, veja como nos“tempos primitivos” calculava-
se, por exemplo, o seno de 15o = pi12 . Vamos partir da fo´rmula
sen
( a
2
)
=
√
1− cos a
2
Substituindo nesta fo´rmula a = 30o, obtemos
sen
(30o
2
)
=
√
1− cos 30o
2
Enta˜o
sen
(
15o
)
=
√
1−
√
3
2
2
Simplificando
sen
(
15o
)
=
√
2−√3
2
Na tela a seguir, pedimos para a HP Prime calcular o seno de 15o
(
mude sua calculadora para grau (Degrees)
)
na tela da direita pedimos para
simplificar o resultado obtido pela fo´rmula − para efeito de comparac¸a˜o.
75
1.8.3 A func¸a˜o Map
Segundo o manual (da HP Prime ):
Existem duas utilizac¸o˜es para esta func¸a˜o, nas quais o segundo argu-
mento e´ sempre um mapeamento de uma varia´vel para uma expressa˜o. Se a
expressa˜o for uma func¸a˜o da varia´vel, a func¸a˜o e´ aplicada a cada elemento
do vetor ou matriz (o primeiro argumento) e e´ apresentado o vetor ou matriz
resultante. Se a expressa˜o for um teste booleano, cada elemento do vetor ou
matriz e´ testado e os resultados sa˜o apresentados como um vetor ou matriz.
Cada teste apresenta 0 (falha) ou 1 (aprovac¸a˜o).
Sintaxe
map( Matrix, Var → Func¸~ao)
Ou
map ( Matrix, Var → Teste)
Em seguida o manual fornece os dois exemplos seguintes
Na tela da direita acrescentei mais um exemplo. O manual na˜o fornece
nenhum exemplo de um caso onde o primeiro argumento da map seja uma
matriz; fiz algumas tentativas, no entanto, pelas respostas, na˜o encontrei
uma “lo´gica”, um padra˜o. Por exemplo, na tela a seguir
apliquei a func¸a˜o x → 2x a` matriz de entrada, o resultado foi o esperado:
cada elemento da matriz e´ multiplicado por 2. Quando apliquei a func¸a˜o
76
x→ x−1, eu esperava que cada elemento da matriz fosse subtraido de 1, isto
aconteceu apenas com os elementos da terceira coluna. Na matriz da direita
temos duas outras simulac¸o˜es, apenas a segunda me e´ intelig´ıvel; de formas
que a explicac¸a˜o do manual para mim ficou um tanto quanto nebulosa;
cansado de tentar encontrar uma lo´gica decidi criar a minha pro´pria func¸a˜o
“map”, isto e´, uma que atenda ao enunciado “Se a expressa˜o for uma func¸a˜o
da varia´vel, a func¸a˜o e´ aplicada a cada elemento da matriz (o primeiro
argumento) e e´ apresentado a matriz resultante.”
A func¸a˜o que criei tem a seguinte:
Sintaxe
mapii( Matrix, Var → express~ao)
ei-la:
a` direita temos duas simulac¸o˜es.
1.8.4 A func¸a˜o Zip
Aplica uma func¸a˜o bivariada aos elementos de duas listas ou vetores e
apresenta os resultados num vetor. Sem o valor predefinido, o comprimento
do vetor e´ o mı´nimo dos comprimentos das duas listas. Com o valor prede-
finido, a lista mais curta e´ preenchida com o valor predefinido.
Sintaxe: zip(‘function’, List1, List2, Default)
77
1.8.5 A func¸a˜o remove
Dado um vetor ou lista, remove as ocorreˆncias de Valor ou remove os
valores que tornam o Teste verdadeiro e apresenta o vetor ou lista resultante.
Sintaxe:
remove(Value, List) ou remove(Test, List)
Veja os dois exemplos seguintes
Aqui cabe uma pergunta: e se quisermos eliminar na lista do exemplo os
x tais que x ≤ −2 e x ≥ 2 ?. Basta concatenar remove, assim:
78
1.8.6 A func¸a˜o solve
A func¸a˜o solve − e outras que nos interessam − pode ser acessada na
caixa de ferramentas, assim:
Ademais, escolha a configurac¸a˜o da tela a` direita.
Solve: Apresenta uma lista das soluc¸o˜es (reais e complexas) de uma equac¸a˜o
polinomial ou de um conjunto de equac¸o˜es polinomiais.
Sintaxe:
solve(Eq,[Var]) ou solve(Eq1, Eq2,. . . , [Var])
Nas telas a seguir, temos alguns exemplos
Como um outro exemplo, na tela a seguir pedimos para resolver a
equac¸a˜o quadra´tica, a x2 + b x+ c = 0
Na tela da direita criamos uma func¸a˜o (programa) para resolver uma equac¸a˜o
quadra´tica, vemos uma simulac¸a˜o.
79
Tabela-Resumo
Comando Sintaxe p.
MAKELIST MAKELIST (expressa˜o, varia´vel, inicio, fim, incremento) 30
MAKEMAT MAKEMAT (expressa˜o, linhas, colunas) 38
Somato´rio
∑
(expressa˜o, varia´vel, in´ıcio, fim) 41
FOR
FOR contador FROM in´ıcio TO fim DO
clau´sula c´ıclica
END
53
FOR-STEP
FOR variavel FROM in´ıcio TO fim STEP h DO
clau´sula c´ıclica
END
54
WHILE WHILE clau´sula de teste DO comandos END 60
IF-THEN IF clau´sula

Continue navegando