発言者: 石原 守
発言日: 2007 04/14 10:32
発言元: 202.233.230.175
%
% emathRnの新機能を利用して
% 2次方程式の例を見ながら1次方程式の問題を拡張しました
% 4段階の問題が乱数で作成されます。
% perlが必須です。
%% emathRn.sty が 0.06 になって\ransuu@retuが大域変数になったせいか
%% 解答が作れなくなっていたので,修正版を作りました
%
\documentclass[a4j,twocolumn]{jarticle}
%\usepackage[margin=15truemm]{geometry}
\usepackage[perl]{emathRn}
\usepackage{emathB}
\pagestyle{empty}
\newif\ifkaitou
\def\MonI{%
\Cfor{\edef\I{9}}{\I=9}{}\do{\ransuu\I}\IAdd\I{-9}\I
\Cfor{\edef\J{9}}{\J=9}{}\do{\ransuu\J}\IAdd\J{-9}\J
\ifnum\I=1 \IAdd\I{1}\I\fi
\ifkaitou
\ifnum\I=-1 $-x=\J$\else$\I x=\J$\fi
\vfill
\Fcalc{(\J)/(\I)}=\temp
\hfill 答 $x=\prF{\temp}$
\else
\ifnum\I=-1 $-x=\J$\else$\I x=\J$\fi
\vfill
\fi
}
\def\MonII{%
\Cfor{\edef\I{9}}{\I=9}{}\do{\ransuu\I}\IAdd\I{-9}\I
\Cfor{\edef\J{9}}{\J=9}{}\do{\ransuu\J}\IAdd\J{-9}\J
\ifkaitou
\ifnum\I<0 $x\I=\J$\else$x+\I=\J$\fi
\vfill
\Fcalc{(\J)-(\I)}=\temp
\hfill 答 $x=\prF{\temp}$
\else
\ifnum\I<0 $x\I=\J$\else$x+\I=\J$\fi
\vfill
\fi
}
\def\MonIII{%
\Cfor{\edef\I{9}}{\I=9}{}\do{\ransuu\I}\IAdd\I{-9}\I
\Cfor{\edef\J{9}}{\J=9}{}\do{\ransuu\J}\IAdd\J{-9}\J
\ifkaitou
$
\ifnum\I=1
\else
\ifnum\I=-1
-
\else
\I
\fi
\fi
x
\ifnum\J>0\relax
+\J
\else
\ifnum\J=0\relax
\else
\J
\fi
\fi
=0$
\vfill
\Fcalc{(-\J)/(\I)}=\temp
\hfill 答 $x=\prF{\temp}$
\else
$
\ifnum\I=1
\else
\ifnum\I=-1
-
\else
\I
\fi
\fi
x
\ifnum\J>0\relax
+\J
\else
\ifnum\J=0\relax
\else
\J
\fi
\fi
=0$
\vfill
\fi
}
\def\MonIV{%
\Cfor{\edef\I{9}}{\I=9}{}\do{\ransuu\I}\IAdd\I{-9}\I
\Cfor{\edef\J{9}}{\J=9}{}\do{\ransuu\J}\IAdd\J{-9}\J
\Cfor{\edef\K{9}}{\K=9}{}\do{\ransuu\K}\IAdd\K{-9}\K
\Cfor{\edef\L{9}}{\L=9}{}\do{\ransuu\L}\IAdd\L{-9}\L
%不定不能対策
\ifnum \I=\K
\IAdd\I{1}\I
\fi
\ifkaitou
$
\ifnum\I=1
\else
\ifnum\I=-1
-
\else
\I
\fi
\fi
x
\ifnum\J>0\relax
+\J
\else
\ifnum\J=0\relax
\else
\ifnum\J>-1\relax
+\J
\else
\J
\fi
\fi
\fi
=
\ifnum\K=1
\else
\ifnum\K=-1
-
\else
\K
\fi
\fi
x
\ifnum\L>0\relax
+\L
\else
\ifnum\L=0\relax
\else
\ifnum\L>-1\relax
+\L
\else
\L
\fi
\fi
\fi
$
\vfill
\ISub\I\K\bunbo
\ISub\L\J\bunsi
\Fcalc{(\bunsi)/(\bunbo)}=\temp
\hfill 答 $x=\prF{\temp}$
\else
$
\ifnum\I=1
\else
\ifnum\I=-1
-
\else
\I
\fi
\fi
x
\ifnum\J>0\relax
+
\ifnum\J=1
\J
\else
\J
\fi
\else
\ifnum\J=0\relax
\else
\ifnum\J>-1\relax
+\J
\else
\J
\fi
\fi
\fi
=
\ifnum\K=1
\else
\ifnum\K=-1
-
\else
\K
\fi
\fi
x
\ifnum\L>0\relax
+
\ifnum\L=1
\L
\else
\L
\fi
\else
\ifnum\L=0\relax
\else
\ifnum\L>-1\relax
+\L
\else
\L
\fi
\fi
\fi
$
\vfill
\fi
}
\setlength{\columnseprule}{0.4pt}
\begin{document}
\kaitoufalse
\Iransuuretu[20]{100}\kekka
\makeatletter
\edef\tmp{\ransuu@retu}%乱数列を保存して解答の時も同じ列を使う
\makeatother
\twocolumn[{\Large \bf 1次方程式}\hfill
\underline{\hspace{10truemm}}年\underline{\hspace{10truemm}}組\underline{\hspace{10truemm}}番 氏名\underline{\hspace{50truemm}}\vspace{1zh}]
\kaitoufalse
\begin{enumerate}
\item 次の計算をせよ。
\begin{enumerate}[(1)]
\item\MonI
\item\MonI
\item\MonII
\item\MonII
\item\MonIII
\newpage
\item\MonIII
\item\MonIV
\item\MonIV
\item\MonIV
\item\MonIV
\newpage
\end{enumerate}
\end{enumerate}
\makeatletter
\edef\ransuu@retu{\tmp}%保存しておいた乱数列を使う
\makeatother
\twocolumn[{\Large \bf 1次方程式の解答}\hfill
\underline{\hspace{10truemm}}年\underline{\hspace{10truemm}}組\underline{\hspace{10truemm}}番 氏名\underline{\hspace{50truemm}}\vspace{1zh}]
\kaitoutrue
\begin{enumerate}
\item 次の計算をせよ。
\begin{enumerate}[(1)]
\item\MonI
\item\MonI
\item\MonII
\item\MonII
\item\MonIII
\newpage
\item\MonIII
\item\MonIV
\item\MonIV
\item\MonIV
\item\MonIV
\newpage
\end{enumerate}
\end{enumerate}
\end{document}
▼関連発言
│
└◆5870:方程式問題自動作成の方法 [boo] 04/03 12:06
└◆5871:Re:方程式問題自動作成の方法 [石原 守] 04/03 12:52
└◆5872:Re[2]:方程式問題自動作成の方法 [boo] 04/03 14:18
└◆5873:Re[3]:方程式問題自動作成の方法 [石原 守] 04/03 14:32
└◆5874:Re[4]:方程式問題自動作成の方法 [boo] 04/03 14:50
├◆5876:--- [---] 04/03 19:38
└◆5877:Re[5]:方程式問題自動作成の方法 [石原 守] 04/03 19:56
└◆5878:Re[6]:方程式問題自動作成の方法 [boo] 04/03 22:23
└◆5883:Re[7]:方程式問題自動作成の方法 [石原 守] 04/04 05:26
├◆5892:Re[8]:方程式問題自動作成の方法 [boo] 04/04 12:02
│├◆5904:--- [---] 04/08 16:33
│└◆5905:Re[9]:方程式問題自動作成の方法 [石原 守] 04/14 10:32
│ └◆5906:Re[10]:方程式問題自動作成の方法 [tDB] 04/14 13:24
│ ├◆5907:Re[11]:方程式問題自動作成の方法 [石原 守] 04/14 13:41
│ │└◆5909:Re[12]:方程式問題自動作成の方法 [tDB] 04/14 15:32
│ │ ├◆5910:Re[13]:方程式問題自動作成の方法 [石原 守] 04/14 16:07
│ │ └◆5911:Re[13]:方程式問題自動作成の方法 [石原 守] 04/14 19:32
│ │ └◆5912:Re[14]:方程式問題自動作成の方法 [tDB] 04/14 19:39<-last
│ └◆5908:Re[11]:方程式問題自動作成の方法 [石原 守] 04/14 13:45
└◆5898:Re[8]:方程式問題自動作成の方法 [石原 守] 04/05 08:11
└◆5899:Re[9]:方程式問題自動作成の方法 [tDB] 04/05 16:04
├◆5900:Re[10]:方程式問題自動作成の方法 [石原 守] 04/05 16:16
│└◆5902:Re[11]:方程式問題自動作成の方法 [tDB] 04/05 17:20
└◆5901:Re[10]:方程式問題自動作成の方法 [tDB] 04/05 16:49
└◆5903: 補足 [tDB] 04/06 09:32