ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

既存のHTMLの途中に(画面を変えずに、枠とか付けずに)HTMLを埋め込んで表示させる

2007-10-22 14:04:03 | JavaとWeb

には、はじめに、<div id=ラベル名></div>で出したいところにdivタグをおいておいて、あとで表示したいときに

document.getElementById('ラベル名').value="表示したいHTML";

を実行すると、実行したときに、表示したいHTMLが入るんだけど、

なんか、いま、そーいうのを検索していた人がいて、サンプルがないと聞いたので、このブログに書いておきますね。

以下のとおり
<html>
<head>
<SCRIPT Language="JavaScript">
<!--
function zikko()
{
	document.getElementById('kekka').innerHTML
	   ="<font color=red>大吉</font><BR>実は大吉しか出ません(^^;)";
}
// -->
</SCRIPT>
</head>
<body>
<input type=button value=おみくじ onclick="zikko()">
<div id="kekka"></div>
</body>
</html>

(上記<>は、本当は半角。なので試すときは半角に置換してね!)

いや、知っている人にとっては、たいした話じゃ、まったくないんだけど
(document.writeは画面が変わってしまう。iframeだと枠がつくし、はじめっから出っ放しになる)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

マネージャーは自分で開発できるだけの技術を持つ必要があるか?

2007-10-22 12:21:30 | Weblog

 むかし、(2、3年前かな?)この話題でブログを書いた記憶がある。
 そのとき、答えを出せなかったのですが、今なら、まあ、答えが見えてきた気がするので、書いてみたいと思います。




 答え:マネージメントされる人(=部下)のレベルによる

 つまり、何も知らない新人をマネージメントする場合、自分が完璧に出来ないと、まず、最近は指導できない。「本を見れば、Webを見ればわかる。それを探させるのが教育であり、何でも教えちゃうのはよくない」という人は、最近の短納期で地獄を見て、部下をうつ病にさせてください。本やWebでは、そこまで書いていません。

 具体的にはSugarCRMの場合の、本のひどさについてこの前書いたけど、現状はもっと。。。って、数千円しかしない本を読んで、ちゃんと出来ちゃったら、本屋さんもあがったりだから、仕方ないんだろうね(^^)

 ということで、新人の場合、自分がやって見せて、いいところ悪いところを評価できるレベルになっていないといけない。これは、出来るとか、わかるというレベルとは、次元が違うくらいできないといけない(実際に教える立場になると、同じレベルではダメだと気づく。よく、「教えて覚える」というが、その場合、教える側には勉強になっているが、教わる側は、あんまりよくわかっていない(とりあえず出来るけど)ってことが多い。この場合、応用がきかない)

 それを前提として、カリスマ的に引っ張っていくか、アドバイザーやコーチング的に引っ張っていくかは、その人の個性と状況による。




 でも、相手がプロに対して、おんなじようなマネージメントをしたら、これは嫌われる。自分がやるのではなく、相手がやりたがるようにモチベーションをあげればいい。そこで、出来る必要がなく、わかればいい。どちらかというとコーチングとか、ファシリテーター的になるのかな・・

 さらに、相手がプロで、ノリノリなら、まあ、遠巻きに見ているくらいでいいし・・おかしな方向に行ったときだけ、「おーい」って引き戻せばいい。で、おかしな方向に行かないような人(たいていこの場合、相手もマネージャークラスで、たまたま、今回部下をやっているって言うような場合)だったら、自分が分かってる必要もなく、足引っ張らない程度についていけばいい




 ということで、相手のレベルによる。

 最近は、世の中、新人レベルが増えてません??
 そーなると、従来のようにCOBOL屋さんのマネージャーだと、指導できなくてむりかもしれないですね。

 たしか、「はてな」だったか?新人をマネージャーにするって言うの。
 あれは、マネージされる人のレベルが高いっていうことなんでしょうね。
 低かったら、どーしょーもならないくらい、暴走してしまうと思う。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

いろんなコンピューター言語の覚え方:その3 覚える手順。

2007-10-21 23:41:59 | 土日シリーズ

 あたらしい土日シリーズ「いろんなコンピューター言語の覚え方」、前回は、コンピューター言語の体系というお話でした。
 コンピューターは、入力→(情報/データの)処理→出力という具合にながれますが、それを言語体系に合わせて考えると、こんなかんじ


・(さまざまなデバイスからの)入力
    画面
    ファイル
    ネットワーク
     :

  ↓

・処理
   ・変数宣言
      ・ある1つの値を宣言
         整数
         小数
         文字
         論理値
      ・複数の値を宣言
         配列
         (文字列)
         構造体
         ポインタ(1つの値でもOK,なんでもあり)

   ・処理命令
      ・処理命令
          ・演算子
          ・命令(関数・メソッド)
      ・制御文
          ・条件
          ・繰り返し
          ・ジャンプ

  ↓
・(さまざまなデバイスへの)出力
    画面
    ファイル
    ネットワーク
     :


今回はそれをもとに、覚え方の手順について考えてみたいと思います。




■覚え方の手順

 覚え方の手順としては、こんな感じかなあと思います。

(1)処理を開始するところについて、処理が終了するところについて
     処理の書式
     コメントの書式
     実行開始ポイント・終了箇所

(2)処理で扱えるデータとその宣言の仕方について
     変数について(整数、小数、文字、論理値など)
     変数の初期化について
     定数について
     複数の変数をまとめてあつかう
         配列とポインタ
         構造体・クラスなど

(3)宣言したデータの処理方法
     整数・小数の演算子、処理(メソッド・関数など)
     文字・文字列の演算子、処理(メソッド・関数など)
     論理値・その他の演算子、処理(メソッド・関数など)
     配列の処理など
     (ポインタの処理など=言語によってはない)
     構造体・クラスの処理など

(4)制御文
     条件
     繰り返し
     ジャンプ

(5)入出力処理
     ファイル
     画面
     DB
     ネットワーク

(6)複数の処理を作ってまとめる
     分割コンパイルなど




 次回から、上記の手順にそって、具体的な内容を書いていきたいと思います。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

失われた20年-ソフト業界は変わったのか? その15:1995年ごろ(8)

2007-10-20 23:56:38 | 土日シリーズ

20年位前、1980年代終わりごろから、最近まで、ソフト業界とかその周辺の変遷について、特にソフト開発の立場を中心に見て行く、土日シリーズ「失われた20年-ソフト業界は変わったのか?」その第15回目。

 今、1995~99年までについてです。今回は、そのころのネットワークのお話です。




 1990年代後半のネットワークはちょうど、パソコン通信から、インターネットに変わり始めた時期です。

 1994年に、たしかNetscape Navigatorができて、Webがだんだん。。というより、インターネットは、メールから入っていったと思います。

 PC-VANやNIFTYが、パソコン通信のIDのあとに、@pcvan.or.jpだったっけ?みたいな感じで@をつけて、インターネットにメールが遅れるサービスとかはじめて、それからだんだんとという感じだったと思います。

 その後、Web、そしてCGIとなっていきます。
 ちなみに、「千葉麗子とつくるインターネットホームページ」という本がでたのが、1996年ですから。。(千葉麗子さんは、さいきん、ヨガのせんせい??ですけど ^^;)

 当時は、ネットもモデムでつないで、モデムにプロバイダの案内が入っているという感じでした。多くはクレジットカード決済だったのですが、Internet Winは、銀行引き落としもやっていたなんていうことから(それ以外の理由もあるだろうけど)、Internet Winがはやりました。
(その後InterNetWinは、つい最近、突如、おわってしまった >_<!)

 商用的にも、はじめ、Internetを使うということは、あまり安全性などからかんがえていなかったけど、このころから、急に流行りだしたと思います。

 ま、簡単ですけど、当時のネット(1996年から98年ごろは)、こんなかんじですかね。。(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LEXMARKのプリンタ買ってVistaにつないだら、印刷直前にすぐオフラインになって印刷できず!

2007-10-20 22:28:52 | Weblog

 昨日、LEXMARKのプリンタZ640を3980円で買って、Vistaにつなぎました。
CDはVista用が入ってなかったので、ネットからドライバ落して、つないだら、濃度の印刷はできるんだけど、テスト印字も、そのほかの印字もできない(>_<!)

 ケーブルはつながっているのに、印刷直前でオフラインになる。。

 なーぜー(;_;!)

 1日中、いろいろやって、

 本質的な解決ではないんだけど、

 コントロールパネルのプリントで、LEXMARKのそのプリンタを選択し、右クリックすると出てくるプロダウンメニューから「プロパティ」を選択、
 出てきたプロパティダイアログの「ポート」タグで、「双方向サポートを有効にする」のチェックをはずしてOKボタンをクリックすると、キュー1個分だけ、出力できることがわかった・・

 この場合、削除してくれないので、プリンタの電源を一回OFFにして、その後ONにしないといけないんだけど(そうすると、削除され、次のキューが印刷される)。。

 不便だけど、安いから、ま、しかたないか(^^;)

P.S なんか、いい方法ないのかなあ・・??

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

レーザーファイブがSugarCRM?

2007-10-19 18:31:00 | Weblog

 昔からこの業界にいるひとは、レーザーファイブという「Linuxのディストリビューター」の名前をきいたことはありますよね(あと、新興市場株をやっている人は、ターボリナックスが最近買収したので、知っている?)・・・

 レーザーファイブって、Linuxの会社だと思ってたら。。。

 SugarCRMのメルマガで。。。
(以下斜体はSugarCRMのメルマガより引用)

J-Goldパートナーのソフトバンク・テクノロジー株式会社がBizInnovation
2007に出展します。その一環でSugarCRMコンタクトセンター機能の展示/デモ
を実施する予定です。10/22(月)のセミナーにご参加できない方は、是非こち
らのイベントにお越しください。

内容 : BizInnovation2007 ~ +ITでビジネスが加速する~
会期 : 2007年10月24日(水)~26日(金)  10:00~17:30
会場 : 東京ビックサイト  IPコミュニケーション&モバイル展会場
     レーザーファイブ社ブース(ブースNo. 東1ホール-小間番号1034)


 レーザーファイブのブースでSugarCRMをやるらしい。。。

 うーん・・・

P.S レーザーファイブといえば、KNOPPIXの飯島賢吾氏って、レーザーファイブのいいじまさんと同一人物なのかしら・・・??
Sugarには、全然関係ない話だけど・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「フリーソフトウェア運動とその未来」-リチャード M. ストールマン氏 特別講演会

2007-10-18 21:08:57 | Weblog


ここ http://www.senshu-u.ac.jp/School/network/news/event/rms.html
によると(以下斜体は上記サイトより引用)


日時:2007年10月29日(月) 10:40-12:10
場所:専修大学 生田キャンパス 10号館10301教室
講演者:リチャード M ストールマン氏 (フリーソフトウェア財団代表)
プログラム:
「フリーソフトウェア解説」 NPO法人フリーソフトウェアイニシアティブ 副理事長 専修大学非常勤講師 鈴木裕信氏
「フリーソフトウェア運動とその未来」 リチャード M ストールマン氏
参加無料、事前申込不要
お問合せ:専修大学ネットワーク情報学部教授 小林隆 (t.koba @ isc.senshu-u.ac.jp)
会場までのアクセス (http://www.senshu-u.ac.jp/ より「交通案内」をご覧ください)
小田急線向ヶ丘遊園北口下車(新宿から急行で約20分)。駅前バスロータリーより
「専修大学9号館」行きバスに乗り終点で下車(10分)→10号館まで徒歩2分。
「専修大学前」行きバス又は「聖マリアンナ医科大学」「あざみ野」行きバスに乗り「専修大学120年記念館」で下車(10分)→10号館まで徒歩5分。


なお、


学生だけでなく、フリーソフトウェア運動に関心のある多くの方々の参加を期待いたします。

とのこと。


。。。事前申し込み不要・・・ってみんな、大挙してしまうんでは(@_@!)

あ、そーか、だから、朝早いのね。。
フリーソフトなんかやる人は、そんな朝早く、おきねーだろーって。。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cの配列は分かる人に、ポインタを教えてみた結果。。。

2007-10-18 17:01:30 | Weblog


・malloc,freeの説明をした後で、実際に、mallocやfreeでどのような処理が
 行われているかということで、アドレスの話にもっていったほうが、
 わかりやすいようだ。

・むしろ、なぜ、配列だけではいけないか(可変領域をとるため)という
 説明は、必要みたい。

・サンプル、
    printf("%c \n",*(str1++));
 じゃなくって、
printf("%c \n",*(++str1));
 でしたね(^^;)。あとで、なおしときます。。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cの配列は分かる人に、ポインタを教える(その5)

2007-10-17 17:48:52 | Weblog


 その4のつづき。2重、3重のポインタとポインタ配列




■2重、3重のポインタ

2重、3重のポインタというのも、作れます。
こんなかんじ

char ***p;

 たとえば、文字列(char *str)がいくつか集まってレコード(行)を作る場合、

 char **rec;

 という形で、2重のポインタになりますし、


 この行がいくつか集まって、行列というか、表を作る場合は、

 char ***data;

 という形で、3重のポインタになります。





■ポインタ配列

 一方、intの配列、floatの配列、charの配列とか、いろいろ配列がありますが、ポインタも配列が作れます。こんなかんじ。

 char *rec[5];

 とか。。




以上で、このシリーズはおしまいです。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cの配列は分かる人に、ポインタを教える(その4)

2007-10-17 13:19:10 | Weblog


 その3のつづき。一般の変数のアドレスとポインタへの代入の話。




■一般の変数のアドレス

 char c;

 などという形で、変数を宣言しますが、この変数、メモリ上のどっかにとって、値を格納します。ということは、「メモリ上の入っている場所」、つまりアドレスがあるはずです。

 実際、変数のアドレスは、&を付けると取得できます。
 &cで、cのアドレス(「メモリ上の入っている場所」)を示します。
 このときの&をアドレス演算子といいます。

 プログラムでは、こんなかんじ。

#include <stdio.h>

void main()
{
	char *str1;
	char c = 'H';

	//	ポインタに設定
	str1 = &c;

	//	ポインタでアクセス
	printf("%c ¥n",*str1);
}

(上記 ¥ < > は、本当は半角)

ちなみに、AND演算子も&ですが、AND演算子は引数が2個、アドレス演算子&は、引数が1個です。

 また、p&=a;と、p=&a;では意味が違うので(当然結果も違う)ので注意です。




■ここまでのまとめ

 ここまでの内容をまとめてみましょう。

 こんな表にまとめられます。

配列ポインタ一般の変数
宣言char array[]="abcd";char *p;char c;
アドレスarrayp&c
array[0]*pc


 次回は、このシリーズの最後として、2重、3重のポインタの話やポインタ配列の話について書きたいと思います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cの配列は分かる人に、ポインタを教える(その3)

2007-10-17 02:21:38 | Weblog

 その2のつづき。配列とポインタのはなし




■ポインタに配列をセット

ところで、いままで、mallocで領域をとってポインタにセットしていましたが、
実は、mallocでとった領域だけでなく、配列をポインタにセットすることも出来ます。
こんなかんじ

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
	char *str1;
	char a[] = "Hello";

	//	配列をポインタに設定
	str1 = a;

	//	配列のようにアクセス
	printf("%c ¥n",str1[1]);

	//	ポインタでアクセス
	printf("%c ¥n",*str1);

	//	何番目かのモノを、ポインタでアクセス
	printf("%c ¥n",*(str1+1));

	//	++で足せる
	printf("%c ¥n",*(str1++));

}

(上記 ¥ < > は、本当は半角)

なんで、配列をポインタに入れることができるのか、考えます。




■アドレス

 その理由を考える前に、配列をポインタにいれている
str1 = a;
 について考えます。そもそも、aは何なんでしょうか?

 a[0]といったら、配列aの先頭の「値」です。

 aというと、(唐突ですが)配列aの先頭の「メモリ上の場所」を指します。

char a[] = "Hello";

 と宣言した場合、コンピューターのメモリー上に、Helloと値がセットされ、そのHelloの先頭(つまりH)が入っている場所がaにセットされます。
 この「メモリ上の入っている場所」のことをアドレスといいます。

 つまり、aは、アドレスです。

 それを代入しているポインタのstr1も、アドレスです。

 つまり、ポインタとは、「メモリ上に入っている場所」=アドレスを格納しているもので、*をつけると、その「メモリ上に入っている所」に入っている実際の値を返すということです。

つまり「なんで、配列をポインタに入れることができるのか」については、どちらも、アドレスを入れているのでということになります。




■ここまでのまとめ

 ここまでの内容をまとめてみましょう。

 こんな表にまとめられます。

配列ポインタ
宣言char array[]="abcd";char *p;
アドレスarrayp
array[0]*p


次に、一般の変数とアドレス、ポインタの関係について考えてみたいと思います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cの配列は分かる人に、ポインタを教える(その2)

2007-10-16 19:11:59 | Weblog

 その1のつづき。ポインタによるアクセス




■配列のように、添字を使ってアクセスする

 ポインタに文字列をコピーしたあと、その何番目かの文字を利用したい場合は、どうしたらよいのでしょうか?

 1つの方法は、配列のように、添字を使います。
 こんなかんじ

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
	char *str1;

	str1 = (char *)malloc(20);
	strcpy(str1,"Hello");

	//	配列のようにアクセス
	printf("%c ¥n",str1[1]);

	free(str1);
}

(上記 ¥ < > は、本当は半角)

上記の例では、str1[1]というように、ポインタで取った領域を配列のようにアクセスしています。




■ポインタによるアクセス

 もうひとつは、*を付けてアクセスする方法です。
 *を付けると、その領域の中身を示します。

 なので*str1は、str1の文字列(領域)の、先頭の文字を現します。
 そのとなりの文字が見たい場合、str1+1で、2番目の文字のところに行きますので、*(str1+1)で、隣の文字の中身が見れます。
 str++のように足し算も出来ます。

こんなかんじです。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
	char *str1;

	str1 = (char *)malloc(20);
	strcpy(str1,"Hello");

	//	ポインタでアクセス
	printf("%c ¥n",*str1);

	//	となりを、ポインタでアクセス
	printf("%c ¥n",*(str1+1));

	//	++で足せる
	printf("%c ¥n",*(str1++));

	free(str1);
}

(上記 ¥ < > は、本当は半角)




■*(str1++)と(*str1)++は違う

 上記で、str1に"Hello"とセットしたとき、

*(str1++)と(*str1)++は違う意味になるので、注意です。

*(str1++)というのは、まずはじめにstr1を++(インクリメント、1足す)して、
その後、*つまり、中身を表示しなさいという意味です。
上記の例だと、Hの次の'e'という文字になります。

一方、(*str1)++は、まずはじめに、中身を求め(上記の例だと'H')、
その値に1を足しなさいということになるので、'H'の次の'I'が答えと
いうことになります。

 このように、*(str1++)と(*str1)++は違う意味になるので、注意です。




 次に、配列とポインタの類似性について触れたいと思います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

わかりやすい仕様記述および合意方法の共同検討成果の第一弾「発注者ビューガイドライン(画面編)」

2007-10-16 14:05:44 | 開発ネタ

 今日、あることで、構造計画のYAHOOニュースを見ていたら、こんなもの発見・・

お客様にわかりやすい仕様記述および合意方法の共同検討成果の第一弾「発注者ビューガイドライン(画面編)」を公開開始~検討会に新たに3社参加し体制も強化~
http://profile.yahoo.co.jp/press_release/?s=4748&id=4748102534


これって、日経ソリューションビジネス2007年10月15日号(「儲かるSaaSはこう作れ!」って表紙に書いてある号)の43ページにある、富士通、NEC,日立、構造計画、東芝ソリューションが作ったガイドライン、「発注者ビューガイドライン(画面編)」のことですよね。

 見てみましょう。。。
発注者ビューガイドライン(ダウンロード可能)
http://www.nttdata.co.jp/cview/guideline.html

の一番下で同意して。。。

う(>_<!)
ダウンロードたいへん・・・(>_<!!)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CCNA1のお勉強をゆるーくやってみる。その5:IPアドレスからAND・ORまで。

2007-10-15 23:25:00 | 土日シリーズ

シリーズ「CCNA1のお勉強をゆるーくやってみる」です。

今日は、ANDとORの話・・・をするために、まずIPアドレスから・・・




■IPアドレスとドット区切り10進

 インターネットアドレスは、32ビットで表します。
 ただ、32ビットを2進数で並べたらわけわかんないので、
 8ビットづつ、4個の束に分けます。

 そして、それぞれの8ビットを10進数にして、ドット(.)で
つないだものを、「ドット区切り10進表記」とよびます。

 192.168.0.1などです。




■IPアドレスとサブネットマスク

 世の中には、A社のネットワーク、B社のネットワークと、さまざまなネットワークがあります。
 そして、そのネットワークの中に、いくつかのコンピューター(これをホストと呼びましょうか)がつながっています。
 ということは、ネットワークがあって、その中にホストがあるわけです。

 IPアドレスで、コンピューターが一意に決められるわけなのですが、
ということは、IPアドレスもネットワークを表す部分(ネットワーク部)と、そのなかのコンピューターを表すところ(ホスト部)があります。

 32ビットのうち、8ないし16ないし24ビットは、ネットワーク部と呼ばれ、のこりの部分がホスト部と呼ばれます。
 ネットワーク部が、8ビットがクラスA、16ビットがクラスB、24ビットがクラスCと呼ばれます。




■ネットワーク部だけ取り出す方法

 このとき、ネットワーク部を取り出したいという場合があります。
 どうするか。。

 取り出したいネットワーク部の部分のビットに1をたて、(これをサブネットマスクといいます)それを、ブール論理の論理積というのをとると、できます。




■ブール論理

 で、そのブール論理と呼ばれるものには、
   NOT
   AND(論理積)
   OR (論理和)
 などがあります。(ちなみにNANDとORがあると、全部表現できるらしいです)




次回から、もちょっとネットワークしている話になります。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

いろんなコンピューター言語の覚え方:その2 コンピューター言語構造の体系

2007-10-14 23:43:30 | 土日シリーズ

 先週からはじまった、あたらしい土日シリーズ「いろんなコンピューター言語の覚え方」、今日は、前回登場した、コンピューター言語の体系について、ちょっと詳しく書きたいと思います。




■コンピューター言語は、情報を処理するためにある。

 コンピューター言語というのは、情報を処理するためにあります。
 つまり、情報を処理させる手順・方法などを記述したのがコンピューター言語なわけです。

 ここで、情報処理というのは、さまざまな入力デバイスからデータを入力し、データを処理して、さまざまな入力デバイスに、処理結果を出力することです。

 ということは、コンピューター言語もそれに対応して、入力するための記述、処理するための記述、出力するための記述の部分があります。
 ここまでをまとめると、こんなかんじ

・(さまざまなデバイスからの)入力
    画面
    ファイル
    ネットワーク
     :

  ↓
・処理

  ↓
・(さまざまなデバイスへの)出力
    画面
    ファイル
    ネットワーク
     :




■処理について着目してみると・・・

 ここで、入力→処理→出力の処理について考えてみます。

 入力してきたデータは、プログラムの内部に一時的においておき、処理加工します。この処理のとき、いっぺんに処理できないので、処理と処理の間でも、一時的に処理結果(=データ)を置いておきます。なので、処理部分の記述は、一時的にデータを置いておく部分と、処理命令部分に分かれます。

 一時的に処理データを置く部分は、変数となるのですが、変数は、コンピューター言語によって、宣言したり(使う前に事前に書いたり)、宣言しなくて良かったりします。
 宣言する言語においては、変数として保存するデータによって、宣言が変わったりします。

  整数
  小数(実数)
  文字
  論理値

 などが、1つの変数で1つの値をもつもので、

 複数の値を1つの変数としてまとめて宣言するものとしては、

  配列=同じ種類のものを、領域を決めて宣言
  構造体=ちがう種類のものを、1つのものにまとめて宣言

 があります。文字の配列が文字列となりますが、文字列の場合は、違う宣言をするものもあります。

 なお、ポインタを宣言できる言語があり、これは、なんでもありです。ただし、同じ種類のものを、「はじめに領域をきめず」処理中に、大きさを決めて使う場合に多いです。

 ここまでをまとめると、こんなかんじ。



・(さまざまなデバイスからの)入力
    画面
    ファイル
    ネットワーク
     :

  ↓
・処理
   ・変数宣言
      ・ある1つの値を宣言
         整数
         小数
         文字
         論理値
      ・複数の値を宣言
         配列
         (文字列)
         構造体
         ポインタ(1つの値でもOK,なんでもあり)

   ・処理命令

  ↓
・(さまざまなデバイスへの)出力
    画面
    ファイル
    ネットワーク
     :





■処理命令について詳しく見ると。。

 上記処理において、変数宣言について、詳しく見ましたけど、処理について考えると、順番にやる処理と、順番にやらない(条件分岐、ジャンプなど)ものがあります。順番にやらないものを制御文と呼びます。

 制御文には、条件制御、繰り返し制御、単純なジャンプなどがあります。例外は、ジャンプ的な性格を持っている??かな。

 順番にやる処理の場合は、演算子という、+-*/みたいなものと、関数やメソッドのような、処理命令を書くものがあります。
 なお、処理命令においては、変数のときにみた、整数、小数、文字(文字列)を操作する命令があり、それらを変換する処理もあります。
 演算子の場合は、整数、小数、文字(文字列)どれかしか操作できないものもあるし、(文字列の連結の . など)意味が違う場合もあります(JavaやJavaScriptの+ の文字の場合と数字の場合)

ここまでをまとめると、こんなかんじ


・(さまざまなデバイスからの)入力
    画面
    ファイル
    ネットワーク
     :

  ↓
・処理
   ・変数宣言
      ・ある1つの値を宣言
         整数
         小数
         文字
         論理値
      ・複数の値を宣言
         配列
         (文字列)
         構造体
         ポインタ(1つの値でもOK,なんでもあり)

   ・処理命令
      ・処理命令
          ・演算子
          ・命令(関数・メソッド)
      ・制御文
          ・条件
          ・繰り返し
          ・ジャンプ

  ↓
・(さまざまなデバイスへの)出力
    画面
    ファイル
    ネットワーク
     :




次回は、この体系をもとに、どのように、言語を理解していったらいいかについて考えてみたいと思います。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする