计算思维与问题求解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题求解算法——实现
用计算机处理实际问题的过程也就是程序设计的过程, 一是必须掌握一门程序设计语言;二是必须掌握程序设 计语言中的基本算法和编程思想。 使用程序设计语言编制程序去解决实际问题,要经 过问题的分析、算法的描述和程序设计等。 在程序设计中,我们要考虑数据的类型、变量的定 义,要用到算法语句,要考虑使用顺序结构、选择结构 和循环结构来控制程序等等,最终将一个具体的实际问 题用程序设计语言表示出来并由计算机去执行完成。
Copyright © 2013 College of Computer(HDU)
问题求解算法归纳
根据下面给出的动画分析,画出问题 求解的流程图或者伪代码 具体可以参考《计算机基础案例解析 指导教程》中的案例8
Copyright © 2013 College of Computer(HDU)
Copyright © 2013 College of Computer(HDU)
问题求解算法——描述方法
伪代码
用一些介于自然语言与高级语言之间的符号语言表达算法,依次 用人们所熟悉的并简洁的方式表示出来。
确定时间 IF 九点以前 THEN do 私人事务; ELSEIF 9点到18点 THEN 工作; ELSE 下班; END IF
Copyright © 2013 College of Computer(HDU)
问题求解算法——算法语句
用计算机处理实际问题的过程也就是程序设计的过 程,一是必须掌握一门程序设计语言;二是必须掌握程 序设计语言中的基本算法和编程思想。 算法语句,是计算机处理问题时的最基本核心语句:
确定性
输出
有若干个输出信息即处理结果.
Copyright © 2013 College of Computer(HDU)
问题求解算法——描述方法
为了描述算法,可以使用多种方法。 自然语言
用自然语言表达算法,就是把算法的各个步骤,依次用人们所熟悉的自 然语言表示出来。 用一些介于自然语言与高级语言之间的符号语言表达算法,依次用人们 所熟悉的并简洁的方式表示出来。 流程图是用一些图框、线条以及文字说明来形象地、直观地描述算法。 计算机无法识别和执行自然语言、流程图、伪代码。这些方法只是为了 帮助人们描述、理解算法,要用计算机解决问题,就要用计算机程序设 计语言来描述算法。
Copyright © 2013 College of Computer(HDU)
问题求解算法——描述方法
流程图
流程图是用一些图框、线条以及文字说明来形象地、直观地描述 算法。
开始 给定时间T 是 T<9 否 9<T<18 否 下班 结束
Copyright © 2013 College of Computer(HDU)
Copyright © 2013 College of Computer(HDU)
问题求解算法——要素
一个算法是由操作与控制结构两个要素组成。 操作
计算机最基本的操作有: 算术运算 关系运算 逻辑运算 数据传送 各操作之间的执行顺序为算法的控制结构 顺序结构 选择结构 循环结构
Copyright © 2013 College of Computer(HDU)
问题求解算法——编程思想
计算机解决问题的方法思想与我们解决问题的传统 习惯及想法是不一样的、这就要我们在学习程序设计时, 去学会、去思考计算机的想法,逐步适应计算机的编程 思想,即所谓的计算思维。
Copyright © 2013 College of Computer(HDU)
问题求解算法归纳
算法归纳整合
求两个数中的最大数 求三个数中的最大数 求N个数中的最大数 交换两个数(排序) 交换三个数(排序) 交换N个数(排序)
Copyright © 2013 College of Computer(HDU)
问题求解算法归纳
数学算法
伪代码
流程图
计算机语言
Copyright © 2013 College of Computer(HDU)
问题求解算法——描述方法
自然语言
Biblioteka Baidu
用自然语言表达算法,就是把算法的各个步骤,依次用人们所熟 悉的自然语言表示出来。
1、如果时间在九点以前 ,那么处理私人事务; 2、否则如果时间在 9点到18点之间,那么工作时间; 3、否则下班时间; 4、判断结束
是 工作
私人事务
问题求解算法——描述方法
计算机语言
计算机无法识别和执行自然语言、流程图、伪代码。这些方法只 是为了帮助人们描述、理解算法,要用计算机解决问题,就要用 计算机程序设计语言来描述算法。
Dim t as integer t=val(inputbox(“t=“)) IF t<9 THEN print “私人事务时间“ ELSEIF t >=9 and t<=18 THEN print “工作时间” ELSE print “下班时间” END IF
c=c+1(称其为计数器) s=s+x(称其为累加器) p=p*x(称其为累积器) x=x/n(称其为累除器)、 t=-t(称其为正负号变换器) t=a,a=b,b=t(a,b变量值交换) f=1,f=0(称其为标记器) p=I(称其为跟踪器)
Copyright © 2013 College of Computer(HDU)
累加累乘(∑n 以及n!、mn,多项式求和问题) 拆数(数字重组,字符串重组,水仙花数;完数;同构数;回文数等) 拆字符串(字符串重组,统计字符种类个数) 进制转换问题(210,28,216,810,816,1610) 递推迭代算法(兔子繁殖问题:Fibonacci数列) 穷举算法(百钱买百鸡;抓钱币游戏等) 整除求余(素数判断问题、分解因子问题) 辗转相除法(求两个整数的最大公约数和最小公倍数) 最大数最小数问题(求N个数中的最大数和最小数) 值的比较交换问题 数组问题(冒泡排序算法、选择排序算法、顺序查找法) 递归算法
第六讲 计算思维与问题求解
引导问题
浅谈计算思维
问题求解
Copyright © 2013 College of Computer(HDU)
1
问题求解算法——概述 程序设计就是通过分析问题、确定 算法、编程求解等步骤来解决问题的过 程,其中,算法具有重要的作用,它能 够提供一种思考问题的方向和方法。 在计算机中,把解决具体问题的过 程准确完整地描述出来就形成解决该问 题的算法。
Copyright © 2013 College of Computer(HDU)
控制结构
问题求解算法——性质
算法的性质一般归纳为下列五点: 输入
要求若干个信息的输入; 任意一个算法在执行有限个计算步骤后必须终止;
有穷性
可行性
有限个步骤应该在一个合理的范围内进行;
每一个计算步骤,必须是精确地定义、无二义性;