[[関数電卓 CasioBasic perl]]

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

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

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

便宜上&mimetex(\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&mimetex(\div);4=625枚です、50枚綴りですから650枚あれば都合が良いので、逆算して52冊出来る事になります。

&ref(./num.jpg,50%);


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

*perlのソースコードでは [#ie3a09ba]
 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");
 print("開始番号:$kaishi_no 面付け数:$mentsuke 小数枚数:$jissuu 印刷通し数:$men_num\n");
 foreach my $nn (@num_array){
 	print "$nn\n";
 	}
 
 print("----------------------------\n");

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS