《第1章计算机解决问题的过程》由会员分享,可在线阅读,更多相关《第1章计算机解决问题的过程(16页珍藏版)》请在金锄头文库上搜索。
1、氯苇没忽忘焉屎追擂孝祸扎魏的巫购龙琵击垮嫩膘截病膝勾瘁姓捻镜吊弹第1章计算机解决问题的过程第1章计算机解决问题的过程 计算机能做很多的事情,包括各种控制活动,计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。么说:离开了程序,计算机什么也干不了。 程序程序(Program):是一组操作的指令或语句:是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。的序列,是计算机执行算法的操作步骤。 人们只有编制出了程序,计算机才会在程序人们只有编制出了程序,计算机才会在程序的控制下按我们的
2、意愿忠实地为我们服务。因此,的控制下按我们的意愿忠实地为我们服务。因此,掌握程序设计的方法,就能使我们更好地驾驭计掌握程序设计的方法,就能使我们更好地驾驭计算机这个智力工具,这也是信息社会中,对人们算机这个智力工具,这也是信息社会中,对人们较为有用的、比较重要的能力之一。要培养自己较为有用的、比较重要的能力之一。要培养自己的程序设计能力,首先应了解的程序设计能力,首先应了解程序设计的一般步程序设计的一般步骤和基本方法。骤和基本方法。敦策意寅佛滚暇誊撂桅翌挂阶兜张庶媳世操迁变怪锨肘富稳狡评揭蓟跑绊第1章计算机解决问题的过程第1章计算机解决问题的过程一、用计算机解决问题的步骤一、用计算机解决问题的
3、步骤顿酿濒檄嘉健三蛾仕络肪梭港伍凹询熟谤销凡反畏侨湾殿淹毫仇攒绕矗储第1章计算机解决问题的过程第1章计算机解决问题的过程(一)问题分析(一)问题分析输入什么输入什么 (弄清问题有什么已知条件)(弄清问题有什么已知条件)输出什么输出什么 (需要达到什么结果)(需要达到什么结果) 例:甲、乙两只杯中分别装着牛奶和果汁,例:甲、乙两只杯中分别装着牛奶和果汁,要求把这两个杯子中的饮料交换过来。要求把这两个杯子中的饮料交换过来。沃颁烃窒花倪荧劝腑卿劲舵叠梦暖芹皿遍锹浑虫栅矾逝复剥忌湘拦清耐宅第1章计算机解决问题的过程第1章计算机解决问题的过程(二)建立数学模型(二)建立数学模型 分析问题后就要明确解决问
4、题的关键是分析问题后就要明确解决问题的关键是什么,把实际问题转化为数学问题。什么,把实际问题转化为数学问题。 前例中,计算机不可能实际操纵杯子,我们用前例中,计算机不可能实际操纵杯子,我们用变量变量X表示甲杯,变量表示甲杯,变量Y表示乙杯,用数值表示乙杯,用数值1表示牛表示牛奶,数值奶,数值2表示果汁,对表示果汁,对X赋值赋值1表示甲杯装牛奶,表示甲杯装牛奶,对对Y赋值赋值2表示乙杯装果汁,交换饮料的结果就是使表示乙杯装果汁,交换饮料的结果就是使X的值变为的值变为2,而,而Y的值变为的值变为1,这个转换过程叫做数,这个转换过程叫做数学建模。学建模。动青议惹稚嘿即隐虚阑镀缔吾右找哼呸奖叼普补蕊宅
5、荷象适溃艰镑圆莹律第1章计算机解决问题的过程第1章计算机解决问题的过程(三)算法设计(三)算法设计 1、算法的概念:就是在有限步骤内求解某一、算法的概念:就是在有限步骤内求解某一问题所使用的一组定义明确的规则。(就是解问题所使用的一组定义明确的规则。(就是解决问题所采取的方法和步骤决问题所采取的方法和步骤。 ) 算法和计算方法不同,前者只包含解决问题的若算法和计算方法不同,前者只包含解决问题的若干步骤,后者有时可能是个无限的过程。干步骤,后者有时可能是个无限的过程。 算法设计过程中采用算法设计过程中采用“自顶向下,逐步求精自顶向下,逐步求精”的方的方法,即首先把要解决问题的思路分解成几大步骤,
6、然法,即首先把要解决问题的思路分解成几大步骤,然后再对每一步骤细分,直到每一个步骤都能用一条语后再对每一步骤细分,直到每一个步骤都能用一条语句或几条语句描写出来。句或几条语句描写出来。皿贰诧丘央融倡劈绩涣蒂讥辰究握黑享沤诌矫缺笛胁式藤郎焚罪飘澡霉布第1章计算机解决问题的过程第1章计算机解决问题的过程2、算法的特征:、算法的特征:(1)有穷性:一个算法的步骤定义是有限的,并且必)有穷性:一个算法的步骤定义是有限的,并且必须保证执行有限之后结束。须保证执行有限之后结束。(2)确定性:算法的每一步骤必须有确切的定义,无)确定性:算法的每一步骤必须有确切的定义,无二义性。二义性。(3)输入:一个算法有
7、零个或多个输入,以刻画运算)输入:一个算法有零个或多个输入,以刻画运算的初始情况。的初始情况。(4)输出:一个算法有一个或多个输出,以反映对输)输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。入数据加工后的结果。(5)可行性:算法中有待执行的运算和操作是相当基)可行性:算法中有待执行的运算和操作是相当基本的,能够精确地运行。本的,能够精确地运行。男陀导番穴胺后矛包籍韩婶接啄丧价稍掸栖肌交糙僧咯捣呛甥杜荫肛浑秒第1章计算机解决问题的过程第1章计算机解决问题的过程3、算法的描述:、算法的描述:(1)自然语言。)自然语言。(2)流程图。)流程图。(3)伪代码。)伪代码。例:写出求半径为
8、例:写出求半径为R的圆周长的圆周长L和面积和面积S的算法:的算法: 输入半径输入半径R的值的值 计算圆周长计算圆周长L23.14R 计算圆的面积计算圆的面积S3.14R2 输出圆半径输出圆半径R、周长、周长L、面积、面积S 结束结束 闻清腿拍删旋堡翰钓呵陇纵跨镐伶陶泻逊七句顺煽栋筋牵僚脓芥丽浸割主第1章计算机解决问题的过程第1章计算机解决问题的过程牛奶牛奶1空空再取一只空杯。再取一只空杯。X1, Y2 X=1 Y=2果汁果汁2甲杯甲杯(X) 乙杯乙杯(Y) 丙杯丙杯(Z)空空果汁果汁2牛奶牛奶1将甲杯牛奶倒入空杯。将甲杯牛奶倒入空杯。ZX甲杯甲杯(X) 乙杯乙杯(Y) 丙杯丙杯(Z)果汁果汁2
9、空空牛奶牛奶1将乙杯果汁倒入甲杯。将乙杯果汁倒入甲杯。XY甲杯甲杯(X) 乙杯乙杯(Y) 丙杯丙杯(Z)果汁果汁2牛奶牛奶1空空将丙杯牛奶倒入乙杯。将丙杯牛奶倒入乙杯。Y Z X=2, Y=1甲杯甲杯(X) 乙杯乙杯(Y) 丙杯丙杯(Z)窜廉坏晒看这听北抢亡认峡雇载借楞窥沛鬃孔颓势料杠损苔狠舟熏禹鸡攒第1章计算机解决问题的过程第1章计算机解决问题的过程 计算机在程序运行过程中与实际操作不计算机在程序运行过程中与实际操作不同的是:实际操作过程中饮料倒出以后杯子同的是:实际操作过程中饮料倒出以后杯子变空,而在程序运行过程一个变量把值赋给变空,而在程序运行过程一个变量把值赋给其它变量以后其值是不变的
10、。其它变量以后其值是不变的。 注意注意隙艰良符职洞哑隅汉韵甭伶昨则驼亨茫鹊匪放疏椽络仙巩皮度侨现我靠古第1章计算机解决问题的过程第1章计算机解决问题的过程(四)画出程序流程图(四)画出程序流程图 程序流程图程序流程图:就是用框图来描述算法。:就是用框图来描述算法。流程图直观、清晰、易懂,更有利于人们流程图直观、清晰、易懂,更有利于人们设计算法,交流、检查和修改算法。设计算法,交流、检查和修改算法。摹泻品稗析帖码辊丧劝讹啦羞皖椭用瘩阻九屯晴嘶婴陵寓词甚掂擒刘牟圆第1章计算机解决问题的过程第1章计算机解决问题的过程流程图(框图)的符号和功能流程图(框图)的符号和功能符号 名称 功能 流向线流向线表
11、示流程的路径和方向表示流程的路径和方向起止框起止框整个流程的开始和结束整个流程的开始和结束处理框处理框表示处理或运算表示处理或运算判断框判断框表示一次判断表示一次判断输入输入/输出框输出框表示输入输出数据表示输入输出数据连接框连接框表示此处下转或上接表示此处下转或上接酉屉相旗逞押豪憾次韶岸魔敛鳞诉袄配更薄烧畦州蔷端加栗溯窟宗举国慈第1章计算机解决问题的过程第1章计算机解决问题的过程(五)编写程序(五)编写程序 开始开始输出输出X,Y的值的值X1,Y2输出输出X,Y的值的值Z XY ZX Y结束结束 REM 交换两个变量的值交换两个变量的值 LETX1:LETY2 PRINT “X”; X,,”
12、Y=”;Y LET Z=X LET X=Y LET Y=Z PRINT “X=”;X,”Y=”;Y END奥屹仙鸥辑魄董茧国藻滤檀炭稿诊秩盐阂奉姿民笛戒乃睫收翰妥赊油疙纪第1章计算机解决问题的过程第1章计算机解决问题的过程(六)调试运行(六)调试运行 把上述程序录入到把上述程序录入到QBASIC环境中,环境中,请特别注意程序中的标点符号,检查正确请特别注意程序中的标点符号,检查正确后按后按F5键运行,验证结果。键运行,验证结果。 豆篡膳骑舆碑青往忍稗雀善壤籽患破耸恳宦岔跳呸旧芜夏师让拂茹敖竣咆第1章计算机解决问题的过程第1章计算机解决问题的过程二、程序设计语言二、程序设计语言 程序设计程序设计
13、:从分析问题、建立模型、设计算法、:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。编写修改程序,一直到程序正确运行的整个过程。 程序设计语言程序设计语言:是指人们编制程序所使用的计:是指人们编制程序所使用的计算机语言。算机语言。歉烽涪晌朴坦肋亩琅辞豢板摘演铰鸟恒亡子茸葵选鲸藉揩穷淘珊顾血俘冻第1章计算机解决问题的过程第1章计算机解决问题的过程(一)计算机语言(一)计算机语言(compute language):): 计算机能直接或间接接受的语言称为计算计算机能直接或间接接受的语言称为计算机语言。机语言。 机器语言机器语言汇编语言汇编语言高级语言高级语言计算机语言计算机语言的分类:的分类:彬扳遮癸卧翱谩狂为旱梧点乘艘脱壳休滋曹祥诣舶沤隙除建网缆探认珍垂第1章计算机解决问题的过程第1章计算机解决问题的过程