\( \newcommand{\abcp}[3]{\frc{#1+\sqrt{#2}}{#3}} \newcommand{\chao}[1]{\left\lfloor #1 \right\rfloor } \newcommand{\nPr}[2]{{}^{#1}A_{#2} } \newcommand{\combin}[2]{{}^{#1}C_{#2} } \newcommand{\cmod}[3]{#1 \equiv #2\left(\bmod {}{#3}\right)} \newcommand{\frc}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\mdc}[2]{\left( {#1},{#2}\right)} \newcommand{\mmc}[2]{\left[ {#1},{#2}\right]} \newcommand{\cis}{\mathop{\rm cis}} \newcommand{\ImP}{\mathop{\rm Im}} \newcommand{\ReP}{\mathop{\rm Re}} \newcommand{\sen}{\mathop{\rm sen}} \newcommand{\tg}{\mathop{\rm tg}} \newcommand{\cotg}{\mathop{\rm cotg}} \newcommand{\cosec}{\mathop{\rm cosec}} \newcommand{\cotgh}{\mathop{\rm cotgh}} \newcommand{\cosech}{\mathop{\rm cosech}} \newcommand{\sech}{\mathop{\rm sech}} \newcommand{\sh}{\mathop{\rm sh}} \newcommand{\ch}{\mathop{\rm ch}} \newcommand{\th}{\mathop{\rm th}} \newcommand{\senEL}[1]{\mathop{\rm sen}^{#1}} \newcommand{\tgEL}[1]{\mathop{\rm tg}^{#1}} \newcommand{\cotgEL}[1]{\mathop{\rm cotg}^{#1}} \newcommand{\cosecEL}[1]{\mathop{\rm cosec}^{#1}} \newcommand{\shEL}[1]{\mathop{\rm sh^{#1}}} \newcommand{\chEL}[1]{\mathop{\rm ch^{#1}}} \newcommand{\thEL}[1]{\mathop{\rm th^{#1}}} \newcommand{\cotghEL}[1]{\mathop{\rm cotgh^{#1}}} \newcommand{\cosechEL}[1]{\mathop{\rm cosech^{#1}}} \newcommand{\sechEL}[1]{\mathop{\rm sech^{#1}}} \newcommand{\senq}{\senEL{2}} \newcommand{\tgq}{\tgEL{2}} \newcommand{\cotgq}{\cotgEL{2}} \newcommand{\cosecq}{\cosecEL{2}} \newcommand{\cotghq}{\cotghEL{2}} \newcommand{\cosechq}{\cosechEL{2}} \newcommand{\sechq}{\sechEL{2}} \newcommand{\shq}{\shEL{2}} \newcommand{\chq}{\chEL{2}} \newcommand{\arctg}{\mathop{\rm arctg}} \newcommand{\arcsen}{\mathop{\rm arcsen}} \newcommand{\argsh}{\mathop{\rm argsh}} \newcommand{\argch}{\mathop{\rm argch}} \newcommand{\argth}{\mathop{\rm argth}} \newcommand{\Var}{\mathop{\rm Var}} \newcommand{\vect}[1]{\overrightarrow{#1}} \newcommand{\tr}[1]{ \textnormal{Tr}\left({#1}\right)} \newcommand{\C}{\mathbb{C}} \newcommand{\E}{\mathbb{E}} \newcommand{\H}{\mathbb{H}} \newcommand{\I}{\mathbb{I}} \newcommand{\K}{\mathbb{K}} \newcommand{\N}{\mathbb{N}} \newcommand{\P}{\mathbb{P}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\til}{\sim} \newcommand{\mdc}{\mathop{\rm m.d.c.}} \newcommand{\mmc}{\mathop{\rm m.m.c.}} \newcommand{\vect}[1]{\overrightarrow{#1}} \newcommand{\dfrc}{\displaystyle\frac} \newcommand{\Mod}[1]{\ (\mathrm{mod}\ #1)} \)

quinta-feira, 2 de abril de 2026

Dispensado do $\LaTeX$?

Para escrever Matemática em computador, uma das melhores soluções, e que poupa imensa memória a processadores de texto, e eu eu tenho usado para escrever fómulas neste blogue é o $\LaTeX$. É o maior consumidor de tempo para quem escreve um blogue num smartphone.
É, quero dizer, era!
Parece que eu fiquei dispensado de escrever $\LaTeX$!
Ontem escrevi isto numa folha de papel. Tirei uma foto com um smartphone e pedi a uma "AI" para transcrever em $\LaTeX$ sem acrescentar improvisos dela.
É uma dedução da fórmula fundamental da trigonometria partindo das definições com séries de Maclaurin, nada de realmente especial.
\begin{eqnarray*} {\cos x}&{=}&{ \sum_{m=0}^{\infty} \frac{(-1)^m x^{2m}}{(2m)!} \quad [\text{Nesta fórmula convenciono que } 0^0=1]}\\ {\sen x}&{=}&{\sum_{m=0}^{\infty} \frac{(-1)^m x^{2m+1}}{(2m+1)!}} \end{eqnarray*} Derivando, temos $$(\sen x)' = \sum_{m=0}^{\infty} \frac{(-1)^m (2m+1) x^{2m}}{(2m+1)!} =\sum_{m=0}^{\infty} \frac{(-1)^m (2m+1) x^{2m}}{(2m+1)(2m)!} = \sum_{m=0}^{\infty} \frac{(-1)^m x^{2m}}{(2m)!} = \cos x$$ e $$(\cos x)' = \sum_{m=1}^{\infty} \frac{(-1)^m 2m x^{2m-1}}{(2m)!} = \sum_{m=1}^{\infty} \frac{(-1)^m 2m, x^{2m-1}}{(2m)(2m-1)!} = \sum_{m=1}^{\infty} \frac{(-1)^m x^{2m-1}}{(2m-1)!} = \sum_{k=0}^{\infty} \frac{(-1)^{k+1} x^{2k+1}}{(2k+1)!}$$ O último passo justifica-se com $$\boxed{(x^0)' = 1' = 0}$$ \begin{array}{|l|} \hline k = n - 1 \Rightarrow n=k+1\\ {\begin {array}{ccc} {n = k + 1}&{ \rightarrow}& {n=1\Rightarrow k = 0} \\ {}&{ }& { 2n - 1 = 2k + 1} \end{array}}\\ \hline \end{array} E então $$(\cos x)'= -\sum_{k=0}^{\infty} \frac{(-1)^k x^{2k+1}}{(2k+1)!} = -\sen x$$ Definindo $$F(x) = \cos^2 x + {\sen}^2 x$$ Temos, por derivação na variável $x$. $$F'(x) = 2 \cos x \cdot (-\sen x) + 2 \sen x \cdot \cos x = 0$$ $$\Rightarrow F(x) = \text{const}$$ como $$F(0) = \cos^2 0 + {\sen}^2 0 = 1$$ Pois $$\boxed{ \begin{aligned} \cos 0 &= \sum_{m=0}^{\infty} \frac{(-1)^m 0^{2m}}{(2m)!} = \underbrace{\frac{(-1)^0 0^0}{0!}}_{=1} + \sum_{m=1}^{\infty} 0 = 1 \\ \sen 0 &= \sum_{m=0}^{\infty} \frac{(-1)^m 0^{2m+1}}{(2m+1)!} = \sum_{m=0}^{\infty} 0 = 0 \end{aligned} }$$ então $\text{const}=1$.
Ou seja $$\cos^2 x + {\sen}^2 x=1$$ para todo o valor de $x$ (...)
Só tive de alterar algumas coisas específicas para o MathJax que uso neste blogue.
Significa que afinal posso usar a actual geração de inteligencia artificial para me poupar trabalho e aumentar a produtividade...
Para quem não gosta da convenção $0^0=1$ em séries de potências e polinómios, num texto futuro proponho uma alternativa.
Neste exemplo, testei o grok da xAI e o gemini da Google. Não notei diferenças significativas.

quarta-feira, 18 de março de 2026

Dia do $\pi$, 2026

 

No passado Sábado, quatorze de Março de dois mil e vinte e seis, celebrou-se mais um dia do $\pi$ (pi) e dia internacional da Matemática.

Nesse dia, no meu Pokemon Legends: Z-A, no meu canal de jogos mudei o nome de um dos meus Pikachus para $\pi\text{kachu}$ e a minha Gardevoir passou a ser Miss Maths.
Ainda renomeei a minha Mantine para miss Algebra.



Está gravado em vídeo. Foi o 314° vídeo que carreguei para o canal.
Eu sei que a estatística está desequilibrada: Tenho mais vídeos do que público. :)
Sobre Matemática e Videojogos, está prometido, que vou postar um dia.

PS:Aquele canal não é sobre Matemática, não quero enganar ninguém, mas serve-me de distracção, para aprender algumas coisas sobre edição de Vídeo e o Youtube actual.

sábado, 14 de fevereiro de 2026

O binómio de Newton, a partir da derivada da potência

 No post anterior deduzi a fórmula da "derivada do produto generalizado" e com ela a derivada da potência.

Isso permite-me deduzir uma fórmula para $(a+x)^n$ com $n \in \N_0$.

Ora, $f(x)=(a+x)^n$ pode ser escrito como um polinómio de grau $n$.
Vamos lá escrever \[ f\left( x \right) = a_0 + \sum\limits_{k = 1}^n {a_k x^k } \] Para alguns números $a_k, k\in\N$.
Torna-se importante determinar os valores de cada $a_k$
Ora, conseguem-se calcular os valores de $f(x), f'(x),f''(x),... f^{(n)}(x)$.
Portanto...Podemos ter forma de o fazer! Pois \[ f\left( 0 \right) = a_0 + \sum\limits_{k = 1}^n {a_k 0^k }=a_0 \] Ou seja $a_0=f(0)$ Para determinar $a_1$ pode-se recorrer à mesma ideia, tendo em conta que \[ f'\left( x \right) = a_1 + \sum\limits_{k = 2}^n {a_k kx^{k-1} } \] Portanto \[ f'\left( 0 \right) = a_1 + \sum\limits_{k = 2}^n {a_k k^{k-1} } =a_1 \] Ou seja $a_1=f'(0)$
Pode-se continuar. \[ f''\left( x \right) = 2a_2 + \sum\limits_{k = 3}^n {a_k k\left(k-1\right)x^{k-2} } \] De onde \[ f''\left( 0 \right) = 2a_2 + \sum\limits_{k = 3}^n {a_k k\left(k-1\right)0^{k-2} }=2a_2 \] Logo $$a_2=\frc{f''(0)}{2}$$ Apareceu aqui uma fracção. Se calhar é boa ideia calcular mais alguns termos. \[ f'''\left( x \right) = 3\times2a_3 + \sum\limits_{k = 4}^n {a_k k\left(k-1\right)\left(k-2\right)x^{k-3} } \] De onde \[ f'''\left( 0 \right) = 3\times2a_3 + \sum\limits_{k = 4}^n {a_k k\left(k-1\right)\left(k-2\right)0^{k-3}=3\times2a_3 } \] Logo $$a_3=\frc{f'''(0)}{3\times2}$$ Continuando, conseguimos provar que $$a_k=\frc{f^{(k)}(0)}{k!}$$ E portanto \[ f(x)=f(0)+\sum\limits_{k=1}^n{\frc{f^{(k)}(0)}{k!}x^k}\] Que é aquilo a que normalmente se chama expansão em polinómio de MacLaurin de grau $n$ da função $f$.
Portanto, basta-nos calcular $f(0),f'(0),f''(0),...,f^{(n)}(0)$. Comecemos pelo cálculo da derivada de ordem $k$ de $(a+x)^n$ \begin{eqnarray*} {f(x)}&{=}&{(a+x)^n}\\ {f'(x)}&{=}&{n(a+x)^{n-1}}\\ {f''(x)}&{=}&{n(n-1)(a+x)^{n-2}}\\ {f'''(x)}&{=}&{n(n-1)(n-2)(a+x)^{n-3}}\\ {}&{\vdots}&{}\\ {f^{(k)}(x)}&{=}&{n(n-1)(n-2)\cdots(n-k+1)(a+x)^{n-k}}\\ {}&{\vdots}&{}\\ {f^{(n)}(0)}&{=}&{n!} \end{eqnarray*} Portanto \begin{eqnarray*} {f(0)}&{=}&{a^n}\\ {f'(0)}&{=}&{n\times a^{n-1}}\\ {f''(0)}&{=}&{n(n-1)a^{n-2}}\\ {f'''(0)}&{=}&{n(n-1)(n-2)a^{n-3}}\\ {}&{\vdots}&{}\\ {f^{(k)}(0)}&{=}&{n(n-1)(n-2)\cdots(n-k+1)a^{n-k}}\\ {}&{=}&{n(n-1)(n-2)\cdots(n-k+1)\frc{\left(n-k\right)!}{\left(n-k\right)!}a^{n-k}}\\ {}&{=}&{\frc{n!}{\left(n-k\right)!}} \end{eqnarray*} Assim sendo \[ f(x)=f(0)+\sum\limits_{k=1}^n{\frc{f^{(k)}(0)}{k!}x^k}=a^n+\sum\limits_{k=1}^n{\frc{n!}{\left(n-k\right)!k!}a^{n-k}x^k}\] Para $x\neq0$ até se pode escrever \[(a+x)^n=\sum\limits_{k=0}^n{\frc{n!}{\left(n-k\right)!k!}a^{n-k}x^k}\] Se convencionarmos que nesta fórmula $0^0=1$ então \[(a+b)^n=\sum\limits_{k=0}^n{\frc{n!}{\left(n-k\right)!k!}a^{n-k}b^k}\] Que é uma conhecida fórmula para o binómio de Newton
Note-se que $(a+b)^n=(b+a)^n$ pois a adição é comutativa. Isso significa que \[ (a+b)^n=(b+a)^n=\sum\limits_{k=0}^n{\frc{n!}{\left(n-k\right)!k!}a^{n-k}b^k}=\sum\limits_{k=0}^n{\frc{n!}{\left(n-k\right)!k!}a^{k}b^{n-k}} \] E, por exemplo, torna bastante estúpido falar em "o" termo de ordem $j$ do desenvolvimento do binómio de Newton.
PS: Sobre $0^0$ : Z0nα Exact4: Zero elevado a zero.

segunda-feira, 26 de janeiro de 2026

Derivada do produto generalizado

 Recentemente recebi uma dúvida que se respondia com

\[\left(fgh\right)'=f'gh+fg'h+fgh'\]

A fórmula está no formulário de derivação que deixei no blog Z0nα Exact4, e até se deduz rapidamente, mesmo mentalmente.

 Sabendo que $(fg)'=f'g+fg'$ então

\begin{eqnarray*} {(fgh)'}&{=}&{(f(gh))'}\\ {}&{=}&{f'(gh)+f(gh)'}\\ {}&{=}&{f'gh+f(g'h+gh')}\\ {}&{=}&{f'gh+fg'h+fgh'} \end{eqnarray*} 

$\blacksquare$ 

 Uma forma de memorizar é lembrar-se "deriva-se uma de cada vez".
Mas a regra é válida para $n$ funções deriváveis, num corpo ($\R$ ou $\C$), com $n\in \N_1$ \[ \left( {f_1 f_2 ...f_n } \right)^\prime = f_1 ^\prime f_2 ...f_n + f_1 f_2 ^\prime ...f_n + \cdots + f_1 f_2 ...f_n ^\prime \] Ou, mais precisamente

\[ \left( {\prod\limits_{k = 1}^n {f_k } } \right)^\prime = \sum\limits_{i = 1}^n {\left( {\prod\limits_{k = 1}^n {D^{\delta _{ik} } f_k } } \right)} \] onde $\delta$ é o delta de Kronecker \[ \delta _{ij} = \left\{ {\begin{array}{c} {1,\text{se }i = j} \\ {0,\text{se }i \neq j} \end{array}} \right. \] e \[ D^\alpha f = \left\{ {\begin{array}{c} {f,\text{se }\alpha = 0} \\ {\frc{{d^\alpha f}}{{dx^\alpha }},\text{se }\alpha \neq 0} \\ \end{array}} \right. \]
A fórmula da derivada do produto generalizado prova-se recorrendo a indução matemática, deixo como exercício para o leitor interessado.
Pode ser usada para provar a conhecida fórmula: \[ \left( {x^n } \right)^\prime = nx^{n - 1} \] Prova: \[ \left( {x^n } \right)^\prime = \left( {\prod\limits_{k = 1}^n x } \right)^\prime = \sum\limits_{i = 1}^n {\left( {\prod\limits_{k = 1}^n {D^{\delta _{ik} } x} } \right)} = \sum\limits_{i = 1}^n {\left( {\prod\limits_{k = 1}^{n - 1} x } \right)} = \sum\limits_{i = 1}^n {x^{n - 1} } = nx^{n - 1} \]

$\blacksquare$ 

e pela regra de derivação da função composta: \[ \left( {f^n } \right)^\prime = nf^{n - 1} f' \] onde $f$ é função escalar,derivável, definida no tal corpo.

quinta-feira, 25 de dezembro de 2025

segunda-feira, 15 de dezembro de 2025

Spoiler...

 https://www.facebook.com/share/r/1Ev6bvsePo/

Este é um assunto que inincialmente eu tinha descartado, mas, um email do professor Filipe Oliveira convenceu-me a trazê-lo para aqui...
Vou mostrar a minha abordagem ao assunto. Desconheço se já foi abordada desta forma em algum lado... mas sem pressas. 

Vou escrever num bloco de notas e depois copiar para aqui, para evitar chatices.

sábado, 13 de dezembro de 2025

Python, bom senso e calculadoras. (II)

Como pedir a variável A, inteira ao utilizador?
Casio Basic:TI Basic:Python
"A="?->A:Int A->APrompt A:Int A->Aa=int(input("a="))

Python é aquela em que se usam mais caracteres/tokens...

Eu há vários anos que tenho alguns problemas em que as calculadoras (gráficas, programáveis) sejam utilizadas exclusivamente para o ensino.
Eu sempre gostei das Casio, mas...tenho estado a consultar informações sobre a nova Casio fx-CG100 e... :/ se removeram o Basic e deixaram o Python, esta máquina leva um cartão vermelho meu.
 Passo a preferir a Numworks (...) !
Penso que Matemática não deve ser o lugar para se ensinar a programar nem impor uma linguagem de programação, deve-se usar, não impor, porque linguagens informáticas mudam muito por vários motivos, são modas (metafóricas).
As calculadoras, por mim, deviam ter liberdade de escolha na linguagem, várias à escolha, incluindo linguagens fora de moda mas com potencial, e actualizadas
 (Basic sem sequer poder definir funções está muito longe de ser actual ou sequer recomendável, mas tem os seus prós ).
É uma opinião minha, não é lei nem imposição.
Eu consigo converter o meu (longo) arquivo pessoal de 30 anos de Casio Basic para Python... (Vou acabar a fazê-lo para a minha Numworks).
 Posso falar dele...
No caso das Casio, é desmoralizante porque perdem algo que sempre tiveram: Retrocompatibilidade!
Perdendo isso, vão ter de trabalhar para me reconquistar (Até compreendo, não faço parte do público alvo deles )...
Casio Basic tem uma coisa fantástica: usa as próprias funções e variáveis da calculadora.
Tal como o bash ou qualquer shellscript em Linux usa tudo o que o Linux tem disponível. É dificil fazer melhor do que isto.
MicroPython usa... MicroPython.
Há uma certa miopia muito pouco saudável em ver Python à frente.
O problema não é o Python. É esta miopia...
Python tem os seus problemas, tal como todas as linguagens.
 Por agora, não me interessa falar daqueles específicos do Python. O maior problema está em impor Python em calculadoras (de todas as marcas), com teclado em ordem alfabética, por causa do tal "pensamento computacional". (!!!)

 Pensamento computacional não é mau, já devia ser ensinado há 30 anos... mas isso é assunto para outro post.

PS:
  • O vídeo que partilhei tem alguns erros... quem usa a CG20 ou a CG50 consegue confirmar.
  • O professor Manuel Marques (da iniciativa Casio +) está a partilhar alguns vídeos de curta duração, e melhores que muitos cursos "oficiais", com uma breve introdução ao micropython das calculadoras. Ele está a fazer aquilo num emulador de CG50 mas aquilo é 'igual' em calculadoras de outras marcas que usem Python, e até no Python que se usa em computadores. Recomendo. Ele tem tido comentários desactivados, mas como eu tenho alguns canais youtube, compreendo e suporto a decisão
      https://youtube.com/@manuelmarques4761.
     Obviamente ele não vai dar um curso de Python ali. Vejam aquilo como um tutorial de introdução, e não como algo específico para calculadoras Casio.