已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
有问题就解决 清晰的思路适合的方法步骤有效的表达 算法与程序设计 计算机解决问题的基本过程 听话聪明的计算机 按照指令做事儿用计算器计算 用Word处理文字 单击 确定 按钮确认你的操作编写游戏代码 编写网页代码 懂事智慧的我们 发现 分析问题设计解决方案 适合于计算机 完成方案 计算机能够执行 解决问题 y x2 3x 1x 0y 0 x 0 分段函数 以VB语言为例设计程序Dimx yAsIntegerx Val Text1 Text Ifx 0Theny x 2 3 x 1Elsey 0EndIfPrint y y 建立分段函数的数学模型 即写出表达式 输入X的值 判断X的取值 根据X的取值 选择Y的表达式 计算y值 输出Y的值 计算机解决问题的过程 分析问题 问题非正式描述 正式化或严格化描述 精确到底你要解决什么问题 建立数学模型或构造模型 设计算法 精确解决问题的步骤 用适当的方式把算法准确地描述出来 编写程序 用一种计算机能接受的程序设计语言来描述问题求解的算法 调试程序 查找和改正程序中存在的错误 使程序能顺利地执行 得出正确结果 同舟共济共创辉煌 算法 概念算法是在有限步骤内求解某一问题所使用的一组定义明确的规则 通俗地说就是用计算机求解某一问题的方法 是能被机械地执行的动作或指令的有穷集合 算法 特征输入 一个算法有零个或多个输入 以刻画运算对象的初始情况 确定性 算法的每一个步骤必须要确切地定义 不能有歧义 有穷性 一个算法在执行有穷步之后必须结束 输出 算法有一个或多个与输入有某个特定关系的输出 能行性 算法中有待执行的运算和操作必须是相当基本的 它们都是能够精确地进行的 算法执行者甚至不需要掌握算法的含义即可根据该算法的每一步骤要求进行操作 并最终得出正确的结果 辗转相除法 求最大公约数 古希腊数学家对公约数求解问题研究提出的算法称为 辗转相除法 欧几里得算法 具体方法是用较大的数除以较小的数 余数和较小的数构成新的一对数 继续上面的除法 直到大数被小数除尽 则较小的数就是最大公约数 例如 求16和12的最大公约数 16 12 12 4 8 4 4 4 算法的描述 用自然语言描述算法算法的描述语言是人们日常用的语言 自然语言通俗易懂 但其歧义性会导致算法执行的不确定性 表述较长会导致算法太长 循环和分支较多时 很难清晰地表示出来 描述的算法不便翻译成计算机程序设计语言 例如 求两个正整数m和n的最大公约数的步骤 以m除以n 令所得的余数为r 若r 0 则输出结果n 算法结束 否则 继续步骤3 令m n n r 并返回步骤1继续进行 将一个问题分为一系列的逻辑步骤 这样就易于将其转化为一个计算机程序 算法的描述 用流程图描述算法 流程图的基本图形及其功能 用流程图描述算法清晰简洁 容易表达选择结构 利于不同环境的程序设计 依次完成 顺序结构 做判断 选择结构 选择是指处理过程可能沿着两个或更多的计算路线进行 不断重复 循环结构 重复执行一个或多个步骤 求最大公约数 流程图描述 绘制流程图的技巧 开始时要把注意力集中在问题的逻辑上 画出流程图的主要执行路径 主要部分完成之后 加入选择和循环 一个流程图只有一个起始点和一个结束点 尽可能使流程图和机器无关 不要使用和计算机相关的术语 没有必要在流程图中将每个步骤都画出来 只要描述出那些有意义的即可 使用一些明确的描述性的词恰当地表示问题不要用一些模棱两可的词语 让其他编程人员或用户能够轻松地看懂你的流程图 分段函数流程图 以VB语言为例设计程序Dimx yAsIntegerx Val Text1 Text Ifx 0Theny x 2 3 x 1Elsey 0EndIfPrint y y 算法的描述 用伪代码描述算法伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具 用伪代码描述算法回避了程序设计语言严格 烦琐的书写格式 容易转换为程序设计语言 但伪代码的语句不容易规范 有时会产生误解 求最大公约数 自然语言描述 例如 求两个正整数m和n的最大公约数的步骤 输入正整数m和n以m除以n 令所得的余数为r 若r 0 则输出结果n 算法结束 否则 继续步骤3 令m n n r 并返回步骤1继续进行 伪代码描述 最大公约数Inputm nr mmodnDowhiler 0m nn rr mmodnLoopPrintn 流程图描述 算法在解决问题中的核心地位和重要作用 寻找解决问题的算法实质上是寻找问题的解决方案 是要找到描述特定类型问题是如何被解决的指令的集合 只有找到了一种可以指导工作执行的算法 通过使用算法来得到并转化智慧 我们才可以构建一台可以表现智能行为的机器来执行这个工作 机器表现的智能等级受到通过算法转化的智慧所限制 算法的好坏直接影响着程序的通用性和有效性 影响着问题解决的效率 算法与程序设计 计算机或者与计算机通信或者与人交流 我们必须将算法转变为一个清晰的指令的集合 并且将这些指令用程序设计语言来表示 一般分为 机器语言 汇编语言 高级语言 一个与计算机兼容的算法的描述称为一个程序 程序设计是设计程序的过程 就是把计算机运作指令有计划地串在一起 使计算机完成我们所期望的工作 让计算机按照我们的期望来运作 算法是程序设计的核心 是程序设计的灵魂 用辗转相除法和穷举法求两个整数的最大公约数 辗转相除法设计的程序 PrivateSubCommand1 Click m 9147485n 5147480r mModnDoWhiler0m nn rr mModnLoopCurrentY 100Print 最大公约数 nEndSub 穷举法设计的程序 PrivateSubCommand2 Click m 9147485n 5147480i mDoWhilemModi0OrnModi0i i 1LoopCurrentY 100Print 最大公约数 iEndSub 解决某一问题的算法的思想可以多种多样 好算法让我们事半功倍 小结 理论 计算机解决问题的基本过程 建立数学模型 构造非数值类数据的模型 算法的效率 通用性 多样性 在计算机领域中有的问题不可解 思路 了解工具的功能 掌握工具的使用方法和步骤 用我们的认知来改进现有工具 制造新工具 延伸 拓展我们的智能 人们洞察世界的优秀的模型 利用计算机解决现实世界的问题 人们关心现实社会而不是程序 程序是人们更好地理解世界的机制 输出简单的有规则的字符几何图形 CurrentY 500PrintTab 20 i 3 Fori 1To3NextiForj 1To5NextjPrint Print 第一行输出的位置 每一行第一个字符输出的位置 图形有3行 每行有5列 每行输出相同的 号 显示完一行后 换行显示下一行 输出简单的有规则的字符几何图形代码 PrivateSubForm Click CurrentY 500Fori 1To5PrintTab 20 i 3 Forj 1To5Print 人 NextjPrintNextiCurrentY 500Fori 1To5PrintTab 20 i 3 Forj 1To5Print 人 NextjPrintNextiEndSub 修改项 行参数 由3改为5 字符参数 由 改为 人 每行第一个字符的输出位置参数 由20 i 3改为20 i 3 随着i的增大而增大 距离屏幕左边线越来越远 即图形向右移动 复制蓝色程序块 粘贴 修改每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级上册社会法治期末复习宝典(知识清单)
- 豌豆形薹草复合体:多维度解析物种生物学奥秘
- 调强放射治疗(IMRT)对鼻咽癌患者唾液腺及眼部组织影响的深度剖析
- 课堂显性语用教学:大学生语用能力提升的关键路径
- 诺丁斯幸福教育理论:内涵、实践与启示
- 语音交互赋能独居老人社交机器人:设计、应用与前景探索
- 2026云南保山市商务局开招聘城镇公益性岗位人员1人考试模拟试题及答案详解
- 语用学视域下英若诚戏剧翻译的艺术呈现与文化传递
- 语文教学应对网络语言冲击的多维探索
- 2026四川成都高新云芯学校社会招聘员额教师25人考试模拟试题及答案详解
- 数据中心DCIM技术系统培训
- 2026湖北十堰市茅箭区人民法院招聘协理员8人笔试备考试题及答案详解
- 2026广西北海市市场监督管理局招聘后勤人员控制数2人笔试备考试题及答案详解
- 2026年山东定期医师考核题库及答案
- 河南省开封市2026届九年级中考二模历史试卷(有答案)
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考题库及答案解析
- 2026年济南商标审查协作中心招聘(10名)考试参考试题及答案解析
- 2026云南昆明昆明晋宁产业园区运营管理有限公司员工招聘4人笔试参考题库及答案解析
- ERCP诊疗指南课件
- 小升初2025~2026学年浙江省宁波市鄞州区(人教版)数学考试试题 含答案
- 2026天津市河北区产业发展集团有限公司社会招聘工作人员3人考试备考题库及答案解析
评论
0/150
提交评论