版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三种读文件操作的区别数据项:
Input#1,变量名,变量名列表
将数据项一个个读出来文本:
LineInput#1,变量名
一次读出一行,但回车换行符需要自己加入文本:
变量名=Input(1,#1)
一个个字符读取,包括回车换行符想一想用什么格式读取文件?将文本文件aa.txt的内容显示在文本框磁盘文件zg.txt存放职工工资和职称。每条记录由工号、工资、职称组成,之间用逗号分隔。将数据文件dr.dat中数据读到下界为1的数组中将文件中大小写字母相互转换其他不变Open“.\aa.txt"ForInputAs#2DoWhileNotEOF(2)LineInput#2,sText1=Text1&s&vbCrLfLoopOpen“.\zg.txt"ForInputAs#1Input#1,no,gz,zcOpen".\dr.dat"ForInputAs#1i=0DoWhileNotEOF(1)i=i+1:Redima(i)Input#1,a(i)Loops=Input(1,#1)过程
P125过程两类事件过程内部函数过程(函数)和事件过程自定义过程√
函数过程数学函数:Int,Abs(绝对值),Sin,Rnd,…字符串函数:Len,Left,Right,Mid,…转换函数,时间函数…引用:不能单独成为一个语句必须在表达式中出现。right(“ABCDEFG”,5)St=Right(“ABCDEFG”,5)PrintTab(10);String(6,”*12”)×事件过程事件是能被对象识别的动作当VB认定某事件发生时,自动引导特定的事件过程事件过程是窗体和控件的附属物分为窗体事件过程和控件事件过程PrivateSubForm_事件名[(参数列表)][局部变量和常数声明]
语句块EndSub
注意过程名由“Form”、下划线和事件名组成 过程名前的“Private”,用于限定其使用范围是模块级的(在本窗体中有效)事件过程有无参数,由VB决定窗体事件过程的语法PrivateSubForm_Click()……EndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)……EndSub注意:无论窗体名是什么,Form是不变的PrivateSub控件名_事件名[(参数列表)][局部变量和常数声明]
语句块EndSub
控件事件过程的语法PrivateSubCommand1_Click()……EndSubPrivateSubCmdBotton_Click(IndexAsInteger)……EndSub自定义过程三种自定义过程
(1)子过程(SubProcedure)过程本身没有返回值,由参数带返回值
(2)函数过程(FunctionProcedure)Function过程返回一个值
(3)属性过程(PropertyProcedure)Property过程设置和返回对象、类等的属性值子过程函数过程引例例:求组合数C求组合数的值,可将组合数分解成求三个值的阶乘。Dimn%,m%,i%,s1#,s2#,s3#n=Val(InputBox("输入N"))m=Val(InputBox("输入M"))
s1=1Fori=1Tons1=s1*iNext
s2=1Fori=1Toms2=s2*iNext
s3=1Fori=1Ton-ms3=s3*iNext
Printn;"选";m;"有";s1/(s2*s3);"种组合!"S1=JC(n)S2=JC(m)S3=JC(n-m)定义函数过程JC:PublicFunctionJC#(k%)Dimi%
JC=1Fori=1tok
JC=JC*iNextEndFunction自定义函数过程(Function)P125功能是产生一个值,称为该函数过程的返回值。使用它可使复杂程序分解成易于管理的逻辑单元。Function自定义函数过程定义语法:Function
函数名([参数列表])[As数据类型]
……
函数名=表达式
……[ExitFunction]……EndFunction
特点:函数名有值,有类型,在过程体内
至少赋值一次。函数名=表达式注意:
1.
函数过程命名规则同变量
2.函数名有值、有类型
3.参数列表形式:[ByVal]变量名[As类型]
称为形参或哑元,仅表示参数的个数、类型,无值。
4.在Function之前可加表示过程作用域的定义符
Public(公有的):可被应用程序(工程)中的任何模块调用(默认)
Private(私有的):只可由本模块(文件)中的过程调用PublicFunction
JC(k%)
AsDouble注意:函数在定义和使用时,无论是否有参数,圆括号一定不能省。特点:不能独立存在,必须参加表达式的运算Function过程调用
函数名(实际参数列表)
参数列表:称为实参或实元。必须与形参个数相同,位置与类型一一对应。可以是同类型的常量、变量、表达式。S1=JC(n)练习已知多边形各条边及对角线的长度,要计算多边形的面积。bacdfegs1s2s3计算多边形面积,可将多边形分解成若干个三角形。
计算三角形面积的公式如下:xyz定义函数过程area:PublicFunctionarea(x!,y!,z!)AsSingleDimc!c=1/2*(x+y+z)area=Sqr(c*(c-x)*(c-y)*(c-z))EndFunction调用函数过程:SubCommand1_Click()a=InputBox(输入边长a)……S1=area(a,b,c)S2=area(c,d,e)S3=area(e,f,g)PrintS1+S2+S3EndSub函数过程的调用
PrivateSubCommand1_Click()a=InputBox(输入边长a)…………S1=area(a,b,c)…………PrintS1+S2+S3EndSubFunctionarea(x!,y!,z!)AsSingleDimc!c=1/2*(x+y+z)area=Sqr(c*(c-x)*(c-y)*(c-z))EndFunctionEndSubPrivateSubCommand1_Click()a=InputBox(输入边长a)…………area(a,b,c)…………PrintS1+S2+S3程序运行的流程:S1=根据函数名调用area用函数名带值返回一定要将结果赋值给函数名子过程的定义与调用
P129函数过程的不足:(1)不是为了获得某个函数值,而是为了某种功能的处理。(2)要获得多个结果。例:
编写一个两个数交换的过程供多次调用。形参x,y既从主程序获得初值,又将结果返回了主程序而子过程名是无值的。Swap(x,y)子过程的定义Dimt t=xx=yy=tEndSub主调程序调用Swap子过程PrivateSubForm_Click()Dima,ba=10:b=20CallSwap(a,b)Print"a=";a,",b=";b EndSubPublicSubSwap(x,y)
自定义子过程(Sub)重复使用的程序段,可以自定义一个子过程,供多次调用。自定义子过程分为公有过程(Public)和私有过程(Private)两种自定义子过程的定义格式:
Sub子过程名[(形式参数表)]
过程体
EndSub特点:子过程名无值,无类型自定义子过程的调用格式1
子过程名[实际参数列表]格式2
Call子过程名[(实际参数列表)]特点:一句独立的语句注意:格式1中的实际参数列表无需圆括号如:CallSwap(a,b)如:Swapa,b问题什么时候用函数,什么时候用子过程?哪些东西放在函数或过程中?哪些东西放在主程序中?
主要看返回值是一个还是多个,多个最好用子过程,其他两者都可以输入数据处理数据输出结果需要反复处理或相对独立的部分放到函数或过程中其余放在主程序中例:编写判断素数的函数过程Prime(n),函数的返回值类型为布尔型。PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimtagAsBoolean,i%,n%IfKeyAscii=13Thenn=Val(Text1.Text)
tag=TrueFori=2Ton-1IfnModi=0Thentag=FalseExitForEndIfNext
Iftag=TrueThenP1.Printn;”是素数”
ElseP1.Printn;”不是素数”
EndIfEndIfEndSub不用函数过程输入处理输出也可用n/2或Sqr(n)FunctionPrime(n%)AsBooleantag=TrueFori=2Ton-1IfnModi=0Thentag=FalseExitForEndIfNext
EndFunctionPrime=tagPrivateSubText1_KeyPress(KeyAsciiAsInteger)DimtagAsBoolean,i%,n%IfKeyAscii=13Thenn=Val(Text1.Text)
Iftag=TrueThen
P1.Printn;”是素数”
ElseP1.Printn;”不是素数”
EndIfEndIfEndSubPrime(n)=True使用函数过程可写可不写也可用n/2或Sqr(n)用函数名带回判断的结果例:判断素数,并求范围内的素数之和。FunctionPrime(n%)AsBooleantag=TrueFori=2Ton/2Ifnmodi=0Thentag=FalseExitForEndIfNextPrime=tagEndFunctionPrivateSubCommand1_Click()Dimi%,n1%,n2%,s%
Ifop1.ValueThenn1=100:n2=200Elsen1=200:n2=400EndIf
Fori=n1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柳州市三江侗族自治县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 延安市子长县2025-2026学年第二学期二年级语文第八单元测试卷部编版含答案
- 宜昌市西陵区2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 曲靖市宣威市2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 印刷设备机械装调工岗前教育考核试卷含答案
- 锁零件制作工岗前工作技巧考核试卷含答案
- 工具钳工岗前离岗考核试卷含答案
- 裁剪工岗前活动策划考核试卷含答案
- 2026年智慧检察听证系统的功能实现路径
- 合肥市西市区2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 湖北省高速公路智慧梁厂标准化指南(试行)2025
- 《小学入学适应教育指导要点》
- QSPI-9708-2016-光伏电站安装施工质量验收规定
- 《研学旅行课程设计》课件-1研学课程学生手册设计
- 关于高考评价体系
- 油田地面工程简介
- ISO27001最新版信息风险评估表
- 商铺出租可行性方案
- 2023年非车险核保考试真题模拟汇编(共396题)
- 高三通用技术专题复习草图设计-转动类连接件
- 2022-2023年明纬开关电源手册
评论
0/150
提交评论