프로그래머블 계산기

Programmable calculator

프로그램 가능한 계산기는 저장된 프로그램의 제어 하에 일련의 작업을 자동으로 수행할 수 있는 계산기입니다.대부분은 튜링 완전하고 이론적으로는 범용 컴퓨터입니다.단, 사용자 인터페이스와 프로그래밍 환경은 범용적인 용도가 아닌 소규모 수치 계산을 편리하게 수행할 수 있도록 특별히 조정되어 있습니다.

IBM CPC와 같은 최초의 프로그래밍 가능한 계산기는 프로그램 저장을 위해 천공 카드 또는 기타 미디어를 사용했습니다.휴대용 전자 계산기는 프로그램을 마그네틱 스트립, 이동식 읽기 전용 메모리 카트리지, 플래시 메모리 또는 배터리 백업식 읽기/쓰기 메모리에 저장합니다.

1990년대 초반부터 이러한 유연한 핸드헬드 장치의 대부분은 그래프 계산기 클래스에 속했습니다.그러나 저렴한 도트 매트릭스 LCD가 대량 생산되기 전에는 프로그램 가능한 계산기가 보통 한 줄의 숫자 또는 영숫자 디스플레이를 특징으로 했습니다.프로그램 가능한 계산기의 4대 제조업체는 Casio, Hewlett-Packard, Sharp Texas Instruments입니다.이들 모두 과거에 포켓 컴퓨터, 특히 Casio와 Sharp를 만든 적이 있다.

이 타입의 계산기의 대부분은 흑백 LCD이며, 4색(빨간색 또는 주황색, 녹색, 파랑, 검정색)도 있습니다.또한 2022년 1월 현재 라인 상단의 일부 기기의 경우 16비트 또는 32비트 그래픽스를 표시하는 모니터와 비슷합니다.그래프 기능에 사용되기 때문에, 이러한 기계의 화면은 픽셀 주소 지정이러한 기계 화면은 픽셀 주소 지정이 가능합니다.터치스크린, 버저 또는 기타 사운드 생성기, 내장 클럭, 모뎀 또는 IrDA 트랜시버, 프린터 등의 주변기기용 포트, 다양한 종류의 메모리 카드용 포트를 갖추고 있습니다.

노트북, 스마트폰, 태블릿개인용 컴퓨터의 폭넓은 가용성과 저비용은 대부분의 애플리케이션에서 프로그램 가능한 계산기를 점차 사용하지 않게 만들었습니다.하지만 중등교육에서는 여전히 인기가 있다.많은 수학 코스에서 사용하기 위해서는 특정 계산기 모델이 종종 필요합니다.교육에서 이들의 지속적인 사용은 일반적으로 사용 가능한 엄격히 통제 가능한 기능에 의해 정당화된다.예를 들어 계산기는 일반적으로 인터넷에 직접 액세스할 수 없으므로 시험에서 불법적인 지원을 위해 사용할 수 없습니다.나머지 프로그램 가능한 계산기 제조업체들은 고등학교 수학에서 이러한 계산기를 계속 사용하도록 장려하기 위해 많은 노력을 기울이고 있습니다.[1]

이전 디바이스

계산기 프로그래밍

프로그램 가능한 계산기를 사용하면 사용자가 계산기에 프로그램을 작성하여 저장하여 어려운 문제를 해결하거나 정교한 절차를 자동화할 수 있습니다.

프로그래밍 기능은 그래픽 계산기에서 가장 일반적으로(배타적이지는 않지만) 나타납니다. 화면이 커지면 소스 코드의 여러 줄을 동시에 볼 수 있기 때문입니다(즉, 다음/이전 표시 행으로 스크롤하지 않아도 됩니다).원래 계산기 프로그래밍은 계산기 고유의 명령어로 실행되어야 했지만 계산기 해커들이 계산기의 메인 인터페이스를 우회하여 어셈블리 언어 프로그램을 작성하는 방법을 발견함에 따라 계산기 회사(특히 텍사스 인스트루먼트)는 계산기 하드웨어에서 네이티브 모드 프로그래밍을 지원하기 시작했습니다.이러한 코드가 작동할 수 있도록 하기 위해 사용된 후크를 공개하고 나중에 사용자 인터페이스에서 직접 이러한 프로그램을 처리하기 위해 설비에 명시적으로 구축합니다.

계산기용으로 작성된 많은 프로그램들은 인터넷에서 찾을 수 있다.사용자는 전용 링크 케이블, 적외선 무선 링크 또는 메모리 카드를 사용하여 프로그램을 개인용 컴퓨터에 다운로드한 후 계산기에 업로드할 수 있습니다.이러한 프로그램은 PC의 에뮬레이터를 통해서도 실행할 수 있습니다.

이러한 머신의 프로그래밍은, 머신, PC측에서 실시해, 소스 코드로 업 로드하거나, 플래시나 일부의 C/C++ 실장과 같이, PC측에서 컴파일 해 업 로드할 수 있습니다.TI, HP, Casio 및 Sharp 계산기에서 사용할 수 있는 PC 링크 소프트웨어에는 tigcc, hpgcc 등의 컴퓨터 측 언어 패키지와 더불어 프로그램 에디터가 포함되어 있습니다.또한 SDK, 에뮬레이터 및 컴퓨터 측에서의 사용을 위한 기타 도구와 제조원 및 [2]TI+ 에디터와 같은 서드파티제의 도구도 있습니다.프로그램이나 데이터 등은 PC 접속에 사용되는 계산기의 같은 포트를 통해 유사한 머신 간에 교환할 수도 있습니다.비원어민 언어 구현을 사용하는 온보드 프로그래밍 도구에는 fx 시리즈 Casio 계산기용 On-Board C 컴파일러와 TI-83 BBC Basic 포트가 있습니다.

위의 가능성 중 하나는 머신을 프로그래밍하기 위한 추가 언어용 인터프리터, 컴파일러 및 번역 프로그램을 작성하는 것입니다.BBC Basic은 이미 TI-83-84 시리즈로 이식되어 있으며 Fortran, awk, Pascal, Rexx, Perl, Common Lisp, Python, Tcl, tcl 등 많은 사람들이 논의하는 온보드 언어 및 프로그래밍 툴로 구성되어 있습니다., 및 다양한 Unix 쉘.

일반적으로 이용 가능한 계산기 프로그램에는 수학/과학 관련 문제 해결사부터 비디오 게임, 이른바 데모까지 모든 것이 포함됩니다.이 코드의 대부분은 사용자가 만든 프리웨어 또는 오픈 소스이지만, 특히 교육 및 과학/엔지니어링 시장에서 상용 소프트웨어도 사용할 수 있습니다.프로그램 가능한 계산기에는 정보, 문서, 메시지 보드, 다운로드 도구 및 기타 유용한 정보가 포함된 주요 웹사이트가 있습니다. 각 제조사의 계산기용 주요 사이트는 타사(HPCalc.org, HPCalc.org, CasioCalc.or 등)에 의해 운영됩니다.g, (qv.)는 다른 3개의 사이트와 유사한 사이트를 제작할 의향이 있는 조직에 의해 최근에 SharpCalc.org 도메인을 구입했으며 샤프 포켓 컴퓨터에 대한 정보를 제공합니다.이 회사들 자체도 TIEducation.com과 같은 사이트와 함께 [3]이 기계들에 대한 정보와 도구를 가지고 있다.

프로그래밍 언어

키 입력 프로그래밍

초기에 대부분의 프로그램 가능한 계산기는 매우 단순한 프로그래밍 언어를 사용했으며, 종종 실제 키 스트로크를 기록하거나 키 스트로크가 병합된 경우 바이트 코드를 기반으로 했습니다.이러한 프로그래밍을 지원하는 계산기는 조건부 문장과 메모리의 간접 주소 지정을 모두 지원한다면 튜링 완전했다.튜링 완전 계산기의 주목할 만한 예는 Casio FX-602P 시리즈, HP-41TI-59이다.키 스트로크 프로그래밍은 HP 35s 및 HP-12C와 같은 미드레인지 계산기에서도 사용됩니다.

기본의

BASIC은 일반적으로 데스크톱 컴퓨터 및 포켓 컴퓨터에 적합한 광범위한 프로그래밍 언어입니다.현재 하이 레인지 계산기에서 사용되는 가장 일반적인 언어는 Casio(Casio BASIC 또는 Basic Like) TI(TI-BASIC)에서 사용되는 자체 BASIC 스타일의 방언입니다.이러한 BASIC 방언은 BASIC과 키 스트로크 프로그래밍의 장점을 결합하여 계산기 사용에 최적화되어 있습니다.이들은 메인스트림 [4][5][6]BASIC과 공통점이 거의 없습니다.Ti-89 이후의 버전은 표준 Basic의 문자열 및 문자 조작 함수 및 문장의 전체 세트를 포함하여 보다 완전한 기능을 갖추고 있습니다.

이제 BBC Basic의 완전한 포트를 TI-83 계산기 서브패밀리에 사용할 수 있습니다.케이블 또는 IrDA 접속을 통해 컴퓨터에 설치됩니다.

RPL

RPLHewlett-Packard가 하이레인지 디바이스에서 사용하는 특수한 Fourth와 같은 프로그래밍 언어입니다.RPL 계산기가 장착된 최초의 장치는 [7]1987년에 출시된 HP-28C였습니다.

PPL이라는 언어는 HP Prime 계산기와 함께 도입되었으며 Pascal과 매우 유사합니다.

어셈블리

TI 89 및 관련 계산기에 통합된 어셈블러가 2014년에 발표 및 출시되었습니다.

기계어 프로그래밍은 초기 계산기 모델에서는 권장되지 않았습니다.그러나 전용 플랫폼 해커들은 일부 모델에서 내장 인터프리터를 바이패스하고 어셈블리 언어로 직접 계산기를 프로그래밍하는 방법을 발견했습니다.이 기술은 모드 전환의 프로그래밍 결함으로 인해 TI-85에서 처음 발견되어 사용되었습니다.열쇠.[citation needed] TI-83이 나왔을 때, TI와 HP는 홈브루 프로그래머의 서포트 요구에 대응할 필요성을 깨닫고, 장래의 개발자에게 어셈블리 언어 라이브러리와 문서를 제공하기 시작했습니다.소프트웨어, 특히 게임은 Game Boy와 거의 같은 속도와 그래픽을 제공할 수 있게 되었습니다.특히 TI는 나중에 TI-83 Plus나 TI-89와 같은 미래의 계산기용 패키지 어플리케이션을 지원하기 위해 어셈블리 프로그래밍을 공식화할 것입니다.HP는 HP-50g의 어셈블러 프로그래밍을 온보드 방식으로 지원합니다.최고급 계산기 모델입니다.

온보드 어셈블리와 같은 프로그래밍을 가능하게 하는 프로그램 및 툴킷(계산기의 실제 프로세서가 Zilog 또는 Motorola 칩과 같은 완전히 다른 경우에도 종종 Intel 80x86)은 적어도 2개의 구현으로 베타 단계에 있습니다.원어민 베이직 바리안트는 사용자 정의 기능 및 절차에 의해 강화될 수 있습니다.LY 및 C 모듈은 컴퓨터에서 개발되어 계산기에 업로드됩니다.이것에 의해, 베이직 타입의 것과 같이, 「의사 어셈블리」프로그램의 기입과 실행이 가능하게 됩니다.Rexx, awk, Perl 및 일부 Unix 쉘과 같은 다른 언어도 이러한 유형의 많은 계산기에 이러한 방식으로 구현될 수 있습니다.

기타 언어

GCC 개발 스위트는 Casio, HP 및 TI 계산기의 여러 모델에서 사용할 수 있습니다. 즉, C, C++, Fortran 77 및 인라인 어셈블리 언어를 사용하여 컴퓨터 측에서 프로그램을 개발한 후 계산기에 업로드할 수 있습니다.

서드파티에 의해 개발되고 있는 프로젝트에는 온보드 및/또는 컴퓨터 측 변환기, 인터프리터, 코드 생성기, 매크로 어셈블러 또는 Fortran, 다른 베이직 바리안트, awk, C, Cobol, Rexx, Perl, Python, Tcl, Pascal, Delphi, Win/2 등의 운영체제 셸이 포함됩니다.

많은 TI, Casio, Sharp 및 HP 모델에는 기본 구성의 일부이거나 선택적으로 추가할 수 있는 Lua 인터프리터가 있습니다.

일부 계산기에서는 Mini-Fortran이라고 불리는 Fortran 77의 서브셋을 실행합니다.컴파일러는 계산기에 있기 때문에 PC에 연결하여 프로그램을 컴퓨터에 넣을 필요가 없습니다.

Casio fx-9860 시리즈용 OnCalc C 컴파일러를 사용할 수 있게 되었습니다.Sharp PC G850V 포켓 컴퓨터에는 어셈블러와 기본 인터프리터 외에 온보드 C 컴파일러가 있습니다.

영속 메모리

프로그램 가능한 계산기의 중요한 기능 중 하나는 어떤 형태의 영구 메모리를 사용할 수 있다는 것입니다.영구 메모리가 없으면 전원이 꺼질 때마다 프로그램을 다시 입력해야 하므로 장치가 번거로워집니다.영속 메모리는 내장 메모리 또는 다른 디바이스 상에 배치할 수 있습니다.일부 프로그래밍 가능한 계산기에서는 두 가지 방식을 모두 사용합니다.

마그네틱 카드 리더 / 라이터

마그네틱 카드 리더는 사용 [8]가능한 최초의 고정 메모리 옵션 중 하나였습니다.입력된 프로그램은 마그네틱 스트립에 저장됩니다.그것들은 운반하기 쉬웠고, 리더/라이터는 크기가 작았다.그러나 자기 스트립뿐만 아니라 리더/라이터도 꽤 비쌌다.마지막으로 마그네틱 스트립을 사용한 장치는 HP-41CTI-59였습니다.

연속 메모리

계산기를 꺼도 연속 메모리의 내용이 손실되지 않습니다.예를 들어 연속 메모리를 사용하면 입력된 프로그램을 [9]잃지 않고 배터리를 교체할 수 있습니다.

카세트 테이프

콤팩트 카세트는 마그네틱 카드 대신 간단하고 저렴한 대안을 제공했습니다.보통 Casio FA-1과 같은 인터페이스 모듈을 사용하여 계산기를 일반 카세트 레코더에 연결했으며 디지털 데이터는 주파수 시프트[10]오디오 신호로 인코딩되었습니다.

샤프휴렛패커드는 계산기에 직접 연결되는 전용 마이크로 또는 미니 카세트 레코더도 판매했다.이러한 셋업은 보다 실용적이고 신뢰할 수 있는 동시에 비용도 더 많이 듭니다.

반연속 메모리

메모리 수요가 증가함에 따라 진정한 연속 메모리를 만드는 것이 더욱 어려워졌고 개발자들은 대안을 모색했습니다.반연속 메모리의 경우 특정 배터리 교환 규칙이 준수되는 경우에만 컨텐츠가 보존되었습니다.가장 일반적인 규칙은 다음과 같습니다.

  1. 특수 백업 배터리를 사용하면 메인 배터리를 교체하는 동안 메모리가 손실되지 않습니다.
  2. 배터리 분리 및 교체는 비교적 짧은 시간에 완료되어야 했습니다.예를 들어 HP 35의 경우 [11]분리 후 2분 이내에 배터리 교체를 완료해야 했습니다.
  3. 적어도 2개의 메인 배터리가 사용되었으며 한 번에 1개만 교환할 수 있었습니다.

PC 접속

프로그램과 데이터는 개인용 컴퓨터로 전송되어 저장된다.전송은 RS-232, IrDAUSB 연결 방법(연대순서)에 따라 수행됩니다.이 방법은 매우 비용 효율적이며 일반적으로 카세트 인터페이스보다 빠릅니다.이러한 장점은 개인용 컴퓨터의 필요성에 의해 상쇄됩니다.PC 접속의 초기 예로는 Casio FX-603PCasio FA-6 인터페이스가 있습니다.이 설정에서는 프로그램과 데이터를 표준 텍스트 편집기로 저장하고 편집할 수 있도록 일반 텍스트로 전송했습니다.

플래시 메모리

프로그램 가능한 계산기 및 포켓 컴퓨터

1980년대와 1990년대 초에 걸쳐, 프로그램 가능한 계산기는 포켓 컴퓨터와 경쟁했으며, 고급 계산기는 많은 유사점을 공유했습니다.예를 들어, 두 장치 모두 구조화되지 않은 BASIC에서 프로그래밍이 가능하며, 예외적으로 QWERTY 키보드가 탑재되어 있습니다.그러나 몇 가지 차이점도 있었다.

  • BASIC 프로그램 가능한 계산기는 종종 추가적인 "계산기 같은" 키보드와 시스템이 과학적인 계산기처럼 동작하는 특수 계산기 모드를 특징으로 했습니다.
  • 포켓 컴퓨터는 종종 추가적인 프로그래밍 언어를 옵션으로 제공했습니다.예를 들어 Casio PB-2000ANSI-C, BASIC, Assembler[12]Lisp를 제공합니다.

기업은 제품 포트폴리오에 두 가지 디바이스 유형을 모두 포함시키는 경우가 많았습니다.예를 들어, Casio는 일부 BASIC 프로그램 가능한 계산기를 "fx-" 계산기 시리즈의[13] 일부로 판매하고 포켓 컴퓨터를 전용 "pb-" 시리즈로 판매한 반면, Sharp는 모든 BASIC 프로그램 가능한 장치를 포켓 컴퓨터로 판매했습니다.

관련 도구

일부 프로그램 가능한 계산기에는 데이터, 프로그램 및 소프트웨어를 교환하기 위해 PC에 연결하는 방법이 하나 이상 있습니다.이러한 방법에는 IrDA, 기타 무선, 시리얼 포트(USB 또는 RS-232 via.125 인치 또는 기타 크기의 오디오 플러그 포함)가 포함됩니다.

최신 프로그램 가능한 계산기 중에는 추가 연결 채널로 셀룰러 모뎀이 포함되어 있습니다.

프로그래밍 가능한 계산기는 대부분의 경우 이러한 연결을 통해 데이터 로거 및 온도계, pH 미터, 모든 종류의 기상 계측기, 광도계, 오디오 프로브 및 마이크, 동력계, 압력계, 전압계, 전류계, 옴미터, 대기 전기 측정기 등의 인터페이스와 함께 사용할 수 있습니다.재측정 장치, 이온 카운터, 가이거 계수기 및 섬광계, 고도계, 눈금, 가속도계 및 기타 여러 가지.일부 기계는 오실로스코프 및 주변기기와 함께 사용할 수 있습니다.예를 들어 펄스, 혈압, 산소 포화도, 갈바닉 피부 저항성, 체온, 심지어 EKG 및 EEG 프로브를 계산기에 연결한 다음 PC에 연결하는 데이터 로거에 연결하여 바이오 피드백 데이터를 수집하는 등의 다른 방법을 구성할 수 있습니다.

HP 프로그래머블 및 기타 제품에는 IrDA 인터페이스가 있어 계산기, HP의 주요 레이저 프린터, 컴퓨터, 기타 장치용으로 특별히 설계된 프린터와 인터페이스할 수 있습니다.

또, 많은 기업으로부터는, 계산기를 컴퓨터나 다른 계산기에 접속하기 위한 계산기 전용의 소형 프린터, 포토나 케이블, 프로그램이나 데이터를 기록하기 위한 카세트 레코더, 오버헤드 프로젝터 디스플레이, 및 보조 디스플레이용 커넥터를 사용하는 경우가 있습니다.위의 포켓 컴퓨터뿐만 아니라 이전의 프로그램 가능한 계산기도 텔레비전과 컴포지트 모니터용 비디오 인터페이스, 2인치 미니 플로피 디스크 드라이브, 바코드 리더, 표준 RS-232 연결 등의 기능을 갖추고 있었습니다.포켓 컴퓨터의 프린터 선택도 열, 충격, 도트 매트릭스, 데이지 휠, 4색 펜, 단순한 인쇄 계산기에 사용되는 프린터 등 조금 더 다양했습니다.일부 계산기와 포켓 컴퓨터에는 외장 3인치 및 5인치 플로피 드라이브, 2개의 카세트 레코더를 연결하기 위한 케이블, 프린터 및/또는 기계가 미끄러져 들어가는 카세트 레코더가 들어 있는 크래들 등이 있었습니다.

또한 프린터로 사용하기 위해 일부 기계를 특정 전기 타자기에 연결할 수도 있습니다(타자기 또한 이 목적을 위해 PC에 연결할 수 있으며 인터페이스는 표준 RS-232 및/또는 DIN 플러그가 되는 경향이 있습니다). 경우에 따라서는 타자기의 플로피 또는 마이크로 플로피 드라이브에 액세스할 수도 있습니다.

선택한 프로그래밍 가능한 계산기 목록

신용 카드 크기의 HP-15C의 Swiss Micros 복제품
카시오
Casio FX-502P 시리즈 · Casio FX-602P 시리즈 · Casio FX-603P · FX-702P · FX-850P · Casio 9850 시리즈 · Casio 9860 시리즈 · Casio ClassPad 300
엘렉트로니카
B3-21 · B3-34 · MK-61 · MK-52
휴렛패커드
HP-19C · HP-25 · HP-28C · HP-28C · HP-28S · HP-29C · HP-32S · HP-32sII · HP-32sI · HP-41C · HP-41C · HP-41C · HP-42C · HP-48
NumWorks
날카로운
샤프 PC-1350 · PC-1401 · PC-1403 EL-9600c · EL-9900
스위스 마이크로
Swiss Micros DM11 · Swiss Micros DM12 · Swiss Micros DM15 · Swiss Micros DM16 · Swiss Micros DM41 · Swiss Micros DM42
텍사스 인스트루먼트
TI-51-III · SR-56 · TI-57 · TI-58 C · TI-59 · Galaxy 67 · TI-83 Plus · TI-84 Plus · TI-85 · TI-89 · TI-92 · Voyage 200 · TI-Nspire

「 」를 참조해 주세요.

레퍼런스

  1. ^ Kosoff, Maya (25 November 2019). "Big Calculator: How Texas Instruments Monopolized Math Class". GEN. Medium. Retrieved 30 March 2022.
  2. ^ https://www.ticalc.org/archives/files/fileinfo/300/30032.html
  3. ^ TIEducation.com
  4. ^ "Programming Casio FX-7400G+" (PDF). Retrieved 2014-03-23.
  5. ^ "Programming Casio BASIC on the CFX-9850 Series" (PDF). Retrieved 2014-03-23.
  6. ^ "TI-Basic Developer". Tibasicdev.wikidot.com. Retrieved 2014-03-23.
  7. ^ HP 계산기 박물관HP-28C 설명
  8. ^ 1971년 HP 9810A 도입
  9. ^ HP 계산기 박물관HP-15C 설명
  10. ^ Voidware 상의 FX-502PFA-1 설명
  11. ^ HP-32s 사용자 매뉴얼 Wayback Machine 페이지 289ff에서 2008-08-21 아카이브 완료
  12. ^ Caz 포켓 컴퓨터PB-2000 설명
  13. ^ FX-700PFX-702P의 그림은 "프로그래머블 계산기"라는 텍스트를 보여줍니다.