2022年2022年计算机程序设计基础学习 .pdf
《2022年2022年计算机程序设计基础学习 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机程序设计基础学习 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、13.1 计算机程序的概念所谓计算机程序, 就是一些编写的代码或指令,这些代码或指令可以驱动计算机,完成某些特定的工作。 编写计算机程序的人员称为程序员。我们熟悉的一些软件系统,例如 Windows ,MS Office等等,其中最重要的组成部分就是计算机程序,大家用到的纷繁复杂的各种功能,都是由若干程序的片断组成,这些计算机程序是许多优秀程序员的智慧结晶。有些读者或许会想,我并不打算成为一个专业的程序员,也不会去编写大型的软件,计算机程序对我有什么用呢?实际上,计算机技术已经渗透到各种领域,我们在日常生活和工作中总会遇到一些计算机程序可以解决的问题。掌握一些计算机程序的基础知识,便于在实际工
2、作中解决一些问题,提高工作效率。图 13.1 就是一段用Visual C+ 编写的程序代码。图 13.1 Visual C+程序代码13.2 设计程序的过程我们用实际的例子来说明设计一个程序的过程。中国古代的算经中有个著名的“ 百钱百鸡” 问题:公鸡5 文钱一只,母鸡3 文钱一只,小鸡一文钱三只;现在要用100 文钱正好买100 只鸡, 问公鸡、 母鸡和小鸡应该各买多少只?这个问题用代数的方法很难求解,逐个数去试又很费时间。但是,如果我们利用计算机程序去分析这个问题,很快就可以得到结果。怎样用计算机程序解决这个问题呢?13.2.1 描述问题我们已经知道了“ 百钱百鸡 ” 问题,但对于计算机来说
3、,问题本身并不清晰。哪些是输入的参数,输入参数的约束和条件是什么?输出什么?需要对这个问题做一些整理和抽象,将问题描述为一些可以用来解决问题的要素(专业的术语叫做建立数学模型)。一般来说,表达清晰的问题描述应该具备以下三个特征:1. 能说明问题域的相关假设2. 列出已知条件和约束3. 具体说明解决什么问题例如,对于 “ 百钱百鸡 ” 问题,我们可以做下面的问题描述:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 1. 假设:用未
4、知数x 代表公鸡的个数,y 代表母鸡的个数,z 代表小鸡的个数。2. 已知条件: x、y 和 z 都只能是正整数;买每只公鸡需5 文钱, x 只公鸡共需要 5x 文钱;买每只母鸡需3 文钱, y 只公鸡共需要3x 文钱;三只小鸡一文钱,小鸡个数为3 的倍数,且大于等于3,z 只小鸡共需要z/3 文钱;3. 解决问题: x+y+z=100且 5x+3y+z/3=100时, x、y 和 z 所有可能的值。4. 输出:所有可以解决问题的x、y、z 值。“ 百钱百鸡 ” 这个问题的描述相对要容易一些。在某些实际应用中,例如某些企业业务流程,问题描述要复杂的多,需要一定的经验、技巧和抽象能力。13.2.
5、2 设计算法问题描述清楚后,就可以设计适当的计算机算法去解决问题。1计算机算法的概念所谓计算机算法, 就是计算机能执行的、为解决某个问题所采取的方法和步骤。计算机是一种由指令驱动的机器,只能机械地执行指令。它本身不会思考,也不会理解任何问题。要使计算机能解决问题,必须首先为如何解决问题设计一个算法,然后再根据算法编写程序。算法是抽象的解题方法,是问题求解过程的精确描述。算法有以下五个主要特征:有效性:算法的每一个步骤都必须可行并能达到预期目的。确定性:算法的每一个步骤都是明确定义的,不允许有多义性。有穷性:算法必须在有限的时间内执行完,即必须在有限个步骤后中止。足够的信息:算法有足够的输入信息
6、(条件)。必定的输出:必须给用户提供解决问题的答案。另外, 一个问题可以有多种算法来解决,不同的算法可能导致程序效率的优劣。例如,如果要计算 1+2+3+.+100 ,可以将 1 和 2 相加,然后将它们的和与3 相加,依次类推。但也可以采用算法:1+2+3+.+100=( 1+100 )+(2+99 )+.+ (50+51 )=10150=5050 ,显而易见后者比前者的计算速度要快得多。在设计算法时, 还要注意充分利用计算机的特点,使算法尽量简练并具有较好的通用性。例如,要计算1 2 3 . 100 的值,可以使用算法:步骤 1:计算 1 2,得结果1 22;步骤 2:上个步骤的结果乘以3
7、,得结果2 36;步骤 3:上个步骤的结果乘以4,得结果6 424;. . 步骤 99:第 98 个步骤的结果乘以100,得到最终结果。这个算法可以得到正确结果,计算机运算速度极快,可以在极短时间内完成计算。但是,该算法过于繁琐,如果上述算法写出计算机程序,至少需要99 行代码。而且,如果要改算12 3 .50 或 1 2 3 .300 时,算法和程序还需要大规模的改动。可以用另一种算法完成上述运算。设定两个变量x 和 i,x 表示被乘数, i 表示乘数。开始将1 放在 x 中, 2 放在 i 中,计算i 和 x 的积后,将结果再放入x,x 现在等于1 2;i 自加 1名师资料总结 - - -
8、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 后变为 3,再和 x 相乘,结果仍放入x,x 现在等于1 2 3;.;继续上述过程,直到最终 x 等于 1 2 3 . 100,算法可以描述为:步骤 1:将 1 放入 x;步骤 2:将 2 放入 i;步骤 3:计算 i 乘以 x,结果放入x;步骤 4:i 自己的值加1,结果放回i;步骤 5: 如果 i 小于等于 100, 转入步骤 3 继续计算;否则,算法结束,x的值就是 1 2 3 . 100的值。可以
9、看出, 虽然这种算法的速度和前面的算法不相上下,但描述非常简捷,如果写成计算机代码, 10 行就足够了。另外,这种算法的灵活性很好。比如现在要改算1 2 3 . 50,只需要将步骤5 的 “ 如果i 小于等于100” 改为 “ 如果i 小于等于50” 即可;如果要改算1 3 5 7 .99,只需要将步骤4 的“i自己的值加1” 改为 “i自己的值加2” 即可。“ 百钱百鸡 ” 这个问题可以用穷举算法来解决。根据问题描述,公鸡和母鸡的可能个数都在1至 100 之间(实际上范围可以更小,这里为简单起见按照100 讲述),小鸡的可能个数都在 3 至 100 之间。如果我们把公鸡、母鸡和小鸡个数的每种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算机程序设计基础学习 2022 计算机 程序设计 基础 学习
限制150内