大一上学期第10章 程序设计基础
第10章 程序设计基础 章10.1 10.2 10.3 10.4 程序设计的概念 算法 程序设计语言 程序设计方法
10.1 程序设计的概念程序:是解题方法和步骤的描述, 程序:是解题方法和步骤的描述,是供计算机执行 并能完成特定功能的指令序列。 并能完成特定功能的指令序列。 程序的核心:数据结构和算法。 程序的核心:数据结构和算法。 程序设计( ):先对问题进行分析并 程序设计(Programming):先对问题进行分析并 ): 建立数学模型,然后考虑数据的组织方式和算法, 建立数学模型,然后考虑数据的组织方式和算法, 并用某一种程序设计语言编写程序,最后调试程序, 并用某一种程序设计语言编写程序,最后调试程序, 使之运行后能产生预期的结果。 使之运行后能产生预期的结果。
程序设计的基本步骤: 程序设计的基本步骤: (1)分析问题,确定数学模型或方法。 分析问题, 分析问题 确定数学模型或方法。 (2)设计算法,画出流程图。 设计算法, 设计算法 画出流程图。 (3)选择编程工具,按算法编写程序。 选择编程工具, 选择编程工具 按算法编写程序。 (4)调试程序,分析输出结果。 调试程序, 调试程序 分析输出结果。
10.2 算 法10.2.1 算法的概念 计算机解决问题的方法和步骤, 计算机解决问题的方法和步骤,就是计算机解题 的算法(Algorithm)。 的算法 。 算法举例: 算法举例: (1) 将两个变量的值互换 。 ) (2)欧几里德(Euclid)算法求两个正整数 和 )欧几里德( )算法求两个正整数m和 n的最大公约数。 的最大公约数。 的最大公约数 枚铜币, (3)非数值计算算法:有9枚铜币,其中有 枚略 )非数值计算算法: 枚铜币 其中有1枚略 轻的是假币, 轻的是假币,用一台没有砝码的天平将假币找出 来,应怎样找称 。4
10.2.2 算法的特性 (1) 有穷性。算法中执行的步骤总是有限次数的,不 有穷性。算法中执行的步骤总是有限次数的, 能无止境地执行下去。 能无止境地执行下去。 (2) 确定性。算法中的每一步操作必须具有确切的含 确定性。 不能有二义性。 义,不能有二义性。 (3) 有效性。算法中的每一步操作必须是可执行的。 有效性。算法中的每一步操作必须是可执行的。 (4) 要有数据输入。算法中操作的对象是数据,因此 要有数据输入。算法中操作的对象是数据, 应提供有关数据。 应提供有关数据。 (5) 要有结果输出。 要有结果输出。
10.2.3 算法的评价 1.算法评价标准 . (1)正确性。 )正确性。 (2)可读性。 )可读性。 (3)通用性。 )通用性。 (4)高效率。 )高效率。 2. 算法效率的度量 (1)时间
度量 ) (2)空间度量 )
10.2.4 算法的描述 1. 用传统的流程图描述算法 传统的流程图是用一些几何框图、 传统的流程图是用一些几何框图、 流程线和文字说明表示各种类型 的操作。一般用矩形框表示进行 的操作。 某种处理,有一个入口, 某种处理,有一个入口,一个出 用菱形框表示判断, 口。用菱形框表示判断,有一个 入口,两个出口。 入口,两个出口。在框内写上简 明的文字或符号表示具体的操作, 明的文字或符号表示具体的操作, 用带箭头的流向线表示操作的先 后顺序。 后顺序。7
2. 用结构化流程图描述算法 (1)程序的三种基本结构:顺序结 )程序的三种基本结构: 选择结构和循环结构。 构、选择结构和循环结构。 (2)结构化流程图(N-S图) )结构化流程图( 图
3.用伪代码描述算法 . 计算2+4+… +100并输出,设计算法并用 并输出, 计算 并输出 Visual Basic伪代码描述如下: 伪代码描述如下: 伪代码描述如下 0→sum 1→i Do While i≤100 If i/2的余数为 THEN sum+i→sum 的余数为0 的余数为 i+1→i Loop Print sum9
10.2.5 算法示例 1.迭代算法 . 迭代是一种建立在循环基础上的算法。在数学中, 迭代是一种建立在循环基础上的算法。在数学中, 迭代经常被用来进行数值计算,例如求方程的解, 迭代经常被用来进行数值计算,例如求方程的解, 不断用变量原来的值递推求新的值的过程。 不断用变量原来的值递推求新的值的过程。 讨论求若干个数之和或乘积的问题。 讨论求若干个数之和或乘积的问题。
10.2.5 算法示例1.迭代算法 . 迭代是一种建立在循环基础上的算法。在数学中, 迭代是一种建立在循环基础上的算法。在数学中, 迭代经常被用来进行数值计算,例如求方程的解, 迭代经常被用来进行数值计算,例如求方程的解, 不断用变量原来的值递推求新的值的过程。 不断用变量原来的值递推求新的值的过程。 讨论求若干个数之和或乘积的问题。 讨论求若干个数之和或乘积的问题。
2.穷举算法 . 穷举法也叫枚举法, 穷举法也叫枚举法,它的基本思路是对众多可能 按某种顺序进行逐一枚举和检验, 解,按某种顺序进行逐一枚举和检验,并从中找 出那些符合要求的可能解,作为问题的解。 出那些符合要求的可能解,作为问题的解。穷举 的计算量是相当大的,但对于计算机来说, 的计算量是相当大的,但对于计算机来说,做起 来很容易。穷举算法是一种重要的算法设计策略, 来很容易。穷举算法是一种重要的算法设计策略, 可以说是计算机解题的一大特点。 可以说是计算机解题的一大特点。
求方程x+2y+5z=100的整数解。 的整数解。 求方程 的整数解
3.排序算法 . 所谓排序, 所谓排序,就是将一组数据元素按照某个关键字 递增或递减的次序排列起来。 递增或递减的次序排列起来。 (1)选择排序 )选择排序(Selection Sort) 选择排序法的实现过程是: 选择排序法的实现过程是:首先找出表中关键字 最小的元素,将其与第一个元素进行交换,然后, 最小的元素,将其与第一个元素进行交换,然后, 再在其余元素中找出关键字最小的元素, 再在其余元素中找出关键字最小的元素,将其与 第二个元素进行交换。依次类推, 第二个元素进行交换。依次类推,直到将表中所 有关键字按由小到大的顺序排列好为止。 有关键字按由小到大的顺序排列好为止。
(2)冒泡排序 )冒泡排序(Bubble Sort) 冒泡法排序法是每趟将相邻的两个数两两进行比 若满足升序次序,则进行下一次比较, 较,若满足升序次序,则进行下一次比较,若不 满足升序次序,则交换这两个数,直到最后。 满足升序次序,则交换这两个数,直到最后。总 的比较次数为n-1次 此时最后的元素为最大数, 的比较次数为 次,此时最后的元素为最大数, 此为一趟排序。接着进行第二趟排序,方法同前, 此为一趟排序。接着进行第二趟排序,方法同前, 只是这次最后一个元素不再参与比较, 只是这次最后一个元素不再参与比较,比较次数 为n-2次,依次类推。 次 依次类推。
4.查找算法 . 查找是根据给定的某个值, 查找是根据给定的某个值,在查找表中确定一个 其关键字等于给定值的数据元素, 其关键字等于给定值的数据元素,若表中存在这 样的数据元素,称此查找是成功的。 样的数据元素,称此查找是成功的。若表中不存 在关键字等于给定值的数据元素, 在关键字等于给定值的数据元素,称此查找是不 成功的。 成功的。 (1)顺序查找 ) 顺序查找是最常用的查找方法,其查找过程为: 顺序查找是最常用的查找方法,其查找过程为: 从第一个元素起, 从第一个元素起,逐个将给定值与数据元素的关 键字进行比较, 键字进行比较,若某个元素的关键字与给定值相 则认为查找是成功的,否则,查找失败。 等,则认为查找是成功的,否则,查找失败。
(2)折半查找 )作为折半查找的表必须是顺序存储的有序表, 作为折半查找的表必须是顺序存储的有序表,即表 …… 此处隐藏:2461字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




