算法顺序结构及基本输入输出_第1页
算法顺序结构及基本输入输出_第2页
算法顺序结构及基本输入输出_第3页
算法顺序结构及基本输入输出_第4页
算法顺序结构及基本输入输出_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、算法、顺序结构及基本输入输出算法、顺序结构及基本输入输出桂林理工大学李晨晖2目录目录算法算法的概念算法举例算法的特性算法的表示方法三种基本结构及结构化程序设计方法顺序结构赋值语句数据输出数据输入语句的注释其他语句介绍3算法算法算法的概念数据结构十算法=程序数据结构:数据的类型和组织形式(操作对象)。算法:操作步骤。如做菜的菜谱、太极拳的拳谱、奏乐的乐谱。计算机算法可分为两大类:数值运算算法:求解数值,如求方程的根、定积分等-可做成函数(库)以供调用。非数值运算算法:事务管理领域,如图书检索、人事管理中,可运用排序算法等。4算法举例例1:求12345。步骤1:先求12,得到结果2。步骤2:将步骤

2、1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。如果计算100!怎么办?5改进的算法:S1: 使product = 1S2: 使i = 2S3: 使producti, 乘积仍然放在在变量product中,可表示为productiproductS4: 使i的值+1,即i+1iS5: 如果i5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。计算100!?只需将S5:若i5改成i100即可。若求1357911 ,怎么改?6例2:有50个学生,要求将他们之中成绩在80分以上者打印出来。如果,n表示学生学号,ni表示第i个学生学号;g表示学

3、生成绩,gi表示第i个学生成绩则算法可表示如下:S1: 1iS2: 如果gi80,则打印ni和gi,否则不打印S3: i+1iS4: 若i50, 返回S2,否则,结束。7例3:判定2000 2500年中的每一年是否闰年,将结果输出。闰年的条件:1)能被4整除,但不能被100整除的年份;2)能被100整除,又能被400整除的年份;则有算法如下:S1: 2000yS2:若y不能被4整除,则输出y“不是闰年”,然后转到S6S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6S4:若y能被100整除,又能被400整除,输出y“是闰年” 否则输出y“不是闰年”,然后转到S6S5:输出

4、y“不是闰年”。S6:y+1yS7:当y2500时, 返回S2继续执行,否则,结束。8闰年的条件表达式:(year Mod 400 = 0) Or (year Mod 4 = 0 And year Mod 100 0) 4.其他:为能被其他:为能被4、100整除,但不能被整除,但不能被400整整除的,如除的,如2100年年9例4:求算法可表示如下:S1: sum=1S2: sigh=-1S3: deno=2S4: term= sigh(1/deno )S5: sum=sum+termS6: sigh=(-1)sigh S7: deno= deno +1S8:若deno100,返回S4;否则,结

5、束1001991413121110例5:对一个大于或等于3的正整数,判断它是不是一个素数。算法可表示如下:S1: 输入n的值S2: i=2S3: n除以i,得余数rS4:如果r = 0,表示n能被i整除,则打印n“不是素数”,算法结束;否则执行S5S5: i+1i S6:如果in-1,返回S3;否则打印n“是素数”;然后算法结束。改进:S6:如果i ,返回S3;否则打印n“是素数”;然后算法结束n11算法的特性有穷性:一个算法应包含有限的操作步骤而不能是无限的。 确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。如n除以一个整数(?)得余数r有零个或多个输入。有一个或多个输

6、出。有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。如a/b,b为0是无效。12算法的表示方法1. 自然语言、伪代码 2. 流程图 3. N-S流程图 流程图介绍:输入或输出条件判断处理过程流程线连接点开始或结束131415三种基本结构及结构化程序设计方法 三种基本结构:理论和实践证明,无论多复杂的算法均可通过以下3种基本控制结构构造出来:1. 顺序结构2. 选择结构(分支结构)3. 循环结构语句1语句2顺序结构顺序结构条件语句1语句2YN选择结构选择结构16条件语句组b) 直到循环直到循环YN条件a) 当型循环当型循环YN语句组循环结构循环结构17结构化程序设计方法结构化程序:用

7、3种基本结构组成的程序。结构化程序 设计的方法:自顶向下;逐步细化;模块化设计;结构化编码即先拟提纲、整体规划,再各部分进行细节设计。18顺序结构顺序结构赋值语句:改变变量存储的值形式:let 变量名表达式变量名表达式let 对象对象.属性表达式属性表达式功能: 将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值。 例: sRate!=0.1 Text1.Text 欢迎使用Visual Basic 6.0”说明:1. 执行过程:先求等号右边表达式的值,然后将值赋值给左边的变量。如A=A+1,若A初值为10,先计算右边的表达式,右边表达式计算为11,然后将11又赋给变

8、量A。192. 右边表达式可以是变量、常量、函数调用等特殊的表达式。3. 左边只能是一个变量,不能有多个变量,也不能是常量或表达式等。错误的值赋语句 x+y=6 6=x+y Abs(X)=20 4. 注意区分“赋值号 ”与“关系运算符 ”:例如:a 5: b 6: c a b5. 右边表达式一般应与左边变量名的类型一致,若不同时,系统会以左边变量类型为准自动转化,或出错。=a=? b=? c=? 20 例: Dim iA as Integer, strb As String iA=123 strb= iA 为“123” 若 strb=“abc” iA=strb 出错 6. 应用举例:交换a、b

9、两个变量中的值:21即c = a: a = b: b = c方法2:c=a+b: a=c-a: b=c-aabcc = aa = bb = cabcabcabc22数据输出1. Print方法2. MsgBox函数/语句3. 标签、文本框格式:Text1.Text=表达式Label1.Caption=表达式23Print方法: 在对象上输出信息形式: 对象.Print Spc(n)|Tab(n)表达式列表;|,对象:窗体、图形框或打印机、立即窗口(Debug),省略对象在窗体上输出。Spc(n)函数:插入n个空格,允许重复使用。Tab(n)函数:插入点定位在绝对列号n上;(分号):光标定位上一

10、个显示的字符后。,(逗号):光标定位在下一个打印区的开始位置处每个打印区占14列。无;,换行。开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角0,0。24例 在窗体Form1的单击事件中写入如下代码:Private Sub Form_Click()Print abcd; efgh; 1000; ijkPrinta = 10: b = AAA: c = 3.14Print 123456789012345678901234567890Print a=; b=; c=; a; b; c; endPrint a=, b=, c=, b, a, c, endPr

11、int a=; a, b=; b, c=; c; goon,Print a=; 10, b=; AAA, c=; 3.14; goon;Print endPrintPrint 123456789012345678901234567890Print ; b=; b, b=; bPrint , b=; b, b=; bPrint b=; b, Tab(18); b=; bPrint b=; b, Tab(5); b=; bPrint b=; b, Spc(5); b=; bPrint b=; b; Spc(5); b=; bPrintPrint 12345678901234567890123456

12、78901234567890Print Tab(1); a=; a, b=; bPrint Spc(1); a=; a, b=; bEnd Sub25例 单击窗体时,用Print方法输出如图所示的图形 Private Sub Form_Click()Print Tab(16); String(1, ) Print Tab(15); String(2, ) Print Tab(14); String(3, ) Print Tab(13); String(4, ) Print Tab(12); String(5, ) End Sub试一试,将试一试,将Print改为改为Debug.Print会怎样

13、?会怎样?26MsgBox函数/语句函数形式: 变量% = MsgBox(信息内容, type, 标题)语句形式: MsgBox 信息内容,type,标题若程序中需要返回值,则使用函数,否则可若程序中需要返回值,则使用函数,否则可使用语句形式使用语句形式图标(type)标题信息内容命 令 按 钮(type)27type: 定制消息框的按钮、图标、默认按钮、模式(共四组,每组定义有多个整型常量,type的值可从每组中取0或1个数值进行相加而成)“重试”和“取消”按钮vbRetryCancel5“是”和“否”按钮vbYesNo4“是”、“否”和“取消”按钮vbYesNoCancel3“终止”、“重

14、试”和“忽略”按钮vbAbortRetryIgnore2“确定”和“取消”按钮vbOkCancel1“确定” 按钮vbOkOnly0出现按钮系统常量值按钮常数按钮常数“消息” 图标vbInformation64“感叹号” 图标vbExclamation48“问号” 图标vbQuestion32“停止” 图标vbCritical16出现按钮系统常量值图标常数图标常数默认按钮默认按钮第三个按钮VbDefaultButton3512第二个按钮VbDefaultButton2256第一个按钮vbDefaultButton10默认按钮系统常量值28返回值:也为一整型常数例如:产生如图所示的消息框法1:M

15、sgBox “注意:你输入的数据不正确”, 2+48+0, “错误提示”法2: i% = MsgBox(XXX, vbAbortRetryIgnore or vbExclamation or vbDefaultButton1, XXX),若回车,则i = 3 或 vbAborte值系统常量出现按钮1vbOk“确定”按钮2vbCancel“取消”按钮3vbAborte“终止”按钮4vbRetry“重试”按钮5vbIgnore“忽略”按钮6vbYes“是”按钮7vbNo“否”按钮29数据输入1. 直接赋值:a = 152. 随机产生:a = Rnd3. 文本框文本框接收的数据是字符型数据。Dim

16、a As Integera=Val(Text1.Text) 4. 输入框InputBox函数缺省值缺省值标题标题提示提示30输入框InputBox函数格式:变量名=InputBox(提示,标题,缺省值,x坐标,y坐标) 返回值返回值: 按确定按钮返回用户在对话框中输入的内容(字符型),按取消按钮返回空字符串每执行一次每执行一次InputBox,只能获取一个字符串,只能获取一个字符串例如:Dim strName As String * 40, strS1 As String * 40strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定”strName=

17、InputBox( strS1, “输入框”, , 100, 100 ) 当输入“王晓明” 后,变量strName获得键盘输入的值31数据输入输入综合例子:Private Sub Form_Load()Dim x$x = InputBox(输入您的姓名, 您叫什么名?)MsgBox x & 先生:祝您马到功成! End Sub例32语句的注释格式:Rem 或 说明:1. 是给“人”看的。注释的文本不参与编译。2. Rem注释必须放在一行的顶头处,且注释必须放在一行的顶头处,且Rem关关键字后有空格键字后有空格。如果在语句行后面使用Rem关键字,必需用冒号(:)隔开。3. 英文单引号“”

18、,可直接加在语句行后面。例如:Const PI=3.1415925 符号常量PIS=PI*r*r : Rem计算圆的面积33其他语句介绍Load语句:加载对象格式:Load 对象名功能:把对象名代表的窗体对象、控件数组元素等加载到内存中。说明:使用Load语句可以加载窗体,但不显示窗体。当VB加载窗体对象时,先把窗体属性设置为初始值,再执行Load事件过程(一般进行属性、变量的初始化操作)。例如:Load Forml加载窗体FormlLoad Option(2) 加载控件数组中的一个元素34UnLoad语句:卸载对象格式:Unload 对象名功能:从内存中卸载指定窗体或控件。例如:Private Sub Command1_Click()Unload Me End Sub说明:Me是系统关键字,用来代表当前窗体,若卸载的对象是程序惟一的窗体,则将终止程序的执行35End:结束语句 格式:End功能:结束程序的运行。也可以单击工具栏上的“结束”按钮暂停语句Stop格式:Stop功能:暂停程序的运行。可用于调试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论