用现代VFP语言编程解古代数学题

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:lovetianbing
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]在数据库开发软件Visual FoxPro Visual(简称VFP)编程教学中,选择一些古代有趣的数学题目通过编程来解决,在教学过程中让学生们感受古人的聪明智慧,同时又可把枯燥的编程变得有乐趣,这样既可以培养学生的学习兴趣,调动学生的学习主动性和积极性,又可以活跃课堂气氛,提高教学效果。
  [关键词]VFP;数学题;编程。
  中图分类号:TP313 文献标识码:A 文章编号:1009-914X(2015)05-0262-02
  Visual FoxPro(简称VFP)是最为实用的数据库管理系统和中小型数据库应用系统的开发工具之一,它为数据库结构和应用程序开发而设计。它即是一种结构化编程语言,也是一种可视化面向对象的编程语言。它具有编程纠错方便、操作简单的特点。无论将程序多么复杂,要运算多少次,计算机都会很快地给出程序的运算结果。为了提高教学效果和教学质量,提高学生的学习兴趣,我们可以将古代一些典型的有代表性的数学题目,通过编程来解决,下面就结合具体实例进行分析。
  1 百鸡百钱
  我国古代数学家张丘建在《算经》一书有一道百鸡百钱问题的数学题,其内容为:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
  其意思是:一只公鸡值五元钱,一只母鸡值三元钱,三只小鸡值一元钱,现在用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?
  1.1 数学解法
  用数学方法解该题如下:
  解:由题目知公鸡一只值钱五:母雞一只五值钱三,三只小鸡值钱一。而现在一百钱买一只百鸡,所以公鸡数量要最多为20只。
  设公鸡x只,母鸡y只,,小鸡100-x-y只,
  所以5x+3y+(100-x-y)/3=100
  且x,y为整数,所以可以得出正确答案,
  有三种答案:(1)公鸡4只,母鸡18只,小鸡78只
  (2)公鸡8只,母鸡11只,小鸡81只
  (3)公鸡12只,母鸡4只,小鸡84只
  这种数学解法,难度比较较大。
  1.2 VFP编程求解
  如果我们利用VFP编程来解,只需按编程逻辑思路,编写好程序,然后在计算机上运行就可以了。
  用Visual FoxPro 编程如下:
  clea
  g=1
  n=1
  do while g<=20 &&买公鸡的最大数
  m=1
  do while m<=33 &&买母鸡的最大数
  x=1
  do while x<=100 &&买小鸡的最大数
  if (5*g+3*m+x/3)=100 .and. (g+m+x)=100
  ? space(10)+str(n)+'公鸡=',g
  ?
  ? space(10)+str(n)+'母鸡=',m
  ?
  ? space(10)+str(n)+'小鸡=',x
  ?
  n=n+1
  endif
  x=x+1
  enddo
  m=m+1
  enddo
  g=g+1
  enddo
  结果有三组: 1公鸡=4 2公鸡= 8 3公鸡=12;
  1母鸡=18 2母鸡=11 3母鸡=4 ;
  1小鸡=78 2小鸡= 81 3小鸡=84 .
  二、百馍百僧
  我国明代珠算家程大位的名著《直指算法统宗》里有一道著名算题:?“一百馒头一百僧,大僧三个更无争,小僧三人分一个,大小和尚各几丁?”如果译成白话文,其意思是:有100个和尚分100只馒头,正好分完。如果大和尚一人分3只,小和尚3人分一只,试问大、小和尚各有几人?
  2.1 数学解法
  数学解法(一)
  设未知数列方程求解。
  解:设大和尚有x人,则小和尚有(100-x)人,根据题意列得方程:
  3x+1/3(100-x)=100
  解方程得:x=25
  小和尚:100-25=75人
  数学解法(二):
  (1)假设100人全是大和尚,应吃馒头多少个?
  3×100=300(个).
  (2)这样多吃了几个呢?
  300-100=200(个).
  (3)为什么多吃了200个呢?这是因为把小和尚当成大和尚。那么把小和尚当成大和尚时,每个小和尚多算了几个馒头?
  3-1/3=8/3
  (4)每个小和尚多算了8/3个馒头,一共多算了200个,所以小和尚有:
  200÷8/3=75(人)
  大和尚:100-75=25(人)
  2.2 VFP编程求解
  用Visual FoxPro 编程如下:
  clea
  dhs=1
  xhs=1
  n=1
  do while dhs<=100 &&大和尚的最大数
  if (3*dhs+1/3*(100-dhs))=100
  xhs=100-dhs
  ? space(10)+str(n)+'大和尚=',dhs
  ?
  ? space(10)+str(n)+'小和尚=',xhs
  ?   n=n+1
  endif
  dhs=dhs+1
  enddo
  运行程序得到结果:大和尚=25
  小和尚=75
  3 百羊问题
  我国明代著名数学家程大位的《算法统宗》里有这样一题:“甲赶群羊逐草茂,乙拽肥羊一只随其后;戏问甲及一百否?甲云所说无差谬,若得这般一群凑,再添半群小半群,得你一只来方凑。玄机奥妙谁猜透?”根据程大位自述,这道题是他在1406年参加《永乐大典》编纂工作时,用业余时间编制的。这道题不仅在我国流传很广,而且国外不少数学家也广为引用,或进行改编。题目的意思是:甲赶了一群羊在草地上往前走,乙牵了一只肥羊紧跟在甲的后面。乙问甲:“你这群羊有一百只吗?”甲:“如果再有这么一群,再加半群,又加四分之一群,再把你的一只凑进来,才满100只。”请问甲原来赶的羊一共有多少只?
  3.1 数学解法
  算术方法解答的解是: (100-1)÷(1+1+1/2+1/4)=36只
  因为我们把原来的羊看为单位“1”,再添一个这样的单位“1”,再添二分之一个和四分之一个单位“1”,将总数(100只)减去乙的1只,然后相除,得36只。
  方程方法的解答的解是:解:设甲有x羊。 X+X+X/2+X/4+1=100 最后解得:x=36
  3.2 VFP编程求解
  clea
  x=1
  do while x<=100 &&因为羊的总数为100&&
  if X+X+X/2+X/4+1=100
  ? space(10)+'羊群羊数=',x
  ?
  endif
  x=x+1
  enddo
  4 百马百瓦
  我国古代数学名著《孙子算经》中记载了一道题目“一百马,一百瓦,大马一拖三,小马三拖一。”问多少大马,多少小马?
  100匹马恰好拉了100片瓦,已知1匹大马能拉3片瓦,3匹小马能拉1片瓦,问有多少匹大马、多少匹小马。
  4.1 数学解法
  解:设有x匹大马,y匹小马。
  由题意得:x+y=100
  3x+(1/3)y=100
  解得:x=25
  y=75
  答:有25匹大马,75匹小马。
  另解 设大马有x匹,小马就有100-x匹,由题意得;
  3x+1/3(100-x)=100
  解得x=25
  所以小马=100-25=75(匹)
  但是还有一种假设法,这里是思路;
  假设全部都是大马
  则拉的瓦=100*3=300
  多出300-100=200片瓦
  是因为把小马拉的也算进去了,只要算出200片里有多少个1/3(100-大马)就行
  假设小马同上。
  4.2 VFP编程求解
  用Visual FoxPro 编程如下:
  set talk off
  clea
  dm=1
  do while dm<=34 &&大马的最大数
  xm=1
  do while xm<=100 &&小馬的最大数
  if (3*dm+xm/3)=100 .and. (dm+xm)=100
  ? space(10)+'大马=',dm
  ?
  ? space(10)+'小马=',xm
  ?
  endif
  xm=xm+1
  enddo
  dm=dm+1
  enddo
  变换马数和瓦数,在程序中重新设定新的值,再到计算机上运行程序,如果新设定的数值不恰当,程序就不会给出新的结果;如果新设定的数值是恰当的,计算机就会结出新的结果,操作非常简便。
  中国古代数学著作中有一些数学题目极具代表性, 特别是一些趣味问题在后世广为流传。以上只是其中的四个典型例子,我们在古人智慧的基础上,借助现代的VFP计算机编程求解,其中的手工运算改由计算机自动完成,时间节省了,正确率又得到了保证。通过上面的VFP编程求解,可以看出比数学解的优势,将其程序中数值重新设定后在计算机上运行,马上就可以得到一个新的结果,从而对分析题目,推定可能的多种结果或扩大范围搜索时就显得十分方便,可见事半功倍的效果。这样将古人智慧和现代科技的巧妙地融和,用之于课堂教学,可以大大提高受古圣贤人的聪明才智,激计算机编程的趣味性、生动性,同时也可以让学生们在学习过程中感发学生的学习主动性、积极性,提高学习兴趣,使枯燥的计算机编程变得生动有趣。
  参考文献
  [1] 张小艳.兴趣诱导法在Visual Foxpro循环语句教学中的应用与思考[J].电脑知识与技术,2013(5).
  [2] 王新.“Visual FoxPro程序设计”案例教学实践之功效分析[J].长春理工大学学报,2011(6).
其他文献
[摘 要]现代语文教育强调书写习惯的培养,许多小学生存在不良的书写习惯,容易造成近视、斜视、驼背、脊椎弯曲等危害。矫正不良书写习惯刻不容缓,通过传授、示范、训练、督促、激励等教育形式,培养小学生良好的书写习惯和兴趣,同时培养学生严谨细致,积极进取的性格。  [关键词]矫正;训练;鼓励;培养;终身受益  中图分类号:G623.2 文献标识码:A 文章编号:1009-914X(2015)05-0260
期刊
[摘 要]针对当前日益严峻的反恐维稳形势,笔者从河北省会石家庄公安反恐防暴工作的现实需求出发,结合物联网的技术特点与功能,分析了物联网应用于公安反恐防暴工作的必然趋势;在起步阶段必须克服的现实瓶颈;并对物联网在公安反恐防暴工作中的应用进行了前瞻性的设想。  [关键词]物联网 反恐防暴 公安  中图分类号:F49;D631.1 文献标识码:A 文章编号:1009-914X(2015)05-0272-
期刊
[摘 要]隨着银行交易量和储户数量的增加,无论是对银行还是对储户来说ATM已经成为不可缺少一种日常工具。他能够方便的为用户提供各种服务,能够减轻银行工作人员的工作量,提高银行的工作效率,已经成为是银行必不可少的组成部分。  根据客户的实际需求,本系统的核心内容是为银行提供可以自动化处理存取款业务的ATM机系统,为用户提供服务。  [关键词]ATM 工作效率 银行  中图分类号:TH693.5 文献
期刊
[摘 要]本文主要是“晒钱网”在线记账系统进行分析,根据软件工程理论,首先对项目进行需求分析,再对系统的功能进行规划,本系统的功能主要可规划为个人空间管理,个人帐目管理,好友管理,查找好友管理,日志管理等。功能规划完成后要进行功能模块设计。  [关键词]“晒钱网”在线记账系统;信息录入;系统分析  中图分类号:F275. 5 文献标识码:A 文章编号:1009-914X(2015)05-0270-
期刊
[摘 要]百货商场销售管理系统利用先进的管理技术,提高企业销售管理水平,实现信息管理的现代化、科学化、规范化。本文主要对管理系统的分析,功能规划、功能模块方面进行详细介绍。  [关键词]百货商场销售管理系统 信息管理 现代化  中图分类号:TP3 文献标识码:A 文章编号:1009-914X(2015)05-0273-01  1 引言  本系统是天虹百货商场销售管理系统,一个销售管理系统应该有哪些
期刊
[摘 要]为加强学校师生间的交流、共享资源、并展示自我的平台。开发了此师生交流平台。主要简单的介绍了开发的分析及设计过程,包括数据流图,功能分析设计,数据库设计等。  [关键词]师生交流平台 数据库设计 功能分析  中图分类号:TP311 138 文献标识码:A 文章编号:1009-914X(2015)05-0271-01  1 引言  师生交流平台需要满足来自两个方面的需求,这两个方面分别是在校
期刊
[摘 要]总结分析了手机地图标注偏差的原因,说明了地图纠偏的必要性;介绍了手机地图坐标生成分析及纠偏思路,并利用VB.NET设计代码,自动“抓取”地图网站纠偏以后的经纬度数据;最后对纠偏的方法做了展望。  [关键词]手机地图 基站定位 标注纠偏  中图分类号:TP39 文献标识码:A 文章编号:1009-914X(2015)05-0276-01  1 引言  近年来,随着智能手机的普及,基于位置服
期刊
[摘 要]云计算是近年来基于互联网的新兴应用计算机技术。是以互联网为中心,提供可靠安全的数据存储、方便快捷的互联网服务和强大的计算能力。紧随云计算、云存储之后,云安全也出现了。云安全是我国企业创造的概念,在国际云计算领域独树一帜。“云安全(Cloud Security)”计划是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件
期刊
[摘 要]艺术设计是高等职业院校教学体系中发展较快的专业,承担着为经济社会发展培养高技能、应用型艺术设计人才的重任,有着较大的市场需求和较高的就业率。在全面深化改革的背景下,必须针对高等职业院校艺术设计专业教学中存在的主要问题,切实转变观念,着力推动教育教学改革,促进艺术设计专业的创新发展。本文从高等职业院校艺术设计专业教育教学的现状出发,通过分析存在的主要问题,对高等职业院校艺术设计专业的创新教
期刊
[摘 要]网上鲜花订购系统录入的信息不仅包括鲜花,还包括会员的信息,订单信息等。为了方便管理者的信息录入,和简化繁琐的工作流程,提高了工作效率和便利了顾客的购物流程。本文主要介绍“花勿缺”在线鲜花订购系统的分析。  [关键词]网上鲜花订购 信息录入 系统分析  中图分类号:TP315 文献标识码:A 文章编号:1009-914X(2015)05-0279-01  1 引言  本系统利用Intern
期刊