• 検索結果がありません。

canvas対応版PenFlowchart for JavaScriptの開発

N/A
N/A
Protected

Academic year: 2021

シェア "canvas対応版PenFlowchart for JavaScriptの開発"

Copied!
45
0
0

読み込み中.... (全文を見る)

全文

(1)

canvas

対応版

PenFlowchart for JavaScript

開発

中西 渉 watayan@meigaku.ac.jp 名古屋高等学校 2015年10月3日

(2)

agenda

1 はじめに 教科書で扱われるプログラミングの題材 プログラミング環境 2 PEN, PenFlowchart PEN PenFlowchart PenFlowchartの他言語化 Flowgorithm

3 canvas対応版PenFlowchart for JavaScriptの開発

PenFlowchartでのグラフィック出力

canvas対応版の実装

canvas対応版の制限

実行例

4 おわりに

(3)

はじめに

はじめに

教科書で扱われるプログラミングの題材 プログラミング環境

(4)

はじめに 教科書で扱われるプログラミングの題材 教科書で扱われるプログラミングの題材 よくあるネタ 数学ネタ(素数判定など) 配列→探索,ソート →いまいち興味をひかない 視覚的な面白さのある題材 数独を解く(実教) ドリトルのタートルグラフィックス,ゲーム(東書) 巻末のJavaScriptによるグラフィック(東書) →オマケ的な扱い

(5)

はじめに 教科書で扱われるプログラミングの題材 教科書で扱われるプログラミングの題材 よくあるネタ 数学ネタ(素数判定など) 配列→探索,ソート →いまいち興味をひかない 視覚的な面白さのある題材 数独を解く(実教) ドリトルのタートルグラフィックス,ゲーム(東書) 巻末のJavaScriptによるグラフィック(東書) →オマケ的な扱い

(6)

はじめに プログラミング環境 プログラミング環境 教科書で扱われるプログラミング環境 実教 VBA 東書 ドリトル,JavaScript 日文 JavaScript 数研 ???() →グラフィックを扱うのは難しい(ドリトル以外) グラフィックを扱うと言っても… VBA…どうやるの? JavaScript…HTML5のcanvas要素を使えばできるけど… HTMLの知識が必要 線一つ引くにも複数の命令が必要 →決して簡単ではない

(7)

はじめに プログラミング環境

PenFlowchartのJavaScript版でグラフィックが扱えればいいの

では?

(8)

はじめに プログラミング環境

PenFlowchartのJavaScript版でグラフィックが扱えればいいの

では?

→canvas版PenFlowchart for JavaScriptの開発

(9)

PEN, PenFlowchart

PEN, PenFlowchart

PEN PenFlowchart PenFlowchartの他言語化 Flowgorithm

(10)

PEN, PenFlowchart PEN PEN 初学者向けプログラミング学習環境 大阪学院大学情報学部 西田研究室 大阪市立大学大学院創造都市研究科 松浦研究室 言語はxDNCL(日本語ベース) 入力支援機能,実行状態観察機能

(11)

PEN, PenFlowchart PenFlowchart PenFlowchart 生徒たちがよくやるエラー 正 もし a=0 ならば  |「ゼロ」を表示する を実行する 誤 もし a=0 ならば 「ゼロ」を表示する フローチャートでプログラムを作れば,このようなエラーを防げる のでは? →PenFlowchartの開発

(12)

PEN, PenFlowchart PenFlowchart PenFlowchart 生徒たちがよくやるエラー 正 もし a=0 ならば  |「ゼロ」を表示する を実行する 誤 もし a=0 ならば 「ゼロ」を表示する フローチャートでプログラムを作れば,このようなエラーを防げる のでは? →PenFlowchartの開発

(13)

PEN, PenFlowchart PenFlowchart PenFlowchart 生徒たちがよくやるエラー 正 もし a=0 ならば  |「ゼロ」を表示する を実行する 誤 もし a=0 ならば 「ゼロ」を表示する フローチャートでプログラムを作れば,このようなエラーを防げる のでは? →PenFlowchartの開発

(14)

PEN, PenFlowchart PenFlowchart

PenFlowchartの実行画面

(15)

PEN, PenFlowchart PenFlowchart の他言語化 PenFlowchartの他言語化 教科書で扱われるプログラミング言語 VBA JavaScript ドリトル →xDNCLを使う教科書はない

(16)

PEN, PenFlowchart PenFlowchart の他言語化 PenFlowchartの他言語化 教科書で扱われるプログラミング言語 VBA JavaScript ドリトル →xDNCLを使う教科書はない

→PenFlowchartのBASIC版,JavaScript版を開発

(17)

PEN, PenFlowchart PenFlowchart の他言語化 PenFlowchartの3言語版 xDNCL版 PENで実行 BASIC版 PENで実行(PenFlowchart版のみ) JavaScript版 PENでは実行不可 JavaScript版は → HTMLファイルを出力 → Webブラウザで実行

(18)

PEN, PenFlowchart PenFlowchart の他言語化

PenFlowchartの3言語版

xDNCL版 PENで実行

BASIC版 PENで実行(PenFlowchart版のみ)

JavaScript版 PENでは実行不可

JavaScript版は

→ HTMLファイルを出力

→ Webブラウザで実行

(19)

PEN, PenFlowchart PenFlowchart の他言語化

PenFlowchartの3言語版

xDNCL版 PENで実行

BASIC版 PENで実行(PenFlowchart版のみ)

JavaScript版 PENでは実行不可

JavaScript版は

→ HTMLファイルを出力

(20)

PEN, PenFlowchart PenFlowchart の他言語化

PenFlowchart for JavaScriptの実行画面

(21)

PEN, PenFlowchart Flowgorithm

(22)

PEN, PenFlowchart Flowgorithm

Flowgorithmの場合…

多くの言語のソースを出力可能 C#,C++,Perl,Java,JavaScript,…

実行はコンソール上(グラフィック不可)

(23)

canvas 対応版 PenFlowchart for JavaScript の開発

canvas

対応版

PenFlowchart for JavaScript

の開発

PenFlowchartでのグラフィック出力

canvas対応版の実装

canvas対応版の制限

(24)

canvas 対応版 PenFlowchart for JavaScript の開発 PenFlowchart でのグラフィック出力 PENにはグラフィック出力がある xDNCL版 PENで実行→グラフィックOK BASIC版 PENで実行→グラフィックOK JavaScript版 ブラウザで実行→グラフィックは? →JavaScript版ではHTML5のcanvas要素を使えばいい →canvas対応版を別に作る

(25)

canvas 対応版 PenFlowchart for JavaScript の開発 PenFlowchart でのグラフィック出力 PENにはグラフィック出力がある xDNCL版 PENで実行→グラフィックOK BASIC版 PENで実行→グラフィックOK JavaScript版 ブラウザで実行→グラフィックは? →JavaScript版ではHTML5のcanvas要素を使えばいい →canvas対応版を別に作る

(26)

canvas 対応版 PenFlowchart for JavaScript の開発 PenFlowchart でのグラフィック出力 PENにはグラフィック出力がある xDNCL版 PENで実行→グラフィックOK BASIC版 PENで実行→グラフィックOK JavaScript版 ブラウザで実行→グラフィックは? →JavaScript版ではHTML5のcanvas要素を使えばいい →canvas対応版を別に作る

(27)

canvas 対応版 PenFlowchart for JavaScript の開発 PenFlowchart でのグラフィック出力

canvas版の対応

グラフィック命令を使用している場合…

→HTMLファイルにcanvas要素を出力

(28)

canvas 対応版 PenFlowchart for JavaScript の開発 PenFlowchart でのグラフィック出力

canvas版の実行画面

(29)

canvas 対応版 PenFlowchart for JavaScript の開発 canvas 対応版の実装

canvas対応版の実装

グラフィック関係の追加のみ

HTMLファイルにcanvas要素を追加

(30)

canvas 対応版 PenFlowchart for JavaScript の開発 canvas 対応版の制限

canvas対応版の制限

決め打ちの部分

<canvas id="canvas" height="xxx" width="xxx"/> canvas = document.getElementById(’canvas’); context = canvas.getContext(’2d’);

id=”canvas”が決め打ち(HTML)

canvas, context が決め打ち(JavaScript)

(31)

canvas 対応版 PenFlowchart for JavaScript の開発 canvas 対応版の制限 フローチャート 簡単 簡単 xDNCLのコード 線描画(x1,y1,x2,y2) フローチャート 簡単 かなり困難 JavaScriptのコード context.beginPath(); context.moveTo(x1,y1); context.lineTo(x2,y2); context.stroke(); フローチャートの逆生成はあきらめた いっそコードの編集を禁じていいかも?

(32)

canvas 対応版 PenFlowchart for JavaScript の開発 canvas 対応版の制限 フローチャート 簡単 簡単 xDNCLのコード 線描画(x1,y1,x2,y2) フローチャート 簡単 かなり困難 JavaScriptのコード context.beginPath(); context.moveTo(x1,y1); context.lineTo(x2,y2); context.stroke(); フローチャートの逆生成はあきらめた いっそコードの編集を禁じていいかも?

(33)

canvas 対応版 PenFlowchart for JavaScript の開発 canvas 対応版の制限 フローチャート 簡単 簡単 xDNCLのコード 線描画(x1,y1,x2,y2) フローチャート 簡単 かなり困難 JavaScriptのコード context.beginPath(); context.moveTo(x1,y1); context.lineTo(x2,y2); context.stroke(); フローチャートの逆生成はあきらめた いっそコードの編集を禁じていいかも?

(34)

canvas 対応版 PenFlowchart for JavaScript の開発 実行例

実行例

単純な描画 棒グラフ

ステキプログラム(東書)

(35)

canvas 対応版 PenFlowchart for JavaScript の開発 実行例

(36)

canvas 対応版 PenFlowchart for JavaScript の開発 実行例

棒グラフ

(37)

canvas 対応版 PenFlowchart for JavaScript の開発 実行例

(38)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(39)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(40)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(41)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(42)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(43)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(44)

おわりに

おわりに

勤務校で使うかは未定 教科書にグラフィックの題材がない → 独自教材を準備 → JavaScriptでなくてもいい? → xDNCL版,BASIC版の方が自由だし… 使い方次第では… 授業はJavaScript通常版 → グラフィックの演習だけcanvas対応版

(45)

おわりに

PenFlowchartの配布先

http://watayan.net/prog/

参照

関連したドキュメント

婚・子育て世代が将来にわたる展望を描ける 環境をつくる」、「多様化する子育て家庭の

ESET Endpoint Security V9 / V9 ARM64 対応版、Endpoint アンチウイルス V9 / V9 ARM64 対応版のみとなります。. 

Taylor, On Galois representations associated to Hilbert modular forms,

スキルに国境がないIT系の職種にお いては、英語力のある人材とない人 材の差が大きいので、一定レベル以

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

Bluetooth® Low Energy プロトコルスタック GUI ツールは、Microsoft Visual Studio 2012 でビルドされた C++アプリケーションです。GUI

本書は、⾃らの⽣産物に由来する温室効果ガスの排出量を簡易に算出するため、農

工場設備の計測装置(燃料ガス発熱量計)と表示装置(新たに設置した燃料ガス 発熱量計)における燃料ガス発熱量を比較した結果を図 4-2-1-5 に示す。図