emath saloon (Read Only)

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

No.178  Re:emathRn.sty(乱数)を使ってみよう
発言者: 石原 守
発言日: 2006 12/02 20:49
基本的に「解答を自分で計算したくない」という考えで
一連のソースを書いているわけですが。
\MonIを色々変えると解答付のプリントがMathTeXのように
大量生産できるわけです。

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

\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\@K% \K
\CDR\kekka\kekka% \kekka
\IMod\@K{89}\@K
\IAdd\@K{11}\@K

\CAR\kekka\@J% \J
\CDR\kekka\kekka% \kekka
\IMod\@J{7}\@J
\IAdd\@J{2}\@J

\IMod\@K{10}\@I
\ifnum\@I=0
\IAdd\@K{1}\@K
\fi
\IMod\@J{10}\@I
\ifnum\@I=0
\IAdd\@J{1}\@J
\fi

\IMul\@K\@J\@I
\ifkaitou
$\begin{array}[t]{lr}
 & \@K \\
\times & \@J \\\hline
 & \@I\\
\end{array}$
\else
$\begin{array}[t]{lr}
 & \@K \\
\times & \@J \\\hline
\end{array}$
\fi
}
\makeatother

\setlength{\columnseprule}{0.4pt}
\begin{document}

\rndsuji[80][1000]\kekka
\edef\temp{\kekka}%乱数の列を保存して解答の時も同じ列を使う
\twocolumn[{\Large \bf 2けたと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
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\newpage
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\newpage
\end{enumerate}
\end{enumerate}

\edef\kekka{\temp}%保存しておいた乱数列を使う
\twocolumn[{\Large \bf 2けたと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
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\newpage
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\item\MonI
\vfill
\newpage
\end{enumerate}
\end{enumerate}
\end{document}

▼関連発言

169:emathRn.sty(乱数)を使ってみよう [石原 守] 11/30 20:46
 ├174:ふと思いついたのですが・・・ [dualignited] 12/01 21:00
 │└175:Re:ふと思いついたのですが・・・ [田中徹] 12/01 21:35
 │ └176:Re[2]:ふと思いついたのですが・・・ [dualiginited] 12/01 23:51
 │  └177:Re[3]:ふと思いついたのですが・・・ [石原 守] 12/02 06:56
 └178:Re:emathRn.sty(乱数)を使ってみよう [石原 守] 12/02 20:49<-last

Pass 保存


CGIROOM