算法就是解决问题的方法和步骤

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分析问题、设计算法、得出结果等
人类解决问题 用计算机解决问题
不同点
计算速度 精确度
计算速度比较慢
计算速度比较快
精确度不高,易出错 编写程序、调试程序、 运算速度快
自动化 不具有自动化解决问题 具有一定的自动化
1.2 算法描述与设计
算法的概念 算法就是解决问题的方法和步骤。 算法的重要性
同一问题可用不同算法解决,而一个算法的质量优 劣将影响到算法乃至程序的效率。算法分析的目的在 于选择合适算法和改进算法。 算法在程序设计中的地位
简单、易懂,容易修改,且容
易转化为程序语言代码。
1.3 初试身手 体验编程
对于用计算机解决问题而言,设计算法、描述 算法不是最终目的,最终目的是编写程序代码 ,实现算法设计。
下面就让我们用visual basic程序开发工具尝试 编写一段小程序,实现“桌面小时钟问题”的 算法,然后请同学们通过自主学习,认识一下 有关程序设计方面的知识。
语言。 高级语言:如Basic、C/C++、Fortran、Pascal
b b2 4ac 2a
b b2 4ac 2a
否则输出方程无解,转到step4。
step4、来自百度文库束程序。
算法:简单地说,算法就是解决问题的方法和步骤。
第三步:将算法编写成计算机程序
原因:计算机读不懂算法,必须翻译成 计算机的语言,这就是程序设计语言。
一元二次方程求解程序:
step1、令a为6,b为5,c为-50。 Step2、令d为 b2- 4ac step3、如果 d大于或等于0
Else print “方程无解” End if
Dim a As Single, b As Single, c As Single, d As Single, X1 As Single, X2 As Single
a = 6,b = 5,c = -50 d=b^2-4*a*c If d >= 0 Then
X1 = (-b + Sqr(d)) / (2 * a) X2 = (-b - Sqr(d)) / (2 * a) Print X1, X2 Else Print "方程无解" End If
第四步:运行、调试程序,检验结果。 第五步:问题得到解决
总结:计算机解决问题流程图
人机“问题解决”对比
相同点
第一章 如何用计算机解决问题
1.1 计算机解决问题的过程
一、课题引入:解方程试题
6x2+5x-50=0
二、人解决问题的一般过程。
观察、分析问题
收集必要的信息
判断、推理 根据已有的 知识、经验
按照一定的 方法和步骤
解决问题
三、计算机解决问题
利用计算机求解方程:6x2+5x-50=0 问:请同学们思考,你打算利用计算机如何
框中标明进行什么处理
框中标明判定条件并在框外标明判定后 的两种结果的流向
只有一流入线和一流 出线
只有一流入线和一流 出线
一流入线 两流出线(T和F)
流线
表示从某一框到另一框的程序运行流向
连接点
表示算法流向出口或入口连接点
一条流线
3、用伪代码来描述 什么是伪代码?
伪代码是介于自然语言和计算机语言 之间的一种算法描述,在伪代码描述中,关 键词一般用英文单词.
则输出X1,x1为 , b b2 4ac 2a X2,x2为 , b b2 4ac 2a 转到step4。
否则输出方程无解,转到step4。 step4、结束程序。
a=6 b=5 c=-50
d=b^2-4*a*c
If d>=0 then
x1=(-b+sqr(d))/(2*a)
x2=(-b-sqr(d))/(2*a) Print x1,x2
定的结果。 4. 输入:有0个或多个输入。
5. 输出:有1个或多个输出,没有输出的算法毫无意义。
•算法的描述
1、用自然语言来描述。 2、用流程图来描述。 3、用伪代码描述算法。
1、用自然语言来描述。
什么是自然语言?
人们日常生活中使用的语言
通第第一二俗步步易::运 运羊 菜懂过 过,河 河,,但回 并运来缺羊乏回来直观性, 不第第三四简步步洁::运 运狼 羊,过 过且河 河,易回来产生歧义。
算法+数据结构=程序(尼克劳斯.沃思) 算法是程序设计的“灵魂”。 算法独立于任何具体的程序设计语言,一个算法可 以用多种程序设计语言来实现。
•算法的特征
1. 有穷性:一个算法必须保证执行有限步骤之后结束。 2. 确定性:算法的每一步骤必须有确切的含义。 3. 可行性:算法的每一步骤都能有效地执行,并得到确
2、用流程图来描述 什么是流程图?
也称程序框图,它是算法的一 种图形化表示方法。
直观易懂、逻辑关系清晰, 不容易产生歧义。
算法的流程图表示
起止框
表示一个算法的开始或结束
算法的流程图表示
输入、输出框 框内标明输入、输出的内容
算法的流程图表示
处理框 框内标明所进行的处理
算法的流程图表示
判别框 框内标明条件,并在框外标明判定 后的两种结果的流向。
来完成这个任务呢?
第一步:分析问题
6x2+5x-50=0解决步骤
观察各项系数之间的关系,确定用公式法求解
第二步:用自然语言描述计算方法
step1、令a为6,b为5,c为-50。
Step2、令d为 b2- 4ac
step3、如果 d大于或等于0
则输出X1,x1为 X2,x2为
转到step4。
, ,
Visual Basic介绍
vb是Visual Basic的简称,是由美国微软 公司于1991年开发的一种可视化的、面向对 象和采用事件驱动方式的结构化高级程序设计 语言,可用于开发 Windows 环境下的各类应 用程序。
对象窗口
工程资源管理器



代码窗口
属性窗口
窗体布局
•程序设计语言
1.发展过程 机器语言:由一串“0”和“1”构成二进制代码。 汇编语言:是一种符号化(英文助记符)的机器
算法的流程图表示
流程线 表示从某一框到另一框的流向
算法的流程图表示
连接点
表示算法流向出口或入口连接点 同一出口入口点的连接圈内,必须 标以相同的符号。
流程图中的符号的用途
图形符号
符号名称
说明
流线
起始、终止框
输入、输出框 处理框 判断框
表示算法的开始或结束
开始框:一流出线 结束框:一流入线
框中标明输入输出的内容
相关文档
最新文档