はじめに
日本語プログラミング言語Mindの小技「数値の定数配列」について説明したいと思います。
対象読者
日本語プログラミング言語Mindのユーザー、または日本語プログラミング言語に興味のある方
この小技に関連するMind言語マニュアル
この小技に関連するMind言語仕様の記述はMind8プログラミングマニュアルに記載があります。
5 配列
└定数配列
└数値の定数配列
初期値を持った配列を定義できる。データ型によって「定数配列」、「文字列定数配列」などがある。
構文=
<配列名>は 定数配列 ←整数値の配列
<数値> <数値> ・・・・・
<数値> <数値> ・・・・・
・・・・・・・・・・・・・・・。<配列名>は 小数定数配列 ←小数値の配列
<小数値> <小数値> ・・・・・
<小数値> <小数値> ・・・・・
・・・・・・・・・・・・・・・。上記では数値を縦横に並べているが、あくまでソースコード上の配置であり、どう書いても結果的には1次元配列として生成される。
各数値は整数(定数配列)あるいは小数(小数定数配列)として評価される。なお、コード生成を節約するために、「バイト定数配列」「ワード定数配列」というバリエーションもある(16ビット整数、8ビット整数版である)。
本機能(本記事)は、下記のバージョンに対応しています。Mind8のLinux版も対応していると思いますが、本記事では特に検証を行っておりません。
Mind7は小数、倍精度変数の定数配列に対応していません。
対応バージョン
■Mind7 ■Mind8 ■Mind9
■Windows版 □Linux版
小技の解説
Mindの小技「数値の定数配列」は、Mindの定数による配列機能の中で、数値系の変数型の定数の配列です。文字列系の変数型の定数配列も別にありますが、それは本記事では扱いません。
配列は、同じ型のデータを連続して格納するデータ構造です。各データは「要素」と呼ばれ、インデックス(添字)を使って識別されます。この点は他のプログラミング言語と同じですが、インデックスの初期値は1から開始となる点は注意事項です。
下記の変数型についてそれぞれ記述してみます。
変数(32ビット整数)
倍精度変数(64ビット整数)
小数(64ビット浮動小数点小数)
ワード変数(16ビット整数)
バイト変数(8ビット整数)
Mindプログラムソース
定数配列32bitは 定数配列
1
2
3。
定数配列64bitは 倍精度定数配列
1
2
3。
定数配列64bit浮動小数は 小数定数配列
1.1
2.2
3.3。
定数配列16bitは ワード定数配列
1
2
3。
定数配列8bitは バイト定数配列
1
2
3。
メインとは (・ → ・)
「定数配列32bit」を 一行表示し
定数配列32bitの 要素数で 回数指定し
定数配列32bit(回数)を ダブル表示し 改行し
繰り返す
「定数配列64bit」を 一行表示し
定数配列64bitの 要素数で 回数指定し
定数配列64bit(回数)を $$クアド表示し 改行し
繰り返す
「定数配列64bit浮動小数」を 一行表示し
定数配列64bit浮動小数の 要素数で 回数指定し
定数配列64bit浮動小数(回数)を $$クアド表示し 改行し
繰り返す
「定数配列16bit」を 一行表示し
定数配列16bitの 要素数で 回数指定し
定数配列16bit(回数)を ワード表示し 改行し
繰り返す
「定数配列8bit」を 一行表示し
定数配列8bitの 要素数で 回数指定し
定数配列8bit(回数)を バイト表示し 改行し
繰り返す。
それぞれの型の定数配列を宣言して、メインではそれらの要素数を使って回数指定ループを構成し、各要素のインデックスをMindの回数指定構文の「回数」(1から開始)で指定して表示しています。
表示方法はそれぞれの型サイズに応じた表示方法をとっています。
コンパイル結果
ではコンパイルしてみます。下位ライブラリはfileを指定します。
Mind9
下図はMind9βです。
C:\developments\vscode\mind9>mind constantarray file
日本語プログラミング言語 Mind Version 8.11 for Windows
Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. C:\mind9-beta\mind9-beta\bin\mindex.exe --> constantarray.exe
Mind8
C:\developments\vscode\mind9>mind constantarray file
日本語プログラミング言語 Mind Version 8.07 for Windows
Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\pmind\bin\mindex.exe --> constantarray.exe
Mind7
C:\developments\vscode\mind9>mind constantarray file
日本語プログラミング言語 Mind Version 7.5 for Windows
Copyright(C) 1985-2004 Scripts Lab. Inc.
Single user license. Serial No:********
コンパイル中 -
コンパイルエラー:小数値は使えません。
モジュール名:constantarray.src(通算 12 行目)。
行内容 :1.1
コンパイル中 - 終了
1 個のエラーが有ります。
constantarray.src 6 行目でエラー。行内容は、
定数配列64bitは 倍精度定数配列
要因1:"倍精度定数配列"は未定義の単語です。
Mind7は小数を検知してコンパイルが中断しました。このブロックをコメントアウトした結果がコンパイル終了で1件エラーとなった状態です。
実行結果
つづいて実行してみます。
Mind8/9β
Mind8の結果です。記述は割愛していますがMind9βも同じです。
c:\developments\vscode\mind9>constantarray
定数配列32bit
00000001
00000002
00000003
定数配列64bit
00000000|00000001
00000000|00000002
00000000|00000003
定数配列64bit浮動小数
3FF19999|9999999A
40019999|9999999A
400A6666|66666666
定数配列16bit
0001
0002
0003
定数配列8bit
01
02
03
c:\developments\vscode\mind9>
64ビット倍精度整数と64ビット浮動小数点小数とでは、同じ64ビットでも各ビットの使われ方が異なることがわかります。
参考情報
この小技「数値の定数配列」を使った記述例の記事は下記が該当します。
おわりに
いかがでしたでしょうか?なにかの参考になれば幸いです。2025年は日本語プログラミング言語Mind生誕40周年です。
本記事シリーズのご紹介
本記事シリーズ「日本語プログラミング言語Mindの小技」は「日本語プログラミング言語Mind生誕40周年プロジェクト」の一環です。
興味を持たれた方は日本語プログラミング言語Mind公式サイトにアクセスすると、Mindコンパイラをダウンロードできます。
面白い!、楽しい、カンタン、難しいのも書ける!みんなでやってみよう![]()