




免费预览已结束,剩余55页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第四章顺序结构程序设计,2,程序的概念,程序-可以被计算机处理的指令序列。,程序设计-根据所提出的任务,用某种程序设计语言编制一个能正确完成该任务的计算机程序。,3,一个程序应包括两个方面的内容:,沃思(NikiklausWirth)提出一个公式:数据结构+算法=程序,数据结构算法程序设计方法语言工具,当今对以上公式的扩充:,程序的特性,4,算法的表示,可以用不同的方法表示算法,常用的有:自然语言N-S图表示法传统流程图,以上3种描述各有特色初学者最好在编程之前,先画出算法流程建议用N-S盒图(禁用goto),5,结构化程序设计方法,思想:模块化程序设计思想;原则:从上往下,逐步求精;每个模块细化到可以直接编程;要求:每个模块只有且必有一个入口和一个出口;,6,结构化程序设计方法,三种基本结构:顺序选择循环,任何程序都可以用三种基本结构表示,优点:结构清晰,易读,较高的质量和效率,7,(1)顺序结构,B,A,B,流程图,N-S图,A执行完再执行B,箭头上方表示入口箭头下方表示出口,上面框表示入口下面框表示出口,8,事件驱动:将代码划分成一些过程过程结构:过程内部代码由三种基本结构组成即:顺序结构、选择结构、循环结构顺序结构:执行过程的次序从上到下,从左到右,例:PrivateSubCommand1_Click()DimHAsSingle,RAsSingle变量的声明ConstPi=3.14H=Val(Text1.Text)R=Val(Text2.Text)Text3.Text=Pi*R2*HEndSub,9,顺序结构程序设计,主要内容赋值语句数据输入数据输出注释、暂停、程序结束语句,10,赋值语句是VB程序最常用、最基本的语句它能为变量提供数据。若要在程序代码中设置对象的属性,也要使用赋值语句。,数据输入:将要加工的数据输入到计算机中可使用赋值语句,输入函数,文本框控件,,11,赋值将给定数值赋给变量或对象(的属性),赋值语句,赋值语句格式=.=,语句中的变量名应符合VB变量命名约定,表达式可以是常量、变量、表达式,对象名缺省时为当前窗体变量未赋值时,数值型变量为0,字符串变量为空串赋值号“=”与数学中的等号意义不同,赋值号左边必须是变量或对象属性,R=3+A,Text1.Font=“黑体”,12,说明:执行过程:先求表达式的值,然后将值赋值给左边的变量不要将“”理解为数学上的等号A=A+1表示:将A单元的值加后以放回到A单元,执行过程如右图,13,3赋值符号“=”左边只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X左边是常量Abs(X)=20左边是函数调用,即是表达式,4.赋值符号“=”两边的数据类型相容,一般要求应一致,类型相容:指变量名或对象属性名能够正确存取赋值号右边的表达式的值。,5.给可变类型的变量赋值后,变量的类型为赋值号右边表达式的类型,14,课堂练习1(数据类型相容):判断A、B、C、S的值,DimAAsInteger,BAsSingle,CAsDouble,SAsString(或DimA%,B!,C#,S$)A=100将整型数100赋给整型变量AS=123.45将字符串123.45赋给变量SA=S将数字字符串变量赋值给整型变量,变量A中存放123,类型相容S=AS中存放字符串123B=12345.67A=B单精度变量赋值给整型变量,先四舍五入后取整,A中存放12346C=123456.789B=C双精度变量赋值给单精度变量。有效数字7位先四舍五入,后取整。变量B中存放123456.8S=abcA=S运行错误,类型不匹配,15,课堂练习2:执行下列各赋值语句后,A的数据类型是什么?(设A没有定义数据类型),A=6=5A=5+3A=5+3A=#03/20/2003#A=#3-20-03#A=Not58,可以用TypeName函数判断变量的数据类型。如:PrintTypeName(A),注:将课堂练习2内容,上机实现。使用立即窗口观察A的数据类型。变量A在代码中可能造成逻辑错误或运行错误。可使用本地或监视窗口观察A的数据类型。,16,数据输入:将要加工的数据输入到计算机中可使用赋值语句,输入函数,文本框控件,,数据输入,输入函数(InputBox)InputBox(,)功能显示一个(输入)对话框,等待用户输入信息或按下按钮,返回包含文本框内容的字符串提示信息出现在对话框上的信息(字符串表达式)。用Chr(13)、Chr(10)、Chr(13)输入框的样式是固定的,用户不能改变;用户只能改变“提示”和“标题”的内容,而“提示”和“标题”都是字符串表达式。,19,例:设计一个从键盘输入数据的对话框,PrivateSubForm_Activate()DimRAsString,AreaAsSingleR=InputBox(请输入半径,计算面积,1)Area=3.14*Val(R)2PrintVal(R),AreaEndSub,20,文本框(TextBox):可用于数据输入,接收用户输入的信息,用文本框输入数据时,也就是将文本框的Text属性的内容赋值给某个变量。,例:将文本框Text1中输入的字符串赋给字符串变量MystrDimMyStrAsStringMyStr=Text1.Text,例:将文本框Text1中输入的字符串作为数据赋给整型变量DimAAsIntegerA=Val(Text1.Text),21,焦点和Tab键序焦点:当前可以接收用户输入的对象称为具有焦点对象的Enable和Visible属性为True时,才能接收焦点有些控件不能获得焦点,例如标签、定时器、菜单,(对象)如何获得焦点?运行时用户选择对象(鼠标、Tab键、访问键)在代码中使用SetFocus方法(对象)失去焦点运行时用户选择其它对象(鼠标、Tab键、访问键)在代码中对另一个对象使用SetFocus方法,22,Tab键序所谓Tab键序,即光标在各个控件之间移动的顺序每个窗体都有自己的Tab键序默认的Tab键序与控件的建立顺序一致改变控件的TabIndex属性可以改变键序控件的TabStop属性(=True)决定它是否能够使用Tab键将焦点移动到当前对象,事件GotFocus发生在对象得到焦点时LostFocus发生在对象失去焦点时,23,【例4-2】设计如下图所示的界面,运行时,输入某学生三门课的成绩,计算平均成绩。按要求编程。,单击“计算”按钮求平均成绩;当输入成绩的文本框获得焦点时,选中其中的文本;当输入成绩的文本框内容发生变化时,清除平均值;单击“清除”按钮清除所有内容,将焦点定位在Text1中;单击“退出”按钮结束程序的运行。,要求,24,PrivateSubCommand1_Click()A=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)Text4.Text=(A+B+C)/3EndSub,单击“计算”按钮求平均成绩,25,PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSub,当输入成绩的文本框获得焦点时,选中其中的文本,PrivateSubText2_GotFocus()Text2.SelStart=0Text2.SelLength=Len(Text2.Text)EndSub,PrivateSubText3_GotFocus()Text3.SelStart=0Text3.SelLength=Len(Text3.Text)EndSub,选中文本,思考:文本框获得焦点是否一定要使用GotFocus事件?,26,PrivateSubText1_Change()Text4.Text=EndSub,当输入成绩的文本框内容发生变化时,清除平均值,PrivateSubText2_Change()Text4.Text=EndSubPrivateSubText3_Change()Text4.Text=EndSub,思考:文本框获得焦点是否一定要使用GotFocus事件?,27,单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text1中。PrivateSubCommand2_Click()Text1.Text=Text2.Text=Text3.Text=Text4.Text=Text1.SetFocusEndSub,单击“退出”按钮结束程序的运行。PrivateSubCommand3_Click()EndEndSub,28,PrivateSubText1_Change()Text4.Text=Text1.SelStart=0选择Text1文本的起始位置为0Text1.SelLength=Len(Text1.Text)选择文本的长度为Text1中文本的总长度EndSub,思考:文本框获得焦点是否一定要使用GotFocus事件?,答:不一定。可将、和为一,即:当输入成绩的文本框内容发生变化时(即获得焦点),选中其中的文本并清除平均值。,29,数据输出,文本框标签消息框(MsgBox)Print方法,在程序设计中对输入的数据进行加工后,往往需要将处理结果、提示信息等呈现给用户,即输出,30,文本框(TextBox)控件:文本框既可以输入数据,也可以输出数据,用文本框输出数据时,也就是将数据赋给文本框的Text属性例:用文本框Text1输出一个字符串Text1.Text=hello例:用文本框Text1输出一个数值型数据Text1.Text=Str(32)Str可以省略或用Format,例:用文本框Text1输出多个数,分多行输出。首先将文本框的MultiLine设置为True,必要时可以进一步设滚动条属性ScrollBars。X=32:Y=43Text1.Text=Str(X)设置三个文本框的Alignment属性为1-RightJustify;设置标签Label2的Caption属性为空;设置标签Label2的BorderStyle属性为1FixedSingle。,例411,36,代码如下:,PrivateSubCommand1_Click()DimAAsSingle,BAsSingle,CAsSingleDimPAsSingle,SAsSingleA=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)P=(A+B+C)/2S=Sqr(P*(P-A)*(P-B)*(P-C)用Format显示时保留两位小数Label2.Caption=Format(S,0.00)EndSub,37,消息框(MsgBox)函数,消息框常用于在屏幕上显示一个对话框,给出一些提示或警告信息,并允许用户进行选择。程序根据该选择确定进一步的操作。,38,消息框(MsgBox)函数(pp.58)格式=MsgBox(,)或:MsgBox,功能在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮,39,提示信息字符串表达式,用Chr(13)、Chr(10)、Chr(13)|,数据输出:用Print方法输出数据,对象名窗体(Form)、图片框(Picture)、立即窗口(Debug)、打印机(Printer).缺省:当前窗体显示格式多个表达式使用逗号“,”或分号“;”隔开,表示分区格式(以14个字符位置为单位),每区显示一个表达式的值;表示紧凑格式,即后一项紧跟前一项显示省略此项,则输出空行,功能:在窗体、图片框、立即窗口、或打印机上输出数据,47,例:Print23*2=;23*2在当前窗体上输出23*2=46Picture1.PrintGood在图片框Picture1上输出GoodPrinter.PrintMorning在打印机上输出MorningDebug.Print23*2=;23*2在立即窗口输出23*2=46,输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。,48,例:Print“12345678901234567890123456789”Print1;2;3Print4,5,Print6Print7,8PrintPrint9,10,输出结果为:1234567890123456789012345678912345678910,49,PrivateSubForm_Load()Form1.ShowPrint12345678901234567890?2+4=;2+4?2-4=,2-4EndSub,PrivateSubForm_Activate()Print12345678901234567890?2+4=;2+4;2+5?2-4=,2-4EndSub,课堂练习4:指出下列程序的执行结果,输入Print时可用?代替,VB将其自动转换成Print,50,与Print配合使用的函数:Tab函数格式:Tab(n)功能:与Print方法一起对输出数据进行定位参数n指明输出数据的显示位置(列数)n省略,打印位置为下一个打印区的起点n输出行宽度,打印位置为nMod行宽,Spc函数格式:Spc(n)功能:跳过n个空格,51,PrivateSubForm_Activate()Print12345678901234567890PrintHello;Tab(10);WorldPrintHello;Tab;WorldPrintHello;Tab(4);WorldPrintTab(-5);HelloEndSub,课堂练习5:指出下列程序的执行结果,52,与Print配合使用的函数:Spc函数格式:Spc(n)功能:跳过n个空格,例:PrintHOW;Spc(3);ABOUT结果:HOWABOUT,注意:Spc函数与Space函数、Tab函数的区别Space函数:可以用在字符串允许出现的任何位置。Spc函数:只能用在打印语句中。Tab函数指定绝对位置;Space函数或Spc函数指定相对位置。,53,注释语句格式:|Rem功能:给语句或程序段加上注释,以提高可读性说明:1.指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。2.如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。,注释、暂停、程序结束语句,例:ConstPI=3.1415925符号常量PIS=PI*r*r:Rem计算圆的面积,例:Rem符号常量ConstPI=3.1415925,54,暂停语句格式:Stop功能:暂停程序的执行,一般用于程序调试。类似于执行“运行”菜单中的“中断”命令结束语句格式:End功能:结束程序的执行,55,应用举例,P.70例4-6输出三个在任意指定范围的随机整数。,a)设计界面,b)运行界面,框架Frame1,Label4,例410,生成a,b范围内的随机整数Int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖啡因与氨茶碱中毒的临床护理
- 公民健康教育66条
- 湖南长沙一中2025届高三月考(八)-化学答案
- 2025年小班第一学期班务总结模版
- 伏格特-小柳-原田综合征的临床护理
- 脑蛛网膜炎的临床护理
- 游戏客服工作总结模版
- 狼性管理模式之人力资源培训讲义
- 心衰超滤护理规范与实施要点
- 妊娠合并传染病护理查房
- 新建房屋补助申请书
- 2020版成人非阿片类镇痛药围术期应用专家共识
- 中班音乐:快乐的六一课件
- 中职英语课件Unit4汇总
- 中医基础理论-暨南大学中国大学mooc课后章节答案期末考试题库2023年
- 气瓶托管协议书
- 垃圾填埋场的环保措施
- 内分泌科诊疗指南与技术操作规范
- 《科技想要什么》读书笔记PPT模板思维导图下载
- 应用PDCA管理工具提高病案归档率
- 德才表现个人自评六篇
评论
0/150
提交评论