次回予告:「3.2 値型と参照型」から 講義メモ:memo20241026.txt
for trainees of Hirano's class only
次回予告:「3.2 値型と参照型」から 講義メモ:memo20241026.txt
p.30 標準書式指定文字を使った書式の指定 ・フォーマット指定子で「{番号, 桁数:●}」とすると●に標準書式指定文字を指定できる ・例えば、標準書式指定文字に「C」を指定すると「通貨」形式になり、前に「\」が付く3桁カンマになる 例:Console.WriteLine(“{0, 10:C}”, 123456); //「 \123,456」となる ・他に、標準書式指定文字としては、16進数にする「X」パーセント表示にする「P」などがある p.31 text06.cs //p.31 text06.cs using System; class text06 { public static void Main() { Console.WriteLine("D{0, 10:D}", 123); //「D 123」通常+ルール Console.WriteLine("X{0, 10:X}", 123); //「X 7B」16進数化 Console.WriteLine("E{0, 10:E}", 123.456); //「E1.234560E+002」指数 Console.WriteLine("F{0, 10:F}", 123.456); //「F 123.46」小数点以下2桁 Console.WriteLine("F{0, 10:F5}", 123.456); //「F 123.45600」小数点以下5桁 Console.WriteLine("C{0, 10:C}", 123456); //「C \123,456」通貨 Console.WriteLine("N{0, 10:N}", 1234.4568);//「N 1,234.46」小数点以下2桁 Console.WriteLine("P{0, 10:P}", 0.05); //「P 5.00%」パーセント Console.WriteLine("G{0, 10:G}", 123.456); //「G 123.456」通常+ルール } } p.32 カスタム書式指定文字を使った書式の指定 ・例えば「SCORE:000,001,234」のように先行ゼロを表示したい場合などに用いる ・カスタム書式指定文字「0」を使うとその数を表示桁数として先行ゼロを表示 例:Console.WriteLine(“{0, 10:0000.00}”, 1.23); //「0001.23」となる ・小数点以下にカスタム書式指定文字「0」を使うとその数を表示桁数として後続ゼロを表示 例:Console.WriteLine(“{0, 10:0000.000}”, 1.2); //「0001.200」となる ・上記において「0」の代わりに「#」を用いると「0」が空白になる ・「0」と「#」は混在可能で、それ以外の文字を間に入れることも可能 p.33 text07.cs //p.33 text07.cs using System; class Text07 { public static void Main() { Console.WriteLine("{0, 10:0000.00}", 1.2); //「 0001.20」 Console.WriteLine("{0, 10:####.##}", 1.2); //「 1.2」 Console.WriteLine(); Console.WriteLine("{0, 10:0,0}", 123456); //「 123,456」 Console.WriteLine("{0, 10:#,#}", 123456); //「 …
・p.28「フォーマット指定子を使った変数の表示」から 提出フォロー:アレンジ演習 p.25 text02.cs → text02a.cs ・text03.csを参考にして、Console.Writeを用いることで「+」による連結を行わずに同じ結果を得よう ヒント: ① Console.Writeで a を表示 ② Console.Writeで " + " を表示 ③ Console.Writeで b を表示 ④ Console.Writeで " = " を表示 ⑤ Console.Writeで a + b を表示 ⑥ Console.WriteLineで改行のみを行う あるいは、⑤をConsole.WriteLineにすれば⑥は不要 作成例 //提出:アレンジ演習 p.25 text02.cs → text02a.cs using System; //名前空間を使うことを示す class Text02a //クラス名(同じ名前がプロジェクト内になければOK) { //クラスの定義の開始 public static void Main() //実行用メソッド(手続き・処理) { //メソッドの定義の開始 int a = 10, b = 20; Console.Write(a); //表示し改行しない Console.Write(" + "); //〃 Console.Write(b); //〃 Console.Write(" = "); //〃 Console.Write(a + b); //aとb和を得て表示し改行しない Console.WriteLine(); //改行のみを行う } //メソッドの定義の終わり } //クラスの定義の終わり 作成例(別解) //提出:アレンジ演習 p.25 text02.cs → text02a.cs using System; //名前空間を使うことを示す class Text02a //クラス名(同じ名前がプロジェクト内になければOK) { //クラスの定義の開始 public static void Main() //実行用メソッド(手続き・処理) { //メソッドの定義の開始 int a…
ゲームソフト販売本数ランキング:今週1位は「スーパー マリオパーティ ジャンボリー(Switch)」 GO!fpsは開発初期の3倍近くに!『イースX -NORDICS-』のPC向け最適化作業の詳細が移植スタッフにより語られる GO!Unity、最新バージョン「Unity 6」を全世界で提供開始―「CPUパフォーマンスが最大4倍向上」とアピール GO! ユービーアイソフト『プリンス オブ ペルシャ 失われた王冠』開発チーム解散報道に反応―メンバーはすでに別プロジェクトに従事 GO!セガが『メメントモリ』のバンク・オブ・イノベーションを特許権侵害で提訴 GO!
・途中、分からなくて頭の中が?になるところがあったので、講義メモや教科書をよく読んで次の講義までにしっかり理解しておきたいです。 是非。そして必要でしたらいつでも解説をリクエストしてください。 ・本日も楽しかったです。 プログラムの知識が足りず、一度質問して分からない時に、どうわからない事を伝えればいいか悩んでしまいました。 来週もいろんなプログラムの使われ方をもっと教えてほしいです。 先生の作ったゲームも、どんな感じでこのプログラムが使われているかなどもあると、嬉しいです。 質問の仕方もスキルの1つです。少しずつでも身につけてください。 時間の許す限り、実例も紹介しますので、理解の一助になれば幸いです。 ・今回もゆっくりやっていただいたので置いてかれることなくできました。 ありがとうございました。 UBIソフトは雲行き怪しいですね。好きなゲームがいくつか出ていて楽しんでいたので心配です。 Wizardryは友人がやってて知ってはいましたがまだ人気でびっくりしました。 何よりです。そうですね。心配です&びっくりです。 ・わかりやすかったです。 ・理解できた 何よりです。 ・もうひとつのほうに考えてたことを書き留めたやつ提出します。授業のペースちょうどいいです。 書き留めたやつです。 拝見しました。色分けして理解するという方法は良いですね。 しかし、数式への置き換えに無理があって適切ではないようです。 次回フォローしますので、少しずつ理解を深めてください。
次回予告:p.28「フォーマット指定子を使った変数の表示」 講義メモ:memo20241019.txt
p.25 変数のデータを表示する ・Console.WriteLine()のカッコ内に変数を記入すると、その変数に代入されている値が表示される 例: int hp = 50; Console.WriteLine(hp); //「50」が表示される ・また、Console.WriteLine()のカッコ内に式を記入すると、その式の結果が表示される int hp = 50, mp = 20; Console.WriteLine(hp + mp); //「70」が表示される ・「+」には複数の意味があり、整数や整数の変数どうしだと加算。どちらかまたは両方が文字列だと連結になる ・なお、文字列はダブルクォーテーション(“)で0文字以上の文字を囲んだもので表される 例: “A”、”シャア”、”” ・よって、整数の変数の値を表示するときに、前後に文字列を連結すると親切な表現になる 例: int age = 20; Console.WriteLine(“私の年齢は” + age + “歳です”); //「私の年齢は20歳です」が表示される ・なお、文字列に整数を連結した結果は文字列になるので、これに整数を「+」すると連結になる p.25 text01.cs //p.25 text01.cs using System; //名前空間を使うことを示す class Text01 //クラス名(同じ名前がプロジェクト内になければOK) { //クラスの定義の開始 public static void Main() //実行用メソッド(手続き・処理) { //メソッドの定義の開始 int a = 10, b = 20, total; //整数の変数aの初期化、bの初期化、totalの宣言 total = a + b; //整数の変数aの値とbの値を加算した結果をtotalに代入 Console.WriteLine(a + " + " + b + " = " + total); } //メソッドの定義の終わり } //クラスの定義の終わり アレンジ演習:p.25 text01.cs ・整数の変数totalを宣言ではなく「a + b」で初期化してみよう ・すると次の行の「total = a + b;」が不要になる ・これでわかるように、変数の初期化には代入済の変数や式が利用できる 作成例 //アレンジ演習 p.25 text01.cs using System; //名前空間を使うことを示す class Text01…
・p.21「インデント」から p.21 インデント ・プログラムの構造を読み取りやすくし、誤解を防ぐために、インデント(字下げ)を行う ・なお、Visual Studioには自動インデント修正機能もある:Ctrlキーを押しながらA、K、Dを順に押す ※他者にソースを見てほしいときは必ずインデントを揃えてからにしよう p.22 変数を使ってみる ・記憶域(メモリ)を必要な分だけ確保して名前をつけたもの ・これをデータ(値)の格納に用いるので、器のイメージになる ・言語によって異なるが、C/C++/C#などでは、事前に確保が必要 ・この事前に確保することを「変数の宣言」という ・整数用の変数を宣言する書式: int 変数名; 例: int number; ・複数の整数用の変数をカンマつなぎで同時に宣言できる。例: int hp, mp; ・変数にデータ(値)を格納することを代入という ・代入の書式: 変数名 = 値; 例: int number; //整数の変数を宣言 number = 17; //変数に値を代入 ※この「=」には「等しい」という意味はなく「←」の変形といわれている ・代入は上書きであり、すでに値が代入されている変数にさらに代入すると値が上書きされる 例: int number; //整数の変数を宣言 number = 17; //変数に値を代入(17が入る) number = 16; //変数に値を代入(16に変わる) ・整数の変数には小数点のある値(実数)は代入できない(エラーになり実行できない) 例: int number; //整数の変数を宣言 number = 17.1; //エラーになり実行できない 参考:Visual Studioの起動とプロジェクトの用意:2回目編 ① スタートボタンなどから「Visual Studio 2022」を起動(バージョンに注意) ② 起動画面に前回使ったプロジェクトがあればクリックして用意完了。なければ③へ ③ プロジェクトを開くをクリックし、プロジェクトのあるフォルダを開いて「.sln」ファイルをクリックして開く ④ プロジェクトエクスプローラーでプロジェクト名を右クリックして「追加」「新しい項目」 ここで「すべてのテンプレートの表示」ボタンが出たらクリック ⑤「コード」「コードファイル」をクリックし名前を入力して「追加」 ⑥ 既存のソースファイルや講義メモなどからソースをコピペ ⑦ 既存のソースファイルがプロジェクトにある場合は右クリックして「プロジェクトから除外」 ミニ演習 mini022.cs ・上の整数の変数の宣言と、実数を代入するとエラーになることを試そう 作成例 //ミニ演習 mini022.cs using System; //名前空間を使うことを示す class MyName01 //クラス名(同じ名前がプロジェクト内になければOK) { //クラスの定義の開始 public static void Main() //実行用メソッド(手続き・処理) { //メソッドの定義の開始 int number; number = 17.1; //エラーになる(17.0でもダメ) } //メソッドの定義の終わり } //クラスの定義の終わり p.22 変数を使ってみる(つづき)…
ゲームソフト販売本数ランキング:今週1位は「メタファー:リファンタジオ(PS5)」 GO! 東京メトロ、『Overwatch 2』のeスポーツ大会「第3回 TOKYO METRO CUP」を開催―1人からエントリー可能、128チームを募集 GO!「リアルタイム手話通訳」はVR空間での“異言語手話”実現に繋がるか。WIPOでソニーの新たな特許出願情報が公開 GO! 『CoD: BO6』クウェートでは発売中止か、”湾岸戦争”描く作品であることが原因?―海外報道 GO!ユービーアイソフト、フランスにて700人以上の従業員がストライキ。週3日のオフィス勤務復帰に反発 GO!
・とても面白かったです。 ・楽しかった ・1回目ですが、とても分かりやすく知識になったと思います。 ・教科書に沿って行きながらも、分かりにくい所はとても丁寧に教えてくださり、初めてのことだらけで不安でしたが、とても楽しく学ぶことができました。公式のサイトで先生の書いたことをいつでも見られることもとてもうれしいです。 ・とても勉強になりました。 ・ゆっくり聞けたので、しっかり授業についてこれました。 ありがとうございました。 ・最初の授業で用語の説明やコメントをつけながら進めてくれたのがすごく復習がしやすくてよかった。 何よりです。 ・昔のプログラマーはかなり苦労してプログラムを完成させていたのを知り、 今のプログラムは昔に比べて楽になったことを痛感しました。 そうなんです。 今では当たり前のようになった機能や考え方には、過去のあれやこれやがあったりします。 まあ「知らなくても使えるんだからいいんじゃない」と言われることもありますが、 知っておくと話のネタになるかもしれません(笑)。 ・C#は効率性や安全性を求められたものだと思いますが、それが企業や開発においてどれくらいの考えがあって省略されたのかとか 実用性も含めて教えてほしいです。 了解です。今後の説明の中に盛り込むようにしますね。 ・もっと授業からそれた話じゃんじゃん聞きたいです、すごく笑顔になりました。 何よりです♪ ただ、それまくると終わらなくなっちゃうので(笑)、適度にします。