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