
概要
今回は総当たりのプログラミングを行ってみることにしました。
イメージするのは簡単ですが、実装するのが意外と大変だったりしますので、プログラミングの練習に作成してみたいと思います。
GUIアプリケーション上に総当たりの文字を表示して、プログラムが動作しているところを見てみたいと思います。
開発環境
- OS : windows10
- 統合開発環境 : Visual Studio 2015
- 言語 : C#
プログラミング設計
①.総当たりで使う文字は数字(0~9),英字(小文字a~z,大文字A~Z)とする。
②.計算する桁数4桁までとする。
③.総当たりの順番は数字(0~9)、英字小文字(a~z)、英字大文字(A~Z)の順番とする。
④.1桁目の総当たり計算を0~Zまで行った後,2桁目の総当たり計算を00~ZZまで行う。3桁目,4桁目も同様の総当たり計算方法で行う。
⑤.GUIアプリケーションに総当たりする文字を表示して,時間の計測を行う。
⑥.GUIアプリケーションに総当たりする文字を表示しないで,時間の計測を行う。
プログラミング設計のポイント
■ポイント①
プログラミング設計④の1桁の総当たりを行った後,2桁目の総当たりを行い,3桁目,4桁目も同様の計算方法で行うことにあります。
つまり、桁数の異なる数字を同一文字として見なさないということになります。
(例)以下の数字はすべて異なる数字として扱う
・「0」,「00」,「000」,「0000」
・「1」,「01」,「001」,「0001」
プログラミングでは明示的に桁数を統一するために、数値の先頭の桁を0で埋めて桁を揃えることがよくあります。今回の例を同一の値として見なす場合もありますが、今回はすべて異なる文字列として捉えて総当たりのプログラムを作成していきます。
■ポイント②
プログラミング設計⑤で計測した時間の測定を行い、プログラミング設計⑥で計測した時間測定と比較し、
どの程度が時間差がでるのか確認を行いたいと思います。
プログラミング設計⑤とプログラミング設計⑥の差異はGUIのアプリケーション上に総当たり計算を行う文字列を表示するか、しないかの違いになります。
プログラムの実行時間にどの程度差が出るのかを、実測値で確認してみたいと思います。
次回、プログラミングを行っていきたいと思います。