ホーム » スタッフ » 斉藤徹 » 講義録 (ページ 70)

講義録」カテゴリーアーカイブ

2025年6月
1234567
891011121314
15161718192021
22232425262728
2930  

検索・リンク

専門基礎3-キルヒホッフの法則

オームの法則での合成抵抗などの理解ができたところで、キルヒホッフの法則の説明。

2電源3抵抗の回路をキルヒホッフで解く

2電源3抵抗の問題で、オームの法則を使って式を立てる前に、電位のイメージを水の高さでイメージして、電流が合流してGNDまで落ちていく様を見せるための資料。

この電位の考えにもとづいて、式を立てると以下の連立方程式が求まる。あとは、E1,E2,R1,R2,R3の値が与えられれば、I1,I2,I3を求めることができる。

(さらに…)

講義録がChromeで表示ズレ

今年度、後半は講義録をマメに記載してきた。

でも、プロジェクタをつかって、講義録を見せながらの授業で Safari だと、折り返しが発生して見づらかったので、Chromeを起動してみた。しかし、今度は空白の表示幅の問題で、内容がずれて表示される。ということで、wordpress のスタイルシートで、以下の変更。また、折り返しされると、見づらいので横スクロールするように変更。

code,
kbd,
pre,
samp {
	font-family: "MS ゴシック","MS Gothic",Sans-Serif;
	font-size: 1em;
}
pre {
	border-top: 1px solid #ddd;
	background-color: #f1f1f1;
	padding: 15px;
/*	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
*/
	overflow-wrap: normal;
	overflow-x: scroll;
}
/* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 */

viewテーブルとデータベース設計

実テーブルとビューテーブル

データベースでの表の構造は、テーブルの集合で表され、これは概念スキーマに相当する。

しかし、プログラマーの視点では、複数の表から構成されているといった所を気にせずプログラムを作れると便利。こういう使い勝手のよいテーブルは、外部スキーマに相当する。この外部スキーマを定義するものが、create view 命令である。

-- 優良業者しか見えないテーブル --
create view 優良業者 ( 業者番号, 優良度, 所在 )
  as select S.業者番号, S.優良度, S.所在
        from S where S.優良度 > 15 ;

-- 串刺し結果で参照できるテーブル --
create view 業者在庫 ( 業者名, 在庫量 )
  as select S.業者名, SG.在庫量
        from S, SG
        where S.業者番号 = SG.業者番号 ;

-- 外部スキーマで参照 --
select 業者在庫.業者名, 業者在庫.在庫量 from 業者在庫 ;

このように外部スキーマを設けることで、SQLをシンプルに記述できたり、外部プログラマが余計な内容を見れないようにしたりすることができる。ただし、データベースシステムによっては読み出しだけだったり、ビューテーブルを更新する時に更新異常が発生する場合がある。 (さらに…)

トランスポート層とTCP/IP

最初に簡単に転送速度の例題の解説。

毎年、意外と間違いが多いのが、異なる速度のネットワークを経由した転送時間。パケットは、バケツリレー方式で送られるので、通信路の一番遅い部分の通信速度で計算すればいい。

サブネット同士をつなぐプロトコルとして、IPプロトコルを紹介したが、データ通信ではノイズなどの影響で通信に失敗することがある。これらを補うためのTCPがある。

TCP

TCP(Transmission Control Protocol/トランスミッションコントロールプロトコル)では、分割されたパケットを元の順序に組み上げたり、パケットが途中で消えた場合の再送などの処理を行う。この機能により確実に相手に送る機能が実現されている。

3way ハンドシェーク

TCPの通信では、最初に相互に通信が可能かを確認するハンドシェークが行われる。パケットには、SYN,ACK,FINといった種別を表すフラグがついており、SYNは接続確立の要求を表す。ACKは了解を表す。FINは切断要求を表す。通信開始の時には、(1)通信OK?,(2)OKだよ、そっちもOK?,(3)OKだよ!といった3つの通信パケットで確認してから通信を行う。この最初のやり取りを3way ハンドシェークという。

(さらに…)

B木の構造とデータベース

2分探索木の考え方を拡張したもので、B木がある。

B木の構造

B木では、データの増減で木の組換えの発生頻度が高い。そこで、1つのノード内に複数のデータを一定数覚える方法をとる。B木では、位数=Nに対し、最大2N個のデータd0..d2N-1と、2N+1本のポインタp0..p2Nから構成される。piの先には、di-1<x<di を満たすデータが入った B木のノードを配置する。ただし、データの充填率を下げないようにするため、データは最小でもN個、最大で2N個を保存する。

B木からデータの検索

データを探す場合は、ノード内のデータ diの中から探し、見つからない場合は、ポインタの先のデータを探す。位数がある程度大きい場合、ノード内の検索は2分探索法が使用できる。また、1つのノード内の検索が終われば、探索するデータ件数は、1/N〜1/2Nとなることから、指数的に対象件数が減っていく。よって、検索時間のオーダは、O(N) O(logN) 資料修正注意となる。 (さらに…)

学科WordPressの設定変更

私は、CMSを昔から使っていたし、学科のWordPressサーバも設定していて活用しているけど、学科PRを目的としているWebサーバで、「最近の投稿」の欄は、私の投稿ばかり。

違和感あるし、”Widget Logic”というプラグインを入れて、左側のウィジェットメニューの「最近の投稿」には学科PRとなるような記事だけを表示するように設定を行った。これに加え右側のウィジェットメニューには、自分のカテゴリーの記事を参照している時だけ「自分の最近の投稿」が表示されるように設定する。

固定記事の「斉藤徹」の子ページの時にも、私の「最近の投稿」が表示されてほしいけど、is_page() 判定だと、子ページでは表示されないな…(x_x;

式の構文木と評価

2分木の応用ということで、2項演算子の構文木と、意思決定木の説明を行う。また、これらを用いてコンパイラを作るための知識を解説する。

2項演算と構文木

演算子を含む式が与えられたとして、それを保存する場合、演算式の2分木で扱うと都合が良い。

   +
  / \
 1   *
    / \
   2   3

演算子の木のノードで、末端は数値であることに注目し、右枝・左枝がNULLなら数値(data部にはその数値)、それ以外は演算子(data部には演算子の文字コード)として扱うとして…
(さらに…)

専攻科実験・コンパイラと関数電卓プログラム作成

  • コンパイラの技術と関数電卓プログラム(1)
    • 課題
      • 複数桁の数字が使えること。
      • 式中に空白が使えること。
      • 何らかの演算子を追加すること。
        • (例) %,単項演算子のマイナスなど
      • 演算子が左結合か右結合か確認すること。
      • オプション課題
        • 変数が使えること。
          (変数名は1文字のA-Zといったもので良い)
    • レポート内容
      • コンパイラ技術の概要、課題(1)の説明・ソース・動作検証、考察
  • コンパイラの技術と関数電卓プログラム(2)
    • 課題
      • 基本的に、lex+yaccで(1)と同様の課題完成を目指す。
    • レポート内容
      • lex,yaccの概要、課題(2)の説明・ソース・動作検証、考察

SQLの演習と複雑なSQL

SQLの演習

最初に、SQLの演習環境の使い方。
下記URLにアクセスすると、認証画面が表示されるので、情報処理センターのユーザIDとパスワードで、Login する。

以下のような画面が表示されるので、最初に”データベースリセット”を押すこと。

以降、登録済みの処理を実行する場合は、左上のプルダウンメニューから、処理を選んで”バッチ処理実行”を行う。
画面下に、実行された結果が表示される。

教科書内の基本演習のデータを利用したい場合は、”0_Create_DB” , “1_Insert_Data”を実行する。 (さらに…)

sakura.ioでIT人材育成

さくらインターネット様による高専のIT教育支援を受け、sakura.io,Arduino用シールド,IchigoJam が届きました。

これらの機材を使い、電子回路からインターネットへと幅広い開発の経験から、創造的IT人材育成にチャレンジします。

{CAPTION}

IT教育支援の共同研究(H30年3月まで)として、以下のテーマに取組みます。

  • sakura.ioを用いた、低学年でのIoT連携実験
  • おなじく、高学年での創造的なシステム構築演習
  • さくらのクラウドを用いた、クラウド環境実験
  • これらを応用した卒業研究

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー