Zum Berechnen der maximalen Kästchenzahl in einer Zeile kann man `\pgfmathtruncatemacro` nutzen.
\documentclass[12pt,parskip=half-]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{showframe} % Seitenlayout anzeigen
\newcommand\kariert[2][0.5cm]{%
\begin{tikzpicture}
\pgfmathtruncatemacro\anzahl{\linewidth/#1} \begin{tikzpicture}[gray,step=#1]
\pgfmathtruncatemacro\anzahl{(\linewidth-\pgflinewidth)/#1} % maximale Anzahl Kästchen pro Zeile
\draw[step=#1,color=gray,use as bounding box] \draw (0,0) rectangle (\anzahl*#1,#2*#1) (0,0) grid (\anzahl*#1,#2*#1);
(\anzahl*#1,#2*#1);
\end{tikzpicture}
}
}
\newcommand{\liniert}[2][0.5cm]{%
\begin{tikzpicture}
\begin{tikzpicture}[gray]
\path[use as bounding box](0,0)rectangle(\linewidth,-#2*#1); box](0,0)rectangle(\linewidth,-#2*#1-0.5\pgflinewidth);
\foreach \n in {1,...,#2}{ %
\draw[color=gray](0 {1,...,#2}\draw(0 ,-#1*\n )--(\linewidth,-#1*\n );} );
\end{tikzpicture}}
\begin{document}
\minisec{Kästchenzeilen}
\begin{center}
\kariert[1cm]{3}
\end{center}
\minisec{Linien}
\liniert[1cm]{3}
\minisec{In Minipages}
\begin{minipage}{0.6\linewidth}
Beantworte folgende Frage:
\begin{flushleft}
\kariert{4}
\end{flushleft}
\end{minipage}%
\begin{minipage}{0.4\linewidth}
Beantworte folgende Frage:
\begin{center}
\liniert{4}
\end{center}
\end{minipage}
\end{document}
In dem Beispiel ist gleich noch ein Vorschlag, wie man auch Linien zum Schreiben zeichnen könnte, vielleicht wird das ja auch mal gebraucht.
![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/KarosUndLinien.PNG