関数電卓 CasioBasic perl

ナンバーリングの印刷で、面付けの番号を計算します。

10,000を4面付けで印刷する場合、1〜、2500〜、5000〜、7500〜のように2500ずつの小間で印刷すれば後工程が楽になります。

このような計算をするためのソースコードです。

便宜上\divは/ 乗算Xは*で表してあります

"KAISHI NO"?->S	#開始番号
"MENTUKE "?->M		#面付け数
"JISSUU  "?->J		#実数

While (J-(M*Int(J/M)))	#面付けで割ったときに余りが0になるように実数を増やす
  J+1->J
WhileEnd

J / M->T				#実数/面付け=通し数
Cls
For 1->I To M
 I - 1 ->P
 S + T * P ->P
 1=K
 P=>1+Int(Log(P))->D	#桁数
 I-(2*Int(I/2)) -> X	#x座標 0:右 1:左
 (I+1) / 2 -> Y		#Y座標
 X=1=>Locate 7-D,Y,P
 X=0=>Locate 16-D,Y,P
Next

If Y<4 then
Locate 1,4,"print-suu="
Locate 11,4,J
IfEnd

注意することは、伝票などで、面付け数で割り切れない場合は実数を増やします。

例えば50枚綴り50冊で4面付けの場合 2500\div4=625枚です、50枚綴りですから650枚あれば都合が良いので、逆算して52冊出来る事になります。

num.jpg

ナンバーリングは50x52冊2600で計算させます

perlのソースコードでは

use strict;
my ($kaishi_no,$mentsuke,$jissuu);

print("印刷用ナンバーリングの面付けを計算します\n数値で入力します\n");

do{
	print ("\n 開始番号?");
	$kaishi_no = <>;
	chomp($kaishi_no);
	}while($kaishi_no eq "");

do{
	print ("\n 面付け数?");
	$mentsuke= <>;
	chomp($mentsuke);
	}while($mentsuke eq "");

do{
	print ("\n 小数枚数?");
	$jissuu = <>;
	chomp($jissuu);
	}while($jissuu eq "");

my @num_array;


while ($jissuu - ($mentsuke * int($jissuu / $mentsuke))){
	$jissuu++;
}
my $men_num=$jissuu / $mentsuke;

print ("---------------------------\n");


for (my $i=0; $i<$mentsuke; $i++){
	$num_array[$i] =$kaishi_no + $men_num * $i;
}  


print("開始番号:$kaishi_no 面付け数:$mentsuke 小数枚数:$jissuu 印刷通し数:$men_num\n");
foreach my $nn (@num_array){
	print "$nn\n";
	}

print("----------------------------\n");

添付ファイル: filenum.jpg 647件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-10-31 (火) 09:13:45