《精编》算法基础及VB的基本语句教学资料

上传人:tang****xu2 文档编号:133255517 上传时间:2020-05-25 格式:PPT 页数:96 大小:489.50KB
返回 下载 相关 举报
《精编》算法基础及VB的基本语句教学资料_第1页
第1页 / 共96页
《精编》算法基础及VB的基本语句教学资料_第2页
第2页 / 共96页
《精编》算法基础及VB的基本语句教学资料_第3页
第3页 / 共96页
《精编》算法基础及VB的基本语句教学资料_第4页
第4页 / 共96页
《精编》算法基础及VB的基本语句教学资料_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《《精编》算法基础及VB的基本语句教学资料》由会员分享,可在线阅读,更多相关《《精编》算法基础及VB的基本语句教学资料(96页珍藏版)》请在金锄头文库上搜索。

1、第四章算法基础及VB的基本语句 1 了解结构化程序设计的基本概念2 掌握VB程序设计中的常用语句3 掌握顺序 选择 和循环结构及相应的语句 教学要求 教学内容 4 1算法及程序设计基础4 2赋值语句及InputBox MsgBox函数4 3分支结构与分支结构语句4 4循环结构与循环结构语句4 5程序示例 4 1算法及程序设计基础 一个程序 过程 应包括 NikiklausWirth认为 有人认为 对数据的描述 指定所用数据的类型 作用域和数据的组织形式 即数据结构 datastructure 对操作的描述 即操作步骤 也就是算法 algorithm 数据结构 算法 程序 程序 算法 数据结构

2、程序设计方法 语言工具和环境 1 算法的概念 算法即解决某个问题或处理某件事的方法和步骤 采用什么结构 使用什么语句以及如何安排这些语句 算法分类 数值计算算法非数值计算算法算法优劣 正确性 效率 占用系统资源 便于理解 易于调试等 18 10 MNR 8 10 8 2 8 2 0 2 0 R 8 R 2 R 0 M 2即最大公约数 求最大公约数 题目 求两个自然数的最大公约数 分析 求最大公约数的常用方法是辗转相除法 欧几里德算法 2 算法示例 算法描述 S1输入两个自然数 M N S2求M除以N的余数R S3使M N 即用N代换M S4使N R 即用R代换N S5若R 0 则重复执行S2

3、S3 S4 否则转至S6S6输出M M即为M N的最大公约数 3 算法的特征 确定性可行性有穷性输入性输出性 4 算法的描述 程序流程图 求最大公约数 程序编码 实现算法 算法仅提供解题思路 计算机不可直接执行 用某一程序设计语言所提供的语言成分 根据该语言的特点 并利用该语言的各种工具和手段 遵照规定的语法规则去实现算法 得到原程序代码 计算机可识别并执行 5 基本算法结构 1 顺序结构 语句1 语句2 语句块 结构化程序设计 2 选择结构 结构化程序设计 3 循环结构 结构化程序设计 三种基本结构的共同特点 只有单一入口和单一出口 结构中的每一部分都有被执行的可能 结构内不应出现永不终止的

4、死循环 4 2赋值语句及InputBox MsgBox函数 4 2 1赋值语句4 2 2InputBox函数4 2 3MsgBox函数 4 2 1赋值语句 格式 功能 先计算表达式的值 再将该值赋予左端的变量 说明 赋值号左端不仅可以是变量名 还可以是对象的属性 表达式的类型和变量的类型要一致 赋值语句是按语句出现的先后顺序执行的 顺序结构 举例 str1 Nicetomeetyou number 72Lable1 Caption Filenameis Text FontSize 12 改变字号 使用下面的方法可以获取一个对象的属性值 var object Property例如 Label1

5、Caption Text1 Text式中 var是变量名 object是对象名 property是该对象的某个属性名 特别注意 属性也存在数据类型 所以在获取对象的属性值时 最好使用具有相同数据类型的变量 说明 注意 赋值号 与比较运算符 不同赋值是独立的一条语句 由运算符 连结两个操作数的关系表达式是语句的一部分 不可单独存在比较运算符不会改变操作数的值 赋值语句会 改变赋值号左边的量 所以必须是可以被赋值的变量或属性 DimxAsInteger yAsInteger zAsBooleanx 3 y 4 y xz x yPrintx y z PrivateSubForm Click Dima

6、AsInteger bAsIntegera 10b 3 aPrinta bEndSub PrivateSubForm Click DimaAsInteger bAsIntegerb 3 aa 10Printa bEndSub 例 单击窗体 下列两段程序的执行结果分别是 和 提示 利用赋值语句给变量赋值后 在未有新的赋值语句再次给它赋值前 变量值保持不变 例 交换两个变量的值 PrivateSubForm Click DimaAsInteger bAsIntegera 10 b 2Printa b 填入程序代码 Printa bEndSub 正确答案 DimTempAsIntegerTemp a

7、 a b b Temp 题目说明 单击窗体程序执行结果为 102210 注意 变量a和b为两个不定值的变量 因此不能直接用a 2 b 10语句来解决这个问题 一旦利用赋值语句给变量赋新值 会覆盖原值 所以不能直接用a b b a语句来解决这个问题 例 求一元一次方程 x 5 0的解 PrivateSubForm Click DimxAsInteger3 x 5 0Print x xEndSub PrivateSubForm Click DimxAsIntegerx 0 3 Print x xEndSub 语句 是该例题的算法 错误程序 正确程序 总结 利用程序设计语言处理问题 我们首先要知道的

8、是怎么解决问题 其次要知道怎么将解决问题的方法用程序设计语言来表达 4 2 2InputBox函数 格式 InputBox 功能 弹出对话框 用户输入数据后回车或单击 确定 按钮后 将输入内容赋值给相应的变量 按 ESC 键或单击 取消 按钮 返回空串 说明 1 prompt 必选项 对话框中的提示信息 2 title 可选 对话框的标题 省略则为应用程序名 3 default 可选 显示在用户编辑框中的缺省值 省略为空 4 x y 可选 指定对话框的显示位置 省略则居中 例 i InputBox 输入数组元素 Chr 10 第一个元素为 程序示例 100 缺省值 标题 提示字符串 例 用In

9、putBox函数输入出生日期 计算年龄 OptionExplicitPrivateSubForm Click DimBirthDayAsDate AgeAsIntegerBirthDay InputBox 输入出生日期 计算年龄 Age Year Date Year BirthDay Print 你今年 Age 岁 EndSub 如果赋值号左端的变量为数值型或日期型等非字符型变量 输入字符数据 单击 取消 按钮 不输入直接按回车键 则系统都会提示出错 DimxAsIntegerx InputBox 输入数组元素 Chr 10 第一个元素为 示例 10 100 100 注意 4 2 3MsgBo

10、x函数 格式 MsgBox Prompt Button Title HelpFile Context 功能 向用户发布提示信息 并要求用户作出必要的响应 说明 1 Prompt 必选项 字符串表达式 对话框中的提示信息 2 Button 指定显示按钮的数目及形式 使用的图标样式 这是一个由4个数值常量组成的式子 形式为c1 c2 c3 c4 用于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型 各个参量的可选值及其功能 详见P 62表4 2 3 Title 对话框标题栏的显示信息 MsgBox 需要重新来一次 2 32 256 4096 询问 MsgBox 数据非法 请重输 1 16

11、0 4096 警告 举例 方法一 发布提示信息 无须用户响应 在程序中作为独立语句存在 不加括号 例 MsgBox 非法数据 警告 如果省略其中参数 逗号不能省略 MsgBox函数的用法 方法二 需要用户响应 和普通函数调用方法相同 例 Response MsgBox 真的删除该项吗 4 48 提示信息 IfResponse vbYesThenElseEndIf 4 3分支结构与分支结构语句 4 3 1If Then Else EndIf语句4 3 2Select Case EndSelect语句 1 If Then Else语句 格式1 IfThen Else EndIf 4 3 1If T

12、hen Else EndIf语句 逻辑变量 关系表达式 逻辑表达式 逻辑框图 功能 如果条件成立 则执行A组语句 否则执行B组语句 说明 If和EndIf语句成对出现 缺一不可 Else和B组语句部分可以省略 当条件不成立时 直接执行EndIf的后继语句 PrivateSubcmdCalculate Click DimxasSinglex Val text1 text Ifx 0ThenText2 text Str Sqr x ElseText2 text 数据小于0 错误 EndIfEndSub PrivateSubcmdExit Click EndEndSub PrivateSubcmdC

13、lear Click Text1 Text Text2 Text Text1 SetFocusEndSub 例 从键盘输入一个数 求它的平方根 缩格输入 例 计算分段函数y的值 PrivateSubcmdCalculate Click DimxAsSingle yAsSinglex Val Text1 Text Ifx 0Theny 2 Sqr x 7 6Elsey 5 x Exp x 2EndIfText2 Text Str y EndSub cmdCalculate 格式2 单行If Then Else语句IfThen Else 说明 1 在A组语句和B组语句都只有一个语句时 可使用该格式

14、 2 EndIf语句省略 例 上例可改写为以下程序段 PrivateSubcmdCalculate Click DimyAsSingle xAsSinglex Val Text1 Text Ifx 0Theny 2 Sqr x 7 6Elsey 5 x Exp x 2Text2 Text Str y EndSub 格式3 IfThenEndIf 格式4 IfThen 逻辑框图 2 嵌套的If结构在If语句的 语句块 中包含另一个If语句 叫做嵌套的If结构 IfThen 外层 IfThen 内层 ElseIfthen Else 最内层EndIfElse IfThen EndIfEndIf 用于

15、解决有多种情况的问题 例 输入三角形的三边a b c 求三角形的面积 P64例4 1 a 0andb 0andc 0 a b candb c aanda c b PrivateSubcmdCalculate Click DimaAsSingle bAsSingle cAsSingle pAsSingle sAsSinglea Val Text1 Text b Val Text2 Text c Val Text3 Text If 1 ThenIfa b cAndb c aAndc a bThenp a b c 2s Sqr p p a p b p c Text4 Text Str s ElseT

16、ext4 Text 不能构成三角形 EndIfElseText4 Text 边长不能小于0 EndIfEndSub 计算公式 其中 a 0Andb 0Andc 0 例 计算分段函数y的值 PrivateSubcmdCalculate Click DimxAsSingle yAsSinglex Val Text1 Text Ifx 0Theny 1 x 5 ElseIfx 5Theny 3 x 2 4 x 5Elsey Log x EndIfEndIfText2 Text Str y EndSub 例 输入分数并判断等级分 计算规则如下 分数100 9089 8079 7069 60 60等级分ABCDE PrivateSubText1 KeyPress KeyAsciiAsInteger DimScoreAsInteger DegreeAsStringIfKeyAscii 13ThenScore Val Text1 Text IfScore 90AndScore 80ThenDegree B ElseIfScore 70ThenDegree C ElseIfScore 60ThenDe

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号