Se você carregar obiblioteca de matemática BCvocê obtém as funções trigonométricas s()
e c()
que a()
são seno, cosseno e arco tangente, respectivamente. Por que essas três funções?
Eu sei por que são esses três do ponto de vista matemático: é porque esses são os três que você precisa para traduzir diretamente entre coordenadas cartesianas e polares. Sou professor de matemática e infelizmente este é o único lugar onde vi seno/cosseno/arcotangente estabelecido como o conjunto deprimitivofunções trigonométricas, então eu esperava que alguém pudesse me dizerpor quenum contexto mais histórico. Não sei, preciso principalmente de munição ao conversar com educadores de matemática sobre por que não é uma ideia blasfema apresentar o arco tangente aos alunos antes da tangente.
Responder1
Não é uma resposta completa, mas talvez seja um tanto útil.
Mais uma lista de exemplos de uso de funções trigonométricas nas primeiras adaptações. Também uma olhada no mundo UNIX.
ALGOL
Artigo interessante sobre a história:
ALGOL foi desenvolvido na década de 1950. Numa reunião conjunta entre cientistas da computação europeus e americanos em 1958 - onde também se chegouRelatório Preliminar sobre a Linguagem Algorítmica Internacionaltambém conhecido como Relatório de Zurique. Naquela época o trabalho era unificar a notação e como se escrevem algoritmos para computadores.Como um trecho do relatório 58'para mostrar alguns dosdiscussãoa esse respeito:
“Os identificadores que designam funções, assim como no caso das variáveis, podem ser escolhidos de acordo com o gosto. Contudo, certos identificadores devem ser reservados para as funções padrão de análise.
Esta lista reservada deve conter:
abs (E) para o módulo (valor absoluto) do valor da expressão E sinal (E) para o sinal do valor de E inteiro (E) para o maior inteiro não maior que o valor de E sqrt (E) para a raiz quadrada do valor de E sen (E) para o seno do valor de Ee assim por diante, de acordo com a notação matemática comum.”
Do ALGOL 58 obteve-se o ALGOL 60 onde, talvez, pode-se dizer que o trabalho também é mais concreto sobre o que ter como básico (no que diz respeito às funções trigonométricas:
Relatório sobre a linguagem algorítmica ALGOL 60
Em suma , recomenda isso sin
e como funções padrão.cos
arctan
ALGO
Se olharmos para as instalações que realizam matemática na era digital, uma das primeiras máquinas foi o computador Bendix G-15 (final da década de 1950). Utiliza ALGO que foi influenciado pelo ALGOL 58. Possui uma biblioteca que não faz parte do sistema Algo. As rotinas na biblioteca são as seguintes, SIN
, COS
, ARCTN
:
- Manual do ALGO–Instruções de operação
- Manual de referência para programadores(G15D - Nota lateral: tem algumas seções interessantes sobre a explicação de vários aspectos, por exemplo, como os bits, bytes, palavras são agrupados e o uso dotambor magnéticocomo RAM)
- Programas e sub-rotinasPossui por exemplo rotinas para cálculo
arcsine
earccosine
uso dearctan
. (Os cartões de rotina são datados de 1957, então não tenho certeza se isso fez parte de algum experimento preliminar:?)
Para usar essas rotinas foi carregado usando palavras de código:
SIN 0101000
COS 0168000
ARCTN 0164000
Carregado como por exemplo:
LIBRAry SIN{0101000}
Como afirma
"Rotinas de linguagem de máquina podem ser adicionadas à biblioteca.", mas esses três foram os incluídos na biblioteca. (Ele também usa sexadecimal para hexadecimal - mas isso não é importante aqui, mas é divertido.)
UNIX
Versão 1do UNIX incluídobas
, um dialeto básico (de propriedade de Thompson). Incluía as seguintes funções integradas: arg
, exp
, log
, sin
, cos
, atn
, rnd
, expr
e int
.
Versão 2também se tinha bas
e ademais se encontra uma lista de sub-rotinas onde lista entre outras: atan
, hypot
, log
, sin
(seno/cosseno). Ele também foi empacotado com dc
.
Existe também bc
, mas foi para compilar o programa B.
Também vale a pena mencionar: ttt
(tick-tack-toe), bj
(black-jack), moo
(o jogo MOO).
Versão 5. Se alguém quiser ver o código-fonte de etc. sin/cos
, atan
pode-se, por exemploolha esse código:
- Sub-rotinas:
usr/source/s3/{atan.s,sin.s}
- Integrações BÁSICAS:
usr/source/s1/bas4.s
Atenção!Arquivos, por exemplo, coisas de 1972 (s2) têmcaminhos absolutos!
O mathlib encontrado no V7 foi expandido para incluir tan
etc.
Também inclui Fortran77.
AC
BC viu a luz do dia em 1975 e, conforme observado na pergunta, também inclui esses três métodos básicos. Desenvolvido por Robert Morris e Lorinda Cherry. Na /usr/doc/bc/bc
versão V6 (1975):
3.Existe uma biblioteca de funções matemáticas que podem ser obtidas digitando no nível de comando
bc –l
Este comando irá carregar um conjunto de funções de biblioteca que, no momento da escrita, consiste em seno (denominado `s'), cosseno (`c'), arco tangente (`a'), logaritmo natural (`l'), exponencial (`e') e funções de Bessel de ordem inteira (`j(n,x)'). Sem dúvida, mais funções serão adicionadas com o tempo. A biblioteca define a escala para 20. Você pode redefini-la para outro valor, se desejar. O projeto dessas rotinas de biblioteca matemática é discutido em outro lugar
[4]
.
[4]
Roberto Morris,Uma biblioteca de sub-rotinas matemáticas padrão de referência,
Esse papelno entanto, parece ser bastante difícil de encontrar.
Portanto, pelas listagens, parece que as funções trigonométricas básicas faziam parte do sistema já na V1. bc
utilizou-os na rotina de carregamento.
Notas do Unix Heritage Wiki(cc)
A vida com Unix diz: Escrevi dc e fiquei com Lorinda Cherry.
Um leitor de pesquisa Unix diz: Bob (Robert) Morris interveio onde quer que a matemática estivesse envolvida, fosse análise numérica ou teoria dos números. Bob inventou os utilitários distintamente originais typo
e dc
- bc
(com Lorinda Cherry),escreveu a maior parte da biblioteca de matemática, e escreveu números primos e fator (com Thompson). Sua série de programas de criptografia fomentou o interesse contínuo do Centro pela criptografia.
Life with Unix diz: Writer of the Writer's Workbench (dicção, estilo, etc.), be e dc. Escreveu eqn
com bwk
.
Um leitor de pesquisa Unix diz: Lorinda L. Cherry colaborou com Morris em dc
- bc
e typo
. Sempre fascinada pelo processamento de texto, Lorinda iniciou eqn
e inventou o parts, um analisador aproximado que foi explorado no célebre Writer's Workbench®, ww6(v8).
Elliott 803
É claro que não há então que não existam sistemas que implementem mais funções, ou talvez não as tenham como funções centrais. Mas isso é história... :P
arccos
, arcsin
, tan
- que sãoacréscimos a sin
, cos
,arctan
.
FORTRAN
77 1977:
sin
,cos
,tan
,asin
,acos
,atan
, ...II 1958:
SIN
,COS
,ATAN
,TANH
comoFunções de fita de biblioteca.
BÁSICO
BASIC nascido em 1964 tem SIN
, COS
,TAN
e ATN
.
Conforme comentário de@roaima.
A maioria dos dialetos do BASIC usados em computadores domésticos (por volta de 1975 em diante) também tinham SIN, COS, TAN, ATN (arctan). Nenhum outro inverso. Presumo que TAN foi incluído para minimizar o limite de erro ao usar SIN/COS porque todas essas funções trigonométricas foram geradas por meio de uma tabela de pesquisa bastante pequena.
APOLO 11
Ocódigo-fonte para o módulo de comando e lunar APOLLO 11mostrar que eles tinham pelo menos uma sub-rotina paraARCTAN
Aproximação de
TAN(-20)
porSIN(-20)
(graus)
Você pode argumentar que eles conseguiram pousar na lua sem uma sub-rotina TAN
;)
CORDIC
CORDIC (algoritmo de Volder)é uma menção digna de nota quando se trata de implementação trigonométrica.
Estatisticas
Uma adição interessante de@Stephen Kitt, a partir de comentários:
Outro artigo interessante éEstatísticas sobre o uso de sub-rotinas matemáticas de uma biblioteca de centro de informática, publicado em 1973, o que indica que, em Purdue no início de 1973, sin / cos / atan eram as funções trigonométricas mais comumente usadas, muito à frente de tan / asin / acos / tanh:
sin / cos 39,462
atan 27,248
tan 4,707
asin / acos 4,139
tanh 2,546
Mergulho
Não é ummergulho profundo, mas pelo menos um pouco mais sobre o assunto. O artigo da ALGOL é talvez o mais acertado.
Quanto ao BC foisem encontrar uma cotação diretauma decisão de Morris/Cherry de incluir essas funções básicas específicas carregando da biblioteca pela -l
opção.
Em suma, não é que não sequererpor exemplo tan
, mas a história mostra quais funções trigonométricas foram escolhidas para implementação como base - em função dos recursos e do uso.