zapline 发表于 2009-1-7 01:24

吾爱易语言学习第一阶段第二期

声明:此贴严禁顶帖灌水之类行为,非技术性回复一律-20CB
吾爱易语言学习准备:http://www.52pojie.cn/thread-16354-1-1.html
吾爱易语言学习第一阶段第一期:http://www.52pojie.cn/thread-16538-1-1.html
吾爱易语言学习第一期演示:http://www.52pojie.cn/viewthread.php?tid=16878&extra=page%3D1&frombbs=1


-----------------------------------------------------------------------------------------------------------------

这一期,主要来了解一下变量和循环语句

什么是变量?
   变量是用名称代表一个可变化的值,变量的类型也分多种多样,每种变量类型都是存储的特定的值。变量也好象是一种容器,把所有的数据都存储在变量中。

变量的有效范围可以分3种:
全局变量
程序集变量
局部变量
顾名思义,三种分别在全局(整个程序),所在程序集,所在局部起作用

定义方法:
全局变量

或者 ctrl+g
程序集变量

光标移到这,按回车
局部变量
ctrl+l或者 点击菜单栏插入--局部变量

变量又有不同的数据类型,几种常用的要记住
基本数据类型有:
1.    字节型。可容纳 0 到 255 之间的数值。
2.    短整数型。可容纳 -32,768 到 32,767 之间的数值,尺寸为 2 个字节。
3.    整数型。可容纳 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节。
4.    长整数型。可容纳 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值,尺寸为 8 个字节。
5.    小数型。可容纳 3.4E +/- 38 (7位小数) 之间的数值,尺寸为 4 个字节。
6.    双精度小数型。可容纳 1.7E +/- 308 (15位小数) 之间的数值,尺寸为 8 个字节。
7.    逻辑型。值只可能为“真”或“假”,尺寸为 2 个字节。“真”和“假”为系统预定义常量,其对应的英文常量名称为“true”和“false”。
8.    日期时间型。用作记录日期及时间,尺寸为 8 个字节。
9.    文本型。用作记录一段文本,文本由以字节 0 结束的一系列字符组成。
10.字节集。用作记录一段字节型数据。字节集与字节数组之间可以互相转换,在程序中允许使用字节数组的地方也可以使用字节集,或者相反。字节数组的使用方法,譬如用中括号对(“[]”)加索引数值引用字节成员,使用数组型数值数据进行赋值等等,都可以被字节集所使用。两者之间唯一的不同是字节集可以变长,因此可把字节集看作可变长的字节数组。
11.子程序指针。用作指向一个子程序,尺寸为 4 个字节。

字节型、短整数型、整数型、长整数型、小数型、双精度小数型被统称为“数值型”,它们之间可以任意转换。不过编程需要注意转换可能带来的精度丢失。


循环语句
循环就是反复做同一件事。
循环分为:
1,次数循环
2;条件循环

次数循环,就是按照一定的次数进行循环
又分计次循环首和变量循环首两种

计次循环首,按照循环次数进行循环,变量1表示当前循环到第几次。开始循环:第一次循环,变量1=1;第二次循环,变量1=2……以此类推。每次循环都是执行循环体内的程序,直到循环完毕才执行以后的程序。
调用格式: 〈无返回值〉 计次循环首 (整数型 循环次数,[整数型变量 已循环次数记录变量]) - 系统核心支持库->流程控制
    英文名称:counter
    执行本命令将把循环体内的命令重复执行指定的次数。提供的整数参数值决定将重复执行的次数。本命令为初级命令。
    参数<1>的名称为“循环次数”,类型为“整数型(int)”。本数值指定执行计次循环体内所有命令的次数,必须大于等于零。
    参数<2>的名称为“已循环次数记录变量”,类型为“整数型(int)”,可以被省略,提供参数数据时只能提供变量。本数值型变量用作记录当前循环首已经被进入过的次数(从 1 开始),程序可以直接取用此变量中的值。

变量循环首,按照指定的起始值和目标值进行循环,变量1表示当前循环到第几次。开始循环:第一次循环,变量1=1;第二次循环,变量1=2……以此类推。每次循环都是执行循环体内的程序,直到循环完毕才执行以后的程序。
调用格式: 〈无返回值〉 变量循环首 (整数型 变量起始值,整数型 变量目标值,整数型 变量递增值,[整数型变量 循环变量]) - 系统核心支持库->流程控制
    英文名称:for
    执行本命令将利用变量对循环体内的命令进行循环执行。第一次执行此命令时将使用“变量起始值”参数初始化“循环变量”参数所指定的变量。每次(包括第一次)执行到此命令处都将判断循环变量内的值是否已经超过“变量目标值”参数所指定的值,如已超过,则跳转到对应的“变量循环尾”命令的下一条命令处继续执行,否则顺序执行下一条语句继续进行循环。本命令为初级命令。
    参数<1>的名称为“变量起始值”,类型为“整数型(int)”,初始值为“1”。定义循环变量的起始数值。
    参数<2>的名称为“变量目标值”,类型为“整数型(int)”。定义循环变量的目标数值,在循环首部如果发现变量值已超出此目标值时将跳出循环。
    参数<3>的名称为“变量递增值”,类型为“整数型(int)”,初始值为“1”。每次执行到循环尾部时都将把此值加入到循环变量中去,此值可为正数或负数,如为正数则递增,为负数则递减。
    参数<4>的名称为“循环变量”,类型为“整数型(int)”,可以被省略,提供参数数据时只能提供变量。本数值型变量将用作控制循环执行次数,在循环尾部将自动递增或递减该变量内的数值。如果被省略,命令将自动使用内部临时变量。

条件循环,就是符合某个条件才循环,不符合条件就不循环
条件循环又分判断循环首和循环判断首两种

判断循环首是先判断,如果符合条件,就进行循环,循环一次完毕,再判断条件是否成立,如果成立,再进行循环,如此反复。
调用格式: 〈无返回值〉 判断循环首 (逻辑型 条件) - 系统核心支持库->流程控制
    英文名称:while
    本命令根据提供的逻辑参数的值,来决定是否进入循环。如果提供的逻辑参数值为真,程序顺序执行下一条命令进入循环,否则跳转到本命令所对应的“判断循环尾”命令的下一条命令处以跳出循环。本命令为初级命令。
    参数<1>的名称为“条件”,类型为“逻辑型(bool)”。本条件值的结果决定下一步程序执行位置。

循环判断首是先循环一次,然后判断条件是否成立,如果条件成立就再进行循环,再判断,再循环,如此反复。
调用格式: 〈无返回值〉 循环判断首 () - 系统核心支持库->流程控制
    英文名称:DoWhile
    执行本命令后将顺序执行下一条命令进入程序循环。本命令为初级命令。
调用格式: 〈无返回值〉 循环判断尾 (逻辑型 条件) - 系统核心支持库->流程控制
    英文名称:loop
    本命令根据提供的逻辑参数的值,来决定是否返回到循环首部继续进行循环。如果提供的逻辑参数值为真,程序返回到对应的“循环判断首”命令处继续进行循环,否则顺序执行下一条命令退出本程序循环。本命令为初级命令。
    参数<1>的名称为“条件”,类型为“逻辑型(bool)”。本条件值的结果决定下一步程序执行位置。

下面用四种循环方式演示 如何计算 1+2+3+4+......+98+99+100
a1 = 1
a2 = 0
.计次循环首 (100, a1)
    a2 = a2 + a1
.计次循环尾 ()
信息框 (a2, 0, )
a1 = 1
a2 = 0
.变量循环首 (1, 100, 1, a1)
    a2 = a2 + a1
.变量循环尾 ()
信息框 (a2, 0, )
a1 = 1
a2 = 0
.判断循环首 (a1 < 101)
    a2 = a2 + a1
    a1 = a1 + 1
.判断循环尾 ()
信息框 (a2, 0, )
a1 = 1
a2 = 0
.循环判断首 ()
    a2 = a2 + a1
    a1 = a1 + 1
.循环判断尾 (a1 < 101)
信息框 (a2, 0, )
a1 = 0
a2 = 0
.循环判断首 ()
    a1 = a1 + 1
    a2 = a2 + a1
.循环判断尾 (a1 < 100)
信息框 (a2, 0, )

---------------------------------------------------------------------------

这次要讲的实例是一个 36选7 程序(源程序有小错误,有个35要改成36)


关键部分代码:
编辑框1.内容 = “”
.计次循环首 (35, 计次变量)-------这里35应该改成36
    加入成员 (a, 计次变量)
.计次循环尾 ()
.计次循环首 (7, )
    b = 取随机数 (1, 取数组成员数 (a))
    编辑框1.内容 = 编辑框1.内容 + 到文本 (a [ b ]) + “ ”
    删除成员 (a, b, 1)
.计次循环尾 ()

这里用到了数组,将在以后的课里讨论

用到了以下命令:
加入成员 ()
取随机数 ()
取数组成员数 ()
到文本 ()
删除成员 ()

详细描述请看易语言自带的知识库
打开方法:点击菜单栏帮助---易语言知识库
或者输入该命令,再使用即时帮助(快捷键F1)

-----------------------------------------------------------------------

作业:
选择完成下列题目
1,计算1+3+5+7+......+97+99
2,用不同的循环方式写出 66选8程序
3,打出九九乘法表

[ 本帖最后由 zapline 于 2009-1-11 15:13 编辑 ]

Tale 发表于 2009-1-7 03:18

易语言九九乘法表想起小A的不由的膜拜

.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
标签9.标题 = “1X9= 9”
标签8.标题 = “1X8= 8”
标签7.标题 = “1X7= 7”
标签6.标题 = “1X6= 6”
标签5.标题 = “1X5= 5”
标签4.标题 = “1X4= 4”
标签3.标题 = “1X3= 3”
标签2.标题 = “1X2= 2”
标签1.标题 = “1X1= 1”
标签10.标题 = “2X9= 18”
标签11.标题 = “2X8= 16”
标签12.标题 = “2X7= 14”
标签13.标题 = “2X6= 12”
标签14.标题 = “2X5= 10”
标签15.标题 = “2X4= 8”
标签16.标题 = “2X3= 6”
标签17.标题 = “2X2= 4”
标签19.标题 = “3X9= 27”
标签20.标题 = “3X8= 24”
标签21.标题 = “3X7= 21”
标签22.标题 = “3X6= 18”
标签23.标题 = “3X5= 15”
标签24.标题 = “3X4= 12”
标签25.标题 = “3X3= 9”
标签28.标题 = “4X9= 36”
标签29.标题 = “4X8= 32”
标签30.标题 = “4X7= 28”
标签31.标题 = “4X6= 24”
标签32.标题 = “4X5= 20”
标签33.标题 = “4X4= 16”
标签64.标题 = “5X9= 45”
标签65.标题 = “5X8= 40”
标签66.标题 = “5X7= 35”
标签67.标题 = “5X6= 30”
标签68.标题 = “5X5= 25”
标签55.标题 = “6X9= 54”
标签56.标题 = “6X8= 48”
标签57.标题 = “6X7= 42”
标签58.标题 = “6X6= 36”
标签46.标题 = “7X9= 63”
标签47.标题 = “7X8= 56”
标签48.标题 = “7X7= 49”
标签37.标题 = “8X9= 72”
标签38.标题 = “8X8= 64”
标签73.标题 = “9X9= 81”



[ 本帖最后由 Tale 于 2009-1-7 03:22 编辑 ]

zapline 发表于 2009-1-7 03:23

补充:

' 清空文本框
编辑框1.内容 = “”
' 填充数组,使a=1,a=2.......a=36
.计次循环首 (36, 计次变量)
    加入成员 (a, 计次变量)
.计次循环尾 ()
' 循环七次,得到七个数
.计次循环首 (7, )
    b = 取随机数 (1, 取数组成员数 (a))' 从剩余的数中随机选出一个
    编辑框1.内容 = 编辑框1.内容 + 到文本 (a ) + “ ”
    删除成员 (a, b, 1)' 从数组中删除选出来的
.计次循环尾 ()

[ 本帖最后由 zapline 于 2009-1-7 22:40 编辑 ]

wqejnyt 发表于 2009-1-7 04:24

因为你不限制取出的数组不能重复所以我就不删除成员了!点击进入下载-第二课作业.rar

[ 本帖最后由 wqejnyt 于 2009-1-7 07:41 编辑 ]

xiaobai 发表于 2009-1-7 11:08

交作业!:P


补上一半的,谢谢提醒!


36选七学到了数组应用的函数,谢谢楼主!

[ 本帖最后由 xiaobai 于 2009-1-7 14:03 编辑 ]

鬼手 发表于 2009-1-7 12:12

呵呵,什么都不懂。吓学,吓写哈!
土的不能再土的办法,哈哈!:lol

[ 本帖最后由 鬼手 于 2009-1-7 12:22 编辑 ]

小生我菜菜 发表于 2009-1-7 13:32

交作业,这个学习班的速度比较神速!下一期不会就到api函数的调用了吧?如果是这样,估计大家5天就能成为易语言高手!

[ 本帖最后由 小生我菜菜 于 2009-1-7 13:36 编辑 ]

sunshinezhen 发表于 2009-1-7 15:50

不是美观的作业

evvhttp://pic.禁止使用网挣网盘/servlet/ReadFileStream?filename=//zzage/%E4%B8%8A%E4%BC%A0%E5%88%86%E4%BA%AB/2009/1/7/11231314631027.GIFhttp://www.禁止使用网挣网盘/space/show/zzage/%E4%B8%8A%E4%BC%A0%E5%88%86

GinXt 发表于 2009-1-7 16:00

总算完成了...

狐狸糊涂 发表于 2009-1-7 18:09

学习学习在学习。。
页: [1] 2 3 4
查看完整版本: 吾爱易语言学习第一阶段第二期