短期大学部 総合文化学科

【コラム/IT】トイ・コンピューター

20.11.05

 申し込みはこちら

トイ・コンピューター

ブライアン・カーニハン先生の著書に『教養としてのコンピューターサイエンス講義—今こそ知っておくべき「デジタル世界」の基礎知識』という教科書があります。この本の原題は、Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security といいます。

この教科書は、コンピューターの専門家あるいは専門家になろうとしている人むけではなく、ふつうの生活をおくる人に向けたものです。その趣旨は、あたりまえになって、特に意識もしなくなった、ディジタルコンピューティングとインターネットの世界の、あたりまえの便利さの裏にある、気づかないでいる、脅威(監視社会、プライバシーの侵害など)について考える本です。ものごとの基本的な仕組みを知ることが、便利さを上手く使い、脅威を回避することに繋がるということです。

とはいうものの、そもそもコンピューティングの仕組みというのは、ちょっとしたパズルのようなところがあって、面白いものです。件の教科書にも、コンピューターの頭脳?CPUについて説明するために考えだされた「なんちゃって」おもちゃコンピューターの話しがでてきます。このコンピューターは10個の基本命令を実行する能力と、プログラムやデータを格納するメモリ、それに、計算結果1つだけ格納するアキュムレータで構成されています。基本命令にある算術演算は足し算と引き算だけです。以下のプログラムは、2つの数字を読み込んで、足し算をして、その結果を表示するプログラムです。

    GET
    STORE SUM
    GET
    ADD SUM
    PRINT
    STOP
SUM 0

1. GET — キーボードから読み込んだ数値をアキュムレータにセットする
2. STORE SUM — 現在アキュムレータにある数値をメモリ位置SUMにセットする
3. GET — キーボードから読み込んだ数値をアキュムレータにセットする(もともとあった値は上書きされる)
4. ADD SUM — アキュムレータの値にメモリ位置SUMにある値を足し込む
5. PRINT — アキュムレータの値を表示する
6. STOP — 実行を停止する
7. SUM 0 — プログラム実行まえにメモリのこの位置(SUMという位置)に 0 をセットする

足し算するだけなのにずいぶんな手間ですね。でも、本物のコンピューターはこれを超高速でおこなうので、全然苦にならないのです。さて、ここでパズルです。以下のプログラムはなにを計算しているでしょう。

    GET
    STORE X
    GET
    STORE Y
TOP IFZERO BOT
    SUB 1
    STORE Y
    LOAD Z
    ADD X
    STORE Z
    LOAD Y
    GOTO TOP
BOT LOAD Z
    PRINT
    STOP
X 0
Y 0
Z 0

[カーニハン先生のサイト](https://kernighan.com/toysim.html)にこのプログラムを実行できるシミュレーターがありますのでぜひ動かしてみましょう。

「RUN」ボタンをクリックすると「Program:」欄のプログラムが実行されます

RUNボタンをクリックするとProgram欄に書いたプログラムが実行されます

人には単純な算術式であらわせるものでも、コンピューターには何行もの具体的な命令が必要なのです。逆にコンピューターには具体的な命令列であっても、人間には具体的すぎて、もっと抽象的に表現してもらわないとわかりにくい例ですね。

<お知らせ1>
11月22日(日)来校型&オンライン配信型のオープンキャンパスを開催します。

*来校型 午前の部(10:30~12:30) 申し込みはこちら
10:30~12:00 学部・学科別プログラム
12:00~12:30 個別相談

*オンライン配信型(13:00~14:50) 申し込みはこちら
13:00~   大学・短期大学概要説明、入試・特待制度説明
13:55~ 面接のポイント講座
14:20~ 学生トーク

<お知らせ2>
WEB上でのオープンキャンパスを開催中ですので是非ご覧ください!
 ブログ連続オープンキャンパス(Vol.1~Vol.10)こちら(New!
 大学のWEBオープンキャンパス特設ページこちら
 総合文化学科のWEBオープンキャンパス特設ページこちら

図書館司書・ITコース紹介はこちらから
ファッション・造形デザインコース紹介はこちらから
フードマネジメントコース(フード)紹介はこちらから
フードマネジメントコース(製菓)紹介はこちらから

※ ツイッター・インスタグラムもぜひご覧ください!

PAGE TOP