APPINVENTOR编程基础变量块变量是在内存中占据一定的存储单元,其值可以改变的量.
在AI中,变量必须先进行声明,然后才可以使用.
AI的变量块里面有五种类型的块变量变量名称必须以英文字母、下划线或中文开头,可包括英文字母、下划线、数字和中文,如Sum,S1,求和,_a2都为合法的变量名.
AI中变量可以接受任何类型的值任何时候都可以对变量的名称进行重命名,所有引用过该变量原有名称的块将自动更新.
AI中的变量类型有数字、文本、逻辑、列表、颜色.
变量在AI中,变量包括全局变量和局部变量二种全局变量可以用在应用的所有过程及事件处理函数中,是一个独立的块.
在应用的运行过程中,可以在应用的任何部分对全局变量的值引用和修改.
全局变量定义使用全局变量修改变量的值计算器例1、定义一个简单的计算器,计算两个数字的和计算器组件所属组件组命名用途属性文本输入框用户界面TextBox1输入第一个加数默认文本输入框用户界面TextBox2输入第二个加数默认文本输入框用户界面TextBox3显示和默认按钮用户界面Button1成绩等级判定文本:计算标签用户界面Label1显示加号文本:+标签用户界面Label2显示等号文本:=代码块局部变量局部变量块是一个可扩展块,用于在过程或事件处理函数中,创建一个或多个只在局部有效的变量,因此每当过程或事件处理函数开始运行时,这些变量都被赋予同样的初始值.
它的有效作用范围仅限于块内.
局部变量定义局部变量局部变量初始化局部变量局部变量使用局部变量局部变量将例1的计算器修改成局部变量来实现带返回值的局部变量块的使用控制块顺序结构、选择结构和循环结构是程序设计的三种基本结构,已经证明:任何可解问题的解决过程都是由这三种结构通过有限次组合而成的.
控制块是AI编程的基本结构,主要包括流程控制块:选择和循环,屏幕控制相关操作等.
选择选择三种基本结构选择(a)"如果.
.
.
则.
.
.
"进行条件测试:如果测试结果为真(T),则按顺序执行"则"右边的块;否则(F)跳过这些块.
条件件语句模块TF选择(b)"如果.
.
.
则.
.
.
否则.
.
.
"进行条件测试:如果测试结果为真,则按顺序执行"则"右边的块;否则,按顺序执行"否则"右边的块.
条件T语句模块1语句模块2F选择(c)"如果.
.
.
则.
.
.
否则,如果.
.
.
则.
.
.
"进行条件测试:如果测试结果为真,则按顺序执行第一个"则"右边的块;否则做下一步的条件测试"否则如果",如果测试结果为真,则按顺序执行第二个"则"右边的块,否则按顺序执行最后一个"否则"右边的块.
T条件1TF条件2语句模块1语句模块2选择例2:成绩等级判定,开发一个App,输入一个成绩,单击判定按钮输出其等级.
判定规则如下:如果成绩大于等于90分,等级判定为优秀;如果成绩大于等于80分并且小于90分,等级判定为良好;如果成绩大于等于70分并且小于80分,等级判定为中等;如果成绩大于等于60分并且小于70分,等级判定为及格;如果成绩小于60分,等级判定为不及格.
选择关于代码几点说明:(1)用于条件判断的"大于等于"、"小于"等关系运算符如图所示进行添加.
关系运算符可以通过单击"="号,在弹出的下拉列表框中进行选择改变.
选择组件说明组件所属组件组命名用途属性文本输入框用户界面文本输入框1供用户输入分数默认按钮用户界面按钮1成绩等级判定文本:成绩等级标签用户界面标签1显示等级文本:空(删除掉原有文本不输入任何东西)选择如果满足分数大于等于80分,并且小于90分,则等级为"良好".
这里用到的逻辑运算符"并且"选择代码块选择下面改写成嵌套结构循环在AI中存在计数循环(for)、逐项循环(for……inlist)和条件循环(while)三种循环结构.
循环(a)计数循环从循环计数变量的起始值(如1)开始执行循环体内语句块,执行完成后,循环计数变量增加循环间隔指定的增量(如1),然后重复执行上面的操作,值到终止值(如5).
例3:设计如图所示应用,用户输入一个正整数n,计算1+2+……+n的结果.
循环组件所属组件组命名用途属性文本输入框用户界面文本输入框_n输入正整数n默认按钮用户界面按钮_计算计算1+2+…n文本:计算1到n的和标签用户界面标签1提示文本:结果为:标签用户界面标签_结果显示结果文本:空注:组件和变量的名称一般按照其含义命名,做到见名知义.
循环代码循环(b)逐项循环,针对列表中的每一项重复执行相同的操作.
其中"列表项"代表正在参与运算的列表项.
例4:随机产生4个数,并计算4个数的和.
循环组件说明组件所属组件组命名用途属性按钮用户界面按钮_计算计算随机数的和文本:计算随机数的和标签用户界面标签1提示文本:结果为:标签用户界面标签_结果显示结果文本:空循环代码循环(c)条件循环.
该循环首先进行条件测试,当测试结果为真时,执行循环体内的语句块,然后再次进行条件测试,如果为真,执行同样一组操作;重复以上操作到当条件测试为假,跳出循环.
例5:将例3中的循环修改成条件循环.
循环代码条件返回条件返回块"如果…则…否则…",首先进行条件测试,如果测试结果为真,按顺序执行"则"右边的模块,得到结果并将值返回;如果测试结果为假,执行"否则"右边的模块,得到结果并将值返回.
条件返回例6:计算标准体重.
我国常用Brcoa改良公式计算标准体重,其计算方法如下:男生:标准体重=(身高-100)*0.
90女生:标准体重=(身高-105)*0.
92条件返回组件说明组件所属组件组命名用途属性按钮用户界面按钮_计算计算标准体重文本:标准体重(千克)标签用户界面标签1提示文本:您的身高:(厘米)标签用户界面标签2提示文本:您的性别:(男,女)标签用户界面标签_结果显示结果文本:空文本输入框用户界面文本输入框_身高输入身高默认文本输入框用户界面文本输入框_性别输入性别默认条件返回代码带返回值的执行模块带返回值的执行模块运行"执行"区域中的代码块并返回一条语句,用于在赋值前插入执行某个过程.
求值但忽视结果求值但忽视结果模块运行所连接的代码块,但不返回运算值,用于调用求值过程但不需要其运算值.
打开屏幕打开屏幕模块用于在多屏应用中打开一个新的屏幕例7:屏幕之间的切换首先在第一个屏幕添加一个标签和一个按钮组件所属组件组命名用途属性按钮用户界面按钮_下一页屏幕切换,进入下一页文本:下一页标签用户界面标签1提示文本:这是第一个屏幕打开屏幕后单击"组件设计"中"增加屏幕"按钮添加一个新的屏幕,命名为Screen2.
并在屏幕二中添加一个标签和一个按钮,屏幕二界面.
组件所属组件组命名用途属性按钮用户界面按钮_上一页屏幕切换,返回到上一页文本:上一页标签用户界面标签1提示文本:这是第二个屏幕打开屏幕屏幕1代码屏幕2代码打开屏幕并传值打开屏幕并传值模块在多屏应用中开启一个新的屏幕,并向其传入初始值,在打开的屏幕中可以用"获取初始值"模块取得传入的值.
打开屏幕并传值例8:修改例7中屏幕1的代码.
当打开屏幕2时,并传递值100给屏幕2.
打开屏幕并传值修改屏幕2的代码.
当打开屏幕2时,修改标签1的文本为屏幕1传递过来的值.
其它控制块"关闭屏幕":关闭当前屏幕.
"关闭屏幕并返回值":关闭当前屏幕并向打开此屏幕者返回结果.
"退出程序":关闭所有屏幕并终止程序运行.
"获取初始文本值":屏幕被其他应用启动时获取所传入的文本值,如果调用者没有内容传入,则返回空文本值.
对于多屏应用,一般更多采用获取初始值的方式,而非获取纯文本值.
其它控制块"关闭屏幕并返回文本":关闭屏幕,并向打开此屏幕的应用返回文本,对于多屏应用,则多采用关闭屏幕并返回值的方式,而不采用关闭屏幕并返回文.
逻辑块"true":布尔常量"真",表示某种情况成立.
"false":布尔常量"假",表示某种情况不成立.
"否定":如果输入项为假则返回真值,如果输入项为真则返回假值.
"等于":用于判断等号左右二个对象是否相等,对象可以是任意类型,不限于数字.
单击"等于"下拉列表还有逻辑运算"不等于",用于判断二个对象是否互不相等.
逻辑块"并且":测试两个逻辑表达式的值是否都为真.
当且仅当两者都为真时,返回值为真;其它情况,返回值均为假.
"或者":测试两个逻辑表达式的值中是否有一个为真.
只要有一个为真,则返回值即为真.
数学块数学块基本数字块,默认为0、可以是任何正数或负数(包括小数).
双击"0"就可以改变其中的数值.
关系运算符,共六种数学块算术运算符^,乘方运算,返回第一个数的第二个数次方.
数学块随机整数,返回给定的两个值(包括两个值)之间的随机整数,限于2^30内.
默认是1到100之间.
随机小数,返回一个0到1之间的随机小数.
随机数种子设定,每个种子数会生成固定的随机数.
如图代码,如果在文本框中输入一个固定的数,生成的随机数是固定的.
数学块数学函数就高取整,返回大于或等于给定数的最小整数.
注意:如-5.
7就高取整后返回-5而不是-6,5.
7就高取整后返回6.
数学块四舍五入,返回一个整数,如果该数的小数部分=,返回两个字符串的顺序关系:或=.
按照字典顺序(即字母表的顺序),越靠后面的值越大,同一个字母,大写<小写;返回值为true或false.
文本块对给定字符串删除首尾空格.
文本块大写,将字符串中所有字母转换为大写字母并返回.
小写,将字符串中所有字母转换为小写字母并返回.
文本块求子串位置,求子串在文本中的起始位置,返回一个数字,如果子串没有在文本中出现,则返回值为0.
文本块检查文本中是否包含子串,如果包含则返回值为true,否则为false.
文本块分解文本,以指定文本作为字符串,将字符串分解为不同片段,并生成一个列表作为返回结果,如以逗号","分解one,two,three,将返回列表(onetwothree).
文本块分解首项,在首次出现分隔符的位置将给定文本分解为两部分,并返回包含分隔符点前和点后两部分内容的列表.
如分解字符串"苹果,香蕉,樱桃",以逗号","作为分隔符,将返回一个包含两项的列表,其中第一项的内容为"苹果",第二项的内容为"香蕉,樱桃".
文本块任意分解,以分隔符列表中的任意一项作为分隔符,将给定文本分解为列表,并将列表作为处理结果返回.
如分解字符串""苹果,香蕉,樱桃",以一个含有两个元素的列表作为分隔符,其中第一项为逗号",",第二项为"果",则返回列表为"苹香蕉樱桃"文本块分解任意首项,以列表中任意项作为分隔符,在首次出现分割符的位置将给定文本分解为两项列表.
如以"香,苹"作为分隔符分解"我喜欢苹果香蕉苹果葡萄",将返回一个两项列表,"我喜欢"和"果香蕉苹果葡萄".
文本块用空格分解,以空格为分隔符,将给定文本分解为若干部分,并以列表的形式返回.
文本块提取子串,以指定长度、指定位置从指定文本中提前文本片段.
文本块替换所有,用给定的替换字符串替换给定的文本中的所有指定的子串,并返回替换后的新文本.
例如,用Hannah替换Sheloveseating.
Sheloveswriting.
Shelovescoding中的所有She,得到的结果是Hannahloveseating.
Hannahloveswriting.
Hannahlovescoding.
这里中文翻译顺序有些问题文本块如把文本中的所有"a"替换为"b"文本块混淆文本,像文本框一样产生文本,不同的是这个文本不容易被发现,通常用做分发机密信息等.
文本块列表块在AI中列表是一个可以存放多个相同类型的元素的集合,它相当于其它编程语言的数组.
在内存中,列表中的元素是按先后顺序连续存放.
列表的值通过列表名称和它的索引值引用.
其中列表可以是一维的和二维的.
列表中主要的模块:列表块列表块一维列表索引12345列表项瞿德华刘华王中谭谈张小五列表块二维列表索引1212014001刘华22014002瞿德华32014003王中42014004谭谈列表块添加列表项,向列表的末尾添加列表项.
列表块求列表长度,返回列表中包含的列表项数.
列表块列表是否为空,如果列表为空,则返回值为真,否则为假.
列表块随机选取列表项,从列表中随机选取一项.
列表块检查列表项,如果列表中包含列表项则返回真,否则为假.
列表块返回列表项在列表中的位置,如果列表项不在列表中,则返回0.
列表块选取列表指定位置元素,求指定位置的列表项,索引值从1开始.
列表块插入列表项,在指定位置插入列表项.
列表块替换列表指定位置元素,替换列表中指定位置(索引值)的元素.
列表块删除列表项,删除指定位置(索引值)的列表项.
列表块追加列表项,将第二个列表中所有项添加到第一个列表的末尾.
添加后,列表1中将包括所有新加入的元素,而列表2不发生变化.
列表块复制列表,创建列表的副本,包括其中的所有子列表.
列表块是否为列表,检查该列表是否为列表类型.
如果是一个列表,则返回值为真,否则为假.
列表块列表转csv行,将列表转换为表格中的一行数据,并返回表示行数据的CSV(逗号分隔值)文本.
数据行中的每一项都被当做一个字段,在CSV中文本用双引号进行标识,各数据项以逗号分隔.
且每行末尾均不带换行符.
列表块例如将返回:"瞿德华","刘华","王中","谭谈","张小五".
例如将返回:"(2014001瞿德华)","(2014002刘华)","(2014003王中)","(2014004谭谈)".
列表块列表转csv列表块例如将返回:"瞿德华""刘华""王中""谭谈""张小五"列表块csv行转列表,将CSV(逗号分隔值)格式的表格解析为一个列表的行,是"列表转csv行"的逆过程.
列表块csv转列表,将CSV(逗号分隔值)格式的表格解析为一个列表的行,在每行中又是一个字段的列表.
是"列表转csv"的逆过程.
列表块根据键值查询,在类字典结构的列表中查找信息.
本操作需要三个输入值:一个键值对列表、一个关键字、以及一个找不到时的提示信息.
此处的键值对列表中的元素本身必须是包含两个元素的列表.
查找键值对就是要在列表中找到第一个键值对(子列表),它的键(第一个元素)与给定的关键字相同,并返回其值(第二个元素).
列表块例如将返回值"瞿德华".
颜色块颜色块合成颜色,返回由指定红、绿、蓝三色值以及透明度值合成的颜色.
列表中的第一个插槽代表R(红色)值,第二个为G(绿色)值,第三个代表B(蓝色)值,R、G、B的取值范围为0—255,第四个为可选项,代表alpha(透明度)值或颜色的饱和度.
默认的alpha值为100,颜色块分解色值,返回含红、绿、蓝色值以及透明度值(0-255)的列表.
颜色块例颜色块过程块过程是存放在某个名称之下的一系列块的组合,或者说代码,这个名称就是你所创建的过程块的名称.
在计算机科学中,过程也称作函数或方法.
在开发中如果需要反复使用同一个块集合,此时通过定义过程,可减少代码冗余.
过程可以有返回值,也可以没有.
一个过程可以没有或者有多个参数.
一般来说,一个过程完成一项功能,如交换两个数,排序,判断一个数是否为素数等.
过程块无返回值的过程过程块用过程来实现1+2+……n过程块过程块带返回值的过程该模块一般和"控制块"中的"执行模块……返回结果"配合使用.
过程块组件块在"模块"的Screen下的组件块是动态变化的.
在组件设计中用到的所有组件都会显示到这里,单击某个组件会弹出一个抽屉,包含有该组件所具有的行为、事件和属性等模块.
任意组件块任意组件是用AppInventor进行高级编程的一项非常重要的功能,可以实现对组件的动态修改,如游戏编程中,可以将一组imageSprite(图像精灵)编入列表,在程序运行过程中,通过对列表项的操作来实现动态修改组件状态的功能.
实验用过程来实现判定一个输入的数是否为素数.
7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...
BuyVM在昨天宣布上线了第四个数据中心产品:迈阿密,基于KVM架构的VPS主机,采用AMD Ryzen 3900X CPU,DDR4内存,NVMe硬盘,1Gbps带宽,不限制流量方式,最低$2/月起,支持Linux或者Windows操作系统。这是一家成立于2010年的国外主机商,提供基于KVM架构的VPS产品,数据中心除了新上的迈阿密外还包括美国拉斯维加斯、新泽西和卢森堡等,主机均为1Gbps带...
ai文件怎么打开为你推荐
福建创高安防技术股份有限公司Feldes37thinkphp什么是THINKPHP 和 MVC的概念开启javascript电脑怎样开启javascript?????????要步骤!!!!!!?!ym.163.comfoxmail设置163免费企业邮箱易名网易名网交易域名是怎么收费的三五互联南京最专业的网站建设公司是哪家?双尚网络做的好不好? 给分求答案网站方案设计求一篇校园网络设计的方案3g手机有哪些什么样的手机属于3G手机?如何发帖子如何发表帖子
域名服务 租服务器价格 欧洲欧洲vps 美国vps推荐 新通用顶级域名 漂亮qq空间 阿里云os lunarpages yardvps rak机房 ssh帐号 天猫双十一抢红包 网页背景图片 idc资讯 已备案删除域名 cdn联盟 空间合租 支付宝扫码领红包 买空间网 comodo 更多