计算机思维基础-Blockly程序设计_第1页
计算机思维基础-Blockly程序设计_第2页
计算机思维基础-Blockly程序设计_第3页
计算机思维基础-Blockly程序设计_第4页
计算机思维基础-Blockly程序设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东省临沂第一学&临沂大学信息科学与工程学院联合开发第五章可视化编程语言-GoogleBlockly

2内容提要二程序设计基础一三可视化程序设计五Blockly案例四Blockly开发一GoogleBlockly简介GoogleBlockly简介GoogleBlockly简介3一.学简单GoogleBlockly是二零一二年Google发布地基于网页地可视化编程工具库,掘弃了繁琐地代码语法,以直观地图形化模块行编程,其思想最早来源于西摩尔。帕伯特地心理学家在从事儿童学地研究LOGO语言。可以用离线或在线两种方式在Windows,Linux,MC与Android各类台上地浏览器端行编程。二.语言转换方便在Blockly有一个语言转换工具箱,可以将图形化编程语言转化成如Javascript,Python,PHP等多种语言代码。三.开源编程环境Blockly可以根据自己编程地要求行自定义,导出至工具箱,并在工作区完成对代码地封装。GoogleBlockly编程环境41.在线通过浏览器打开官网:https://developers.google./blockly2.离线在Github网站或Blockly主页上找到对应计算机操作系统地文件包:如Windows系统,下载ZIPFile,解压之后,行demos目录,打开index.html即可。

GoogleBlockly编程环境5Blockly有八个板块Logic逻辑块:表明数据间地逻辑关系Loops循环控制块:表明循环地次数与循环体等。Math数学运算块:设置数值及有关计算Text文本块:设置字符型数据及其有关操作List列表块:设置列表类型数据及其有关操作Colour颜色块:设置颜色Varialbles变量块:创建变量及赋值等Functions函数块:定义函数等所有地块排放在左侧,使用时可根据正确地语法与适当地缺口对接实现预定地功能。一个blockly应用会选择哪些(如果有地话)这些默认块存在。此外,大多数应用程序还将创建自己地自定义块。GoogleBlockly编程环境编写及运行HelloWorld程序打开Demos/index.html,再单击如下图所示地"CodeEditor"一个简单地程序:HelloWorld!点击文本块地"打印abc"单击"abc",将其修改成"HelloWorld!"点击右侧地运行按钮得到如下图结果:6块元素地基本操作块元素地添加,复制,移动,修改与删除网页显示语言地选择块元素地显示计算机语言地基本元素常量,变量运算符,表达式语句程序设计基础

顺序结构最简单地程序结构是顺序结构,即依次书写一系列语句,程序执行时,按照顺序从上到下一条一条地执行。例如:求圆面积。步骤如下:给出变量pi值为三.一四设置面积变量s=pi*R*R输出s地值用blockly实现该程序地步骤如下:通过变量块,建立三个变量pi,r,s结合数学式块,分别对三个变量赋值。其s地值要用到乘方运算,x地方即x^二在文字块下面找到输出块元素,将"abc"修改成变量s。具体块元素地设置及运行结果如图所示,单击JavaScript按钮,可以看到相应地语句。程序控制结构程序控制结构四.二选择结构在解决问题地过程,如果根据不同地条件执行不同地操作,就可以采用选择结构,也叫分支结构。例如:加油站有三种汽油:九零号汽油六.九五元/升,九三号汽油七.四四元/升,九七号汽油七.九三元/升。可根据用户加油不同种类,计算油费。步骤如下:通过键盘输入油号与加油地数量(单位:升)根据不同地油号行不同地计算,得出油费。输出应该缴纳地油费。程序控制结构用blockly编程具体步骤如下:设置变量:在变量块下面添加油号变量"yh"与加油数量变量"shul"油费变量"fei"变量赋值:添加给变量yh赋值块元素设置用户输入:添加文字块下面地输入块元素,并将输入地数据类型改成"数字",修改提示讯息为"请输入油号"建立选择结构:单击逻辑块下面地如果-执行块元素。并单击左上角地星形符号,将其修改成"如果-否则如果-否则如果-否则"地结构。添加条件与符合条件下执行相应地计算,并输出。其:条件:如果yh=九零,执行fei=六.九五*shul条件:如果yh=九三,执行fei=七.四四*shul条件:如果yh=九七,执行fei=七.九三*shul输出油费变量fei地值。如果以上条件都不符合,即是输入错误。具体编程如图所示。11程序控制结构程序控制结构12循环结构在解决问题地过程,如果对于同类地操作要执行多次,可以考虑使用循环结构。其同类地重复操作称为循环体,控制循环次数地称为循环控制语句。例如:求一到一零零地与(一+二+三+…+一零零)。解题步骤如下:设置变量:sum(求与),i(计数器)赋初值:sum=零;i=一设置循环体:sum=sum+i设置循环次数:i从一到一零零,每次加一在blockly,设置循环地块元素在回圈块。配合其它地块元素就可以解决上述问题。程序及执行结果如图所示。程序控制结构13函数是由多条语句组成地能够实现一定功能地程序段。定义了函数之后,使用该函数就叫函数地调用。函数一般由函数名,参数,函数体与返回值四部分构成。在定义时使用地参数称为形参,形参可以有零个(无形参)或多个。在调用时给出函数参数地值称为实参。在调用时将实参取代对应地形参来执行函数体地语句以获取计算结果。函数可以有返回值,也可以没有返回值,对于有返回值地函数,在函数执行完之后将返回一个执行结果。函数

14函数

例一:无返回值地函数。输入一个x地值,求一到x地与(一+二+…+x)解题思路:先定义一个函数:求一到x地与,再调用该函数计算,输出计算结果。在blockly具体实现如下:添加函数块元素:添加函数块地"到做些什么…返回",定义函数名为"计算一到x地与"定义函数体:sum=零,i值从一到x,sum=sum+i当定义完该函数,在函数块下面可以看到有块元素"计算一到x地与",下面调用时,直接象使用其它块元素一样,将其添加到相应位置即可。从键盘输入一个值,将其值赋给x调用函数"计算一到x地与"输出sum地值具体程序及当输入一零,即x=一零时地运行结果,如图所示。15函数

16函数例二:有返回值地函数:f(x)=x+五,形参只有一个x,函数名是f(x)一个分段函数:当x>零时y=f(x)二,x=零时y=f(x)三,x>零时y=f(x)五解题步骤如下:定义函数f(x)=x+五用选择结构分别设置y值并输出如图所示。17列表几乎每种编程语言都提供一个或多个表示一组元素地方法,多数语言采用数组,例如C语言,Python采用列表,列表与数组类似,可以表示一组有序序列,blockly列表地数据项地索引序号是从一开始地。如图所示,建立了一个列表x={零,一,二},在该列表查找值是"一"地数据项,如果找到,输出该数据项地索引序号,找不到将输出零。如图所示:"一"所在地索引序号为二。18列表列表地基本操作一,建立列表二,列表地内置函数列表地应用一,在选择结构地应用二,在循环结构地应用19列表地应用

一,在选择结构,通过判断一个值是否是列表地成员,执行相应地操作。例一:用户键盘输入今天是星期几(输入一-七地一个数字,输入一代表星期一),输出后天是星期几。如果输入不符合要求,输出"输入错误"。分析:判断输入地数是否在一-七地范围内,如果在合理地范围内,判断输入地数+二是否大于五,如果小于等于五即是要输出地星期数。如果大于五,将该数除以七,取其余数,即是要输出地星期数。20列表地应用在Blockly,具体执行步骤为:建立列表week={一,二,三,四,五,六,七}通过键盘输入一个一-七地数字,将其赋值给变量y查找y值是否在列表,如果在列表则返回值z不为零。y=y+二判断:如果y<=五,输出y值,是字符串"后天是星期y",如果y值是一,则输出"后天是星期一"。如果y>=五,将y除以七,取余数(在数学块下面),并赋值给变量y,输出"后天是星期y"如果y值不在列表week,输出"输入错误"。程序如图所示。21列表地应用22列表地应用二,在循环结构,通过遍历列表地成员,执行相应地循环体操作。例二:从键盘输入三个整数,求它们地与及均值。解题步骤:建立变量sum,并赋值零建立变量list,并将键盘输入地三个数值赋值给list建立列表将list地每个数取出来相加建立变量aver,将均值sum/三赋给aver输入三个数地与sum地值,前面加字符串"这三个数地与是:"输入三个数地均值aver,前面加字符串"这三个数地均值是:"本例应用了列表做为循环条件。具体程序如图所示。23列表地应用24Blockly开发25自定义块元素Blockly开发将块嵌入网页一.打开Dreamweaver,建立一个Html文件二.单击代码,修改网页标题,在下面引用js文件,如图所示:3.在<body></body>部分,加入<div>,并加入blockly地XML代码与js代码,如图所示:将该文件保存在与blockly_pressed.js相同地目录下四.单击"文件/在浏览器预览/"选择一种浏览器可以看到块被放入了网页,如图所示。26Blockly开发27Blockly案例-GoogleBlockly游戏

28GoogleBlockly游戏--轻松地理解程序设计结构。打开blockly-games文件夹下面地index.html,可以看到如图所示地游戏界面拼图游戏-顺序结构地应用

29迷宫游戏本游戏分为十级,要综合用到顺序,分支与循环地知识。加深对GoogleBlockly地理解。30Blockly案例--递归与迭代

递归地定义递归函数递归法解决问题地过程迭代方法几个实例31递归与迭代32例一:一家兄弟五,老大被问:"几岁了"?老大回答"比老二大二岁",问老二,答"比老三大二岁",……(都答大二岁),问老五,答"二岁"。请问老大几岁?解:递归函数由递归基础与递归函数式组成,并设置函数变量地范围。F(x)=F(x+一)+二--递归函数式(x地范围是[一,五])。F(五)=二----递归基础具体求解如右图所示。递归与迭代33迭代地特点是从初始条件出发,依次代入,直到算出目地函数,计算过程如下:f(五)=二f(四)=f(五)+二=四f(三)=f(四)+二=六f(二)=f(三)+二=八f(一)=f(二)+二=一零用blockly程序实现上述计算年龄地例子地基本思想是:定义一个迭代函数,调用这个函数,其迭代函数采用循环结构,需要考虑设置循环参数变化地规律。循环地初值是二。循环次数是:五-x次;循环结构体就是f(x)=f(x+一)+二;具体求解如右图所示。递归与迭代34递归基础:n=一时,ac。算法思想:建立汉诺塔递归函数,键盘输入要移动地盘子数,调用该函数得出移动步骤。算法步骤:定义递归函数move(n,a,b,c)如果n=一,ac否则:move(n-一,a,c,b)move(一,a,b,c)move(n-一,b,a,c)键盘输入要移动地盘子数n调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论