skill-net(MILESTONE CAI,笈川他,1982)[Fortranの課題選択など]

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

ループで実行する文が一つならこれでもOK
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング基礎I(再) 山元進.
第2回ネットワークプログラミング 中村 修.
C言語 配列 2016年 吉田研究室.
C言語講座 第4回 ポインタ.
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
変数のスコープの設計判断能力 を育成するプログラミング教育
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
第10回関数 Ⅱ (ローカル変数とスコープ).
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング序論 2. n人のインディアン.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
高度プログラミング演習 (03).
知能情報工学演習I 第12回(後半第6回) 課題の回答
ソフトウェア制作論 平成30年10月3日.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラムの制御構造 配列・繰り返し.
プログラミングコンテストシステムへの 提出履歴データとその分析
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
疑似乱数, モンテカルロ法によるシミュレーション
コンパイラ 2011年10月20日
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
プログラミング序論演習.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
プログラミング序論演習.
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
情報処理Ⅱ 第7回 2004年11月16日(火).
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
モジュール分割.
プログラミング 4 文字列.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
知能情報工学演習I 第12回( C言語第6回) 課題の回答
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (07).
知的CAIの基本構成 ① 専門知識 ・・・ 学習の対象となる分野の知識。 ② 学習者モデル ・・・ 学習者の理解状態や過程など を表現。
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
プログラミング1 プログラミング演習I 第2回.
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
4.2 再帰下降解析 (1)再帰下降解析とは ■再帰下降解析(Recursive Descent Parsing)
Presentation transcript:

skill-net(MILESTONE CAI,笈川他,1982)[Fortranの課題選択など] 2019/8/19

2019/8/19

PROUST (Johnson, W.L. & Soloway, E. ,1987) 初級プログラマが書いたPascalプログラムを,  課題記述ライブラリやプログラミング知識を用いて理解し, バグ(誤り)があればバグ知識を用いてバグの発生箇所やバグの説明を行う 2019/8/19

課題の例 正の実数値を入力し,入力した値の平均値を計算するPascalプログラムを作成しなさい。    但し,データの入力は「99999」が入力されたら終了すること。また,この「99999」は平均値の計算には含めないこと。 2019/8/19

平均値を求めるプログラムのgoalの例 値を入力する,但し,終了値99999が入力されたら終了する。 入力値が0以下ならば,再入力 平均値を計算 計算した平均値を出力 2019/8/19

5 –5 99999が入力されると, 終了値である99999がデータとして計算されてしまうプログラム 2019/8/19

平均値を求めるプログラムのゴールを用いた表現 2019/8/19

goal:値を入力する,但し,終了値99999が入力されたら終了する。 2019/8/19

plan: 値を入力する,但し,終了値99999が入力されたら終了する planの一例 2019/8/19

システム側のplanと一致するかを検査し,一致すればそのplanが使用されたと判断する。 (使用されたplanとその構成が作成者の考え) 2019/8/19

Error-Pattern (IF WHILE) ←IFをWHILEで置き換えると Planが正しく動作する Bugルールの例 (Defile WHILE-for-IF Statement-Type IF Error-Pattern (IF WHILE) ←IFをWHILEで置き換えると Planが正しく動作する Bug (WHILE-for-IF-Confusion (FoundStmt, *MRet*) (Histlnst, *HistoryNode*))) ←  HistoryNode:どういう状態で発生したか 2019/8/19

学習者作成のプログラムを理解するために (a) プログラミング言語の文法(構文) (b)技能: プログラムの概念と文との関係(構造)     プログラムの概念と文との関係(構造) [構成要素,従属,困難さ・複雑さ(複合度)) (c)プログラムの構成や誤り    求めるプログラムを構成するサブ・ゴールとその実現方法,誤りのルール    実現方法は,例えば, 「終了値制御の入力」の方法(手続きのパターンと考えると良いかも) (d) ??? 2019/8/19

次のプログラムは どの様な知識が使われているか 考えて下さい。 #include <stdio.h> Void main(){ int a,b; scanf(“%d”, &a); b=a+2; printf(“b=%d\n”, b); } 2019/8/19

文字式での誤り原因系の階層構造 2019/8/19