以下の問題をC#のコンソールアプリを用いて出力してみましょう
以下のような想定
三角形の面積を計算するアプリケーションを作りたい。
しかし、次第に長方形や円の面積も計算したいと要求は膨れる。
それら要求、またはさらに未知なる追加要求を吸収するためにオブジェクト指向を駆使し、保守性、拡張性高いクラス設計を行う。
オブジェクト指向でやりたいことは introduction.mdのオブジェクト指向の思想を参照
※まずは Preparation.mdを読んでください
- 三角形クラス(Triangleクラス)を作って、図形の面積の数値を返すメソッドを持たせる
-> コンストラクタで底辺と高さを受け取り、publicなプロパティに値をセットしてください。 - 100組の底辺と高さの組み合わせの数値列を読み込ませて、面積を計算して出力する
参考:http://d.hatena.ne.jp/chiheisen/20111031/1320068429
- 2のデータで、面積が1000以上の三角形が存在するかを"Linqを用いずに"判断する
(for文を使わず、foreachを用いるようにしてください) - 2のデータで、面積が1000以上の三角形が存在するかを"Linqを用いて"判断する
- 2のデータで、面積が1000を初めて超えるたときの三角形の面積を"Linqを用いて"出力
- 2のデータで、面積が1000以上の三角形の列番号を"Linqを用いて"出力
参考:https://qiita.com/RyotaMurohoshi/items/118d4aa4d5be8c71c9ce - 2のデータで、面積が1000以上の三角形の数を"Linqを用いて"出力
- 2のデータで、三角形の面積の平均値を"Linqを用いて"出力
- 2のデータで、三角形の面積を降順に並べる
- 長方形クラス(Squareクラス)を作って、図形の面積の数値を返すメソッドを持たせる
-> コンストラクタで底辺と高さを受け取り、publicなプロパティに値をセットしてください。 - 100組の底辺と高さの組み合わせの数値列を読み込ませて、面積を計算して出力する
- 11のデータで、面積が1000以上の正方形が存在するかを"Linqを用いて"判断する
- 円クラス(Circleクラス)を作って、図形の面積の数値を返すメソッドを持たせる
-> コンストラクタで半径を受け取り、publicなプロパティに値をセットしてください。 - 100組の半径の数値列を読み込ませて、面積を計算して出力する
- 11のデータで、面積が1000以上の円が存在するかを"Linqを用いて"判断する
- IShapeインターフェースを作成し、面積を計算するメソッドを用意し、Triangleクラス、Squareクラス、Circleクラスに継承させる
- 三角形クラス、長方形クラス、円クラスの面積の合計をまとめて計算してくれるメソッドを作成する
-> 上記計300組のデータを用いて面積計算
メソッドの引数はIEnumerable<double>ではなく、IEnumerable<IShape>を必ず用いるようにする