emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.5877  Re[5]:方程式問題自動作成の方法
発言者: 石原 守
発言日: 2007 04/03 19:56
発言元: 202.233.230.175
ひとつの例です。 \MonIを定義していけばいろいろなパターンが作れます。
時分が異なれば違う問題になりますが,同じ問題の出現のチェックはしていません。

\documentclass[a4j,twocolumn]{jarticle}
\usepackage{emathRn}
\usepackage{emathB}

\pagestyle{empty}

\newif\ifkaitou

\makeatletter
\def\CAR#1#2{%
  \edef\@kosuu{0}%
  \@for\@c:=#1\do{%
    \Incr\@kosuu
    \ifnum\@kosuu=1
      \edef#2{\@c}
    \fi
  }
}
\def\CDR#1#2{%
  \edef\@kosuu{0}%
  \@for\@c:=#1\do{%
    \Incr\@kosuu
    \ifnum\@kosuu=2
      \edef#2{\@c}
    \fi
    \ifnum\@kosuu>2
      \edef#2{#2,\@c}
    \fi
  }
}

\def\MonI{%
\CAR\kekka\@I
\CDR\kekka\kekka
\IMod\@I{7}\@I
\IAdd\@I{2}\@I

\CAR\kekka\@J
\CDR\kekka\kekka
\IMod\@J{8}\@J
\IAdd\@J{1}\@J

\CAR\kekka\@K
\CDR\kekka\kekka
\IMod\@K{7}\@K
\IAdd\@K{2}\@K

\CAR\kekka\@L
\CDR\kekka\kekka
\IMod\@L{8}\@L
\IAdd\@L{1}\@L

\ifnum \@I=\@K
\IAdd\@I{1}\@I
\fi

\ifkaitou
$\@I x+\@J=\@K x+\@L$
\vfill
\ISub\@I\@K\bunbo
\ISub\@L\@J\bunsi
\Fcalc{(\bunsi)/(\bunbo)}=\temp
\hfill 答 $x=\prF{\temp}$
\else
$\@I x+\@J=\@K x+\@L$
\vfill
\fi
}
\makeatother

\setlength{\columnseprule}{0.4pt}
\begin{document}
\kaitoufalse
\rndsuji[100][1000]\kekka
\edef\temp{\kekka}%乱数の列を保存して解答の時も同じ列を使う
\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\MonI
\item\MonI
\item\MonI
\newpage
\item\MonI
\item\MonI
\item\MonI
\item\MonI
\item\MonI
\newpage
\end{enumerate}
\end{enumerate}

\edef\kekka{\temp}%保存しておいた乱数列を使う
\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\MonI
\item\MonI
\item\MonI
\newpage
\item\MonI
\item\MonI
\item\MonI
\item\MonI
\item\MonI
\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

Pass 保存


CGIROOM