コンストラクタと複素数クラスと隠蔽化
コンストラクタ プログラミングでは、データの初期化忘れによる間違いもよく発生する。これを防ぐために、C++ のクラスでは、コンストラクタ(構築子)がある。データ構造の初期化専用の関数。 // コンストラクタ #inclu […]
再帰処理の処理時間
再帰関数と再帰方程式 再帰関数は、自分自身の処理の中に「問題を小さくした」自分自身の呼び出しを含む関数。プログラムには問題が最小となった時の処理があることで、再帰の繰り返しが止まる。 // 階乗 int fact( in […]
創造工学演習・予備実験(SQLとPHP)
先週のPHPの予備実験に引き続き、データベースの説明とそのプログラムで演習を行う。 <?php // データの保存先 $dbfile = "/home/guests/guest0/public_data/tsait […]
実数の注意点
C言語でプログラムを作成していて、簡単な数値計算のプログラムでも動かないと悩んだことはないだろうか?解らなくて友達のプログラムを真似したら動いたけど、なぜ自分のプログラムは動かなかったのか深く考えたことはあるだろうか? […]
大域変数・局所変数・スコープ
繰り返しが動かない例 #include <stdio.h> int i ; void foo() { // foo() は 3個Aを表示するプログラム。 for( i = 0 ; i < 3 ; i++ ) […]
引数渡しと構造体からオブジェクト指向へ
値渡し、ポインタ渡し、参照渡し 構造体の使い方の話では、関数との構造体のデータ渡しでポインタなどが出てくるので、 値渡し・ポインタ渡し・参照渡しの復習。(参照渡しはC++で導入された考え方) 値渡し C言語の基本は、値渡 […]
制御構文について
プログラムの基本は、処理の順序を正しく理解していること。 まずは理解度確認 では、過去の電子情報3年プログラム応用のテスト問題から、以下のプログラムの実行順序を答えて下さい。 制御構文とフローチャート 構文の入れ子
繰り返し処理とオーダ記法
先週に、単純繰り返し処理の時間分析をやったので、次のステップに。 2分探索法の処理時間 データを探す処理において、単純検索より速い方法ということで、2分探索法の処理速度見積もりを行う。 // 2分探索法 O(log N) […]
オブジェクト指向(2018) / ガイダンス
専攻科2年のオブジェクト指向プログラミングの授業の1回目。最初に授業全般の概要を説明した後、オブジェクト指向の歴史とC言語の構造体の説明。 オブジェクト指向プログラミングの歴史 最初のプログラム言語のFortran(科学 […]
情報構造論ガイダンス
情報構造論のガイダンス プログラム作成でのポイント この授業で恒例の、プログラムを作る場合に何に気をつけてプログラムを作成するかを聞いてみた。今年は、以下に示す3要素をうまく答えてくれたかな。 プログラムの速度 プログラ […]