2011年3月27日日曜日

汎用プログラミングシートの作成

プログラミングをするとき、何らかの問題があるわけですが、これをすぐさま解けることはまずありません。プログラミングではコンピュータは必須ですが、紙とペンもそれと同じぐらい大切です。私は、アルゴリズムを考えるのに複数枚の紙を使いますが(これは簡単な問題であっても、何種類か検討するからです)、初心者の場合、そこまで複雑なアルゴリズムを考える必要はないし、複数検討するのも大変ですので、1〜2枚あれば十分です。

ところが、その1〜2枚でも、初心者の人はなかなか使えないし、また、何をかけばいいのかわからないことが多いです。それで、以前からトップダウンタスク分析法(これはダイテル本による)を用いて指導していたのですが、それをシートに書き直したのが、次の内容です。


1.何をするプログラムを作成すればよいか、その目的を書き出そう。
2.入力するもの、出力するもの、自分で決めるもの、調べるべきものを書き出そう。
3.基本的なアルゴリズムを書いてみよう。アルゴリズムの問題点などがあらかじめ考えられるなら、それも検討して書いておこう。
4.先に書いたアルゴリズムを、プログラミングできるぐらいに分解して、その手順を書いてみよう。
5.実際にそのプログラムを書いてみよう。(ソースファイル名:                )
6.プログラムを動かしてみよう。簡単な例について、それを以下に手計算し、あっているかどうか確かめよう。
7.必要ならデバッグしよう。解決点がわかったらどのような点が問題だったか、以下に書いておこう。

私はTeXで作っている時が多いので、これもTeXで作りましたが、ソースは次のとおりです。


\documentclass{jsarticle}
\oddsidemargin=-0.8cm
\topmargin=-2cm
\baselineskip=13pt
\textheight=55\baselineskip
\marginparsep=0.5in
\marginparwidth=0.5in
\textwidth=52zw
\pagestyle{empty}
\begin{document}

\title{{\normalsize トップダウン・タスク分解法による}\\プログラミングシート}
\author{氏名:(           )}
\date{問題タイトル:(         )}
\maketitle
\begin{enumerate}
\item 何をするプログラムを作成すればよいか、その目的を書き出そう。\\ \\ \\ \\ \\ \\
\item 入力するもの、出力するもの、自分で決めるもの、調べるべきものを書き出そう。\\ \\ \\ \\ \\ \\ \\
\item 基本的なアルゴリズムを書いてみよう。アルゴリズムの問題点などがあらかじめ考えられるなら、それも検討して書いておこう。\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
\item 先に書いたアルゴリズムを、プログラミングできるぐらいに分解して、その手順を書いてみよう。\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
\item 実際にそのプログラムを書いてみよう。(ソースファイル名:                )\\
\item プログラムを動かしてみよう。簡単な例について、それを以下に手計算し、あっているかどうか確かめよう。\\ \\ \\ \\ \\ \\ \\
\item 必要ならデバッグしよう。解決点がわかったらどのような点が問題だったか、以下に書いておこう。
\end{enumerate}
\end{document}

2 件のコメント:

Volcanologue さんのコメント...

貴君のTeXでの縦空間は \vspace で与えた方が綺麗になるのではないかと思った.

達哉ん/Tatuyan さんのコメント...

>Volcanologue さん
ありがとうございます。
そうですね、\vspaceの方が早かった気がします。