资源简介 (共25张PPT)计算机解决问题的基本过程选修一 算法与程序设计计算思维计算算法思维算法123算法的描述体验编程计算不再只和计算机有关,它决定我们的生存。改变了什么?计算数学建模计算改变科学研究计算经济学计算思想在诺贝尔经济学奖理论中占70%以上的比例表 诺贝尔经济学奖理论与计算思想影响年份 诺贝尔经济学获得者 诺贝尔经济学奖理论 计算思想的影响1970 萨缪尔森 静态和动态经济理论以及经济科学分析 √1975 康托罗维奇 库普曼斯 资源最优分配理论模型 √1980 克莱因 经济波动和经济政策中的计量经济模型和应用 1981 托宾 金融市场分析及其支出决策、就业、生产和价格总体 √1994 豪尔绍尼 纳什 泽尔腾 均衡分析中的非合作博弈理论模型 √2013 汉森罗伯特尤金 拉尔斯 资产价格的实证分析 √计算社会学从你所遗留的数字印记里,将可以推断你的习惯,你的心智模式,你下一步可能干什么,你的好朋友会是谁智慧城市——IBM智慧城市运行解决方案通过预警分析系统,里士满市的犯罪率一年内就猛降了在IBM的帮助下,迈阿密 - 德戴县公立学校在教学成绩方面都取得显著的提高和进步。40%它正在改变科研、工作、生活、学习等它在改变世界!计算计算的本质什么是计算呢?例1:算数计算 1+2+3=6例2:代数演算 a2+2ab+b2=(a+b)2计算的本质1+2+3→(1+2)+3→ 3+3结合律加法规则,替换规则加法规则计算是基于规则的符号串变换→ 6什么是计算思维呢?周以真微软全球副总裁计算机解决问题的过程游戏——猜价格这是一款价值在2000元以内的运动手环,您能在11次内准确猜出它的价格吗?计算机解决问题的基本过程分析问题设计算法编写程序调试程序第一步第二步第三步第四步算法思维 已知某商品价格p是在区间[pmin,pmax]中的整数,参与者可以给出n次报价,对每次报价主持人会给出高了、低了或者正确的提示。如果没有任何背景知识,怎样才能在给定次数内猜出价格? 已知整数p∈[pmin,pmax] ,在给定次数m内,如何生成整数序列p1,p2p3, ···,pn,使得pn=p并且n≤m,其中m是允许猜测的次数。[0,2000]P1=1000,高了,[0,1000];P2=500,低了,[500,1000];P3=750,低了,[750,1000];P4=875,低了,[875,1000];······初始:输入pmin、Pmax、m的值;步骤2:pn=(pmin+pmax)/2;步骤3:如果n>m,则 输出失败,结束;步骤4:如果pn等于p,则 输出成功,结束;步骤5:如果pn>p,则 令pmax=pn,否则 令pmin=pn;步骤6:n=n+1;步骤7:转到步骤2;步骤1:令n=1;算法:求解某一问题所使用的一系列规则序列算法思维算法思维Private Sub Form_Load()Const p As Integer=996Dim pmin As IntegerDim pmax As IntegerDim m As IntegerDim pn As IntegerDim n As Integerpmin = InputBox("请输入最小价格")pmax = InputBox("请输入最大价格")m = InputBox("请输入可猜测次数")n = 1Do Until n >m Or pn = ppn = (pmin + pmax) / 2If pn > p Thenpmax = pnElsepmin = pnEnd Ifn = n + 1LoopShowIf n >m ThenPrint "失败";ElsePrint "成功,共猜测了" & n; "次,价格为" & pn; "元";End IfEnd SubDo until 条件判断→什么时候不循环了需要执行多次的程序语句Loopif 条件判断 then满足条件执行的程序语句Else不满足条件执行的语句End if →表示判断语句结束算法的描述自然语言描述流程图描述算法的描述伪代码描述Begin input pmin ,pmax ,mn=1Do until n>m or pn=p pn=(pmin+pmax)/2if pn>pthen pmax=pnelse if pn<pthen pmin=pnn=n+1Loopif n>mthen Print "失败,结束"else print "成功,结束"end算法的描述①易理解①易引起歧义;②难清晰表现算法结构;③不易翻译成计算机程序设计语言①直观、形象;②结构清晰①修改稍麻烦①书写方便,容易修改;②容易转化为程序语言代码①不够直观,一旦出现逻辑错误也不便排查;算法描述方式 优势 不足自然语言 流程图 伪代码 算法的描述自然语言描述 流程图描述 伪代码描述输入pmin、Pmax、m的值 input pmin ,pmax ,m令n=1 n=1pn=(pmin+pmax)/2 pn=(pmin+pmax)/2如果n>m,则输出失败,结束 If n>m then Print "失败,结束"如果pn等于p,则输出成功,结束 If pn=p thenprint "成功,结束"如果pn>p,则令pmax=pn,否则令pmin=pn if pn>pthen pmax=pnelse if pn<pthen pmin=pnn=n+1 n=n+1转到步骤2 Do until loop学习建议—脚踏实地2.如果自学,可以先选择一门容易上手的程序语言、编程软件,eg1.建立意识,带着计算机解决问题的思维模式去解决一些生活中可以解决的问题ScratchApp inventor3.可以从编写先小游戏开始,eg 大数据时代——云计算有微软高管表示:云计算在未来5年的市场份额将会占到2千多亿美元大数据的核心是云计算大数据的将是算法分析师崛起的时代 展开更多...... 收起↑ 资源预览