JP2020035147A - 情報処理方法、情報処理装置、およびプログラム - Google Patents

情報処理方法、情報処理装置、およびプログラム Download PDF

Info

Publication number
JP2020035147A
JP2020035147A JP2018160574A JP2018160574A JP2020035147A JP 2020035147 A JP2020035147 A JP 2020035147A JP 2018160574 A JP2018160574 A JP 2018160574A JP 2018160574 A JP2018160574 A JP 2018160574A JP 2020035147 A JP2020035147 A JP 2020035147A
Authority
JP
Japan
Prior art keywords
script
instruction
information processing
editing
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018160574A
Other languages
English (en)
Other versions
JP7206704B2 (ja
JP2020035147A5 (ja
Inventor
暁子 村木
Akiko Muraki
暁子 村木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018160574A priority Critical patent/JP7206704B2/ja
Publication of JP2020035147A publication Critical patent/JP2020035147A/ja
Publication of JP2020035147A5 publication Critical patent/JP2020035147A5/ja
Application granted granted Critical
Publication of JP7206704B2 publication Critical patent/JP7206704B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Calculators And Similar Devices (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】プログラミングの学習効果を高めることができる情報処理方法、情報処理装置、およびプログラムを提供する。【解決手段】電子機器は、ディスプレイと、スクリプト実行エンジン22aとを備える。ディスプレイは、命令リストを表示する第1画面、または命令リストの実行結果を表示する第2画面を表示する。スクリプト実行エンジン22aは、第2画面に表示されるオブジェクトを編集するユーザ操作を受け付けるオブジェクト編集受付ルーチン22a1と、編集されたオブジェクトに対応する命令リストを作成するスクリプト作成ルーチン22a2と、作成された命令リストを第1画面に表示する表示制御ルーチン22a3とを具備する。【選択図】図5

Description

本発明は、情報処理方法、情報処理装置、およびプログラムに関する。
近年の電卓は高度な機能を有し、例えば、グラフの描画、連立方程式の計算、変数を用いた演算等の可能な関数電卓が知られている。テキスト情報や計算結果のグラフ等を表示するためのディスプレイを持つものもある。そこで、例えばプログラミングを教育するために関数電卓を利用することが考えられている。
この種の関数電卓は、デフォルトの計算モードに加えて、プログラムを記述することの可能なモードを備える。以下、このモードを『アルゴリズムモード』と称して説明する。ユーザは簡単な操作により、計算モードからアルゴリズムモードに移ることができる。
アルゴリズムモードでは、変数に値をセットしたり、簡単な制御構造を記述できるコンパクトなプログラムを作成することができる。以下、この種のプログラムを『スクリプト』と称して説明する。スクリプトは命令としての『コマンド』の集合であり、コマンドはそれぞれ特有の処理を実行する。例えば、ディスプレイ上にアバターを表示したり、移動させたりするコマンドがある。コマンドを組み合わせてスクリプトを作成すれば、ディスプレイ上に図形を描画することもできる。
ここで、アバターとは、ディスプレイに表示される画面に設定される座標系内の、コマンドに応じて定められる座標値に対応する位置に表示される表示体のことである。アバターは、動物などのキャラクターの画像であってもよいし、矢印やドットなどの抽象的な画像であってもよい。
https://www.youtube.com/watch?v=eORDWe7vxdU("Scratch - Why does my sprite get stuck on the edge")(2017年12月14日検索)
アルゴリズムモードは、いわゆるビジュアルツール(Visual tools)といわれるプログラミング環境の一つであり、スクリプトでアバターを動かしていろいろな図形を描画することができる。現状では、ユーザがスクリプトを作成し、マシンが図形を描く、という時系列であるが、これを逆にして、ユーザが図形を描き、マシンがその図形に合わせたスクリプトを作成する、という機能は知られていない。描いた図形から作成されたスクリプトと自作のスクリプトとを比べることができれば、学習効果が大幅に高まることを期待できる。特に、初心者にとっては学習意欲を高めるうえでも非常に有益であるといえる。
本発明は、プログラミングの学習効果を高めることができる情報処理方法、情報処理装置、およびプログラムを提供することを目的とする。
本発明に係る情報処理装置の制御手段により実行される方法は、実行内容を編集する第1編集操作を受け付け、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成し、表示部に表示する第1処理を実行する。
図1は、本発明の実施形態に係る表示制御方法が適用された電子機器の外観の一例を示す正面図である。 図2は、スクリプト編集画面の一例を示す図である。 図3は、スクリプト実行画面の一例を示す図である。 図4は、電子機器10の一例を示す機能ブロック図である。 図5は、スクリプト実行エンジン22aに含まれるサブルーチンの一例を示す図である。 図6は、スクリプト実行画面上でのユーザ操作の一例を示す図である。 図7は、スクリプト実行画面に描画されるオブジェクトの一例を示す図である。 図8は、実施形態に係わる電子機器10の処理手順の一例を示すフローチャートである。 図9は、実行モードの選択に際してディスプレイ12に表示されるプロンプト画面の一例を示す図である。 図10は、Edit−>Runモード、およびRun−>Editモードについて説明するための図である。 図11は、Run−>Editモードにおける処理手順の一例を示すフローチャートである。 図12は、優先順位の設定に際してディスプレイ12に表示されるプロンプト画面の一例を示す図である。 図13は、図12の『1:Turn』を優先して作成されたスクリプトの一例を示す図である。 図14は、図12の『2:Direction』を優先して作成されたスクリプトの一例を示す図である。 図15は、図12の『3:Go to x,y』を優先して作成されたスクリプトの一例を示す図である。 図16は、スクリプトの作成条件の指定に際してディスプレイ12に表示されるプロンプト画面の一例を示す図である。 図17は、図13のスクリプトにRepeat命令を適用して作成されたスクリプトの一例を示す図である。 図18は、スクリプトの自動作成に係わる処理手順の一例を示すフローチャートである。 図19は、この実施形態におけるユーザの操作手順の概略を説明するためのフローチャートである。 図20は、図形描画に係わる例題の一つを示す図である。 図21は、ユーザにより入力される図形の一例を示す図である。 図22は、位置指定の優先度『1:Turn』、Repeatコマンド『不使用』の場合のスクリプトの一例を示す図である。 図23は、位置指定の優先度『2:Direction』、Repeatコマンド『不使用』の場合のスクリプトの一例を示す図である。 図24は、位置指定の優先度『3:Go to』、Repeatコマンド『不使用』または『使用』の場合のスクリプトの一例を示す図である。 図25は、位置指定の優先度『1:Turn』、Repeatコマンド『使用』の場合のスクリプトの一例を示す図である。 図26は、位置指定の優先度『2:Direction』、Repeatコマンド『使用』の場合のスクリプトの一例を示す図である。
以下に、本発明の実施形態に係る表示制御方法が適用された電子機器を、図面を参照して説明する。
図1は、本発明の実施形態に係る表示制御方法が適用された電子機器の外観の一例を示す正面図である。図1は、電子機器10を関数電卓として実施した場合を示す。なお関数電卓に限定されず、電子機器10は、タブレット端末、スマートフォン、携帯電話機、タッチパネル式PDA(Personal Digital Assistants)、電子ブック、携帯ゲーム機等として構成することもできる。物理的なキー(ボタン)を持たない、例えばタブレット端末のような電子機器(図示せず)は、関数電卓のキーと同様なソフトウェアキーボードを表示し、このソフトウェアキーボードに対するキー操作に応じて処理を実行する。
図1において、電子機器10は、本体正面にキー入力部11、およびディスプレイ12を備える。キー入力部11は、数値、数式、およびコマンドを入力したり、計算やスクリプトの実行を指示したりするための数値・演算記号キー群111、各種の関数を入力したりメモリ機能を立ち上げたりするための関数機能キー群112、計算モードやアルゴリズムモードといった各種動作モードのメニュー画面を表示させたり、これら動作モードの設定を指示したりするための設定キー群113、各種の機能を1回のキー操作で立ち上げるためのファンクションキー群114、ディスプレイ12に表示されたカーソルの移動操作やデータ項目の選択操作などを行うためのカーソルキー115を含む。
数値・演算記号キー群111としては、[0]〜[9](数値)キー、[+][−][×][÷](四則記号)キー、[=](実行:EXE)キー、[AC](クリア)キーなどが配列される。
関数機能キー群112としては、[sin](サイン)キー、[cos](コサイン)キー、[tan](タンジェント)キーなどが配列される。
設定キー群113としては、[OPTN](オプション)キー、[CALC](キーなどが配列される。
ファンクションキー群114としては、[SHIFT]キー、〜[ALPHA]キーなどが配列される。
なお、数値・演算記号キー群111、関数機能キー群112、設定キー群113、ファンクションキー群114のキーは、[SHIFT]キーが操作された後に続けて操作されることで、そのキートップに記載されたキー機能ではなく、そのキーの上方に記載されたキーとして機能できるようになっている。例えば、[SHIFT]キー操作後に[DEL]キーが操作(以下、[SHIFT]+[DEL]キーと記す。)されると、[UNDO](操作取消)キーとなる。
電子機器10の動作モードは、例えば設定キー群113における『CALC』キーが押下されるたびに、計算モードとアルゴリズムモードとで交互に切り替わる。すなわち、電子機器10は、少なくとも、計算モードとアルゴリズムモードの2種類の動作モードを備える。もちろん、3つ以上のモードを備えていてもよく、その場合には『CALC』キーを押下するたびに順次、モードを切り替えるようにすればよい。
ディスプレイ12は、例えばドットマトリクス型の液晶表示ユニットである。電子機器10がタブレット端末であれば、ディスプレイ12は、タッチパネルを重ねて設けた液晶表示ユニットである。ディスプレイ12は、スクリプト編集画面と、スクリプト実行画面との少なくとも2つの画面を、ユーザ操作に応じて切り替え表示する。
図2に示されるように、スクリプト編集画面は、命令リストとしてのスクリプトを、表示画面内の、例えば4行のスクリプト表示領域に縦スクロール可能に表示する。各行がコマンドに対応する。スクリプト編集画面上でスクリプトを編集することも可能である。
図3は、スクリプト実行画面の一例を示す図で、アバターAが座標(x、y)=(5,0)に表示されていることを示す。ちなみに図3は図2のスクリプトの実行結果を示しており、アバターAは(0,−1)→(5,−1)→(5,0)の順に移動し、その移動軌跡が図3に直線で示される。実施形態では、スクリプト実行画面上で描画されるアバターの移動軌跡を、オブジェクトと称する。
図4は、電子機器10の一例を示す機能ブロック図である。電子機器10は、キー入力部11およびディスプレイ12に加えて、CPU(Central Processing Unit)21、メモリ22、および記録媒体読取部24を備える。つまり電子機器10は、プロセッサとメモリとを有する、コンピュータである。
CPU21は、メモリ22に書き込まれているプログラムに従って各部の動作を制御し、キー入力部11からのキー入力信号に応じた各種の処理を実行する。プログラムは、メモリ22に予め記録されていてもよいし、あるいはメモリカード等の外部記録媒体23から記録媒体読取部24を介してメモリ22に読み込まれて記憶されたものであってもよい。
メモリ22は、書き換え不可の領域に加えて、書込可能データエリア22bを有する。書込可能データエリア22bは、例えば、キー入力部11によりキー入力されたキーコードのデータ、数式のデータ、表データ、グラフデータ、あるいはスクリプトのテキストデータ等を記憶するためのエリアである
例えば、メモリ22の書き換え不可の領域に、プログラムとしてのスクリプト実行エンジン22aが記録される。スクリプト実行エンジン22aは、アルゴリズムモードにおけるスクリプトの編集、コンパイル、実行等の、スクリプトの作成から実行に係わる機能を制御するプログラムである。
電子機器10は、プログラムに記述された命令に従ってCPU21が各部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、以下に説明する機能を実現する。
図5は、スクリプト実行エンジン22aに含まれるサブルーチンの一例を示す図である。スクリプト実行エンジン22aは、オブジェクト編集受付ルーチン22a1、スクリプト作成ルーチン22a2、表示制御ルーチン22a3、スクリプト編集受付ルーチン22a4、および作成条件設定ルーチン22a5を備える。
オブジェクト編集受付ルーチン22a1は、スクリプト実行画面に表示されるオブジェクトを編集するためのユーザ操作を受け付ける。図6に示されるように、スクリプト実行画面上でアバターを移動させてゆくと、その移動軌跡がオブジェクトとして描画される。図6の白抜き矢印は、その位置で何らかのユーザ操作(カーソルキー115の押下など)がなされることを示す。
図6を用いて、オブジェクト編集受付ルーチン22a1が実行する処理を、具体的に説明する。初期状態で、アバターの位置座標は原点(0,0)にあったとする。この状態から、「描画開始」を指示するペンダウン操作(例えば「+」ボタンの押下)を行った後、カーソルキー115の右ボタンを操作して例えば座標(30,0)にまでアバターを移動させ、実行キー(例えば「=」ボタン)を押下する。そうするとアバターの軌跡が確定し、(0,0)と(30,0)を結ぶ1本の線が画面上に描画される。
続いて、カーソルキー115の上ボタンを操作して例えば座標(30,10)にまでアバターを移動させ、実行キー「=」を押下する。そうすると(30,0)と(30,10)を結ぶ2本目の線が画面上に描画される。さらに、カーソルキー115の右ボタンを操作して例えば座標(60,10)にまでアバターを移動させ、実行キー「=」を押下すると、(30,10)と(60,10)を結ぶ3本目の線が画面上に描画される。最後に、「描画終了」を指示するペンアップ操作(例えば「−」ボタンの押下)により、線の描画が終了する。このような手順により、図6に示されるようなかぎ型の図形を描画することができる。
オブジェクトの位置や形状は、スクリプト実行画面において、カーソルキー115を上下左右に押下して自由に編集することが可能である。例えば、ペンダウン「+」→カーソルキー115の上ボタンで(0,20)まで移動→実行キー「=」→カーソルキー115の右ボタンで(20,20)まで移動→実行キー「=」→カーソルキー115の下ボタンで(20,0)まで移動→実行キー「=」→カーソルキー115の左ボタンで(0,0)まで移動→実行キー「=」→ペンアップ「−」の手順で、図7に示されるような正方形を描くことも可能である。
ここで、アバターの初期位置である原点(0,0)および実行キー「=」を押下した各座標値が、図18を用いて後述するスクリプトの自動作成に係わる処理における、スタート値(x1,y1)またはエンド値(x2,y2)として用いられる。なお、ディスプレイ12がタッチパネルであれば、描画したい図形の頂点に対応するパネル上の位置に指先を接触させる操作(タッチ)や、パネルに指先を接触させたまま移動させる操作(タッチ&スライド)により、図形を描画することも可能である。
スクリプト作成ルーチン22a2は、スクリプト実行画面において編集されたオブジェクトに対応するスクリプトを、作成条件設定ルーチン22a5により設定された作成条件に従って作成する。
表示制御ルーチン22a3は、スクリプト作成ルーチン22a2により作成されたスクリプトを、スクリプト編集画面に表示する。
スクリプト編集受付ルーチン22a4は、スクリプト編集画面に表示されるスクリプトを編集するためのユーザ操作を受け付ける。『CALC』キーの押下により電子機器10がアルゴリズムモードになると、スクリプト編集受付ルーチン22a4は、数値・演算記号キー群111から、コマンドの入力を受け付ける。例えば、ディスプレイ12に表示されているアバターAの表示位置を或る移動量で移動させるコマンドがある。ユーザは、数値・演算記号キー群111を操作して、引数としての移動量とともにコマンドを入力し、スクリプトを作成する。
作成条件設定ルーチン22a5は、スクリプトの作成条件を指定するためのユーザ操作を受け付ける。そして、作成条件設定ルーチン22a5は、指定された作成条件に基づいて、スクリプト作成ルーチン22a2にスクリプトを作成させる。次に、上記構成における作用を説明する。
図8は、実施形態に係わる電子機器10の処理手順の一例を示すフローチャートである。アルゴリズムモードに入ると、初期画面を表示したのち、電子機器10は、ユーザによる実行モードの選択を受け付ける(ステップS31)。ここでは、例えば図9に示されるようなプロンプトがディスプレイ12に表示される。ユーザはカーソルキー115を操作して、Edit−>Runモード(数値1に対応)、またはRun−>Editモード(数値2に対応)のいずれかを指定することができる。
図10を参照して、これらの2つのモードについて説明する。Edit−>Runモードは、ディスプレイ12に表示されるスクリプトを編集するためのモードであり、例えば、コマンドに与えられる引数を変更するなどの操作を行うことができる。当該スクリプトを実行した結果として画面に表示される図形は、基本的には編集できないようになっている。Run−>Editモードは、ディスプレイ12の画面に表示される図形を編集可能とするモードであり、図形の編集が完了した後に実行ボタン(例えばEXEボタン)が押下されると、その図形に対応するスクリプトが自動で生成される。ここで、編集済のスクリプトのデータは、メモリ22におけるそれぞれのモードからアクセス可能な記憶領域(共通データエリア)に記憶されている。
図8のフローチャートに戻って説明を続ける。ステップS31においてEdit−>Runモードが指定(1)されると、電子機器10は、メモリ22の共通データエリアに記憶されたスクリプトを読み出し、ディスプレイ12に表示する(ステップS32)。
次に、電子機器10は、編集開始のユーザ操作(ステップS33)、スクリプト実行のユーザ操作(ステップS37)、およびアルゴリズムモード終了のユーザ操作(ステップS39)を待ち受け、いずれの操作も無ければ(No)、ステップS33〜ステップS39のループが繰り返される。
ステップS33で、編集開始のユーザ操作があれば(Yes)、ユーザによるスクリプトの編集操作が受け付けられる(ステップS34)。編集終了のユーザ操作が有れば(ステップS35でYes)、最新の編集内容がメモリ22の共通データエリアに反映され、記憶される(ステップS36)。そして、スクリプトの実行のユーザ操作があれば(ステップS37でYes)、電子機器10は共通データエリアのスクリプトを読み出し、実行する(ステップS38)。
一方、図8のフローチャートのステップS31においてRun−>Editモードが指定(2)されると、図11のフローチャートに示される処理手順が開始される。このモードにおいて、電子機器10は、最初にRun−>Editモードにおける初期画面を表示する(ステップS51)。初期画面は、例えば図10に示されるように、横方向(x軸)および縦方向(y軸)の各座標軸を備える。初期座標としての原点にx印を表示しても良い。
次に、電子機器10は、スクリプト自動生成に係わる優先順位の設定を待ち受け(ステップS52)、ユーザ操作が有れば(Yes)、優先順位設定のユーザ操作を受け付ける(ステップS53)。優先順位の設定は、例えば図12および図16に示されるようなプロンプトを用いてユーザに促される。
図12は、ディスプレイ12に表示されるアバターAの位置を指定するための、3つの条件(Priority−1)を示す。これらの条件のうちいずれを優先するかを、ユーザは、カーソルキー115を押下するなどの操作で指定する。
『1:Turn』は、アバターの位置を、ディスプレイ12の座標系における現在の絶対角度に対する相対角度、および現在位置からの移動量で指定する、という条件である。この条件が指定されると、電子機器10は、図13に示されるように、回転を指示する命令(Turnコマンド)と、移動を指示する命令(Moveコマンド)との組み合わせでアバターを移動させるようなスクリプトを自動生成する。
『2:Direction』は、アバターの位置を、ディスプレイ12の座標系における絶対角度、および現在位置からの移動量で指定する、という条件である。この条件が指定されると、電子機器10は、図14に示されるように、向きを指定する命令(Directionコマンド)と、移動を指示する命令(Moveコマンド)との組み合わせでアバターを移動させるようなスクリプトを自動生成する。
『3:Go to x,y』は、アバターの位置を、ディスプレイ12の座標系における座標値で直接指定する、という条件である。この条件が指定されると、電子機器10は、図15に示されるように、アバターの座標を指定する命令(Go toコマンド)でアバターを移動させるようなスクリプトを自動生成する。
図16は、スクリプトの作成に係わる2つ目の優先度(Priority−2)を選択するためのプロンプト画面の一例を示す。図16に示される画面において、ユーザは、『1:Sequence』または『2:Repeat』のいずれかを、カーソルキー115を押下するなどの操作で指定する。
『1:Sequence』は、順次型のアルゴリズムを優先してスクリプトを作成する、という条件である。この条件が指定されると、電子機器10は、Repeat命令を考慮せず、図13のようなシーケンス型のスクリプトを生成する。
『2:Repeat』は、ループ型のアルゴリズムを優先してスクリプトを作成する、という条件である。この条件が指定されると、電子機器10は、Repeat命令を考慮し、この命令をできる限り使用してコンパクトなスクリプトを生成する。例えば図13のスクリプトにRepeat命令を適用すれば、『Move 20 pixels』と『Turn90 degree』の4回の繰り返しが一つのRepeat構文でまとめられ、図17に示されるようなスクリプトが作成される。
図11のフローチャートに戻って説明を続ける。次のステップにおいて、電子機器10は、図形描画に係わるユーザ操作を待ち受ける(ステップS54)。ユーザ操作が無ければ(No)、処理手順はステップS59にジャンプしてアルゴリズムモード終了のユーザ操作の有無を判定し、当該ユーザ操作が有れば(Yes)終了する(図8のEnd)。ステップS59で(No)であれば、処理手順はステップS52に戻る。
ステップS54において、図形描画に係わるユーザ操作が有れば(Yes)、電子機器10は、このユーザ操作を受け付ける(ステップS55)。
そして、図形を描画するモードを終了するユーザ操作が有れば(ステップS56でYes)、電子機器10は、指定された優先順位および指定された図形に基づいて、スクリプトを自動生成する(ステップS57)。次に、電子機器10は、作成したスクリプトをディスプレイ12に表示したのち(ステップS58)、アルゴリズムモード終了のユーザ操作を待つ状態となる。
図18は、スクリプトの自動作成に係わる処理手順の一例を示すフローチャートである。ここで、初期状態において、アバターの座標は原点(0,0)であり、絶対角度は「0°」であるとする。図18において、電子機器10は、Run−>Editモードにおいて描画された図形(例えば図7)の各点の、スタート値(x1,y1)およびエンド値(x2,y2)をキャッシュメモリに格納し(ステップS1,S2)、Priority−1での優先順位をチェックする(ステップS3)。
ここで、図6を用いて説明したように、オブジェクトを描画する際、アバターの初期位置は原点(0,0)であり、アバターを移動させる毎に実行キー「=」を押下する操作を複数回繰り返すことで、当該オブジェクトの複数の頂点が順次指定される。このとき、描画される当該オブジェクトの複数の頂点の中の隣接する2つの頂点のうち、時系列で先に指定した座標値をスタート値、後に指定した座標値をエンド値という。したがって、スタート値とエンド値の組が複数存在する場合がある。
例えば、図6においては、(0,0)と(30,0)との組、(30,0)と(30,10)との組、および、(30,10)と(60,10)との組がスタート値(x1,y1)とエンド値(x2,y2)との組である。また、図7においては、(0,0)と(20,0)との組、(20,0)と(20,20)との組、(20,20)と(0,20)との組、および、(0,20)と(0,0)との組がスタート値(x1,y1)とエンド値(x2,y2)との組である。
図18において、『1:Turn』が指定されていれば、電子機器10は、上記キャッシュされたスタート値、エンド値に基づいてTurnコマンド、Moveコマンドのそれぞれの引数を計算し、これらのコマンドを順に配置してスクリプトブロックを生成する(ステップS4)。
スタート値(0,0)からエンド値(20,0)へのアバターの移動軌跡の場合、ディスプレイ12の座標系における現在の絶対角度は「0°」であるので、当該絶対角度に対する相対角度は「0°」である。また、現在位置からの移動量は「20」である。したがって、アバターの回転は不要であり、移動だけすればよいので、図13の2行目に示すように「Move 20 pixels」だけが、コマンドとして生成される。
『2:Direction』が指定されていれば、電子機器10は、上記キャッシュされたスタート値、エンド値に基づいてDirectionコマンド、Moveコマンドのそれぞれの引数を計算し、これらのコマンドを順に配置してスクリプトブロックを生成する(ステップS5)。
スタート値(0,0)からエンド値(20,0)へのアバターの移動軌跡の場合、ディスプレイ12の座標系における絶対角度は「0°」である。また、現在位置からの移動量は「20」である。したがって、アバターの回転は不要であり、移動だけすればよいので、図13の2行目に示すように「Move 20 pixels」だけが、コマンドとして生成される。
『3:Go to』が指定されていれば、電子機器10は、上記キャッシュされたスタート値、エンド値に基づいてGo toコマンドの引数(座標値)を計算し、スクリプトブロックを生成する(ステップS6)。
スタート値(0,0)からエンド値(20,0)へのアバターの移動軌跡の場合、スタート値の座標にかかわらず、現在位置からエンド値(20,0)へ直接移動するコマンドとして、「Go to x=20,y=0」が生成される。
ステップS1〜ステップS6までの処理は、点の終端に至るまで繰り返される(ステップS7)。終端に至ると(ステップS7でYes)、電子機器10は、Priority−2での優先順位をチェックする(ステップS8)。『Sequence』が指定されていれば、電子機器10は、上記生成されたブロックを順に配列してスクリプトを作成し、メモリ22に記憶したのち、処理手順は図11のステップS58に移行する。
『Repeat』が指定されていれば、電子機器10は、上記生成されたブロックのうち連続するブロックが有れば、それらを『Repeat』コマンドに置き換えてスクリプトを作成する。作成されたスクリプトはメモリ22に記憶され、処理手順は図11のステップS58に移行する。
図19は、この実施形態におけるユーザの操作手順の概略を説明するためのフローチャートである。ユーザは、実行画面(例えば図7)で目的の図形を描画し(ステップS21)、Edit画面(例えば図2)で、その図形に対応して生成されたアルゴリズム(スクリプト)を確認する(ステップS22)。そして、位置指定の優先度(『1:Turn』か、『2:Direction』か、『3:Go to』か)、および、コマンドの実行順序の制御形態の指定(Repeatコマンドを用いるかそうでないか)の設定を変更する。そうすると、同じ図形について、変更後の設定内容に応じて、変更前とは異なる記述の新たなスクリプトが生成され、ユーザは再度、Edit画面に戻って新たなスクリプトを確認することができる(ステップS23)。
例えば、図20に示されるような図形を描く問題が与えられたとする。ユーザはカーソルキー115を操作して、実行画面上で図21のような図形を描く。この図形を描くためのスクリプトは複数有るが、電子機器10は、予め設定された優先順位を満たすスクリプトを自動生成し、Edit画面に表示する。この場合、設定条件に応じて自動生成されるスクリプトは、それぞれ図22〜図26に示すようになる。
図22は、位置指定の優先度『1:Turn』、Repeatコマンド『不使用』の場合のスクリプトの一例を示す図である。
図23は、位置指定の優先度『2:Direction』、Repeatコマンド『不使用』の場合のスクリプトの一例を示す図である。図22に比べてTurn命令が排除され、Direction命令が用いられていることが分かる。
図24は、位置指定の優先度『3:Go to』、Repeatコマンド『不使用』または『使用』の場合のスクリプトの一例を示す図である。Go to命令により座標の移動が指示されていることが分かる。
図25は、位置指定の優先度『1:Turn』、Repeatコマンド『使用』の場合のスクリプトの一例を示す図である。図22と比較すると、同様の命令からなるブロックがRepeatステートメントでまとめられ、効率的なスクリプトになっていることが分かる。
図26は、位置指定の優先度『2:Direction』、Repeatコマンド『使用』の場合のスクリプトの一例を示す図である。こちらも図23と比較すると、Repeatステートメントにより効率的なスクリプトになっていることが分かる。
以上説明したように、実施形態によれば、ユーザ操作により作成された図形からスクリプトが作成される。これにより、ユーザは、結果のイメージがあってもコマンドの並べ方がイメージできない場合、スクリプトの他の組み方があるのかどうかを確認したい場合、あるいは、さらに簡単なスクリプトな組み方で作成できないか、などを手軽に確認することができる。また、実行画面からEdit画面でスクリプトを作成することで、コマンドの並べ方を容易に理解することが可能となる。さらに、図形からスクリプトへの変換の優先順位を予め設定しておくことで、複数の形態のスクリプトを作成することが可能となる。これにより、複数のパターンのコマンドの並び方を確認でき、スクリプトの考え方を学べる効果がある。
これらのことから、プログラミングの学習効果を高めることができる情報処理方法、情報処理装置、およびプログラムを提供することが可能となる。
本発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
情報処理装置の制御手段により実行される方法であって、
実行内容を編集する第1編集操作を受け付け、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成し、表示部に表示する第1処理を実行する、
情報処理方法。
[2]
命令リストを編集する第2編集操作を受け付け、当該第2編集操作により編集された当該命令リストの実行内容を表示部に表示する第2処理を、さらに実行し、
前記第1処理で生成された前記命令リストを記憶部へ記憶し、
前記第2処理において、前記記憶部へ記憶された前記命令リストを読み出し、読み出した当該命令リストを編集する操作を前記第2編集操作として受け付ける、
請求項1に記載の情報処理方法。
[3]
前記第1処理において、前記命令リストを生成する際の条件を設定し、設定された当該条件を満たす前記命令リストを1つ以上生成する、
請求項1または請求項2に記載の情報処理方法。
[4]
前記第1処理において、
前記1つ以上の命令リストを生成する際に、少なくとも1つの命令を含む命令の組を繰り返し実行することを指示する命令を使用するか否かと、
前記1つ以上の命令リストを生成する際に、前記実行内容として前記表示部に表示される表示体の向きを指定するために、当該表示体の回転を指示する命令と、当該表示体の角度値を指定する命令との、いずれの命令を使用するかと、
前記1つ以上の命令リストを生成する際に、前記実行内容として前記表示部に表示される前記表示体の位置を指定するために、当該表示体の表示位置を指定する命令と、表示体の移動を指示する命令との、いずれの命令を使用するかと、
のいずれか少なくとも1つを、前記条件として設定する、
請求項3に記載の情報処理方法。
[5]
実行内容を編集する第1編集操作を受け付け、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成し、表示部に表示する第1処理を実行する、
制御手段を備える情報処理装置。
[6]
情報処理装置のコンピュータによって、
実行内容を編集する第1編集操作を受け付けさせ、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成させ、表示部に表示する第1処理を実行させる、
プログラム。
10…電子機器、11…キー入力部、12…ディスプレイ、21…CPU、22…メモリ、22a…スクリプト実行エンジン、22a1…オブジェクト編集受付ルーチン、22a2…スクリプト作成ルーチン、22a3…表示制御ルーチン、22a4…スクリプト編集受付ルーチン、22a5…作成条件設定ルーチン、22b…書込可能データエリア、23…外部記録媒体、24…記録媒体読取部、111…数値・演算記号キー群、112…関数機能キー群、113…設定キー群、114…ファンクションキー群、115…カーソルキー。

Claims (6)

  1. 情報処理装置の制御手段により実行される方法であって、
    実行内容を編集する第1編集操作を受け付け、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成し、表示部に表示する第1処理を実行する、
    情報処理方法。
  2. 命令リストを編集する第2編集操作を受け付け、当該第2編集操作により編集された当該命令リストの実行内容を表示部に表示する第2処理を、さらに実行し、
    前記第1処理で生成された前記命令リストを記憶部へ記憶し、
    前記第2処理において、前記記憶部へ記憶された前記命令リストを読み出し、読み出した当該命令リストを編集する操作を前記第2編集操作として受け付ける、
    請求項1に記載の情報処理方法。
  3. 前記第1処理において、前記命令リストを生成する際の条件を設定し、設定された当該条件を満たす前記命令リストを1つ以上生成する、
    請求項1または請求項2に記載の情報処理方法。
  4. 前記第1処理において、
    前記1つ以上の命令リストを生成する際に、少なくとも1つの命令を含む命令の組を繰り返し実行することを指示する命令を使用するか否かと、
    前記1つ以上の命令リストを生成する際に、前記実行内容として前記表示部に表示される表示体の向きを指定するために、当該表示体の回転を指示する命令と、当該表示体の角度値を指定する命令との、いずれの命令を使用するかと、
    前記1つ以上の命令リストを生成する際に、前記実行内容として前記表示部に表示される前記表示体の位置を指定するために、当該表示体の表示位置を指定する命令と、表示体の移動を指示する命令との、いずれの命令を使用するかと、
    のいずれか少なくとも1つを、前記条件として設定する、
    請求項3に記載の情報処理方法。
  5. 実行内容を編集する第1編集操作を受け付け、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成し、表示部に表示する第1処理を実行する、
    制御手段を備える情報処理装置。
  6. 情報処理装置のコンピュータによって、
    実行内容を編集する第1編集操作を受け付けさせ、当該第1編集操作により編集された当該実行内容に対応する命令リストを生成させ、表示部に表示する第1処理を実行させる、
    プログラム。
JP2018160574A 2018-08-29 2018-08-29 情報処理方法、情報処理装置、およびプログラム Active JP7206704B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018160574A JP7206704B2 (ja) 2018-08-29 2018-08-29 情報処理方法、情報処理装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018160574A JP7206704B2 (ja) 2018-08-29 2018-08-29 情報処理方法、情報処理装置、およびプログラム

Publications (3)

Publication Number Publication Date
JP2020035147A true JP2020035147A (ja) 2020-03-05
JP2020035147A5 JP2020035147A5 (ja) 2021-09-24
JP7206704B2 JP7206704B2 (ja) 2023-01-18

Family

ID=69668155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018160574A Active JP7206704B2 (ja) 2018-08-29 2018-08-29 情報処理方法、情報処理装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP7206704B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02216588A (ja) * 1989-02-17 1990-08-29 Hitachi Ltd 対話型スクリプト・アニメーション生成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02216588A (ja) * 1989-02-17 1990-08-29 Hitachi Ltd 対話型スクリプト・アニメーション生成方法

Also Published As

Publication number Publication date
JP7206704B2 (ja) 2023-01-18

Similar Documents

Publication Publication Date Title
JP4798268B2 (ja) 電子機器およびプログラム
US10061498B2 (en) Graph display device, graph display method and computer-readable medium recording control program
JP2015125718A (ja) グラフ表示制御装置、電子機器およびプログラム
JP4922797B2 (ja) 情報処理装置およびそのプログラム
JP2009064068A (ja) 情報処理装置、ユーザインターフェイス制御方法およびプログラム
JP7020127B2 (ja) プログラミング支援装置、プログラミング支援方法、およびプログラム
JP7206704B2 (ja) 情報処理方法、情報処理装置、およびプログラム
JP2021135936A (ja) 情報処理装置、情報処理方法、サーバ装置およびプログラム
JP5494105B2 (ja) 図形表示装置及びプログラム
JP5786542B2 (ja) 数式入力装置およびプログラム
JP5304849B2 (ja) 電子機器およびプログラム
JP7331901B2 (ja) 電子機器、表示方法、およびプログラム
JP7388483B2 (ja) 表示制御装置、表示制御方法、およびプログラム
JP7215054B2 (ja) プログラミング表示装置、プログラミング表示方法、およびプログラム
JP7226486B2 (ja) 電子機器、移動経路比較方法、およびプログラム
JP7024421B2 (ja) 電子機器、表示制御方法、およびプログラム
JP5742870B2 (ja) 電子機器およびプログラム
JP2020071601A (ja) 表示処理装置、表示処理方法、およびプログラム
JP2000132697A (ja) グラフ表示装置及び記憶媒体
KR101347909B1 (ko) 그리드 컨트롤 장치, 그리드 컨트롤 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체
JP5962696B2 (ja) 図形表示装置およびプログラム
JP5510253B2 (ja) 図形表示装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R150 Certificate of patent or registration of utility model

Ref document number: 7206704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150