ホーム » 2022 (ページ 9)
年別アーカイブ: 2022
コンパイラと関数電卓実験の総括
複雑な字句解析 コンパイラでは、字句解析→構文解析を行うのが一般的である…と説明をしたが、最近のC++では少し話がややこしい。 C++ではテンプレート機能などがあるので、整数型のリストみたいな型は、forwa […]
メモリの使用効率
次にメモリの利用効率の話について解説する。 配列宣言でサイズは定数 C言語では、配列宣言を行う時は、配列サイズに変数を使うことはできない。 最近のC(C99)では、実は下記のようなものは、裏で後述のalloca()を使っ […]
悪趣味なプログラム
#include <stdio.h> int a[ 3 ] = { 11 , 22 , 33 } ; int main() { for( int i = 0 ; i < 3 ; i++ ) […]
ポインタ処理
ここからは、次のメモリの消費を考慮したプログラムの説明を行うが、ポインタの処理に慣れない人が多いので、ポインタを使ったプログラミングについて説明を行う。 値渡しとポインタ渡し 大きなプログラムを作成する場合、変数名の使い […]
unixにおけるファイルとユーザ管理
Unix演習サーバへの接続 Unix(Linux)は、インターネットでのサーバとして広く活用されている。Linuxを試すには、Windows ならば WSL や Cygwin であったり、Mac でも使える仮想OSの V […]
フローチャートと整数型
学際科目の情報制御基礎において、プログラムの基本としてフローチャートと基本的な処理を説明し、数値型の注意点を説明。 フローチャートの基本 プログラムの処理の順序を理解するには、初心者であればフローチャート(流れ図)を使う […]
派生と継承
隠ぺい化の次のステップとして、派生・継承を説明する。オブジェクト指向プログラミングでは、一番基本となるデータ構造を宣言し、その基本構造に様々な機能を追加した派生クラスを記述することでプログラムを作成する。今回は、その派生 […]
lexのそれ以外のアクション
flex+bisonを使った関数電卓を作る専攻科の実験で、空白処理の質問が出た。 こちらのような mycalc.l だと、空白の場合の処理とか、それ以外の文字が入力された時の処理は記述していない。 lex の出力する C […]
再帰呼び出しと再帰方程式
前回の授業では、簡単な再帰呼び出しのプログラムについて再帰方程式などの説明を行った。今日の授業では、ハノイの塔の処理時間や、マージソートのプログラムの処理時間について検討を行う。 ハノイの塔 ハノイの塔は、3本の塔にN枚 […]
PHPとデータベースによるバックエンドプログラミング
前回の講義では、Webページの作り方として、JavaScriptを用いたブラウザで動くプログラミングについて説明を行った。今回の授業では、データを管理しているサーバ側(バックエンド)で使われるプログラミング言語 PHP […]