CESIL(Computer Education in Schools Instruction Language )[ 1]は、イギリスの中等学校の生徒に初歩的なコンピュータプログラミングを紹介するために設計されたプログラミング言語です。合計14の命令を含むシンプルな言語です。
背景
学校でのコンピュータ教育 (CES) は、ジョン・ホスキンズ・グループの管理下で 1968 年に開始されたプロジェクトでした。[2]このプロジェクトは 1969 年 9 月にインターナショナル・コンピュータ・リミテッド(ICL)に引き継がれ、 ICL-CES となりました。[2] CESIL は ICL-CES プロジェクトの一環として ICL によって開発され、1974 年に導入されました。[3]当時は、学校にコンピュータがあるところはほとんどなく、生徒はコーディングシートにプログラムを書き、それをパンチカードや紙テープに転送していました。[4]通常、これはメインフレーム コンピュータに送られて実行され、ライン プリンタからの出力が後で返されました。[5]
構造
CESILは対話型言語として設計されていないため、リアルタイムでデータを入力する機能はありません。代わりに、数値データはプログラムの最後に別のセクションとして含まれています。[6]
CESILの基本原理は、数学演算を処理する単一のアキュムレータを使用することです。 [4]数値は変数に格納され、CESILではこれをストアロケーションと呼びます。[7] CESILは整数のみを処理し、DIVIDE演算の結果は必要に応じて丸められます。[8]配列などのデータ構造や文字列処理の機能はありませんが、文字列定数はPRINT命令によって出力できます。[4]
ジャンプとループは条件付きでも無条件でもよく、プログラムの動作を特定のラベルの付いた行に転送します。ラベルはコーディングシートの最初の列で識別されます。[9]命令または動作は2列目に記述され、オペランドは3列目に記述されます。[10]コーディングシートによっては、コメントとPRINT命令のテキストが4列目に記述されることもあります。[11]
説明書
命令または操作は大文字で書かれ、単一のオペランドを持つことができます。オペランドはストア位置、定数整数値、または行ラベルです。ストア位置と行ラベルは英数字で、最大6文字で、文字で始まります。[12]数値整数定数は+または-で符号付けされ、ゼロは+0と表されます。[13] [a]
入出力
IN– データから次の値を読み取り、それをアキュムレータに格納します。[4]*** PROGRAM REQUIRES MORE DATA ***プログラムが提供されたデータの末尾を超えて読み取ろうとすると、エラーメッセージが表示されます。 [14]OUT– アキュムレータの現在の値を出力します。改行は出力されません。[15]PRINT "text in quotes"– 指定されたテキストを印刷します。改行は印刷されません。[15]LINE– キャリッジリターンを印刷し、新しい行を開始します。[16]
メモリストレージ
LOAD locationまたは、指定された場所または定数の値をアキュムレータにコピーします。[17]LOAD constantSTORE location– アキュムレータの内容を指定された場所にコピーします。[10]
数学の指示
ADD locationまたは、指定された位置または定数の値をアキュムレータに加算します。[18]ADD constantSUBTRACT locationまたは、指定された位置または定数の値を累算器から減算します。[19]SUBTRACT constantMULTIPLY locationまたは、指定された位置または定数の値を累算器に掛けます。[20]MULTIPLY constantDIVIDE locationまたは、指定された位置または定数の値で累算器を割ります。[21]結果が正の場合は切り捨てられ、負の場合は切り上げられます。[8]除数がゼロの場合はエラーメッセージが表示されます。[22]DIVIDE constant*** DIVISION BY ZERO ***
いずれの場合も、演算の結果はアキュムレータに格納され、前の値が置き換えられます。
プログラム制御
JUMP label– 無条件にラベルの付いた場所に制御を移します。[23]JINEG label(負のジャンプ) – アキュムレータに負の値が含まれている場合、ラベルの付いた場所に制御を移します。[24]JIZERO label(ジャンプI f ZERO ) – アキュムレータにゼロが含まれている場合、ラベルの付いた場所に制御を移します。[ 9]HALT– プログラムを終了します。[15]
その他の記号
CESIL では、行の先頭に 3 つの特殊記号が使用されます。
%プログラムの終了とデータの開始を示すために使用されます。[11]*データの終わりを示すために使用されます。[25](行頭にコメントを示すために使用される。[26] [b]
CESILプログラミングツール
CESILのエミュレーターはWindows上で動作するように設計されており、Visual CESILと呼ばれ、フリーウェアとして入手可能です。[27]
Androidプラットフォーム上で動作するように設計されたCESILのインタープリター「Wyrm CESIL」は、無料でインストールできます。[28]
例
次のコードは、負の値が検出されるまでランタイム データ セクション内の整数を合計し、その合計を出力します。
ロード +0
ループストア合計
で
ジネグ完了
合計を追加
ジャンプループ
完了 印刷 "合計は次の通りです:"
合計負荷
外
ライン
停止
%
1
2
3
-1
*
上記のプログラムの出力は次のようになります。
The total is: 6
参照
- コンピュータリテラシー
- 教室でのコンピューター
- コンピュータサイエンスの歴史
- HAGGIS - スコットランドの学校でプログラミング作業の採点を標準化するために考案された言語
文献
モンスーン、コリン C ;シーウェル、イアン R; フランシス P、ヴィッカーズ (1978)。コンピュータ研究。第 1 巻。ICL 学校におけるコンピュータ教育。ISBN 0-903885-17-4。
注記
- ^ Visual CESIL では、非負の定数に符号を付ける必要はありません。
- ^ Visual CESIL ではサポートされていません。代わりに * が使用されます。
参考文献
- ^ コンピュータ研究、71ページ
- ^ ab Sewell, Ian 編 (1980 年 1 月)。「CES は 2 番目の 10 年を迎える」。ICL -CES ニュースレター。p. 1。
- ^ Furber, Steve (2012年1月). 「付録J:イングランドの学校におけるコンピューター教育の主要な発展のタイムライン」。シャットダウンか再開か?英国の学校におけるコンピューター教育の前進(PDF)。王立協会。120ページ。2021年5月6日時点のオリジナルよりアーカイブ(PDF) 。 2021年6月20日閲覧。
- ^ abcd コンピュータ研究、72ページ
- ^ “My First Program”. 2021年6月24日時点のオリジナルよりアーカイブ。2021年6月16日閲覧。
- ^ コンピュータ研究、82ページ
- ^ コンピュータ研究、76ページ
- ^ ab コンピュータ研究、93~94ページ
- ^ ab コンピュータ研究、148ページ
- ^ ab コンピュータ研究、77ページ
- ^ ab コンピュータ研究、74ページ
- ^ コンピュータ研究、96、148ページ
- ^ コンピュータ研究、97~99ページ
- ^ コンピュータ研究、201ページ
- ^ abc コンピュータ研究、73 ページ
- ^ コンピュータ研究、199~200ページ
- ^ コンピュータ研究、80、97~98ページ
- ^ コンピュータ研究、84、97~98ページ
- ^ コンピュータ研究、86、97~98ページ
- ^ コンピュータ研究、90、97~98ページ
- ^ コンピュータ研究、92、97~98ページ
- ^ コンピュータ研究、145ページ
- ^ コンピュータ研究、198ページ
- ^ コンピュータ研究、154ページ
- ^ コンピュータ研究、83ページ
- ^ コンピュータ研究、164ページ
- ^ Andrew John Jacobs (2010年6月20日). “Visual CESIL”. 2021年9月12日時点のオリジナルよりアーカイブ。 2021年11月26日閲覧。
- ^ Wyrm Software (2019年10月13日). “Wyrm CESIL”. 2021年11月25日時点のオリジナルよりアーカイブ。 2021年11月25日閲覧。
