论文部分内容阅读
随着ICAI(Intelligence Computer Assisted Instruction)技术的不断发展,其在许多学科领域已得到了广泛的应用。比如,在数学方面有著名的Geometry Tutor、BUGGY系统、张景中的立体几何、解析几何智能教学软件等:在化学方面则有王晓京的基于自动推理的新型ICAI化学系统等。而在程序设计这一领域虽然也很早就引入了ICAI技术,但进展却很缓慢,究其原因在于,利用ICAI技术进行程序设计方面的教学相对于传统学科有以下难点:(1)程序设计理念还很不完善,如何进行程序设计教学尚存在许多有争议的问题。当前很多高级语言程序设计课件及教程,比较注重介绍“知识”,特别是语言的语法和语义,而忽略了程序设计能力的培养。(2)程序设计是一门具有创造性特征的学科,如何对程序设计问题进行自动求解,尚没有形成较规范的处理办法,这使得目前的大多数程序设计ICAI系统在智能性方面显得差强人意。因此,急需一个新型程序设计ICAI,这个ICAI是以一种普遍适用的程序设计方法作为教学基础,并且能够进行程序设计的自动推理。 薛锦云教授及其梯队长期从事程序设计方法的研究,创造性地提出了算法程序设计和证明的PAR方法。该方法含算法设计语言Radl,抽象程序设计语言Apla和相关程序自动转换系统。应用PAR方法,可以给出从需求解问题,到可执行程序的具体设计过程。实践证明,用PAR方法进行程序设计教学,能显著提高学习者的程序设计能力。基于PAR方法,薛锦云教授提出了一种新的计算机程序设计课程体系结构。本文的研究是将这种新的课程体系结构引入ICAI实现一个带有自动推理功能的新型程序设计ICAI系统,该项研究以薛锦云教授主持承担的国家自然科学基会课题“基于PAR方法的算法设计形式化与自动化研究”为研究背景。 本文主要工作如下: 1.分析研究自动推理理论及程序设计课程的特点,选择适合程序设计的自动推理方法——基于范例、规则自动推理。 2.对PAR方法进行研究与总结,收集已有PAR方法开发实例,并用PAR方法推导大量的典型算法程序,总结出其中规律:将适合用PAR方法开发的算法程序进行分类,并且构造相应的问题模板和解题模板,形成生成无限题库和基于范例推导自动推理的理论依据。 3.研究人工智能知识表示方法及PAR方法的量词变换规则,组织基于规则推导的规则库。 4.构建一个基于范例、规则推理的新型程序设计的ICAI系统。 本文对程序设计的自动推理做了有意的探索;对PAR方法进行问题分类,将形成的,叮重丁月程序模板用于自动推理,这样不仅有利于PAR方法的进一步研究与深化,l(lJ’}」.大大增强了l,AI{方法对实现软件开发的形式化和自动化所起的作用,同时有助于现在正在进行的Radl一Apla转换器的研究;组织整理量词转换规则库,使算法设计的量词转换部分可丛于规则推理自动完成,这为将来用逻辑语言完成这部分工作奠定了基础;实现的新型程序设计ICAI具有无限题库、系统自动出题、用户自己出题、.自动求解、交互求解等新型特点,并且嵌入了Apla一Java,Apla一。++算法程序转换器,使Apla算法程序可以转换为相应语言的可执行程序,为教师和学生提供了一个很好的教与学程序设计的平台。