浅谈数学在C语言编程中的应用

浅谈数学在C语言编程中的应用

【】【】C语言对学习者的数学基础要求较高对一部分学生来说学好C语言有一定的困难。本文就本专业知识和自身对C语言的学习经验对数学在C语言编程中的应用做出讲解,以帮助部分学生更好的学习C语言。

1 与数学的关系C语言

要知道C语言与数学的关系可以通过以下几个关系来得出。

1.1:编程语言与程序的关系

程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。一般分为系统程序和应用程序两大类。程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。 如果按语种分,可以分为英文符号语言和汉语符号语言两类。目前通用的编程语言有两种形式:汇编语言和高级语言。

“从数学发展的历史来看,算法的概念古已有之。比如,在西方数学中很早就有了欧几里得算法,而中国古代数学中蕴含着更为丰富的算法内容和思想。割圆术,秦九韶算法等等都是很经典的算法。通过学习算法发展有条理的思考与表达的能力,提高逻辑思维能力。”并且在教材中给出了算法的定义。算法(algorithm)一词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程。在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题.这样算法与数学的关系就已经十分的明确了。

总结:综上所述,C语言作为编程语言之一,是为生产实现程序的工具,而无论构成程序的数据结构还是算法都属于数学范畴。如果把程序比作产品,那么数学内容就是原料和零件,而C语言就是把原料和零件加工组装成品的工具和机器。

2 数学的思想方法在C语言中的应用

2.1辗转相除法

例1(1) 设计一个算法,判断7是否为质数。

(2)设计一个算法,判断35是否为质数。

算法分析:

(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数。

根据以上分析,可写出如下算法:

第一步,用2除7,得到余数1。因为余数不为0,所以2不能整除7.

第二步,用3除7,得到余数1。因为余数不为0,所以3不能整除7.

第三步,用4除7,得到余数3。因为余数不为0,所以4不能整除7.

第四步,用5除7,得到余数2。因为余数不为0,所以5不能整除7.

第五步,用6除7,得到余数1。因为余数不为0,所以6不能整除7.

因此,7是质数。

(2)类似地,可写出“判断35是否为质数”的算法:

第一步,用2除35,得到余数1。因为余数不为0,所以2不能整除35.

第二步,用3除35,得到余数2。因为余数不为0,所以3不能整除35.

第三步,用4除35,得到余数3。因为余数不为0,所以4不能整除35.

第四步,用5除35,得到余数0。因为余数为0,所以5能整除35.

因此,35不是质数。

对于任意的整数n(n>2),若用i表示2~(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:

用i除n,得到余数r。判断余数r是否为0,若是,则n不是质数;否则,将i的值增加1,再执行同样的操作。

这个操作一直要进行到i的值等于(n-1)为止。因此,“判断n是否为质数”的算法可以写成:

第一步,给定大于2的整数n。

第二步,令i=2。

第三步,用i除n,得到余数r。

第四步,判断“i=o”是否成立。若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示。

第五步,判断“i>(n-1)”是否成立。若是,则n是质数,结束算法;否则,返回第三步。

2.2 更相减损术

《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母子之数,以少减多,更相减损,求其等也。以等数约之。”

翻译为现代语言如下:

第一步,任意给定两个正整数,判断它们是否都是偶数。若是,用2简约;若不是,执行第二步。

第二步,以较大的数减去较小的数,接着把差与较小的数比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数或这个数与简约的数的乘积就是所求的最大公约数。

例题2用更相减损术求98与63的最大公约数。

解:由于63不是偶数,把98和63以大数减小数,并辗转相减如下:

98-86=35

63-35=28

36-28=7

28-7=21

21-7=14

14-7=7

所以,98和63的最大公约数等于7.

2.3 秦九韶算法

怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值?

一个自然的做法是把5带入多项式f(x),计算各项的值,然后把它们加起来。这时,我们一共做了1+2+3+4=10次乘法运算,5次加

c语言在数学方面的应用编程,浅谈数学在C语言编程中的应用.doc相关推荐

  1. 计算机思维在数学中的应用,浅谈数学思维方式在计算机教学中的应用

    浅谈数学思维方式在计算机教学中的应用 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 浅谈数学思维方式在计算机教学中的应用高一微机组 ...

  2. 数学在计算机科学上的应用文献,浅谈数学在计算机科学及应用中的作用

    论文编号:SXJY040论文字数:5690,页数:06 浅谈数学在计算机科学及应用中的作用 [摘要]:数学作为伴随人类历史发展长期积累的智慧结晶,是学习和运用科学技术的语言,代表着人类智慧的最高成就. ...

  3. 编程浅谈-以一个初出茅庐的Java程序员视角

    编者是一个从事Java开发的普通软件攻城狮,迄今为止,粗粗算来不过刚刚进入编程的世界不过两年,但在这两年的光阴里,每当我抬头仰望星空(苦命加班)时脑海里总有这样一个疑问--"什么是编程&qu ...

  4. 数学在计算机科学发展中起到的作用,浅谈数学在计算机科学及应用中的作用_计算机毕业论文...

    全文字数:3518 浅谈数学在计算机科学及应用中的作用 [摘要] 本文简要探讨数学在计算机科学及应用中的作用,初步了解计算机的工作及其原理.数学是计算机发展的基础,几个重要的数学分支在计算机发展中起着 ...

  5. 浅谈数学中的化归原则

    浅谈数学中的化归原则 泸职院信息工程学院 华卫(1999.6.6) 摘要: 能力比知识更重要:数学教育中使学生掌握数学思想方法,对于促进他们能力的发展至关重要:化归原则是数学中一种很重要的思想方法:本 ...

  6. 对计算机辅助英语的看法,浅谈利用计算机辅助英语语言测试

    摘要:随着计算机技术不断深入发展,给我们的生活和学习带来了翻天覆地的变化,越来越多的学校利用计算机辅助各学科进行教学,对计算机教学设施的配备与老师掌握计算机技术方法的要求越来越高.尤其是利用计算机进行 ...

  7. 浅谈网络游戏的设计——服务器端编程

    浅谈网络游戏的设计--服务器端编程 本游戏服务器端操作系统采用UNIX,因为UNIX是标准的服务器操作系统,可保证网络游戏的稳定性.因此,以下所有的编程都将针对UNIX进行. 服务器端的整体构架如下: ...

  8. 分三种情况C语言编程,浅谈C语言教学的现状及几点建议.doc

    浅谈C语言教学的现状及几点建议 浅谈C语言教学的现状及几点建议 摘 要 针对C语言教学中存在的问题提出建议,以期对C语言教学有一定帮助. 关键词 C语言:课程设置:创新能力 中图分类号:G642 文献 ...

  9. c语言 去掉双引号_技术分享|浅谈C语言陷阱和缺陷

    良好的软件架构.清晰的代码结构.掌握硬件.深入理解C语言是防错的要点,人的思维和经验积累对软件可靠性有很大影响.C语言诡异且有种种陷阱和缺陷,需要程序员多年历练才能达到较为完善的地步.软件的质量是由程 ...

最新文章

  1. 《大型网站技术架构》-读书笔记四:高可用架构
  2. 访问网络计算机的盘符,win7系统下如何禁止访问指定盘符保护电脑安全
  3. 《算法竞赛入门经典》 例题3-5 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
  4. 博客群发(2)--实现登陆
  5. EFDC水模型 初学者入门 及软件下载学习指导
  6. 解决: ubuntu18.04没有网络直连
  7. PowerDesiGner数据库设计
  8. matlab的一些关于块分类的函数~~~
  9. 华为手机harmonyos系统,华为王成录:手机销量仍在增长 未来会是HarmonyOS系统的中心...
  10. 自然辩证法 题目2
  11. 文件夹里没有index.html,gatsby-cli建立后没有index.html文件吗?
  12. Day2-Python基础2---列表、元组操作
  13. ECharts x坐标轴(xAxis)使用详解
  14. 国产化图形引擎一词引发的感想!
  15. html编辑器有哪些
  16. 思科链路聚合Port
  17. VMware虚拟机配置虚拟网卡导致浏览器DNS解析慢
  18. 计算机数值分析-插值法-差商-04
  19. matlab中 hold on 与 hold off,figure作用
  20. 金融数据分析(三)当当网店铺商品爬虫——爬虫类书籍为例:requestsbs4

热门文章

  1. 当电脑电池只充到50%就不充电了
  2. Windows平台搭建Spark开发环境(Intellij idea 2020.1社区版+Maven 3.6.3+Scala 2.11.8)
  3. ndk-build 添加window环境变量
  4. Web 3 音乐:对传统音乐产业链的实验性革新
  5. 全国天气降水量预报图接口 天气预报云图接口
  6. Go语言圣经 - 第11章 测试 - 11.4 - 11.6
  7. mac与windows下各自的md5、sha1、sha256命令行校验工具
  8. pytorch入门笔记
  9. Amazone S3 生成公网链接
  10. day8-字符串作业