こんにちは､ そしてようこそ｡
もうひとつのチャレンジをご紹介します｡
この課題は､ あなたの能力､ データ型や変数に対する理解度を多かれ少なかれ試すものです｡
やってほしいのは､ 長方形の面積に周囲を表示するプログラムを書いてほしいのです｡
そして､ 実際の要件としては､ double型の変数を4つ作成する必要があります｡
長方形の幅を格納する変数､ 長方形の高さを格納する変数､
長方形の周囲を格納する変数､ 長方形の面積を格納する変数を作成する必要があります｡
そこで､ 変数の作成方法を理解し､ さらに代入演算子を使って変数を初期化し､
代入する方法を理解する必要があります｡
しかし､ まず必要なのは変数を作成することです｡
そこで､ double型の変数を4つ用意する必要があります｡
cプロジェクトを作成する必要がありますが､ これは後ほど説明します｡
しかし､ プログラムにはいくつかの計算が必要です｡
演算子について話していないので､ 実はまだ計算の仕方を学んでいないのです｡
そこで､ このコードをお渡しします｡
cプログラムで計算を作るのはとても簡単です｡
演算子を数学の演算子のように使うだけです｡
だから､ たとえばcで､ 2つの変数を足したいときは､ プラスを使う｡
2つの変数を互いに掛け合わせる場合は､
アスタリスクを使います｡
長方形の周囲を計算するには､
高さと幅を足し､ それを2倍する必要があるのです｡
とても簡単なことなんです｡ さっきも言ったけど､ このコードを渡すよ｡
この課題の主眼は､ 変数の作成方法､ 変数の使用方法､
データ型の定義方法を理解してもらうことです｡
エリアは計算も必要になってきます｡
ここでは､ アスタリスクを用いて幅に高さを掛けるだけです｡
ただ､ 意味のない簡単な課題を作るのは嫌だったんです｡
だから､ もっと親しみやすいものにしたかったんです｡ それで､ 長方形の周囲と面積を考えたんです｡
これはなかなかいい､ 計算も入っているが､ その心配はないだろう｡
また､ このプログラムの出力として必要なのは､
高さ､ 幅､ パラメータ変数を正しいフォーマットで表示することです｡
そして､ この課題を通してもう一つ学んでいただきたいのは､ printf関数を使って変数の値を表示する方法です｡
つまり､ フォーマット指定子を理解し､ バックスラッシュnのエスケープシーケンスを理解し､
改行文字をプリントアウトする必要があるわけです｡
だから､ 最初の表示は外周にすべきなんです｡
2回目の表示は､ 高さと幅も表示される領域にしてください｡
そこで今回の課題やヒントのために､ コードブロックでのプロジェクト作成が必要になります｡
このプロジェクトには､ 意味のある名前を使用する必要があります｡
このプログラムのプロジェクトは､ 基本的に長方形の周囲と面積を作成するものなので､
プロジェクト名をrectangleとすることができます｡
それは本当にシンプルなことです｡
コードブロックにプロジェクトを作成する場合､ デフォルトでコードブロックが自動的にcのソースファイルを作成することを忘れないでください｡
メインという名前になりそうです｡ c.
今回のプロジェクトにはそれを使ってきてください｡ 削除する必要はありません｡
最初のチャレンジでは､ cのソースファイルの作り方を確認してもらいたかったので､
削除しました｡
でも､ この場合は､ すでに作ってくれているという利点を利用しましょう｡
だからメイン｡ cは､ main関数を含む空のテンプレートになるだけです｡
主関数はエントリーポイントであることを忘れないでください｡
メインを揃えた後｡ cファイルを編集する必要があります｡
そして､ 先ほど述べたように､ いくつかの変数を作成する必要があり､
変数の型はdoubleでなければなりません｡
ですから､ 少なくともdouble型のheightとwidthの変数をいくつか作り､
それらを初期化する必要があります｡
Initializeとは､ それらに初期値を設定することを意味します｡
等号演算子で初期化したものは､ セミコロンで終わらせるんだ｡
これを何か好きなもの､ 便利なものに初期化したいと思うでしょう｡
このプログラムでは､ ユーザーからの意見は聞いていませんが､
聞こうと思えば聞けます｡ もし気が向いたら､ コマンドライン引数を渡すこともできますが､
皆さんはまだその準備ができていないと思ったのです｡
だから､ 変数をハードコードして､ 50､ 100､ 23のどれかにすればいいんです｡
5, 92. 7.
ダブルなので小数を含むことができることを忘れないでください｡
しかし､ これらの変数を特定の値にハードコーディングすればいいのです｡
そして､ それらはゼロ以外のものであるべきで､ まともな出力を見ることはできないでしょう｡
他の変数､ 外周や面積の値に関しては､ 計算で求めることになるので､
ハードコードでデータを割り当てないようにしたいですね｡
0に初期化すればいいんです｡ 0.
そして､ プログラムの中で､ 計算に基づいて値を割り当てることができるのです｡
そこで､ 外周の計算と面積の計算を行うコードを以下に示します｡
perimeterとareaというdouble型の変数を2つ作れば､ あとはequalと言うだけでperimeter
2を計算することができます｡ 高さの0倍と幅の0倍をセミコロンで終わる括弧で囲んでください｡
面積を計算するには､ areaを変数に代入し､ 等号､ イコールオペレータwidth､
そしてtimesのアスタリスク､ height､
そしてセミコロンを使用するだけです｡
ですから､ すべての変数を宣言して初期化した後､
プログラムのここで物の外周や面積をコピー＆ペーストすることができます｡
このプログラムのロジックは本当にこれだけで､
ただ2､ 3の計算をするだけです｡
その計算が終わったら､ 次に2つの外周の値､ あるいは2つの変数､
外周と面積､ さらに高さと幅も表示させたいと思いますよね｡
そこで､ printf関数を使用し､ 必要な出力を表示するために正しい書式指定子を使用する必要があります｡
倍数に指定される書式は､ 先ほど述べたように%fなので､
それを使いたい｡
また､ 小数点以下の桁数に対して精度がどのように変化するか､
%f2 のように使って遊ぶこともできます｡
そして､ 繰り返しになりますが､ すべてのものに意味のある名前をつけてください｡
それが終わったら､ コンパイルとリンクを行い､ テスト､ プログラムを実行することです｡
また､ このプログラムでいろいろと遊んでみてください｡ 変数のデータ型を変えたり､
別の変数をプリントアウトしたり､
データ型フォーマットの指定子を使ったりして､ いろいろと試してみてください｡
もし､ 本当に､ 本当に野心的な気分なら､ プログラムにコマンドライン引数を追加して､
コマンドライン引数は幅と高さにすることができます｡
メイン関数からそれらを読み込んで､ 周囲と面積の計算を行うためにそれらを使用します｡
そしてまた､ 前回のことで､ 私はあなたにコードを与えました､
幅と高さ､ 私はあなたが高さと幅という2つの変数を作成したと仮定しています､
すべて小文字でなければこのコードは動作しません､
これらはこの実際の機能に対する一般的な名前です｡
というところでしょうか｡ 今回もソースコードと一緒に､
このプログラムを完成させるまでのデモをお見せしますから､ 頑張ってください｡
そして最後に､ 出力が正しいかどうかを分析することも忘れないでください｡
もし間違っていたら､
戻って編集し､ 保存し､ 作り直さなければなりません｡