变量、常量、函数、运算符和圆括号 2.书写规则
(1) 运算符不能相邻。例a+ -b是错误的。 (2) 乘号不能省略。例x 乘以y 应写成:x*y (3) 括号必须成对出现,均使用圆括号。
(4) 表达式从左到右在同一基准上书写,无高低、大小。 3. 不同数据类型的转换
运算结果的数据类型向精度高的数据类型靠. Integer 算术运算符>字符运算符>关系运算符>逻辑运算 5.表达式书写举例 abcd1) efg 写成:a*b*c*d/e/f/g 或 a*b *c*d/(e*f*g) e10?ln102) ?sin45? x?y?1写成:sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1) Ⅲ、小结 本次课我们要掌握常用的内部函数的使用及运算符和表达式的用法及书写规则。特别要注意运算符的优先顺序。 Ⅳ、作业 P82一、9~11 二、1~10 第23、24课时 实验二 数据类型与表达式 一、实验目的: 1、 了解VB各种数据类型,掌握常量与变量的各种数据类型。 2、 掌握变量名的命名规则。 3、 掌握表达式的类型及其正确书写规则 4、 掌握常用内部函数的使用。 5、 掌握语句的书写规则。 二、实验内容 1、调试课本中的题目 2、数值变量和表达式的简单应用。 3、字符变量和表达式的简单应用。 4、关系运算符和逻辑运算符的使用。 5、算术函数的使用 - 26 - 第25、26课时 课题:复习本章内容 教学目的: 通过复习进一步巩固本章所学知识,加深对各个考点知识的理解。培养学生学会总结归纳的学习习惯。 教学重难点: 1、数据类型 2、常量和变量 3、变量的作用域 4、常用内部函数 5、运算符与表达式 教学方法: 多媒体教学 教学过程: 一、数据类型 基本数据类型有: 1、字符串 2、数值 1)整形数:整数和长整数 2)浮点数:单精度和双精度 3、货币 4、变体 5、其他数据类型 1)字节 2)布尔 3)日期 4)对象 二、常量和变量 (一)常量 1、文字常量 1)字符串常量 2)数值常量 A、整形数:十进制、十六进制、八进制 B、长整型数:十进制、十六进制、八进制 C、货币数 D、浮点数: 单精度和双精度 2、符号常量:const (二)变量 1、命名规则 2、变量的类型和定义 1)用类型说明符来标识 2)在定义变量时指定其类型 Dim用于在标准模块、窗体模块或过程中定义变量或数组。 Static用于在过程中定义静态变量及数组变量。 Public用来在标准模块中定义全局变量或数组。 3)用DefType语句定义 三、变量的作用域 不同作用范围的三种变量声明及使用规则 - 27 - 作用范围 声明方式 局部变量 Dim Static 窗体/ 模块级 变量 Dim Private 全局变量 窗体 Public 标准模块 声明位置 被本模块的 其他过程存取 被其他模块存取 过程中 不能 不能 通用声明 能 不能 通用声明 能 能 变量名前加窗体名 能 四、常用内部函数 int(0.8)= 0 int(-0.8)= -1 Fix(1.6)=1 Fix(-1.6)=-1 Asc(\ Chr(65)= \ Val(\ Val(\ Val(\ val(\ Val(\ str(123)= \ Cint(-12.6)=-13 Cint(-12.6)= -13 Cint(-12.3)= -12 Cint(12.6)=13 Cint(12.3)=12 Abs(-5)=5 sqr(36)=6 sgn(100)=1 sgn(-100)= -1 sgn(0)=0 Sin(90*3.1415926/180)=1 1°=π/180=3.14159/180弧度 Month(#5/30/207#)=5 Hour(#15:30:20#)=15 Rnd*100 产生(0,100)之间的随机数 Int(Rnd*50+10) 产生[10,59]之间的随机整数 五、运算符与表达式 1、算术运算次序 ()? 函数?^ ? -(负) ? * /? \\ ?mod? + - ? & 2、逻辑运算: NOT?AND?OR 3、表达式的执行顺序 函数运算?算术运算?关系运算?逻辑运算 例1:用人单位招聘秘书:年龄小于30岁的女性,学历专科或本科, 年龄<30,性别=“女”,(学历=“专科”,学历=“本科”) And And Or 考虑:若分别写成下列形式有什么不同: 年龄<30 And 性别= \女\学历= \专科\学历= \本科\ 年龄<30 Or 性别= \女\学历= \专科\学历= \本科\例2:表示算术表达式: 正确的VB表达式: 3<=x And x <=7 错误的VB表达式: 3<=x<=7 或 3<=x Or x<=7 比a小,比b大 用 Or 比a大,比b小 用 And 例3:选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为: Age<19 And Total>285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 ) 如果取消括号有何问题?请大家考虑。 六、常见错误: 1. 逻辑表达式书写错,在VB没有造成语法错而形成逻辑错。 - 28 - 例如,数学表达式 3≤x<10 VB表达式写为 3<=x<10。 2. 同时给多个变量赋值,在VB没有造成语法错而形成逻辑错。 例如:Dim x%,y%,z% x=y=z=1 3. 标准函数名写错 4. 变量名写错 检查方法:在通用声明段加Option Explicit 5. 语句书写位置错 在通用声明段只能有Dim语句,不能有赋值等其他语句 小结:本节课进一步巩固本章所学知识,加深对各个考点知识的理解。 作业:完成本章练习卷 第27、28课时 课题:数据的输入输出 教学目的: 1、掌握Print方法的格式及与之相关的属性和方法 2、掌握InputBox函数的格式及使用 教学重难点: 1、Print方法的格式 2、InputBox函数的格式及使用 教学方法: 多媒体教学 教学过程: Ⅰ、引入 除界面外,一个计算机程序通常可分为3部分,即输入、处理和输出。计算机通过输入操作接收数据,然后对数据进行处理,并将处理完的数据以完整有效的方式提供给用户,即输出。数据的输入输出是应用程序与用户交互的桥梁,VB对数据输入输出采取什么方式呢? Ⅱ、新课 一、数据的输出 1、Print方法 Print方法的格式如下: [对象名称.]Print [表达式表][,|;] ①对象名称可以是窗体、图片框、打印机或立即窗口。“对象名称”可以省略,默认的输出对象为窗体。 ②“表达式”是被输出的内容,它们可以是数值表达式或字符表达式。 Debug.Print \在立即窗口输出数据\ ③多个表达式时,用逗号、分号隔开,如果用逗号分隔,则按标准输出格式显示各数据,此时,以14个字符位置为单位把一个输出行分为若干个区段(输出区),逗号后的表达式在下一个区段输出。如果用分号分隔,则按紧凑格式输出数据。 ④Print方法具有计算和输出的双重功能。对于表达式,先计算后输出。 ⑤每执行一次Print方法要自动换行,除非末尾加上一个分号或逗号。 ⑥Print方法后面无任何表达式,表示输出一个空行;一个空Print方法的末尾有逗号或分 - 29 - 号时,则该Print语句表示结束上一个Print方法末尾的逗号或分号。 2、与Print方法有关的标准函数 1)Tab函数 格式:Tab(n) 功能:把光标移到由参数n指定的位置。被输出的内容要放在Tab函数的后面,并用分号分隔。 如:Print Tab(20); \输出在第二十列\ 注意: ? 如果当前行上的打印位置大于 n,则 Tab 将打印位置移动到下一个输出行的第 n 列 上。 ? 如果 n 小于 1,则 Tab 将打印位置移动到列 1。 ? 如果 n 大于输出行的宽度,则 Tab 函数使用以下公式计算下一个打印位置: n Mod width(输出行的宽度) 例如,如果 width 是 80,并指定 Tab(90),则下一个打印将从列 10 开始(90/80 的余数)。如果 n 小于当前打印位置,则从下一行中计算出来的打印位置开始打印。如果计算后的打印位置大于当前打印位置,则从同一行中计算出来的打印位置开始打印。 2)Spc函数 格式:Spc(n) 功能:光标跳过n个空格 注意: ①参数n是一个数值表达式,其取值范围为0~32767的整数,Spc函数与输出项间要用分号分隔。 ②Tab(n)和Spc(n)间的区别:Tab(n)的作用表示使被输出的内容输出到第n列(从对象的左端开始计算)的位置处,而Spc(n)表示两个输出项间空n格。 3)空格函数 格式:Space$(n) 功能:产生n个空格的字符串。 Spc函数和Space函数间的区别: ? 二者用于Print方法时,无区别。 ? Spc( )函数不能用于字符串的运算,而Space( )函数可以用于字符串的运算 如: str$=\3、与Print方法有关的属性和方法 1)ScaleWidth和ScaleHeight属性 [对象名.]ScaleHeight[=value] [对象名.]ScaleWidth[=value] ① 对象名可以是窗体名、图片框名或打印机对象(Printer),如果省略对象名时,表示当前窗体。 ②只能在程序代码中使用,不能在设计界面时设定其值。 ③若省略\,则表示返回当前对象的宽度和高度。 2)CurrentX和CurrentY属性 将当前输出位置定位于屏幕坐标值为CurrentX和CurrentY处。屏幕坐标系的原点在屏幕的左上角,横轴水平向右,纵轴垂直向下,单位为Twip, [对象名.]CurrentX[=x] [对象名.]CurrentY[=y] - 30 -