集合とリスト処理
リストを用いた待ち行列の補足 # リストによる待ち行列を早速に創造工学演習で応用した人からの質問より… 以前に説明したリストを用いた待ち行列(queue)において、時間的都合から詳しく説明できなかった点の注意 […]
差分とフィードバック制御
情報制御基礎の授業を通して、入力値を制御するため、コンピュータを使う場合の数値処理の基礎的な話として、信号の平滑化を説明してきたので、最後に差分について説明をする。また、実際には、入力値を制御に利用する一般的な構成のフィ […]
様々な移動平均
波形処理をハードウェアで行うかソフトウェアで行うか 組込み用の小型コンピュータが普及する以前は、このような波形に対する処理を行う場合には、電子回路的に波形のフィルタリングを行っていた。しかし電子回路的な方法では、回路の特 […]
集合とビット演算
リスト構造は、必要に応じてメモリを確保するデータ構造であり、データ件数に依存しないプログラム が記述できる。その応用として、集合処理を考えてみる。 bit演算子 2進数を使った処理をする時には、bit演算子を用いる。 b […]
スタックと待ち行列
前回の授業では、リストの先頭にデータを挿入する処理と、末尾に追加する処理について説明したが、この応用について説明する。 計算処理中に一時的なデータの保存として、stackとqueueがよく利用される。それを配列を使って記 […]
オブジェクト指向とソフトウェア工学
オブジェクト指向プログラミングの最後の総括として、 ソフトウェア工学との説明を行う。 トップダウン設計とウォーターフォール型開発 ソフトウェア工学でプログラムの開発において、一般的なサイクルとしては、 専攻科などではどこ […]
移動平均の処理
前回の授業で説明したようなA/D変換した数値データを読み取った場合、どのようなことが発生するか考える。 例えば、以下に示すような測定値があったとする。 2018-06-05-wave.csv このデータの一部をグラフ化し […]
リスト処理基本の回答
前回授業の、sum(),max(),mean(),find() のループ版や、再帰版のプログラム例 // 合計ループ版 int sum( struct List* p ) { int s = 0 ; for( ; p ! […]
リストへの追加処理
最初のリスト生成の説明では、補助関数 cons を用いて、直接リストを生成していた。 しかし、実際にはデータを入力しながらの処理となるであろう。 最も単純なリスト挿入 struct List { int data ; s […]
バックスラッシュと円マーク
授業のC言語のプログラムで printf 関連でいくつか質問を受けることが多いのでメモ Visual Studio では printf_s() , scanf_s() を使う Microsoft の Visual Stu […]