Este livro foi escrito para aqueles que desejam iniciar-se na programação da calculadora HP Prime. De todas as calculado...
PROGRAMANDO A HP Prime ˜ ES) (COM APLICAC ¸O Gentil, o iconoclasta
Boa Vista-RR Edi¸c˜ao do autor 2018
c 2018 Gentil Lopes da Silva Copyright
Todos os direitos reservados ao autor Site do autor → docente.ufrr.br/gentil.silva email →
[email protected]
Editora¸ c˜ ao eletrˆ onica e Diagrama¸ c˜ ao: Gentil Lopes da Silva Capa: Adriano J. P. Nascimento
Ficha Catalogr´ afica S586d
Silva, Gentil Lopes da Programando a HP Prime : com aplica¸ c~ oes Gentil Lopes da Silva.Manaus/Boa Vista: Editora Uirapuru/Autor, 2018. x, 343 p. il. 16x23 cm [e-book] [Pseud^ onimo: Gentil, o iconoclasta] ISBN 978-85-63979-17-9 1. Computa¸ c~ ao. 2. Matem´ atica. 3. Programa¸ c~ ao. 4. Gentil, o iconoclasta. I. T´ ıtulo. CDU: 519.682
(Ficha catalogr´afica elaborada por Bibliotec´ aria Zina Pinheiro CRB 11/611)
2
Pref´ acio “A motiva¸c˜ ao para escrever o presente livro foi tripla. Em 1996 eu me encontrava na UFSC quando fui solicitado, pelos alunos da f´ısica e engenharia, a ministrar um curso de programa¸c˜ao da HP ; quando, na ocasi˜ ao, tive a oportunidade de escrever uma apostila ‘Programando a HP 48’ para conduzir o curso. Em 2009 encontro-me na UFRR ministrando a disciplina C´ alculo Num´erico, na qual decidi adotar a HP 50g . Reescrevi a apostila adaptando-a para a HP 50g e postei uma vers˜ ao em minha homepage. Num per´ıodo de dois anos aproximadamente recebi email’s de v´arias partes do Brasil de usu´arios 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 adapta¸c˜ao e o Guia do Usu´ ario-HP. No que diz respeito ` a eficiˆencia da maioria dos alunos em utilizar os recursos dispon´ıveis na calculadora − pelo que tenho observado − ´e a mesma de um propriet´ario de uma possante ferrari que, no entanto, se desloca em um monociclo.” (Extra´ıdo do pref´ acio do livro “Programando a HP 50g ”) De todas as calculadoras da fam´ılia HP a HP Prime ´e a de programa¸c˜ao mais f´acil; depois de mais de 20 anos trabalhando com estas calculadoras ainda hoje fico pasmo com a potˆencia de c´alculo destes − por assim dizer − computadores de bolso, agora incluindo-se a computa¸c˜ao alg´ebrica. Apenas para exemplificar, f´ormulas n˜ ao muito simples de serem manipuladas na m˜ ao, aqui s˜ ao programadas em um u ´ nica linha!, por exemplo esta
7→
∆m f (n) =
m X
(−1)k
k=0
m k
f (n − k + m)
Muitos dos programas que constam neste livro ocupam no m´ aximo 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 matem´ aticos in´editos − por mim desenvolvidos (sou “compositor”) − e mais programa¸c˜ ao; o cap´ıtulo 3 ´e para os alunos do C´ alculo Num´erico. ´ E com grata satisfa¸c˜ ao que deixo aqui consignado meus agradecimentos ao meu (ex-) aluno Adriano J. P. Nascimento que com grande competˆencia, boa vontade e desprendimento produziu as capas da maioria dos meus livros, e ainda se incumbiu da divulga¸c˜ao dos mesmos, a ele minha gratid˜ ao!. Gentil, o iconoclasta/Boa Vista-RR, 02.03.2018 3
Foto-Ariovaldo (p. 96)
Caro prof. Gentil, boa tarde. Sou professor do curso de engenharia el´etrica da Universidade S˜ ao Francisco, Campinas/SP. Gostaria de pedir a sua autoriza¸c˜ao para usar, como base para um curso de programa¸c˜ ao de calculadoras cient´ıficas HP, a sua apostila. Desde j´a, independentemente da sua autoriza¸c˜ao, agrade¸co a sua aten¸c˜ao e fa¸co elogios a sua apostila e site. Abra¸co fraterno. Luiz Carlos de Freitas J´ unior Professor do Curso de Engenharia El´etrica/Campus Campinas Professor Gentil, Chamo-me Cleber e sou acadˆemico do Curso de Engenharia Qu´ımica da Universidade Federal do Paran´ a. Estou escrevendo para parabeniz´ a-lo pela sua obra “Programando a HP 50g ”. Esse livro ´e fant´astico! Tem me ajudado muito. [. . . ] O seu livro fez toda a diferen¸ca no caminho que percorri para adentrar no fant´ astico mundo da programa¸c˜ao. [. . . ] (p. 97) Cleber Pertel Ol´ a, ˆ Sou Angelo Polloto aluno de Engenharia Eletrˆonica da UTFPR (Univ. Tecnol´ ogica Federal do Paran´ a)− Campos Toledo. Li uma parte do seu trabalho ensinando a programar na HP 50g . Sou muito grato por vocˆe tˆe-lo publicado j´a que o mesmo me ajudou, e ajudar´ a muito, durante a minha gradua¸c˜ao. Pe¸co-lhe gentilmente se posso recomend´a-lo para amigos da Universidade. Grato pela aten¸c˜ ao 4
Sum´ario
1 Programando a HP Prime 1.1 Introdu¸c˜ ao ` a programa¸c˜ ao da HP Prime 1.1.1 Programa¸c˜ ao num´erica . . . . . . 1.1.2 Como executar um programa . . 1.1.3 Programa¸c˜ ao alg´ebrica . . . . . . 1.2 Express˜oes e Fun¸c˜ oes . . . . . . . . . . . 1.3 Listas e Matrizes . . . . . . . . . . . . . 1.3.1 Listas . . . . . . . . . . . . . . . 1.3.2 O comando MAKELIST . . . . . . 1.3.3 Matrizes . . . . . . . . . . . . . . 1.3.4 O comando MAKEMAT . . . . . . . 1.4 Somat´ orios e produt´ orios . . . . . . . . ´ 1.5 Algebra . . . . . . . . . . . . . . . . . . Subrotinas . . . . . . . . . . . . . . . . 1.6 Estruturas de Programa¸ca˜o . . . . . . . 1.6.1 Estruturas c´ıclicas . . . . . . . . 1.6.2 Estruturas condicionais . . . . . • Tra¸cando gr´ aficos . . . . . . . . 1.7 Operadores l´ ogicos relacionais . . . . . . 1.8 Algumas fun¸c˜ oes especiais . . . . . . . . 1.8.1 A fun¸c˜ ao apply . . . . . . . . . . 1.8.2 A fun¸c˜ ao REPLACE . . . . . . . 1.8.3 A fun¸c˜ ao Map . . . . . . . . . . 1.8.4 A fun¸c˜ ao Zip . . . . . . . . . . . 1.8.5 A fun¸c˜ ao remove . . . . . . . . . 1.8.6 A fun¸c˜ ao solve . . . . . . . . . . • Tabela-Resumo . . . . . . . . . . . . 1.9 Polinˆ omios . . . . . . . . . . . . . . . . 1.10 N´ umero inteiro . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 8 10 15 19 24 28 28 30 35 38 41 46 50 51 52 62 65 67 71 71 72 76 77 78 79 80 82 90
2 Aplica¸ co ˜es - Mix 2.1 C´ alculo de combina¸c˜oes . . . . . . . . . . . . . . . . . . . . 2.2 Desenvolvimento N -´ario . . . . . . . . . . . . . . . . . . . . 2.3 Progress˜ ao aritm´etica bidimensional . . . . . . . . . . . . . 2.3.1 F´ormula do termo geral de uma PA-2D . . . . . . . 2.3.2 Soma dos termos de uma PA-2D . . . . . . . . . . . 2.3.3 Lineariza¸c˜ao de sequˆencias duplas . . . . . . . . . . 2.4 Progress˜ ao aritm´etica tridimensional . . . . . . . . . . . . . 2.4.1 F´ormula do termo geral de uma PA-3D . . . . . . . 2.4.2 Soma dos termos de uma PA-3D . . . . . . . . . . . 2.4.3 Lineariza¸c˜ao de sequˆencias triplas . . . . . . . . . . 2.5 Progress˜ ao aritm´etica de ordem m . . . . . . . . . . . . . . 2.5.1 F´ormula do termo geral de uma P.A.m . . . . . . . 2.5.2 Soma dos termos de uma P.A.m . . . . . . . . . . . 2.5.3 Diferen¸cas de ordem m . . . . . . . . . . . . . . . . 2.6 Progress˜ ao geom´etrica de ordem m . . . . . . . . . . . . . . 2.6.1 F´ormula do termo geral de uma P.G.m . . . . . . . 2.6.2 Produto dos termos de uma P.G.m . . . . . . . . . . 2.6.3 Quocientes de ordem m . . . . . . . . . . . . . . . . 2.6.4 Uma aplica¸c˜ao das P.G.m : C´ alculo de combina¸c˜oes 2.7 Um pequeno interregno cultural . . . . . . . . . . . . . . . . 2.8 A Curva de Peano e o Cubo Hiperm´ agico . . . . . . . . . . 2.8.1 A curva de Peano no cubo . . . . . . . . . . . . . . . 2.8.2 O cubo hiperm´ agico . . . . . . . . . . . . . . . . . . 2.9 C´ alculo da taxa de juros . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
99 100 103 107 111 116 120 134 140 149 151 157 159 170 174 179 180 188 189 195 199 205 229 233 237
3 Aplica¸ co ˜es ao C´ alculo Num´ erico 3.1 Interpola¸c˜ ao . . . . . . . . . . . . . . . . . 3.1.1 Interpola¸c˜ao de Lagrange . . . . . 3.1.2 Interpola¸c˜ao de Newton . . . . . . 3.1.3 Interpola¸c˜ao de Gregory-Newton . 3.2 Integra¸c˜ ao . . . . . . . . . . . . . . . . . . 3.2.1 Regra dos trap´ezios generalizada . 3.2.2 Primeira regra de Simpson . . . . 3.2.3 Segunda regra de Simpson . . . . . 3.2.4 Quadratura gaussiana . . . . . . . 3.2.5 Integral dupla . . . . . . . . . . . . 3.3 Equa¸c˜ oes Diferenciais Ordin´arias . . . . . • F´ormula de Taylor . . . . . . . . . 3.3.1 Problema de valor inicial (PVI) . . 3.3.2 M´etodo de Euler . . . . . . . . . . 3.3.3 M´etodo de Taylor de ordem p = 2 3.3.4 M´etodos de Runge-Kutta . . . . .
. . . . . . . . . . . . . . . .
255 256 261 269 277 287 288 291 293 295 307 314 315 324 327 332 334
6
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
Cap´ıtulo
1
Programando a HP Prime A despeito da cr´ıtica de Laplace, a vis˜ ao 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 come¸cou a inspirar alguns f´ısicos contemporˆ aneos, que provavelmente nunca ouviram falar de Leibniz. (Gregory Chaitin/Metamat!)
Introdu¸ c˜ ao: Uma diferen¸ ca (evolu¸ ca ~o) abissal! Como eu conhe¸co − apenas parcialmente, observo − o poder de c´aculo num´erico e alg´ebrico da HP Prime gostaria apenas de registrar nesta introdu¸c˜ao que fico deveras embasbacado (pasmo, estupefato) com o seguinte aspecto da evolu¸c˜ ao computacional humana:
Leibnitz (1646-1716)
Pascal (1623-1662)
7
− HP Prime (2013)
1.1
Introdu¸ c˜ ao ` a programa¸ c˜ ao da HP Prime
A calculadora gr´ afica HP Prime ´e uma potente e sofisticada ferramenta computacional, n˜ ao apenas num´erica como, ademais, alg´ebrica − e tamb´em gr´ afica. A seguir a legenda do teclado∗
→
→
A calculadora ´e um universo praticamente inesgot´ avel, apresentaremos aqui material suficiente para iniciar o leitor no fascinante universo da programa¸c˜ ao, daremos os primeiros passos na programa¸ c~ ao num´ erica e alg´ ebrica; muitos outros programas s˜ ao apresentados no desenvolver do presente livro − do cap´ıtulo 1 em diante. A HP Prime utiliza uma linguagem de proc˜ ao da HP grama¸c˜ ao pr´ opria conhecida como “linguagem de programa¸ Prime ”: Uma potente e sofisticada linguagem de programa¸ca ˜o. A base da calculadora ´e a vista de In´ıcio ( ), aqui podemos realizar todos os c´ alculos num´ ericos. Os c´ alculos simb´ olicos (ou alg´ ebricos) ), a ser exemplificado oportunamente. s˜ ao realizados na vista do CAS ( Escrevi um livro sobre programa¸c˜ao da calculadora HP 50g no qual adotei o modo pilha (RPN− Reverse Polish Notation), na HP Prime o modo RPN foi praticamente banido, j´a que n˜ ao podemos utiliz´ a-lo em programa¸c˜ao, sendo assim adotaremos em todo este livro o modo alg´ ebrico. ∗
Retirado do manual “Guia de consulta r´ apida”.
8
Inicialmente, coloque sua calculadora no modo de entrada alg´ ebrico
7−→ Nota: Enfatizamos que do in´ıcio ao fim deste livro a calculadora estar´ a fixada (configurada) no modo de entrada alg´ ebrico. Pois bem, voltando ` a Vista de In´ıcio (
) destacamos
→ Linha de entrada
Linha de entrada
A linha de entrada (de dados) no modo alg´ebrico ´e “unidimensional” teremos a tela da direita. (em uma linha); ap´ os pressionar
9
1.1.1
Programa¸c˜ ao num´ erica
Programar a calculadora significa introduzir em sua mem´ oria (RAM− Random Access Memory − mem´ oria de acesso aleat´orio) uma s´erie de instru¸c˜ oes e comandos para que ela os execute sequˆencialmente, cumprindo alguma tarefa espec´ıfica. Por exemplo, resolver uma equa¸c˜ao, multiplicar ou dividir polinˆ omios, imprimir textos, elaborar um gr´ afico, construir tabelas trigonom´etricas, etc. Para tanto ´e necess´ario que as instru¸c˜oes e os comandos sejam digitados no padr˜ao sint´ atico da linguagem da calculadora e dispostos sequˆencialmente na ordem em que devem ser executados. A fim de que a execu¸c˜ao seja perfeita e apresente os resultados objetivados com precis˜ao, n˜ ao basta atender ´ preciso que o programa n˜ estes requisitos. E ao contenha erros de l´ogica, cuja detec¸c˜ ao n˜ ao ´e feita pela calculadora, que est´ a preparada para apontar somente erros de sintaxe. Os recursos de programa¸c˜ao postos `a nossa disposi¸c˜ao pela calculadora HP Prime s˜ ao excepcionalmente valiosos e variados e a melhor forma de conhecˆe-los, entender sua finalidade e alcance e fix´a-los em nossa mem´ oria ´e atrav´es da pr´ atica. Embora mencionada como uma calculadora por causa de seu formato compacto similar aos dispositivos de c´alculo manuais t´ıpicos, a HP Prime deve ser vista como um sofisticado computador program´avel/gr´ afico. Antes de se iniciar a programa¸c˜ao de determinado problema ´e importante que se tenha bem claro em mente quais s˜ ao os dados de entrada e quais s˜ ao os dados de sa´ıda; por exemplo: ao quadr´ atica ax2 + bx + c = 0. 1o ) Resolver a equa¸c˜ √ −b ± b2 − 4ac x= 2a Temos:
a b c
r1 r2
REQ
Onde: − Dados de entrada: a, b e c. − Dados de sa´ıda: r1 e r2 (s˜ ao as ra´ızes).
− REQ: Vari´ avel que ir´ a armazenar o programa (e que ser´ a referenciada sempre que o programa for executado). 10
Observa¸ c˜ ao: o nome REQ ´e apenas um exemplo, o nome poderia ser um outro, a seu crit´erio. A bem da verdade existem algumas restri¸c˜oes na escolha do nome de uma vari´ avel. O modo mais pr´ atico ´e tentar um nome, caso a calculadora reclame (erro) mude-o. 2o ) Calcular o n−´esimo termo de uma progress˜ao aritm´etica: an = a1 + (n − 1)r Temos a1 r n
an
PA
Onde: − Dados de entrada: O primeiro termo a1 ; a raz˜ ao r da P.A. e a posi¸c˜ao n do termo que desejamos encontrar. − Dados de sa´ıda: O n−´esimo termo an .
− PA: Vari´ avel que ir´ a armazenar o programa (e que ser´ a referenciada sempre que o programa for executado). ormula para a soma dos n primeiros termos de uma pro3o ) Obter uma f´ gress˜ao aritm´etica: n(n − 1) r S n = n a1 + 2 Temos a1 FSPA
S(n) = n a1 +
r
n(n−1) r 2
Onde: − Dados de entrada: O primeiro termo a1 e a raz˜ ao r da P.A.. − Dados de sa´ıda: A fun¸c˜ ao soma dos termos, S(n).
− FSPA: Vari´ avel que ir´ a armazenar o programa (e que ser´ a referenciada sempre que o programa for executado).
11
Nosso primeiro programa Inicialmente vamos fazer um programa para calcular as ra´ızes de uma equa¸c˜ ao do 2 o grau √ √ −b − b2 − 4 a c −b + b2 − 4 a c e r2 = r1 = 2a 2a Entre na ´ area de programa¸c˜ao digitando as teclas
A calculadora exibir´ a a seguinte tela (esquerda):
↑ Estamos no Cat´ alogo de programas. Pressione a tecla virtual New, para um novo programa. A tela do centro ser´ a exibida. Escolha um nome para o programa − No caso escolhemos o nome REQ (Resolu¸c˜ao Equa¸c˜ao Quadr´atica). Pressione OK, a tela da direita ser´ a exibida. ao marcamos a caixa CAS. Nota: Na programa¸c˜ ao num´erica n˜ Pressionando OK novamente, a seguinte tela ser´ a exibida ↓Aqui
Dentro dos parˆenteses digite os dados de entrada do programa, separados por v´ırgula − como na tela do centro. Ap´os digite a primeira raiz, como na tela da direita.
12
Adendo: Declaramos as vari´ aveis r1 e r2 como sendo locais, s˜ ao vari´ aveis utilizadas exclusivamente numa determinada fun¸c˜ao. A utiliza¸c˜ao de vari´ aveis locais permite-lhe declarar e utilizar vari´ aveis que n˜ ao ir˜ ao afetar o resto da calculadora. Ao contr´ ario, uma vari´ avel dita global, ´e globalmente vis´ıvel − vis´ıvel onde quer que se esteja na calculadora. O comando
:=
´e de atribui¸ c˜ ao. Atribui um valor a uma vari´ avel. Ademais, existe uma outra forma de se armazenar (Sto) um valor em uma vari´ avel, por exemplo, 3 ◮ a. A sintaxe ´e Value◮Var; ou seja, o valor `a esquerda ´e armazenado na vari´ avel `a direita. Este operador pode ser acessado na tecla
As linhas em um programa na HP Prime s˜ ao separadas por ponto e v´ırgula; ou ainda, ao t´ermino de uma instru¸c˜ao, e ao iniciar a digita¸c˜ao da seguinte, separe-as por ; Por oportuno, vamos copiar o que j´a foi digitado na tela a seguir
r1 =
−b +
r2 =
−b −
√
b2 − 4 a c 2a
√
b2 − 4 a c 2a
para digitar a segunda raiz. Posicione o cursor no in´ıcio da linha a ser copiada, assim:
7→
ap´ os digite a sequˆencia de teclas do centro, acima. A tela da direita ser´ a 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. Ap´os clique na tecla virtual Copy. Na tela da direita j´a posicionamos o cursor onde a linha ser´ a copiada, fa¸ca isto. Pois bem, estando na tela a seguir
↑ digite a sequˆencia de teclas do centro (Colar). A tela da direita ser´ a exibida, com a linha a ser copiada marcada. Ap´os clique na tecla virtual Ok, a tela a seguir ser´ a exibida
↑
Fa¸ca as altera¸c˜ oes constantes na tela do centro. Ap´os concluir a digita¸c˜ao clique na tecla virtual Check para verificar se h´ a algum erro de sintaxe. para retornar ao cat´alogo de programas, Pressione em seguida OK e 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 apresentar apenas a que utilizaremos at´e 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 esque¸co 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 equa¸c˜ ao do 2 o grau x2 − 7 x + 10 = 0 Digite na linha de entrada o nome do programa e, entre parˆenteses, os dados requeridos pelo programa − observe a ordem −, como na tela a seguir
7−→ Ap´os, pressione e teremos a tela da direita, com o resultado desejado. A seguir fazemos mais uma simula¸c˜ao
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 programa¸c˜ao num´erica. Vamos fazer um programa para calcular o n-´esimo termo de uma progress˜ ao aritm´etica, a partir da f´ormula do termo geral an = a1 + (n − 1) r Entre novamente na ´ area de programa¸c˜ao
↑ Pedindo um novo programa, agora escolhemos o nome PA. Ap´os pressionar OK estamos na tela a seguir
completamos como na tela do centro. Na tela da direita executamos o programa − a partir da vista de in´ıcio −, para a progress˜ao aritm´etica a seguir 1
3
5
7
9
11
13 |{z}
15
17
...
n=7
Confira na f´ormula an = a1 + (n − 1) r
a7 = 1 + (7 − 1) · 2 = 13 Como nosso u ´ ltimo exemplo de programa¸c˜ao num´erica, vamos programar a f´ormula n(n − 1) r S n = n a1 + 2 da soma dos n primeiros termos de uma P.A.
16
Entre novamente na ´ area de programa¸c˜ao
↑ Vamos fazer diferente, ao inv´es 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 altera¸c˜oes 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)·2 2
= 36
Portanto, a soma dos seis primeiros termos da P.A. ´e 36, confira 1|
3
5
{z 7
S6 = 36
9
11} 17
13
15
17
...
As duas f´ormulas seguintes s˜ ao bastante u ´ teis em An´alise Real. Exemplo: O maior de dois n´ umeros. A seguinte f´ormula matem´ atica max{ a, b } =
a + b + |a − b| 2
nos fornece o maior de dois n´ umeros. Por exemplo max{ 2, 5 } =
2 + 5 + |2 − 5| =5 2
Exemplo: O menor de dois n´ umeros. A seguinte f´ormula matem´ atica min{ a, b } =
a + b − |a − b| 2
nos fornece o menor de dois n´ umeros. Por exemplo min{ −1, 0 } =
−1 + 0 − | − 1 − 0| = −1 2
Nas duas primeiras telas a seguir programamos estas f´ormulas
Na tela da direita temos algumas simula¸c˜oes (exemplos). ∗
∗
Algumas fun¸c˜ oes para n´ umeros reais
18
∗ (p. 32)
1.1.3
Programa¸c˜ ao alg´ ebrica
Na programa¸c˜ ao alg´ebrica, que ser´ a bastante utilizada ao longo de todo este livro, al´em de n´ umeros podemos ter f´ormulas na sa´ıda de um programa. Estes programas pertencem ` a vista do CAS − Computer Algebra System ´ (Sistema de Algebra Computacional).
Modo CAS Aproximado e Exato No modo CAS existe uma importante configura¸c˜ao, acesse assim
←− Ademais, pe¸ca isto
Aqui
Se Exact estiver marcado as opera¸c˜oes simb´ olicas ser˜ ao calculadas como express˜ oes alg´ebricas, caso contr´ ario como num´ericas. Ou ainda, com Exact ativo (marcado) as constantes ser˜ ao tratadas simbolicamente, caso contr´ ario, numericamente (i.e., aproximadas por seus valores num´ericos). 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 programa¸c˜ao alg´ebrica por um programa bem simples. Antes, volte a tivar Exact.
19
Nosso primeiro programa alg´ ebrico Vimos na p´ agina 15 que o programa para resolu¸c˜ao de uma equa¸c˜ao quadr´ atica a x2 + b x + c = 0, REQ, acusa um erro quando ∆ < 0. Com a programa¸c˜ ao alg´ebrica podemos corrigir esta falha. Entre na ´ area de programa¸c˜ao digitando as teclas
A calculadora exibir´ a 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 programa¸c˜ ao alg´ebrica assinalamos a caixa CAS. Ap´os pressionar OK na tela do centro, acima; digitamos o programa como na tela a seguir ւ
−→
Este programa ser´ a executado a partir da Vista do CAS. Pressione a tecla . Na tela do centro resolvemos a equa¸c˜ao x2 + 1 = 0
a = 1, b = 0, c = 1
∴
cujas ra´ızes s˜ ao os n´ umeros complexos i e −i. Na tela da direita mostramos a configura¸c˜ ao apropriada na Vista de In´ıcio − para que um n´ umero complexo seja exibido na forma alg´ebrica a + b i.
20
Exemplo: Considere a f´ormula do termo geral de uma P.A.:
an = a1 + (n − 1) r Faremos um programa onde entraremos com o primeiro termo a1 e a raz˜ ao r e na sa´ıda teremos a f´ormula do termo geral − e n˜ ao 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 progress˜ao aritm´etica 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 = 2 n − 1 Nota: Caso seu programa n˜ ao tenha saido com o resultado desejado ´e poss´ıvel que tenha algum valor previamente armazenado na vari´ avel n; por exemplo, na tela a seguir armazenamos 2 nesta vari´ avel
→
→
ao executar novamente o programa obtivemos um n´ umero e n˜ ao uma express˜ ao alg´ebrica. Para saber se existe um valor armazenado em uma vari´ avel basta digit´ a-la na linha de entrada e d´ a Enter, como na tela da direita (no caso da vari´ avel ser n, evidentemente). Caso exista algum n´ umero armazenado na vari´ avel este ser´ a mostrado. Na p´ agina seguinte mostramos como resolver este − eventual − problema. 21
Como resetar uma vari´ avel
Adendo: avel CAS, acesse a mem´ oria da calculaPara resetar (deletar) uma vari´ dora a partir das teclas:
Em seguida selecione CAS Vars
7−→
7−→
7−→
pe¸ca para ver as vari´ aveis do CAS; selecione a que deseja deletar, clique na tecla virtual Delete.
A bem da verdade, existe um m´etodo alternativo para se resetar algumas vari´ aveis: Escreva o comando purge com a vari´ avel entre parˆenteses. Por exemplo, na tela a seguir
armazenamos um valor na vari´ avel n, para deletar este valor escreva na linha de entrada como na tela do centro. Ao d´ a Enter, na tela da direita a calculadora mostra o valor que se encontrava armazenado na vari´ avel n, esta encontra-se agora resetada. Por exemplo, ao digitar n na linha de entrada e d´ a Enter esta aparecer´a “limpa”. Podemos resetar v´arias vari´ aveis simultaneamente, separe-as por v´ırgula no comando purge. 22
Exemplo: Vamos ver mais um exemplo de programa¸c˜ao alg´ebrica. A partir da f´ormula n(n − 1) r S n = n a1 + (1.1) 2 da soma dos n primeiros termos de uma P.A. vamos elaborar um programa que sair´ a com esta f´ormula para uma dada P.A.. Entre novamente na ´ area de programa¸c˜ao
Pressionando New escolhemos o nome FSPA, digitamos como na tela da direita. Ap´os Check, o programa n˜ ao cont´em erros. Vamos execut´a-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 parˆenteses, os dados e teremos a tela da requeridos pelo programa. Ap´os, pressione direita (acima). Da tela ` a direita temos que Sn = n2 ´e a f´ormula para a soma dos n primeiros termos da P.A. do exemplo dado. Vamos confirmar a sa´ıda do programa, a partir da f´ormula (1.1) Sn = n · 1 +
n(n − 1) 2 = n2 2 23
1.2
Express˜ oes e Fun¸c˜ oes
Na HP Prime existe uma importante distin¸c˜ao a ser feita: express˜ ao e fun¸ c˜ ao. Para os exemplos seguintes antes execute purge(x, y). Na tela a seguir criamos uma express˜ ao e mostramos como avali´a-la para um dado valor da vari´ avel
Na tela do centro criamos uma express˜ ao de duas vari´ aveis e a avaliamos para x = 1 e y = −1. O comando subst substitui uma vari´ avel (ou mais) em uma express˜ ao por um dado valor. Na tela da direita mostramos outra alternativa para se avaliar uma express˜ ao: atribua antes os valores das vari´ aveis, depois entre com a express˜ ao. Uma fun¸ c˜ ao para a HP Prime possui um ou mais argumentos entre parˆenteses, separados por v´ırgula. A tela a seguir mostra como definimos a fun¸c˜ ao f (x) = x2 + 2 x + 1
Ap´os Enter teremos a tela do centro; `a direita avaliamos esta fun¸c˜ao para x = 1. A prop´osito, um programa ´e visto como sendo uma fun¸c˜ao. A seguir definimos a fun¸c˜ao de duas vari´ aveis f (x, y) = 2 x3 + 4 y − 1
Ap´os Enter teremos a tela do centro; `a direita avaliamos esta fun¸c˜ao para x = 1 e y = −1. 24
Um pequeno interregno cultural Pergunte ao seu professor de matem´ atica quanto vale “o quadrado de uma torre do xadrez mais trˆes vezes um telefone adicionados `a raiz quadrada da torre dividida pelo telefone”. − quanto vale esta singela opera¸c˜ao? Se por acaso ele n˜ ao souber a HP Prime sabe; sen˜ ao vejamos, inicialmente definimos a seguinte fun¸c˜ ao de duas vari´ aveis
ao d´ a 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 raz˜ ao “Mais importante at´e que sua l´ ogica matem´ atica era a concep¸c˜ao que Boole tinha da pr´ opria matem´ atica. Na Introdu¸c˜ao a sua An´ alise Matem´ atica da L´ ogica o autor faz obje¸c˜ oes ` a concep¸c˜ao ent˜ao corrente da matem´ atica como ciˆencia da grandeza e do n´ umero (defini¸c˜ao ainda adotada em alguns dicion´ arios inferiores). Defendendo uma vis˜ao mais ampla, Boole escrevia: Poder´ıamos com justi¸ca tomar como caracter´ıstica definitiva de um verdadeiro C´ alculo, que ´e um m´etodo que se ap´ oia no uso de S´ımbolos, cujas leis de combina¸ca ˜o s˜ ao conhecidas e gerais, e cujos resultados ad´ com base nesse princ´ıpio geral mitem uma interpreta¸ca ˜o consistente . . . E que eu pretendo estabelecer o C´ alculo da L´ ogica, e que reinvindico para ele um lugar entre as formas reconhecidas da An´ alise Matem´ atica. ´ A Algebra de Peacock de 1830 tinha sugerido que os s´ımbolos para objetos na ´ algebra n˜ ao precisam indicar n´ umeros, e De Morgan arg¨ uia que as interpreta¸c˜ oes dos s´ımbolos para opera¸c˜oes eram tamb´em arbitr´arias; Boole levou o formalismo ` a sua conclus˜ao. A matem´ atica j´a n˜ ao estava limitada a quest˜oes de n´ umero e grandeza cont´ınua. Aqui pela primeira vez est´ a claramente expressa a id´eia de que a caracter´ıstica essencial da matem´ atica ´e n˜ ao tanto seu conte´ udo quanto sua forma. Se qualquer t´opico ´e apresentado de tal modo que consiste de s´ımbolos e regras precisas de opera¸c˜ao sobre esses s´ımbolos, sujeitas apenas ` a exigˆencia de consistˆencia interna, tal t´opico ´e parte da matem´ atica.” (Carl B. Boyer/Hist´ oria da Matem´ atica)
25
Adendo Matem´ atica: Esta “ciˆencia vazia” que − espantosamente − se aplica a todas as contingˆencias fenomenol´ ogicas, apesar de ser um puro formalismo reflexivo. O objetivo deste adendo ´e exemplificar o sentido da seguinte afirma¸c˜ao: ´ “A Algebra de Peacock de 1830 tinha sugerido que os s´ımbolos para objetos na ´ algebra n˜ ao precisam indicar n´ umeros, e De Morgan arg¨ uia que as interpreta¸c˜ oes dos s´ımbolos para opera¸c˜oes eram tamb´em arbitr´arias.” Com efeito, consideremos a seguinte express˜ ao simb´ olica: “Uma torre mais duas vezes um cavalo menos trˆes vezes uma tesoura” como vemos em destaque na tela a seguir
Esta express˜ ao, por si s´ o, n˜ ao faz o menor sentido, ou ainda, ´e vazia de significado e, por isto mesmo, ela ´e potencialmente infinita, isto ´e, pode comportar infinitas interpreta¸c˜oes. Por exemplo na tela da direita atribuimos o n´ umero 4 ` a torre, o n´ umero 5 ao cavalo e o n´ umero 8 `a tesoura; nestas condi¸c˜ oes a express˜ ao torna-se igual ao n´ umero −10.
Mas podemos fazer diferente, vamos atribuir matrizes a estes trˆes objetos, como na tela a seguir
as opera¸c˜ oes agora tamb´em s˜ ao diferentes, o resultado ´e uma matriz. Vejamos ainda uma terceira alternativa; na tela da direita os objetos agora s˜ ao polinˆ omios, de igual modo, agora as opera¸c˜oes s˜ ao entre polinˆ omios, o resultado da express˜ ao ´e um polinˆ omio. Em resumo: somos n´ os mesmos que escolhemos o que a express˜ ao deve significar; podemos generalizar e afirmar: “assim se d´ a com os infinitos significados que atribuimos ao mundo”. 26
Exemplo: Retomando, Vamos Editar o programa alg´ebrico FPA (p. 21)
↑
para sair com uma fun¸c˜ ao, como na tela do centro. Na tela da direita rodamos o programa para a progress˜ao aritm´etica 1
3
5
7
9
11
13 |{z}
15
17
...
a(7)
Na sa´ıda temos a fun¸c˜ ao a(n) = 2 n − 1 e, a seguir, calculamos a(7) = 2 · 7 − 1 = 13 Exemplo: A partir da f´ormula da soma dos termos da P.A. n(n − 1) r 2
S n = n a1 +
vamos elaborar um programa para sair com esta f´ormula. 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
{z 7
9
S(6)
e, a seguir, calculamos em St(n) = n2 :
11}
St(6) = 62 = 36 27
13
15
17
...
1.3
Listas e Matrizes
Com o objetivo de aumentar ainda mais nosso poder (potˆencia) de programa¸c˜ ao ´e que incluimos nesta sec¸c˜ao dois importantes recursos para programa¸c˜ ao: listas e matrizes.
1.3.1
Listas
Uma lista ´e constituida de objetos (n´ umeros, letras, matrizes, etc.) entre chaves e separados por v´ırgula. Uma lista ´e o que comumente conhecemos por conjunto, na matem´ atica. Exemplo de lista: { 1, 5, a, { b, c } } Lista ´e um recurso muito importante para manipula¸c˜ao 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)
Ap´os, pressione
para obter a tela da direita.
Importante: Estamos na vista do CAS; para que a letra a, por exemplo, apare¸ca como elemento da lista nesta letra n˜ ao deve constar nenhum valor previamente armazenado, deve estar resetada. Veja adendo, p´ agina 22. A mesma observa¸c˜ ao vale para as demais letras, obviamente. As listas podem ser armazenadas (guardadas) em uma vari´ avel. Por exemplo, escreva L1:= na linha de entrada, clique sobre a lista, como na tela a seguir
agora clique em Copy para obter uma c´opia; ap´ os Enter teremos a tela da direita, agora a lista encontra-se armazenada na vari´ avel L1. 28
Acessando os elementos de uma lista Podemos ter acesso aos elementos de uma lista digitando o nome da lista e a posi¸c˜ ao do elemento entre parˆenteses. 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 dimens˜ ao de uma lista Existem dois comandos, SIZE e DIM, que nos d˜ ao o comprimento e a dimens˜ao de uma lista, respectivamente. Por exemplo, na tela a seguir criamos uma lista e a guardamos na vari´ avel L2
na tela do centro pedimos o comprimento da lista (n´ umero de elementos, como na matem´ atica) e na tela da direita sua dimens˜ao. Nas telas a seguir
mostramos como acessar os dados desta lista. 29
1.3.2
O comando MAKELIST
Um importante comando em programa¸c˜ao ´e MAKELIST, cuja sintaxe ´e vista a seguir MAKELIST (express˜ ao, vari´ avel, inicio, fim, incremento) Cria uma lista a partir da express˜ ao `a medida que a vari´ avel assume valores do in´ıcio ao fim, tendo em conta o incremento. Exemplo: Nas telas a seguir vemos trˆes exemplos
Nota: Na vista do CAS digite o comando MAKELIST − na linha de entrada − em letras mai´ usculas, caso contr´ ario pode dar problemas. Parti¸ c˜ ao de um intervalo Para obter uma parti¸c˜ao (regular) do intervalo num´erico [ a, b ] em N subintervalos de mesmo comprimento h, fazemos h = b−a N , no que resulta xn = x0 + n h,
[ a = x0
x1 h
x2
n = 0, 1, 2, . . . , N.
...
xn−1
h
] xn = b
x
h
Por exemplo, para x ∈ [ a, b ] = [ 0, 1 ] e N = 4 subintervalos, temos h=
1−0 1 b−a = = = 0. 25 N 4 4
A discretiza¸c˜ ao do intevalo fica: p x0 = 0
p x1 =
(n = 0, 1, 2, 3, 4)
p 1 4
x2 =
p 1 2
30
x3 =
p 3 4
x4 = 1
x
Utilizando o comando MAKELIST vamos elaborar um programa que recebe a, b e N , e sai com uma lista contendo a parti¸c˜ao do intervalo [ a, b ]. O programa ´e como a seguir
Na tela da direita temos uma simula¸c˜ao, confira geometricamente p
p
x0 = 0
x1 =
p 1 4
x2 =
p 1 2
x3 =
x
p 3 4
x4 = 1
Amostragem de uma fun¸ c˜ ao nos pontos de uma parti¸c˜ ao y
f yn
p
s
.. . y1
p
s
p
y0
0
s
p x0 = a
p x1
p
···
x2
p
x
xn = b
O programa a seguir usa o comando MAKELIST para amostrar uma fun¸c˜ao nos pontos de uma parti¸c˜ ao do intervalo [ a, b ] 2
1
−1
0
1
Na tela do centro amostramos a fun¸c˜ao 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) s˜ ao uma cole¸c˜ ao de menus que oferecem fun¸c˜oes e comandos u ´ teis em matem´ atica e programa¸c˜ ao. 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 des¸ca at´e o item 6 (List), como na tela a seguir
Selecionando este item comparecem v´arios comandos para se operar com listas, veja tela da direita. Os menus Matem´atica, CAS e Cat´ alogo (Catlg) oferecem mais de 400 fun¸c˜ oes e comandos.
32
Nas telas a seguir, temos algumas simula¸c˜oes
MAKELIST gera uma lista, como j´a vimos; SORT classifica os elementos de uma lista na ordem crescente; REVERSE reverte a ordem da lista; CONCAT concatena duas listas; POS nos d´ a a posi¸c˜ao de um elemento que est´ a numa lista. Na tela a seguir
SIZE nos d´ a o comprimento de uma lista, como j´a vimos; ∆LIST cria uma nova lista composta pelas primeiras diferen¸cas de uma lista; isto ´e, as diferen¸cas entre elementos consecutivos na lista. A nova lista tem um elemento P a menos queQa 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 n˜ ao comuns de duas listas; UNION apresenta a uni˜ ao das listas como um vetor; INTERSECT apresenta a intersec¸c˜ ao de duas listas como um vetor∗ . Observei que ), a uni˜ ao e a intersec¸c˜ao de duas listas ´e uma lista, na vista de in´ıcio, ( como deve ser.
∗
Logo mais veremos o que ´e um vetor para a HP Prime .
33
Um Belo Desafio! − A quem interessar possa. Introdu¸ c˜ ao: 12
Considere a sequˆencia dos quadrados dos naturais
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 diferen¸ cas entre os termos da sequˆencia dos quadrados dos naturais. Considere a sequˆencia dos cubos dos n´ umeros 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
...
...
es diferen¸ cas entre os termos da sequˆencia dos cubos dos produzimos trˆ n´ umeros naturais. A calculadora HP Prime possui uma fun¸c˜ao ∆List que produz a diferen¸ca entre os termos de uma lista
Desafio: Considere a sequˆencia dos naturais `a m-´esima potˆencia: 1m
2m
3m
4m
5m
6m
7m
...
prove que m diferen¸cas entre os termos desta sequˆencia resulta sempre numa constante igual a m! . Gentil, o iconoclasta
[email protected]
Boa vista-RR/06.08.2016
34
1.3.3
Matrizes
Uma das potˆencias da HP Prime ´e o trato com matrizes, tanto num´ericas quanto simb´ olicas. Por exemplo, veja
Podemos at´e multiplicar duas matrizes simb´ olicas, como aparece na tela da direita. Reiteramos: Estamos na vista do CAS; para que a letra a, por exemplo, apare¸ca como elemento da matriz nesta letra n˜ ao deve constar nenhum valor previamente armazenado, deve estar resetada. Veja adendo, p´ agina 22. Criando matrizes As matrizes podem ser criadas a partir da linha de entrada, veja como criamos as telas anteriores, respectivamente
Em cada caso ap´ os primar teremos as (respectivas) matrizes expostas no in´ıcio. Um computador foi apenas programado, ele n˜ ao sabe o que diz!
Assim acontece com muitos seres humanos! − foram apenas programados; seus discursos podem at´e envolver alguma “l´ogica”, mas no final n˜ ao significam nada!. Eva mordeu uma ma¸c˜a . . . por isso toda a humanidade se ferrou! Este discurso n˜ ao faz mais sentido que a opera¸c˜ao . . . pasm´em!.
35
Da mesma forma que fizemos com as listas, podemos guardar uma matriz em uma vari´ avel. 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), pe¸ca uma c´ opia (Copy), ap´ os Enter teremos a tela da direita, com a matriz j´a armazenada na vari´ avel MT1.
Acessando os elementos de uma matriz Podemos ter acesso aos elementos de uma matriz digitando o nome da matriz e a posi¸c˜ ao do elemento entre parˆenteses − exatamente como na matem´ atica. 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
C´ alculo de Matrizes com Elementos Alg´ ebricos Um estudante de engenharia civil (Liercio Feital) me escreveu com a seguinte d´ uvida∗ : 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 vari´ avel − na verdade uma fun¸c˜ao − de dois parˆ ametros (E e teremos a tela da direita. MLF pode ser vista como uma L), ap´ os fun¸c˜ao de duas vari´ aveis. Na tela a seguir
fazemos uma simula¸c˜ ao, isto ´e, digitamos na linha de entrada MLF(10,2), teremos o resultado. Na tela da direita, temos o programa ap´ os equivalente. ∗
Ainda na HP 50g .
37
Pedindo as dimens˜ oes de uma matriz Um importante comando em programa¸c˜ao ´e DIM, que nos devolve o tamanho de uma matriz, na tela a seguir
temos uma matriz de ordem {2, 3}; na tela da direita armazenamos uma matriz na vari´ avel MTZ, depois pedimos a dimens˜ao da matriz.
1.3.4
O comando MAKEMAT
Um importante comando em programa¸c˜ao ´e MAKEMAT, cuja sintaxe ´e vista a seguir MAKEMAT (express˜ ao, linhas, colunas) Cria uma matriz com a dimens˜ao linhas × colunas, utilizando a express˜ ao para calcular cada elemento. Se a express˜ ao cont´em as vari´ aveis I e J, ent˜ao, o c´ alculo para cada elemento substitui o n´ umero de linha atual para I e o n´ umero da coluna atual para J. A seguir vemos dois exemplos
na tela da esquerda construimos uma matriz 2 × 2 com termo geral dado por aij = j − i2 ; na tela da direita construimos uma matriz 3 × 4 com termo geral dado por aij = i − 2 j. Devemos usar letras mai´ usculas na express˜ ao da matriz, o i min´ usculo ´e reservado para a unidade complexa. Nota: Na vista do CAS (a que estamos trabalhando) digite o comando − na linha de entrada − em letras mai´ usculas: MAKEMAT.
38
A prop´osito, vejamos um exemplo um pouco mais sofisticado. A matriz a seguir
aij = ( −1 )
i−1 j−1 2
serve para o c´ alculo de combina¸co˜es, como pode ser visto na referˆencia [6]. O s´ımbolo ⌊ x ⌋ representa a fun¸ca˜o m´ aximo inteiro (que n˜ ao supera x), ou fun¸c˜ao piso. Na HP Prime ´e denotada por FLOOR, na tela a seguir vemos alguns exemplos
Na tela da direita construimos a matriz aij , 4 × 2, dada pela equa¸c˜ao acima. Na tela a seguir usando a equa¸c˜ ao aij construimos uma fun¸c˜ao de duas vari´ aveis (programa): m, n´ umero de linhas e n, n´ umero de colunas.
Nas telas do centro e direita temos duas simula¸c˜oes. Observe que os programas na HP Prime resultam bastante compactos − simples, enxutos, est´eticos. Perguntamos se em outras linguagens de programa¸c˜ ao obter´ıamos este mesmo n´ıvel de simplifica¸c˜ao (?).
39
Vetores Vetor na HP Prime ´e uma matriz unidimensional (uma linha), por exemplo [ −1, 2, 5, 7 ]
´ importante fazer distin¸c˜ao entre um vetor e uma matriz de uma u E ´ 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 n˜ ao reclamou (erro), no entanto, forneceu o valor errado!, em seguida acessamos corretamente o quarto elemento do vetor. ∗
∗
∗
Importante: H´a 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,
40
Na vista do CAS.
1.4
Somat´ orios e produt´ orios
Somat´ orios Um outro importante recurso para programa¸c˜ao ´e o somat´ orio. Acesse o somat´ orio primando a tecla
A sintaxe do somat´ orio ´e X (express˜ ao, vari´ avel, in´ıcio, fim)
Por exemplo, observe a equivalˆencia
X (express˜ ao, vari´ avel, in´ıcio, fim)
⇐⇒
5 X
k2
k=1
Ou ainda X (k ∧ 2, k, 1, 5) | {z }
⇐⇒
na HP Prime
5 X
k2
k=1
Por exemplo, digitando na linha de entrada
pressionando
teremos o resultado na tela da direita. Isto ´e 5 X
k2 = 12 + 22 + 32 + 42 + 52 = 55
k=1
41
Somat´ orio e resultados alg´ ebricos Nota: Para os exemplos que se seguem, certifique-se de que a vari´ avel n est´ a resetada − adendo, p. 22.
O somat´ orio produz at´e resultados alg´ebricos, digitando na linha de entrada k variando de 1 a n
pressionando
teremos o resultado na tela da direita. Portanto n X
k2 =
k=1
2n3 + 3n2 + n 6
Caso se queira o resultado fatorado, escreva factor() na linha de entrada, clique na express˜ ao e pe¸ca uma c´opia
pressionando
teremos o resultado na tela da direita. Portanto n X
k=1
k2 =
n (n + 1) (2 n + 1) 6
42
Podemos at´e criar fun¸c˜ oes envolvendo somat´ orios; por exemplo, digitando na linha de entrada X f (m, n) := (k ∧ m, k, 1, n) temos uma fun¸c˜ ao de duas vari´ aveis 1 |1
21
1| 2
22
31 {z 41 51 6 X f (1, 6)= k1 = 21 k=1
f (2, 5)=
3{z2 5 X
42 k2 = 55
k=1
52}
61}
62
Na tela vemos duas simula¸c˜ oes. Somat´ orio e s´ eries Podemos at´e somar algumas s´eries, por exemplo, considere a progress˜ao geom´etrica infinita 1 1 1 1 , , , , ... 2 4 8 16 na tela a seguir digitamos a soma dos termos desta P.G.
na tela do centro temos o resultado, portanto ∞
X 1 1 1 1 1 + + + + ... = = 1 2 4 8 16 2k k=1
43
Produt´ orios O produt´ orio ´e acessado de modo semelhante ao somat´ orio, ver tela na p´ agina 41; a sintaxe ´e a mesma. Aqui vamos t˜ ao somente ilustrar como podemos explorar a computa¸c˜ao alg´ebrica (CAS) para obter f´ormulas que n˜ ao encontram-se nos livros did´ aticos de matem´ atica. Por exemplo, os livros sobre progress˜ao aritm´etica n˜ ao trazem uma f´ormula para o produto dos seus termos. A partir da f´ormula do termo geral an = a1 + (n − 1) r vamos encontrar uma f´ormula para o produto dos n primeiros termos Pn = a1 · a2 · a3 · . . . · an =
n Y
k=1
ak =
n Y
k=1
a1 + (k − 1) r
Como dissemos nenhum autor de livro did´ atico nos apresenta uma tal f´ormula, a HP Prime poder´ a nos fornecer uma, veja como ´e f´acil: digitando como na tela da esquerda
dando Enter a f´ormula ´e como na tela da direita!. Nota: Reset todas as vari´ aveis envolvidas. Observe que podemos at´e nos d´ a ao luxo de n˜ ao anotar nada, para isto ˜o produto, Pt(a1 , r); assim, escreva na linha de entrada basta criar uma fun¸ca Pt(a1 , r) e clique sobre a express˜ ao, como na tela a seguir
pe¸ca uma c´ opia (Copy), ao d´ a Enter na tela da direita j´a temos a fun¸c˜ao!. Nota: Poderiamos ter criado uma fun¸c˜ao de trˆes vari´ aveis, incluindo n, preferimos assim para ilustrar como a partir desta f´ormula podemos deduzir v´arias outras como corol´ ario. 44
Exemplo: Encontre uma f´ormula para o produto a seguir 1 · 2 · 3 · ··· · n Solu¸ c˜ ao: Aqui temos o produto dos n primeiros termos da P.A. em que a1 = 1 e r = 1; substituindo na f´ormula Pt(a1 , r), resulta
1 · 2 · 3 · · · · · n = n!
Exemplo: Encontre uma f´ormula para o produto a seguir 2 · 4 · 6 · ... · 2n Solu¸ c˜ ao: Aqui temos o produto dos n primeiros termos da P.A. em que a1 = 2 e r = 2; substituindo na f´ormula Pt(a1 , r), resulta
2 · 4 · 6 · . . . · 2 n = 2n · n!
Exemplo: Encontre uma f´ormula para o produto dos n primeiros ´ımpares 1 · 3 · 5 · ... · 2n − 1 Solu¸ c˜ ao: Aqui temos o produto dos n primeiros termos da P.A. em que a1 = 1 e r = 2; substituindo na f´ormula Pt(a1 , r), resulta
Na tela do centro criamos uma nova fun¸c˜ao, FPI(n), na tela da direita fazemos alguns testes . . . tudo isto contribuindo para a preserva¸c˜ao do meio ambiente!, digo, sem usar um u ´ nico l´apis para anota¸c˜oes!. 45
1.5
´ Algebra
Menu CAS Nas telas a seguir mostramos como acessar alguns comandos para manipula¸c˜ oes alg´ebricas.
Vejamos alguns comandos. 1) Simplificar Apresenta uma express˜ ao simplificada. simplify(Expr) 2) Colecionar Recolhe termos semelhantes numa express˜ ao polinomial (ou numa lista de express˜ oes polinomiais). Decomp˜ oe os resultados, consoante as defini¸c˜oes CAS. collect(Poly)
ou
collect({Poly1, Poly2,..., Polyn})
Exemplos:
46
3) Expandir Apresenta uma express˜ ao expandida. expand(Expr) 4) Decompor Apresenta um polinˆ omio decomposto (fatorado). factor(Poly) Exemplos:
Nota: Para estes exemplos a configura¸c˜ao CAS da sua calculadora deve ser como na tela da direita. 5) Substitue Substitui um valor por uma vari´ avel numa express˜ ao. subst(Expr,Var=valor) 6) Fra¸ c˜ ao parcial Realiza a decomposi¸c˜ ao de uma fra¸c˜ao em fra¸c˜oes parciais. partfrac(RatFrac) Exemplos:
47
Mudando a configura¸c˜ao 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 decomposi¸c˜ ao sobre os Complexos.
Extra¸ c˜ ao 7) Numerador Numerador simplificado. Para os n´ umeros inteiros a e b, apresenta o numerador da fra¸c˜ ao a/b ap´ os a simplifica¸c˜ao. numer(a/b) 8) Denominador Denominador simplificado. Para os n´ umeros inteiros a e b, apresenta o denominador da fra¸c˜ ao a/b ap´ os a simplifica¸c˜ao. denom(a/b) Exemplos:
48
9) Lado esquerdo Apresenta o lado esquerdo de uma equa¸c˜ao ou a extremidade esquerda de um intervalo. left(Expr1=Expr2)
ou
left(Real1..Real2)
10) Lado direito Apresenta o lado direito de uma equa¸c˜ao ou a extremidade direita de um intervalo. right(Expr1=Expr2)
ou
right(Real1..Real2)
Exemplos:
Uma aplica¸c˜ ao interessante destes comandos ´e que podemos extrair a base e o expoente em uma potˆencia de expoente fracion´ario, como na tela da direita. Funciona at´e mesmo com potˆencias alg´ebricas, veja:
Na tela da direita mostramos como fatorar o expoente do numerador da seguinte fra¸c˜ ao 2 2x −1 x3 − 1 Ent˜ao 2 2x −1 2(x−1)(x+1) = x3 − 1 x3 − 1
49
Subrotinas Um recurso (ou t´ecnica) bastante utilizado em programa¸ca˜o ´e o que se chama de subrotina, que consiste na possibilidade de um programa ser acessado por um outro. Uma situa¸c˜ ao em que ´e recomend´avel o uso de subrotina ´e quando temos um conjunto de instru¸c˜oes que ´e utilizado em diversas partes de um programa e para que n˜ ao seja reescrito diversas vezes, ´e colocado em um programa ` a parte onde o primeiro programa (podemos cham´ a-lo de principal) acessa o segundo (subrotina). Podemos resumir a ideia no seguinte diagrama:
P.P.
Subrotina
Aten¸ c˜ ao!: Os dados requeridos pelo programa subrotina s˜ ao passados pelo programa principal. Oportunamente estaremos exemplificando este conceito.
50
1.6
Estruturas de Programa¸c˜ ao
Introdu¸ c˜ ao Uma estrutura de programa¸ c˜ ao permite a um programa tomar uma decis˜ ao sobre como ele deve ser executado, dependendo das condi¸c˜oes dadas ou dos valores de argumentos em particular. Um uso cuidadoso e inteligente destas estruturas torna poss´ıvel a cria¸c˜ao de programas com extraordin´ aria flexibilidade. Diriamos que a programa¸c˜ ao propriamente dita come¸ca aqui com estruturas de programa¸c˜ ao, pois o que fizemos anteriormente foi praticamente a programa¸c˜ ao de f´ormulas apenas. Estas estruturas que iremos estudar s˜ ao comuns a v´arias linguagens de programa¸c˜ ao, como por exemplo, PASCAL, FORTRAN, C++ , MATLAB, etc. Quero dizer: vocˆe entendendo-as neste contexto, tamb´em estar´ a apto a execut´a-las em qualquer outra linguagem em que estas se fa¸cam presentes; da´ı a importˆ ancia de entendˆe-las nesta aqui, isto ´e, na HP Prime .
Estruturas de programa¸c˜ ao As estruturas que iremos estudar s˜ ao as seguintes:
• Estruturas c´ıclicas :
• Estruturas condicionais :
FOR
FOR - STEP
WHILE - REPEAT - END
IF - THEN - END
IF - THEN - ELSE - END
Existem outras estruturas, mas estas s˜ ao suficientes para os nossos prop´ ositos.
51
1.6.1
Estruturas c´ıclicas
FOR Apenas para exemplificar o uso desta estrutura vamos construir um programa para calcular a soma dos N primeiros n´ umeros Naturais. Isto ´e, queremos o valor de: N X
i=1
i = 1 + 2 + 3 + ··· + N
Devemos fornecer ao programa o valor de N (at´e 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 vari´ avel que vai acumular a soma com o valor 0. Para inserir a estrutura FOR no programa pressione a tecla virtual assinalada (Tmplt); des¸ca at´e o item 3Loop; v´a para a direita. Estamos na tela da direita acima. Agora pressione ; ap´ os, teremos a tela a seguir
complete o programa conforme tela da direita. Ademais, por uma quest˜ao de legibilidade coloque o END na mesma vertical do FOR, ´e o que chamamos de identa¸ca ˜o. Podemos executar o programa diretamente da vista do CAS.
52
Estando na vista do CAS digite o nome do programa e, entre parˆenteses, os dados requeridos pelo programa; como, por exemplo, na tela a seguir
→ Isto significa que 5 X
I = 1 + 2 + 3 + 4 + 5 = 15
I =1
Como funciona a estrutura FOR FOR contador FROM in´ıcio TO fim DO cl´ ausula c´ıclica Loop END
Esta estrutura executa uma por¸c˜ao do programa por um n´ umero definido de vezes usando o conte´ udo de uma vari´ avel local como contador, a qual pode ser usada dentro do loop para c´alculos ou outros prop´ositos. No final ao o contador ´e do loop o contador ´e testado se j´a atingiu o fim, caso n˜ incrementado de uma unidade e a cla´ usula c´ıclica ´e executada mais uma vez; este processo se repete at´e que o contador atinja o fim, quando ent˜ao o loop ´e abandonado. No programa ao lado temos: I: contador, 1: in´ıcio do contador, N: fim do contador, S:= S+I: cl´ ausula c´ıclica. Neste caso o contador est´ a sendo utilizado dentro do loop. No caso deste programa a vari´ avel 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 vari´ avel de controle pode ser incrementada de um valor diferente da unidade.
FOR - END’s concatenados O que chamamos de concatena¸c˜ao de FOR - END’s ´e o mesmo que encaixe (ou aninhamento) de FOR - END’s que, dependendo do programa, pode tomar diversas configura¸c˜oes. Por exemplo, assim: FOR FOR
a)
b)
FOR FOR FOR
FOR FOR
c)
END END END
END END
END FOR END END
Dentre muitas outras aplica¸c˜oes a concatena¸c˜ao ´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 = 2n−m , a soma de todos os elementos que comp˜ oe 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 simula¸c˜oes. Observe que o programa foi elaborado na vista de in´ıcio − e n˜ ao na vista do CAS. Observe que temos uma concatena¸c˜ao tipo a ). O primeiro FOR (ou ainda, o primeiro la¸co) 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 quest˜ao do vestibular, clique na primeira matriz (tela anterior), pe¸ca uma c´opia para a linha de entrada, eleve ao quadrado e some os elementos. 54
O programa anterior foi feito apenas para ilustrar a concatena¸c˜ao 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 simula¸c˜ao para N = 3. Digamos que vocˆe queira os elementos da matriz n˜ ao na forma de fra¸c˜ao, mas aproximados (approx) com trˆes 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 implementados com a estrutura “FOR”. 1) Fa¸ca um programa para sair com os N primeiros termos de uma P.A. (progress˜ ao aritm´etica), de dois modos distintos: ( a ) em uma lista ( b ) em um vetor. 2) Fa¸ca um programa para calcular o produto dos N primeiros termos de uma P.A. 3) Fa¸ca um programa para calcular a soma dos N primeiros termos de uma P.G. n X i2 . 4) Fa¸ca um programa para calcular o seguinte somat´ orio: i=1
5) Seja a sequˆencia 1,
1,
−1,
−1,
1,
1,
−1,
−1,
1,
1,
−1,
−1,
...
cuja f´ormula do termo geral e do produto s˜ ao, respectivamente an = (−1)
(n−1)(n−2) 2
e Pn = (−1)
n(n−1)(n−2) 6
Fa¸ca um programa para sair com um vetor contendo os N primeiros termos desta sequˆencia e mais ainda o produto destes N primeiros termos. n X im ; onde m e n s˜ ao 6) Fa¸ca um programa para calcular o somat´ orio: i=1
valores arbitr´arios que devem ser fornecidos ao programa. 7) Fa¸ca um programa para calcular a soma, 1 · 2 + 2 · 3 + 3 · 4 + · · · + n · (n + 1)
8) Fa¸ca um programa para calcular o produto interno canˆ onico de dois vetors, assim: [ a1
a2 . . . an ] · [ b1
b2 . . . bn ] = a1 · b1 + a2 · b2 + · · · + an · bn
9) Fa¸ca um programa para sair com um vetor contendo os N primeiros termos de uma P.A., usando a f´ormula de recorrˆencia (defini¸c˜ao) de uma P.A.: a1 = a a
n
= an−1 + r, n ≥ 2.
56
10) Fa¸ca um programa para sair com um vetor contendo os N primeiros termos de uma P.G., usando a f´ormula de recorrˆencia (defini¸c˜ao) de uma P.G.: a1 = a a
= an−1 · q, n ≥ 2.
n
11) Fa¸ca um programa para sair (em lista ou vetor) com os N primeiros termos das seguintes sequˆencias : ( i ) a1 = 4; an = (−1)n · an−1 . ( ii ) a1 = −2; an = (an−1 )2 .
12) (U.F.CE -81) Os termos da sucess˜ao a1 , a2 , . . . , an , est˜ ao relacionados pela f´ormula an+1 = 1 + 2 · an , onde n = 1, 2, 3, . . .. Se a1 = 0, ent˜ao a6 ´e: a ) 25
b ) 27
c ) 29
d ) 31
13) (PUC-SP - 81) Na sequˆencia (a1 , a2 , . . .) tem-se: a1 = 1 e an+1 =
2 + a2n 2an
Qual dos n´ umeros abaixo est´ a mais pr´ oximo de a3 ? √ √ d) 3 a)1 b)2 c) 2
√ e) 5
Nota: Lembramos que nestes exerc´ıcios queremos que vocˆe fa¸ca um pouco mais do que o exerc´ıcio pede. Queremos que vocˆe fa¸ca um programa para listar os n primeiros termos das sequˆencias dadas. 14) (U.F.BA. - 81) sejam as sequˆencias a1 =4 e a = 1 + a2 n+1 n
Se P = an · bn , tem-se: a) P < 0
b) 0 ≤ P < 1
b1 b
c) 1 ≤ P < 2
=5
n+1
=
1 1+bn
d) 2 ≤ P < 3
e) P ≥ 3
15) (U.F.PR. - 80) Seja f uma fun¸c˜ao tal que f (1) = 2 e f (x+1) = f (x)−1, para todo valor real de x. Ent˜ ao f (100) ´e igual a: a ) − 99
b ) − 97
c ) 96
d ) 98
e ) 100
Nota: Aqui o leitor dever´ a fazer um programa para fornecer f (N ) onde N > 1 ´e um um n´ umero natural. 57
16) (PUC - SP - 85) Na sequˆencia (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 dever´ a sempre resolver os problemas de forma generalizada. Por exemplo, aqui fa¸ca um programa para calcular a soma dos N primeiros termos da sequˆencia . 17) (PUC - SP - 70) Sendo f : R → R definida por f (x) = 2x + 3, ent˜ao f (1) + f (2) + f (3) + · · · + f (25) ´e igual a: a ) 725
b ) 753
c ) 653
d ) 1375
e ) 400
18) No c´ alculo num´erico de integrais I=
Z
b
f (x) dx a
A primeira regra de Simpson generalizada estabelece que, Rx
n x0
f (x) dx ∼ =
h 3
[ f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + ··· +2f (xn−2 ) + 4f (xn−1 ) + f (xn ) ]
Fa¸ca um programa que calcule a seguinte integral Z 1 x2 dx I= 0
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 f´ormula para gerar os coeficientes num´ericos em destaque na express˜ ao: 1f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + · · · + 2f (xn−2 ) + 4f (xn−1 ) + 1f (xn ) 19) Programe a f´ormula para o produto dos termos de uma P.A. de primeiro termo a1 e raz˜ ao r
n
Pn = a1 r ·
(a1 + n r) (a1 + n r)
58
1 r a1 r
!
!
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 = 211 + 212 + · · · + 21n , n um n´ umero natural diferente de zero. O menor n´ umero 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 o resultado da soma seja maior que 0, 99. Veja alguns exemplos, n
Sn
1
1 2
= 0, 5
2
1 2
+
1 22
= 0, 75
3
1 2
+
1 22
+
...
1 23
1 2n
at´e que
= 0, 875
........................
Vamos fazer melhor: o programa vai receber como entrada um n´ umero 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, v´a para a tela da direita acima. Agora ; ap´ os, complete como na tela a seguir pressione
Na tela da direita temos duas simula¸c˜oes do programa. 59
Exemplo: Digitando na linha de entrada (vista do CAS) SUN(n) := criamos uma fun¸c˜ ao de n, esta Sn =
P
(1/2 ∧ k, k, 1, n)
1 1 1 + 2 + ··· + n 1 2 2 2
As telas a seguir
mostram Sn para alguns valores de n. Para os valores aparecerem como na tela acima em deve estar desmarcada (tela da direita).
a caixa Exact
Como funciona a estrutura WHILE WHILE cla´ usula de teste Loop DO comandos END
Esta estrutura executa uma por¸c˜ao do programa (comandos) enquanto a cla´ usula de teste for verdadeira. No programa ao lado temos: cla´ usula de teste: S ≤ L. comandos: n:=n+1; S:=S+1/2 ∧ n. O loop s´ o ´e abandonado quando S for tal que S>L.
60
Exerc´ıcios 20) Determine n tal que
Pn
i=1
2i = 4088.
21) Resolva o problema anterior utilizando a f´ormula para a soma dos tera ·q n −a mos de uma P.G.: Sn = 1 q−1 1 . 22) Resolva a quest˜ ao da UNESP (p. 59) utilizando a f´ormula para a soma dos termos de uma P.G. 23) Elabore um programa onde entramos com o primeiro termo e a raz˜ ao de uma P.A., e ainda com um n´ umero L (maior ou igual ao primeiro termo), e o programa saia com n, a quantidade m´ axima de termos que podemos somar para que a soma n˜ ao ulrapasse L. 24) Encontre o valor de k de modo que: 30 k X X
(−2i + 3j) = 300
j=1 i=1
25) Quantos termos devem ser somados na sequˆencia , 2
−1
2
−1
−1
2
−1
2
2
−1
...
3
...
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 sequˆencia , −1
−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) Fa¸ca um programa que que recebe n e sai com o n-´esimo termo da sequˆencia 0
1
2
0
1
2
0
1
2
...
28) Fa¸ca um programa que que recebe n e sai com a soma dos n primeiros termos da sequˆencia do exerc´ıcio anterior. 29) A soma dos dos n primeiros termos da sequˆencia 3
3
6
6
9
9
12
´e
12
15
15
...
6n2 + 12n − 3(−1)n + 3 8 Inicialmente resolva a equa¸c˜ ao S(n) = 60, na m˜ ao mesmo. Fa¸ca um programa onde dado um inteiro m > 0 ele resolva a equa¸c˜ao S(n) = m, caso n˜ ao haja solu¸c˜ ao o programa deve dizer. Sn =
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 n´ umero ´e par ou n˜ ao. Faremos este programa de dois modos distintos, para ilustrar dois comandos da HP Prime : FP e MOD. O comando FP nos devolve a parte fracion´ aria de um n´ umero, na tela a seguir temos alguns exemplos (desmarque a caixa Exact)
Nota: O duplo sinal = = ´e de compara¸c˜ao. 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 sequˆencia de comandos somente se o teste ´e verdadeiro. A palavra IF inicia a cl´ausula-de-teste, a qual deixa o resultado do teste (0 ou 1). THEN remove este resultado. Se o valor ´e 1, a cl´ ausula verdadeira ´e executada. Caso contr´ ario, a execu¸c˜ao do programa prossegue com a instru¸c˜ao seguinte a END. umero inteiro a O comando MOD nos devolve o resto da divis˜ao de um n´ por um n´ umero inteiro b. A seguir temos dois exemplos 5 1
2 2
20 6 2 3 տ 20 MOD 6
տ 5 MOD 2
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 simula¸c˜oes deste programa. 62
IF - THEN - ELSE - END Esta estrutura condicional ´e bem mais interessante e u ´ til que a anterior. Para exemplific´ a-la faremos um programa para sair com os N primeiros termos da sequˆencia n se n ´e par; , 2 an = n + 1 , se n ´e ´ımpar. 2 Inicie o programa como a seguir (Vista de In´ıcio)
complete-o como na tela do centro. Na tela da direita temos duas simula¸c˜oes do programa. Vejamos mais um exemplo de aplica¸c˜ao desta estrutura. (PUC- SP - 76) Se A ´e uma matriz 3 por 2 definida pela lei 1, se i = j; aij = 2 i , se i = 6 j.
Ent˜ao A se escreve: 1 1 1 1 1 1 1 1 9 1 4 9 e) 4 1 a) b) 4 1 c) 1 4 d) 1 4 9 1 1 9 6 6 9 9 9 9
Vamos resolver este problema para uma matriz de dimens˜ao gen´erica M × N . O programa ´e como a seguir
na tela da direita temos trˆes simula¸c˜oes. 63
Como funciona a estrutura IF - THEN - ELSE - END IF cla´ usula-de-teste THEN cla´ usula-verdadeira Estrutura ELSE cla´ usula-falsa END Esta estrutura executa uma sequˆencia de comandos se o teste resultar verdadeiro e outra, caso seja falso. A palavra IF inicia a cl´ausula-de-teste, a qual sai com o resultado (0 ou 1). THEN verifica este resultado. Se o valor ´e 1, a cl´ausula-verdadeira ´e executada; caso contr´ ario, a cl´ausula-falsa ´e executada. Ap´os ter executado a cl´ ausula apropriada, o programa prossegue com a instru¸c˜ao seguinte `a END. No programa ao lado temos: cla´ usula de teste: FP(n/2)==0 cla´ usula verdadeira: TS(n):=n/2 cla´ usula falsa: TS(n):=(n+1)/2
64
Tra¸cando gr´ aficos com IF - THEN - ELSE - END Vamos exemplificar como esta estrutura pode ser utilizada para construir gr´ aficos de fun¸c˜ oes definidas por v´arias senten¸cas. Inicialmente considere a fun¸ca˜o f : R → R dada por se x < −1; −x, f (x) = x2 − 1, se x ≥ −1.
Na tela a seguir programamos esta fun¸c˜ao
na tela da direita simulamos alguns exemplos. Ao atribuir o nome f ao programa caso esta vari´ avel esteja ocupada ent˜ao purge(f ) ´e uma sugest˜ao. Pois bem, nosso objetivo agora ´e plotar o gr´ afico desta fun¸c˜ao. Inicialo que vai nos levar para a seguinte tela mente prima a tecla
→
↑ 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 mai´ usculo); ap´ os clicar em OK estaremos na tela da direita
→
↑
Agora vamos dimensionar os eixos para plotagem, para isto clique em
vamos para a seguinte tela (configura¸c˜ao na minha calculadora)
configurando como na tela do centro, ap´ os clique em teremos a tela da direita. Como mais um exemplo, para o gr´ afico da fun¸c˜ao dada por −x − π2 , se x < − π2 ; g(x) = | cos 2 x |, se − π2 ≤ x < π2 ; x − π2 , se x ≥ π2 . o programa fica assim
66
1.7
Operadores l´ ogicos relacionais
Um outro recurso − n˜ ao menos importante − que a programa¸c˜ao nos oferece s˜ ao os operadores l´ ogicos booleanos: OR, AND, XOR, NOT, etc., estes operadores est˜ ao definidos pelas respectivas tabelas-verdade:
p
q
p OR q
p
q
p AND q
p
q
p XOR q
p
p¯
V V F F
V F V F
V V V F
V V F F
V F V F
V F F F
V V F F
V F V F
F V V F
V F
F V
Ou ainda, na forma em que a HP Prime entende e opera:
p
q
p OR q
p
q
1 1 0 0
1 0 1 0
1 1 1 0
1 1 0 0
1 0 1 0
p AND q 1 0 0 0
p
q
p XOR q
p
p¯
1 1 0 0
1 0 1 0
0 1 1 0
1 0
0 1
Estes operadores booleanos s˜ ao 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 aplica¸c˜ao destes operadores: (CESGRANRIO - 76) Seja H o conjunto { n ∈ N : 2 ≤ n ≤ 40 }, n m´ ultiplo de 2, n n˜ ao m´ ultiplo de 3. O n´ umero de elementos de H ´e: a ) 12
b ) 14
c) 7
d ) 13
e) 6
Observe, na defini¸c˜ ao do conjunto em quest˜ao: n ´e m´ ultiplo de 2 e n n˜ ao ´e m´ ultiplo de 3. Aqui temos uma tarefa para o operador l´ogico AND. Vamos fazer melhor, faremos um programa que recebe dois n´ umeros naturais M e N (N < M ) e devolve todos os m´ ultiplos de 2, e n˜ ao de 3, entre N e M ; na tela a seguir temos o programa:
Na tela da direita temos a solu¸c˜ao da quest˜ao do vestibular. O programa seguinte sai com os m´ ultiplos de 2 ou 3 entre N e M .
Na tela da direita uma simula¸c˜ao, 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 = ( aij )2 , tal que 1 + i, se i = j; aij = 0, se i 6= j. e B = ( Bij )2 , tal que bij = 2i − 3j, ent˜ao 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 : 1, se i = j; aij = 0, se i = 6 j.
32) (U. MACK. - 80) Dada a matriz A = ( aij )2 tal que sen π2 j, se i = j; aij = cos πj, se i 6= j. Ent˜ao 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 = ( aij ) ´e uma matriz de ordem 2 × 2 com aij = 2−i se i = j e aij = 0 se i 6= j. A inversa de A ´e: # " 1 # " 1 2 0 0 0 − 2 0 −2 0 2 2 b) c) d) e) a) 1 1 1 0 4 0 −4 0 4 0 −4 0 22 34) (FCM STA CASA - 81) Seja 1 aij = k −1
a matriz A = ( aij ), de ordem 3, tal que se i < j; se i = j e k ∈ R; se i > j.
Se o determinante de A ´e igual a zero, ent˜ao k pertence ao conjunto: a ) k ∈ { −3, 1, 3 } √ √ d ) k ∈ { − 3, 3 }
b ) k ∈ { −2, 1, 2 }
e ) k ∈ { −1/3, 1/3 } 69
c ) k ∈ { 0, 1/3, 1/2 }
35) (U. MACK - 80 ) Seja a fun¸c˜ao f : R → R definida por |x| + 3 se |x| ≤ 2; f (x) = |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´ıvel de calcular.
Neste exerc´ıcio fa¸ca um programa onde entra-se com N e o mesmo sai com uma lista com as N composi¸c˜oes de f em 0. Exemplo, Se N = 1 ent˜ao f (f (0)) Se N = 2 ent˜ao f (f (f (0))), etc. 36) (PUC CAMP. - 80) Considerando N = { 0, 1, 2, 3, . . .} e, ainda, A = { x ∈ N/
24 = n, x ∈ N } x
B = { x ∈ N/ 3x + 4 < 2x + 9 } podemos afirmar que, a ) A ∪ B tem 8 elementos
d ) A ∩ B possui 4 elementos
b) A∪ B = A b ) n.d.a.
c) A ∩ B = A
37) (ITA - 66) Quantos n´ umeros inteiros existem, de 1000 a 10000, n˜ ao divis´ıveis nem por cinco nem por sete? 38) (UFRN - 84) O n´ umero de m´ ultiplos de sete entre 50 e 150 ´e: a)9
b ) 12
c ) 14
d ) 16
e ) 23
39) (CESCEA - 75) Quantos n´ umeros ´ımpares h´ a entre 14 e 192? a ) 88
b ) 89
c ) 87
d ) 86
e ) 90
40) (FGV - 81) A soma dos n´ umeros naturais n˜ ao superiores a 1000, n˜ ao 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 n´ umeros naturais menores que 100 e que divididos por 5 deixam resto 2 ´e: a ) 996
b ) 976
c ) 990
70
d ) 991
e ) 998
1.8
Algumas fun¸ c˜ oes especiais
Neste t´ opico vamos arrolar mais algumas fun¸c˜oes da HP Prime que julgamos relevantes no contexto da programa¸c˜ao.
1.8.1
A fun¸c˜ ao apply
Aplica um vetor (ou lista) − do dom´ınio de uma fun¸c˜ao − no c´alculo dos valores da fun¸c˜ ao 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 fun¸c˜ao para calcular duas “tabelas trigonom´etricas”, do seno e do cosseno:
Nota: Sua calculadora deve estar fixada no modo Exact, p. 19. As tabelas trigonom´etricas constantes nos livros n˜ ao trazem alguns “arcosπ metade”, como, por exemplo, 15o = 12 , na HP Prime ´e f´acil, veja:
71
1.8.2
A fun¸ c˜ ao REPLACE
Esta ´e uma fun¸c˜ ao important´ıssima, ser´ a utilizada em diversos programas at´e o final deste livro. REPLACE Substitui parte de uma matriz ou vetor guardados em nome por um objeto a partir da posi¸c˜ao in´ıcio. In´ıcio para uma matriz ´e uma lista que cont´em dois n´ umeros. Para um vetor, ´e um u ´ nico n´ umero. REPLACE tamb´em funciona com listas, gr´ aficos e strings. Sintaxe REPLACE(nome, in´ ıcio, objeto) Nas telas a seguir, vemos dois exemplos. Lembrete: N˜ao esque¸ca de resetar as letras, se necess´ario.
Observe mais duas substitui¸c˜oes
72
Tabela trigonom´ etrica Como mais uma aplica¸c˜ ao da fun¸c˜ao REPLACE vamos montar uma tabela trigonom´etrica 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 cont´em os valores do dom´ınio
`a direita calculamos o seno para esta matriz. A seguir, crie uma vari´ avel VC, clique em cima do u ´ ltimo vetor (matriz) e guarde uma c´ opia nesta vari´ avel
na tela da direita substituimos a primeira coluna da matriz MTR pelo transposto 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, podemos ver a tabela na horizontal, tomando o transposto, assim
Clique em cima da tabela e pe¸ca para ver (Show)
74
Vamos encimar a tabela com grau, no lugar de radiano. Para isto salvamos a tabela em uma nova vari´ avel. Digite na linha de entrada como a seguir
Apenas a t´ıtulo de curiosidade, veja como nos “tempos primitivos” calculavaπ . Vamos partir da f´ormula se, por exemplo, o seno de 15o = 12 sen
a 2
=
r
1 − cos a 2
Substituindo nesta f´ormula a = 30o , obtemos 30o r 1 − cos 30o = sen 2 2
Ent˜ao
Simplificando
sen 15o =
s
1− 2
√
3 2
√ 2− 3 sen 15 = 2 Na tela a seguir, pedimos para a HP Prime calcular o seno de 15o o
p
mude sua calculadora para grau (Degrees) na tela da direita pedimos para simplificar o resultado obtido pela f´ormula − para efeito de compara¸c˜ao. 75
1.8.3
A fun¸ c˜ ao Map
Segundo o manual (da HP Prime ): Existem duas utiliza¸c˜oes para esta fun¸c˜ao, nas quais o segundo argumento ´e sempre um mapeamento de uma vari´ avel para uma express˜ ao. Se a express˜ ao for uma fun¸ca˜o da vari´ avel, a fun¸c˜ao ´e aplicada a cada elemento do vetor ou matriz (o primeiro argumento) e ´e apresentado o vetor ou matriz resultante. Se a express˜ ao for um teste booleano, cada elemento do vetor ou matriz ´e testado e os resultados s˜ ao apresentados como um vetor ou matriz. Cada teste apresenta 0 (falha) ou 1 (aprova¸c˜ao). Sintaxe map ( Matrix, Var → Fun¸ c~ 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 n˜ ao fornece nenhum exemplo de um caso onde o primeiro argumento da map seja uma matriz; fiz algumas tentativas, no entanto, pelas respostas, n˜ ao encontrei uma “l´ ogica”, um padr˜ao. Por exemplo, na tela a seguir
apliquei a fun¸c˜ ao x → 2 x `a matriz de entrada, o resultado foi o esperado: cada elemento da matriz ´e multiplicado por 2. Quando apliquei a fun¸c˜ao 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 simula¸c˜ oes, apenas a segunda me ´e intelig´ıvel; de formas que a explica¸c˜ ao do manual para mim ficou um tanto quanto nebulosa; cansado de tentar encontrar uma l´ogica decidi criar a minha pr´ opria fun¸c˜ao “map”, isto ´e, uma que atenda ao enunciado “Se a express˜ ao for uma fun¸ca ˜o da vari´ avel, a fun¸ca ˜o ´e aplicada a cada elemento da matriz (o primeiro argumento) e ´e apresentado a matriz resultante.” A fun¸c˜ ao que criei tem a seguinte: Sintaxe mapii ( Matrix, Var → express~ ao) ei-la:
`a direita temos duas simula¸c˜ oes.
1.8.4
A fun¸c˜ ao Zip
Aplica uma fun¸c˜ ao 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 predefinido, a lista mais curta ´e preenchida com o valor predefinido. Sintaxe: zip(‘function’ , List1, List2, Default)
77
1.8.5
A fun¸ c˜ ao remove
Dado um vetor ou lista, remove as ocorrˆencias 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 fun¸c˜ ao solve
A fun¸c˜ ao solve − e outras que nos interessam − pode ser acessada na caixa de ferramentas, assim:
Ademais, escolha a configura¸c˜ ao da tela `a direita. Solve: Apresenta uma lista das solu¸c˜oes (reais e complexas) de uma equa¸c˜ao polinomial ou de um conjunto de equa¸c˜oes 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 equa¸c˜ao quadr´ atica, a x2 + b x + c = 0
Na tela da direita criamos uma fun¸c˜ao (programa) para resolver uma equa¸c˜ao quadr´ atica, vemos uma simula¸c˜ ao. 79
Tabela-Resumo Comando
Sintaxe
p.
MAKELIST
MAKELIST (express˜ ao, vari´ avel, inicio, fim, incremento)
30
MAKEMAT (express˜ ao, linhas, colunas) P Somat´ orio (express˜ ao, vari´ avel, in´ıcio, fim)
41
FOR
FOR contador FROM in´ıcio TO fim DO cla´ usula c´ıclica END
53
FOR-STEP
FOR variavel FROM in´ıcio TO fim STEP h DO cla´ usula c´ıclica END
54
WHILE
WHILE cla´ usula de teste
60
IF-THEN
usula de teste IF cla´
THEN comandos END
62
IF-THENELSE-END
IF cla´ usula de teste
THEN cla´ usula verdadeira ELSE cla´ usula falsa
64
MAKEMAT
DO comandos END
38
END apply
apply ( Var → f(Var),
map
map ( Matrix, Var → Fun¸ c~ ao)
76
REPLACE
REPLACE(nome, in´ ıcio, objeto)
72
Zip
zip(‘function’ , List1, List2, Default)
77
remove
remove(Test, List)
78
solve
solve(Eq, Var)
79
vetor)
80
71
Um Belo Desafio! - II − A quem interessar possa. Introdu¸ c˜ ao: 12
Considere a sequˆencia dos quadrados dos naturais
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 diferen¸ cas entre os termos da primeira sequˆencia. Considere a sequˆencia dos cubos dos n´ umeros 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 trˆ es diferen¸ cas entre os termos da primeira sequˆencia.
Desafio: Considere a sequˆencia dos naturais `a m-´esima potˆencia: a(n) = nm , onde m ´e um natural arbitrariamente fixado. Fa¸ca um programa onde entramos com m e j e o mesmo saia com uma f´ormula para a sequˆencia que corresponde ` a diferen¸ca de ordem j da sequˆencia a(n) = nm . Nota: Resolvemos este Desafio na HP Prime . Na tela da esquerda fazemos duas simula¸c˜ oes para o primeiro diagrama acima, a(n) = n2 . Na tela do centro fazemos duas simula¸c˜ oes para o segundo diagrama acima, a(n) = n3 . Na tela da direita, a partir da f´ormula dada geramos os 10 primeiros termos das respectivas sequˆencias.
Gentil, o iconoclasta
[email protected]
Boa vista-RR/07.08.2016
81
1.9
Polinˆ omios
Coeficientes Dado um polinˆ omio em x, apresenta um vetor que cont´em os coeficientes. Se o polinˆ omio estiver numa vari´ avel que n˜ ao x, ent˜ao, declare a vari´ avel como o segundo argumento. Com um n´ umero inteiro como terceiro argumento opcional, apresenta o coeficiente do polinˆ omio cujo grau coincide com o n´ umero inteiro. Sintaxe: coeff(Poly, [Var], [Integer]) Exemplos:
p(x) = x2 + 0 x − 2
p(y) = y 2 + 0 y − 2
Divisores Dado um polinˆ omio, apresenta um vetor que cont´em os divisores do polinˆ omio. Sintaxe: divis(Poli) ou divis(Poli1, Poli2,...) Exemplos:
82
Lista de fatores Apresenta um vetor com os fatores primos de um polinˆ omio ou uma lista de polinˆ omios, com cada fator seguido pela respectiva multiplicidade. Sintaxe: factors(Poly) ou factors(Poly1, Poly2,...) Exemplos:
MDC Apresenta o m´ aximo divisor comum a dois ou mais polin´ omios. Sintaxe: gcd(Poli1,Poli2...) Exemplos:
MMC Apresenta o m´ınimo m´ ultiplo comum a dois ou mais polinˆ omios. Sintaxe: lcm(Poli1, Poli2,...) Exemplos:
83
Polinˆ omio – Criar Poli. → Coef.
Dado um polinˆ omio, apresenta um vetor que cont´em os coeficientes do polinˆ omio. Com uma vari´ avel como segundo argumento, apresenta os coeficientes de um polinˆ omio relativamente `a vari´ avel. Com uma lista de vari´ aveis como segundo argumento, apresenta o formato interno do polinˆ omio. Sintaxe: symb2poly(Expr,[Var]) ou symb2poly(Expr, Var1, Var2,...) Exemplos:
Coef. → Poli.
Com um vetor como argumento, apresenta um polinˆ omio em x com coeficientes (por ordem descendente) obtidos a partir do vetor do argumento. Com uma vari´ avel como segundo argumento, apresenta um polinˆ omio semelhante nessa vari´ avel. Sintaxe: poly2symb(Vetor, [Var]) Exemplos:
84
Ra´ızes → Coef.
Apresenta um vetor que cont´em os coeficientes (por ordem decrescente) do polinˆ omio de uma u ´ nica vari´ avel, cujas ra´ızes s˜ ao especificadas no vetor do argumento. Sintaxe: pcoeff(Lista) Exemplos:
→
p(x) = x2 − 1
p(x) = x2 − 2
Na u ´ ltima linha da tela da direita observamos que podemos concatenar (compor) estes comandos.
Ra´ızes → Poli.
Assume um vetor como argumento. O vetor cont´em cada raiz ou polo de uma fun¸c˜ ao racional. Cada raiz ou polo ´e seguido pela respetiva ordem, tendo os polos uma ordem negativa. Apresenta a fun¸c˜ao racional em x que possui as ra´ızes e polos (com as respetivas ordens) especificados no vetor do argumento. Sintaxe: fcoeff(Vetor) em que em que Vetor tem a forma [Root1, Order1, Root2, Order2...]). Exemplo:
85
Incluimos a tela da direita para facilitar o entendimento deste comando. Calculamos as ra´ızes do numerador (da fun¸c˜ao racional) e o fatoramos. No vetor do argumento, [1, 2, 0, 1, 3, −1] temos que 1 ´e ra´ız do numerador, com multiplicidade 2; 0 ´e ra´ız do numerador, com multiplicidade 1 e, como ´e f´acil ver, 3 ´e ra´ız do denominador (por isto chama-se p´ olo da fun¸c˜ao racional) com multiplicidade 1.
´ Polinˆ omio – Algebra Quociente. Apresenta um vetor que cont´em os coeficientes do quociente euclidiano de dois polin´ omios. Os polin´ omios podem ser escritos como uma lista de coeficientes ou em forma simb´ olica. Sintaxe: quo(List1, List2, [Var]) ou quo(Poli1, Poli2, [Var])
Resto. Apresenta um vetor que cont´em os coeficientes do resto do quociente euclidiano de dois polinˆ omios. Os polinˆ omios podem ser escritos como uma lista de coeficientes ou em forma simb´ olica. Sintaxe: rem(List1, List2, [Var]) ou rem(Poli1, Poli2, [Var]) Antes de exemplificar na Calculadora, vejamos um exemplo, “na m˜ ao”; vamos dividir os dois polinˆ omios a seguir, x4 + 2x3 + 3x2 + 4x
e
− x2 + 2x
Veja como fica, x4 + 2x3 + 3x2 + 4x
−x2 + 2x
−x2 − 4x − 11 ← (quociente)
−x4 + 2x2 4x3 + 3x2 + 4x
+ :
−4x3 + 8x2 11x2 + 4x
+ :
−11x2 + 22x + :
26x
← (resto) 86
Na HP Prime fica assim
Na tela da direita temos um outro exemplo.
Grau. Apresenta o grau de um polinˆ omio. Sintaxe: degree(Poli) Exemplos:
Coef. MDC. Apresenta o m´ aximo divisor comum (MDC) dos coeficientes de um polin´ omio. Sintaxe: content(Poli,[Var]) Exemplos:
87
ratnormal Reescreve uma express˜ ao como uma fra¸c˜ao racional irredut´ıvel. Sintaxe: ratnormal(Expr)
Fra¸c˜ ao parcial Realiza a decomposi¸c˜ao de uma fra¸c˜ao em fra¸c˜oes parciais. Sintaxe: partfrac(RatFrac) Exemplos:
Adendo polar− point
Dados o raio e o ˆ angulo de um ponto na forma polar, apresenta o ponto com as coordenadas retangulares na forma complexa. Sintaxe: polar− point(Radius, Angle)
rectangular− coordinate
Dado um vetor que cont´em as coordenadas polares de um ponto, apresenta um vetor que cont´em as coordenadas retangulares do ponto. Sintaxe: retangular− coordinate(vector) Exemplos:
88
Zeros Com uma express˜ ao como argumento, apresenta os zeros da express˜ ao, ou seja, as solu¸c˜ oes quando a express˜ ao ´e definida como igual a zero.
Resolver complexa Apresenta uma lista das solu¸co˜es complexas de uma equa¸ca˜o polinomial ou de um conjunto de equa¸c˜ oes polinomiais. Independentemente da configura¸c˜ao do CAS.
Zeros de complexa Com uma express˜ ao como argumento, apresenta um vetor que cont´em os zeros de complexa da express˜ ao, ou seja, as solu¸c˜oes quando a express˜ ao ´e definida como igual a zero.
Nota: Esteja atento para a diferen¸ca entre equa¸c˜ao e express˜ ao.
89
1.10
N´ umero inteiro
Divisores Apresenta a lista de divisores de um n´ umero inteiro ou uma lista de n´ umeros inteiros. Sintaxe: idivis(Integer) ou idivis({Intgr1, Intgr2,...}) Exemplos:
Fatores Apresenta a decomposi¸c˜ao dos fatores primos de um n´ umero inteiro. Sintaxe: ifactor(Integer) Exemplos:
90
Nota: Em alguns casos, ifactor pode falhar. Nestes casos, ir´ a dar o produto de -1 e o oposto da entrada. O-1 indica que a decomposi¸ca˜o falhou.
Lista de fatores Apresenta um vetor com os fatores primos de um n´ umero inteiro ou uma lista de n´ umeros inteiros, com cada fator seguido pela respetiva multiplicidade. Sintaxe: ifactors(Integer) ou ifactors({Intei1, Intei2,...}) Exemplo:
MDC Apresenta o m´ aximo divisor comum a dois ou mais n´ umeros inteiros. Sintaxe: gcd(Intei1, Intei2,...) Exemplo:
91
MMC Apresenta o m´ınimo m´ ultiplo comum a dois ou mais n´ umeros inteiros. Sintaxe: lcm(Intei1, Intei2,...) Exemplo:
N´ umero inteiro – Primo Testa se ´ e Primo Testa se um determinado n´ umero inteiro ´e ou n˜ ao um n´ umero primo. Sintaxe: isPrime(Integer) Exemplos:
N-´ esimo Primo Apresenta o n-´esimo n´ umero primo. Sintaxe: isPrime(Integer) Exemplo:
92
Primo seguinte Apresenta o primo ou pseudo-primo seguinte ap´ os um n´ umero inteiro. Sintaxe: nextprime(Integer) Exemplo:
Primo anterior Apresenta o n´ umero primo ou pseudo-primo mais pr´ oximo de, mas inferior a, um n´ umero inteiro. Sintaxe: prevprime(Integer) Exemplo:
93
N´ umero-Divis˜ ao Quociente Apresenta o quociente inteiro da divis˜ao euclidiana de dois n´ umeros inteiros. Sintaxe: iquo(Intei1, Intei2) Exemplo:
63
23
17
2 ← (quociente)
Resto Apresenta o resto inteiro da divis˜ao euclidiana de dois n´ umeros inteiros. Sintaxe: irem(Intei1, Intei2) Exemplo:
23
63 17
94
տ
2 ← (quociente) (resto)
an MOD p Para os trˆes n´ umeros inteiros a, n e p, apresenta an m´ odulo p em [0, p−1]. Sintaxe: powmod(a, n, p,[Expr],[Var]) Exemplo:
52
13
42
3
12
1 ← (quociente)
1
5 ← (quociente)
տ
(resto)
տ
(resto)
Resto chinˆ es Teorema do Resto Chinˆes de n´ umeros inteiros para duas equa¸c˜oes. Pega em dois vetores de n´ umeros inteiros, [a, p] e [b, q], e apresenta um vetor de dois n´ umeros inteiros, [r, n], de modo que x ≡ r mod n. Neste caso, x ´e tal que x ≡ a mod p e x ≡ b mod q; tamb´em n = p ∗ q. Sintaxe:
ichinrem([a,p],[b,q]) Exemplo:
95
∗
∗
Gentil, bom dia!
∗ (email: 11/06/2012)
Aproveitei esses feriados estendidos em SP e li bem seu livro. Pratiquei todos os exerc´ıcios propostos e pratiquei todos os programas. Foi muito bom mesmo. Aprendi muito! [. . .] N˜ ao sou matem´ atico, sou engenheiro mecˆ anico formado em 1975. Na minha ´epoca de faculdade, n˜ ao havia calculadoras ainda. Tudo era feito na r´egua de c´ alculo ou no l´ apis e borracha. A minha Aristo tenho at´e hoje. [. . .] Apesar de eu j´ a me encontrar no fim da linha (fim de carreira - 60 anos), ainda tenho disposi¸ca ˜o para aprender. Pedir ao Ariovaldo (Siqueira) para que me enviasse uma foto da sua r´egua para que eu pudesse mostr´a-la aos meus alunos. Ele respondeu: Em anexo encontra-se para sua aprecia¸ca ˜o o seu pedido. Tenho duas r´eguas de c´ alculo, a Aristo e a Sterling Slide Rule. Na ´epoca eu fazia tudo com elas em engenharia, ambas eu comprei em 1970 e as usei at´e 1978. Depois aposentei as duas e comprei minha primeira Texas.
Foto-Ariovaldo
96
Gentil Lopes
Livro HP50g 1 mensagem
Cleber Pertel 9 de maio de 2013 22:11 Para:
[email protected] Professor Gentil, Chamo-me Cleber e sou acadˆemico do curso de Engenharia Qu´ımica da Universidade Federal do Paran´ a. Estou escrevendo para o senhor para parabeniz´ a-lo pela sua obra “Programando a HP - 50g”. Esse livro ´e fant´astico! Tem me ajudado muito. Confesso que quando necessitei comprar a referida calculadora, senti-me extremamente ignorante. Tinha a ferrari, mas me sentia andando num monociclo. O seu livro fez toda a diferen¸ca no caminho que percorri para adentrar no fant´astico mundo da programa¸c˜ao. Embora meus passos ainda sejam mod´estos, tornaram-se firmes gra¸cas `a sua preciosa ajuda. Embora n˜ ao seja seu aluno fisicamente, sinto-me tal e qual, pois o senhor, atrav´es do seu livro, tornou-se indispens´ avel em minha vida acadˆemica, da mesma forma que os mestres que possuo na universidade. Infelizmente n˜ ao estamos pr´ oximos, pois eu gostaria muito de um aut´ ografo seu, mas, de qualquer forma, receba com estas palavras meu carinho e gratid˜ ao por uma obra t˜ ao rica que, humildemente, fala aos iniciantes (categoria na qual estou inclu´ıdo) e, mais do que isso, nos abre as portas do interesse e da curiosidade para adentrar nesse mundo ´ımpar que o seu livro conduz-nos os primeiros passos, quando estes ainda s˜ ao vacilantes. Que Deus o aben¸coe! Um forte abra¸co, com votos de paz, Cleber Pertel
97
98
Cap´ıtulo
2
Aplica¸c˜oes - Mix At´e ent˜ ao a ciˆencia se caracterizara por duas abordagens. “Aqueles que trataram de ciˆencia foram ou homens de experimento ou homens de dogma. Os homens de experimento s˜ ao como a formiga; apenas colhem e usam; os raciocinadores assemelham-se a aranhas, que fazem teias com sua pr´ opria substˆ ancia. Mas a abelha adota o meio-termo; colhe seu material das flores do jardim e do campo, mas o transforma e digere por um poder que lhe ´e pr´ oprio.” ( Paul Strathern/“O sonho de Mendeleiev”)
Introdu¸ c˜ ao Como se sabe, no universo da m´ usica existem os compositores e os int´erpretes, na ciˆencia, e em particular na matem´ atica, acontece o mesmo; na matem´ atica sou int´erprete e compositor, j´a perdi as contas do n´ umero de f´ormulas que demonstrei (construi) na matem´ atica, dentre elas uma que os matem´ aticos tentaram por muito tempo (p. 172) − f´ormulas brotam da minha mente aos borbot˜ oes!. Neste cap´ıtulo veremos algumas f´ormulas de minha lavra, concomitantemente com mais aplica¸c˜ oes para a HP Prime . O leitor eventualmente interessado nas demonstra¸c˜ oes matem´ aticas dever´ a consultar nosso livro citado na referˆencia [6]. Apenas a t´ıtulo de informa¸c˜ ao, trabalho com a fam´ılia de calculadoras HP h´ a muitos anos (h´ a mais de 20), escrevi um livro sobre programa¸c˜ao da HP 50g e at´e hoje ainda me surpreendo com a potˆencia de c´alculo destes computadores de bolso; a potˆencia se refere n˜ ao apenas a c´alculos num´ericos mas, sobretudo, alg´ebricos. Pois bem, desta vez fiquei pasmo por ter resolvido um desafio matem´ atico que comparece na se¸c˜ao 2.3 “sem pegar no l´apis”, apenas via manipula¸c˜ oes alg´ebricas na pr´ opria calculadora (sem “anotar nada”, reitero); com o objetivo de provar que a HP Prime supera muitas das outras linguagens de programa¸c˜ao − como creio − deixo aqui o desafio aos estudantes de Ciˆencia da Computa¸ca ˜o, ou a quem interessar possa, que o resolvam (p. 127) na linguagem de suas preferˆencias!. 99
2.1
C´ alculo de combina¸ c˜ oes
Introdu¸c˜ ao: A conhecida f´ormula da an´ alise combinat´ oria n n! = r (n − r)! r! nos fornece o n´ umero de combina¸c˜oes dos n elementos de um conjunto, tomados r a r. Mas esta f´ormula n˜ ao nos fornece as tais combina¸c˜oes. O nosso objetivo nesta se¸ca˜o ´e exibir uma f´ormula que tem precisamente esta finalidade. A matriz a seguir nos fornece todas as combina¸c˜oes poss´ıveis para um conjunto com quatro elementos { a1 ,
a4 }
a2 ,
a3 ,
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
{
}
{ a1 }
{ a2 }
{ a1 , a2 } { a3 }
{ a1 , a3 }
{ a2 , a3 }
{ a1 , a2 , a3 } { a4 }
{ a1 , a4 }
{ a2 , a4 }
{ a1 , a2 , a4 }
{ a3 , a4 }
{ a1 , a3 , a4 }
{ a2 , a3 , a4 }
{ a1 , a2 , a3 , a4 }
Onde convencionamos que onde ocorre 1 o elemento entra na combina¸c˜ao, onde ocorre 0 o elemento n˜ ao entra na combina¸c˜ao. Esta matriz pode facilmente ser generalizada para um conjunto com um n´ umero arbitr´ario de elementos, digamos n. Lembramos que o s´ımbolo ⌊ x ⌋ representa a fun¸c˜ao m´ aximo inteiro (que n˜ ao supera x), ou fun¸c˜ ao piso. Na HP Prime ´e denotada por FLOOR.
100
Uma f´ ormula para a matriz de combina¸c˜ oes Em nosso livro citado na referˆencia [6] demonstramos a seguinte f´ormula para a matriz de combina¸c˜ oes
k j i−1 ´e par; 0, se j−1 2 aij = k j i−1 1, se ´e ´ımpar. j−1 2
Na tela a seguir programamos esta matriz, entramos com n e o programa sai com a respectiva matriz de combina¸c˜oes
nas duas outras telas temos duas simula¸c˜oes. Nas telas a seguir temos um (´ unico) programa que recebe um conjunto e sai com o conjunto das partes (conjunto de todos os subconjuntos)
101
Nas telas a seguir
temos duas simula¸c˜ oes do programa; na tela da esquerda entramos com o conjunto { a, b, c } e na tela da direita com o conjunto { a1 , a2 , a3 , a4 } .
Nota: N˜ao esquecer de resetar as letras (p. 22) − se necess´ario. Ademais, evite incluir a letra e em um conjunto, esta letra ´e reservada para a base do logaritmo neperiano. Nas telas a seguir
entramos com um conjunto e r, o programa sai com todas as combina¸c˜oes dos elementos do conjunto tomados r a r. Observe que o programa anterior (MTXC1) ´e utilizado. Na tela da direita vemos uma simula¸c˜ao para o conjunto { a1 , a2 , a3 , a4 } e r = 3.
102
2.2
Desenvolvimento N -´ ario
Matriz Bin´ aria Sabe-se que dados dois inteiros a e N , com a ≥ 0 e N > 1, existem (e s˜ ao u ´ nicos) inteiros c0 , c1 , . . . , cn ; de tal modo que a = c0 + c1 · N + c2 · N 2 + · · · + cn · N n com 0 ≤ ci < a (i = 0, 1, . . . , n). A express˜ ao anterior ´e chamada expans˜ ao N -´aria do inteiro a. O sistema de numera¸c˜ ao de base 2 obt´em-se escolhendo um conjunto com dois s´ımbolos: S = { 0, 1 }. Na matriz seguinte temos a expans˜ ao bin´ aria dos inteiros 0, 1, 2, . . . , 15. 20 21 22 23
=⇒
20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
21 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
22 23 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
0 = 0·20 + 0·21 + 0·22 + 0·23 1 = 1·20 + 0·21 + 0·22 + 0·23 2 = 0·20 + 1·21 + 0·22 + 0·23 3 = 1·20 + 1·21 + 0·22 + 0·23 4 = 0·20 + 0·21 + 1·22 + 0·23 5 = 1·20 + 0·21 + 1·22 + 0·23 6 = 0·20 + 1·21 + 1·22 + 0·23 7 = 1·20 + 1·21 + 1·22 + 0·23 8 = 0·20 + 0·21 + 0·22 + 1·23 9 = 1·20 + 0·21 + 0·22 + 1·23 10 = 0·20 + 1·21 + 0·22 + 1·23 11 = 1·20 + 1·21 + 0·22 + 1·23 12 = 0·20 + 0·21 + 1·22 + 1·23 13 = 1·20 + 0·21 + 1·22 + 1·23 14 = 0·20 + 1·21 + 1·22 + 1·23 15 = 1·20 + 1·21 + 1·22 + 1·23
Em nosso livro [6] demonstramos a seguinte f´ormula
anj =
j n k j n k − 2 j j+1 2 2
que nos fornece o desenvolvimento bin´ ario de um inteiro positivo n.
103
Para programar a matriz bin´ aria necessitaremos da varia¸c˜ao de j. Observe que se n 1 n n · j = j+1 < 1 ⇒ anj = 0. ⇒ j < 1 2 2 2 2 Portanto, devemos considerar apenas os valores de j, satifazendo a desigualdade n j ⇐⇒ 2 ≤ n. Isto ´e, j = 0, 1, 2, . . . , ⌊log2n ⌋. j ≥ 1 2 Exemplo: Encontre a expans˜ ao bin´ aria de 20. Solu¸ c˜ ao: ⌊log20 ⌋ = 4. Para j = 0, 1, 2, 3, 4; obtemos 2 j=0
⇒ a20,0 = ⌊ 200 ⌋ − 2⌊
20 20+1
⌋ = 20 − 2 · 10 = 0
j=1
⇒ a20,1 = ⌊ 201 ⌋ − 2⌊
20 21+1
⌋ = 10 − 2 · 5
=0
j=2
⇒ a20,2 = ⌊ 202 ⌋ − 2⌊
20 22+1
⌋=5−2·2
=1
j=3
⇒ a20,3 = ⌊ 203 ⌋ − 2⌊
20 23+1
⌋=2−2·1
=0
j=4
⇒ a20,4 = ⌊ 204 ⌋ − 2⌊
20 24+1
⌋=1−2·0
= 1.
2
2
2
2
2
Logo, 20 = (0 0 1 0 1)2 . Ou ainda 20 = 0 · 20 + 0 · 21 + 1 · 22 + 0 · 23 + 1 · 24 Na tela a seguir programamos a matriz bin´ aria
na tela da direita temos algumas simula¸c˜oes.
104
Matriz Tern´ aria O sistema de numera¸c˜ ao de base 3 obt´em-se escolhendo um conjunto com trˆes s´ımbolos: S = { 0, 1, 2 }. Na matriz seguinte temos a expans˜ ao dos inteiros 0, 1, 2, . . . , 26, na base 3.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
30 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
31 0 0 0 1 1 1 2 2 2 0 0 0 1 1 1 2 2 2 0 0 0 1 1 1 2 2 2
32 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
0 = 0 · 30 + 0 · 31 + 0 · 32 1 = 1 · 30 + 0 · 31 + 0 · 32 2 = 2 · 30 + 0 · 31 + 0 · 32 3 = 0 · 30 + 1 · 31 + 0 · 32 4 = 1 · 30 + 1 · 31 + 0 · 32 5 = 2 · 30 + 1 · 31 + 0 · 32 6 = 0 · 30 + 2 · 31 + 0 · 32 7 = 1 · 30 + 2 · 31 + 0 · 32 8 = 2 · 30 + 2 · 31 + 0 · 32 9 = 0 · 30 + 0 · 31 + 1 · 32
10 = 1 · 30 + 0 · 31 + 1 · 32 11 = 2 · 30 + 0 · 31 + 1 · 32 12 = 0 · 30 + 1 · 31 + 1 · 32 13 = 1 · 30 + 1 · 31 + 1 · 32 14 = 2 · 30 + 1 · 31 + 1 · 32 15 = 0 · 30 + 2 · 31 + 1 · 32 16 = 1 · 30 + 2 · 31 + 1 · 32 17 = 2 · 30 + 2 · 31 + 1 · 32 18 = 0 · 30 + 0 · 31 + 2 · 32 19 = 1 · 30 + 0 · 31 + 2 · 32 20 = 2 · 30 + 0 · 31 + 2 · 32 21 = 0 · 30 + 1 · 31 + 2 · 32 22 = 1 · 30 + 1 · 31 + 2 · 32 23 = 2 · 30 + 1 · 31 + 2 · 32 24 = 0 · 30 + 2 · 31 + 2 · 32 25 = 1 · 30 + 2 · 31 + 2 · 32 26 = 2 · 30 + 2 · 31 + 2 · 32
Uma f´ormula para a matriz tern´ aria ´e dada a seguir
anj =
j n k j n k − 3 3j 3j+1 105
O sistema de numera¸c˜ao de base N > 1 obt´em-se escolhendo um conjunto com N s´ımbolos: S = { s0 , s1 , . . . , sN−1 }. No sistema de base 10 usualmente toma-se S = { 0, 1, 2, . . . , 9 }. Se N ≤ 10, utilizam-se os s´ımbolos 0, 1, 2, . . . , 9 e se N > 10 utilizam-se os s´ımbolos 0, 1, 2, . . . , 9 e se introduzem s´ımbolos adicionais para representar 10, . . . , N − 1. Por exemplo, o sistema de numera¸c˜ao hexadecimal (base 16), largamente utilizado em eletrˆ onica digital, usa 16 s´ımbolos: S = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } A f´ormula a seguir generaliza as matrizes bin´ aria e tern´ aria para uma base N qualquer j n k j n k − N anj = Nj N j+1 Onde (fixado n), j = 0, 1, 2, . . . , ⌊logNn ⌋. Exemplo: Obter o desenvolvimento de 538 na base hexadecimal. Solu¸ c˜ ao: Para N = 16, temos ⌊log16538 ⌋ = 2. Ent˜ao, j 538 k j 538 k a538, j = − 16 , j = 0, 1, 2. 16j 16j+1 Temos j = 0 ⇒ a538, 0 = ⌊ 5380 ⌋ − 16⌊
538 160+1
⌋ = 538 − 16 · 33 = 10
j = 1 ⇒ a538, 1 = ⌊ 5381 ⌋ − 16⌊
538 161+1
⌋ = 33 − 16 · 2
=1
j = 2 ⇒ a538, 2 = ⌊ 5382 ⌋ − 16⌊
538 162+1
⌋ = 2 − 16 · 0
=2
16 16 16
Como 10 ≡ A, resulta, 538 = (A 1 2)16 . Na tela a seguir programamos a matriz N -´aria
na tela da direita algumas simula¸c˜oes na base N = 3 e N = 16. Nota: Deduzi a matriz N -´aria em abril/1999 (Ver [6]).
106
2.3
Progress˜ ao aritm´ etica bidimensional
Nesta se¸c˜ ao estudaremos as Progress˜ oes Aritm´eticas Bidimensionais − uma generaliza¸c˜ ao das progress˜ oes aritm´eticas − que nos possibilitar´a algumas aplica¸c˜ oes interessantes, bem como novas aplica¸c˜oes na HP Prime . Lembramos que N = { 1, 2, 3, . . . }
No¸c˜ oes iniciais: sequˆ encias duplas Uma sequˆencia dupla ´e uma aplica¸c˜ao do tipo: a(m, n) : N × N → R Em uma sequˆencia dupla qualquer, cada elemento ´e indicado por aij . O ´ındice i indica a linha e o ´ındice j a coluna `as quais o elemento pertence. Com a conven¸c˜ ao de que as linhas sejam numeradas de cima para baixo e as colunas da esquerda para a direita, temos: a11
a12
a13
a14
...
a21
a22
a23
a24
...
a31
a32
a33
a34
...
a41
a42
a43
a44
...
............................ Exemplos de sequˆencias duplas: a) Seja a sequˆencia a : N × N → R dada por aij = (−1)i+j . Segundo a conven¸c˜ ao feita, temos: 1
−1
1
−1
1
...
−1
1
−1
1
−1
...
1
−1
1
−1
1
...
−1
1
−1
1
−1
...
1
−1
1
−1
1
...
..................................
107
b) Seja a sequˆencia a : N × N → R dada por 1, se i − j = 1; aij = −1, se i − j = −1; 0, nos demais casos.
segundo a conven¸c˜ ao feita, temos:
0
−1
0
0
0
...
1
0
−1
0
0
...
0
1
0
−1
0
...
0
0
1
0
−1
...
0
0
0
1
0
...
.................................
− Uma sequˆencia dupla limitada em linhas ´e a que possui um n´ umero finito M de linhas; uma sequˆencia dupla limitada em colunas ´e a que possui um n´ umero finito N de colunas; uma sequˆencia dupla limitada em linhas e colunas − ou simplesmente limitada − ´e a que possui M linhas e N colunas, assim: a11
a12
a13
...
a1N
a21
a22
a23
...
a2N
a31
a32
a33
...
a3N
............................... aM 1
aM 2
aM 3
...
aM N
− Uma sequˆencia dupla quadrada de ordem N ´e aquela em que M = N , isto ´e, uma sequˆencia com igual n´ umero de linhas e colunas.
108
Vamos agora definir um tipo especial de sequˆencia dupla: Defini¸ c˜ ao 1. Chama-se progress˜ ao aritm´etica bidimensional ( PA-2D) uma sequˆencia dupla dada pela seguinte f´ormula de recorrˆencia: a11 = a a1j = a1(j−1) + r1 , j ≥ 2; aij = a(i−1)j + r2 , i ≥ 2, j ≥ 1. Onde: a11 = a, r1 e r2 s˜ ao constantes dadas. Vejamos a ideia que est´ a por tr´ as desta defini¸c˜ao. Inicialmente s˜ ao dados: a11 •
r1
r2 Agora construimos a progress˜ ao aritm´etica da linha 1, assim: a11 •
r1 •
•
•
• ...
r2 Agora podemos descer com “com passos de r2 ” por qualquer coluna, assim:
r2
r1
a11 •
•
•
•
• ...
•
•
•
•
• ...
•
•
•
•
• ...
•
•
•
•
• ...
··························· · ·
109
Exemplos: (a) a11 = 1, r1 = 2 e r2 = 1. Temos a seguinte PA-2D: 1
3
5
7
9
...
2
4
6
8
10
...
3
5
7
9
11
...
4
6
8
10
12
...
5
7
11
13
14
...
............................. (b) a11 = 5, r1 = −1 e r2 = 1. Temos a seguinte PA-2D: 5
4
3
2
1
...
6
5
4
3
2
...
7
6
5
4
3
...
8
7
6
5
4
...
9
8
7
6
5
...
..........................
Nota¸ c˜ ao: Adotaremos a seguinte simbologia para uma PA-2D: a11
r1
r2
As PA-2D dos dois exemplos anteriores s˜ ao representadas por 1
5
2
1
1
110
−1
2.3.1
F´ ormula do termo geral de uma PA-2D
N˜ao seria razo´ avel − nem mesmo sensato − recorrermos `a defini¸c˜ao para encontrar um termo qualquer de uma PA-2D. A seguir damos uma f´ormula que nos d´ a acesso direto a qualquer termo de uma PA-2D. Teorema 1 (F´ormula do termo geral de uma PA-2D). Na PA-2D em que o primeiro termo ´e a11 , a raz˜ ao das linhas ´e r1 e a raz˜ ao das colunas ´e r2 o (i, j)-termo ´e: aij = a11 + (j − 1) r1 + (i − 1) r2 Exemplo: Calcule os termos a41 , a14 e a33 da seguinte PA-2D: 5
6
7
8
9
...
4
5
6
7
8
...
3
4
5
6
7
...
2
3
4
5
6
...
1
2
3
4
5
...
..........................
Solu¸ c˜ ao: Do diagrama tiramos: a11 = 5, r1 = 1 e r2 = −1. Ent˜ao aij = a11 + (j − 1) r1 + (i − 1) r2 = 5 + (j − 1) 1 + (i − 1) (−1) = −i + j + 5 Logo a41 = −4 + 1 + 5 = 2, a14 = −1 + 4 + 5 = 8, a33 = −3 + 3 + 5 = 5.
111
F´ ormula do termo geral na HP Prime O que me faz entusiasta da calculadora HP Prime − al´em da computa¸c˜ao alg´ebrica − ´e a possibilidade de se fazer programas extremamente compactos, veja por exemplo a f´ormula do termo geral de uma PA-2D em apenas uma u ´nica linha!: aij = a11 + (j − 1) r1 + (i − 1) r2
Neste programa entramos com a11 r1 e r2 e obtemos a PA-2D de ordem 6 × 6. Na tela da direita temos a PA-2D do exemplo anterior. Propriedades numa PA-2D Decorrem da f´ormula do termo geral de uma PA-2D aij = a11 + (j − 1) r1 + (i − 1) r2 as seguintes propriedades:
(Exerc´ıcio)
P1) Qualquer linha ou coluna em uma PA-2D resulta em progress˜ao aritm´etica. P2) Dado qualquer “retˆ angulo” em uma PA-2D a soma de dois v´ertices opostos ´e igual ` a soma dos outros dois v´ertices:
ai
1 j1
+ ai
2 j2
= ai
1 j2
+ ai
2 j1
Veja um exemplo: 5
6
7
8
9
...
a22
4
5
6
7
8
...
5
6
7
3
4
5
6
7
...
5
6
2
3
4
5
6
...
4 a32
1
2
3
4
5
...
a24
a34
a22 + a34 = a24 + a32
.......................... 112
Duas consequˆencias imediatas desta propriedade s˜ ao: Em qualquer PA-2D , qualquer termo ´e a soma do primeiro termo de sua linha com o primeiro termo de sua coluna menos o primeiro termo da PA-2D . 1a )
aij = ai1 + a1j − a11 Exemplo: 5
6
7
8
9
...
4
5
6
7
8
...
3
4
5
6
7
...
2
3
4
5
6
...
1
2
3
4
5
...
a34 = a31 + a14 − a11 6= 3 + 8 − 5
.......................... 2 a ) Em uma PA-2D vale ainda:
aij = a(i−1)j + ai(j−1) − a(i−1)(j−1) Exemplo: 5
6
7
8
9
...
4
5
6
7
8
...
3
4
5
6
7
...
2
3
4
5
6
...
1
2
3
4
5
...
a34 = a(3−1)4 + a3(4−1) − a(3−1)(4−1)
a34 = a24 + a33 − a23 6= 7 + 5 − 6
..........................
113
Observe o mˆes de janeiro de 2017:
1
1
7
temos na matriz acima uma PA-2D onde a11 = 1, r1 = 1 e r2 = 7. Confira as propriedades anteriores. Nos telefones de teclas, e tamb´em ha HP Prime, podemos discernir uma PA-2D:
A prop´osito, em projeto de computadores existe a necessidade de se conhecer o valor de uma tecla em fun¸c˜ao de sua posi¸c˜ao no teclado.
aij = 3i + j − 3
114
P3) Os elementos da diagonal principal de uma PA-2D quadrada est˜ ao em P.A. de primeiro termo a11 e raz˜ ao r1 + r2 . Confira esta propriedade nas seguintes PA-2D: −1
1
3
5
7
...
1
3
5
7
9
...
3
5
7
9
11
...
5
7
9
11
13
...
7
9
11
13
15
...
...............................
P4) Os elementos da diagonal secund´aria de uma PA-2D quadrada de ordem N est˜ ao em P.A. de primeiro termo a1N e raz˜ ao r2 − r1 . Confira esta propriedade nas seguintes PA-2D:
−1
1
3
5
7
1
3
5
7
9
3
5
7
9
11
5
7
9
11
13
7
9
11
13
15
N = 3, a13 = 9 N = 3, a13 = 3 ւ
115
2.3.2
Soma dos termos de uma PA-2D
Vamos exibir uma f´ormula para calcular a soma Si×j dos i×j “primeiros” termos de uma PA-2D. Teorema 2 (Soma dos termos de uma PA-2D). Em uma PA-2D a soma Si×j dos i × j termos iniciais vale Si×j =
[ 2a11 + (j − 1) r1 + (i − 1) r2 ] i × j 2
Corol´ ario 1. Em toda PA-2D tem-se:
Si×j =
(a11 + aij ) i × j 2
Exemplos: (a) Calcule S2×3 para a PA-2D: 5
6
7
8
9
...
4
5
6
7
8
...
3
4
5
6
7
...
2
3
4
5
6
...
1
2
3
4
5
...
5
1
−1
..........................
Solu¸ c˜ ao: Basta substituir os dados da PA-2D na f´ormula acima: S2×3 =
[ 2 · 5 + (3 − 1) 1 + (2 − 1) (−1) ] 2 × 3 = 33 2
116
Utilizando a propriedade P2: ai
1 j1
(p. 112)
+ ai
2 j2
= ai
1 j2
+ ai
2 j1
a11 + aij = a1j + ai1 e a equa¸c˜ ao Si×j =
(a11 + aij ) i × j 2
Si×j =
(ai1 + a1j ) i × j 2
podemos escrever:
Isto ´e, em uma PA-2D , a soma dos n´ umeros dentro de um “retˆ angulo” de dimen˜oes i × j, ´e o semiproduto da soma dos n´ umeros de quaisquer dois v´ertices opostos pela “´ area do retˆ angulo”. Observe isto nas PA-2D seguintes:
S2×3 =
(1 + 6) 2 × 3 = 21 2
S3×2 =
(7 + 2) 3 × 2 = 27 2
S2×6 =
(1 + 13) 2 × 6 = 84 2
S2×3 =
(4 + 3) 2 × 3 = 21 2
S3×2 =
(1 + 8) 3 × 2 = 27 2
S2×6 =
(8 + 6) 2 × 6 = 84 2
Observe que como as linhas e as colunas em uma PA-2D est˜ ao em P.A., nas “propriedades da soma” n˜ ao ´e necess´ario que o v´ertice superior esquerdo do retˆ angulo esteja fixo em a11 . Por exemplo, na figura ao lado,
S2×3 =
(4 + 9) 2×3 2
117
= 39
Exemplo: Calcule o somat´ orio duplo abaixo: 10 X 5 X
j=1 i=1
(3 i + 2 j − 1)
Solu¸ c˜ ao: Fa¸camos aij = 3 i + 2 j − 1. Vamos usar a equa¸c˜ao Si×j =
(a11 + aij ) i × j 2
Ent˜ ao, a11 = 3 · 1 + 2 · 1 − 1 = 4 e a5, 10 = 3 · 5 + 2 · 10 − 1 = 34 Logo, S5×10 =
(4 + 34) 5 × 10 = 950 2
Portanto, 5 10 X X
j=1 i=1
(3 i + 2 j − 1) = 950
Generalizando este exemplo, temos: m n X X
(a i + b j + c) =
j=1 i=1
[ (m + 1) a + (n + 1) b + 2 c ] m × n 2
(c) Determine a soma de todos os inteiros que figuram na tabela abaixo: 1
2
3
...
n
2
3
4
...
n+1
3
4
5
...
n+2
.......................................... n
n+1
n+2
...
n + (n − 1)
Solu¸ c˜ ao: O leitor n˜ ao ter´ a dificuldades em perceber que a soma pedida ´e equivalente ` a soma do n × n termos da seguinte PA-2D: a11 = 1, r1 = 1 e r2 = 1. Ent˜ ao: Sn×n =
[ 2 · 1 + (n − 1) 1 + (n − 1) 1 ] n × n = n3 2 118
Uma outra propriedade de uma PA-2D est´ a na seguinte proposi¸c˜ao: Proposi¸ c˜ ao 1. Considere uma PA-2D em que a11 , r1 e r2 s˜ ao inteiros. Se i e j s˜ ao ambos ´ımpares, ent˜ ao a11 + aij = ai1 + a1j ´e par. Veja dois exemplos: 5
6
7
8
9
...
5
6
7
8
9
...
4
5
6
7
8
...
4
5
6
7
8
...
3
4
5
6
7
...
3
4
5
6
7
...
2
3
4
5
6
...
2
3
4
5
6
...
1
2
3
4
5
...
1
2
3
4
5
...
..........................
..........................
Observe que a contrapositiva da proposi¸c˜ao acima ´e: Se a11 + aij = ai1 + a1j ´e ´ımpar ent˜ao i ou j ´e par. Exemplos: 5
6
7
8
9
...
5
6
7
8
9
...
4
5
6
7
8
...
4
5
6
7
8
...
3
4
5
6
7
...
3
4
5
6
7
...
2
3
4
5
6
...
2
3
4
5
6
...
1
2
3
4
5
...
1
2
3
4
5
...
..........................
..........................
Observe que esta propriedade ´e menos trivial − menos imediata − que as anteriores.
119
2.3.3
Lineariza¸c˜ ao de sequˆ encias duplas
Nesta se¸c˜ ao exibiremos o conceito de lineariza¸ c˜ ao de uma sequˆencia dupla, o qual aumentar´ a substancialmente o espectro de aplica¸c˜oes das progress˜oes aritm´eticas 2D. O que chamaremos de lineariza¸ca ˜o de uma sequˆencia dupla − limitada em colunas − ´e o procedimento de transform´a-la em uma sequˆencia simples (an ), colocando as linhas uma ap´ os a outra. Nota: Sempre que falarmos em lineariza¸c˜ao de uma sequˆencia dupla, fica subentendido que a mesma tem N colunas. Exemplo: Linearizar a sequˆencia dupla abaixo: a11
a12
a13
a21
a22
a23
a31
a32
a33
................ Solu¸ c˜ ao: Basta escrever uma linha ap´ os a outra, assim: a11
a12
a13
a21
a22
a23
a31
a32
a33
...
Equa¸ co ˜es de lineariza¸ c˜ ao No estudo da lineariza¸c˜ao de uma sequˆencia dupla surgem dois problemas a serem resolvidos: ao (i, j) de um termo qualquer na sequˆencia dupla , deter1 o ) Dada a posi¸c˜ minar sua posi¸c˜ ao n na sequˆencia linearizada; e, inversamente: 2 o ) Dada a posi¸c˜ ao n de um termo na sequˆencia linearizada, determinar sua localiza¸c˜ ao (i, j) na sequˆencia dupla . Para a solu¸c˜ ao do primeiro problema temos n = aij = N (i − 1) + j Para a solu¸c˜ ao do segundo problema temos n−1 i= N +1
j = n − N n−1 N 120
Exemplo: Linearizando-se uma sequˆencia dupla com cinco colunas, qual a nova posi¸c˜ ao ocupada pelos termos a32 , a24 , a35 e a21 ? Solu¸ c˜ ao: Para N = 5, utilizando a f´ormula n = aij = N (i − 1) + j temos: n = 5(i − 1) + j, logo a32
⇒
n = 5(3 − 1) + 2 = 12
a24
⇒
n = 5(2 − 1) + 4 = 9
a35
⇒
n = 5(3 − 1) + 5 = 15
a21
⇒
n = 5(2 − 1) + 1 = 6
Confira a11
a12
a13
a14
a15
a21
a22
a23
a24
a25
a31
a32
a33
a34
a35
a41
a42
a43
a44
a45
.................................. O programa seguinte recebe uma matriz e utiliza a f´ormula n = aij = N (i − 1) + j para transfer´ı-la para um vetor
Na tela da direita vemos um exemplo de aplica¸c˜ao do programa.
121
Exemplo: Para a PA-2D seguinte 1
1
−1 calcular os termos a7 , a11 e a14 (sequˆencia linearizada), com N = 5. Solu¸ c˜ ao: Com N = 5, temos: n−1 +1 i= 5
j = n − 5 n−1 5
Ent˜ ao n=7
⇒
i=
n = 11
⇒
i=
n = 14
⇒
i=
7−1 5
11−1 5
14−1 5
j = 7 − 5 7−1 =2 5
+ 1 = 2,
j = 11 − 5 11−1 =1 5
+ 1 = 3,
j = 14 − 5 14−1 =4 5
+ 1 = 3,
Na f´ormula do termo geral, temos
aij = a11 + (j − 1) r1 + (i − 1) r2 = 1 + (j − 1) 1 + (i − 1) (−1) = −i + j + 1 Portanto
a22 = −2 + 2 + 1 = 1 a31 = −3 + 1 + 1 = −1 a34 = −3 + 4 + 1 = 2
Confira 1
2
3
4
5
0
1
2
3
4
−1
0
1
2
3
−2
−1
0
1
2
............................. 122
Soma em uma sequˆ encia linearizada Agora vamos exibir uma f´ormula para a soma Sn dos n termos iniciais de uma sequˆencia linearizada, conhecidos a1 , r1 , r2 e N .
Sn =
[ 2a1 + (N −1) r1 + (i−2) r2 ] (i−1)×N 2
+ j(a1 + (i − 1) r2 ) +
j(j−1) r1 2
Exemplo: Calcule a soma dos n primeiros termos da sequˆencia 1
1
2
2
3
3
4
4
...
Solu¸ c˜ ao: A sequˆencia em quest˜ ao pode ser vista como a lineariza¸c˜ao da seguinte PA-2D: 1
1
2
2
3
3
4
4
a11 = 1
r1 = 0
N =2 r2 = 1
...... Sendo assim, temos:
Sn =
[ 2a1 + (N −1) r1 + (i−2) r2 ] (i−1)×N 2
Sn =
[ 2·1 + (2−1) 0 + (i−2) 1 ] (i−1)×2 2
+ j(a1 + (i − 1) r2 ) +
+ j(1 + (i − 1) 1) +
j(j−1) r1 2
j(j−1) 0 2
Simplificando Sn = i (i − 1) + j i Substituindo j = n − N (i − 1) i = n−1 + 1 N
⇒
e simplificando, chegamos a
j = n − 2(i − 1) i = n−1 + 1 2
n − 1 2 n−1 +n − Sn = (n − 1) 2 2 123
Na tela a seguir programamos a equa¸c˜ao
Sn =
[ 2a1 + (N −1) r1 + (i−2) r2 ] (i−1)×N 2
+ j(a1 + (i − 1) r2 ) +
j(j−1) r1 2
Na tela da direita temos o exemplo anterior. Como valorizar seus conhecimentos matem´ aticos Exemplo: Calcule a soma dos n primeiros termos da sequˆencia dos naturais 1
2
3
4
5
6
7
8
...
Solu¸ c˜ ao: Escolhendo um N arbitr´ario, digamos N = 3, a sequˆencia em quest˜ ao pode ser vista como a lineariza¸c˜ao da seguinte PA-2D:
1
2
3
4
5
6
7
8
9
10
11
12
a11 = 1
r1 = 1
N =3 r2 = 3
.............. Portanto, a soma dos n primeiros n´ umeros naturais − via lineariza¸c˜ao de sequˆencias duplas − vale Sn =
n (n + 1) 2
124
Exemplo: Encontre as f´ormulas do termo geral e da Soma para a sequˆencia 0
1
2
0
1
2
0
1
2
...
Solu¸ c˜ ao: A sequˆencia em quest˜ ao pode ser vista como a lineariza¸c˜ao da seguinte PA-2D: 0
1
2
0
1
2
0
1
2
0
1
2
a11 = 0
r1 = 1
N =3 r2 = 0
.......... Temos: a(n) = aij = a11 + (j − 1) r1 + (i − 1) r2 = 0 + (j − 1) 1 + (i − 1) 0 = j − 1 Substituindo j = n − N (i − 1) i = n−1 + 1 N
⇒
temos
Portanto
j = n − 3(i − 1) i = n−1 + 1 3
n−1 a(n) = n − 3(i − 1) − 1 = n − 3 −1 3 n−1 a(n) = n − 1 − 3 3
Na tela a seguir programamos este exemplo, confira na tela do centro
125
Na u ´ ltima tela acima obtemos a soma dos termos da sequˆencia, vale n−1 2 + n2 − n (9 − 6n) + 9 n−1 3 3 Sn = 2 Na tela a seguir fizemos uma ligeira altera¸c˜ao no programa da f´ormula do termo geral
Agora o programa sai com a fun¸c˜ao e n˜ ao com a express˜ ao do termo geral, na tela da direita usamos o comando MAKELIST para, a partir da f´ormula do termo geral, gerar os termos da sequˆencia do exemplo, confira 0
1
2
0
1
2
0
1
2
...
Na tela a seguir fizemos uma ligeira altera¸c˜ao no programa da soma
Agora o programa sai com a fun¸c˜ao e n˜ ao com a express˜ ao da soma, na tela da direita calculamos alguns exemplos de soma dos n primeiros termos da sequˆencia acima. Observamos na tela direita que ST(3) = 3 e ST(9) = 9, o que nos sugere elaborar o seguinte desafio ao leitor: Desafio: Para que valores de n teremos Sn = n para a sequˆencia (?): 0
1
2
0
1
2
0
Ou melhor, para a sequˆencia acima teremos
Sn = n
⇐⇒
Prove matematicamente sua conclus˜ao!
126
n =?
1
2
...
Um Singelo Desafio Condidere a seguinte sequˆencia: 0
1
2
0
1
2
0
1
2
...
ou seja, a tripla 0, 1, 2 se repete indefinidamente. Considere a sequˆencia Sn da soma dos termos desta sequˆencia, por exemplo: S1 = 0,
S2 = 1,
S3 = 3,
S4 = 3,
S5 = 4,
S6 = 6,
S7 = 6.
como ´e f´acil ver. Desafio: Para que valores de n teremos Sn = n para a sequˆencia em ques-
t˜ao?. Ou melhor, para a sequˆencia acima teremos
Sn = n
⇐⇒
n =?
Prove matematicamente sua solu¸ c˜ ao, n˜ ao aceitamos “argumentos heur´ısticos”.
Nota: Resolvi este desafio com o aux´ılio da calculadora HP Prime; desconfio que a HP Prime ´e superior a muitas das outras linguagens de programa¸c˜ao, para confirmar (ou n˜ ao) minha suspeita deixo este desafio aos estudantes de Ciˆencia da Computa¸c˜ ao, que podem pedir aux´ılio de qualquer linguagem de suas preferˆencias. Ademais, observe a dupla seta ⇐⇒ .
Boa Sorte!
Boa Vista-RR/23.02.2018
[email protected]
127
Exemplo: Considere a sequˆencia dos n´ umeros naturais. Retire desta sequˆencia todos os m´ ultiplos de p (p ≥ 2, natural arbitrariamente fixado). Encontre para a sequˆencia resultante: (a) Uma f´ormula para o termo geral; (b) Uma f´ormula para a soma dos n primeiros termos. Solu¸ c˜ ao: Inicialmente temos N:
1
2
3
4
5
6
7
8
...
Se p = 2 teremos a sequˆencia dos ´ımpares. Consideremos p > 2. Neste caso, temos: 2 ... p −1
1
p
p+1
p + 2 . . . 2p − 1
2p
2p + 1 . . .
Claramente esta sequˆencia pode ser arranjada no seguinte quadro: 1
2
...
p−1
p+1
p+2
...
2p − 1
2p + 1
2p + 2
...
3p − 1
............................................. que nada mais ´e que a seguinte PA-2D limitada em colunas: a11 = 1
r1 = 1
N =p−1 r2 = p
Logo a(n) = aij = a11 + (j − 1) r1 + (i − 1) r2 = 1 + (j − 1) 1 + (i − 1) p = j + (i − 1) p 128
Substituindo i = n−1 +1 N
i = n−1 p−1 + 1
⇒
j = n − N (i − 1)
j = n − (p − 1)(i − 1)
simplificando, chegamos a
an = n +
j
n−1 p−1
k ←−assim
Pois bem, para a soma dos termos, temos:
Sn =
[ 2a1 + (N −1) r1 + (i−2) r2 ] (i−1)×N 2
Sn =
+ j(a1 + (i − 1) r2 ) +
[ 2·1 + ((p−1)−1) 1 + (i−2) p ] (i−1)×(p−1) 2
+ j (1 + (i − 1) p) +
j(j−1) r1 2
j(j−1) 1 2
Simplificando, temos: j n − 1 k2 p(p − 1) jn−1 k j(j + 1) Sn = + + pj p−1 2 p−1 2 n−1 Substituindo j = n − (p − 1) p−1 , obtemos: n(n + 1) p − 1 j n − 1 k2 p − 1 − 2n j n − 1 k Sn = − − 2 2 p−1 2 p−1 N˜ao parece cr´ıvel, mas podemos encontrar Sn pela calculadora, veja:
n2 + 2n
j
n−1 p−1
k
+n−p
j
n−1 p−1
k2
−p
j
n−1 p−1
k
+
j
n−1 p−1
k2
+
j
n−1 p−1
k
2 At´e por inspe¸c˜ ao direta vemos que os dois resultados s˜ ao equivalentes.
129
Apˆ endice: Para n˜ ao perder de vista, deixamos registrado aqui como resolvemos o desafio da p´ agina 127. Pois bem, tendo em conta que para a sequˆencia 0
1
2
0
1
2
0
1
2
...
temos Sn =
n−1 3
2 (9 − 6n) + 9 n−1 + n2 − n 3 2
desejamos resolver a equa¸c˜ao Sn = n, ou ainda n−1 n − 1 2 (9 − 6n) + 9 + n2 − 3 n = 0 3 3
Vamos necessitar do seguinte conceito: Parti¸ c˜ ao dos naturais Para os seguintes subconjuntos de N: N1 = {1, 3, 5, 7, . . .},
n = 2k − 1,
k = 1, 2, 3, . . .
N2 = {2, 4, 6, 8, . . .},
n = 2k,
k = 1, 2, 3, . . .
temos N1 ∪ N2 = N e N1 ∩ N2 = ∅. Por esta raz˜ ao dizemos que os conjuntos N1 e N2 formam uma parti¸c˜ao de N. Isto ´e, todo natural pertence a um e somente um destes conjuntos. Os trˆes seguintes subconjuntos de N: N1 = { 1, 4, 7, 10, . . .},
n = 3k − 2,
k = 1, 2, 3, . . .
N2 = { 2, 5, 8, 11, . . .},
n = 3k − 1,
k = 1, 2, 3, . . .
N3 = { 3, 6, 9, 12, . . .},
n = 3k,
k = 1, 2, 3, . . .
formam uma outra parti¸c˜ao de N. Para resolver o desafio utilizaremos esta u ´ ltima parti¸c˜ao; ademais, poderiamos fazˆe-lo “na m˜ ao”, no entanto, utilizaremos os recursos da calculadora, a t´ıtulo de exemplo. Antes
130
Listaremos agora algumas propriedades da fun¸c˜ao maior inteiro: Proposi¸ c˜ ao 2. Se x e y s˜ ao n´ umeros reais, ent˜ao: (i) ⌊x⌋ ≤ x < ⌊x⌋ + 1. (ii) x ≤ y
⇒
⌊x⌋ ≤ ⌊y⌋.
(iii) ⌊x + m⌋ = ⌊x⌋ + m, para todo m ∈ Z. (iv) ⌊x⌋ + ⌊y⌋ ≤ ⌊x + y⌋ ≤ ⌊x⌋ + ⌊y⌋ + 1. x (v) ⌊x⌋ m = m , para todo m ∈ Z. (vi) 0 ≤ ⌊x⌋ − 2 x2 ≤ 1.
Pois bem, iniciamos digitando a express˜ ao correspondente ao lado esquerdo da equa¸c˜ ao n−1 n − 1 2 (9 − 6n) + 9 + n2 − 3 n = 0 3 3
isto ´e feito na tela a seguir
salvamos a express˜ ao na vari´ avel SD, para efeitos de manipula¸c˜ao alg´ebrica. Considerando a parti¸c˜ ao a seguir N1 = { 1, 4, 7, 10, . . .},
n = 3k − 2,
k = 1, 2, 3, . . .
N2 = { 2, 5, 8, 11, . . .},
n = 3k − 1,
k = 1, 2, 3, . . .
N3 = { 3, 6, 9, 12, . . .},
n = 3k,
k = 1, 2, 3, . . .
na tela do centro pedimos para substuituir na express˜ ao SD n = 3k − 2. Na tela da direita temos o resultado. Observe que a calculadora n˜ ao simplifica − e com raz˜ ao − a express˜ ao ⌊−1 + k⌋ = FLOOR(−1 + k) mas n´ os sabemos tratar-se de um n´ umero inteiro. Utilizaremos a propriedade ⌊x + m⌋ = ⌊x⌋ + m, 131
para todo
m∈Z
Vamos colaborar com a calculadora na simplifica¸c˜ao da express˜ ao da u ´ ltima tela acima, para isto pediremos que ela fa¸ca a seguinte substitui¸c˜ao FLOOR(−1 + k) = −1 + k Observe a linha de entrada na tela a seguir
com o cursor posicionado antes da v´ırgula pedimos uma c´opia da express˜ ao, o resultado ´e a tela da direita. Isto significa que o valor da express˜ ao
para
n − 1 2 n−1 (9 − 6n) + 9 + n2 − 3 n 3 3 n = 3k − 2
(k = 1, 2, 3, . . .)
N1 = { 1, 4, 7, 10, . . .}
´e −2. Portanto, para todos os naturais do conjunto N1 , temos n−1 n − 1 2 (9 − 6n) + 9 + n2 − 3 n = −2 6= 0 3 3
Vejamos as duas outras possibilidades. Na tela a seguir vamos substituir n = 3k − 2 por n = 3k − 1
a segunda das possibilidades em N1 = { 1, 4, 7, 10, . . .},
n = 3k − 2,
k = 1, 2, 3, . . .
N2 = { 2, 5, 8, 11, . . .},
n = 3k − 1,
k = 1, 2, 3, . . .
N3 = { 3, 6, 9, 12, . . .},
n = 3k,
k = 1, 2, 3, . . .
132
O resultado ´e a tela do centro acima. Vamos colaborar com a calculadora na simplifica¸c˜ ao da express˜ ao da u ´ ltima tela acima, para isto pediremos que ela fa¸ca a seguinte substitui¸c˜ ao 3k − 2 3k − 2 = FLOOR =k 3 3 O resultado ´e como na tela a seguir
Portanto, para todos os naturais do conjunto N2 , temos n−1 n − 1 2 + n2 − 3 n = 4 6= 0 (9 − 6n) + 9 3 3 Na tela do centro e da direita temos o mesmo procedimento para a terceira alternativa a seguir N1 = { 1, 4, 7, 10, . . .},
n = 3k − 2,
k = 1, 2, 3, . . .
N2 = { 2, 5, 8, 11, . . .},
n = 3k − 1,
k = 1, 2, 3, . . .
N3 = { 3, 6, 9, 12, . . .},
n = 3k,
k = 1, 2, 3, . . .
Portanto, para todos os naturais do conjunto N3 , temos n − 1 2 n−1 + n2 − 3 n = 0 (9 − 6n) + 9 3 3 Esta ´e a solu¸c˜ ao do desafio: n ´e m´ ultiplo de 3. Na tela a seguir executamos novamente o programa da soma
na tela da direita listamos os 20 primeiros valores da soma, obtendo 12 , 12, 13, 15, 15, 16, 18, 18, 19 } 9 , 9, 10, |{z} 6 , 6, 7, |{z} { 0, 1, |{z} 3 , 3, 4, |{z} S3
S6
S12
S9
133
2.4
Progress˜ ao aritm´ etica tridimensional
Uma sequˆencia tripla ´e uma aplica¸c˜ao do tipo: a(m, n, p) : N × N × N → R Em uma sequˆencia tripla qualquer, cada elemento ´e indicado por aijk . O ´ındice i indica a linha, o ´ındice j a coluna e o ´ındice k a cota (altura) `as quais o elemento pertence. Com a conven¸c˜ao de que as linhas sejam numeradas de cima para baixo, as colunas da esquerda para a direita e as cotas de baixo para cima, temos: a113
a123
a213
a133
a223 a112
a233 a122
a313
a132
a323
a333
a212
a222 a111
a232 a121
a131 k
a312
a322
a332
a211
a221
a231 j
a311
a321
i
a331
Veja esta figura de uma outra perspectiva: a113
a123
a213
a223
a313
a233
a323
a333
a112
a122
a212
a132
a222
a312
a232
a322
a332
a111
a121
a211
a311
a133
a131
a221
a321
a231
a331
134
Em uma sequˆencia tripla temos alguns planos a definir: • Plano-linha: ´e todo plano em que i = m (m ∈ N fixado); • Plano-coluna: ´e todo plano em que j = n (n ∈ N fixado); • Plano-cota: ´e todo plano em que k = p (p ∈ N fixado).
− Plano-linha
− Plano-coluna
− Plano-cota
Em uma sequˆencia tripla de base quadrada definimos: • Plano-diagonal principal (P.D.P.): ´e o plano em que i = j; • Plano-diagonal secund´ario (P.D.S.): ´e o plano em que i + j = N + 1.
− Plano P.D.P.
− Plano P.D.S.
135
Vamos agora definir um tipo especial de sequˆencia tripla: Defini¸ c˜ ao 2. Chama-se progress˜ao aritm´etica tridimensional (PA-3D) uma sequˆencia tripla dada pela seguinte f´ormula de recorrˆencia: a111 = a a1j1 = a + r1 , j ≥ 2; 1(j−1)1 i ≥ 2, j ≥ 1.
aij1 = a(i−1)j1 + r2 , aijk = aij(k−1) + r3 ,
i ≥ 1, j ≥ 1, k ≥ 2.
Onde: a111 = a, r1 , r2 e r3 s˜ ao constantes dadas.
a113
a123
a213
a133
a223 a112
a313
a233 a122
a323 a212
a132 a333
a222 a111
a232 a121
a131 z
a312
a322 a211
a332 a221
a231 y
a311
a321
x
a331
Observe como se d´ a a dinˆ amica desta constru¸c˜ao,
r3
k
r1
j i
aijk = aij(k−1) + r3
r2
a111
a1j1 = a1(j−1)1 + r1
aij1 = a(i−1)j1 + r2
136
Vejamos a ideia que est´ a por tr´ as desta defini¸c˜ao. Inicialmente s˜ ao dados: r3 • a111
r1
r2 Agora construimos a progress˜ ao aritm´etica da linha 1, assim: r3
k
r1
• a111
a1j1 = a1(j−1)1 + r1
j i
r2 Isto ´e, a111
a121
a131
a partir daqui podemos construir qualquer coluna, assim: a111
a121
r1 ...
a131 ...
a211 ...
a311 r2
aij1 = a(i−1)j1 + r2
... ..
.
..
.
..
.
..
.
a partir daqui podemos construir qualquer cota, assim: .. .
.. .
.. .
.. .
.. . .. . .. .
r3
a111 a211
a121
a131
... ...
a311 r2
r1 ...
... ..
.
..
.
..
.
..
.
137
aijk = aij(k−1) + r3
r1 ...
Exemplos: (a) A seguir temos uma PA-3D em que a111 = 4, r1 = 2, r2 = 3 e r3 = 1. 6
8
9
10
11
13
5
7
12
14
9 16
8
10
12
4
6
11
13
8 15
7
9
10
11
12
14
(b) A seguir temos uma PA-3D com a111 = −1, r1 = 1, r2 = 3 e r3 = 2. 5
6
8
9
11 14
12
15
16
10
11 14
11
9
8
9
7
3
1 4
7 10
r3 = 2
10
0
6
4
13
−1
5
3 6
12
2
12 15
5 8
6 9
2
4
10
5 8
1
7
14
17
7
13
8 11
4
6 9
10 13
3
12
7
2 5
8 11
138
−1
r2 = 3
r1 = 1
Por uma quest˜ ao de curiosidade observe que todos os planos (plano-linha, plano-coluna ou plano-cota) resultam em em uma PA-2D. Por exemplo, para o plano k = 1, temos aij1 = a11 + (j − 1) r1 + (i − 1) r2 = −1 + (j − 1) 1 + (i − 1) 3 Isto ´e, a f´ormula do termo geral do plano k = 1 ´e aij1 = 3i + j − 5. Para o plano k = 2, temos aij2 = a11 + (j − 1) r1 + (i − 1) r2 = 1 + (j − 1) 1 + (i − 1) 3 Isto ´e, a f´ormula do termo geral do plano k = 2 ´e aij2 = 3i + j − 3. Veja
1
2
4
5
7 11
12
8
0 3
6 9
10 13
−1
5
1 4
7 10
aij2 = 3i + j − 3
7
9
2
4
6
8
10
3
2 5
8 11
Isto pode ser provado (Exerc´ıcio).
139
aij1 = 3i + j − 5
2.4.1
F´ ormula do termo geral de uma PA-3D
Teorema 3 (F´ormula do termo geral de uma PA-3D). Na PA-3D em que o primeiro termo ´e a111 , a raz˜ ao das linhas ´e r1 , a raz˜ ao das colunas ´e r2 e a raz˜ ao das cotas ´e r3 o (i, j, k)-termo ´e: aijk = a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 Exemplo: Calcule os termos a222 , a323 e a343 da PA-3D em que a111 = −1, r1 = 1, r2 = 3 e r3 = 2. Solu¸ c˜ ao: Substituindo os dados na f´ormula do termo geral, temos aijk = −1 + (j − 1) 1 + (i − 1) 3 + (k − 1) 2 Simplificando aijk = 3i + j + 2k − 7 Sendo assim, temos a222 = 5,
a323 = 10,
a344 = 14
Confira no diagrama a seguir 5
6
8
9
11 14
12
15
9
16
7
8
r3 = 2
10 13
3
1 4
7 10
4 7
0
6 9
3
9
−1
5
12
6
12
2
9
2
5
11
6
15
↓
8
10
14
8
14 1
11
5
11
13
8
17
7
↓
4
↓
4
10
12
10 13
3 6
7
2 5
8 11
140
−1
r2 = 3
r1 = 1
Exemplo: Obter a PA-3D em que a131 = 3, a123 = 8, a234 = 14, e a333 = 13. Solu¸ c˜ ao: Para obter a PA-3D ´e necess´ario encontrar a111 , r1 , r2 e r3 . Ent˜ao a131 = 3
⇒ a111 + (3 − 1) r1 + (1 − 1) r2 + (1 − 1) r3 = 3
a123 = 8
⇒ a111 + (2 − 1) r1 + (1 − 1) r2 + (3 − 1) r3 = 8
a234 = 14 ⇒ a111 + (3 − 1) r1 + (2 − 1) r2 + (4 − 1) r3 = 14 a333 = 13 ⇒ a111 + (3 − 1) r1 + (3 − 1) r2 + (3 − 1) r3 = 13 Simplificando temos o seguinte sistema linear
1 2 0 0
1 1 0 2 1 2 1 3 1 2 2 2
a111
r 1 r2 r3
3
8 = 14 13
Resolvendo este sistema, encontramos 10
11
12 14 16
17
18 8
9 11
10 12
7 9
r3 = 3
11
↓
1
3
5 7
9
7 9
2 4
6 8
6
13
1
7
12
8
12
3
10
14
10
11
9
5
6
5
19 ւ
16
4
10
17
13
15
13 15
11
↓
14
8
14
16
7
13
↓
13 15
12
4
r2 = 2
6 8
10
141
r1 = 1
(FUVEST-SP) Os n´ umeros inteiros positivos s˜ ao dispostos em “quadrados” da seguinte maneira: 1
2
3
10
11
12
19
4
5
6
13
14
15
7
8
9
16
17
18
·· ··
··
·· ··
··
·· ··
···
O n´ umero 500 se encontra em um desses “quadrados”. A “linha” e a “coluna” em que o n´ umero 500 se encontra s˜ ao, respectivamente: a) 2 e 2
b) 3 e 3
c) 2 e 3
d) 3 e 2
e) 3 e 1
Solu¸ c˜ ao: Podemos considerar os quadrados como planos em uma PA-3D: 19 22 25
20 23
26
16
11 14 18
1
2 5
8
12 15
17
4 7
24 27
10 13
21
r3 = 9 3
1
r1 = 1
r2 = 3
6 9
Neste caso, temos aijk = a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 = 1 + (j − 1) 1 + (i − 1) 3 + (k − 1) 9 Logo, aijk = 3i + j + 9k − 12. Fazendo 3i + j + 9k − 12 = 500
⇒
k=
512 − (3i + j) 9
Observe que 1 ≤ i ≤ 3 e 1 ≤ j ≤ 3. A u ´ nica combina¸c˜ao de i e j que produz k inteiro ´e i = j = 2. Para estes valores descobrimos ainda que o n´ umero 500 se encontra no “quadrado” (plano) de n´ umero k = 56. 142
Concatena¸c˜ ao da fun¸ c˜ ao map Vamos considerar a fun¸c˜ ao map vista na p´ agina 76. O interessante ´e que “concatenando” esta fun¸c˜ ao podemos trabalhar com fun¸co˜es de duas ou mais vari´ aveis. Exemplo: Consideremos a seguinte PA-2D 5
6
7
8
9
...
4
5
6
7
8
...
3
4
5
6
7
...
2
3
4
5
6
...
1
2
3
4
5
...
.......................... cuja f´ormula do termo geral ´e, aij = −i + j + 5. Digitando a tela a seguir
dando Enter teremos a tela do centro. Aplicamos novamente a fun¸c˜ao map ao resultado anterior, s´ o que agora j varia, como na tela da direita. Dando Enter teremos a tela a seguir
agora basta tomar a transposta (comando transpose) da matriz anterior e teremos a tela da direita, que ´e a PA-2D acima.
143
Concatenando duas vezes a fun¸c˜ao map podemos obter uma matriz 3D; por exemplo, considerando o programa seguinte (duas primeiras telas)
aijk = a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 Na tela da direita temos uma simula¸c˜ao para a PA-3D da quest˜ao da FUVEST (p. 142). Nota: duplicamos os ´ındices no programa por que estava dando problema.
19 22 25
20 23
26
16
11 14 18
1
2 5
8
12 15
17
4 7
24 27
10 13
21
3 6
9
aijk = 3i + j + 9k − 12
Na primeira tela acima salvamos a matriz 3D na vari´ avel FUV, na tela abaixo mostramos como podemos acessar individualmente os elementos desta matriz, ou ent˜ ao, cada linha e cada plano da matriz.
144
Na figura seguinte adaptamos o programa anterior para sair com quatro planos de uma PA-3D 5
6
8
9
11 14
12
15
16
10
11
7
8
8
10 13
3
1 4
7 10
4 7
0
6 9
3
9
−1
5
12
6
12
2
9
2 5
11
6
15
1
10
5 8
14
4
11
17
7
13
8
14
4
6 9
10 13
3
12
7
2 5
8 11
Na tela da direita fizemos uma simula¸c˜ao para a PA-3D da esquerda. Caso se queira ver a PA-3D plano a plano basta digitar o plano desejado, por exemplo, veja:
Ainda conseguimos introduzir uma melhoria no programa anterior.
145
O programa seguinte 10
11
12 14 16
13 15
17
18
12
13
8
9
9 11
2
3 5
7 9
7
13
4 6
8
6
10 12
3
7
14
8
1
5
12
5 7
11
10
16
4
10
9 11
15
6
15
19
10
14
13
17
8
9 11
14 16
7
13
12
4 6
8 10
sai com uma PA-3D plano a plano, em uma lista.
Propriedades numa PA-3D Decorrem da f´ormula do termo geral de uma PA-3D aijk = a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 as seguintes propriedades:
(exerc´ıcio)
P1) Qualquer plano (linha, coluna ou plano cota) em uma PA-3D resulta em progress˜ ao aritm´etica plana.
− Plano-linha
− Plano-coluna
146
− Plano-cota
P2) Em uma PA-3D o plano cota k = p est´ a em PA-2D de primeiro termo a11p e raz˜ oes r1 e r2 .
10
11
12 14 16
13 15
17
18
12
13
8
9
7
9 11
2
3 5
7 9
7
13
4 6
8
r2 6
10 12
3
a11p r1
14
8
1
5
12
5 7
11
10
16
4
10
9 11
15
6
15
19
10
14
13
17
8
9 11
14 16
7
13
12
4 6
− Plano-cota
8 10
P3) Em uma PA-3D de base quadrada o plano diagonal principal est´ a em PA-2D de primeiro termo a111 e raz˜ oes r1 + r2 e r3 .
r3 a111
r1 + r2
− Plano P.D.P. 147
P4) Em uma PA-3D de base quadrada o plano diagonal secund´ario est´ a em PA-2D de primeiro termo a1N1 e raz˜ oes r2 − r1 e r3 .
r3
r1 r2 −
a1N1
− Plano P.D.S.
P5) Dado qualquer “paralelep´ıpedo” em uma PA-3D, a soma dos termos das arestas verticais opostas de um dos planos diagonais ´e igual a soma dos termos das arestas verticais opostas do outro plano diagonal. Veja um exemplo: 6
8
9
11 5
12
14
11
13
8
13
↓
16
12
10
15 9
11
↑12
11
↑
15 9
12
14
12 6
7
9
13
11
16 10
4
10
13 7
8
↓
10
14
14
No paralelep´ıpedo em destaque na figura da direita, temos: (11 + 16) + (10 + 15) + (9 + 14) = (12 + 11) + (13 + 12) + (14 + 13)
Esta propriedade ´e decorrˆencia da propriedade P2 das PA-2D (p. 112) e do fato de que todo plano-cota ´e uma PA-2D.
148
2.4.2
Soma dos termos de uma PA-3D
Vamos exibir uma f´ormula para calcular a soma Si×j×k dos i × j × k “primeiros” termos de uma PA-3D. Teorema 4 (Soma dos termos de uma PA-3D). Em uma PA-3D a soma Si×j×k dos i × j × k termos iniciais vale Si×j××k =
[ 2a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 ] i × j × k 2
Corol´ ario 2. Em toda PA-3D tem-se:
Si×j×k =
(a111 + aijk ) i × j × k 2
Exemplo: Calcule o somat´ orio triplo abaixo: 3 2 X 2 X X
k=1 j =1 i=1
(3 i + j + 9 k − 12)
Solu¸ c˜ ao: Fa¸camos aijk = 3 i + j + 9 k − 12. Vamos usar a equa¸c˜ao Si×j×k =
(a111 + aijk ) i × j × k 2
Ent˜ao a111 = 3 · 1 + 1 + 9 · 1 − 12 = 1 e a322 = 3 · 3 + 2 + 9 · 2 − 12 = 17 Logo (1 + 17) 3 × 2 × 2 = 108 2 Generalizando o resultado anterior, para: S3×2×2 =
S =
p X m n X X
(a i + b j + c k + d)
k=1 j =1 i=1
temos S =
[ (m + 1) a + (n + 1) b + (p + 1) c + 2d ] m × n × n × p 2 149
Exemplo: Calcule S2×2×3 para a PA-3D dada por a111 = 4, r1 = 2, r2 = 3 e r3 = 1. Solu¸ c˜ ao: Calcularemos de dois modos, temos:
Si×j×k =
[ 2a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 ] i × j × k 2
S2×2×3 =
[ 2 · 4 + (2 − 1) 2 + (2 − 1) 3 + (3 − 1) 1 ] 2 × 2 × 3 = 90 2
Na outra alternativa, temos: Si×j×k =
(a111 + aijk ) i × j × k 2
S2×2×3 =
(4 + a223 ) 2 × 2 × 3 2
Na f´ormula do termo geral temos aijk = a111 + (j − 1) r1 + (i − 1) r2 + (k − 1) r3 a223 = 4 + (2 − 1) 2 + (2 − 1) 3 + (3 − 1) 1 = 11 Substituindo, obtemos S2×2×3 = 90. Ao calcularmos S2×2×3 estamos somando, simultaneamente, todos os n´ umeros dentro do “volume” 2 × 2 × 3. No caso do exemplo em quest˜ao, observe geometricamente:
6
8
10
S2×2×3 9
11 5
12
14 8
10
9
16
13
7
8
8
15 9
12
11 5
12 6
7
8
9
10 4
11
6
13 7
7
14
150
10 4
11
6
9
2.4.3
Lineariza¸c˜ ao de sequˆ encias triplas
A exemplo do que foi feito para as sequˆencias duplas, tamb´em ´e de interesse linearizar uma sequˆencia tripla. O que chamamos de lineariza¸ c˜ ao de uma sequˆencia tripla, limitada em linhas e colunas, ´e o procedimento de transform´a-la em uma sequˆencia simples (an ), colocando as linhas plano a plano, uma ap´ os a outra. Nota: Sempre que falarmos em lineariza¸c˜ao de uma sequˆencia tripla fica subentendido que a mesma tem M linhas e N colunas (ordem M × N × ∞). Exemplo: Linearizar a sequˆencia tripla abaixo (M = N = 3): a113
a123
a213
a133
a223 a112
a233 a122
a313
a323
a132 a333
a212
a222 a111
a232 a121
a312
a322
a131 a332
a211
a221
a311
a231
a321
a331
Solu¸ c˜ ao: Basta escrever uma linha ap´ os a outra, assim: a111
a121
a131
a211
a221
a231
a311
a321
a331
...
a112
a122
a132
a212
a222
a232
a312
a322
a332
...
a113
a123
a133
a213
a223
a233
a313
a323
a333
...
Observe o leitor que a segunda linha no diagrama acima vem logo ap´ os a primeira, e a terceira logo ap´ os a segunda.
151
Equa¸ co ˜es de lineariza¸ c˜ ao No estudo da lineariza¸c˜ao de uma sequˆencia tripla surgem dois problemas a serem resolvidos: ao (i, j, k) de um termo qualquer na sequˆencia tripla de1 o ) Dada a posi¸c˜ terminar sua posi¸c˜ ao n na sequˆencia linearizada; e, inversamente: 2 o ) Dada a posi¸c˜ ao n de um termo na sequˆencia linearizada, determinar sua localiza¸c˜ ao (i, j, k) na sequˆencia tripla. A solu¸c˜ ao do primeiro problema acima ´e:
n = aijk = N (i − 1) + j + M N (k − 1) A solu¸c˜ ao para o segundo problema ´e:
j k n−1 k = +1 MN k j P −1 + 1, i = N j = P − N (i − 1)
onde P = n − M N (k − 1)
152
Exemplo: Linearizando-se uma sequˆencia tripla de ordem 4 × 4 × ∞, qual a nova posi¸c˜ ao ocupada pelos termos a222 , a323 e a344 ?. Solu¸ c˜ ao: Para M = N = 4, temos n = N (i − 1) + j + M N (k − 1) = 4(i − 1) + j + 4 · 4 (k − 1) Simplificando n = 4 i + j + 16 k − 20 Logo a222
⇒ n = 4 · 2 + 2 + 16 · 2 − 20 = 22
a323
⇒ n = 4 · 3 + 2 + 16 · 3 − 20 = 42
a344
⇒ n = 4 · 3 + 4 + 16 · 4 − 20 = 60
Interprete estes resultados para a sequˆencia tripla a seguir: 5
6
8
9
11 14
12
15
9
16
8
r3 = 2
10 13
3
1 4
7 10
4 7
0
6 9
3
9
−1
5
12
6
12
2
9
2
5
11
6
15
↓
8
10
8
14 1
7
5
11
13
14
17
7
↓
4
↓
8 11
4
10
12
10 13
3 6
7
2 5
8 11
153
−1
r2 = 3
r1 = 1
Exemplo: Considere a sequˆencia dos n´ umeros ´ımpares 1
3
5
7
9
11
13
15
17
...
armazenando esta sequˆencia em uma PA-3D de ordem 3 × 3 × ∞ encontre a nova posi¸c˜ ao ocupada pelos ´ımpares 13, 27 e 51. Solu¸ c˜ ao: Substituindo M = N = 3 nas equa¸c˜oes da lineariza¸c˜ao, temos: j k n−1 k = +1 3·3 j k i = P 3−1 + 1, j = P − 3(i − 1)
onde P = n − 3 · 3(k − 1)
Necessitamos encontrar a posi¸c˜ao n de cada um dos termos na sequˆencia dada por an = 2n − 1. Ent˜ao 13 ⇒ 13 = 2n − 1 ⇒ n = 7; 27 ⇒ 27 = 2n − 1 ⇒ n = 14; 51 ⇒ 51 = 2n − 1 ⇒ n = 26 Sendo assim, temos k j 7−1 +1 k = 9 j k P −1 n=7 ⇒ i = + 1, 3 j = P − 3(i − 1) k j 14−1 +1 k = 9 k j P −1 n = 14 ⇒ + 1, i = 3 j = P − 3(i − 1) j k 26−1 k = +1 9 k j P −1 n = 26 ⇒ + 1, i = 3 j = P − 3(i − 1)
onde P = 7 − 9(k − 1)
onde P = 14 − 9(k − 1)
onde P = 26 − 9(k − 1)
154
k=1 ⇒ i=3 j=1
⇒
k=2 i=2
j=2
k=3 ⇒ i=3 j=2
Ent˜ ao, os ´ımpares 13, 27 e 51 ocupar˜ao na PA-3D as seguintes posi¸c˜oes (i, j, k) = (3, 1, 1); 37 43 49
39 45
51
31
21
↑
1 7 13
23 29
35 3
9 15
41 47
27 33
(i, j, k) = (3, 2, 3)
53
↑ 19 25
(i, j, k) = (2, 2, 2);
5 11
17
↑ Aproveitamos o espa¸co sobrando na figura acima para fornecer um programa que implementa as equa¸c˜ oes da lineariza¸c˜ao; na tela inferior resolvemos o exemplo em quest˜ ao. Exemplo: Como mais um exemplo de aplica¸c˜ao das equa¸c˜oes de linearizac¸˜ao, podemos resolver a quest˜ ao da FUVEST-SP, p. 142. Naquela quest˜ao temos: M = N = 3 e n = 500. j k n−1 k = +1 MN k j P −1 + 1, onde P = n − M N (k − 1) i = N j = P − N (i − 1)
Ent˜ao k j 500−1 + 1 = 56 k = 3·3 k j 5−1 + 1 = 2, i = 3 j = 5 − 3(2 − 1) = 2
onde P = 500 − 3 · 3(56 − 1) = 5
155
Soma em uma sequˆ encia linearizada Agora exibiremos uma f´ormula para a soma Sn dos n termos iniciais de uma sequˆencia linearizada (oriunda de uma PA-3D), conhecidos a1 , r1 , r2 , r3 , M e N .
← plano k
r3 r1
a1
r2
M N
Temos SM ×N×(k−1) =
S(i−1)×N k =
[ 2a111 + (N −1) r1 + (M −1) r2 + (k−2) r3 ] M ×N ×(k−1) 2
[ 2a11k + (N −1) r1 + (i−2) r2 ] (i−1)×N 2
Sijk = jai1k +
j(j−1) r1 2
Sendo
S(n) = SM ×N×(k−1) + S(i−1)×Nk + Sijk F´ormula esta facilmente program´avel. Nota: Na referˆencia [6] mostramos mais aplica¸c˜oes deste tema.
156
2.5
Progress˜ ao aritm´ etica de ordem m
Este foi mais um dos temas que desenvolvemos. Aqui comparecem v´arias f´ormulas in´editas. Existem pelo ao menos duas formas de se definir o que s˜ ao progress˜ oes aritm´ eticas de ordem m, aqui nesta se¸c˜ao vamos optar por uma delas. Inicialmente consideremos a sequˆencia dos cubos dos n´ umeros naturais: 13
23
33
43
53
63
...
216
...
Ou ainda 1
8
27
64
125
Fa¸camos sucessivas diferen¸cas entre os termos consecutivos desta sequˆencia para obter a seguinte sequˆencia: 7
19
37
61
91
...
Procedamos da mesma forma em rela¸c˜ao a sequˆencia acima, para obter: 12
18
24
30
...
E ainda mais uma u ´ ltima diferen¸ca: 6
6
6
...
Obtivemos uma sequˆencia constante. Vamos resumir isto em um s´ o diagrama, assim: 1
8
27
64
125
216
...
7
19
37
61
91
...
∆1 an
12
18
24
30
...
∆ 2 an
6
6
6
...
∆ 3 an
Onde anotamos: ∆m an = m - ´esima diferen¸ca da sequˆencia an .
157
∆0 an
Agora estamos em condi¸c˜oes de estabelecer a seguinte: Defini¸ c˜ ao 3 (Progress˜ ao aritm´etica de ordem m). Uma sequˆencia (an ) ´e uma progress˜ ao aritm´etica de ordem m se e somente se ∆m an = constante 6= 0 Usaremos da seguinte nota¸c˜ao:
P.A.m para uma progress˜ ao aritm´etica de ordem m (m = 0, 1, 2, . . .). Uma P.A.0 ´e qualquer sequˆencia constante, com a exigˆencia de que esta constante seja diferente de 0. Observe as duas primeiras diferen¸cas dos quadrado dos n´ umeros naturais 1
4
9
16
25
...
3
5
7
9
...
P.A.1
2
2
2
...
P.A.0
P.A.2
Ou ainda 1
8
27
64
125
216
...
7
19
37
61
91
...
P.A.2
12
18
24
30
...
P.A.1
6
6
6
...
P.A.0
P.A.3
Observe que a rigor − isto ´e, matematicamente falando − os diagramas acima n˜ ao provam que a sequˆencia an = n2 dos quadrados dos naturais, ou a sequˆencia an = n3 dos cubos dos naturais s˜ ao progress˜oes aritm´eticas de ordem 2 ou 3, respectivamente. Oportunamente veremos como atrav´es da HP Prime podemos provar isto!
158
2.5.1
F´ ormula do termo geral de uma P.A.m
A f´ormula do termo geral de uma progress˜ao aritm´etica vale an = a1 + (n − 1) r Vamos exibir uma f´ormula que generaliza a f´ormula acima para uma P.A. de ordem m qualquer. Antes faremos uma conven¸c˜ao: necessitaremos de dois ´ındices para localizar um termo qualquer nestas sequˆencias, um que se refira ao pr´ oprio termo e, outro, que se refira `a ordem da sequˆencia. Sendo assim, convencionamos:
anm = n - ´esimo termo da P.A. de ordem m. Por exemplo, observe a disposi¸c˜ao dos ´ındices no diagrama a seguir a13
a23
a33
a43
a53
a63
...
a12
a22
a32
a42
a52
...
P.A.2
a11
a21
a31
a41
...
P.A.1
a10
a20
a30
...
P.A.0
P.A.3
Nota: Em toda esta se¸c˜ ao consideraremos n ∈ N = { 1, 2, 3, . . . }
e
m ∈ N ∪ { 0 },
a menos que o contr´ ario seja explicitado. Teorema 5 (F´ormula do termo geral de uma P.A.m ). Em uma P.A.m o n − ´esimo termo vale
anm =
m X n−1 j
j=0
159
a1(m−j)
Observe na f´ormula do termo geral anm =
m X n−1
j =0
j
a1(m−j)
que para calcular o n-´esimo termo de uma P.A.m necessitaremos conhecer, a priori, o primeiro termo de todas as sequˆencias anteriores, ´e o que nos diz o coeficiente a1(m−j) (j = 0, 1, . . . , m) No caso particular de uma P.A.3 , por exemplo, isto implica em que para conhecermos qualquer termo do retˆ angulo em destaque na horizontal a13
a23
a33
a43
a53
a63
...
a12
a22
a32
a42
a52
...
P.A.2
a11
a21
a31
a41
a10
a20
a30
...
P.A.3
P.A.1
P.A.0
...
deveremos conhecer os termos em destaque na vertical − como se observa na equa¸c˜ ao de an3 , veja: an3 = a13 + (n − 1) a12 +
(n − 1)(n − 2)(n − 3) (n − 1)(n − 2) a11 + a10 2 6
Algoritmo Vamos sugerir um algoritmo para se obter os termos a1(m−j) ,
para j = 0, 1, . . . , m.
Dada a P.A.m (m ≥ 1) fazemos diferen¸cas sucessivas entre termos consecutivos das P.A.s de ordem m, m − 1, . . . , 1 e tomamos o primeiro termo de cada uma destas diferen¸cas. Oportunamente faremos um programa para implementar tal algoritmo. Nota: Oportunamente faremos com que a HP Prime nos forne¸ca a f´ormula do termo geral de uma P.A. de ordem qualquer − mas antes faremos na m˜ ao, para exemplificar os detalhes.
160
Exemplo: (a) Encontre a f´ormula do termo geral da seguinte P.A.2 : 1
3
6
10
15
21
...
Solu¸ c˜ ao: Substituindo m = 2 na f´ormula do termo geral, obtemos: an2 =
2 X n−1 j
j=0
=
a1(2−j)
n−1 n−1 n−1 a1(2−0) + a1(2−1) + a1(2−2) 0 1 2
Simplificando, obtemos: an2 = a12 + (n − 1)a11 +
(n − 1)(n − 2) a10 2
(2.1)
Esta ´e a f´ormula do termo geral de uma P.A.2 . Para encontrar os coeficientes a11 e a10 aplicamos o algoritmo, assim:
1 2 1
3 − −
3 1
−
6
10
15
4
5
...
1
...
...
Ou ainda a12 → 1
3
6
10
15
a11 → 2
3
4
5
...
a10 → 1
1
1
...
...
Substituindo estes resultados na equa¸c˜ao (2.1) e simplificando, obtemos: an2 =
n(n + 1) 2
161
(UFRGS 04) Considere a disposi¸c˜ao de n´ umeros abaixo. 1 2
3
4 7
5 8
11
6 9
12
13
10 14
15
····································· O primeiro elemento da quadrag´esima linha ´e a) 777
b) 778
d) 780
e) 781
c) 779
Solu¸ c˜ ao: Vamos obter a f´ormula do termo geral da sequˆencia 1
2
4
7
11
16
...
Aplicando o algoritmo, resulta a12 → 1
2
4
7
11
a11 → 1
2
3
4
5
a10 → 1
1
1
1
...
16
...
...
A sequˆencia em quest˜ao ´e uma P.A.2 ; logo, substituindo estes dados na equa¸c˜ ao (n − 1)(n − 2) an2 = a12 + (n − 1)a11 + a10 2 temos (n − 1)(n − 2) 1 an2 = 1 + (n − 1) 1 + 2 Simplificando n2 − n + 2 an2 = 2 Ent˜ ao 402 − 40 + 2 a40,2 = = 781 2
162
Um dos teoremas mais importantes ´e dado a seguir. Teorema 6 (Teorema da Unifica¸c˜ao). A f´ormula do termo geral de uma P.A.m ´e um polinˆ omio de grau m e, reciprocamente. Observe que o “reciprocamente” do teorema significa que toda sequˆencia que tem como f´ormula do termo geral um polinˆ omio de grau m ´e uma P.A.m − da´ı o nome de teorema da unifica¸c˜ao. Perceba que isto n˜ ao ´e pouco; por exemplo, a sequˆencia (an ) dada por m an = n (m natural arbitrariamente fixado) ´e uma P.A.m e, por conta disto, oportunamente obteremos uma f´ormula geral e n˜ ao recursiva para a soma de potˆencias dos n primeiros n´ umeros naturais. Esta ser´ a uma f´ormula in´edita.
P.A.m em fun¸c˜ ao dos seus pr´ oprios termos Observe a f´ormula do termo geral de uma P.A.m ,
anm =
m X n−1
j=0
j
a1(m−j) | {z } ↑
o termo assinalado nos diz que para se obter um termo qualquer da P.A.m deveremos conhecer o primeiro termo das progress˜oes de ordens inferiores − como j´a haviamos mencionado antes (p. 160). Em nosso entendimento isto ´e um incˆ omodo, por exemplo, se quisermos escrever um programa computacional para encontrar este n-´esimo termo − com resultado num´erico ou simb´ olico. A f´ormula seguinte resolve nosso problema: Teorema 7 (Gentil). Em uma P.A.m ´e v´alida a seguinte identidade:
a1(m−j) =
j X
j (−1)k a(1−k+j)m k
k=0
a1(m−j) ,
para j = 0, 1, . . . , m.
163
Exemplo: Escrever a P.A.2 em fun¸c˜ao dos seus pr´ oprios termos. Solu¸ c˜ ao: Substituindo m = 2 na equa¸c˜ao j X
a1(m−j) =
(−1)k
k=0
temos a1(2−j) =
j X
j a(1−k+j)m k
j (−1) a(1−k+j)2 , k k
j = 1, 2.
k=0
Ent˜ ao j=1
⇒
1 X
a11 =
(−1)k
k=0
1 a(1−k+1)2 = 1 · a22 − 1 · a12 k
e j=2
⇒
a10 =
2 X
2 (−1) a(1−k+2)2 = 1 · a32 − 2 · a22 + a12 k k
k=0
Portanto an2 = a12 + (n − 1) a11 +
(n − 1)(n − 2) a10 2
= a12 + (n − 1)(a22 − a12 ) +
(n − 1)(n − 2) (a32 − 2 · a22 + a12 ) 2
1 1 1 1 1
1 2
3 4
1 3
6
1 4
1
1 5 10 10 5 1 ···································· · · • Tri^ angulo Aritm´ etico de Pascal 164
P.A.m em fun¸c˜ ao dos seus pr´ oprios termos na HP Prime Na tela a seguir
(REPLACE, p. 72)
temos o programa que implementa a f´ormula a1(m−j) =
j X
j (−1) a(1−k+j)m k k
k=0
Neste programa entramos com os m + 1 primeiros termos de uma P.A.m e na saida teremos a1(m−j) ,
para j = 0, 1, . . . , m.
que s˜ ao os termos apontados na f´ormula do termo geral a seguir
anm =
m X n−1 j
j=0
a1(m−j) | {z } ↑
Na tela da direita (acima) exemplificamos para a sequˆencia dos cubos
1
8
27
64
125
216
...
7
19
37
61
91
...
P.A.2
12
18
24
30
...
P.A.1
6
6
6
...
P.A.0
165
P.A.3
A f´ ormula do termo geral na HP Prime Com o programa anterior temos condi¸c˜oes de construir um programa para implementar a f´ormula do termo geral de uma P.A.m anm =
m X n−1 j
j =0
a1(m−j)
isto ´e, desejamos construir um programa no qual entramos com os termos a1(m−j) ,
para j = 0, 1, . . . , m.
e na saida teremos a f´ormula alg´ebrica da P.A.m correspondente. Antes, vejamos alguns detalhes; por exemplo, considere a f´ormula do termo geral de uma P.A.2 an2 = a12 + (n − 1)a11 +
(n − 1)(n − 2) a10 2
Considere a seguinte P.A.2
a12 → 1
4
9
16
25
a11 → 3
5
7
9
...
a10 → 2
2
2
...
...
Substituindo na f´ormula acima, temos an2 = 1 + (n − 1) 3 + ↑ ↑ j=0 j=1
(n − 1)(n − 2) 2 2 ↑ j=2
Quando j = 0 deveremos usar o terceiro termo do vetor [2, 3, 1], quando j = 1 deveremos usar o segundo termo e quando j = 2 deveremos usar o primeiro termo. Tendo esta observa¸c˜ao em conta o programa fica assim
166
Na tela a seguir assinalamos a f´ormula de saida
e montamos uma lista com os 10 primeiros termos da sequˆencia do exemplo. Vejamos mais um exemplo de aplica¸c˜ao do programa, vamos obter a f´ormula do termo geral da P.A.2 seguinte a12 → 1
3
6
10
15
a11 → 2
3
4
5
...
a10 → 1
1
1
...
...
Entrando com os dados no programa obtemos a tela seguinte
Confira com a solu¸c˜ ao dada na p´ agina 161. A prop´osito, com este programa podemos obter uma f´ormula polinomial para quantos n´ umeros primos desejarmos, por exemplo para os cinco primeiros a14 →
2
3
5
7
a13 →
1
2
2
4
a12 →
1
0
2
a11 → −1
2
a10 →
11
3 167
Propriedade fundamental de uma P.A.m Em uma progress˜ ao aritm´etica a diferen¸ca entre dois termos consecutivos quaisquer ´e constante e igual `a pr´ opria raz˜ ao, isto ´e an+1 − an = r Este fato ´e uma decorrˆencia imediata da pr´ opria defini¸ca˜o. Pois bem, perguntamos se existiria uma rela¸c˜ao equivalente para uma P.A.m (?). A resposta encontra-se no seguinte Teorema 8 (Propriedade Fundamental das P.A.m ). m + 1 termos consecutivos de uma P.A.m est˜ ao relacionados pela seguinte identidade:
m X
(−1)k
k=0
m k
a(n−k+m)m = a10
Nota: A rela¸c˜ ao acima se aplica a toda sequˆencia (an ) que tem como f´ormula do termo geral um polinˆ omio de grau m. Exerc´ıcio: Mostre que a10 = m! am onde am ´e o coeficiente de nm no polinˆ omio p(n) de grau m. Exemplo: (a) Trˆes termos consecutivos de uma P.A.2 satisfazem 2 X
2 (−1) a(n−k+2)2 = a10 k k
k=0
Isto ´e 2 2 2 1 2 (−1) a(n−0+2)2 + (−1) a(n−1+2)2 + (−1) a(n−2+2)2 = a10 0 1 2 0
Simplificando 1 a(n+2)2 − 2 a(n+1)2 + 1 an2 = a10 Ou ainda, abandonando o segundo ´ındice 1 an+2 − 2 an+1 + 1 an = a10 168
Exemplo: Seja a sequˆencia (an ) dada por an = n3 . Mostre que a seguinte identidade se verifica: 3 X 3 k (−1) a(n−k+3) = 3! k k=0
Solu¸ c˜ ao: Temos 3 X
3 3 3 0 1 (−1) a(n−k+3) = (−1) a(n−0+3) + (−1) a(n−1+3) k 0 1 k
k=0
3 3 3 + (−1) a(n−2+3) + (−1) a(n−3+3) 2 3 2
Simplificando a express˜ ao ` a direita obtemos 3 X
3 (−1) a(n−k+3) = 1 (n + 3)3 − 3 (n + 2)3 + 3 (n + 1)3 − 1 n3 = 6 k k
k=0
Apenas a t´ıtulo de curiosidade, veja que interessante, na calculadora HP Prime
3 X
3 (−1) (n − k + 3)3 k {z } |k = 0 k
Digitando esta express˜ao
primando esta tecla obtemos este resultado
purge(n)
169
2.5.2
Soma dos termos de uma P.A.m
Para uma progress˜ ao aritm´etica temos a seguinte f´ormula para a soma dos seus n primeiros termos S n = n a1 +
n(n − 1) r 2
Esta f´ormula ´e generalizada no seguinte Teorema 9 (Soma dos termos de uma P.A.m ). Em uma P.A.m a soma Snm dos n termos iniciais vale
Snm
m X n a = j + 1 1(m−j) j=0
Exemplo: Considere a sequˆencia dada por an = n2 , dos quadrados dos naturais. Encontre uma f´ormula para a soma dos seus n primeiros termos. Solu¸ c˜ ao: Pelo teorema da unifica¸c˜ao (p. 163), a sequˆencia dada ´e uma P.A.2 Ent˜ ao 2 X n n n n a1(2−j) = a12 + Sn2 = a11 + a10 j+1 1 2 3 j=0
Do diagrama seguinte
(Algoritmo, p. 160)
a12 → 1
4
a11 → 3
5
9
a10 → 2 Obtemos Sn2 Simplificando, obtemos
n n n = 1+ 3+ 2 1 2 3
12 + 22 + 32 + · · · + n2 =
n(2n + 1)(n + 1) 6
Resultado este j´a conhecido por outros m´etodos.
170
A f´ ormula da soma na HP Prime Comparando a f´ormula da soma Snm
m X n a = j + 1 1(m−j) j=0
com a f´ormula do termo geral
anm =
m X n−1 j
j=0
a1(m−j)
modificamos o programa a seguir
como na tela do centro. Na tela da direita simulamos o exemplo anterior. Exemplo: Os n´ umeros triangulares n(n + 1) ... 2 est˜ ao em P.A.2 . Encontre uma f´ormula para a soma de seus termos. 1
3
6
10
15
...
Solu¸ c˜ ao: Temos Sn2
2 X n n n n a1(2−j) = a12 + = a11 + a10 j+1 1 2 3 j =0
Do diagrama seguinte a12 → 1
3
a11 → 2
3
6
a10 → 1 Obtemos Sn2 Simplificando, obtemos
n n n = 1+ 2+ 1 1 2 3 Sn =
n(n + 1)(n + 2) 6 171
Uma f´ ormula in´ edita “Gostei da sua f´ ormula” Carlos Gustavo T. de A. Moreira (Gugu/IMPA) Durante muitos anos − possivelmente s´eculos − os matem´ aticos estiveram ` a procura de uma f´ormula para a soma de potˆencias dos n´ umeros naturais, ningu´em teve ˆexito, coube a mim materializar esta aspira¸c˜ao. Teorema 10 (Gentil/1997). Sendo m um n´ umero natural arbitrariamente fixado, ´e v´alida a seguinte identidade:
m
1
m
+2
m
+3
Onde: a(m−j) =
+ ··· + n j X
k=0
m
m X n = a(m−j) j+1 j=0
j (−1) (1 − k + j)m k k
Prova: Ver referˆencia [6].
Vejamos um exemplo de aplica¸c˜ao desta f´ormula (m = 3): 13 + 23 + 33 + · · · + n3 =
3 X n a j + 1 (3−j) j=0
n n n n = a3 + a2 + a1 + a 1 2 3 4 0 Onde: a(3−j) =
j X k=0
j 3 (−1) (1 − k + j) ; k k
( j = 0, 1, 2, 3. )
Substituindo e simplificando chegamos a 13 + 23 + 33 + · · · + n3 =
n2 (n + 1)2 4
Nota: Com o uso da HP Prime a manipula¸c˜ao − num´erica ou alg´ebrica − desta f´ormula fica extremamente simplificada.
172
− A f´ ormula in´ edita na HP Prime Nas telas a seguir
1m
+
2m
a(m−j) =
+
3m
j X
k=0
+ ··· +
nm
m X n = a(m−j) j+1 j=0
j (−1)k (1 − k + j)m k
temos os programas que implementam a f´ormula da direita. O segundo programa, CFI, ´e subrotina do primeiro e calcula a(m−j) , repassando para FINED, que sai com a soma 1m + 2m + 3m + · · · + nm na forma alg´ebrica, isto ´e, como fun¸c˜ao de n. Nas telas a seguir temos dois exemplos de simula¸c˜ ao do programa (purge(n))
7−→ Jacques Bernoulli − e nenhum seu contemporˆ aneo − jamais sonhou com esta possibilidade (desenvolvimento). A bem da verdade, n˜ ao precisamos ir muito longe, mesmo ap´ os deduzir esta f´ormula − por volta do ano de 1991 − jamais sonhei que isto um dia seria poss´ıvel.
173
2.5.3
Diferen¸cas de ordem m
A no¸c˜ ao de operador Operador ´e um s´ımbolo que, anteposto a fun¸c˜oes, indica abreviadamente as transforma¸c˜ oes que devem sofrer essas fun¸c˜oes. Usando a terminologia de sistema um operador pode ser entendido como uma caixa. No lado esquerdo, a seta representa a fun¸c˜ao que entra na caixa, e no lado direito, a seta representa a fun¸c˜ ao correspondente que sai da caixa, ap´ os ter sido operada ou transformada, segundo uma lei matem´ atica. Representando um operador gen´erico por T , temos a seguinte figura f
T
Tf
Desde j´a enfatizamos a importˆ ancia de se ter bem claro que f e T f s˜ ao as fun¸c˜ oes de entrada e sa´ıda, respectivamente; enquanto que f (x) e T f (x) s˜ ao valores num´ericos destas fun¸c˜oes. O caso em que estaremos interessados no presente contexto ´e aquele em que o dom´ınio e o contradom´ınio de um operador ´e o conjunto R∞ = (a1 , a2 , a3 , . . . , an , . . .) : ai ∈ R
de sequˆencias de n´ umeros reais. Isto ´e, definiremos operadores que transformam sequˆencias de n´ umeros reais em sequˆencias de n´ umeros reais. Defini¸ c˜ ao 4. Dada uma sequˆencia f : N → R definimos a Diferen¸ ca de ordem m de f pela seguinte f´ormula de recorrˆencia: ∆0 f (n) = f (n),
∆m f (n) = ∆m−1 f (n + 1) − ∆m−1 f (n), m ≥ 1, n ≥ 1.
Observe que ∆m ´e um operador de R∞ em R∞ . Por exemplo, para m = 1, temos f
∆
∆f
Onde ∆1 f (n) = ∆1−1 f (n + 1) − ∆1−1 f (n) 174
Ou ainda ∆ f (n) = ∆0 f (n + 1) − ∆0 f (n) Isto ´e ∆ f (n) = f (n + 1) − f (n)
(2.2)
Para m = 2, temos f
∆2
∆2 f
Temos ∆2 f (n) = ∆ f (n + 1) − ∆ f (n) Utilizando a equa¸c˜ ao (2.2), resulta ∆2 f (n) = ∆ f (n + 1) − ∆ f (n) = [ f (n + 2) − f (n + 1) ] − [ f (n + 1) − f (n) ] = f (n + 2) − 2 f (n + 1) + f (n) Exemplo: Mostre que a diferen¸ca de ordem 1 (ou Primeira Diferen¸ca) de uma P.A.1 resulta em uma P.A.0 . Isto ´e, mostre a seguinte identidade ∆ an1 = an0 Solu¸ c˜ ao: Temos, an1 = a11 + (n − 1)a10 . Ent˜ao: ∆ an1 = a(n+1)1 − an1 = [ a11 + (n + 1) − 1 a10 ] − [ a11 + (n − 1)a10 ] = a10 = an0
175
Exemplo: Mostre que a diferen¸ca de ordem 1 de uma P.A.2 resulta em uma P.A.1 e que a diferen¸ca de ordem 2 resulta em uma P.A.0 . Isto ´e, mostre as seguintes identidades (ii) ∆2 an2 = an0
(i) ∆ an2 = an1 Solu¸ c˜ ao: (i) Temos an2 = a12 + (n − 1)a11 +
(n − 1)(n − 2) a10 2
Ent˜ ao: ∆ an2 = a(n+1)2 − an2 i (n + 1) − 1 (n + 1) − 2) a10 = a12 + (n + 1) − 1 a11 + 2 h
i h (n − 1)(n − 2) a10 − a12 + (n − 1)a11 + 2
= a11 + (n − 1)a10 = an1 (ii) Temos
∆2 an2 = a(n+2)2 − 2 a(n+1)2 + an2 = a10 = an0 Os c´ alculos ficam por conta do leitor. A f´ormula seguinte
an(m−j) = ∆j anm =
j X
j a(n−k+j)m (−1)k k
k=0
nos fornece a P.A. de ordem m − j (j = 1, 2, . . . , m) a partir da P.A.m . Recorrer ` a defini¸c˜ ao 4 (p. 174) para o c´alculo da m-´esima diferen¸ca ´e enfadonho. A f´ormula seguinte nos fornece a m-´esima diferen¸ca sem recursividade.
176
Teorema 11 (m-´esima Diferen¸ca). Dada uma sequˆencia f (n) para todo n´ umero m, natural arbitrariamente fixado, a seguinte identidade se verifica:
∆m f (n) =
m X
(−1)k
k=0
m k
f (n − k + m)
Exemplos: (a) Para m = 1, a primeira diferen¸ca resulta: 1
∆ f (n) =
1 X
1 (−1) f (n − k + 1) k k
k=0
1 1 1 = (−1) f (n − 0 + 1) + (−1) f (n − 1 + 1) 0 1 0
= f (n + 1) − f (n) (b) Para m = 2, a segunda diferen¸ca resulta: ∆2 f (n) =
2 X
(−1)k
k=0
= (−1)0
2 f (n − k + 2) k
2 0 f (n
− 0 + 2) + (−1)1
2 1 f (n −
1 + 2) + (−1)2
2 2 f (n
− 2 + 2)
= 1 · f (n + 2) − 2 · f (n + 1) + 1 · f (n) Na tela a seguir programamos a f´ormula para ∆m f (n)
←− purge(f, n)
177
Considermos a defini¸c˜ao de uma P.A.m dada na p´ agina 158 Defini¸ c˜ ao (Progress˜ ao aritm´ etica de ordem m) Uma sequˆencia (an ) ´e uma progress˜ao aritm´etica de ordem m se e somente se ∆m an = constante 6= 0 Reconsideremos o diagrama dos cubos dos naturais que consta na p. 158 1
8
27
64
125
216
...
7
19
37
61
91
...
∆1
12
18
24
30
...
∆2
6
6
6
...
∆3
∆0
naquela ocasi˜ ao afirmamos que, a rigor, este diagrama n˜ ao prova − pela defini¸c˜ ao − que a sequˆencia dada por an = n3 ´e uma P.A.3 . Vejamos como efetivar esta prova utilizando a HP Prime , faremos isto atrav´es dum programa ultra curto. O programa que consta na tela a seguir recebe a express˜ ao de uma fun¸c˜ ao f (n) e a ordem m da diferen¸ca desejada
a prova encontra-se na tela do centro . . . Pasm´em!. Na tela da direita fazemos mais algumas simula¸c˜ oes do programa. Observe que a prova “feita na m˜ ao” foi aquela do exemplo que consta na p´ agina 169, cujo resumo ´e dado a seguir 3 X
3 (−1) a(n−k+3) = 1 (n + 3)3 − 3 (n + 2)3 + 3 (n + 1)3 − 1 n3 = 6 k k
k=0
178
2.6
Progress˜ ao geom´ etrica de ordem m
Antes de definir as progress˜ oes geom´etricas de ordem m vamos, a t´ıtulo de esclarecimento, dar dois exemplos de tais sequˆencias , deixando a prova para momento oportuno. Qualquer progress˜ ao geom´etrica serve como exemplo de uma progress˜ao geom´etrica de ordem um; Um exemplo de uma progress˜ ao geom´etrica de ordem dois ´e dado pela sequˆencia a seguir: 1
−1
1
−1
1
−1
1
−1
...
Um outro exemplo ´e dado pela sequˆencia seguinte: 22
1
43
84
165
2n(n−1)
...
...
O que estas sequˆencias tˆem em comum ´e o fato de os quocientes sucessivos entre seus termos consecutivos resultar em uma sequˆencia constante, veja: 1
1
−1
−1
1
1
...
1
−1
1
−1
1
...
∆1
−1
−1
−1
−1
...
∆2
1
22
43
84
165
326
...
22
24
26
28
210
...
∆1
22
22
22
22
...
∆2
∆0
Ainda ∆0
Estamos convencionando:
∆m an = m − ´esimo quociente da sequˆencia an
179
Agora estamos em condi¸c˜oes de estabelecer a seguinte: Defini¸ c˜ ao 5 (Progress˜ ao Geom´etrica de ordem m). Uma sequˆencia (an ) ´e uma progress˜ ao geom´etrica de ordem m, se, e somente se ∆m an = constante 6= 1 Usaremos da seguinte nota¸c˜ao:
P.G.m para uma progress˜ ao geom´etrica de ordem m (m = 0, 1, 2, . . .). Uma P.G.0 ´e qualquer sequˆencia constante, com a exigˆencia de que esta constante seja diferente de 1.
2.6.1
F´ ormula do termo geral de uma P.G.m
A f´ormula do termo geral de uma progress˜ao geom´etrica vale an = a1 · q n−1 Vamos exibir uma f´ormula que generaliza a f´ormula acima para uma P.G. de ordem m qualquer. Antes necessitaremos de uma conven¸c˜ao: necessitaremos de dois ´ındices para localizar um termo qualquer nestas sequˆencias, um que se refira ao pr´ oprio termo e, outro, que se refira `a ordem da sequˆencia. Sendo assim, convencionamos:
anm = n - ´esimo termo da P.A. de ordem m. Por exemplo, observe a disposi¸c˜ao dos ´ındices no diagrama a seguir a13
a23
a33
a43
a53
a63
...
a12
a22
a32
a42
a52
...
P.G.2
a11
a21
a31
a41
...
P.G.1
a10
a20
a30
...
P.G.0
180
P.G.3
Teorema 12 (F´ormula do termo geral de uma P.G.m ). Em uma P.G.m o n − ´esimo termo vale:
m Y ( n−1 j ) = a1(m−j)
anm
j=0
Observe que para calcular o n-´esimo termo de uma P.G.m necessitaremos conhecer, a priori, o primeiro termo de todas as sequˆencias anteriores, ´e o que nos diz o coeficiente a1(m−j)
(j = 0, 1, . . . , m)
Algoritmo Vamos sugerir um algoritmo para se obter os termos a1(m−j) ,
para j = 0, 1, . . . , m.
Dada a P.G.m (m ≥ 1) fazemos sucessivos quocientes entre termos consecutivos das P.G.s de ordem m, m − 1, . . . , 1 e tomamos o primeiro termo de cada um destes quocientes. Exemplo: Encontre a f´ormula do termo geral da seguinte∗ P.G.2 : 1
1
−1
−1
1
−1
1
−1
...
Solu¸ c˜ ao: Substituindo m = 2 na f´ormula do termo geral, obtemos: an2
2 Y ( n−1 j ) a1(2−j) = j=0
Simplificando, obtemos: ( n−1 ( n−1 ( n−1 0 ) 1 ) 2 ) an2 = a12 × a11 × a10 Para encontrar os coeficientes a11 e a10 aplicamos o algoritmo, assim: 1 1 −1 ∗
1 ÷ ÷
−1
÷
−1
−1
−1
1
1
−1
...
−1
...
No momento oportuno provaremos que de fato trata-se de uma P.G.2 .
181
...
Ou ainda a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
P.G.2
Substituindo estes resultados na equa¸c˜ao ( n−1 ( n−1 ( n−1 0 ) 1 ) 2 ) an2 = a12 × a11 × a10 e simplificando, obtemos:
an2
( n−1 2 ) = (−1)
P.G.m em fun¸c˜ ao dos seus pr´ oprios termos Na determina¸c˜ ao do n-´esimo termo de uma P.G.m existe um certo incˆ omodo em ter que recorrer ao primeiro termo das progress˜oes de ordens anteriores; al´em do que, se quisermos escrever um programa computacional para encontrar este n-´esimo termo isto ser´ a uma complica¸c˜ao adicional. A f´ormula seguinte nos permite obter uma P.G.m em fun¸c˜ao apenas de seus pr´ oprios termos. Teorema 13. Em uma P.G.m ´e v´alida a seguinte identidade:
a1(m−j) =
j Y
(−1)k
( kj )
a(1−k+j)m
k=0 a1(m−j) ,
para j = 0, 1, . . . , m.
182
P.G.m em fun¸c˜ ao dos seus pr´ oprios termos na HP Prime Na tela a seguir
(REPLACE, p. 72)
temos o programa que implementa a f´ormula a1(m−j) =
j Y
j (−1)k ( ) k a(1−k+j)m
k=0
Neste programa entramos com os m + 1 primeiros termos de uma P.G.m e na saida teremos a1(m−j) ,
para j = 0, 1, . . . , m.
que s˜ ao os termos apontados na f´ormula do termo geral a seguir
anm
m ( n−1 Y j ) = a1(m−j) {z } | j=0 ↑
Na tela da direita (acima) exemplificamos para a sequˆencia a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
183
P.G.2
Vejamos mais uma simula¸c˜ao do programa, para a sequˆencia a seguir 1
22
43
84
165
326
...
22
24
26
28
210
...
∆1
22
22
22
22
...
∆2
∆0
obtemos
A f´ ormula do termo geral na HP Prime Com o programa anterior temos condi¸c˜oes de construir um programa para implementar a f´ormula do termo geral de uma P.G.m
anm
m Y ( n−1 j ) a1(m−j) = j=0
Observe que os nosso programas s˜ ao extremamente compactos, est´eticamente agrad´ aveis, procuramos − sempre que poss´ıvel − ocupar uma u ´ nica tela!
184
O programa fica assim
Na tela da direita simulamos a sequˆencia a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
P.G.2
Na tela a seguir assinalamos a f´ormula de saida
e montamos uma lista com os 10 primeiros termos da sequˆencia do exemplo. Vamos tentar simplificar o expoente na f´ormula do termo geral, considere a tela a seguir
ap´ os assinalar a f´ormula escreva right na linha de entrada (p. 49), pe¸ca uma c´opia da f´ormula, o expoente nos ´e devolvido j´a na forma simplificada,
185
continuamos nas trˆes telas a seguir, onde montamos uma fun¸c˜ao, a2(n), a partir do expoente simplificado
na tela da direita listamos os 10 primeiros termos da P.G.2 . Vejamos mais um exemplo de aplica¸c˜ao do programa, vamos obter a f´ormula do termo geral da P.G.2 seguinte 1
22
43
84
165
326
...
22
24
26
28
210
...
P.G.1
22
22
22
22
...
P.G.0
P.G.2
Entrando com os dados no programa obtemos a tela seguinte
na tela do centro simplificamos o expoente, na tela da direita montamos uma f´ormula do termo geral
a(n) = 4
n2 −n 2
e listamos os 6 primeiros termos da P.G.2 .
186
Propriedade fundamental de uma P.G.m Em uma progress˜ ao geom´etrica o quociente entre dois termos consecutivos quaisquer ´e constante e igual ` a pr´ opria raz˜ ao, isto ´e an+1 / an = q Este fato ´e uma decorrˆencia imediata da pr´ opria defini¸c˜ao. Pois bem, perguntamos se existiria uma rela¸c˜ ao equivalente para uma P.G.m (?). A resposta encontra-se no seguinte Teorema 14 (Propriedade Fundamental das P.G.m ). m + 1 termos consecutivos de uma P.G.m , (anm ), est˜ ao relacionados pela seguinte identidade:
m Y
(−1)k
( mk )
a(n−k+m)m = a10
k=0 Exemplo: Trˆes termos consecutivos de uma P.G.2 satisfazem a seguinte rela¸c˜ao
2 Y
(−1)k
( k2 )
a(n−k+2)2 = a10
k=0 Isto ´e
(−1)0 ( 2 (−1)1 ( 2 (−1)2 ( 2 0) 1) 2) a(n−0+2)2 · a(n−1+2)2 · a(n−2+2)2 = a10
Simplificando
1
1
−2
a(n+2)2 · a(n+1)2 · an2 = a10 Ou ainda, abandonando o segundo ´ındice −2
an+2 · an+1 · an = a10 = q
187
2.6.2
Produto dos termos de uma P.G.m
Para uma progress˜ ao geom´etrica temos a seguinte f´ormula para o produto dos seus n primeiros termos Pn = an1 · q
n(n−1) 2
Este resultado ´e generalizado no seguinte: Teorema 15 (Produto dos termos de uma P.G.m ). Em uma P.G.m o produto Pnm dos n termos iniciais vale
Pnm
m n Y ( j+1 ) a1(m−j) = j=0
Exemplo: Encontre o produto dos n termos iniciais da seguinte P.G.2 : 1
−1
1
−1
1
−1
1
−1
...
Solu¸ c˜ ao: Substituindo m = 2 na f´ormula acima, obtemos: Pn2 =
2 n Y ( j+1 ) a1(2−j)
j =0
Simplificando, obtemos: ( n1 ) ( n2 ) ( n3 ) Pn2 = a12 · a11 · a10 Do algoritmo retiramos os coeficientes, assim: a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
P.G.2
Substituindo estes resultados na equa¸c˜ao precedente e simplificando: ( n3 ) Pn2 = (−1) Deixamos como exerc´ıcio a programa¸c˜ao da f´ormula do produto. 188
2.6.3
Quocientes de ordem m
Aqui estaremos definindo um novo operador, podemos dizer que ´e o dual do operador ∆m definido na p´ agina 174, dentre outras utilidades este operador nos permitir´a demonstrar se uma dada sequˆencia ´e (ou n˜ ao) uma P.G.m Defini¸ c˜ ao 6 (Quociente de ordem m). Dada uma sequˆencia f : N → R (f (n) 6= 0, ∀ n ∈ N) definimos o Quociente de ordem m de f pela seguinte f´ormula de recorrˆencia: ∆0 f (n) = f (n),
∆m f (n) = ∆m−1 f (n + 1) / ∆m−1 f (n), m ≥ 1, n ≥ 1.
∞ Observe que ∆m ´e um operador de R∞ ∗ em R∗ . Por exemplo, para m = 1, temos
f
∆f
∆
Onde ∆1 f (n) = ∆1−1 f (n + 1) / ∆1−1 f (n) Ou ainda ∆ f (n) = ∆0 f (n + 1) / ∆0 f (n) Isto ´e ∆ f (n) = f (n + 1) / f (n) Para m = 2, temos f
∆2 f
∆2
Onde ∆2 f (n) = ∆ f (n + 1) / ∆ f (n) = [ f (n + 2) / f (n + 1) ] = f (n + 2) ×
.
f (n + 1) 189
[ f (n + 1) / f (n) ]
−2
× f (n)
Exemplos: (a) Mostre que o Quociente de ordem 1 (ou Primeiro Quociente) de uma P.G.1 resulta em uma P.G.0 . Isto ´e, mostre a seguinte identidade ∆ an1 = an0 n−1
Solu¸ c˜ ao: Temos, an1 = a11 × a10 . Ent˜ao: ∆ an1 = a(n+1)1 / an1 (n+1)−1
= [ a11 × a10 = a10 = an0
]
.
n−1
[ a11 × a10 ]
(b) Mostre que o Primeiro Quociente de uma P.G.2 resulta em uma P.G.1 e que o Segundo Quociente resulta em uma P.G.0 . Isto ´e, mostre as seguintes identidades (ii) ∆2 an2 = an0
(i) ∆ an2 = an1 Solu¸ c˜ ao: (i) Temos, n−1
(n−1)(n−2) 2
an2 = a12 × a11 × a10 Ent˜ ao:
∆ an2 = a(n+1)2 / an2 Isto ´e, (n+1)−1
∆ an2 = a12 × a11
((n+1)−1)((n+1)−2) 2
× a10
Fazendo as devidas simplifica¸c˜oes, obtemos:
.
n−1
(n−1)(n−2) 2
a12 × a11 × a10
n−1
∆ an2 = a11 × a10 (ii) Temos,
∆2 an2 = a(n+2)2 × a(n+1)2 = a10 = an0
−2
× an2
Os c´ alculos ficam por conta do leitor. Recorrer ` a defini¸c˜ ao 6 (p. 189) para o c´alculo do m-´esimo Quociente ´e um tanto quanto enfadonho. A f´ormula seguinte nos fornece o m-´esimo Quociente sem recursividade. 190
Teorema 16 (m-´esimo Quociente). Para todo n´ umero m, natural arbitrariamente fixado, a seguinte identidade se verifica:
∆m f (n)
m Y
=
(−1)k
( mk )
f(n−k+m)
k=0 Exemplo: O Terceiro Quociente vale: ∆3 f (n) =
3 Y
3 (−1)k ( k ) f(n−k+3)
k=0
Desenvolvendo, temos (−1)0 ( 3 (−1)1 ( 3 (−1)2 ( 3 (−1)3 ( 3 0) 1) 2) 3) ∆3 f (n) = f(n−0+3) × f(n−1+3) × f(n−2+3) × f(n−3+3)
Ou ainda ∆3 f (n) = [ f (n + 3) ]1 · [ f (n + 2) ]−3 · [ f (n + 1) ]3 · [ f (n) ]−1 De outro modo ∆3 f (n) =
f (n + 3) [ f (n + 1) ]3 [ f (n + 2) ]3 f (n)
Apenas a t´ıtulo de curiosidade, observe que os coeficientes 1, 3, 3, 1 encontram-se na terceira linha do tri^ angulo aritm´ etico de Pascal, veja: 1 1 1 1 1
1 2
3 4
1 3
6
1 4
1
1 5 10 10 5 1 ···································· · ·
191
Quocientes de ordem m na HP Prime Na tela a seguir
∆m f (n)
=
m Y
(−1)k
( mk )
f(n−k+m)
k=0
temos um programa que expande a f´ormula da direita. Por exemplo, na tela
purge(f, n)
rodamos o programa para m = 3. Considermos a defini¸c˜ao de uma P.G.m dada na p´ agina 180 (Progress˜ ao Geom´ etrica de ordem m:) Uma sequˆencia (an ) ´e uma progress˜ ao geom´etrica de ordem m, se, e somente se ∆m an = constante 6= 1 Reconsideremos o diagrama a seguir dado, na p´ agina 186 1
22
43
84
165
326
...
22
24
26
28
210
...
P.G.1
22
22
22
22
...
P.G.0
P.G.2
A rigor, este diagrama n˜ ao prova que a sequˆencia a seguir ´e uma P.G.2 a(n) = 4 192
n2 −n 2
O programa a seguir, dentre outras utilidades, nos permite provar se uma dada sequˆencia ´e (ou n˜ ao) uma P.G.m
Este programa calcula ∆m f (n). Na tela do centro calculamos o primeiro quociente da sequˆencia a(n) = 4
n2 −n 2
na tela da direita encontramos o segundo quociente, o que prova − pela defini¸c˜ao − que a(n) ´e uma P.G.2 . Vejamos mais um exemplo de aplica¸c˜ao do programa anterior com o intuito de evidenciar uma situa¸c˜ ao bizarra apresentada pela calculadora. Reconsidere o diagrama que comparece na p´ agina 182 a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
onde
P.G.2
( n−1 2 ) an2 = (−1)
nas telas a seguir temos o primeiro e o segundo quocientes desta sequˆencia
O que sucedeu? O que acontece ´e que a resposta envolve n´ umeros comple2 xos, provavelmente devido a que i = −1. N˜ao obstante, n˜ ao devemos nos intimidar com isto, ainda aqui devemos confiar na calculadora. 193
Ainda assim podemos trabalhar com estas bizarras criaturas sem precisar pegar no l´ apis para anot´ a-las, por exemplo, na tela a seguir
geramos uma lista a partir da express˜ ao assinalada, de igual modo na tela da direita geramos uma outra lista a partir da express˜ ao assinalada, o que concorda como o diagrama a12 →
1
1
−1
−1
1
...
a11 →
1
−1
1
−1
...
P.G.1
a10 → −1
−1
−1
...
P.G.0
P.G.2
pelo ao menos at´e aonde a vista alcan¸ca! A f´ormula seguinte
an(m−j) =
∆j
anm =
j Y
(−1)k
( kj )
a(n−k+j)m
k=0
nos fornece a P.G. de ordem m − j (j = 1, 2, . . . , m) a partir da P.G.m . Exemplo: Obter an1 a partir da sequˆencia
( n−1 2 ) an2 = (−1) Solu¸ c˜ ao: (m = 2, j = 1). Temos: 1 Y
an(2−1) =
1 (−1)k ( k ) a(n−k+1)2
k=0
Ent˜ ao Isto ´e
(−1)0 ( 1 (−1)1 ( 1 0) 1) an1 = a(n−0+1)2 × a(n−1+1)2 1
−1
an1 = a(n+1)2 × an2
Portanto 1
an1 = (−1)
) ( (n+1)−1 2
−1
× (−1) 194
( n−1 2 )
n−1
= (−1)
Uma aplica¸c˜ ao das P.G.m : C´ alculo de combina¸c˜ oes
2.6.4
Introdu¸c˜ ao: A conhecida f´ormula da an´ alise combinat´ oria n n! = (n − r)! r! r nos fornece o n´ umero de combina¸c˜oes dos n elementos de um conjunto, tomados r a r. Mas esta f´ormula n˜ ao nos fornece as tais combina¸c˜oes. O nosso objetivo nesta se¸c˜ ao ´e estabelecer uma f´ormula que tem precisamente esta finalidade. Certa feita, desenvolvendo um trabalho de matem´ atica deparei-me com a necessidade de calcular algumas combina¸c˜oes, teria que desenvolver um programa computacional com esta finalidade. Por onde come¸car? Do meu curso de eletrˆ onica digital sabia que tabelas como, por exemplo, esta a seguir A
B
C
D
1
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
¯ B ¯ C D → A ¯ B C ¯ D → A
se prestam para encontrarmos todas as combina¸c˜oes poss´ıveis de vari´ aveis (digitais). Fiz algumas tentativas para encontrar uma f´ormula que gerasse estas tabelas, todas fracassaram. Foi quando me veio a ideia de substituir 0 por −1, assim:
195
1
1
1
1
−1
1
1
1
1
−1
1
1
−1
−1
1
1
1
1
−1
1
−1
1
−1
1
1
−1
−1
1
−1
−1
−1
1
1
1
1
−1
−1
1
1
−1
1
−1
1
−1
−1
−1
1
−1
1
1
−1
−1
−1
1
−1
−1
1
−1
−1
−1
−1
−1
−1
−1
At´e ent˜ ao eu j´a contava com o desenvolvimento das progress˜oes geom´etricas de ordem m. Pois bem, observe que os termos da coluna um (j = 1) est˜ ao em P.G.1 , onde an1 = (−1)n−1 . Os termos da coluna dois (j = 2), ( n−1 2 ) est˜ ao em P.G.2 , onde an2 = (−1) . Vamos mostrar que os termos da coluna trˆes (j = 3) est˜ ao em P.G.4 , assim: 1
1
1
1
−1
−1
−1
...
1
1
1
−1
1
1
...
∆1
1
1
−1
−1
1
...
∆2
1
−1
1
−1
...
∆3
−1
−1
−1
...
∆4
Deste diagrama, tiramos (primeira coluna de cima para baixo): a14 = 1, a13 = 1, a12 = 1, a11 = 1, a10 = −1. Substituindo em an4 =
4 Y ( n−1 j ) a1(4−j)
j =0
196
∆0
Ou ainda, em ( n−1 ( n−1 ( n−1 ( n−1 ( n−1 0 ) 1 ) 2 ) 3 ) 4 ) an4 = a14 × a13 × a12 × a11 × a10 Obtemos para a sequˆencia da coluna j = 3, ( n−1 4 ) an4 = (−1) Visando a uma generaliza¸c˜ ao, escrevemos: − Coluna j = 1, temos:
n−1
n−1
an1 = (−1)
( 1−1 ) ( n−1 1 ) = (−1) = (−1) 2
− Coluna j = 2, temos: an2
n−1
( 2−1 ) ( n−1 2 ) = (−1) = (−1) 2
− Coluna j = 3, temos: an3
n−1
( 3−1 ) ( n−1 4 ) = (−1) = (−1) 2
Agora fica f´acil generalizar: o n-´esimo termo na sequˆencia ´e o i-´esimo termo na matriz. Sendo assim, temos: i−1
( j−1 ) aij = (−1) 2 Onde, para j = 1, 2, . . . , n e i = 1, 2, . . . , 2n , teremos a matriz (tabela) da p´ agina 196. Claro que tudo isto n˜ ao passa de uma dedu¸c˜ao emp´ırica − indu¸c˜ao vulgar −, contudo na referˆencia [6] damos uma prova de nossas afirma¸c˜oes. Deixamos como exerc´ıcio, a quem interessar possa, provar que os termos j−1 da coluna j da matriz aij acima est˜ ao em P.G.2 A prop´osito, terminamos por encontrar uma f´ormula que gera a matriz agina 195, esta: digital da p´
aij =
1, se
0, se 197
i−1 2j−1 i−1 j−1 2
´e par; ´e ´ımpar.
Nota: A bem da verdade, para obter a matriz que comparece em eletrˆ onica digital precisamos “inverter” a matriz da esquerda a seguir A
B
C
D
A
B
C
D
1
1
1
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
obtendo a matriz da direita. A f´ormula para gerar a matriz digital ´e:
aij =
1, se
i−1 N−j 2
0, se
i−1 N−j 2
´e par;
´e ´ımpar.
onde N ´e o n´ umero de vari´ aveis l´ogicas. Para N = 4 teremos a matriz da direita, acima. A prop´osito, a quem interessar possa, deixamos um outro desafio: provar que a sequˆencia a seguir
an = ( −1 ) j−1
´e uma P.G. de ordem 2
n−1 j−1 2
, para todo j arbitrariamente fixado.
198
2.7
Um pequeno interregno cultural
Abaixo Euclides! S´ o se ouve falar das revolu¸c˜ oes causadas na f´ısica pela teoria da relatividade de Einstein e pela f´ısica quˆantica
no entanto, os leigos desconhecem que na matem´ atica tamb´em houve uma revolu¸c˜ao de igual magnitude e importˆ ancia, falamos do advento das geometrias n˜ ao euclidianas no s´eculo XIX
A prop´osito foi de uma destas novas geometrias (n˜ ao euclidianas) que Einstein se utilizou para levantar o edif´ıcio te´orico de sua relatividade geral. Al´em da importˆ ancia em si destas geometrias elas deram uma grande contribui¸c˜ ao ` a filosofia da matem´ atica (e n˜ ao matem´ atica), `a compreens˜ao da natureza da matem´ atica. De fato, a cren¸ca de milˆenios de que a matem´ atica oferece verdades eternas foi esmagada. Essa inesperada rebeli˜ ao intelectual foi causada pela emergˆencia de novos tipos de geometrias, atualmente conhecidas como geometrias n~ ao euclidianas. [. . . ] O ilustre fil´ osofo alem˜ ao Immanuel Kant (1724-1804) nem sempre concordou com Hume, mas tamb´em exaltava a geometria euclidiana a um status de certeza absoluta e validade inquestion´ avel. (Mario Livio/Deus ´e Matem´ atico?)
199
Distˆ ancias n˜ ao euclidianas Quando o esp´ırito se apresenta `a cultura cient´ıfica, nunca ´e jovem. Ali´as ´e bem velho, porque tem a idade de seus preconceitos. Aceder `a ciˆencia ´e rejuvenescer espiritualmente, ´ e aceitar uma brusca muta¸ c˜ ao que contradiz o passado. (Gaston Bachelard/grifo nosso)
No bojo das geometrias n˜ ao euclidianas sugiram as assim denominadas distˆ ancias n˜ ao euclidianas. Aqui estaremos exibindo uma delas e mostrando que quase nada est´ a imune `a programa¸c˜ao na HP Prime . Medindo distˆ ancias Dados dois pontos em um plano, como a seguir A
•
B
•
a matem´ atica admite n˜ ao apenas uma mas v´arias maneiras de se medir a distˆ ancia entre estes dois pontos. Apenas para contextualizar tentaremos convencer o leitor de que surgem de maneira natural diferentes modos de se medir a distˆ ancia entre estes pontos. De outro modo: em matem´ atica (e tamb´em na f´ısica) n˜ ao existe uma u ´ nica maneira de se medir distˆ ancias. Em outras palavras, a r´egua vendida em nossas livrarias, ou as trenas vendidas em nosso com´ercio, n˜ ao s˜ ao os u ´ nicos instrumentos de medida. Vejamos um exemplo trivial do nosso dia a dia: o t´ axi. Suponhamos que algu´em queira se deslocar (em um t´axi) do ponto A ao ponto B − separados por uma esquina − e que o ponto B esteja a uma distˆ ancia de quatro unidades para a direita e trˆes unidades abaixo do ponto A, assim: A
A
•
4
•
5
•B
3
•B
200
Pois bem, existem duas distˆ ancias entre os pontos A e B: a que ´e seguida pelo taxista, 4 + 3 = 7; e a que seria mais econˆ omica para o passageiro (“em linha reta”): 5. Se o leitor refletir um pouco se dar´ a conta de que vez ou outra, mesmo numa simples caminhada, teremos que optar (por uma quest˜ao de conveniˆencia) por uma ou outra destas duas distˆ ancias − como por exemplo, ao “cortar caminho”. Resumindo, entre os pontos A e B no plano a seguir
A
A
B
B
− Distˆancia usual (euclidiana)
− Distˆancia do t´axi
mostramos dois modos de medir a distˆ ancia entre os mesmos. Na verdade, podemos ter muitas alternativas para medir a distˆ ancia entre dois pontos em um conjunto qualquer.
A distˆ ancia quˆ antica Considere o intervalo unit´ ario [ 0, 1 [ e a seguinte aplica¸c˜ao d : [ 0, 1 [ × [ 0, 1 [ −→ R definida por
d(x, y) = min |x − y|, 1 − |x − y|
min signfica m´ınimo, min{ a, b } significa o menor dos n´ umeros a e b; na tela a seguir mostramos como acessar esta fun¸c˜ao na HP Prime
Na tela do centro mostramos como definir a fun¸ca ˜o distˆ ancia quˆ antica, dando Enter teremos a tela da direita. 201
Como funciona a distˆ ancia quˆantica? Funciona de modo bem simples, n˜ ao ´e necess´ario nenhum manual de instru¸c˜ao, veja: dados dois pontos x e y, ambos no intervalo [ 0, 1 [, entre chaves obteremos dois valores, escolhemos o menor deles como sendo a distˆ ancia entre os pontos x e y. Por exemplo d(0; 0, 4) = min |0 − 0, 4|, 1 − |0 − 0, 4| = min 0, 4; 0, 6 = 0, 4 d(0; 0, 6) = min |0 − 0, 6|, 1 − |0 − 0, 6| = min 0, 6; 0, 4 = 0, 4 d(0; 0, 8) = min |0 − 0, 8|, 1 − |0 − 0, 8| = min 0, 8; 0, 2 = 0, 2
(Nota: distˆ ancia ou m´ etrica, d´ a no mesmo). Na HP Prime fica assim
Observe a localiza¸c˜ ao geom´etrica destes pontos: t 0, 4
0
q1 2
t
t
0, 6
0, 8
1
Por oportuno, observe que d (0; 0, 4) = d (0; 0, 6) > d (0; 0, 8). ´ isto mesmo que o leitor testemunha!: os dois primeiros pontos (0, 4 e 0, 6) E est˜ ao a uma mesma distˆ ancia da origem, e, como se n˜ ao bastasse, o terceiro ponto (0, 8) est´ a mais pr´ oximo da origem que os dois primeiros . . . pasm´em! Poder´ıamos, com inteira raz˜ ao, cham´ a-la de “m´etrica maluca” ou at´e, quem sabe, “m´etrica hipermaluca”. No entanto, vejamos o que o eminente fil´ osofo tem a nos dizer a este respeito: Tudo isso, que a ` primeira vista parece excesso de irraz˜ ao, na verdade ´e o efeito da finura e da extens˜ ao do esp´ırito humano e o m´etodo para encontrar verdades at´e ent˜ ao desconhecidas. (Voltaire)
202
A r´ egua quˆ antica A partir da f´ormula que define a distˆ ancia quˆantica
d(x, y) = min |x − y|, 1 − |x − y|
derivamos a equa¸c˜ ao
d (x, 0) =
x,
se 0 ≤ x ≤ 12 ;
1 − x,
se
1 2
≤ x < 1.
que nos d´ a a distˆ ancia de um ponto x ∈ [ 0, 1 [ `a origem d (x, 0)
a partir da qual constru´ımos a r´egua quˆantica, assim:
0
0,1
0,2
0,3
0,4
0,5
0,4
0,3
0,2
0,1
0
Esta r´egua serve para medir a distˆ ancia entre um ponto qualquer do intervalo num´erico [ 0, 1 [ para a origem. Veja dois exemplos
0
p
p
0,1
0,2
p✉ 0,3
p
p
p
0,4
0,5
0,6
↓
0
p✉ 0,7
p
p
0,8
0,9
↓
1 2
p
1
1
ր
Origem 0
0,1
0,2
0,3
0,4
203
0,5
0,4
0,3
0,2
0,1
0
Qu^ antica
Usual
Na figura a seguir colocamos as duas r´eguas − usual (ou euclidiana) e quˆantica − lado a lado para efeitos de compara¸c˜ao, veja:
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0
0,1
0,2
0,3
0,4
0,5
0,4
0,3
0,2
0,1
0
Observe que a r´egua quˆantica coincide com a r´egua usual s´ o at´e a metade, a partir da´ı as duas diferem radicalmente. Na p´ agina 202 mostramos as seguintes rela¸c˜oes: d (0; 0, 4) = d (0; 0, 6) > d (0; 0, 8). Vejamos isto diretamente na r´egua quˆantica: 0
p
p
p
p
p
p
p
p
p
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
A
1 2
t
p
B
0,4
0,5
0,4
0
C
t
1
1
t
ր
Origem 0
0,1
0,2
0,3
0,3
0,2
0,1
0
Temos dA = 0, 4 , dB = 0, 4
e
dC = 0, 2.
De outro modo dA = 0, 4 = dB
e
dC = 0, 2 < dA
Em palavras: Contrariando a r´egua euclidiana, a r´egua quˆ antica nos diz que os pontos A e B, na figura acima, est˜ ao a uma mesma distˆ ancia da origem, e, “o que ´e pior”, ela nos diz que o ponto C est´ a mais pr´ oximo da origem que o ponto A . . . pasm´em! Nota: Um estudo mais detalhado e rigoroso deste tema − a quem interessar possa − encontra-se em nosso livro [7], onde mostramos algumas aplica¸c˜oes da r´egua quˆantica ` a f´ısica quˆantica. 204
2.8
A Curva de Peano e o Cubo Hiperm´ agico
A curva de Peano O s´eculo XIX se iniciou com a descoberta de que curvas e fun¸c˜oes n˜ ao precisavam ser do tipo bem comportado − o que at´e ent˜ao se acreditava. Peano∗ em 1890 mostrou at´e que ponto a matem´ atica podia insultar o senso comum quando publica a sua famosa e bizarra curva cobrindo totalmente a superf´ıcie de um quadrado. A curva de Peano hoje possui aplica¸c˜oes em compress˜ao de imagens digitais. Para o que segue consideramos I = [ 0, 1 ] o intervalo num´erico unit´ ario. M = I × I, quadrado unit´ ario, d a distˆ ancia euclidiana. Defini¸ c˜ ao 7 (Curva de Peano). Chama-se curva de Peano num espa¸co m´etrico (M, d) a uma aplica¸c˜ ao cont´ınua χ : I → M tal que χ I = M .
Uma sobreje¸ca ˜o cont´ınua. Existem na literatura v´arias formas de se construir uma curva de Peano, a que apresentaremos aqui ´e in´edita − foi o que denominamos “Curva de Peano simplificada”. Pois bem, iremos construir a seguinte curva de Peano: 1
1
1 2
2 3
s
p
χ
p
z s
p
1 3
0
0
p
p
1 3
2 3
1
A bem da verdade, aqui neste livro iremos deixar de lado os aspectos topol´ogicos† da curva, o leitor interessado na constru¸c˜ao completa dever´ a consultar a referˆencia [7]. Ademais, s˜ ao duas − ou melhor trˆes − as raz˜ oes para que eu decidisse incluir este t´ opico neste livro sobre programa¸c˜ao da HP Prime. Primeira, para exemplificar como funciona a curva de Peano utilizamos muita programa¸c˜ ao na HP Prime; segunda, aproveito para divulgar um trabalho meu, j´a que deliberadamente n˜ ao escrevo artigos de divulga¸c˜ao (escrevo livros); terceira, todo este conte´ udo j´a encontrava-se pronto em um outro livro meu, s´ o fiz as devidas adapta¸c˜oes. ∗
Giuseppe Peano (1858 − 1932), natural de Cuneo, It´ alia, foi professor da Academia Militar de Turin, com grandes contribui¸c˜ oes ` a Matem´ atica. Seu nome ´e lembrado hoje em conex˜ ao com os axiomas de Peano dos quais dependem tantas constru¸c˜ oes rigorosas da ´ algebra e da an´ alise. † S˜ ao os aspectos que envolvem a no¸c˜ ao de distˆ ancia e continuidade.
205
Nosso objetivo agora ser´ a construir a aplica¸c˜ao χ
2 3
1 3
s
p
1 2
χ
p
z s
p
1
1
0
0
p
p
1 3
2 3
1
Perguntamos: como transferir um ponto do intervalo para o quadrado?
Pr´ e-requisitos Desenvolvimento bin´ ario Iremos necessitar do desenvolvimento na base bin´ aria de um n´ umero real do intervalo [ 0, 1 ]. Se 0 ≤ x ≤ 1, a express˜ ao x = 0, x1 x2 . . . xn . . . de x na base 2 significa que x=
x1 x x + 22 + · · · + nn + · · · 2 2 2
por exemplo
3 0 1 1 0 0 0 = 1 + 2 + 3 + 4 + 5 + 6 + ··· 8 2 2 2 2 2 2 Desde j´a evidenciaremos um importante detalhe: do ponto de vista de convergˆencia de s´eries, tamb´em temos
1 0 1 1 1 0 3 = 1 + 2 + 3 + 4 + 5 + 6 + ··· 8 2 2 2 2 2 2
Deveremos fazer uma escolha: que sequˆencia bin´ aria ser´ a a representa¸ c˜ ao bin´ aria∗ da fra¸c˜ao 83 ? Esolheremos a primeira sequˆencia, a qual chamaremos de Verdadeira codifica¸c˜ao; em fun¸c˜ao desta escolha a segunda sequˆencia, isto ´e, 0 1 0 1 1 1 . . ., ser´ a chamada de Falsa codifica¸c˜ao, ou pseudo 3 codifica¸c˜ ao da fra¸c˜ ao 8 . ∗
c˜ ao bin´ aria, gosto mais deste u ´ ltimo termo. Representa¸c˜ ao bin´ aria ou codifica¸
206
Algoritmo Como obter a representa¸c˜ ao bin´ aria de x ∈ [ 0, 1 ]? Iremos fornecer um algoritmo. Inicialmente vejamos um exemplo: Obter o desenvolvimento bin´ ario de x = 1/3 com uma precis˜ao ε = 0, 01. Solu¸ c˜ ao: Inicialmente calculamos n0 e depois m, assim 1 m = ⌊2n0 · x⌋ n0 = log2ε ,
Nota: ⌊ x ⌋ ´e o maior inteiro que n˜ ao supera x. Fun¸c˜ao piso.
Ent˜ao
6 1 n0 = log = 21. =6 ⇒ m= 2 · 3 Agora desenvolvemos o inteiro m = 21 na base bin´ aria: 1 0,01 2
21 = 1 · 24 + 0 · 23 + 1 · 22 + 0 · 21 + 1 · 20
Dividindo a equa¸c˜ ao anterior por q = 2n0 = 26 , temos 21 1 0 1 0 1 6 = 2 + 3 + 4 + 5 + 2 2 2 2 2 26 1 0 1 0 1 0 = 1 + 2 + 3 + 4 + 5 + 6 2 2 2 2 2 2 Conclus˜ao: (010101)2 ´e o desenvolvimento bin´ ario de x = 1/3 com erro menor que um cent´esimo. Observe que 21 1 6 − = 0, 005208 . . . < ε. 3 2 Para que possamos “automatizar” todo o processo anterior fornecemos a seguinte f´ormula:
xn =
1, se
0, se
m
n −n 2 0
m
n0 − n
2
´e ´ımpar; (n = 1, 2, . . . , n0 ) ´e par.
Exemplo: Considere o exemplo anterior em que n0 = 6 e m = 21. Ent˜ao: m 21 = n=1 ⇒ = 0 ⇒ x1 = 0 n0 − n 6−1 2
2
n=2 ⇒
m
n −n 2 0
=
21 26−2
=1
⇒ x2 = 1
.................................................. m 21 = = 21 ⇒ x6 = 1 n=6 ⇒ n0 − n 6−6 2
2
207
Alternativamente, podemos escrever a f´ormula anterior sob a seguinte nota¸c˜ ao:
xn = mod
j
m n0 − n
2
k
,2
Leia-se: xn = resto da divis˜ao de
(n = 1, 2, . . . , n0 )
j
m n0 − n
2
k
por 2.
O programa a seguir
nos devolve a representa¸c˜ao bin´ aria de um x ∈ [ 0, 1 [ com uma precis˜ao ε. Na tela do centro temos os desenvolvimentos bin´ arios de 1 x= , 3
ε = 0.01
e
ε = 0.001
e na tela da direita temos os desenvolvimentos bin´ arios de 1 x= √ , 2
ε = 0.01
208
e
ε = 0.001
Demultiplexa¸ c˜ ao e Multiplexa¸c˜ ao Estas s˜ ao duas opera¸c˜ oes com sequˆecias bin´ arias, muito utilizadas em inform´ atica, vejamos do que se trata. Demultiplexa¸ c˜ ao Dada uma sequˆencia de digitos x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 . . . a opera¸c˜ ao de demultiplexa¸ c˜ ao consiste em separ´a-la nas subsequˆencias de ´ındices ´ımpares e pares, assim:
x1 x3 x5 x7 x9 . . . x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 . . . x2 x4 x6 x8 x10 . . .
Apenas a t´ıtulo de informa¸c˜ ao, na eletrˆ onica digital existe um circuito eletrˆ onico (Chip) que realiza a demultiplexa¸c˜ao de uma sequˆencia bin´ aria. Na tela a seguir
mostramos um programa que realiza a demultiplexa¸c˜ao de uma sequˆencia; na tela do centro temos um exemplo; na tela da direita obtivemos o desenvolvimento bin´ ario da fra¸c˜ ao 53 e ap´ os sua demultiplexa¸c˜ao. Nota: A sequˆencia a ser demultiplexada deve ser fornecida em uma lista, a sa´ıda ´e uma matriz de duas linhas.
209
Multiplexa¸ c˜ ao Dadas duas sequˆencias (xn ) e (yn ) x = x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 . . . y = y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 . . . a opera¸c˜ ao de multiplexa¸ c˜ ao consiste em entrela¸c´a-las, assim:
x1 x2 x3 x4 x5 x6 x7 x8 . . . x1 y 1 x2 y 2 x3 y 3 x4 y 4 . . .
y1 y2 y3 y4 y5 y6 y7 y8 . . .
Apenas a t´ıtulo de informa¸c˜ao, na eletrˆ onica digital existe um circuito eletrˆ onico (Chip) que realiza as duas opera¸c˜ oes: multiplexa¸c˜ ao e demultiplexa¸c˜ao de sequˆencias bin´ arias.
Na tela ao lado mostramos um programa que realiza a multiplexa¸c˜ao de duas sequˆencias.
A seguir vemos uma simula¸c˜ao do programa:
101010 ... 10011100... 011000 ...
Nota: As sequˆencias a serem multiplexadas devem devem constar em duas linhas de uma matriz, a sequˆencia resultante ´e fornecida em uma lista. 210
Pois bem, vamos retomar a constru¸c˜ao da curva de peano χ
1
1
χ
s
p
1 2
2 3
p
z s
p
1 3
0
0
p
p
1 3
2 3
A curva de Peano se resume no quadro a seguir
B
1
z
Ψ
{ 0, 1 }N
η
1
(ver p. 212)
1
ξ
s(x, y)
s η2
s
0
s
η1
0
{ 0, 1 }N
1
• Curva de Peano simplificada A composi¸c˜ ao destas v´arias transforma¸c˜oes ´e a transforma¸c˜ao procurada. Resumindo, temos 1
1
1 2
2 3
s
p
χ
p
z s
p
1 3
0
0
p
p
1 3
2 3
1
onde χ : I −→ I × I ´e tal que
z 7−→ (x, y)
χ = ξ ◦ η ◦ Ψ ⇒ χ(z) = ξ ◦ η ◦ Ψ (z) = ξ ◦ η Ψ(z) = ξ η(Ψ(z)) 211
η
Ψ
Os programas acima implementam as respectivas fun¸c˜oes.
B
1
Ψ
{ 0, 1 }N
η
ξ
1
s(x, y)
s z
η2
s
s
0
η1
{ 0, 1 }N
0
1
• Curva de Peano simplificada Vejamos qual o papel de cada uma destas transforma¸c˜oes: • Ψ recebe um ponto do intervalo [ 0, 1 ] e nos devolve sua representa¸c˜ao bin´ aria: B 1
Ψ : [ 0, 1 ] −→ B
xr
Ψ
r(xn )
x 7−→ (xn ) 0
O seguinte produto cartesiano: { 0, 1 }N = { 0, 1 } × { 0, 1 } × { 0, 1 } × · · · ´e o conjunto das sequˆencias infinitas de 0 s e 1 s. B (conjunto das codificaao tˆem todos os termos ¸co ˜es) ´e o subconjunto de {0, 1}N cujos elementos n˜ ∗ iguais a 1, a partir de alguma posi¸c˜ao . Por exemplo: 0101010101... ∈ B ∗
e
1 0 1 0 1 0 0 1 1 1 1 1 . . . 6∈ B
Com a u ´ nica exce¸c˜ ao feita para a sequˆencia 1 1 1 1 . . . a qual incluimos neste conjunto.
212
• A aplica¸c˜ ao (η) ´e definida assim: B
η: B (xn )
N
✿
N
{0, 1} × {0, 1} η1 (xn ), η2 (xn )
{0, 1}N
η
q (η
1 ,η2 )
(xn ) q N
{0, 1}
Onde ηi : B −→ {0, 1}N (i = 1, 2) s˜ ao dadas por η1 (xn ) = η1 (x1 x2 x3 . . .) = x1 x3 x5 . . .
η2 (xn ) = η2 (x1 x2 x3 . . .) = x2 x4 x6 . . . Isto ´e, η1 toma de xn sua subsequˆencia de ´ındices ´ımpares e η2 toma de xn sua subsequˆ encia de ´ındices pares, ou seja, a aplica¸c˜ao η demultiplexa a sequˆencia xn . • A aplica¸c˜ ao ξ ´e definida assim: N
N
ξ : {0, 1} × {0, 1} (xn ), (yn )
onde
(x, y) =
∞ X x
n n
n=1
∞ X y n n
2 n=1
ξ
N
{0, 1}
(yn )
2
,
I×I (x, y)
1
✒ r
(xn )
(1,1)
r (x, y)
{0, 1}N
0
1
Ou seja, a aplica¸c˜ ao ξ toma um par de sequˆencias bin´ arias e converte para sua representa¸c˜ ao decimal. Informamos ao leitor que esta contru¸c˜ao da curva de Peano ´e uma das mais simples; ademais, estamos deixando de fora os aspectos topol´ogicos. A seguir damos alguns exemplos com o objetivo de clarear o que vimos anteriormente. 213
Exemplo: 1) Calcule a imagem, por χ, de z = 0.8.
B
1
Ψ
{ 0, 1 }N
η
1
ξ
s(x, y)
s
zs
η2
s
0
η1
0
{ 0, 1 }N
1
Solu¸ c˜ ao: Desenvolvendo 0.8 na base 2, temos 0.8 = 1 1 0 0 1 1 0 0 1 1 0 0 1 1 . . . ent˜ ao Ψ(0.8) = 1 1 0 0 1 1 0 0 1 1 0 0 1 1 . . .. Aplicamos η `a sequˆencia anterior:
11001100110011...
↓Ψ
1 0 1 0 1 0 1 01 . . .
η1 η2
101010101...
↑
η
Temos η1 , η2 ∈ {0, 1}N × {0, 1}N . Agora aplicamos ξ ao ponto η1 , η2 : ξ (η1 , η2 ) = (x, y), onde x=y=
Portanto χ(0.8) =
1
2 2 3, 3
0 1 0 2 1 1 + 2 + 3 + 4 + ··· = 3 2 2 2 2
. A geometria do exemplo fica 1 2 3
χ p
1 2
ξ
s
p
0.8 s
p
1 3
0
0
p
p
1 3
2 3
214
1
Exemplo: Quais pontos do intervalo chegam no ponto
1 1 4, 2
Solu¸ c˜ ao: Iniciamos com a curva de Peano,
B
1
Ψ
{ 0, 1 }N
η
ξ
?
1
s(x, y)
s η2
zs
0
s
η1
{ 0, 1 }N
0
1
da figura a seguir
{ 0, 1 }N
(a, b) s
1 4 1 2
s
( 14 , 21 )
{ 0, 1 }N
concluimos que a e b s˜ ao sequˆencias que devem convergir para 1/4 e 1/2, respectivamente. Tendo em conta que 1 2
= 10000...
1 4
= 01000...
1 2
= 01111...
1 4
= 00111...
Interregno: Estas igualdades devem ser entendidas no sentido de convergˆencia e n˜ ao de codifica¸c˜ ao (representa¸c˜oes). Se bem que as duas primeiras s˜ ao tamb´em codifica¸c˜ oes − por pertencerem a B. Nota: Consulte em nosso livro [7] o item “O Mito das Ambiguidades nas Representa¸ co ˜es Decimais”.
215
Pois bem, temos as seguintes possibilidades para o par (a, b): 1 4
1 2
↓
↓
(0 1 0 0 0 . . . , 1 0 0 0 0 . . .) (0 1 0 0 0 . . . , 0 1 1 1 1 . . .) (0 0 1 1 1 . . . , 1 0 0 0 0 . . .) (0 0 1 1 1 . . . , 0 1 1 1 1 . . .)
(Multiplexa duas sequ^ encias)
Multiplexando cada um destes pares de sequˆencias, obtemos: 010000 ... 01100000...
100000 ... 010000 ...
00110101...
011111 ... 001111 ...
01001010...
100000 ... 001111 ...
00011111...
011111 ...
6∈ B
Au ´ ltima sequˆencia n˜ ao pertence ao conjunto das codifica¸c˜oes − pode ser ignorada. Convertendo as outras trˆes para decimal, obtemos: 01100000... =
3 , 8
00110101... =
10 , 48
01001010... =
7 24
Portanto estes s˜ ao os trˆes pontos do intervalo que ser˜ ao guardados na posi¸c˜ ao 41 , 12 do quadrado. Isto ´e, χ
3 8
=χ
10 48
=χ
7 1 1 = , 24 4 2
Ou ainda, uniformizando os denominadores 10 14 18 1 1 =χ =χ = , χ 48 48 48 4 2 216
Imaginando o intervalo como sendo uma das arestas do quadrado, temos
)=χ( 14 )=χ( 18 χ( 10 )=( 14 , 21 ) 48 48 48
s( 1 , 1 ) 4
2
χ
sss Observe que um outro modo de interpretar χ ´e que ela transfere os pontos da aresta do quadrado, para o pr´ oprio quadrado, de modo que toda a superf´ıcie do quadrado ´e coberta e, como se n˜ ao bastasse, podemos ter at´e trˆes pontos da aresta transferidos para uma mesma posi¸c˜ao do quadrado. ∗
∗
∗
)=( 14 , 21 ) )=χ( 14 )=χ( 18 χ( 10 48 48 48
s( 1 , 1 ) 4
2
χ
sss
10 48
=
14 48 18 48
5 24
= 0.208 . . .
=
7 24
= 0.292 . . .
=
3 8
10 48
= 0.375
217
ր ↑ տ 18 14 48
48
Encontrar os pontos do intervalo que s˜ ao levados no ponto 12 , 43 . Solu¸ c˜ ao: Da experiˆencia adquirida no exemplo anterior, podemos escrever: VV : (1 0 0 0 0 . . . , 1 1 0 0 0 . . .) −→ 1 1 0 1 0 0 0 0 0 . . . VF : (1 0 0 0 0 . . . , 1 0 1 1 1 . . .) −→ 1 1 0 0 0 1 0 1 0 . . . 1 3 , → 2 4 FV : (0 1 1 1 1 . . . , 1 1 0 0 0 . . .) −→ 0 1 1 1 1 0 1 0 1 . . . FF : (0 1 1 1 1 . . . , 1 0 1 1 1 . . .) −→ 0 1 1 0 1 1 1 1 1 . . . 6∈ B
Onde: V significa a verdadeira codifica¸c˜ao (da fra¸c˜ao) em bin´ ario e F a falsa (apenas no sentido de convergˆencia). As sequˆencias ap´ os cada seta foram obtidas pela multiplexa¸c˜ao das sequˆencias em cada par ordenado. Sendo assim temos:
39 48
(1 0 0 0 0..., 1 1 0 0 0...)
Ψ
η
concluimos que λ
=
1 3 2, 4
{ 0, 1 }N
ξ
. Da alternativa seguinte { 0, 1 }N
( 12 , 34 )
1 1 0 0 0 1 0 1 0...
ր 0
39 48 B
1 37 48
( 12 , 34 )
1 1 0 1 0 0 0 0 0...
ր 0
{ 0, 1 }N
B
1
(1 0 0 0 0..., 1 0 1 1 1...)
Ψ
η
concluimos que λ
37 48
=
1 3 2, 4
{ 0, 1 }N
. Da alternativa seguinte { 0, 1 }N
B
1
ξ
( 12 , 34 )
0 1 1 1 1 0 1 0 1... 23 48
0
(0 1 1 1 1..., 1 1 0 0 0...)
Ψ
concluimos que λ
η 23 48
=
1 3 2, 4
{ 0, 1 }N
. 218
ξ
A multiplexa¸c˜ ao na u ´ ltima alternativa ( FF ) n˜ ao resulta em B, portanto n˜ ao ´e considerada. Resumindo, temos
1, 3) (2 4
)=( 12 , 43 ) λ( 23 )=λ( 37 )=λ( 39 48 48 48
s χ
s
ss
Seja (x, y) um ponto do quadrado. Com um pouco de reflex˜ao o leitor chegar´ a` as seguintes conclus˜oes: 1a ) Se ambas as coordenadas, x e y, forem fra¸c˜oes di´ adicas∗ ent˜ao, neste ponto s˜ ao colocados trˆes pontos da aresta do quadrado. De outro modo: a curva passa trˆes vezes por pontos com ambas as coordenadas fra¸c˜oes di´ adicas; ao forem fra¸c˜oes di´ adicas ent˜ao, neste 2a ) Se ambas as coordenadas, x e y, n˜ ponto ´e colocado apenas um ponto da aresta do quadrado. De outro modo: a curva passa uma u ´ nica vez em pontos com ambas as coordenadas n˜ ao di´ adicas; 3a ) Se apenas uma das coordenadas, x ou y, ´e uma fra¸c˜ao di´ adica ent˜ao, neste ponto ´e colocado dois pontos da aresta do quadrado. De outro modo: a curva passa duas vezes em pontos com apenas uma coordenada fra¸c˜ao di´ adica; Uma quarta propriedade, menos evidente, ´e a que segue 4a ) O conjunto dos pontos duplos e triplos ´e infinito enumer´ avel e denso no quadrado. Infinito enumer´avel significa que podemos “cont´ a-los ”, assim como contamos os Naturais: N : 1,
2,
3,
4,
5, . . .
Denso significa que: fixado qualquer ponto no quadrado; arbitrariamente pr´ oximo − ou t˜ ao pr´ oximo quanto se queira − deste ponto fixado existir´a um ponto duplo ou triplo.
∗ Uma fra¸c˜ ao di´ adica ´e aquela cujo numerador ´e um n´ umero inteiro e cujo denominador ´e uma potˆencia de 2.
219
O quadrado hiperm´ agico O exorcismo do fantasma das ambiguidades ([7]) nos permitiu definir e construir uma esp´ecie de “volta” da curva de Peano. Defini¸ c˜ ao 8 (Quadrado hiperm´ agico). Chama-se quadrado hiperm´ agico num espa¸co m´etrico M, d uma aplica¸c˜ao ϕ : M → I cont´ınua e injetiva.
A curva de Peano ´e uma aplica¸c˜ao χ : I → M cont´ınua, sobrejetora e n˜ ao injetora; o quadrado hiperm´ agico ´e uma aplica¸c˜ao ϕ : M → I cont´ınua, injetora e n˜ ao sobrejetora. O que h´ a de paradoxal no quadrado hiperm´ agico ´e que conseguimos guardar (armazenar) injetivamente todos os pontos do quadrado no intervalo unit´ ario e ainda sobra espa¸co. Imaginando o intervalo como sendo uma das arestas do quadrado, ϕ guarda o quadrado em uma de suas arestas, sem sobrepor um ponto a outro e, “o que ´e pior”, ainda sobra espa¸co na aresta!. − como estaremos mostrando oportunamente. Pois bem, o quadrado hiperm´ agico resume-se na composi¸c˜ao das aplica¸c˜ oes mostradas na figura a seguir:
B B
(1,1)
1
ν
µ y
s
0
x
1
r
σ
r
1
B
rz
0
• Quadrado hiperm´ agico
µ
ν
220
σ
• µ ´e a seguinte aplica¸c˜ ao µ : I × I −→ B × B (x, y) 7−→ (xn ), (yn ) B B
(1,1)
1
ν
µ y
s
0
x
1
r
σ
r
1
rz
0
B
• A aplica¸c˜ ao ν executa uma multiplexagem das sequˆencias (xn ) e (yn ). • Definimos a aplica¸c˜ ao σ como σ = Ψ−1 .
(p. 212)
Resumindo o quadrado hiperm´ agico temos (1,1)
1
ϕ
r
0
1
rz
0
1
onde ϕ : I × I −→ I ´e tal que
(x, y) 7−→ z
ϕ = σ ◦ ν ◦ µ ⇒ ϕ(x, y) = σ ◦ ν ◦ µ (x, y) = (σ ◦ ν) µ(x, y) = σ ν µ(x, y)
Vejamos agora, atrav´es de exemplos, como essa transforma¸c˜ao atua.
221
Exemplos: 1) Como um primeiro exemplo, vamos transferir o centro do quadrado para 1 1 o intervalo. O centro do quadrado ´e dado pelo par ordenado 2 , 2 . B B
(1,1)
1
ν
µ y
s
0
x
1
r
σ
r
1
rz
0
B
Solu¸ c˜ ao: A transforma¸c˜ ao µ obt´em a representa¸c˜ao bin´ aria de um ponto do quadrado (codifica-o), ou seja µ
1 1 = (1 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . .) , 2 2
A transforma¸c˜ ao ν faz uma multiplexa¸ca ˜o destas duas sequˆencias, veja: 100000 ... ν
11000000...
100000 ...
A transforma¸c˜ ao σ converte esta u ´ ltima sequˆencia em um n´ umero do intervalo (decodifica), assim: 3 1 1 0 0 0 σ(1 1 0 0 0 0 0 0 . . .) = 1 + 2 + 3 + 4 + 5 + · · · = 4 2 2 2 2 2 3 1 1 Finalmente, ϕ 2 , 2 = 4 . Vamos resumir o que aconteceu: B
B
s 11000...
1
µ y
0
s1
(
x
1 2, 2
1000...
ν
s
1
σ
s3
4
) 1
1000...
222
B
0
2) Como mais um exemplo, vamos transferir o ponto
1 1 3, 3
para o intervalo.
B (1,1)
1
ν
B
µ y
s
0
x
1
r
σ
r
1
rz
0
B
Solu¸ c˜ ao: Aplicando a transforma¸c˜ao µ a este ponto obtemos 1 1 µ , = (0 1 0 1 0 1 0 1 0 . . . , 0 1 0 1 0 1 0 1 0 . . .) 3 3 Aplicando ν a este ponto obtemos:
010101010... ν
001100110011...
010101010...
Entregando esta u ´ ltima sequˆencia a σ, obtemos 0 0 1 1 0 0 1 1 + ··· 1 + 2 + 3 + 4 + 5 + 6 + 7 + 2 2 2 2 2 2 2 28 1 1 1 1 1 1 = + 7 + 11 + · · · + + 8 + 12 + · · · 23 2 2 24 2 2
σ(0 0 1 1 0 0 1 1 0 0 1 1 . . .) =
=
Portanto ϕ
1 1 3, 3
2 1 1 + = 15 15 5
= 15 . Geometricamente, temos B B
s 00110011...
1
µ
0101...
ν
s
1
σ
y
s
( 13 , 13 )
s1 5
0
x
1
0101...
223
B
0
Imagem real e imagem virtual Dentro do contexto de desenvolvimento do quadrado hiperm´ agico surgiu a necessidade de considerarmos o que vamos chamar de “imagem virtual de um ponto” − que s˜ ao pontos do intervalo que n˜ ao s˜ ao imagens por ϕ de pontos do quadrado, mas que, no entanto, s˜ ao “geradas” por estes, num sentido a ser exemplificado a seguir. Inicialmente consideremos, por exemplo, a sequˆencia a(k) dada assim a(k) = 0 0 1 0 1 0 1 0 1 0 1 0 . . . Essa sequˆencia pertence a B. A multiplexagem a seguir
0111111... 0000000...
001010101010... ∈ B
mostra que a sequˆencia a(k) n˜ ao ´e imagem, por ν, de nenhum ponto do espa¸co B × B, observe B 00101010...
B 01111... 6∈ B
µ
0
ν
σ σ(a(k)) =
00000...
1
1
sa(k)
1
B
0
1 6
Logo, nenhum ponto de B × B chega na sequˆencia a(k). Isso implica dizer que a imagem, por σ,de a(k), n˜ ao ser´ a ocupada por nenhum ponto do quadrado. Digo, σ a(k) , n˜ ao ser´ a imagem, por ϕ, de nenhum ponto do quadrado. Este ´e um exemplo do que vamos definir logo mais como sendo uma “imagem virtual”. Para encontr´ a-la, calculamos: σ(0 0 1 0 1 0 1 0 1 0 1 0 . . .) =
=
0 1 0 1 0 1 0 0 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + ··· 2 2 2 2 2 2 2 2 1 1 1 1 3 + 5 + 7 + ··· = 6 2 2 2
224
A partir do quadrado hiperm´ agico a seguir
B
y
0
x
σ
r
1
B
rz
0
µ s
1
r
(1,1)
1
ν
B
bije¸ca˜o
definimos: Defini¸ c˜ ao 9 (Imagem real e imagem virtual). As imagens de pontos de B, por σ, dividem-se em reais e virtuais; um ponto de B gera uma imagem real se ele ao ser demultiplexado suas sequˆencias componentes pertencem a B × B, caso contr´ ario dizemos que este ponto gera uma imagem virtual.
225
Exemplo: Vamos considerar o ponto
1 1 4, 2
Como visto anteriormente, temos
, do quadrado.
1 4
1 2
↓
↓
V V : (0 1 0 0 0 . . . , 1 0 0 0 0 . . .) V F : (0 1 0 0 0 . . . , 0 1 1 1 1 . . .) F V : (0 0 1 1 1 . . . , 1 0 0 0 0 . . .) F F : (0 0 1 1 1 . . . , 0 1 1 1 1 . . .) Multiplexando cada um destes pares de sequˆencias, obtemos: V :
010000 ...
V :
100000 ...
V :
010000 ...
F :
011111 ...
F :
001111 ...
V :
100000 ...
F :
001111 ...
F :
011111 ...
01100000...
gera imagem real
00110101...
gera imagem virtual
01001010...
gera imagem virtual
00011111...
6∈ B
Volvendo ao exemplo dado na p´ agina 215: 01100000... =
3 , 8
00110101... =
Ent˜ ao ϕ
1 1 3 , = 4 2 8
os outros dois pontos s˜ ao imagens virtuais.
226
10 , 48
01001010... =
7 24
Imaginando o intervalo como sendo uma das arestas do quadrado, temos, 18 ϕ( 14 , 21 )= 38 = 48
ponto
10 48
buraco
s( 1 , 1 ) 4
2
ϕ 14 48
buraco
s
Nota: Aqui estamos usando buraco como sinˆ onimo de imagem virtual (“vazio”). Observe que um outro modo de interpretar ϕ ´e que ela transfere todos os pontos do quadrado para uma de suas arestas, sem sobrepor um ponto a outro e, “o que ´e pior”, ainda sobram lugares vazios na aresta . . . Pasm´em!. ∗
∗
∗
Repetimos aqui − para efeito de compara¸c˜ao − a figura da p´ agina 217:
)=χ( 14 )=χ( 18 χ( 10 )=( 14 , 21 ) 48 48 48
s( 1 , 1 ) 4
2
χ
sss
10 48
=
14 48 18 48
5 24
= 0.208 . . .
=
7 24
= 0.292 . . .
=
3 8
10 48
= 0.375
227
ր ↑ տ 18 14 48
48
De uma outra perspectiva:
s( 1 , 1 ) 4
s( 1 , 1 )
2
4
2
ϕ
χ
sss
s
χ B
1
z
Ψ
{ 0, 1 }N
η
1
ξ
s(x, y)
s η2
s
s
0
η1
0
{ 0, 1 }N
1
B B
(1,1)
1
ν
µ y
s
0
x
1
r
σ
r
1
rz
0
B
ϕ A pergunta que colocamos ´e: ao guardarmos um ponto do quadrado na aresta, teremos como recuperar este ponto? Ou ainda
ϕ s (x, y)
χ sz
?s (x, y)
A resposta ´e pela afirmativa, observe que σ = Ψ−1 e que, ao demultiplexarmos uma sequˆencia de B obtemos uma sequˆencia de B × B e, ademais, µ ´e uma bije¸c˜ ao. Para um exemplo, veja a figura no topo desta p´ agina.
228
2.8.1
A curva de Peano no cubo
De modo inteiramente an´ alogo, podemos construir uma curva de Peano χ entre o intervalo unit´ ario e o cubo unit´ ario [ 0, 1 ]3 , assim:
η3 B
1
Ψ p
1
{ 0, 1 }N
s
η2
s
0
1
{ 0, 1 }N
η1 0
ξ
s
η
{ 0, 1 }N
1
• Curva de Peano no Cubo Nesta figura η faz uma demultiplexagem de uma sequˆencia xn ∈ B. Isto ´e, η toma uma sequˆencia xn e a separa em trˆes subsequˆencias, η (xn ) = η1 (xn ), η2 (xn ), η3 (xn ) Ent˜ao podemos tomar:
η1 ( x1 x2 x3 . . . ) = x1 x4 x7 x10 . . . η2 ( x1 x2 x3 . . . ) = x2 x5 x8 x11 . . . η3 ( x1 x2 x3 . . . ) = x3 x6 x9 x12 . . . Veja, x1 x4 x7 x10 . . . x1 x2 x3 x4 x5 . . .
x2 x5 x8 x11 . . . x3 x6 x9 x12 . . .
η
Ψ
Os programas acima implementam as respectivas fun¸c˜oes. 229
Exemplos: 1) Calcule a imagem, por χ, de p = 0.5.
η3 B
1
Ψ p
1
{ 0, 1 }N
ξ
s
η
s
η2
s η1
0
0
1
{ 0, 1 }N
{ 0, 1 }N
1
Solu¸ c˜ ao: Desenvolvendo 0.5 na base 2, temos 1 0 0 0 0 . . . = 12 . Ent˜ ao Ψ(0.5) = 1 0 0 0 0 0 0 . . .. Agora aplicamos η `a sequˆencia anterior: η1 (1 0 0 0 0 0 0 0 0 . . .) = 1 0 0 0 0 0 0 . . .
η
η2 (1 0 0 0 0 0 0 0 0 . . .) = 0 0 0 0 0 0 0 . . . η3 (1 0 0 0 0 0 0 0 0 . . .) = 0 0 0 0 0 0 0 . . .
Agora aplicamos ξ ao ponto η1 , η2 , η3 , ent˜ao ξ (η1 , η2 , η3 ) = (x, y, z), obtendo λ 21 = 12 , 0, 0 .
2) Calcule a imagem, por χ, de p = 2/3.
Solu¸ c˜ ao: Desenvolvendo 2/3 na base 2, obtemos
2 3
= 1 0 1 0 1 0 1 0 1 0 . . ..
Ent˜ ao Ψ(2/3) = 1 0 1 0 1 0 1 0 1 0 . . .. Aplicamos η `a sequˆencia anterior: η1 (1 0 1 0 1 0 1 0 1 . . .) = 1 0 1 0 1 0 1 . . . η2 (1 0 1 0 1 0 1 0 1 . . .) = 0 1 0 1 0 1 0 . . .
η
η3 (1 0 1 0 1 0 1 0 1 . . .) = 1 0 1 0 1 0 1 . . . Agora aplicamos ξ ao ponto η1 , η2 , η3 , ent˜ao, ξ (η1 , η2 , η3 ) = (x, y, z), obtendo χ 32 = 23 , 13 , 23 . Graficamente, temos 1
1 z 1 2
s s
χ y
1 x
0 1
230
3) Encontre todos os pontos do intervalo que s˜ ao transferidos, por χ, para o centro do cubo. Isto ´e, resolva, para p, a equa¸c˜ao χ(p) = 21 , 21 , 12 .
Solu¸ c˜ ao: Temos as seguintes alternativas:
1 1 1 2, 2, 2
→
VVV : (1 0 0 0..., 1 0 0 0..., 1 0 0 0...)→ 1 1 1 0 0 0 0 0 0... =
49 56
VVF : (1 0 0 0..., 1 0 0 0..., 0 1 1 1... )→ 1 1 0 0 0 1 0 0 1... =
43 56
VFV : (1 0 0 0..., 0 1 1 1..., 1 0 0 0... )→ 1 0 1 0 1 0 0 1 0... =
37 56
VFF : (1 0 0 0..., 0 1 1 1..., 0 1 1 1... )→ 1 0 0 0 1 1 0 1 1... =
31 56
FVV : (0 1 1 1..., 1 0 0 0..., 1 0 0 0... )→ 0 1 1 1 0 0 1 0 0... =
25 56
FVF : (0 1 1 1..., 1 0 0 0..., 0 1 1 1... )→ 0 1 0 1 0 1 1 0 1... =
19 56
FFV : (0 1 1 1..., 0 1 1 1..., 1 0 0 0... )→ 0 0 1 1 1 0 1 1 0... =
13 56
FFF : (0 1 1 1..., 0 1 1 1..., 0 1 1 1... )→ 0 0 0 1 1 1 1 1 1... =
7 56
Nota: As sequˆencias ap´ os a seta foram obtidas via multiplexa¸ca˜o das trˆes sequˆencias ` a esquerda. Os digitos na cor vermelha, em cada sequˆencia, representam o per´ıodo; isto ´e, s˜ ao os trˆes digitos que se repetem em seguida. Para ilustrar a finalidade do diagrama acima consideremos, por exemplo, a segunda das combina¸c˜ oes (VVF), assim:
η3 B
1 43 56
1
{ 0, 1 }N
s
Ψ
s
ξ
s
η
↑
η2
1 1 0 0 0 1 0 0 1... η1 0
0
1
{ 0, 1 }N
{ 0, 1 }N
1
(1 0 0 0..., 1 0 0 0..., 0 1 1 1... )
Deste diagrama concluimos que, χ
43 56
=
1 1 1 2, 2, 2
.
Das combina¸c˜ oes anteriores apenas uma (FFF) n˜ ao pertence a B, portanto n˜ ao ´e oriunda da codifica¸c˜ ao de nenhum ponto do intervalo [ 0, 1 ], sendo assim temos: χ
43 37 31 25 19 13 1 1 1 49 =χ =χ =χ =χ =χ =χ = , , 56 56 56 56 56 56 56 2 2 2 231
Podemos imaginar o intervalo unit´ ario como sendo uma das arestas do cubo unit´ ario. Na figura seguinte plotamos os sete pontos da aresta que s˜ ao transferidos para o centro do cubo
χ
z x y
Observe que em duas dimens˜oes (quadrado) trˆes pontos da aresta s˜ ao transferidos para o centro do quadrado. Em trˆes dimens˜oes (cubo) sete pontos da aresta s˜ ao transferidos para o centro do cubo. Seja (x, y, z) um ponto do cubo. Com um pouco de reflex˜ao o leitor chegar´ a` as seguintes conclus˜oes: adicas ent˜ao, neste ponto 1a ) Se as trˆes coordenadas, x, y e z, forem fra¸c˜oes di´ s˜ ao colocados sete pontos da aresta do cubo (digo, do intervalo unit´ ario). a adicas ent˜ ao, neste ponto 2 ) Se apenas duas coordenadas forem fra¸c˜oes di´ s˜ ao colocados quatro pontos da aresta do cubo. 3a ) Se apenas uma coordenada for fra¸c˜ao di´ adica ent˜ao, neste ponto s˜ ao colocados dois pontos da aresta do cubo. 4a ) Se nenhuma das coordenadas ´e di´ adica ent˜ao, neste ponto ´e colocado um u ´ nico ponto da aresta do quadrado. 5a ) O conjunto dos pontos m´ ultiplos ´e infinito enumer´avel e denso no cubo. As telas a seguir referem-se `a figura da p´ agina 231.
Ψ
η
232
ξ
2.8.2
O cubo hiperm´ agico
A exemplo do que foi feito para o quadrado tamb´em podemos transferir todos os pontos do cubo para uma de suas arestas. Sendo que esta transforma¸c˜ao cumpre as mesmas condi¸c˜ oes que a do quadrado: ´e cont´ınua, injetiva e n˜ ao sobrejetiva. B
1
B
η3
µ 0
1
sp
s
ν s
σ
η2
1
B
0
η1 B 1
• Cubo hiperm´ agico Chamaremos de γ a composta de todas estas transforma¸c˜oes. Exemplos: 1) Calcule γ 0, 0, 12 . Solu¸ c˜ ao: Temos µ 0, 0,
1 2
= 1 0 0 0 0 0 0 0 . . .. Logo,
1 = (0 0 0 0 0 0 . . . , 0 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . .) 2
Agora aplicamos ν ao ponto anterior. Observa¸ c˜ ao: Dadas trˆes sequˆencias xn , yn e zn , ν faz uma multiplexagem das mesmas, isto ´e x1 x2 x3 x4 . . . y1 y2 y3 y4 . . .
x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 . . .
z1 z2 z3 z4 . . .
ν
Portanto 000000 ... 000000 ...
001000000 ...
100000 ...
233
Temos ν(0 0 0 0 0 0 . . . , 0 0 0 0 0 0 . . . 1 0 0 0 0 0 . . .) = 0 0 1 0 0 0 0 . . . Agora, aplicamos σ ` a sequˆencia anterior, obtendo 0 0 1 0 0 0 1 σ(0 0 1 0 0 0 0 0 0 . . .) = 1 + 2 + 3 + 4 + 5 + 6 + · · · = 8 2 2 2 2 2 2 1 1 Portanto, γ 0, 0, 2 = 8 . 2) Calcule γ 21 , 12 , 21 .
Solu¸ c˜ ao: Temos 21 = 1 0 0 0 0 0 0 0 . . .. Logo 1 1 1 = (1 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . .) µ , , 2 2 2 Agora aplicamos ν ao ponto anterior, obtendo ν (1 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . . , 1 0 0 0 0 0 . . .) = 1 1 1 0 0 0 0 0 0 . . .
- Agora aplicamos, ` a sequˆencia anterior, σ. Ent˜ao, 1 1 1 0 0 1 1 1 7 σ 111000000... = 1 + 2 + 3 + 4 + 5 + ··· = + + = . 2 4 8 8 2 2 2 2 2 7 1 1 1 Portanto, γ 2 , 2 , 2 = 8 . Graficamente, temos 1 1
s7
z
8
γ y
0
1
x
s1 8
0 1
Deste exemplo e do exemplo 3 (p. 231) concluimos que o centro do cubo vai para o ponto 7/8 e gera seis buracos na aresta do cubo (ou no intervalo unit´ ario). Observe que paradoxal: A exemplo do que ocorreu no quadrado aqui tamb´em conseguimos, por γ, transferir o cubo para uma de suas arestas, com a “agravante” de que agora “mais” buracos ser˜ ao gerados na aresta. 2 Por exemplo um ponto (x, y) ∈ [ 0, 1 [ com ambas as coordenadas di´ adicas gera dois buracos na aresta do quadrado; por outro lado um ponto (x, y, z) ∈ [ 0, 1 [3 com duas coordenadas di´ adicas gera quatro buracos na aresta do cubo e com trˆes coordenadas di´ adicas gera seis buracos. Resumindo: estamos transferindo para a aresta um “volume” maior de pontos enquanto o n´ umero de lugares vazios na aresta aumenta. Naturalmente que, o que foi feito para o quadrado e o cubo, se estende sem dificuldade ao “hipercubo”. 234
Buracos na aresta do cubo: O centro do cubo vai, por γ, para o ponto 7/8 ∈ [ 0, 1 ] e “gera” seis buracos (imagens virtuais) no intervalo. Veja isto no diagrama:
1 1 1 2, 2, 2
→
VVV : (1 0 0 0..., 1 0 0 0..., 1 0 0 0...)→ 1 1 1 0 0 0 0 0 0... =
49 56
VVF : (1 0 0 0..., 1 0 0 0..., 0 1 1 1... )→ 1 1 0 0 0 1 0 0 1... =
43 56
VFV : (1 0 0 0..., 0 1 1 1..., 1 0 0 0... )→ 1 0 1 0 1 0 0 1 0... =
37 56
VFF : (1 0 0 0..., 0 1 1 1..., 0 1 1 1... )→ 1 0 0 0 1 1 0 1 1... =
31 56
FVV : (0 1 1 1..., 1 0 0 0..., 1 0 0 0... )→ 0 1 1 1 0 0 1 0 0... =
25 56
FVF : (0 1 1 1..., 1 0 0 0..., 0 1 1 1... )→ 0 1 0 1 0 1 1 0 1... =
19 56
FFV : (0 1 1 1..., 0 1 1 1..., 1 0 0 0... )→ 0 0 1 1 1 0 1 1 0... =
13 56
FFF : (0 1 1 1..., 0 1 1 1..., 0 1 1 1... )→ 0 0 0 1 1 1 1 1 1... =
7 56
Por exemplo, a pseudo codifica¸ca ˜o V V F “gera” um buraco no espa¸co B3 e este, por sua vez, gera um buraco em B: 1 1 0 0 0 1 0 0 1 . . ., que, por sua vez, gera um outro buraco em [ 0, 1 [: 43/56.
B
1
B
1 43 56
η3
µ 0
ν
σ
η2
1
0
B η1 B
1 (1 0 0 0 ..., 1 0 0 0 ..., 0 1 1 1 ...)
Ψ
ν
235
σ
Nos seis pontos seguintes: 43/56 = 0, 7679; 37/56 = 0, 6607; 31/56 = 0, 5536; 25/56 = 0, 4464; 19/56 = 0, 3393; 13/56 = 0, 2321. localizam-se os buracos na aresta do cubo (ou no intervalo unit´ ario),veja:
γ
z
χ
x y
Na figura da esquerda plotamos a imagem do centro do cubo, bem como os buracos “reservados” na aresta − pelo centro. Na figura da direita repetimos, para efeitos de compara¸c˜ao, a figura da p´ agina 232.
χ η3 B
1
Ψ p
1
{ 0, 1 }N
ξ
s
η
s
η2
s η1
0
0
{ 0, 1 }N
1
B
1
B
η3
µ
1
{ 0, 1 }N
ν
1
sp
s
σ
s 0
η2
1
B η1 B
1
γ 236
0
2.9
C´ alculo da taxa de juros
Polinˆ omios e Matem´ atica Financeira Introdu¸c˜ ao
× Veremos que, mesmo em casos onde se deve ter um n´ umero como sa´ıda de um programa a programa¸c˜ ao alg´ebrica pode facilitar bastante; apenas para contextualizar, vejamos um importante exemplo da matem´ atica financeira: “Um congelador no valor de $ 950, 00 a vista ´e vendido em 12 pagamentos mensais e sem entrada no valor de $ 100, 00 cada. Qual a taxa de juros cobrada pela loja?” Ao tentar resolver esse problema nos deparamos com a seguinte equa¸c˜ao: 100 i(1 + i)12 = (1 + i)12 − 1 950
Como isolar i (taxa) nesta equa¸c˜ao? O sentimento generalizado nos livros de matem´ atica financeira ´e que n˜ ao ´e poss´ıvel isolar a taxa nesta equa¸c˜ao. Por exemplo∗ , “Se ´e poss´ıvel uma f´ormula especial para o c´alculo de n, tal n˜ ao acontece para o c´ alculo de i, quando se conhecem P V , P M T e n. O c´alculo de i s´ o ´e poss´ıvel por aproxima¸c˜ oes sucessivas. Calcula-se o valor de P V com v´arias taxas at´e que se consigam valores pr´ oximos do valor dado para P V . Em seguida, com o aux´ılio da regra de trˆes, faz-se uma interpola¸c˜ao para determinar a taxa correspondente a esse valor dado.” Este ´e um m´etodo tosco de resolu¸c˜ao − comparado com o que aqui vamos apresentar. Vamos mostrar que ´e poss´ıvel sim obter “uma f´ormula especial para o c´ alculo de i”. Veremos como, atrav´es da computa¸c˜ao alg´ebrica, obter uma f´ormula para o c´ alculo da taxa e sem aproxima¸c˜oes − num sentido a ser esclarecido oportunamente. ∗
Veras, Lilia Ladeira. Matem´ atica Financeira 6. ed. S˜ ao Paulo: Atlas, 2009.
237
C´ alculo de presta¸c˜ oes Quando compramos um artigo a prazo efetuamos geralmente seu pagamento em uma s´erie de presta¸c˜oes igualmente espa¸cadas no tempo. Essa s´erie de presta¸c˜ oes ´e equivalente a um pagamento u ´ nico, que seria o pagamento ` a vista. A f´ormula − deduzida nos livros de matem´ atica financeira − a ser utilizada ´e a seguinte:
V = P ·
1 − ( 1 + i )−n i
(2.3)
Essa f´ormula nos fornece o valor `a V ista de uma compra feita em n parcelas iguais a P quando embutida uma taxa de juros de valor i. Vamos passar esta f´ormula para a linguagem da calculadora financeira HP 12C , temos
V =P ·
1−( 1+i )−n i
P V = P MT ·
1−( 1+i )−n i
Onde: P V = Valor Presente e P M T = Pagamento = Presta¸c˜oes.
S´ eries postecipadas e antecipadas Nos pagamentos peri´ odicos, os pagamentos podem ser feitos no in´ıcio do per´ıodo de capitaliza¸c˜ ao, quando s˜ ao chamados de antecipados, ou no final do per´ıodo, quando s˜ ao chamados de postecipados. Por exemplo, os sal´ arios, por serem pagos no fim do mˆes, s˜ ao rendas postecipadas; as mensalidades escolares, por sua vez, s˜ ao rendas antecipadas. P
P
P
P
···
p
p
p
p
0
1
2
3
···
− Antecipados
P
P
p
p
p
p
0
1
2
3
− Postecipados
238
··· ···
Temos a seguinte f´ormula:
PMT = PV ·
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
como uma generaliza¸c˜ ao da f´ormula (2.3) (p. 238). Quando m = 0 temos as s´eries antecipadas e m = 1 as s´eries postecipadas. Obviamente que a f´ormula acima contempla outras possibilidades. Por exemplo, se a primeira parcela for paga no final do segundo per´ıodo (ou in´ıcio do terceiro) (m = 2): P
P
P
p
p
p
p
p
0
1
2
3
4
··· − Postecipados, m = 2
···
C´ alculo da taxa de juros Reconsideremos o seguinte problema: Um congelador no valor de $ 950, 00 a vista ´e vendido em 12 pagamentos mensais e sem entrada no valor de $ 100, 00 cada. Qual a taxa de juros cobrada pela loja? Substituindo os dados na f´ormula a seguir, temos: PMT = PV · temos 100 = 950 · Ou ainda
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
i(1 + i)12−1 (1 + i)1 (1 + i)12 − 1
i(1 + i)12 10 = 12 (1 + i) − 1 95
Para isolar i nesta equa¸c˜ ao iremos iniciar com o binˆ omio de Newton: (a + b)n =
n X n k=0
k
an−k b k
Tomando nesta equa¸c˜ ao a = 1 e b = i, resulta: n
(1 + i ) =
n X n k=0
239
k
ik
Vejamos um caso particular desta equa¸c˜ao: 3 X 3 k 3 0 3 1 3 2 3 3 (1 + i) = i = i + i + i + i k 0 1 2 3 3
k=0
= 1 + 3i + 3i2 + i3
Resulta um polinˆ omio do terceiro grau em i. Polinˆ omios ´e uma das especialidades da HP Prime , como j´a vimos. Apenas para pegar intimidade com o somat´ orio, n
(1 + x ) =
n X n k=0
k
xk
vamos criar uma fun¸c˜ ao na HP Prime , como na tela a seguir
ap´ os , teremos a tela da direita, onde vemos duas simula¸c˜oes. Lembramos que todas as vari´ aveis envolvidas (n, k, x) devem estar resetadas. Lembramos que a letra i ´e reservada para a unidade imagin´ aria. Ademais, observe o seguinte
←−
Vamos manipular alg´ebricamente a f´ormula PMT = PV ·
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
para obter: (1 + i)n − 1 − i(1 + i)n+m−1 · P V /P M T = 0 240
Ou ainda, tendo em conta n
(1 + x ) =
n X n
k
k=0
xk
temos n X n k=0
k
k
i −1−i·
n+m−1 X k=0
n+m−1 k
i k · P V /P M T = 0
Sendo n X n k=0
k
e n+m−1 X k=0
n+m−1 k
n n n 1 0 i + ··· + in i = i + 1 n 0 | {z } k
=1
k
i =
n+m−1 0
0
i + ··· +
n+m−1 n+m−1
i n+m−1
Observe que temos uma diferen¸ca entre dois polinˆ omios em i: n X n
|k=1
k {z
p1 (i)
k
i − P V /P M T · }
|
n+m−1 X k=0
{z
p2 (i)
n+m−1 k
i k+1 = 0 }
Para o pr´ oximo programa fixe a seguinte configura¸c˜ao em sua calculadora (Vista de in´ıcio e Vista do CAS):
241
O programa seguinte calcula a taxa de juros
de acordo com a f´ormula
PMT = PV ·
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
Problema: Um congelador no valor de $ 950, 00 a vista ´e vendido em 12 pagamentos mensais iguais e sem entrada no valor de $ 100, 00 cada. Qual a taxa de juros cobrada pela loja? O diagrama de fluxo de caixa da opera¸c˜ao ´e visto a seguir: VP
PMT
PMT
p
p
p
p
p
p
p
p
p
p
p
p
p
0
1
2
3
4
5
6
7
8
9
10
11
12
Solu¸ c˜ ao: Entrando no programa anterior com os dados: P V = 950,
P M T = 100,
n = 12,
m = 1 (sem entrada)
o programa nos devolve a seguinte lista:
{ −178.6066 0.0000 3.7909 }
Ou seja: o polinˆ omio resultante do problema em quest˜ao possui trˆes ra´ızes reais. A que nos interessa ´e: i = 3.7909. 242
Vamos modificar o programa anterior para sair apenas com a taxa que nos interessa, isto ´e, entre 0 e 100. Tentando resolver este problema de “forma compacta” (e elegante) ´e que fui levado a uma nova e interessante fun¸c˜ao da Calculadora, ei-la: remove Dado um vetor ou lista, remove as ocorrˆencias 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) Antes dos exemplos, volte sua calculadora para as configura¸c˜oes
−→ −→
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:
Pois bem, agora volte a sua Calculadora para a configura¸c˜ao anterior aos exemplos (p. 241). 243
Ent˜ ao, o programa para o c´alculo da taxa de juros modificado, fica assim:
Na tela da direita recalculamos o problema do congelador. Vejamos mais dois exemplos. Problema: Uma loja de decora¸c˜oes anuncia a venda de um objeto de arte por $ 600, 00 a vista ou em 1 + 8 (isto ´e, com uma entrada e oito parcelas mensais) de $ 80, 00 cada. Qual a taxa de juros cobrada pela loja? Solu¸ c˜ ao: O diagrama de fluxo de caixa da opera¸c˜ao ´e visto a seguir: PMT
p 0
PMT = $ 80, 00
p
p
p
p
p
p
p
p
1
2
3
4
5
6
7
8
PV = $ 600, 00
Entrando no programa com os dados: P V = 600,
P M T = 80,
n = 9,
o programa nos devolve: i = 4.8598 (a.m.).
244
m = 0 (com entrada)
Problema: Um aparelho de som ´e anunciado com um pre¸co a vista de $ 1200, 00 ou em trˆes parcelas mensais iguais a $ 500, 00. Calcule a taxa de juros cobrada pela loja, supondo que a primeira parcela seja paga: a) b)
no ato; 30 dias ap´ os a compra.
Solu¸ c˜ ao: a) n = 3, b) n = 3,
Entrando no programa com os m = 0, o programa nos devolve: Entrando no programa com os m = 1, o programa nos devolve:
dados: P V i = 27.4659 dados: P V i = 12.0444
= 1200, P M T = 500, (a.m.). = 1200, P M T = 500, (a.m.).
Conclus˜ ao: Pela “dedu¸c˜ ao” do programa podemos dizer que o valor da taxa de juro ´e um valor “l´ ogicamente exato”, embora, eventualmente, possa n˜ ao ser num´ericamente exato, uma vez que no c´alculo das ra´ızes do polinˆ omio, pela HP Prime , introduz-se aproxima¸c˜oes nos algoritmos num´ericos. Este programa pode ser visto, efetivamente, como uma f´ormula para o c´alculo da taxa de juros; ´e uma fun¸c˜ao (f´ormula) de quatro vari´ aveis. Contrariando a afirmativa da autora citada na p´ agina 237: “Se ´e poss´ıvel uma f´ormula especial para o c´alculo de n, tal n˜ ao acontece para o c´ alculo de i, quando se conhecem P V , P M T e n. O c´alculo de i s´ o ´e poss´ıvel por aproxima¸c˜ oes sucessivas. Calcula-se o valor de P V com v´arias taxas at´e que se consigam valores pr´ oximos do valor dado para P V . Em seguida, com o aux´ılio da regra de trˆes, faz-se uma interpola¸c˜ao para determinar a taxa correspondente a esse valor dado.”
245
Capitaliza¸c˜ ao composta em per´ıodos fracion´ arios Os exemplos apresentados at´e agora − com respectivos fluxos de caixa − foram para transa¸c˜ oes financeiras em que os juros come¸cam a acumular no in´ıcio do primeiro per´ıodo de pagamento regular. No entanto, muitas vezes os juros come¸cam a acumular antes do in´ıcio do primeiro per´ıodo de pagamento regular − pode ser o caso de um empr´estimo banc´ ario, por exemplo. O per´ıodo referido, durante o qual os juros come¸cam a acumular antes da data do primeiro pagamento, ´e denominado per´ıodo fracion´ ario. PMT VP
···
n
p0
p1
p2
Antecipado
p3
Per´ıodo fracion´ario
PMT VP
···
n
p0
p1
p2
Postecipado
p3
Per´ıodo fracion´ario
Consideremos o seguinte problema: Um empr´estimo de $ 3 950 por 42 meses para comprar um carro come¸ca a acumular juros 13 dias antes do in´ıcio do primeiro per´ıodo de pagamento. Pagamentos de $ 120 s˜ ao feitos no final de cada mˆes. Calcule a taxa de juros do financiamento considerando os dias extras. Solu¸ c˜ ao: O diagrama de fluxo de caixa ´e visto a seguir: VP= $ 3 950
PMT
PMT= $ 120
··· n
p0
p1
p2
p 42
p3
13 dias
O n´ umero de per´ıodos que devemos utilizar no exemplo ´e: n = 42 +
13 = 42. 43 30
246
Substituindo os dados do problema na f´ormula
PMT = PV ·
120 = 3950 ·
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
i(1 + i)42. 43−1 (1 + i)1 (1 + i)42. 43 − 1
Simplificando ligeiramente, temos i(1 + i)42. 43 =
120 (1 + i)42. 43 − 1 3950
E n˜ ao podemos aplicar a f´ormula do binˆ omio de Newton para desenvolver o binˆ omio acima posto que o expoente n˜ ao ´e um n´ umero natural. O desenvolvimento matem´ atico que se segue ´e com vistas a construir um algoritmo (programa) para resolver problemas do gˆenero. Antes precisamos generalizar o coeficiente binomial, assim: Defini¸ c˜ ao 10. Se m for qualquer n´ umero real e k um n´ umero natural, ent˜ ao definimos o coeficiente binomial, assim: se k = 0; 1, m = k m(m − 1)(m − 2) · · · m − (k − 1) , se k ≥ 1. k! Por exemplo, a ) Calcule
4 2 .
Solu¸ c˜ ao: Sendo m = 4 e k = 2, temos, m − (k − 1) = 4 − 1, ent˜ao 4·3 4 4(4 − 1) = =6 = 2! 2 2 b ) Calcule 4.35 . Solu¸ c˜ ao: Sendo m = 4, 5 e k = 3, temos, m − (k − 1) = 4, 5 − 2, ent˜ao 4. 5 4. 5 (4. 5 − 1)(4. 5 − 2) 4. 5 · 3. 5 · 2. 5 = = = 6. 5625 3 3! 6
247
c ) Calcule
−4 2 .
Solu¸ c˜ ao: Sendo m = −4 e k = 2, temos, m − (k − 1) = −4 − 1, ent˜ao −4 −4(−4 − 1) −4 · (−5) = = = 10 2 2! 2 A HP possui uma fun¸c˜ao, COMB, que calcula combina¸c˜oes COMB(m, k), no entanto se m n˜ ao for inteiro ou se for negativo a calculadora acusar´a um erro. Vamos contornar esta limita¸c˜ao. . . Espere! Isto foi o que escrevi no meu livro sobre a programa¸c˜ao da calculadora HP 50g, na PRIME, neste momento, observei que ela calcula sim o “binomial generalizado”, como na defini¸c˜ao 10, acima. Isto facilita nossa vida, veja:
−→
Retomando, iremos necessitar da s´erie binomial (estudada no C´ alculo), ei-la: m(m − 1) · · · m − (k − 1) k m(m − 1) 2 x + ··· + x + ··· 1 + mx + 2! k! Pode-se provar, que se m n˜ ao for um n´ umero Natural, ent˜ao a s´erie binomial converge para (1 + x)m para |x| < 1. Sendo assim, m(m − 1) · · · m − (k − 1) k m(m − 1) 2 m x +···+ x +··· (1+x) = 1 + mx + 2! k! Tendo em conta nossa extens˜ao do coeficiente binomial, temos: +∞ X m m (1 + x) = xk k k=0
Esta identidade vale se m n˜ ao ´e um n´ umero natural. Na verdade ´e o caso que nos interessa agora, uma vez que para m natural j´a tratamos anteriormente. A t´ıtulo de exemplo, vamos substituir x por i e m por −n para obter: ∞ X −n k −n (1 + i) = i (2.4) k k=0
248
Vejamos dois casos particulares: ∞ X −2 k −2 0 −2 1 −2 2 −2 (1 + i) = i = i + i + i + ··· k 0 1 2 k=0
= 1 + −2i + 3i2 + · · ·
e −3
(1 + i)
∞ X −3 k −3 0 −3 1 −3 2 = i = i + i + i + ··· k 0 1 2 k=0
= 1 + −3i + 6i2 + · · ·
Na tela a seguir definimos na linha de entrada uma fun¸c˜ao de duas vari´ aveis
na tela do centro algumas simula¸c˜oes, configura¸c˜ao do CAS como na tela da direita. Vamos manipular alg´ebricamente a f´ormula, PMT = PV · para obter:
i(1 + i)n−1 (1 + i)m (1 + i)n − 1
(1 + i)n − 1 − i(1 + i)n+m−1 · P V /P M T = 0 Considerando que n n˜ ao ´e um n´ umero Natural, podemos escrever: +∞ +∞ X X n+m−1 k n k i · P V /P M T = 0 i −1−i k k k=0
k=0
Ou ainda,
+∞ X n k=0
k
k
i − 1 − P V /P M T · i
+∞ X n+m−1 k=0
k
ik = 0
O programa para esta f´ormula muda muito pouco em rela¸c˜ao ao programa da p. 244. Devemos estabelecer um limite N para o somat´ orio (N = 10 no programa a seguir). 249
A seguir temos o novo programa que implementa a equa¸c˜ao +∞ X n k=0
k
k
i − 1 − P V /P M T · i
+∞ X n+m−1 k
k=0
ik = 0
Este ´e o programa que calcula a taxa de juros para capitaliza¸c˜ao composta, incluindo per´ıodos fracion´arios. Entrando no programa com os dados: P V = 3950,
P M T = 120,
(p. 246)
n = 42.43,
m = 1 (postecipada)
o programa nos devolve a seguinte taxa: i = 1.2279 (a.m.). Nota: A sua calculadora deve estar na configura¸c˜ao da p´ agina 241. Vejamos mais um exemplo: Um empr´estimo de $ 4 500 por 36 meses come¸ca a acumular juros 15 dias antes do in´ıcio do primeiro per´ıodo de pagamento. Pagamentos de $ 157, 03 s˜ ao feitos no in´ıcio de cada mˆes. Calcule a taxa de juros do financiamento considerando os dias extras. Solu¸ c˜ ao: O diagrama de fluxo de caixa ´e visto a seguir: VP= $ 4 500
PMT
PMT= $ 157, 03
··· n
p0
p1
p2
p 35
p3
15 dias
O n´ umero de per´ıodos que devemos utilizar no exemplo ´e: n = 36 +
15 30
= 36. 5
PV=4500 PMT=157.03 n=36.5 m=0
250
Apˆ endice: Algoritmo para plotar pontos no espa¸co Interregno cultural: Precisamente no ano de 1988 senti a necessidade de fazer um programa computacional para tra¸car o gr´ afico de superf´ıcies z = f (x, y). Na ´epoca n˜ ao existiam os potentes softwares alg´ebricos existentes hoje e que tra¸cam gr´ aficos com a maior facilidade. Inicialmente, para desenvolver meu programa consultei dois ou trˆes livros sobre computa¸c˜ao gr´ afica, entretanto achei os algoritmos − constantes nestes livros − um tanto quanto complicados para serem implementados; foi quando decidi criar meu pr´ oprio algoritmo.
Dedu¸c˜ ao do meu algoritmo Ap´os alguns instantes de reflex˜ ao me coloquei o seguinte problema: Como plotar um ponto (x, y, z), do espa¸co tridimensional, em uma superf´ıcie bidimensional (a tela do computador ou uma folha de papel, por exemplo)? Para resolver meu problema devo construir a seguinte transforma¸c˜ao T : R3 → R2 z
z
t (x, y, z)
t (X, Y )
y
y
x
Observe que o ponto a ser plotado ´e “o mesmo” nas duas figuras. Digo, para plotar o ponto de coordenadas (x, y, z) “no espa¸co” basta plotar o ponto de coordenadas (X, Y ) no plano − de modo que esta plotagem nos dˆe a ilus˜ ao de que o ponto encontra-se no espa¸co, entenderam? Pois bem, s´ o nos resta agora relacionar as “coordenadas virtuais” X e Y com as coordenadas reais x, y e z. Isto pode ser feito a partir das figuras z z
t (X, Y )
` θ
t (X, Y ) ≡ (x, y, z) y
y x
x
251
` θ
տ
Nota: θ ´e um ˆ angulo entre o eixo x e o eixo z (negativo). O nosso interesse estar´ a centrado na figura da direita. Desta figura destacamos o seguinte triˆ angulo (ver seta): y−X ⊡ z−Y
θ a
sen θ =
y−X x
⇒ X = y − x · sen θ
cos θ =
z−Y x
⇒ Y = z − x · cos θ
x
Ent˜ ao, o “menor algoritmo do mundo” para o tra¸cado de superf´ıcies, ´e: (x, y, z) ≡ (X, Y ) = ( y − x · sen θ, z − x · cos θ )
(2.5)
Aplica¸c˜ oes do algoritmo Por exemplo, as figuras 3D na se¸c˜ao das progress˜oes aritm´eticas tridimensionais (p. 134) foram produzidas com este algoritmo. Tamb´em as figuras 3D na subse¸c˜ ao 2.8.1 (p. 229).
Morte e ressurrei¸c˜ ao de um algoritmo Alguns anos depois da concep¸c˜ao do meu algoritmo surgem os poderosos softwares computacionais para o tra¸cado de gr´ aficos (inclusive superf´ıcies), devo confessar que, com muito pesar, vislumbrei a morte de meu rebento. Entretanto, alguns anos depois as circustˆancias me levaram a utilizar o processador de texto LATEX 2ε e neste existe um ambiente (picture) para o tra¸cado de figuras que trabalha com as coordenadas cartesianas bidimensionais (X, Y ). Somente ent˜ao me dei conta de que a finalidade principal de meu algoritmo n˜ ao estava no tra¸cado de superf´ıcies mas sim em plotar um ponto no espa¸co R3 e, em fun¸c˜ao disto, o mesmo se revelaria de grande utilidade dentro do ambiente de figuras do referido processador de texto. Por exemplo, os seguintes paralelepipedos foram tra¸cados com o algoritmo (2.5).
252
Nosso algoritmo pode ser visto como uma transforma¸c˜ao linear Y = F (X) = A X onde "
X Y
#
=
"
−sen θ 1 0
− cos θ 0 1
#
x y z
Observe que G(0, y, z) = ( y − 0 · sen θ, z − 0 · cos θ ) = (y, z). Ou seja, os pontos do plano yoz s˜ ao “invariantes”. Observe como o algoritmo transforma as coordenadas reais, (x, y, z), de um paralelepipedo em coordenadas “virtuais” (X, Y ): G (x, y, z) −→ (X, Y )
G (x, y, z) −→ (X, Y )
(0, 0, 0) −→ (0, 0)
(1, 0, 0) −→ (−0.6428, −0.7660)
(0, 1, 0) −→ (1, 0)
(1, 1, 0) −→ (0.3572, −0.7660)
(0, 1, 1) −→ (1, 1)
(1, 1, 1) −→ (0.3572, 0.2340)
(0, 0, 1) −→ (0, 1)
(1, 0, 1) −→ (−0.6428, 0.2340)
z
(0, 0, 1) (1, 0, 1)
(1, 0, 0)
r r
r
(0, 1)
r(0, 1, 1)
r
r
Y
G : R3 → R2
r
(0, 1, 0)
r
y
r(1, 1)
r r r
r(1, 1, 0)
r
↑
x
r
(1, 0)
X
r(0.3572, −0.7660)
(−0.6428, −0.7660)
Nesta figura fixamos θ = 40o e arredondamos as cordenadas em (X, Y ) para quatro casas decimais.
253
Uma diferen¸ ca (evolu¸ ca ~o) abissal!
O Absoluto cont´em todo o experienci´ avel. Mas sem o experimentador eles s˜ ao como nada. Aquilo que faz a experiˆencia poss´ıvel ´e o Absoluto. Aquilo que a faz atual ´e o Ser. (Sri Nisargadatta Maharaj)
254
Cap´ıtulo
3
Aplica¸c˜oes ao C´alculo Num´erico A matem´atica ´e um campo demasiadamente ´arduo e in´ospito para agradar ` aqueles a quem n˜ ao oferece grandes recompensas. Recompensas que s˜ao da mesma ´ındole que as do artista. . . . Acrescenta ainda que ´e no ato de criar que o matem´atico encontra sua culminˆancia e que “nenhuma quantidade de trabalho ou corre¸ca˜o t´ecnica pode substituir este momento de cria¸ca˜o na vida de um matem´atico, poeta ou m´ usico”. (Norbert Wiener)
Introdu¸ c˜ ao Apenas lembramos que este n˜ ao ´e um livro de C´ alculo Num´erico, mas de Programa¸ca ˜o da HP Prime ; caso seja do interesse do leitor as demonstra¸c˜oes das v´arias f´ormulas que comparecem neste cap´ıtulo podem ser encontradas nas referˆencias, nosso objetivo prec´ıpuo ser´ a programar estas f´ormulas na calculadora. Ademais, o leitor ter´ a oportunidade de observar que os nossos programas resultar˜ao simples, compactos e est´eticos. Uma observa¸c˜ ao que julgamos de alguma relevˆancia ´e a de que o nome “C´ alculo Num´erico” remonta a uma ´epoca na qual nem se sonhava com a possibilidade do advento da computa¸c˜ao alg´ebrica, raz˜ ao porque acreditamos que um nome mais apropriado a esta disciplina − atualmente − seja “C´ alculo Num´erico e Alg´ebrico”, como teremos ocasi˜ ao de observar em v´arios dos programas que aqui comparecem, a come¸car do pr´ oximo t´opico: Interpola¸c˜ ao.
255
3.1
Interpola¸c˜ ao
Introdu¸c˜ ao: Em muitas situa¸c˜ oes de interesse necessitamos aproximar uma fun¸c˜ao de “aspecto complicado”, como por exemplo∗ , C(θ) = 3θ −3
Z
θ 0
x3 dx ex − 1
por uma outra fun¸c˜ ao mais simples de manipular. A integral a seguir† Z 1r 1 + (k2 − 1)x2 dx 1 − x2 0 ´e conhecida como integral el´ıtica, para 0 < k < 1 ´e imposs´ıvel encontrar explicitamente uma primitiva da fun¸c˜ao r 1 + (k2 − 1)x2 f (x) = 1 − x2 Ainda em outras situa¸c˜oes, dispomos apenas de um conjunto de dados tabelados − colhidos “no campo” −, como por exemplo, os dados a seguir x
0
3
y
2, 38
7, 78
6
9
11, 43 13, 57
12
15
18
21
24
27
30
15, 79
12, 78
10, 31
6, 88
4, 44
2, 98
1, 35
para o c´ alculo da abscissa x ¯ do centro de gravidade de uma placa, dado pela f´ormula, Z b xy dx x ¯ = Za b y dx a
Em situa¸c˜ oes tais como estas − e em muitas outras − necessitaremos do importante conceito de
∗
Esta ´e conhecida como fun¸c˜ ao de Debye, encontrada em Termodinˆ amica Estat´ıstica no c´ alculo do calor espec´ıfico a volume constante de certas substˆ ancias. † Que representa a quarta parte do per´ımetro da elipse de semieixo maior 1 e semieixo menor k.
256
Interpola¸ c˜ ao Polinomial Considere uma fun¸c˜ ao f (x) conhecida (ou “amostrada”) em n + 1 pontos distintos: x0 , x1 , . . . , xn , de um intervalo [ a, b ] contido em seu dom´ınio. Tomemos a seguinte nota¸c˜ ao yi = f (xi ), i = 0, 1, . . . , n; como no gr´ afico a seguir, y
f yn
p
s
.. . y1
p
s
p
y0
0
s
p x0 = a
p x1
p x2
···
p
x
xn = b
Interpolar por um polinˆ omio a fun¸c˜ao f − com x0 , x1 , . . . , xn ∈ [ a, b ], n + 1 pontos distintos − significa determinar um polinˆ omio P (x), de grau menor ou igual a n, que coincida com f em todos estes pontos, isto ´e, tal que: P (xi ) = f (xi ) = yi ,
para i = 0, 1, . . . , n.
Geometricamente, temos y
yn
p
s
.. . y1
p
s
p
y0
s
f
···
s
P 0
p x0 = a
p x1
p x2
···
p
x
xn = b
O teorema a seguir afirma a existˆencia e unicidade do polinˆ omio interpolante.
257
Teorema 17 (Existˆencia e unicidade). Seja f (x) definida em x0 , x1 , . . . , xn , (n + 1) pontos distintos de um intervalo [ a, b ], ent˜ ao existe um u ´nico polinˆ omio P (x) de grau menor ou igual a n de modo que P (xi ) = f (xi ) = yi ,
para i = 0, 1, . . . , n.
(3.1)
Prova: Considere o polinˆ omio P (x), de grau n, da forma P (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 Vamos provar que existem (e s˜ ao u ´ nicos) os coeficientes an , an−1 , . . . , a1 , a0 , tais que P (x) satisfaz as condi¸c˜oes dadas em (3.1), isto ´e an xn0 + an−1 x0n−1 + · · · + a1 x0 + a0 = y0 |{z} | {z }
⇒
i=0
f (x0 )
P (x0 )
an xn1 + an−1 x1n−1 + · · · + a1 x1 + a0 = y1 |{z} {z } |
⇒
i=1
f (x1 )
P (x1 )
............................................................
⇒
i=n
an xnn + an−1 xnn−1 + · · · + a1 xn + a0 = yn |{z} {z } |
f (xn )
P (xn )
Sendo assim, temos:
a xn + an−1 x0n−1 + · · · + a1 x0 + a0 = y0 n 0 n−1 + · · · + a x + a = y a xn + a n 1 n−1 x1 1 1 0 1
Ou ainda
············································· an xnn + an−1 xnn−1 + · · · + a1 xn + a0 = yn
xn
xn−1
· · · x0 1 0 0 xn xn−1 · · · x 1 1 1 1 ...................... xnn xnn−1 · · · xn 1
an
an−1 .... a1 a0
258
y0
y 1 = .... yn−1 yn
No que resulta em um sistema de equa¸c˜oes lineares da forma AX = B, onde A ´e a matriz dada por: n x0 x0n−1 · · · x0 1 xn xn−1 · · · x 1 1 1 1 A= ...................... xnn xnn−1 · · ·
xn
1
O determinante da matriz A ´e conhecido como Y determinante das potˆencias ou de Vandermonde e, ´e dado por: det A = (xi − xj ). i 0 tal que |f ′′′ (x)| ≤ M para todo x ∈ I, ent˜ao para todo x em I se verifica |f (x) − P (x)| ≤
M |x − x0 |3 3!
onde P (x) ´e o polinˆ omio de Taylor de ordem 2 de f em torno de x0 , isto ´e P (x) = f (x0 ) + f ′ (x0 ) (x − x0 ) + ∗
∗
f ′′ (x0 ) (x − x0 )2 2 ∗
Taylor Devolve a expans˜ ao da s´erie de Taylor de uma express˜ ao num ponto ou no infinito (por predefini¸c˜ ao, em x = 0 e com ordem relativa=5). S´ıntaxe taylor(Expr, [Var=Value], [Order])
319
Exemplo: Vamos calcular − para efeitos de compara¸c˜ao − os polinˆ omios 1 de Taylor P1 e P2 para a fun¸c˜ao f dada por f (x) = no intervalo 1−x |x| < 1 e em torno de x0 = 0.
Solu¸ c˜ ao: Temos
P1 (x) = f (x0 ) + f ′ (x0 ) (x − x0 ) e P2 (x) = f (x0 ) + f ′ (x0 )(x − x0 ) +
f ′′ (x0 ) (x − x0 )2 2
Temos f (x) =
1 , 1−x
f ′ (x) =
1 , (1 − x)2
f ′′ (x) =
2 (1 − x)3
ainda f ′ (0) = 1,
f (x0 ) = f (0) = 1,
f ′′ (0) = 2
Sendo assim, temos P1 (x) = f (x0 ) + f ′ (x0 ) (x − x0 ) = 1 + 1 (x − 0) = 1 + x e P2 (x) = f (x0 ) + f ′ (x0 )(x − x0 ) + = 1 + 1(x − 0) +
f ′′ (x0 ) (x − x0 )2 2
2 (x − 0)2 = 1 + x + x2 2
A seguir temos a representa¸c˜ao geom´etrica de f , P1 e P2 .
y f
P2
f (x) = P1
1 1−x
P1 (x) = 1 + x s
P1 (x) = 1 + x + x2 ¬−1
¬1
x
320
Nas tabelas a seguir comparamos os erros quando aproximamos f por P1 e por P2 − em pontos numa vizinha¸ca de x0 = 0.
↑
↑
onde e1(x) = |f (x) − P1 (x)|
e2(x) = |f (x) − P2 (x)|
e
e1 Na u ´ ltima linha da tabela exibimos o quociente entre os dois erros. Por e2 exemplo, observe que no ponto x = −0.05 temos e1 = 20 · e2, e no ponto x = 0.025 temos e1 = 40 · e2. ∗
∗
∗
Taylor do quociente Apresenta o polin´ omio de Taylor de grau n para o quociente de dois polinˆ omios. S´ıntaxe divpc(Poly1,Poly2,Integer)
321
Polinˆ omio de Taylor de Ordem n Seja f deriv´ avel at´e a ordem n no intervalo I e seja x0 ∈ I. O polinˆ omio P (x) = f (x0 ) + f ′ (x0 )(x − x0 ) +
f ′′ (x0 ) f (n) (x0 ) (x − x0 )2 + · · · + (x − x0 )n 2! n!
denomina-se polinˆ omio de Taylor, de ordem n, de f em torno de x0 . O polinˆ omio de Taylor, de ordem n, de f em torno de x0 ´e o u ´ nico polinˆ omio de grau no m´ aximo n que aproxima localmente f em torno de x0 de modo que o erro E(x) tenda a zero mais rapidamente que (x − x0 )n , quando x → x0 . (Verifique).
O polinˆ omio de Taylor, de ordem n, de f em torno de x0 = 0 denomina-se tamb´em polinˆ omio de Maclaurin, de ordem n, de f . Exemplo: Determine os polinˆ omios de Taylor de ordem 1 at´e a ordem 4, de f (x) = ex em torno de x0 = 0. Plote os gr´ aficos. Solu¸ c˜ ao: Observe que calculando o polinˆ omio de Taylor de ordem 4 obtemos todo os anteriores. Temos P4 (x) = f (0)+f ′ (0)(x−0)+ Ent˜ ao
f ′′′ (0) f (4) (0) f ′′ (0) (x−0)2 + (x−0)3 + (x−0)4 2! 3! 4!
f (x) = ex
⇒
f (0) = 1
f ′ (x) = ex
⇒
f ′ (0) = 1
f ′′ (x) = ex
⇒
f ′′ (0) = 1
f ′′′ (x) = ex
⇒
f ′′′ (0) = 1
f (4) (x) = ex
⇒
f (4) (0) = 1
322
Substituindo, resulta P4 (x) = 1 + x +
1 1 1 2 x + x3 + x4 2 3! 4!
y
y f
f
P2 (x) = 1+x+ 12 x2
P1 (x) = 1+x
s
s x
0
x
0
y
y f
P3 (x) = 1+x+ 21
1 x2 + 3!
f x3 1 3 1 4 P4 (x) = 1+x+ 21 x2 + 3! x + 4! x
s
s x
0
0
x
Nota: Os polinˆ omios de Taylor v˜ao colando cada vez mais no gr´ afico de f a` medida que n aumenta. Teorema 26 (F´ormula de Taylor com resto de Lagrange). Seja I = [ a, b ] e seja f : I → R tal que f e suas derivadas f ′ , f ′′ , . . . , f (n) existam e sejam cont´ınuas em I, e f (n+1) exista em ] a, b [. Seja x0 ∈ I um ponto fixado. Dado x em I, x 6= x0 existe um ponto c entre x e x0 tal que f (x) = f (x0 ) + f ′ (x0 )(x − x0 ) + + ··· +
f ′′ (x0 ) (x − x0 )2 2!
f (n) (x0 ) f (n+1) (c) (x − x0 )n + (x − x0 )n+1 n! (n + 1)!
323
Defini¸ c˜ ao 14. Uma equa¸c˜ao diferencial ordin´aria de ordem n ´e uma equa¸c˜ao da seguinte forma F x, y(x), y ′ (x), y ′′ (x), . . . , y (n) (x) = 0 onde constam a fun¸c˜ ao inc´ ognita y = y(x) e suas derivadas at´e a ordem n.
Exemplos: A seguir vemos algumas equa¸c˜oes diferenciais ordin´arias, onde: y′ = a)
d2 y dy , y ′′ = 2 , . . . dx dx
dy = 2x + 3, de ordem 1; dx
b) y
d2 y dy + 3x = x − 2, de ordem 2; 2 dx dx
d2 θ g + sen θ = 0. 2 dt L Esta equa¸c˜ ao, de ordem 2, e n˜ ao linear − devido a presen¸ca do termo sen θ − modela a oscila¸c˜ao de um pˆendulo.
c)
d)
d3 y d2 y dy d4 y + 3+ 2+ + y = 1, de ordem 4. 4 dx dx dx dx
3.3.1
Problema de valor inicial (PVI)
Defini¸ c˜ ao 15. Um problema de Valor Inicial (PVI) de primeira ordem consiste de uma equa¸c˜ ao diferencial y ′ = f (x, y), x ≥ x0 , e uma condi¸c˜ao inicial y(x0 ) = y0 , onde y0 ´e um valor dado, chamado de valor inicial. Resumimos da seguinte forma: ( PV I :
y ′ = f (x, y) y(x0 ) = y0
(3.19)
N˜ao ´e poss´ıvel, em geral, encontrar a solu¸c˜ao anal´ıtica y = y(x) do PVI por manipula¸c˜ ao simb´ olica da equa¸c˜ao diferencial, da´ı a necessidade de m´etodos num´ericos como os que ser˜ ao aqui desenvolvidos. Para resolver numericamente um PVI devemos inicialmente discretizar o intervalo [ a, b ]: a = x0 < x1 < x2 < · · · < xn−1 < xn = b Ao conjunto acima denomina-se uma parti¸ca ˜o do intevalo [ a, b ]. 324
Para obter uma parti¸c˜ ao (regular) do intervalo [ a, b ] em N subintervalos de mesmo comprimento, fazemos h = b−a N , no que resulta xn = x0 + n h,
[ a = x0
x1 h
...
x2
n = 0, 1, 2, . . . , N.
xn−1
h
x
] xn = b
h
Importante: Convenciona-se usar a nota¸c˜ao y(xn ) (n = 0, 1, 2, . . .) para indicar a solu¸c˜ ao exata do PVI nos pontos da parti¸c˜ao, graficamente: f (x) y(x)
y(xn ) y(x0 )
h
0
a = x0
...
h
x1
x2
h
xn−1
x
xn = b
Por outro lado a nota¸c˜ ao yn (x) ´e reservada para a solu¸c˜ao num´erica aproximada do PVI.
f (x)
ւ
y(xn )
y(x)
solu¸ca˜o exata
←− yn (x) solu¸ca˜o aproximada
y(x0 ) = y0
... 0
a = x0
x1
x2
xn−1
xn = b
x
A solu¸c˜ ao num´erica yn (x) ´e a fun¸cao linear por partes, cujo gr´ afico ´e uma poligonal com v´etices nos pontos (xn , yn ), onde yn ser´ a calculado utilizandose algum dos m´etodos num´ericos que ser˜ ao dados logo mais. 325
´ um resultado da An´alise Matem´atica que dada qualquer fun¸c˜ao Nota: E cont´ınua em um intervalo fechado [ a, b ] esta fun¸c˜ao pode ser aproximada − com qualquer precis˜ao que se deseje − por uma “fun¸c˜ao poligonal”. De outro modo: dada qualquer f , cont´ınua em um intervalo [ a, b ], existe uma poligonal g arbitrariamene pr´ oxima de f no seguinte sentido: d(f, g) = max |f (x) − g(x)| : x ∈ [ a, b ] < ε
onde ε > 0 ´e qualquer precis˜ao arbitrariamene fixada. d(f, g) ´e a distˆ ancia entre as fun¸c˜ oes f e g. Erro local: o erro local, cometido nas aproxima¸c˜oes em cada ponto da parti¸c˜ ao, ´e a diferen¸ca entre o valor exato da solu¸c˜ao da equa¸c˜ao diferencial e o valor num´erico aproximado, isto ´e: e(xn ) = y(xn ) − yn ,
n = 0, 1, 2, . . . , N.
(3.20)
Observe a “geometria do erro” no gr´ afico anterior.
M´ etodos baseados em s´ erie de Taylor Vamos adaptar os resultados da s´erie de Taylor, vista anteriormente, aos nossos prop´ositos. Considere f uma fun¸c˜ao cont´ınua e, ademais, suponhamos que todas as suas derivadas existam no ponto x = x0 = xn . A s´erie de Taylor nas vizinhan¸cas do ponto x0 = xn ´e reescrita como∗ f (x) = f (xn ) + f ′ (xn )(x − xn ) +
f ′′ (xn ) (x − xn )2 2!
+ ··· +
f (k) (xn ) (x − xn )k + · · · k!
Vamos truncar o desenvolvimento da s´erie de Taylor no p-´esimo termo, e, por um “abuso de nota¸c˜ao”, vamos continuar usando o sinal de igualdade, assim: f (x) = f (xn ) + f ′ (xn )(x − xn ) +
f (p) (xn ) f ′′ (xn ) (x − xn )2 + · · · + (x − xn )p 2! p!
Vamos agora considerar nesta express˜ ao x = xn+1 = xn + h, ou ainda, x − xn = h, ent˜ ao: f (xn+1 ) = f (xn ) + f ′ (xn ) h +
f (p) (xn ) p f ′′ (xn ) 2 h + ··· + h 2! p!
(3.21)
∗ H´ a um teorema do C´ alculo que afirma que a igualdade em quest˜ ao ´e verdadeira em um ponto x se e somente se lim Rn (x) = 0. Portanto, estamos admitindo que este seja n → +∞ o caso.
326
Vamos reconsiderar o PVI: (
y ′ = f (x, y) y(x0 ) = y0
Admitindo como hip´ otese que a solu¸c˜ao y(x) do PVI tenha derivadas cont´ınuas para todo x ∈ [ a, b ], ent˜ao substituindo em (3.21), temos y(xn+1 ) = y(xn ) + y ′ (xn ) h +
y ′′ (xn ) 2 y (p) (xn ) p h + ··· + h 2! p!
Usando a nota¸c˜ ao, d yn ∼ f (xn , yn ), . . . = y(xn ), yn′ = f (xn , yn ), yn′′ = dx Observe, yn ∼ = y(xn ) ⇒ yn+1 ∼ = y(xn+1 ), ent˜ao yn+1 = yn + yn′ h +
yn′′ 2 y (p) h + · · · + n hp 2! p!
Ou, reconfigurando a nota¸c˜ ao: yn+1 = yn + h yn′ +
hp (p) h2 ′′ yn + · · · + y 2! p! n
(3.22)
que ´e o m´ etodo de Taylor de ordem p.
3.3.2
M´ etodo de Euler
O m´etodo de Euler para a solu¸c˜ao aproximada do PVI consiste no desenvolvimento da s´erie de Taylor para p = 1: yn+1 = yn + h yn′ como yn′ = f (xn , yn ), resulta:
(3.23) (M´etodo de Euler)
yn+1 = yn + h f (xn , yn ) ,
(n = 0, 1, 2, . . .)
Interpreta¸ c˜ ao Geom´ etrica: O m´etodo de Euler, desenvolvido por volta de 1768, ´e tamb´em conhecido como o m´ etodo da reta tangente. Vamos considerar como poder´ıamos aproximar a solu¸c˜ao y = y(x) do PVI (3.19) (p. 324) pr´ oximo de x = x0 . Sabemos que o gr´ afico da solu¸c˜ao (p. 325) cont´em o ponto (x0 , y0 ) e, da equa¸c˜ao diferencial (do PVI), sabemos, tamb´em, que a inclina¸c˜ao da reta tangente ao gr´ afico nesse ponto ´e y ′ = f (x0 , y0 ). Sendo assim, podemos 327
escrever uma equa¸c˜ ao para a reta tangente `a curva solu¸c˜ao em (x0 , y0 ), isto ´e: y = y0 + f (x0 , y0 )(x − x0 )
f (x)
reta tangente - solu¸ca˜o aproximada: yn (x)
y1 y(x1 ) y0
y(x)
solu¸ca˜o exata
0
x0
x
x1
A reta tangente ´e uma boa aproxima¸c˜ao para a curva solu¸c˜ao em um intervalo suficientemente pequeno. Se x1 estiver suficientemente pr´ oximo de x0 , podemos aproximar y(x1 ) pelo valor obtido substituindo-se x = x1 na equa¸c˜ ao da reta tangente no ponto x = x0 ; isto ´e, y1 = y0 + f (x0 , y0 )(x1 − x0 ) Para prosseguir, podemos tentar repetir o procedimento. Infelizmente, n˜ ao conhecemos o valor y(x1 ) da solu¸c˜ao em x1 . O melhor que podemos fazer ´e usar o valor aproximado dado acima, y1 , em seu lugar. Encontramos, ent˜ ao, a reta passando no ponto (x1 , y1 ) com coeficiente angular f (x1 , y1 ), isto ´e, y = y1 + f (x1 , y1 )(x − x1 ) Para aproximar y(x) no pr´ oximo ponto x2 , usamos esta u ´ ltima equa¸c˜ao, obtendo: y2 = y1 + f (x1 , y1 )(x2 − x1 ) Continuando este processo (algoritmo), usamos o valor de y calculado em cada etapa para determinar o coeficiente angular para a aproxima¸c˜ao seguinte. Generalizando os passos anteriores obtemos uma express˜ ao geral para yn+1 assim: yn+1 = yn + f (xn , yn )(xn+1 − xn ) fazendo xn+1 − xn = h, obtemos: yn+1 = yn + h f (xn , yn ) , 328
(n = 0, 1, 2, . . .)
Algoritmo Dado o PVI: (
y ′ = f (x, y) y(x0 ) = y0
podem ser adotados os seguintes passos para sua resolu¸c˜ao: 1) Declare: (i) A fun¸c˜ ao f (x, y); (ii) condi¸c˜ oes iniciais: y(x0 ) = y0 ; (iii) intervalo [ a, b ], onde a = x0 ; (iv) n´ umero de subintervalos N e calcule h = 2) Para n = 0, 1, . . . , N − 1, fa¸ca:
b−a N ;
Calcule:
in´ıcio xn+1 = xn + h yn+1 = yn + h f (xn , yn ) fim Exemplo: Calcule, pelo m´etodo de Euler, a solu¸c˜ao aproximada do seguinte PVI: ( y ′ = f (x, y) = y − x y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 4 subintervalos. Solu¸ c˜ ao: Inicialmente temos: h=
b−a 1−0 1 = = = 0. 25 N 4 4
A discretiza¸c˜ ao do intevalo fica: p
p
x0 = 0
x1 =
(n = 0, 1, 2, 3, 4)
p 1 4
x2 =
p 1 2
x3 =
p 3 4
x
x4 = 1
O m´etodo de Euler consiste no algoritmo: yn+1 = yn + h f (xn , yn ) Sendo f (x, y) = y − x, temos f (xn , yn ) = yn − xn , sendo assim resulta: yn+1 = yn + 0. 25 (yn − xn ) = − 0. 25 xn + 1. 25 yn 329
Ent˜ ao: n = 0 ⇒ y1 = −0. 25 x0 + 1. 25 y0 = −0. 25 · 0 + 1. 25 · 2 = 2. 5000 n = 1 ⇒ y2 = −0. 25 x1 + 1. 25 y1 = −0. 25 · 0.25 + 1. 25 · 2. 5 = 3. 0625 n = 2 ⇒ y3 = −0. 25 x2 + 1. 25 y2 = −0. 25 · 0.50 + 1. 25 · 3. 0625 = 3. 7031 n = 3 ⇒ y4 = −0. 25 x3 + 1. 25 y3 = −0. 25 · 0.75 + 1. 25 · 3. 7031 = 4. 4414 Observe a geometria: y4 y2
y1
y0
p
p
x0 = 0
x1 =
y3
p 1 4
x2 =
p 1 2
x3 =
p 3 4
x
x4 = 1
Apenas para efeitos de compara¸c˜ao, a solu¸c˜ao anal´ıtica (exata) da equa¸c˜ ao diferencial proposta ´e: y(x) = ex + x + 1. No gr´ afico fica assim: y
y
y(x)
p
p
2
1
1
yn (x)
p
p
2
p
p
p1
0
−1
y(x)
4.7183
p
4.7183
x
p
−1
p1
0
x
A tabela a seguir exibe a solu¸c˜ao exata − calculada nos pontos da parti¸c˜ ao −, a solu¸c˜ ao encontrada pelo m´etodo de Euler e o erro local. n
xi
0
0. 00
Sol. exata y(xn )
Sol. aprox. yn
Erro = y(xn ) − yn
2. 0
2. 0
0. 0
1
0. 25
2. 5340
2. 5000
0. 0340
2
0. 50
3. 1487
3. 0625
0. 0862
3
0. 75
3. 8670
3. 7031
0. 1639
4
1. 00
4. 7183
4. 4414
0. 2769
330
A seguir temos o programa que implementar o m´etodo de Euler
Nota: A fun¸c˜ ao REPLACE encontra-se na p´ agina 72. Na tela direita temos a simula¸c˜ao do exemplo visto anteriormente, compare n
xi
Sol. exata y(xn )
Sol. aprox. yn
Erro = y(xn ) − yn
0
0. 00
2. 0
2. 0
0. 0
1
0. 25
2. 5340
2. 5000
0. 0340
2
0. 50
3. 1487
3. 0625
0. 0862
3
0. 75
3. 8670
3. 7031
0. 1639
4
1. 00
4. 7183
4. 4414
0. 2769
Nas tela a seguir
temos um outro exemplo, alteramos a fun¸c˜ao para f (x, y) = x − y + 2 na tela da direita rodamos o programa para [ a, b, ] = [ 0, 1 ], N = 10 e y0 = 2. Na saida temos [ 2., 2., 2.01, 2.029, 2.0561, 2.0905, 2.1314, 2.1783, 2.2305, 2.2874, 2.3487 ]
331
3.3.3
M´ etodo de Taylor de ordem p = 2
Truncando o desenvolvimento da solu¸c˜ao y(xn ) do PVI, em s´erie de Taylor, na ordem p = 2, obtemos um outro m´etodo ainda mais preciso que o de Euler: (eq. (3.22), p. 327) yn+1 = yn + h yn′ +
h2 ′′ y 2! n
(3.24)
No PVI (
y ′ = f (x, y) y(x0 ) = y0
(3.25)
fa¸camos a seguinte mudan¸ca de nota¸c˜ao: z = y ′ = f (x, y). Sendo z = f (x, y) uma fun¸c˜ao de x e y e y ´e uma fun¸c˜ao x, isto ´e, y = y(x), podemos usar a f´ormula (3.18): (p. 314) ∂f ∂f dy dz = + dx ∂x ∂y dx para obter:
d ′ ∂f ∂f dy (y ) = + = fx + fy y ′ dx ∂x ∂y dx
Ou ainda: yn′′ = fx (xn , yn ) + fy (xn , yn ) yn′ Sendo que de (3.25), temos: fornecem:
y′
n
(3.26)
= f (xn , yn ). Estes resultados em (3.24) nos
yn+1 = yn + h f (xn , yn ) +
h2 [ f (x , y ) + fy (xn , yn ) f (xn , yn ) ] 2! x n n
Exemplo: Calcule, pelo m´etodo de Taylor de ordem p = 2, a solu¸c˜ao aproximada do seguinte PVI: ( y ′ = f (x, y) = x − y + 2 y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 5 subintervalos. Solu¸ c˜ ao: Inicialmente temos: h=
b−a 1−0 1 = = = 0. 2 N 5 5
Para f (x, y) = x − y + 2, temos: fx (x, y) = 1 e fy (x, y) = −1. Portanto: f (x, y) = x − y + 2
fx (x, y) = 1
fy (x, y) = −1
⇒
f (xn , yn ) = xn − yn + 2
⇒
fx (xn , yn ) = 1
⇒
fy (xn , yn ) = −1 332
Substituindo estes resultados na equa¸c˜ao deduzida anteriormente, temos: yn+1 = yn + h f (xn , yn ) +
h2 [ f (x , y ) + fy (xn , yn ) f (xn , yn ) ] 2! x n n
yn+1 = yn + h (xn − yn + 2) +
h2 [ 1 + (−1) · (xn − yn + 2) ] 2!
Substituindo o valor de h = 0.2 e simplificando, obtemos: yn+1 = 0.18 xn + 0.82 yn + 0.38 Ent˜ao, para n = 0, 1, 2, 3, 4, obtemos: y1 = 0.18 x0 + 0.82 y0 + 0.38 = 0.18 · 0 + 0.82 · 2 + 0.38 = 2.0200 y2 = 0.18 x1 + 0.82 y1 + 0.38 = 0.18 · 0.2 + 0.82 · 2.0200 + 0.38 = 2.0724 y3 = 0.18 x2 + 0.82 y2 + 0.38 = 0.18 · 0.4 + 0.82 · 2.0724 + 0.38 = 2.1514 y4 = 0.18 x3 + 0.82 y3 + 0.38 = 0.18 · 0.6 + 0.82 · 2.1514 + 0.38 = 2.2521 y5 = 0.18 x4 + 0.82 y4 + 0.38 = 0.18 · 0.8 + 0.82 · 2.2521 + 0.38 = 2.3707 O programa a seguir implementa o m´etodo de Taylor de ordem p = 2:
Na tela da direita resolvemos o exemplo anterior. Vejamos mais um exemplo de aplica¸c˜ao do programa. Exemplo: Calcule, pelo m´etodo de Taylor de ordem p = 2, a solu¸c˜ao aproximada do seguinte PVI: 2y + (x + 1)3 y ′ = f (x, y) = x+1 y(x0 ) = y(0) = 3
para x ∈ [ a, b ] = [ 0, 1 ] e h = 0.2.
333
Solu¸ c˜ ao: Temos N = b−a = (1 − 0)/0.2 = 5. Alteramos o in´ıcio do h programa anterior para que possamos entrar com a fun¸c˜ao, assim
Na tela da direita resolvemos o exemplo, o programa nos devolve o seguinte vetor: [ 3.0000 4.6200 6.7779 9.5976 13.2222 17.8141 ] A solu¸c˜ ao exata do PVI ´e dada por: y(x) = Por exemplo, y(1) =
3.3.4
1 2
1 [ (x + 1)4 + 5(x + 1)2 ] 2
[ (1 + 1)4 + 5(1 + 1)2 ] = 18.
M´ etodos de Runge-Kutta
Se tentarmos prosseguir no m´etodo de taylor de ordem p (p. 327) surgem alguns incovenientes computacionais; por exemplo, deveremos tratar simultˆ aneamente com v´arias fun¸c˜oes − f e suas derivadas −, o que aumenta significativamente o espa¸co ocupado na mem´ oria do computador. Apenas para contextualizar, se, por teimosia, formos considerar a potˆencia seguinte (p = 3), al´em da equa¸c˜ ao (3.26) (p. 332), teremos ainda que considerar yn′′′ = fxx + 2fxy f + f 2 fyy + fy fx + fy2 f (x , y ) n
n
que, convenhamos, at´e para a HP Prime torna-se oneroso.
Estaremos agora considerando uma outra classe de m´etodos para a resolu¸c˜ ao do PVI: M´etodos de Runge-Kutta∗ . Esses m´etodos possuem precis˜ao equivalentes aos m´etodos de Taylor com a vantagem de que evitam a necessidade do c´ alculo de derivadas de ordem elevada.
∗
Carl David Tolm´e Runge (1856-1927) e Wilhelm Kutta (1867-1944).
334
M´ etodo de Runge-Kutta de ordem 1 O m´etodo de Runge-Kutta mais simples ´e o de primeira ordem dado por: yn+1 = yn + h k1 ,
k1 = f (xn , yn )
Ora, mas este m´etodo nada mais ´e que o de Euler dado `a p. 327.
M´ etodo de Runge-Kutta de ordem 2 Este m´etodo consiste no seguinte algoritmo∗ : y = yn + h2 (k1 + k2 ) n+1 k1 = f (xn , yn ) k2 = f (xn + h, yn + h k1 )
o qual tamb´em ´e conhecido como m´ etodo de Euler aperfei¸ coado. O programa seguinte implementa o m´etodo em quest˜ao
Na tela da direita resolvemos o seguinte Exemplo: Usando o m´etodo de Euler aperfei¸coado, calcule a solu¸c˜ao do PVI dado por: ( y ′ = f (x, y) = x − y + 2 y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 5 subintervalos.
∗ Para a dedu¸c˜ ao (ou justificativa) deste, e dos m´etodos seguintes, o leitor poder´ a consultar alguma das obras listadas nas referˆencias.
335
M´ etodo de Euler modificado Um outro m´etodo de Runge-Kutta tamb´em bastante utilizado ´e: yn+1 = yn + h f xn + h2 , yn + h2 k1
k1 = f (xn , yn )
o qual ´e conhecido como m´etodo de Euler modificado. O programa a seguir implementa este m´etodo
Nota: Observe que, diferentemente dos programas anteriores, agora esta˜o e n˜ ao como express˜ ao (p. 24) − tanto faz. mos definindo f como fun¸ca Na tela da direita resolvemos o
Exemplo: Usando o m´etodo de Euler modificado, calcule a solu¸c˜ao do PVI dado por: ( y ′ = f (x, y) = x − y + 2 y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 5 subintervalos.
Utilizando a solu¸c˜ ao exata, y(x) = e−x + x + 1, construimos a seguinte tabela − comparando os diversos m´etodos. n
xi
Sol. exata
Euler
Euler modificado
Euler
0
0. 0
2. 0
2. 0
2. 0
2. 0
2. 0
1
0. 2
2. 0187
2. 0000
2. 0200
2. 0200
2. 0200
2
0. 4
2. 0703
2. 0400
2. 0724
2. 0724
2. 0724
3
0. 6
2. 1488
2. 1120
2. 1514
2. 1514
2. 1514
4
0. 8
2. 2493
2. 2096
2. 2521
2. 2521
2. 2521
5
1. 0
2. 3679
2. 3277
2. 3707
2. 3707
2. 3707
aperfei¸coado
Taylor
ordem 2
Inferimos que os m´etodos Euler modificado, Euler aperfei¸coado e Taylor de ordem 2 nos fornecem os mesmos resultados; comparando com a solu¸c˜ao exata vemos que estes trˆes m´etodos s˜ ao superiores ao de Euler (Taylor de ordem 1), como era de se esperar.
336
M´ etodo de Runge-Kutta de ordem 3 Este m´etodo consiste no seguinte algoritmo: yn+1 = yn + h9 (2k1 + 3k2 + 4k3 ) k1 = f (xn , yn )
k2 = f (xn + 12 h, yn +
1 2 hk1 )
k3 = f (xn + 34 h, yn +
3 4 hk2 )
O programa seguinte implementa o m´etodo em quest˜ao
Na tela da direita resolvemos o Exemplo: Usando o m´etodo de Runge-Kutta de ordem 3, calcule a solu¸ca˜o do PVI dado por: ( y ′ = f (x, y) = x − y + 2 y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 5 subintervalos.
337
M´ etodo de Runge-Kutta de ordem 4 Dentre os m´etodos de Runge-Kutta o mais popular ´e o de ordem 4, dado a seguir: y = yn + h6 (k1 + 2k2 + 2k3 + k4 ) n+1 k1 = f (xn , yn ) k2 = f (xn + 12 h, yn + 21 h k1 ) k3 = f (xn + 12 h, yn + 21 h k2 ) k4 = f (xn + h, yn + hk3 ) Este m´etodo ´e muito difundido nas rotinas de c´alculo de computadores. O programa seguinte implementa o m´etodo em quest˜ao
Na tela da direita resolvemos o Exemplo: Usando o m´etodo de Runge-Kutta de ordem 4, calcule a solu¸c˜ao do PVI dado por: ( y ′ = f (x, y) = x − y + 2 y(x0 ) = y(0) = 2
para x ∈ [ a, b ] = [ 0, 1 ] e N = 5 subintervalos.
338
Utilizando a solu¸c˜ ao exata, y(x) = e−x + x + 1, construimos a seguinte tabela − comparando alguns m´etodos, incluindo os dois u ´ ltimos de Runge-Kutta.
n
xi
Sol. exata
Euler modificado
ordem 2
Taylor
Runge-Kutta Runge-Kutta
ordem 3
0
0. 0
2. 0
2. 0
2. 0
2. 0
ordem 4 2. 0
1
0. 2
2. 0187
2. 0200
2. 0200
2. 0187
2. 0187
2
0. 4
2. 0703
2. 0724
2. 0724
2. 0702
2. 0703
3
0. 6
2. 1488
2. 2514
2. 1514
2. 1487
2. 1488
4
0. 8
2. 2493
2. 2521
2. 2521
2. 2492
2. 2493
5
1. 0
2. 3679
2. 3707
2. 3707
2. 3677
2. 3679
A melhor precis˜ao foi obtida com o Runge-Kutta de ordem 4 que coincide com a solu¸c˜ ao exata − com quatro casas decimais.
Vejamos mais um exemplo de aplica¸c˜ao do programa. Exemplo: Usando o m´etodo de Runge-Kutta de ordem 4, calcule a solu¸ca˜o do PVI dado por: 2y + (x + 1)3 y ′ = f (x, y) = x+1 y(x0 ) = y(0) = 3
para x ∈ [ a, b ] = [ 0, 1 ] e h = 0.2.
Solu¸ c˜ ao: (Re)declarando a fun¸c˜ ao no in´ıcio do programa, assim
executando o programa com os dados do problema teremos na saida a tela da direita: [ 3.0000 4.6365 6.8203 9.6759 13.3476 17.9984 ]
339
Considerando a solu¸c˜ao exata
y(x) =
1 2
[ (x + 1)4 + 5(x + 1)2 ]
temos: yn (x) : [ 3.0000 4.6365 6.8203 9.6759 13.3476 17.9984 ] y(x) : [ 3.0000 4.6368 6.8208 9.6768 13.3488 18.0000 ]
Compare com Taylor (p = 2) (que envolve derivadas): yn (x) : [ 3.0000 4.6200 6.7779 9.5976 13.2222 17.8141 ] y(x) : [ 3.0000 4.6368 6.8208 9.6768 13.3488 18.0000 ]
340
(p. 333)
Referˆencias Bibliogr´aficas
[1] Manual: Calculadora Gr´ afica HP Prime. [2] Barroso, Leˆ onidas C. et alii. C´ alculo Num´erico (com aplica¸co ˜es), 2a edi¸c˜ao. S˜ ao Paulo: editora HARBRA ltda, 1987. [3] Ruggiero, M´arcia A. Gomes & Lopes, Vera L´ ucia da Rocha. C´ alculo ao Paulo: Num´erico: aspectos te´ oricos e computacionais, 2a edi¸c˜ao. S˜ Pearson Makron Books, 1996. [4] Arenales, Selma & Darezzo, Artur. C´ alculo Num´erico: Aprendizagem com Apoio de Software. S˜ ao Paulo: Thomson Learning, 2008. [5] Cl´ audio, Dalc´ıdio Moraes & Marins, Jussara Maria. C´ alculo Num´erico ao Paulo: Atlas, 1994. Computacional: teoria e pr´ atica, 2a edi¸c˜ao. S˜ [6] Silva, Gentil Lopes. Novas Sequˆencias Aritm´eticas e Geom´etricas (Com programa¸ca ˜o na HP Prime ). 2 a Edi¸c˜ao, 2016. Publica¸c˜ao Eletrˆonica. [7] Silva, Gentil Lopes. An´ alise Real (com espa¸cos m´etricos). 1 a Edi¸c˜ao, 2017. Publica¸c˜ ao Eletrˆonica.
341
´Indice Remissivo
´ Algebra abstrata, Boyer, 25 A curva de Peano, 205 A M´etrica Quˆ antica, 201 A r´egua quˆantica, 203 Algoritmo, plota ponto no R3 , 251 Binˆ omio de Newton, 239 Boole, 25
Email Cleber, 97 Eva mordeu a ma¸c˜a, 35 F´ormula de Taylor, 315 F´ormula in´edita, 172 Fun¸c˜ao Max, 18 Fun¸c˜ao Min, 18
Gaston Bachelard Brusca Muta¸c˜ao, 200 Chaitin, 7 Gentil Combina¸c˜ oes, 100, 195 Algoritmo bin´ ario, 207 Concatenando map, 143 F´ormula bin´ aria, 208 Cubo hiperm´ agico, 233 F´ormula in´edita, 172 Curva de Peano no cubo, 229, 230, George, Boole, 25 236 Gr´ aficos, 65 Gregory Chaitin, 7 Defini¸c˜ ao Curva de Peano, 205 HP PRIME quadrado hiperm´ agico, 220 Adendo (Resetar), 22 Demultiplexa¸c˜ ao, 209 apply, 71 Desafios Binˆomio de Newton, 240 Um Belo Desafio, 34 Caixa de Ferramentas, 32 -II, 81 FOR, 52, 53 Desenvolvimento N -´ ario, 103 FOR-STEP, 54 Diferen¸ca dividida, 269 Fra¸c˜ao irredut´ıvel (limite), 88 Diferen¸ca Finita, 277 Fra¸c˜ao parcial, 88 IF - THEN - ELSE - END, 63, E.D.O. 64 M´etodo de Euler, 327 IF - THEN - END, 62 M´etodos de Runge-Kutta, 334 Listas, 28 PVI, 324 MAKELIST, 30 Taylor p = 2, 332 Email Ariovaldo, 96 MAKEMAT, 38 342
map, 76 mapii, 77 Matem´atica Financeira, 237 Matrizes, 35 Menus Toolbox, 32 N´ umero inteiro, 90 Polar-Complexo, 88 Polar-Retangular, 88 Polinˆ omio de Taylor, 319, 321 Polinˆ omios, 82 remove, 78, 243 REPLACE, 72 Resetar vari´ avel, 22 SIZE (distintos), 40 Solve, 79 Somat´ orios e produt´ orios, 41 Tabela seno, 73 Tabela-Resumo, 80 Vetores, 40 WHILE, 59, 60 Zip, 77
Matriz Bin´aria, 103 Matriz digital, 198 Matriz Tern´ aria, 105 Multiplexa¸c˜ao, 210 Norbert Wiener, 255 Peacock, 25 Plotando gr´ aficos, 65 Polinˆ omio de Taylor de Ordem n, 322 Produt´ orios, 44 Produto dos termos P.A., 58 Produto termos P.A., 44 Quadrado hiperm´ agico, 220 R´egua quˆantica, 203, 204 R´eguas de C´ alculo, 254 Regra da Cadeia, 314 Resolver complexa, 89 Runge-Kutta, 334
Imagem real e imagem virtual, 224, 225 Imagem virtual, 225 Integra¸c˜ ao Dupla, 307 Primeira regra de Simpson, 291 Quadratura gaussiana, 295 Regra dos trap´ezios, 288 Segunda regra de Simpson, 293 Interpola¸c˜ ao De Gregory-Newton, 277 De Lagrange, 261 De Newton, 269 F´ormula de Gregory-Newton, 283 F´ormula de Newton, 274 polinomial, 257
Sequˆencias duplas, 107 Subrotinas, 50 Um pequeno interregno cultural, 199 Voltaire, 202 Zeros, 89 Zeros de complexa, 89
Lineariza¸c˜ ao de sequˆencias duplas, 120 Lineariza¸c˜ ao de sequˆencias triplas, 151 M´etrica Quˆ antica, 201 Maharaj, 254 Matriz N -´ aria, 106 343