インターネットスクール 『まなぶ』のe-ラーニングへ  yahoo  MSN  エキサイト  Google
辞書先頭ページへ戻る

クから始まる情報処理用語


00000305    クイックソート
00000677    クッキー
00000022    区分編成ファイル
00000070    組み合わせ
00000160    組み合わせ回路
00000688    クライアント
00000403    クライアント-サーバーシステム
00000606    クラス図
00000522    クラスタ
00000093    クリティカルパス

305:クイックソート       アルゴリスムのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
並び替えを行うアルゴリズムの一つで、ランダムな並びに対して総合的に最も速いと言われ、平均計算量はN*log2(N)である。
基本的な考え方は、『並び替える集合の中から、適当な値を選び、その値を使ってより小さい集合と大きい集合に分ける』処理である。
そして、分けられた2つの集合それぞれに対し、同じ処理『前述の分ける処理』を再帰的に行くことで、小さい値の集合から大きい値の集合に整列されて分かれて行き、最終的に個々の集合が、一つの要素まで分かれて行った段階で並び替えが終わる。
具体的に配列のイメージで説明すると次のようになる。
図1

このプログラムは次のようになる。
#include <stdio.h>
void quick(int a[],int left,int right)
{
	int iL,iR,iM;
	int midData,t;
	iM = (left + right)/2;
	midData = a[iM];	//枢軸値(値をメモル)を決定
	for(iL = left,iR = right; iL <= iR ;  ){	//小さい集合と大きい集合へ分ける
		while(a[iL] < midData) iL++;	//枢軸値以上の交換対象になる要素の添え字を取得
		while(a[iR] > midData) iR--;	//枢軸値以下の交換対象になる要素の添え字を取得
		if(iL <= iR){
			t = a[iL];		//交換
			a[iL] = a[iR]; 
			a[iR] = t;
			iL++;
			iR--;
		}
	}
	if(left < iR) quick(a,left,iR);
	if(iL < right) quick(a,iL,right);
}

void main()
{
	int i;
	int a[] = {0,13, 8, 1, 17, 7, 4 , 9 , 3, 2};
	for(i = 1; i < 10; i++)
		printf("%d  ",a[i]);
	printf("\n");
	quick(a,1,9);
	for(i = 1; i < 10; i++)
		printf("%d  ",a[i]);
	printf("\n");
}


677:クッキー       伝送制御の理論・プロトコルのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
Cookie
HTTP通信において、サーバーではクライアントから要求された情報を、HTTPの規則で繰り返すスタイルになっています。
この送り返された情報を、インターネットブラウザで、閲覧してる分けです。
この時にサーバー側CGIで、閲覧者の過去の情報に基づいて、的確な情報が配信できれば便利です。
しかし閲覧者の情報をサーバー側で記憶するとサーバーの負担が大きくなります。
ここで考え出された方式に、Cookieと呼ばれるものがあるのです。

これには、まずインターネットブラウザの方にCookieを受け付ける仕組みが備わっている必要があります。
具体的には、HTTPのレスポンスヘッダーに、クッキーの書き込み情報があれば、その情報をクライアント側で保存することができる機能です。
そして同時に、過去に保存したクッキー情報を、リクエストヘッダーに入れてサーバーへリクエストを送信する形態になっています。

これによりサーバー側のCGIプログラムでは、このリクエストメッセージ内のクッキー情報を利用して、レスポンスメッセージを作成するわけです。


サーバーから自由にクライアントのディスクへ情報が書き込めて(保存できて)は、セキュリティ的に問題がありますから、
書き込み情報には使用するファイル名や保存期間、位置、サイズ、回数などおおきな制限があります。
Cookieの仕様は、『http://wp.netscape.com/newsref/std/cookie_spec.html』 で公開されています。

一般には、Formに入力させた情報や最後にサイトを訪れた日時、そのサイトの訪問回数などCookieの書き込み対象とします。
(また、一般のブラウザ側では、クッキーのお取り扱いを禁止する設定ができるます。)

簡単な例です。あるサイトのCGIを閲覧した時のレスポンスヘッダーに次のフィールドがあるとします。

Set-cookie:user=suzuki

この情報は保存されて、このサイトで連続したリンクに接続する時、クライアントからのリクエストヘッダーには次のフィールド(前回に記憶したクッキー)が追加されます。

Cookie: user=suzuki



22:区分編成ファイル       ファイル管理に関してのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
partitioned organization file
ファイル編成の一つで、内部はメンバと呼ばれるレーコドの集まりと、これらメンバの名前とアドレスなどをまとめた形態のディレクトリと呼ばれる2つの大きな領域で構成される。
プログラムライブラリなどに用いられる。

70:組み合わせ       情報理論のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
combination

4個の中より3個取り出す順列

nPr = n! / (n - r)! = 4 × 3 × 2 = 6   の24通りである

例 a b c d の4個を考えると

abc abd acb acb abc abd
bac bad bca bcd bda bdc
cab cad cba cbd cda cdb
dab dac dba dbc dca dcb

になる。 ここで、順序に関係なく 組み合わせの抽出とすると
abc acb bac bca cab cba の 3! の 6個 を1組と数えることになる。

これらは、それぞれの組み合わせで存在するので、24通りを3!で割って求めることができる。
なお組み合わせの表現はPの代わりにCを使う。よって組み合わせの公式は次のよになる。

nCr= n! /( (n - r)! × r! )


160:組み合わせ回路       情報素子に関することがらのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
参照→論理演算回路

688:クライアント       ソフトウェアパッケージ関連のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
client (依頼人)
サーバに対して、情報やサービスを要求して、サーバから得られた情報を利用するソフトを指していたり、そのソフトを動かすマシンを指したりします。

Webサーバーにあるホームページを見るInternet Explorer(Microfost社の代表的なインターネットブラウザ)は、
Webサーバーに対するクライアント用ソフトと言えます。
403:クライアント-サーバーシステム       システム構成技術のグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
処理を要求するコンピュータ(クライアント)と、要求に基づいた処理を行うコンピュータ(サーバー)に分け、構内通信網(LAN:Loacl Area Network)で交信しあう形態
606:クラス図       開発管理関連・ドキュメントのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
class digram
クラスの構造を表現する図で、UMLでは3つの区画に分かれた長方形のアイコンで表現し、最上位区画にクラス名、中断区画に属性、下の区画に操作の責務を記述します。
オブジェクトを抽象化した種類を表現するものとも言えます。
以下にクラス図の例を示します。
図1

各属性は、可視性 名前 : 型名を一行に並べます。(インスタンスメンバでなく、クラスメンバには下線を付けます。クラスメンバにはstaticを付ける仕様の言語が多いようです⇒C++, Java) 
可視性に、public 、protected、package、privateなどがあり、それぞれ+、#、~、-、の記号で表現します。
操作は、可視性 操作名( パラメタリスト ):型名を一行に並べます。
しかし、必ず全てを記述しなければならないと言う訳ではなく、使うクラス図のドキュメントの用途によって表現を省略できます。
以下にクラス内部を省略して、クラス間の関連を説明する時に使うクラス図を示します。(詳細なクラス表現中で、残りの属性や、操作を省略する場合は三つの点(...)の省略記号を使います)
図2

この図では、インターフェイスを長方形でなく○で示していますが、このような表現もできます。
クラス間の関連には様々な線が用いられます。長方形で示した、インターフェイス実装する時には、破線を使った△矢印になりますが、クラスを継承する場合は実践の△矢印を使います。
単に関連を表現する場合は、実践で使います。しかし、方向性がある場合は矢印(←)を使い、依存先を明確にする場合は破線の矢印(依存先←- - - -)を使います。
また、集約の場合は、管理元のクラスに白のひし形(◇)を使い、内部に包括(コンポジション)する場合は黒のひし形(◆)を使います。
また、この時の多重度を線の端に数で記述します。この例では、『問題操作クラス』は、0個以上の『ユーザー英語問題クラス』を集約し、『英語問題集合クラス』を1個だけ包括している図になります。



522:クラスタ       補助記憶に関してのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
cluster 訳:連続的にかたまって起こった出来事

円盤(ディスク)状の記憶装置における、OSの記録管理単位(アクセス最小単位

一般に複数のセクタをまとめて一つのクラスタとする。
FATファイルシステムでは1クラスに満たない小さいサイズのファイルでも1クラスタを使うことになる。
小さなファイルが多い場合はクラスタサイズを大きくすると、ハードディスクは無駄が多くなる。この無駄な空間はクラスタギャップと呼ばれる。
逆に画像や動画などの大容量データが多い場合、クラスタサイズを大きくした方がアクセス速度が上がる。




93:クリティカルパス       開発管理関連・ドキュメントのグループ先頭へ    このページ先頭へ移動    辞典の先頭へ
critical path
最早開始時刻と最遅完了時刻が同じ結合点をつなぐ経路である。

PERTを用いてプロジェクト全体の遅れに直結する個所を把握することができる。