JP7296798B2 - プログラミング学習装置および学習プログラム - Google Patents
プログラミング学習装置および学習プログラム Download PDFInfo
- Publication number
- JP7296798B2 JP7296798B2 JP2019121700A JP2019121700A JP7296798B2 JP 7296798 B2 JP7296798 B2 JP 7296798B2 JP 2019121700 A JP2019121700 A JP 2019121700A JP 2019121700 A JP2019121700 A JP 2019121700A JP 7296798 B2 JP7296798 B2 JP 7296798B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- program
- code
- execution
- program code
- 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.)
- Active
Links
Images
Landscapes
- Electrically Operated Instructional Devices (AREA)
Description
実施の形態1.
図1は、実施の形態1に係るプログラミング学習装置100の構成を示すブロック図である。
プログラミング学習装置100は、入力受付部101、命令情報データベース102、命令リスト提示部103、実行ステップ設定部104、コード編集部105、コード実行部106、実行結果処理部107および表示制御部108を備える。
また、プログラミング学習装置100は、入力装置200および出力装置300と接続される。入力装置200は、タッチパネル、マウスまたはキーボード等で構成される。出力装置300は、ディスプレイ等で構成される。
図2は、実施の形態1に係るプログラミング学習装置100の命令情報データベース102の構成例を示す図である。
命令情報データベース102は、キャプション102a、命令/パラメータ102b、型102c、言語102d、引数102eおよび戻り値102fで構成される。キャプション102aは、命令リスト提示部103が出力装置300に表示するテキスト情報である。命令/パラメータ102bは、プログラミング言語に対応付けられる命令または変数等のパラメータである。型102cは、プログラミング言語で用いられるデータ型を示す情報である。言語102dは、プログラミング言語を示す情報である。
図3は、実施の形態1に係るプログラミング学習装置100の命令リスト提示部103による命令リストの提示例を示す図である。
出力装置300の表示領域302には、種々の命令302aで構成された命令リストが表示される。ユーザは、出力装置300に表示された命令リストの中から、所望の命令302aを指定する入力を、入力装置200を介して行う。
図4は、実施の形態1に係るプログラミング学習装置100の実行ステップ設定部104が組み立てたプログラムのフローチャートの提示例を示す図である。
出力装置300の表示領域303には、組み立てたプログラムのフローチャート303aが表示される。ユーザは、入力装置200を介して、出力装置300に表示されたフローチャート303aを編集する指示を入力する。実行ステップ設定部104は、入力受付部101を介して入力されたフローチャートの編集情報に基づいてプログラムのフローチャートを再度組み立てる。
実行ステップ設定部104は、作成したプログラムのフローチャートの情報、または編集したプログラムフローチャートの情報をコード編集部105に出力する。
図5は、実施の形態1に係るプログラミング学習装置100の実行ステップ設定部104がフローチャートを蓄積する場合の提示例を示す図である。
図5Aは、フローチャートの蓄積領域の指定例を示す図である。
ユーザは、入力装置200を用いて、関数またはクラスとして登録する蓄積領域303bを選択する。登録する蓄積領域303bが選択されると、実行ステップ設定部104は蓄積領域303bを関数またはクラスとして登録するダイアログ303cを表示する制御を行う。ユーザは、入力装置200を用いて例えば「クラス名」を入力し、「登録」ボタンを押下する。これにより、蓄積領域303bに含まれるフローチャートが、指定されたクラス名で命令情報データベース102に蓄積される。
出力装置300の表示領域302には、予め蓄積されていた命令302aに加えて、新たに蓄積された命令302bが追加された命令リストが表示される。
図6は、実施の形態1に係るプログラミング学習装置100のコード編集部105が展開したプログラムコードの提示例を示す図である。
出力装置300の表示領域304には、展開したプログラムコードが表示される。ユーザは、必要であれば、入力装置200を介して、表示領域304に表示されたプログラムコードを修正する指示を入力する。
図7は、実施の形態1に係るプログラミング学習装置100の実行結果処理部107による実行結果の提示例を示す図である。
出力装置300の表示領域305は、実行状態表示エリア305A、変数状態表示エリア305B、ボタン表示エリア305Cで構成される。
同様に、ユーザが、ステップ実行ボタン305b、一時停止ボタン305cまたは停止ボタン305dのうちのいずれかのボタンを選択することにより、実行結果処理部107はプログラムコードの実行、プログラムコードの実行を一時停止する、プログラムコードの実行を停止する、またはプログラムコードの実行を再開する等の処理を行う。
図8Aおよび図8Bは、実施の形態1に係るプログラミング学習装置100のハードウェア構成例を示す図である。
プログラミング学習装置100における入力受付部101、命令リスト提示部103、実行ステップ設定部104、コード編集部105、コード実行部106、実行結果処理部107および表示制御部108の各機能は、処理回路により実現される。即ち、プログラミング学習装置100は、上記各機能を実現するための処理回路を備える。当該処理回路は、図8Aに示すように専用のハードウェアである処理回路100aであってもよいし、図8Bに示すようにメモリ100cに格納されているプログラムを実行するプロセッサ100bであってもよい。
メモリ100cは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)等の不揮発性または揮発性の半導体メモリであってもよいし、ハードディスク、フレキシブルディスク等の磁気ディスクであってもよいし、ミニディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光ディスクであってもよい。
図9は、実施の形態1に係るプログラミング学習装置100の表示例を示す図である。
出力装置300の表示画面301は、例えば、表示領域302、表示領域303、表示領域304および表示領域305で構成される。表示領域302には、例えば図3で示した命令リストが表示される。表示領域303には、例えば図4で示したフローチャートが表示される。表示領域304には、例えば図6で示したプログラムコードが表示される。表示領域305には、例えば図7で示した実行結果が表示される。
図4で示したフローチャート303aにおいて、「設定」は、繰り返しの初期値を設定する部分、「評価」は、繰り返しの終了条件を設定する部分、「本体」は、繰り返し処理される命令を示す部分である。なお、図4で示したフローチャートの構成は一例であり、適宜設定可能である。
図10は、実施の形態1に係るプログラミング学習装置100の実行ステップ設定部104が組み立てたフローチャートの一例を示す図である。
ユーザは、例えば図5Bの表示領域302に表示された命令リストから、命令「変数」を選択し、表示領域303にドラッグおよびドロップ処理を行う。実行ステップ設定部104は、命令「変数」に基づいて、x,y,w,hの4つの変数を作成する。実行ステップ設定部104は、作成した変数x,y,w,hに初期値を設定し、「初期値」と名前を付ける。
図11および図12は、実施の形態1に係るプログラミング学習装置100のコード編集部105の視覚的表現を示す図である。
図11は、プログラムコード中の変数のスコープを示す図である。コード編集部105は、図11で示した表示領域304内のカーソル位置304aに基づいて、変数に関するプログラムコードの開始点および終了点を探索する。コード編集部105は、探索した開始点の行から終了点の行までスコープ304bの背景色を変更する処理を行う。
上述した図11および図12の説明では、プログラムコード内のカーソル位置を取得する場合を例に示したが、ユーザが指定する位置を認識可能であればよく、カーソル位置に限定されるものではない。
まず、命令リスト提示部103の動作について説明する。
図13は、実施の形態1に係るプログラミング学習装置100の命令リスト提示部103の動作を示すフローチャートである。
入力受付部101を介して命令リスト表示指示が入力されると(ステップST1)、命令リスト提示部103は命令情報データベース102を参照してテキスト情報を取得する(ステップST2)。命令リスト提示部103は、ステップST2で取得したテキスト情報を用いて命令リストを生成する(ステップST3)。命令リスト提示部103は、ステップST3で生成した命令リストを、表示制御部108を介して出力装置300に表示する(ステップST4)。その後、処理はステップST1に戻る。
図14は、実施の形態1に係るプログラミング学習装置100の実行ステップ設定部104の動作を示すフローチャートである。
入力受付部101を介して命令の選択情報、またはフローチャートの編集情報が入力される(ステップST11)。実行ステップ設定部104は、入力された命令の選択情報、またはフローチャートの編集情報に基づいて、命令情報データベース102を参照し、プログラムのフローチャートを組み立てる(ステップST12)。実行ステップ設定部104は、ステップST12で組み立てたプログラムのフローチャートを、表示制御部108を介して出力装置300に表示する(ステップST13)。
図15は、実施の形態1に係るプログラミング学習装置100のコード編集部105の動作を示すフローチャートである。
実行ステップ設定部104からプログラムのフローチャートの情報が入力されると(ステップST31)、コード編集部105は、入力されたプログラムのフローチャートをプログラムコードに展開する(ステップST32)。コード編集部105は、ステップST32で展開したプログラムコードを、表示制御部108を介して出力装置300に表示する(ステップST33)。
図16は、実施の形態1に係るプログラミング学習装置100のコード編集部105によるスコープの表示処理の動作を示すフローチャートである。
図16のフローチャートは、図15のステップST33の表示処理をより詳細に示すものである。なお、以下の説明は、図15のフローチャートのステップST36の表示処理にも適用可能である。
コード編集部105は、ステップST32で展開したプログラムコードを、表示制御部108を介して出力装置300に表示すると(ステップST331)、入力受付部101を介してプログラムコード内のカーソル位置を取得する(ステップST332)。コード編集部105は、ステップST332で取得したカーソル位置の文字列を取得する(ステップST333)。
コード編集部105は、プログラムコードの表示を行っている間、上述した処理を繰り返し行う。
なお、上述したステップTST342では、スコープの表示色を変更する場合を例に示したが、関連領域を視覚的に明示する方法であれば適宜設定可能である。
図17は、実施の形態1に係るプログラミング学習装置100のコード実行部106および実行結果処理部107の動作を示すフローチャートである。
コード実行部106は、コード編集部105から入力されたプログラムコードの変換を行い(ステップST41)、実行結果処理部107に出力する。入力受付部101を介してプログラムの実行指示が入力されると(ステップST42)、実行結果処理部107は、コード実行部106から入力されたプログラムコードを実行する(ステップST43)。実行結果処理部107は、プログラムコードの実行結果を、表示制御部108を介して出力装置300に表示する(ステップST44)。その後、フローチャートはステップST42の処理に戻る。
これにより、実践的なプログラミングの学習に適した学習支援を実現することができる。
これにより、プログラムコードの編集を、プログラムのフローチャートに反映させることができる。ユーザは、プログラムコードを編集することにより、プログラムのフローチャートまたは関数等を自分で編集することができる。
これにより、ユーザが自身で関数またはクラスを作成して命令として蓄積することができる。ユーザは、所望のプログラミングを行うことができる。また、ユーザは、プログラムのフローチャートと、プログラムコードとを見比べながらプログラミング学習を行うことができる。
これにより、ユーザの指定位置、例えばカーソルが位置する部分の変数、繰り返し文、または条件分岐文のスコープが視覚的に表示され、ユーザは例えば変数、繰り返し文、または条件分岐文の作用する範囲を直感的に理解することができる。
Claims (5)
- プログラムを構成する命令を蓄積した命令情報データベースを参照し、前記命令のリストを作成する命令リスト提示部と、
前記命令リスト提示部が作成した前記命令のリストからユーザが選択した前記命令に基づいて、前記プログラムのフローチャートを組み立てる実行ステップ設定部と、
前記実行ステップ設定部が組み立てた前記プログラムのフローチャートをプログラムコードに展開するとともに、前記ユーザの編集指示に基づいて、前記プログラムコードを編集するコード編集部と、
前記コード編集部が展開した前記プログラムコードの形式を変換するコード実行部と、
前記コード実行部が変換した前記プログラムコードを実行する実行結果処理部と、
前記命令のリスト、前記プログラムのフローチャート、前記プログラムコード、および前記実行結果処理部の実行結果を表示する制御を行う表示制御部と、を備え、
前記コード編集部は、前記プログラムコードを編集した場合に、前記実行ステップ設定部に前記プログラムのフローチャートの編集情報を出力し、
前記実行ステップ設定部は、前記コード編集部から入力された前記編集情報に基づいて、前記プログラムのフローチャートを再度組み立てる、
プログラミング学習装置。 - 前記実行ステップ設定部は、前記ユーザの蓄積指示に基づいて、組み立てた前記フローチャートを関数またはクラスとして前記命令情報データベースに蓄積させる、
請求項1に記載のプログラミング学習装置。 - 前記コード編集部は、前記表示制御部を介して表示された前記プログラムコードにおける前記ユーザの指定位置に基づいてスコープを設定し、設定した前記スコープを視覚的に表示する制御を行う、
請求項1又は2に記載のプログラミング学習装置。 - 前記コード編集部は、前記指定位置の文字列が変数であるか、前記文字列が前記変数である場合に、当該変数がグローバル変数であるかローカル変数であるかに基づいて、前記スコープの開始点および終了点を探索し、前記スコープを設定する、
請求項3に記載のプログラミング学習装置。 - プログラムを構成する命令を蓄積した命令情報データベースを参照し、前記命令のリストを作成する命令リスト提示機能と、
前記作成された前記命令のリストからユーザが選択した前記命令に基づいて、前記プログラムのフローチャートを組み立てる実行ステップ設定機能と、
前記組み立てられた前記プログラムのフローチャートをプログラムコードに展開するとともに、前記ユーザの編集指示に基づいて、前記プログラムコードを編集するコード編集機能と、
前記展開された前記プログラムコードの形式を変換するコード実行機能と、
前記変換された前記プログラムコードを実行する実行結果処理機能と、
前記命令のリスト、前記プログラムのフローチャート、前記プログラムコード、および前記プログラムコードの実行結果を表示する制御を行う表示制御機能と、
前記プログラムコードを編集した場合に、前記プログラムのフローチャートの編集情報を出力し、入力された前記編集情報に基づいて、前記プログラムのフローチャートを再度組み立てる再度組立機能と、
をコンピュータに実行させる学習プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019121700A JP7296798B2 (ja) | 2019-06-28 | 2019-06-28 | プログラミング学習装置および学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019121700A JP7296798B2 (ja) | 2019-06-28 | 2019-06-28 | プログラミング学習装置および学習プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021009185A JP2021009185A (ja) | 2021-01-28 |
JP7296798B2 true JP7296798B2 (ja) | 2023-06-23 |
Family
ID=74199916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019121700A Active JP7296798B2 (ja) | 2019-06-28 | 2019-06-28 | プログラミング学習装置および学習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7296798B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242479A (ja) | 1999-02-23 | 2000-09-08 | Matsushita Electric Works Ltd | ソフトウェアプログラム作成支援方法 |
JP2008269184A (ja) | 2007-04-18 | 2008-11-06 | Mitsubishi Electric Corp | プログラムレビュー支援装置 |
JP2011107937A (ja) | 2009-11-17 | 2011-06-02 | Nec Corp | 実行状況確認装置、実行状況確認方法および実行状況確認プログラム |
JP2018190400A (ja) | 2017-04-28 | 2018-11-29 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | ブロック基盤データ分析方法、システムおよびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2660163B2 (ja) * | 1994-10-11 | 1997-10-08 | 有限会社アレフロジック | アルゴリズム教育支援システム |
-
2019
- 2019-06-28 JP JP2019121700A patent/JP7296798B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242479A (ja) | 1999-02-23 | 2000-09-08 | Matsushita Electric Works Ltd | ソフトウェアプログラム作成支援方法 |
JP2008269184A (ja) | 2007-04-18 | 2008-11-06 | Mitsubishi Electric Corp | プログラムレビュー支援装置 |
JP2011107937A (ja) | 2009-11-17 | 2011-06-02 | Nec Corp | 実行状況確認装置、実行状況確認方法および実行状況確認プログラム |
JP2018190400A (ja) | 2017-04-28 | 2018-11-29 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | ブロック基盤データ分析方法、システムおよびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2021009185A (ja) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4876511B2 (ja) | ロジック抽出支援装置 | |
KR100613052B1 (ko) | 레거시 소프트웨어와 스크린 리더 프로그램 간의 상호작동을 위한 방법 및 장치 | |
JP4006395B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US7627851B2 (en) | Modification method for modifying a source code | |
EP0745927B1 (en) | Method of and editing system for setting tool button | |
JP7296798B2 (ja) | プログラミング学習装置および学習プログラム | |
US20040027379A1 (en) | Integrated visual development system for creating computer-implemented dialog scripts | |
JP2009116429A (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
JP7176272B2 (ja) | 情報処理装置およびプログラム | |
KR102215256B1 (ko) | 동기화된 음성과 동작을 지원하는 멀티미디어 저작 장치 및 그 방법 | |
WO2022180704A1 (ja) | 表示制御装置、表示制御方法および表示制御プログラム | |
JP2005031737A (ja) | ソースコードの生成システム及びその生成方法及びその生成プログラム及びソフトウェア開発支援ツール | |
JP2017220039A (ja) | プログラム生成装置及びプログラム | |
JP2007128244A (ja) | 情報処理方法および装置、記録媒体、並びにプログラム | |
WO2007097014A1 (ja) | 情報システムの動作確認方法、その動作確認プログラム、記録媒体及び動作確認システム | |
JP2009087144A (ja) | 開発支援装置および開発支援プログラム | |
JP4894602B2 (ja) | 修正対象ファイル検索装置と修正対象ファイル検索方法および修正対象ファイル検索プログラム | |
JP2008292724A (ja) | 編曲装置および編曲処理プログラム | |
US20070021962A1 (en) | Dialog control for dialog systems | |
JPS6388627A (ja) | ユーザ定義コマンドの自動作成方式 | |
JPH07261992A (ja) | プログラム変換編集方法およびプログラム変換編集装置 | |
WO2024014355A1 (ja) | 制御プログラム編集装置、編集方法、およびプログラム | |
JP4273840B2 (ja) | ソフトウェア開発支援システムおよびソフトウェア開発支援プログラム | |
JP3019874B2 (ja) | プログラム生成/合成装置および方法 | |
JP2007094453A (ja) | プログラム開発支援システム、プログラム開発支援方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220405 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20220405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230214 |
|
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: 20230516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230613 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7296798 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |