로드하면BC 수학 도서관각각 사인, 코사인, 아크탄젠트인 삼각 함수 s()
및 c()
를 얻습니다. a()
왜 이 세 가지 기능이 있나요?
나는 수학적 관점에서 왜 이 세 가지인지 알고 있습니다. 왜냐하면 이 세 가지가 데카르트 좌표와 극좌표 사이를 직접 변환하는 데 필요한 것이기 때문입니다. 저는 수학 교사인데 안타깝게도 사인/코사인/아크탄젠트가 세트로 설정된 것을 본 곳은 여기뿐입니다.원어삼각함수, 그래서 누군가 나에게 말해주길 바랬어요왜좀 더 역사적인 맥락에서. 탄젠트보다 학생들에게 아크탄젠트를 소개하는 것이 신성모독이 아닌 이유에 대해 수학 교육자들과 이야기할 때 대부분 탄약이 필요합니다.
답변1
완전한 대답은 아니지만 아마도 다소 유용할 것입니다.
초기 적응에서 삼각함수 사용에 대한 추가 예제 목록입니다. 또한 UNIX 세계를 살펴보십시오.
알골
역사에 관한 흥미로운 논문:
ALGOL은 1950년대에 개발되었습니다. 1958년 유럽과 미국 컴퓨터 과학자들의 공동 회의에서국제 알고리즘 언어에 관한 예비 보고서일명 취리히 리포트. 그 당시 작업은 표기법과 컴퓨터용 알고리즘 작성 방법을 통합하는 것이었습니다.58' 보고서에서 발췌일부를 보여드리기 위해논의그 점에서:
“기능을 지정하는 식별자는 변수의 경우와 마찬가지로 취향에 따라 선택할 수 있습니다. 그러나 특정 식별자는 표준 분석 기능을 위해 예약되어야 합니다.
이 예약된 목록에는 다음이 포함되어야 합니다.
표현식 E 값의 모듈러스(절대값)에 대한 절대값(E) E 값의 부호에 대한 부호(E) E 값보다 크지 않은 가장 큰 정수에 대한 전체(E) E 값의 제곱근에 대한 sqrt (E) E 값의 사인에 대한 sin(E)일반적인 수학적 표기법에 따라 등등.”
ALGOL 58에서 ALGOL 60을 얻었는데, 여기서 작업은 또한 기본으로 무엇을 가져야 하는지에 대해 더 구체적이라고 말할 수 있습니다(삼각 함수와 관련하여:
간단히 말해서 sin
, cos
및 arctan
표준 기능을 권장합니다.
알고
디지털 시대에 수학을 수행하는 설치물을 살펴보면 초기 기계 중 하나는 Bendix G-15 컴퓨터(1950년대 후반)였습니다. ALGOL 58의 영향을 받은 ALGO를 사용합니다. Algo 시스템의 일부가 아닌 라이브러리가 있습니다. 라이브러리의 루틴은 다음과 같습니다. SIN
, COS
, ARCTN
:
- ALGO 매뉴얼–작동 지침
- 프로그래머 참조 매뉴얼(G15D - 참고 사항: 비트, 바이트, 단어가 그룹화되는 방법 및 사용 방법과 같은 다양한 측면을 설명하는 흥미로운 섹션이 있습니다.자기 드럼RAM으로)
- 프로그램 및 서브루틴예를 들어 계산
arcsine
및arccosine
사용 루틴이 있습니다arctan
. (루틴 카드의 날짜는 1957년이므로 예비 실험의 일부인지 확실하지 않습니다:?)
이러한 루틴을 사용하려면 코드 단어를 사용하여 로드했습니다.
SIN 0101000
COS 0168000
ARCTN 0164000
예를 들어 다음과 같이 로드됩니다.
LIBRAry SIN{0101000}
명시된 바와 같이
"머신 언어 루틴이 라이브러리에 추가될 수 있습니다.", 하지만 이 세 가지가 라이브러리에 포함된 것들이었습니다. (또한 16진수에 60진수를 사용합니다. 하지만 여기서는 요점이 아니지만 재미있습니다.)
유닉스
버전 1UNIX 포함bas
, 기본 방언 (Thompson 소유). 여기 에는 arg
, exp
, log
, sin
, cos
, atn
, rnd
및 의 내장 함수가 포함되어 있습니다 .expr
int
버전 2또한 , , , (사인 / 코사인) bas
등의 서브루틴 목록도 있습니다 . 에도 번들로 포함되어 있었습니다 .atan
hypot
log
sin
dc
도 있는데 bc
그건 B 프로그램을 컴파일하기 위한 것이었습니다.
또한 언급할 가치가 있는 것: ttt
(틱택토), bj
(블랙잭), moo
(MOO 게임).
버전 5. 등 sin/cos
의 소스 코드를 보고 싶다면 atan
예를 들어 다음을 수행할 수 있습니다.이 코드를 봐:
- 서브루틴:
usr/source/s3/{atan.s,sin.s}
- 기본 내장:
usr/source/s1/bas4.s
주의!예를 들어 1972-stuff(s2)의 아카이브에는절대 경로!
V7에서 발견된 mathlib는 tan
다음을 포함하도록 확장되었습니다.
Fortran77도 포함되어 있습니다.
기원전
BC는 1975년에 처음 등장했으며, 문제에서 언급한 대로 이 세 가지 기본 방법도 포함합니다. 로버트 모리스(Robert Morris)와 로린다 체리(Lorinda Cherry)가 개발했습니다. /usr/doc/bc/bc
V6 릴리스(1975)에서 :
삼.명령 수준에서 입력하여 얻을 수 있는 수학 함수 라이브러리가 있습니다.
bc –l
이 명령은 작성 당시 사인(`s'라는 이름), 코사인(`c'), 아크탄젠트(`a'), 자연 로그(`l'), 지수로 구성된 라이브러리 함수 세트를 로드합니다. (`e') 및 정수 차수의 베셀 함수(`j(n,x)'). 시간이 지나면 더 많은 기능이 추가될 것입니다. 라이브러리는 척도를 20으로 설정합니다. 원하는 경우 다른 값으로 재설정할 수 있습니다. 이러한 수학 라이브러리 루틴의 설계는 다른 곳에서 논의됩니다
[4]
.
[4]
로버트 모리스,참조 표준 수학 서브루틴 라이브러리
그 종이그런데 찾기가 꽤 어려울 것 같습니다.
따라서 목록을 보면 기본 삼각 함수가 V1 초기에 시스템의 일부였던 것처럼 보입니다. bc
로드 루틴에서 이를 활용했습니다.
Unix Heritage Wiki의 참고 사항(참조)
Unix와의 생활은 다음과 같이 말합니다. dc를 작성하고 Lorinda Cherry와 함께하세요.
Research Unix 독자는 다음과 같이 말합니다. Bob (Robert) Morris는 수치 분석이든 정수론이든 수학이 관련된 모든 곳에서 개입했습니다. Bob은 독특하고 독창적인 유틸리티를 발명했으며 typo
- dc
( bc
Lorinda Cherry와 함께)대부분의 수학 라이브러리를 작성했습니다., 소수와 인수를 작성했습니다(Thompson과 함께). 그의 일련의 암호 프로그램은 암호학에 대한 센터의 지속적인 관심을 불러일으켰습니다.
Life with Unix에서는 Writer's Workbench(딕션, 스타일 등), be 및 dc의 작가를 말합니다. eqn
로 썼습니다 bwk
.
Research Unix Reader에서는 다음과 같이 말합니다. Lorinda L. Cherry는 dc
- bc
및 에서 Morris와 협력했습니다 typo
. 항상 텍스트 처리에 매료된 Lorinda는 eqn
유명한 Writer's Workbench®, ww6(v8)에서 활용된 대략적인 구문 분석기인 부분을 시작하고 발명했습니다.
엘리엇 803
물론 더 많은 기능을 구현하는 시스템이 없거나 이러한 기능을 핵심 기능으로 갖고 있지 않은 경우는 없습니다. 하지만 그것은 역사입니다... :P
arccos
, arcsin
, tan
- 이는sin
, cos
, 에 추가arctan
.
포트란
77 1977년:
sin
,cos
,tan
,asin
,acos
,atan
, ...II 1958:
SIN
,COS
,ATAN
,TANH
와 같이라이브러리 테이프 기능.
기초적인
1964년생 베이직 은 SIN
,,COS
TAN
그리고 ATN
.
댓글에 따르면@roaima.
가정용 컴퓨터(1975년경 이후)에서 사용되는 대부분의 BASIC 방언에는 SIN, COS, TAN, ATN(arctan)도 있었습니다. 다른 반전은 없습니다. 이러한 모든 삼각 함수는 다소 작은 조회 테이블을 통해 생성되었기 때문에 SIN/COS를 사용할 때 오류 범위를 최소화하기 위해 TAN이 포함되었다고 가정합니다.
아폴로 11호
그만큼APOLLO 11 사령부 및 달 모듈의 소스 코드적어도 다음에 대한 서브루틴이 있음을 보여줍니다.ARCTAN
당신은 그들이 서브루틴 없이 달에 착륙했다고 주장할 수 있습니다 TAN
.)
코르딕
CORDIC(볼더 알고리즘)삼각 구현과 관련하여 주목할 만한 언급입니다.
통계
흥미로운 추가 사항@스티븐 키트, 댓글 중에서:
또 다른 흥미로운 논문은컴퓨터 센터 라이브러리의 수학적 서브루틴 사용에 대한 통계, 1973년에 출판되었습니다. 이는 1973년 초 Purdue에서 sin / cos / atan이 가장 일반적으로 사용되는 삼각 함수였으며 tan / asin / acos / tanh보다 훨씬 앞서 있음을 나타냅니다.:
sin / cos 39,462
atan 27,248
tan 4,707
asin / acos 4,139
tanh 2,546
잠수
아님심해 잠수, 그러나 주제에 대해 적어도 조금 더 자세히 설명합니다. ALGOL의 논문이 아마도 가장 주목할만한 논문일 것입니다.
BC의 경우는 그랬다.직접 견적을 찾지 않고옵션으로 라이브러리에서 로드하여 이러한 특정 기본 기능을 포함하기로 Morris/Cherry가 결정했습니다 -l
.
한마디로 안 하는 게 아니다.원하다예를 들어 tan
, 기록에는 리소스 및 사용 측면에서 기본으로 구현하기 위해 어떤 삼각 함수가 선택되었는지 표시됩니다.