今回のテーマ:変数、変数のトレース、演算子、四則演算を使用したプログラム
変数
・言語に関わらず用意されている仕組みで、バリアブル(変わり得るもの)の和訳 ・メモリ(記憶領域)を確保して名前をつけたもの ・データを格納できる器のイメージ ・変数にデータを格納することを代入といい、すでに代入されているデータがある場合上書きする ・フローチャートでは「変数 ← データや計算式」で代入を示す ※ 逆の「データや計算式 → 変数」とも書ける ・C/C#では「変数 = データや計算式」で代入を示す (※逆向きは禁止) ※ この「=」には「等しい」という意味はない ・なお、C/C#では変数に代入する前に「確保」を支持する「宣言」が必要(フローチャートでは省略) ・Cにおける変数の宣言では「どういう変数か」を指定するデータ型の指定が必要 ・変数の宣言と代入は同時にでき、これを初期化という ・C#では、初期化で記述すると、データ型の指定は不要 書式: var 変数名 = データや計算式; //C#における初期化 ・代入した値は、変数名で用いることができる 例: フローチャートでは「x ← 10」「x を表示」 ・変数の値を使って代入できる 例: フローチャートでは「x ← 10」「y ← 20」「x ← y」※ xもyも20になる ・処理の流れによって、変数の変化する値を追いかけることをトレースという ※ C/C#ではVSにトレース機能があるが、IT系試験では紙上で行う必要がある 例: ①「x ← 10」xは10、yは未定 ②「y ← 20」xは10、yは20 ③「x ← y」xは20、yは20
テキスト p.22 コンソールアプリケーションを作ろう
・C#のコンソールアプリケーションは必要最小限の記述で動作するプログラムが作れる ・Cのプログラムでいう「本文」のみ記述すればOK ① 起動したら「新しいプロジェクトの作成」 ② 言語バーを「すべての言語」から「C#」「すべてのプラットフォーム」「すべてのプロジェクトの種類」にする ③「コンソールアプリ」「次へ」 ④「場所」の「...」をクリックして「C:\Users\ユーザ名\source\repos」で「新しいフォルダー」 ⑤ フォルダ名を「ca」にしてEnterで確定し「フォルダの選択」 ※場所が「C:\Users\ユーザ名\source\repos\ca\」となればOK ⑥「次へ」 ⑦ フレームワークはそのままで「作成」 ⑧ サンプルの1行(コメント1行を含めて2行)のプログラムが表示され、ソースファイル名「Program.cs」になる ⑨ 試しに「デバッグ」「デバッグなしで実行」で動作を確認
Program.csの解説
・Console.WriteLine("Hello, World!")は、C言語のprintfに近い文
・引数として文字列、数値、式など多くが指定できる万能表示文
・自動的に改行する
演算子
・数式「1 + 2」の「+」のようにデータを扱う処理に名前をつけたものが演算子 ・よく使われる演算子には記号があてはめられており「+」は主に「加算せよ」 ・2つのデータを扱う演算子を2項演算子という ・よって、数式「1 + 2」の「+」は2項+演算子という ・2値の減算には2項-演算子を用い、積算には2項*演算子、除算には2項/演算子を用いる ・また、余りを求める剰余算には2項%演算子を用いる
演習 Program.cs
・20と5の和差積商と剰余を表示せよ
作成例
Console.WriteLine(20 + 5); Console.WriteLine(20 - 5); Console.WriteLine(20 * 5); Console.WriteLine(20 / 5); Console.WriteLine(20 % 5);
実行結果
25 15 100 4 0
四則演算とプログラム
・C/C#などでは整数と実数(小数点がある値)は別扱いになり、四則演算の内容も変わる ※ 10は整数、10.0は実数 ・整数どうしの四則演算の結果は整数になり、小数点以下が出ても切り捨てる 例: 10 + 3 ⇒ 13 だが、10 / 3 ⇒ 3.33333… ⇒ 3になる ・実数を含む四則演算の結果は実数になり、小数点以下が常にある(0であれば表示されない場合もある) 例: 10 + 3.14 ⇒ 13.14 だが、10 * 3.14 ⇒ 31.4 になる ・計算結果が実数の場合、桁数によっては誤差が出る ・「+」「-」は「*」「/」より優先度が低いので注意。 例: 上辺3下辺4高さ5の台形の面積 3 + 4 * 5 / 2 = 3 + 10 = 13 ではない! ・優先度を変えるにはカッコでくくる 例: 上辺3下辺4高さ5の台形の面積 (3 + 4) * 5 / 2 = 35 / 2 = 17.5 が正しい!
演習 ex001.cs
・15と36の平均値を小数点以下を付けて表示しよう
作成例
Console.WriteLine((15 + 36) / 2.0);
別解
Console.WriteLine((15.0 + 36) / 2);
演習 ex001.csの続き
・変数aを15で初期化する(var a = 15;) ・変数bを36で初期化する(var b = 36;) ・aとbの平均値を小数点以下を付けて表示しよう
作成例
var a = 15; //変数aを15で初期化する var b = 36; //変数bを36で初期化する Console.WriteLine((a + b) / 2.0); //aとbの平均値を小数点以下を付けて表示
演習 ex001.csの続き2
・変数aを15で初期化する ・変数bを36で初期化する ・変数cをaとbの平均値(小数点以下あり)で初期化する ・cを表示しよう
作成例
var a = 15; //変数aを15で初期化する var b = 36; //変数bを36で初期化する var c = (a + b) / 2.0; //変数cをaとbの平均値(小数点以下あり)で初期化する Console.WriteLine(c); //cを表示
Console.WriteLineによる書式付きの表示
・C言語の「printf("彼は%d倍早い!", 3);」のような値の埋め込み表示もできる
・1つ埋め込むときの書式: Console.WriteLine("彼は{0}倍早い!", 3);
提出演習 ex001.csの続き3
・変数aを15で初期化する ・変数bを36で初期化する ・変数cをaとbの平均値(小数点以下あり)で初期化する ・cを「平均は25.5」のように「平均は」を付けて表示しよう
ソースの提出方法(.cs)
① Visual Studio を終了 ② サイトの「提出フォーム」 ③「提出」の「Browse Files」 ④ ソースファイルのあるフォルダ(例:C:\Users\ユーザ名\source\repos\cs)を開く ⑤ その中の「ConsoleApp●」の中の「ConsoleApp●」を開くとソースが並んでいる(●は1または2) ⑥ 提出したいソース(今回はex001.cs)をクリックし右クリックして「圧縮(ZIP形式)フォルダー」 ⑦ できた「ex001.zip」をクリックして「開く」 ⑦「100%」が表示されたら準備完了 ⑧「お名前」「メッセージ」を入力し「送信」 ※ メッセージには感想、要望、質問、ペースについてなどを ⑨ 何度も送信してOK