[ 前へ | 目次 | 次へ ]

プログラミング

ここまでは、いわゆる電卓ソフトとしての機能を扱ってきました。ここからは、順番の手続きに沿った計算や、条件分岐や繰り返しなど、プログラミングによる高度な処理を活用していきましょう。

ここではまず、リニアンプロセッサーにおけるプログラミングの概要について、軽く説明します。


リニアンプロセッサーの中核処理エンジンは、とても高性能 !

リニアンプロセッサーにおけるほぼ全ての処理は、 「 VCSSL エンジン 」という中核処理エンジンが担っています。 このエンジンは、電卓ソフト用の処理エンジンとしてはとても高性能で、 1 秒間に1 億回 ( 100 M FLOPS )を超える高速計算が可能です。

  

しかし、人間が電卓のボタンを叩けるのはせいぜい 1秒に数回 なので、普通に使っていても全く処理速度を活かしきれず、 ただオーバースペックなだけになってしまいます。

もしも、リニアンプロセッサーの処理エンジンの性能を最大限に発揮できたなら、 複雑な処理を全自動化して一瞬で完了させたり、膨大なデータをまとめて処理したり、 精密な科学技術計算を行ったり、様々な事ができるでしょう。 これを可能にしてくれるのが、「 プログラム 」の仕組みです。

「 プログラム 」 とは 「 する事のリスト 」

それでは、「 プログラム 」とは一体何なのでしょうか。それは、「 する事のリスト 」です。

例えばあなたが、自分で電卓のボタンを押して複雑な計算を行う代わりに、他の人にやってもらう場合を考えてみてください。 その場合、どういった数値に、どういった内容の計算をして、 結果をどのようにまとめるのか、「 する事のリスト 」を紙に書いて渡す事でしょう。

例えば、「 1 から100 までの素数の和を求めよ 」といった計算の場合は、下記のようなリストになるでしょう。

▼人間が人間に処理を頼む時の、「 する事のリスト 」
・ここからの内容を、1 から100 まで繰り返してください。( 繰り返し中の回数をi とします )
・もしi を、2 からi-1 まで全ての数で割って、余りが一回も0 にならないなら、それは素数です。
・もしi が素数なら、i の値を合計に足してください。
・繰り返しはここまでです。
・最後に、合計の値を教えてください。

※ 実はこの場合には2,3,5,7 で割った余りのみで素数か判定できるのですが、簡単のため上のようにしています。

これを受け取った人は、そこに書かれている通りに電卓を叩いて、計算を行ってくれるわけです。 実は、この 「 する事のリスト 」 が、プログラムなのです。

実際のプログラムは、機械にとって分かりやすい言語で記述

ただし、上のような普通の文章は、人間が人間に伝える場合には良いのですが、機械に伝える場合には、 言い回しなどが不必要に複雑だったり、曖昧だったりして、理解するのが難しいという問題があります。 よく 「 日本語は難しい 」 と言われますが、ただでさえ人間にとっても難しいのに、機械にとっては難し過ぎるのです。

そこで一般に、機械やソフトウェアに「 する事のリスト 」を伝えたい場合は、「 プログラミング言 語 」と呼ばれる特別な言語で記述します。プログラミング言語は、人間の話す言語(自然言語)に 特有の曖昧さや複雑さを排除した、機械にとって都合の良い言語です。

※ あくまで「自然言語に比べて」という意味であって、プログラミング言語の中でも機械寄りのもの(機械語、アセ ンブリ言語)から、人間寄りのもの(高級言語、スクリプト言語)まで、色々なものがあります。

先ほど例に挙げた、人間用の「 するの事リスト 」を、ちゃんとプログラミング言語で書き直すと 下記のようになります。これが、一般に「 プログラム 」と呼ばれるものです。

▼人間が機械に処理を頼む時の、「 する事のリスト 」 = プログラム

プログラムの利点

このように、リニアンプロセッサーは、「 する事のリスト 」 = プログラム を読んで、複雑な計算を自動で行う事ができます。 このように、処理内容をプログラムにまとめる事で、次のような利点があります。

▼プログラムの利点
利点1. 人間がボタンを押すのを待つ必要がないので、常に最大の処理速度を発揮できる
利点2. いろいろな処理を複雑に組み合わせて、より高度な処理を実現できる
利点3. 一度プログラムとして書いた処理は、何度でもすぐに使用できる( = 機能を拡張できる )

利点1 に関してはこの通りで、最大1 億回/秒に及ぶ処理速度を、フルに活用する事ができます。 いちいち人間が数値を打ち込まなくても、ファイルに記述された膨大なデータを読み込んで、自動で次々と処理していく事などが可能です。

続いて利点2 ですが、プログラムは文章として記述するという形態上、ボタンの直接打ち込みに比べて、 はるかに長く複雑な処理内容を、正確に伝える事ができます。また、ボタンやウィンドウといったGUI 部品も使う事ができます。 なので、頑張って数百行から数千行規模のプログラムを書けば、もはや一つのソフトウェアと呼べるような、高度なものでも作る事ができます。

最後に、最も大きな利点と呼べるのが、利点3 です。リニアンプロセッサーでは、作ったプログラムを、 「 Program 」メニューに追加してすぐに呼び出す事ができます。つまり、一度頑張ってプログラムに書いておいた処理は、 それ以降は何度でもすぐに使えるようになるのです。これは、リニアンプロセッサーの機能を自由自在に拡張できる事に他なりません。

実際にプログラムを使ってみる

ここまでは、プログラムの仕組みを説明してきました。ここからは、実際にプログラムを使用してみましょう。 まず、メニューバーから「 Program 」メニューをクリックしてください。すると、プログラムを選択する画面が表示されます。 ここからプログラムを選択すると、そのプログラムに記述された処理が実行されます。

リニアンプロセッサーには、最初から便利なプログラムが付属しています。その一例としては、以下のようなものがあります。 この標準プログラムは、今後も追加されていく予定です。

▼プログラムの利点

・微積分: 「Program」メニュー > 「DiffAndIntegral_微積分」フォルダ

・微分方程式: 「Program」メニュー > 「DiffEq_微分方程式」フォルダ

・ベンチマーク: 「Program」メニュー > 「Benchmark_処理性能ベンチマーク」フォルダ

・いろいろな処理のサンプル: 「Program」メニュー > 「Sample_いろいろな処理のサンプル」フォルダ

新しいプログラムは「 RinearnProcessorProgram 」フォルダへ追加
たくさん集めて、自分の専門分野に特化したオリジナル電卓に !

「 Program 」メニューをクリックした時に表示されるのは、「 bin 」フォルダの中にある「 RinearnProcessorProgram 」フォルダです。 新しいプログラムを入手または自作したときは、ここに置いておきましょう。すると、「 Program 」メニューからすぐに使えて便利です。たくさん集めれば、 リニアンプロセッサーを、自分の専門分野に特化したオリジナル電卓に育てることができます。



スポンサーリンク


スポンサーリンク

この階層の目次
お知らせ

Vnanoのソースコードと開発リポジトリをGitHubで公開
2018年09月30日 - 現在開発中の、ソフトウェア上でのスクリプト処理用途に向けた小型・軽量スクリプトエンジン「 Vnano 」のソースコード&リポジトリを公開しました。ビルド・使用方法や、現状の段階と今後などを解説します。

リニアングラフ3D&2D Ver.5.6 リリース! Java言語のプログラムからも制御可能に
2018年08月19日 - 約5年ぶりの大きなバージョンアップを迎えた、新しいリニアングラフ Ver.5.6の特徴をご紹介します。UIがリファインされ、Java言語でグラフ描画ライブラリとして使う事も可能になりました。

ライセンスの緩和方向への改訂を実施、条件を満たす場合のソフトの再配布などが可能に
2018年07月16日 - RINEARNでは2018年7月に、ソフトウェアライセンスの緩和方向への改訂を実施しました。新ライセンスでは、いくつかの条件を満たす場合において、ソフトの再配布などが無申請で可能になりました。

コードアーカイブ新着
配列を3Dグラフにアニメーションプロットする(点/線グラフ)

座標値配列の内容を、3次元の点/線グラフに連続でプロットし、アニメーションさせるサンプルプログラムです。
2018年11月14日
配列を2Dグラフにアニメーションプロットする

座標値配列の内容を、2次元グラフに連続でプロットし、アニメーションさせるサンプルプログラムです。
2018年11月13日
配列を3Dグラフにプロットする(曲面/メッシュグラフ)

座標値配列の内容を、3次元の曲面/メッシュグラフにプロットするサンプルプログラムです。
2018年11月12日
ファイルを3Dグラフにプロットする(曲面/メッシュグラフ)

座標値ファイルの内容を、3次元の曲面/メッシュグラフにプロットするサンプルプログラムです。
2018年11月11日
連番画像をアニメーション再生する簡易ツール

フォルダ内の連番画像ファイルを、動画への変換不要で、そのままアニメーションとして再生できる簡易ツールです。
2018年09月04日
公式Twitterアカウント

スポンサーリンク