【課題6-01】割り切れるかチェック
プロジェクトタイプ | ASP.NET Core Web アプリ(Model-View-Controller) |
---|---|
プロジェクト名 | Prac_6_01 |
ソリューション名 | PIT6x |
ターゲットフレームワーク | .NET 8.0(長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用する(チェックオフ) |
今回の課題について
- 作業成果物とは別のソリューションとなるので注意すること!!
- 作業成果物とはソリューション名が異なる.
- 作業成果物→
PIT6
- プログラミング課題→
PIT6x
- 作業成果物→
- 作業成果物とはソリューション名が異なる.
- 今回の課題はWebClassに提出場所があるのでそちらに提出すること.
- 今までの課題と異なり今回の課題はリアクションペーパーに記載するものではないことに注意せよ.
- これらはすべて課題点として成績に算入される課題である.
- 加点要素ではなく 必須の課題である ことに注意せよ.
二つの整数X
,Y
を入力して,X
がY
で割り切れるかどうかを表示する Web アプリケーションを作成せよ.
画面の挙動については_をよく見て実装すること
注意
- やりかたによらず 自分以外(他の学生,学外の協力者,生成AIなど)が作成したソースコードを自身の成果物として提出してはならない .
- 違反が発覚した場合,その課題の評点と同じだけ成績から引くこととする.他の学生と回答を共有した場合は,元がどちらであるかに関わらず両者とも同じ処分とする. 課題は独力で取り組みむこと .
全ての処理はデフォルトで作成されるHome
コントローラーで行う.
各アクションの処理内容を_に示す1.
アクション | GET メソッドでアクセスした際の機能 | POST メソッドでアクセスした際の機能 |
---|---|---|
Index | CheckDividable アクションへのリンクを表示する. 備考: ビューのテンプレートあり(後述) | (POSTでのアクセスはしない) |
CheckDividable | フォームの表示 備考1 :ビューのテンプレートあり(後述) 備考2 : 入力欄にはあらかじめ以下のように入力されている状態とすること. ・ 数値1→ 0 ・ 数値2→ 0 | 計算結果の表示.以下のフォーマットで表示すること. ■割り切れる場合 「 結果: 」■割り切れない場合 「 結果: 」ここで 余り は数値1を数値2で割った際の剰余である.備考1 : GETとビューは共通 備考2 : 入力欄にはあらかじめ以下のように入力されている状態とすること. ・数値1→以前に入力した値 ・数値2→以前に入力した値 |
AccessError | アクセスエラーの表示 | (POSTでのアクセスはしない) |
このアプリでは_に示す情報を取り扱う必要がある.このために _に示すクラスをもとにしたデータモデルを使用すること. 必要なデータアノテーションは自分で設定すること.
項目名(表示名) | 必須/任意 | データ型 | 備考 |
---|---|---|---|
数値1 | 必須 | 整数 | 0以上,上限なし(ヒント参照) . |
数値2 | 必須 | 整数 | 1以上,上限なし(ヒント参照) . |
|
|
準備作業
プロジェクトを作成したら以下の準備作業を行こと
- 【作業Ⅰ】 作業対象:プロジェクト
Prac_6_01
- 必要なパッケージをインストールする(後述).
- 【作業Ⅱ】 作業対象:
Views/Shared/_Layout.cshtml
(ファイル)- レイアウトページの簡易化(リスト4a-4-2)
- 【作業Ⅲ】 作業対象:
wwwroot/css/site.css
(ファイル)- 必要なスタイル指定を追記する(後述).
- 【作業Ⅳ】 作業対象:
Home
コントローラー&ビュー - 【作業Ⅴ】 作業対象:
Program.cs
(ファイル)
【作業Ⅰ】
【作業Ⅰ】
NuGetを使って以下のパッケージを探してプロジェクトにインストールする. バージョンが選択可能な場合は「 最新の安定板 」を選択するのを忘れないようにしよう.
パッケージソース | パッケージ名 | 本校執筆時の安定版 |
---|---|---|
knzw.tech | KnzwTech.AspNetCore.ResourceBasedLocalization.ja | 6.0.1 |
【作業Ⅰ】 : 閉じる
【作業Ⅱ】
【作業Ⅱ】
チュートリアル【T4a】を参考に以下のことを行う.
- Views/Shared/_Layout.cshtml をリスト4a-4-2に示すように変更する.
- ↑の6行目の
T4a
をPrac_6_01
に変更し,サイトタイトルの部分を【課題6-01】
に変更する.
【作業Ⅱ】 : 閉じる
【作業Ⅲ】
【作業Ⅲ】 : 閉じる
【作業Ⅳ】
【作業Ⅳ】
チュートリアル【T4b】を参考に以下のことを行う.
- Home コントローラーにリスト4b-6-3のアクションメソッド AccessError を追記する.
- プロジェクト内の Views フォルダの Home フォルダに新規に AccessError という名前のビュー(.cshtmlファイル)を追加し,リスト4b-6-4の内容を書き込む
- Views/Home/Index.cshtml を_の通りに書き換える.
|
|
【作業Ⅳ】 : 閉じる
【作業Ⅴ】
【作業Ⅴ】
チュートリアル【T4b】を参考に Program.cs を_に示すように編集する.
|
|
【作業Ⅴ】 : 閉じる
各種テンプレート
いくつかのファイルに関しては以下のテンプレートを使用すること.
Views/Home/CheckDividable.cshtml
Views/Home/CheckDividable.cshtml は_を使用すること.
|
|
Views/Home/CheckDividable.cshtml : 閉じる
実行結果
正しく実装できた場合,実行結果は_のようになる (制作の都合上,動画ではプロジェクト名などが異なるが提出物では冒頭の指定を守ること).
ヒント
- 上限をなしにしたい場合は,上限の数値を正の無限大に設定すればよい.正の無限大はdouble.PositiveInfinityフィールドから得ることができる.
- 整数
x
が整数y
で割り切れるかどうかは,剰余すなわちx
をy
で割ったときの余りを計算すれば調べることができる.
整数型の定数・変数・式1
%整数型の定数・変数・式2
|
|
これら以外のアクションに関しては削除してもよいし,デフォルトのまま残してもよい. ↩︎