计算思维;1、一般问题处理过程与计算机处理问题过程区别2、算法的表示3、变量及其赋值4、顺序结构算法5、选择结构/分支结构6、循环结构7、简单算法;一般问题处理过程与计算机处理问题过程有何不同呢?;1)一般问题的求解过程 例如,如果需要筹划一个聚会,面对这样的一个问题,该如何解决呢? 人们要确定这个聚会的目的是什么?是几个同学的小聚,还是大型活动的Party?接着要根据聚会的规模与主题,分析需要些什么资源,这些资源如何获取?然后会想出不同??点子,即提出各种方案。之后根据具体的情况,选择看看哪个方案更好。最后才是执行并完成所有的任务。;将解决问题的步骤列出:
订聚会的地点填邀请卡发邀请卡布置聚会会场购买酒水购买食品。。。;2)计算机解决问题的过程 例如,需要用计算机语言编制一个机器人行走的程序。其中机器人可以执行的指令只有如下几个:起立坐下向前走一步(必须在站立时执行)向右转90度(必须在站立时执行)举起手臂(向前抬到与身体成直角)放下手臂 如果要求编写出一个具体的程序(步骤),让机器人向前一直走到墙,然后再走回来;当机器人抬起手时,它可以摸到墙和椅子的靠背;机器人和墙的距离只有三步长。;所编写的指令序列:1:起立2:举起手臂3:向前走一步4:向前走一步5:向前走一步6:向右转90度7:向右转90度8:向前走一步9:向前走一步10:向前走一步11:向右转90度12:向右转90度13:放下手臂14:坐下15:停止;算法的表示;1)自然语言表示:用自然语言来描述算法。【例】用自然语言来描述输入矩形的两个边,求矩形的面积和周长的算法。其中变量a、b存储矩形的两个边长;变量s、l分别存储矩形的面积和周长。 Step1:分别输入2个边长给a、b; Step2:计算矩形面积s = a * b; Step3:计算矩形周长l = 2 * ( a + b ); Step4:依次输出面积s和周长l。使用自然语言描述算法的优点是通俗易懂。但是,自然语言本身所固有的不严密性使得这种描述方法存在“文字冗长,容易产生歧义性”以及“难以描述算法中的分支和循环等结构”等缺陷。;2)流程图(Flow Chart)是一种传统的、广泛应用的算法描述工具,也是最常见的算法图形化表达工具。
流程图利用几何图形的图框来代表各种不同的操作,用流程线来指示算法的执行方向,它使用规定的一些图框、线条来形象、直观地描述算法处理过程。
与自然语言相比,流程图可以清晰、直观、形象地反应控制结构的过程。 ;符号名称;【例】输入矩形的两个边长,求矩形的面积和周长。
使用流程图来描述算法,其中变量a、b存储矩形的两个边长;变量s、l分别存储矩形的面积和周长。;流程图也可表示生活或工作中的处理过程,如煮方便面或番茄炒鸡蛋等?例:炒个菜;变量及其赋值;2)变量是什么?
变量是有名字的内存空间,这个名字就是变量名。所以对变量的操作就是对变量所对应的内存空间的操作。;3)对变量的操作?内存的操作只有两种:存入和读取(存入时新数据覆盖掉原来数据;读取时存储的数据不变,读走拷贝)变量的操作:赋值和使用*赋值:就是将数据存入变量(对应的存储空间)*使用:就是读取变量的值进行计算或输出例:c = a + b为计算a+b就要读取这2个变量的值,再将求的和赋值给变量c;如何在变量中存入数据?赋值输入;4)赋值操作的表示文字表示:3赋值给a比较形象的表示为:3?a因为?符号键盘上没有,大多算法和编程语言使用等号=表示赋值操作,称为赋值号例:a=3//将3赋值给ab=a+6//读取a的值3加6得9,将9赋值给bc=a*3+b;注意:等号=在算法中表示的是赋值,不是相等。例如:a=5a=a+3如果表示数学上的等于,这是不合理的!而算法中表示的是赋值:先计算加,读取a的值5加3得8,然后将8赋值给a,a的值变为8。每次对变量赋值时,新值会覆盖掉变量中原来存放的值。所以在一段时间中变量的值是变化的,但在任一时刻只对应一个值。;5)除了赋值,还可以输入数据到变量中,从而提高算法的灵活性。上例中只能求3与5的和。例:输入2个数求它们的和。此时可根据用户输入的数据来求和。一般在流程图中表示“输入a”,其含义是输入一个数据到变量a中(用平行四边形表示输入操作)。流程图中“输入a,b”,其含义是输入2个数据分别存放到变量a和b中。;顺序结构算法按书写顺序依次执行;输入矩形的边长,输出面积和周长;?;例:交换2个变量的值,然后输出。分析:2个装满液体的杯子,交换;选择结构算法