计算机解决问题的过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6. FrontPage
7. QQ
什么是程序?
计算机的任何动作都是在执行人给它
的指令。人们针对Fra Baidu bibliotek一需要而为计算机编 制的指令序列称为程序 。
指示计算机如何去解决问题或完成任
务的一组可执行的指令。
什么是程序设计语言?
用于书写计算机程序的语言称为程序设计
语言。
如vb、c、c++、pascal等。 机器语言是一串由“0”和“1”构成的二进制代码。 汇编语言实际是一种符号化的机器语言,它采用 英文助记符代替机器指令,比机器语言容易识别 和记忆,从而提高了程序的可读性。
第四步:调试与维护。
(运行程序,验证结果)
总结:计算机解决问题流程图
第二节 算法描述与设计
实例:“打电话” 的过程。
拿
打不通 拨 号 通了
起
听 筒
把听筒 放下
等会儿 再拨
通话
把听筒放下
结束
无人接听
把听筒 放下
等会儿 再拨
什么是算法?
算法是解决问题的方法和步骤。
通俗点说,就是计算机解题的 过程。在这个过程中,无论是 形成解题思路还是编写程序, 都是在实施某种算法。前者是 推理实现的算法,后者是操作 实现的算法。
自然语言描述
1、将N的初始值赋为1 2、如果N<100并且N被3、5、7整除后余 数为2、 3、2,则输出N的值,转入第4步 3、将N的值加1,转到第2步 4、结束程序
流程图描述
开始 N=1 (N<100) Y N被3、5、7整除 余数为2、3、2 N N=N+1 N
Y
输出N值 结束
第三步:编写程序。
Pascal程序: program Ex16; Const a=1; {常量说明 } b=3; c=2; {a,b,c表示方程系数} Var d : integer; {d为整型变量} X1,X2: Real; {X1,X2为实型变量} Begin d:=b*b-4*a*c; x1:=(-b+sqrt(d))/(2*a); {求方程的根} x2:=(-b-sqrt(d))/(2*a); Writeln('X1=',X1,'':6,'X2=',X2);{输出结果} Readln {等待输入一个回车键} End. 本程序中的a,b,c均为常量;变量d是整数类型,而变量x1,x2则是实数类型, 因为运算式中的Sqrt(d)开平方运算和(/)除法运算使结果为实数。Sqrt( ) 是开平方函数, 是Pascal系统的一个标准函数。
用伪代码描述算法
For I=1 to N if n能被3、5、7整除余数为2、3、2 输出n exit for end if Next I
(1)表示条件判断: If条件 Then 执行语句一 Else 执行语句二 End If (2)表示循环处理: Do While 条件 循环处理语句 Loop
then
农夫过河问题
一个农夫带着一只狼,一只羊和一棵白 菜过河。河边只有一条船,由于船小,农夫 一次只能带其中的一样过河。 如无人看 管,狼要吃羊,羊要吃菜。问农夫如何安排 过河,才能使狼、羊、菜都安然无恙。
渡河的方法与步骤:
第一步:农夫带着羊渡过河去; 第二步:农夫划船回来; 第三步:农夫带着菜渡过河去; 第四步:农夫带着羊划船回来; 第五步:农夫带着狼渡过河去; 第六步:农夫划船回来; 第七步:农夫带着羊渡过河。
高级语言是更接近于自然语言(英语)和 数学语言的编程语言,它并不特指某一种 语言,也不依赖于特定的计算机系统,因 而更容易掌握和使用,通用性也更好。 比较流行的高级语言有BASIC、C/C++、 FORTRAN、PASCAL、COBOL、JAVA 等。
什么是软件?
程序、数据连同有关的资料文档称为软件。
是在计算机应用中,为了实现系统功能、 充分利用资源、提高使用效率、便于使用 而设计的与计算机系统资源有关的软件。 操作系统是重要的系统软件。 是为用户应用目的而开发的软件。
系统软件
应用软件
一、人解决问题的一般过程
1、观察、分析问题
解一元二次方程x2 +3x+2=0
2、寻找解题的方法
用公式法求解,确定各项系数。
鸡兔同笼问题
一个笼子里有鸡和兔,现在只知道里面一 共有35个头,94只脚,问鸡和兔各有多 少只? X+Y=a 2X+4Y=b 解方程组得:X=2a-b/2,Y=b/2-a
用计算机解决问题的优势
1. 2. 3. 4. 存储量大 运算速度快 精度高 可按人设定的程序重复执行。
Pentium II的水平,大约相当于每秒钟运行 4千万条指令 。
2、用流程图描述算法
用流程图描述算法,就是用含义确切的图 形符号描述算法。
例:求出两个数的和。
韩信点兵算法:
相传我国汉代有位大将军叫韩信,他在点 兵时让士兵分别从1~3、1~5、1~7报数, 然后报告各次的余数,这样,就知道总共 有多少士兵。然后韩信就凭这些数,可以 求得这队士兵的总人数。 从1开始,取出一个自然数判断它被3、5、 7整除后的余数是否为2、3、2,如果是, 则这个数即是所求的数,求解结束。否则, 用下一个数再试,直到找到这个数为止。 (假设人数N<100)
描述算法的方法 :
1、自然语言:即用人们日常使用
的语言和数学语言描述的算法。 2、流程图:即用一组标准的图形 符号来描述算法。 3 、伪代码:伪代码是一种非正 式代码,常用自然语言、数学语 言和符号来描述算法的操作步骤。
1、用自然语言描述算法
用自然语言描述算法,就是把算法的各个 步骤,依次用人们所熟悉的日常会话的语 言表示出来。 例:求出两个数的和。 计算机处理的具体步骤为: ⑴输入两个加数num1、num2; ⑵将两数相加并将求出的和赋给某一个变量 sum; ⑶显示运算结果sum。
a1X+b1Y=c1 a2X+b2Y=c2
输入a1,b1,c1,a2,b2,c2的值 求X=(b2*c1-b1*c2)/(a1*b2-a2*b1) 求Y=(a1*c2-a2*c1)/(a1*b2-a2*b1) 输出X,Y的值 结束
人会因为重复计算的疲劳而影响工作效率, 电脑不会
将相关的条目用线连接
1. 处理一篇文稿 2. 进行数据统计 3. 剪辑处理音频 4. 剪辑处理视频 5. 图像处理 1. Photoshop 2. Word 3. Excel 4. Premiere 5. Cooledit
6. 做一个网站
7. 网上聊天
计算圆周率: 人工计算的最高纪录808 位(1948)
80G =80X1024MB =80X1024X1024KB =80X1024X1024X1024B ≈80X109B (相当于存储40忆个汉字的容量,一本书的容量40 万字,相当于10万本书,一个前黄高中图书馆的容 量)
ENIAC 2035位(1949) 现代计算机2061.5843亿位 (1999)
3、人工计算
按照一定的方法和步骤计算
4、验证结果
检验结果的准确性
二、用计算机解决问题的一般过程
第一步:需求分析。
(确定计算机要“做什么”)
2 求一元二次方程x +3x+2=0的
两个实数根。
第二步:设计算法。 (确定计算机要“如何做”) 方程的系数是常量,分别用a,b,c表示, 可运用数学上现成的求根公式求方程的根。 ① 先求出d=b2-4ac;(求根公式中需用开 方运算的那部分) ② 再用求根公式算出x1,x2的值。(x1, x2 = ? ) ③ 输出x1,x2.
著名的计算机科学家尼克劳斯•沃思 指出:算法是程序设计的“灵魂”。 算法+数据结构=程序 算法独立于任何具体的程序设计语 言,一个算法可以用多种程序设计语言 来实现。
什么是算法(algorithm)?
算法就是解决问题 的方法和步骤
• 算法有优劣之分 • 解决问题的步骤多少不是 衡量算法优劣的依据 算法的特征: • 有穷性:算法的步骤必须 是有限的 • 确定性:算法每一步必须 有明确的意义 • 输出:算法必须保证有结 果输出,可以有一个或者 多个 • 输入:算法可以有0个或 多个输入 • 可行性:原则上用纸笔也 可精确算出结果