新设计信息技术基础课件 讲义 习题第二章 信息的加工第二章 第6节.docx
《新设计信息技术基础课件 讲义 习题第二章 信息的加工第二章 第6节.docx》由会员分享,可在线阅读,更多相关《新设计信息技术基础课件 讲义 习题第二章 信息的加工第二章 第6节.docx(19页珍藏版)》请在冰点文库上搜索。
![新设计信息技术基础课件 讲义 习题第二章 信息的加工第二章 第6节.docx](https://file1.bingdoc.com/fileroot1/2023-5/31/518ef850-df84-45fd-84b2-076949d36ed0/518ef850-df84-45fd-84b2-076949d36ed01.gif)
新设计信息技术基础课件讲义习题第二章信息的加工第二章第6节
第6节 常量、变量和数组
知识点
目标
考试要求
算法的程序实现
①基本数据类型、常量、变量
②赋值语句
c
必考+加试
1.在VB中,最基本的数据类型有字符串型、数值型、逻辑型和日期型等。
2.常量是指在程序执行过程中其值不会改变的存储单元或数据。
3.字符串型常量的表示需要加上””,在标签Label或文本框Text中不会显示该符号。
4.字符串的连接符为“+”或“&”,如“1”+“2”=“12”,“2”+“1”=“21”。
5.数值型数据包括整型、单精度型和双精度型等数据类型,他的特征是可以进行加减乘除等算术运算。
6.逻辑型数据有且只有True或False两个值。
7.变量是在程序运行中,可以改变数值的数据,程序在定义时规定其数据类型。
变量命名时要注意如下规则:
①必须以字母或汉字开头(不能以数字开头);
②由字母、汉字、数字或下划线组成,长度不能超过255个字符;
③不能使用VB中的保留字,如Dim,For,Single,Mid,Len等;
④不区分变量名的大小写。
一、常量和变量
常量指程序在运算过程不会改变的量,如”中华人民共和国”、”体积”、388、3.14159等等,还有一种自定义常量。
变量指在程序运行时会改变的量,变量相当于一个盒子,向盒子放入一个苹果,他的值为苹果,放入一根香蕉,他的值为香蕉。
二、常见的数值数据类型
1.字符串型通常表示一个或多个字符串,他包含大小写英文字母、特殊字符、中文字符等,当然也包含0~9的数字。
数值类型通常指可以参加算术运算0~9的数字及小数点组成的数据。
这两者的区别可以理解为字符串是不可进行算术运算,而数值型是可以进行算术运算。
数据类型
英文名称
功能或作用
字符串型
String
表示一串字符或文本,或者一串不需计算的数字
数值型
整型
Integer
从-32768到32767范围内的整数
长整型
Long
表示一个较大整数
单精度型
Single
单精度和双精度都可以表示小数,但是小数的有效位数不同。
也可以表示整数和较大整数
双精度型
Double
逻辑型
Boolean
只有True或False两个值
2.为了区分是字符串类型还是数值类型的阿拉伯数字,为了区分是字符串常量还是变量名,字符串类型常量在表示时,要加上英文的双引号。
3.同一类型的数据可以进行计算或连接,不同类型的数据需进行转换。
例如要输出小河的宽度为5米的正确格式为”小河的宽度为”+Str(5)+”米”
【例1】 ①列举常见的字符串型常量_____________________________;
②列举常见的数值型常量_____________________________________;
③列举逻辑型常量___________________________________________。
解析 字符串型在表示时一定要加上英文的双引号加以区别,True或False是VB作为逻辑型常量的保留字,有具体的含义,不能作为变量的名称。
数值型数据有整型、长整型和单精度型等,单精度型数据除了表示小数外,还可以表示较大的整数。
答案 ①”China”、”面积为112平方米”②8848 3.14159 99999999③True False
【变式训练】 写出下列常量通常情况的数据类型
学生姓名张三
学生编号X001
小明年龄12岁中的数字12
珠穆朗玛峰高度8848米的数字8848
小明身高1.73米的数字1.73
头发数量120000根的数字120000
某县人口约50000人的数字50000
答案 字符串型 字符串型 整型 整型 单精度型 长整型 长整型
三、变量定义及变量的含义
(一)变量的定义
变量在引用前,往往需要定义他的类型,数据类型有字符串型String、数值型和逻辑型Boolean。
其中根据需要,如果较小的整数,一般定义为整型Integer,如果是小数或较大的整数。
一般定义为单精度数Single。
【例2】 写出下列情况的变量定义语句
①用于存储车牌号码变量pz,如“浙ET888”:
__________________________________________________________________;
②用于存储某人的身高变量sg(单位米):
__________________________________________________________________;
③用于存储机房中电脑台数变量jsj:
__________________________________________________________________;
④用于存储浙江省人口数量变量rk:
___________________________________________________________________;
⑤用于存储十个人的平均体重变量tz:
___________________________________________________________________;
⑥用于存储某个条件是否成立变量flag:
___________________________________________________________________。
解析 车牌号码中带有文字,身高单位为米,为小数,机房中电脑台数的数量不大,且为整数,浙江省人口在几千万左右,超出整型的范围,需长整型或单精度型。
平均体重往往是小数,条件是否成立,答案要么是,要么否,只有两个值。
答案 ①DimpzAsString ②DimsgAsSingle③DimjsjAsInteger ④DimrkAsLong ⑤DimtzAsSingle ⑥DimflagAsBoolean
[方法总结] 每个变量要用合适的类型来定义他,变量才可以正确地赋值,同时也可以帮助我们理解变量的含义,并在输出时,注意他的格式要求。
【变式训练】 写出下列情况的变量定义语句
①用于存储密码的变量psd:
___________________________________________________________________;
②用于存储某楼梯的台阶数变量tj:
___________________________________________________________________;
③用于存储是否是闰年变量rn:
___________________________________________________________________;
④用于存储一元二次方程的根变量gen:
___________________________________________________________________。
解析 密码中含各种类型的文字,台阶数量较小,且为整数。
是否是闰年,有两个答案,是或否,一般用逻辑型。
方程的根,很有可能是小数。
答案 ①DimpsdAsString ②DimtjAs Integer ③DimrnAsBoolean ④DimgenAsSingle
【例3】 运行如下程序段时,出现了如图所示的错误提示框
PrivateSubCommand1_Click()
DimrAsSingle,sAsSingle′①
r=Val(Text1.Text)′②
s=3.14159*r*r′③
Text2.Text=”某个半径为”+r+”米的圆,其面积为”+s+”平方米。
”′④
EndSub
则程序中出错的语句是( )
A.①B.②C.③D.④
解析 本题考核的知识点是数据类型。
从输出的错误提示“类型不匹配”中,可以看出问题出在类型不匹配上。
文本和数字不可以混合相连,特别在输出时,必须要把数字转换成文本格式。
因此④指向的正确语句为Text2.Text=”某个半径为”+Str(r)+”米的圆,其面积为”+Str(s)+”平方米。
”
答案 D
[方法总结] 在程序填空时,书写输出语句时,往往要注意变量的类型,不能因为变量类型不一致,而导致整个题目没有得分。
【变式训练】 运行如下程序段时,出现了如图所示的错误提示框
PrivateSubCommand1_Click()
DimrAsSingle,sAsSingle′①
r=”10米”′②
s=3.14159*r*r′③
Text2.Text=”某个半径为”+Str(r)+”米的圆,其面积为”+Str(s)+”平方米。
”′④
EndSub
则程序中出错的语句是( )
A.①B.②C.③D.④
解析 r为单精度,不能加引号且为数字。
答案 B
(二)变量的含义
程序设计题往往是以填空或改错的形式出现,理解各个变量的含义是解题的前提。
理解变量的含义通常从程序的输入和输出着手,结合题目的描述及题目中所给界面的来理解,也可以从程序的输出语句的前后语境来理解。
【例4】 小王编写VB程序,功能如下:
在文本框Text1中输入一段英语短文,点击“统计”
按钮Command1,在标签Label2中输出该短文中出现次数最多的小写字母、次数和频率。
PrivateSubCommand1_Click()
DimfAsInteger,maxAsInteger,sumAsInteger
DimsAsString,cxAsString
s=Text1.Text
′其他代码略
f=Int(max/sum*100)
Label2.Caption=”字母:
”&cx&”次数:
”&Str(max)&”频率:
”&Str(f)&”%”
EndSub
则下列变量的含义分别是
s
cx
max
f
sum
解析 从输入语句着手,题目描述中“文本框Text1中输入一段英语短文”,在程序语句s=Text1.Text,因此变量s表示输入的一段英语短文;从输出语句着手,给出的图示及程序语句中可以看出,变量cx表示出现最多的字母,变量max表示出现最多字母的次数,变量f表示出现最多字母的频率,从语句f=Int(max/sum*100)来看,变量sum表示总的字母个数。
答案 输入的一段英语短文 出现最多的字母 出现最多字母的次数 出现最多字母的频率 总的字母个数
[方法总结] 理解变量的含义是解程序设计题的关键,而理解变量的含义往往从输入和输出语句着手,要充分利用好题目中给出的图例,要先把输入和输出语句划出来。
【变式训练】 在文本框Text1中输入文章,在Text2中输入要查找的单词,单击“查找”按钮Command1,在列表框List1显示该单词出现的位置及次数。
PrivateSubCommand1_Click()
Dimpos(1To1000)AsInteger
DimcAsString,sAsString,s2AsString,iAsInteger,jAsInteger,kAsInteger
DimbAsInteger,slenAsInteger
s=Text1.Text
s2=Text2.Text
′其他代码略
List1.AddItem”单词”+s2+”出现的位置为”
Fori=1Tok
List1.AddItemStr(pos(i))
Next
List1.AddItem”共出现”+Str(k)+”次”
EndSub
则下列变量的含义分别是
s
s2
k
解析 从输入语句来看,再结合题目要求,得出s、s2变量的含义。
从输出语句List1.AddItem”共出现”+Str(k)+”次”,再结合图示,可以看出k变量的含义。
答案
s
输入文章
s2
要查找的单词
k
要查找的单词出现的次数
1.将下列常量按数据类型归类
①True ②2.71 ③”人民的名义” ④9999
⑤False ⑥519 ⑦”2017年9月” ⑧40000
(1)文本(String)_______________________________________________________;
(2)整型(Integer)______________________________________________________;
(3)单精度型(Single)___________________________________________________;
(4)逻辑型(Boolean)____________________________________________________;
(5)长整型(Long)______________________________________________________。
解析 字符串型的特征是有引号,长整型可以包含整型,但是整型可以表示的整数范围小。
单精度型也可以包含整型,但更多地是表示是小数。
逻辑型只有两个值。
答案
(1)③⑦
(2)④⑥ (3)②⑧ (4)①⑤ (5)④⑥⑧
2.用变量存储诗朗诵比赛选手的平均得分(保留2位小数),则变量数据类型应说明为( )
A.IntegerB.Long
C.SingleD.Date
解析 小数必须为单精度数或双精度数。
答案 C
3.在VB中,a=-100,表达式”360”+Str(a)的值是( )
A.260B.”360-100”
C.460D.360100
解析 这是一个字符串的连接,结果还是字符串。
答案 B
4.某人的出生年月日分别存储整型变量myyear、mymonth、myday中,下列是在文本框Text1中输出完整的出生日期(例如1995年3月15日)的是( )
A.Text1.Text=myyear+年+mymonth+月+myday+日
B.Text1.Text=myyar+”年”+mymonth+”月”+myday+”日”
C.Text1.Text=Str(myyear)+年+Str(mymonth)+月+Str(myday)+日
D.Text1.Text=Str(myyear)+”年”+Str(mymonth)+”月”+Str(myday)+”日”
解析 在字符串与数字变量混联时,最终要转换成一种统一的类型文本。
答案 D
5.编写“鞋码换算”程序,实现如下功能:
在文本框Text1中输入脚长(单位:
厘米),如果脚长的小数部分大于0且小于或等于0.5,则脚长为输入的整数部分与0.5的和,如果大于0.5,则脚长为输入的整数部分加1。
单击“换算”按钮Command1,在标签Label1中显示相应鞋码,同时在列表框List1中显示与脚长对应的标准鞋码表。
程序运行界面如图所示。
PrivateSubCommand1_Click()
DimnAsSingle,iAsSingle,cAsInteger
n=Val(Text1.Text)
′其他代码略
Label1.Caption=”适合你的鞋码为:
”+Str(c)
Fori=__________________Ton+2step0.5
c=i*2-10
List1.AddItemStr(i)+””+Str(c)
Nexti
EndSub
在下表中填写变量的含义
n
c
i
脚长。
从图中可以看出有9条记录,以当前脚长为中点,上下各4条且脚长相差0.5
解析 从输入n=Val(Text1.Text)看变量含义,从输出Label1.Caption=”适合你的鞋码为:
”+Str(c),再结合图中所示,c为转换后的鞋码。
答案
n
脚长
c
鞋码
i
脚长。
从图中可以看出有9条记录,以当前脚长为中点,上下各4条且脚长相差0.5
6.数学黑洞数6174。
在文本框Text1中输入一个四位数(4个数字不能完全相等),将该数的4个数字重新组合,形成最大数和最小数,再求两者之间的差;对此差值重复同样过程,必得到数字6174。
在文本框Text2中输出计算的步骤数。
PrivateSubCommand1_Click()
DimxAsInteger,iAsInteger,jAsInteger
DimnAsInteger,a(1To4)AsInteger,yAsInteger
x=Val(Text1.Text)
n=0:
DoWhilex<>6174
′其他代码略
List1.AddItemStr(x)+”-”+Str(y)+”=”+Str(x-y)
′其他代码略
Loop
Text2.Text=Val(n)
EndSub
在下表中填写变量的含义
x
n
y
解析 从输入语句x=Val(Text1.Text)来看变量x的含义,从输出语句Text2.Text=Val(n)来看变量n的含义。
从语句List1.AddItemStr(x)+”-”+Str(y)+”=”+Str(x-y)来看变量y的含义。
答案
x
输入的四位整数
n
计算的步骤
y
重新组合的最小数
1.在VB中,下列属于字符串常量的是( )
A.”2014”B.ABC
C.Str(”169”)D.9.8
解析 字符串常量的特征是包含引号的文本,B为变量,C为错误的表达式,D为单精度数。
答案 A
2.在VB中,如果变量S需要存储一首四言绝句诗,那么变量S的数据类型应定义为( )
A.IntegerB.String
C.BooleanD.Date
解析 四言绝句诗是文字。
答案 B
3.以下可以作为VB变量名的是( )
A.12AB.Total
C.A-BD.True
解析 变量必须是字母或汉字开头,不能是数字开头,C中的“-”不能引用,会产生A减去B的表达式的歧义,D为逻辑常量。
答案 B
4.苹果的重量为x公斤,金额为y元,其中x、y为变量,在VB的列表框List1中,显示具体数字的表达式为( )
A.List1.AddItem 苹果的重量为+x+公斤,金额为+y+元
B.List1.AddItem ”苹果的重量为”+x+”公斤,金额为”+y+”元”
C.List1.AddItem 苹果的重量为+Str(x)+公斤,金额为+Str(y)+元
D.List1.AddItem ”苹果的重量为”+Str(x)+”公斤,金额为”+Str(y)+”元”
答案 D
5.小明采集了杭州市7-8月的每日最高气温,并存放在数据库中。
程序运行时,读取日期和最高气温并显示在列表框List1中,在文本框Text1中输入温度值,单击“统计”按钮Command1,程序自动统计运行在该温度值以上(包含该温度值)的最长连续天数,并显示在Text3中,在Text2中显示日期区间。
PrivateSubForm_Load()
′读取数据库内容,其中日期数据存放在数组rq中,最高气温数据存放在数组qw中,第i个日期保存在rq(i)中,对应的气温保存在qw(i)中,并显示在列表框List1中,代码略
EndSub
PrivateSubCommand1_Click()
DimmaxAsInteger,nendAsstring,StartAsstring,tjqwAsInteger
tjqw=Val(Text1.Text)
′其他代码略
Ifmax<>0ThenText2.Text=start&”-”&nend
Text3.Text=Str(max)
EndSub
在下表中填写变量的含义
tjqw
max
Nend
解析 从输入语句tjqw=Val(Text1.Text)填写变量tjqw的含义。
从输出语句Text3.Text=Str(max)来看变量max的含义。
从语句Text2.Text=start&”-”&nend,再结合图示来看,nend是连续高温结束的那天。
答案
tjqw
输入的比较温度
max
最大连续天数
Nend
最大连续高温结束的日期
6.在一个长度为n的数字序列中,如果相邻元素差的绝对值经过升序排序后正好是从1到n-1,则认定该序列存在着“有趣的跳跃”。
在文本框Text1中逐个输入数字,单击“判断”按钮Command1,将原始数字序列相邻数字差的绝对值依次存储到数组b中,并对数组b进行升序排序,在列表框List2中显示;若存在“有趣的跳跃”,则在文本框Text2中输出“yes”,否则输出“no”。
PrivateSubCommand1_Click()
DimsAsString,flagAsBoolean
s=Text1.Text
flag=True
′其他代码略
Ifflag=TrueThenText2.Text=”yes”ElseText2.Text=”no”
EndSub
在下表中填写变量的含义
s
flag
解析 从输入语句s=Text1.Text来年变量s的含义。
从输出语句Ifflag=TrueThenText2.Text=”yes”ElseText2.Text=”no”来看变量flag的含义。
显然flag是一个逻辑变量,表示是否是跳跃数的标志。
答案
s
输入的数字序列
flag
是否是跳跃数的标志
7.在VB中,使用语句DimaAsInteger声明的变量a,下列最适合赋值给该变量的是( )
A.3.14B.”001”C.58D.45665
答案 C
8.在VB中,有下列程序段
DimaAsInteger,bAsInteger,cAsBoolean
a=1
b=2
b=a+b
c=a=b
Label1.Caption=c
则标签Label中显示的内容是( )
A.1B.2C.TrueD.False
答案 D
9.有如下VisualBasic程序段:
a=3:
b=2:
c=3
b=a+b*c
该程序段运行后,变量b的值为________。
答案 9
10.有如下VisualBasic程序段:
a=”Happy”
b=”ness”
c=a+b
该程序段运行后,变量c的值是________。
答案 ”Happyness”
11.有如下VisualBasic程序段:
a=3:
b=4
c=a+b
b=c*b
该程序段运行后,变量b的值为________。
答案 28
12.有如下VisualBasic程序段:
a=4
b=3
b=a+b
a=a+b
该程序段运行后,变量a的值为________。
答案 11