■ このスレッドは過去ログ倉庫に格納されています
某8ビット機と8ビット機のスレッド
- 196 :774ワット発電中さん:2022/07/28(木) 21:58:17.11 ID:oZvH5JCP9
- DEFINT A-Zで、
A# A! A$ などの記号がない変数は、すべて整数型と定義した場合。
最初はRUN命令で変数初期化があるから、
INPUT命令で「未入力(CR)」の場合、0になる。
よって、30行で0を禁止〜「未入力」「本当に0と入力」の区別が付かないから。
INPUT命令で、単精度実数型のT!に代入すると、いいのでは。
TIMEはシステム変数のため、0〜65535、
行番号【65530〜65535を除く】やPLAY命令のMマクロ……などと同じで、
0と正の1〜65535を認めている、のでは。
INPUT "TIME--->";TIME
のように、直接代入は……Syntax errorになった、これは不可と判明。
TIMEはシステム変数のため、単精度実数型と同じ扱いでいい、と思う。
>>177のプログラムを、「初代」モードで実行した場合。
GET TIMEがないので、時間は"23:59:59"と設定、
よって……
TIME変数は 59×1000+59×100+23×10=65130 〜 強制的に最大値を代入している。
このプログラムにもDEFINT A-Zがあるけど、エラーは出ない。
TIME変数に65130を代入した場合、6.8秒で0に戻るはず。
CTRL+STOPで中断し、? TIMEを実行すると、正の小さな値になっていた。
だから……誰もがRND(-TIME)を使うのでは?
徳間書店の雑誌掲載のプログラムは、DEFINTA-Zがないと、ボツになりそう。
これは、設計者のJさん本人が
他機種のRANDOMIZEに相当するのは"RND(-TIME)"、と設計したと思う。
アスキー版のリファレンスマニュアル(1983年)にも、
「RND(-TIME)を使って毎回ふり出す乱数を変えることができます。」
と記述がある
ということは、「公式設定では」と思う。
総レス数 834
1026 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★