结合计算机应用的离散数学教学研究
结合计算机应用的离散数学教学研
离散数学是研究离散量的结构及相互关系的数学学科,是计算机等信息类专业的专业
基础课.该课程的学习为数据结构、编译原理、操作系统、数据库原理和人工智能等后续
课程的学习打下了坚实的数学基础,同时也有利于提高学生的抽象思维、逻辑思维和计算
思维能力,为学生后续的学习和工作奠定了基础 .鉴于离散数学在计算机科学中的重要性
,中国计算机科学与技术学科教程2002 和教育部高等学校计算机科学与技术教学指导委
员会都将其列为计算机科学与技术学科教育的核心基础课程.
离散数学具有内容广、概念多、逻辑性与理论性强、高度抽象等特点,对计算机专业
的学生来讲,他们更注重于计算机应用技能的获得,认识不到离散数学与其专业的相关性
,把离散数学作为一门纯粹的数学课学习,导致一些学生失去学习热情,严重影响教学效
果.另一方面,纯数学的教学方法也不能满足应用性人才培养的需求.为了解决这个问题,
很多教师离散数学教学中增加相应实验内容,并且设计了切实可行的实验项目.但这些实
验项目大多是对离散数学中的一些基本算法进行实现,其目的在于巩固学生所学的基本概
念、原理和方法.笔者认为影响离散数学教学效率的一个最根本的原因是学生不明白离散
数学与所学专业的关系,如何将离散数学与计算机应用相结合起来成为提高离散数学教学
效率的重要环节.本文深入探讨了离散数学在计算机科学中的应用,并给出了必要的应用
实例,旨在引导广大教师将更多的计算机应用相关的实例引入离散数学课堂教学中,使学
生认识到离散数学的实用性,从而激发学生的学习兴趣,提高教学效率.
一、数理逻辑在计算机科学中的应用
数理逻辑是以数学的方法研究形式逻辑中的推理,一般包括命题逻辑和谓词逻辑两部
分内容,它广泛地应用于人工智能、程序理论、数据库理论和计算机硬件电路设计等研究
中.在课堂教学中,如果教师仅用这些概括性的结论强调数理逻辑在计算机科学中的应用
,恐怕会适得其反,为了突出应用,吸引学生的注意力,教师可以把如下几个简单的应用
实例引入课堂教学.
1.数理逻辑在硬件电路设计中的应用
数理逻辑中的逻辑演算是数字逻辑本文由论文联盟 http://www.LW 收集整理
的基础,计算机系统中用高低电平来表示二进制数据中的 1 和 0 ,计算机电路设计中用与
、或、非门来实现数据的算术运算和逻辑运算.离散数学教学中我们引入一位全加器的设
计作为数理逻辑在硬件电路设计中的应用实例.教师首先阐述逻辑电路设计的基本步骤(
若还未开设数字逻辑课,教师可以详细讲解,否则,则是简单地复习已有知识),然后要
求学生写出逻辑表达式.
假设 Ai ,Bi 为两位操作数,Ci-1 为低位的进位,Si 为本位和,Ci 为本位向高位的进
位,根据加法的意义,学生很容易写出如下真值表:
当学生根据真值表写出逻辑表达式时,教师只要稍加引导,学生就会发现写出的逻辑
表达式恰好是主析取范式,主析取范式与真值表的关系是书写逻辑表达式最直接的理论依
据.既然学生已经发现了数理逻辑在硬件电路设计中的应用,是否继续画逻辑电路已无关
紧要了.对有余力的同学,教师还可以给出一些具体要求,让学生设计一个表决器或者抢
答器.
2.程序设计中的数理逻辑
数理逻辑可以用来验证程序的正确性,同时,学生在自觉不自觉中已经将数理逻辑应
用到程序设计中.为了使问题更加清晰,教师可以将如下实例引入离散数学课堂教学中.例
,在数组StArr 中查找“Jon” ,使用方法StArr.size ()和StArr[i].getName ()写出两个循
环条件并证明这两个循环条件的等价性.学生很容易得出如下两个循环条件并使用德摩根
律证明两个循环条件的等值性:
i
not (i>=StArr.size () or StArr[i].getName ()=="Jon"
3.量词在 SQL 语句的应用
数理逻辑的谓词演算被引入到关系运算中,以此为基础形成的关系数据库查询语言叫
关系演算语言,如 ALPHA 语言,QEB 语言等,关系数据库的 SQL 查询语句中也允许用户
使用全称量词和存在量词.教师可以有意识地让学生做 SQL 查询方面的训练.假如某学生管
理数据库中有如下三个数据表:学生表 S (S# ,SNAME ,SEX ,AGE ,DEP),课程名表
C (C# ,CNAME ,