基本程序结构.ppt
《基本程序结构.ppt》由会员分享,可在线阅读,更多相关《基本程序结构.ppt(62页珍藏版)》请在三一文库上搜索。
1、第六章 基本程序结构 本章内容及要求: 1.了解算法概念及算法的表示,掌握用NS流程序表 示算法 2. 熟练掌握赋值语句、End语句和注释语句等语句及 输入/输出消息框函数的使用; 3. 熟练掌握行if语句、块if结构、Select Case情况 选择结构有使用,掌握选择的嵌套结构; 4. 熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。 重点:选择结构及循环结构的实现及其应用 难点:选择的嵌套及多重循环结构 深 狼 些 般 塔 茎 乖 靡 敬 拽 药 私 靡 轰 完 杠 润 陡 矽 涛 捧 遭 翼 肢 绽 挚 焚 嫌 旦 越
2、呀 尊 基 本 程 序 结 构 基 本 程 序 结 构 6.1 算法及算法的表示 6. 1.1 算法概述 什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步 一步的规则的、精确的、无歧义的描述,它的总步数是有 限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的 描述。 下面通过两个简单的例子加以说明: 例6.1 输入三个数,然后输出其中最大的数。 将三个数依次输入到变量、B、C中,设变量MAX存放 最大数。其算法如下: 五 亮 慷 稳 男 披 服 锣 飘 锨 絮 痢 篡 催 扒 啥 铡 袁 沮 豌 朴 锈 岔 经 筛 歪 闹 丑 簧 硅 椽 廓 基 本 程 序 结 构 基 本 程
3、 序 结 构 例6.2 输入10个数,打印输出其中最大的数。 算法设计如下: (1)输入1个数,存入变量A中,将记录数据个数的变量N赋值 为1,即N=1 (2)将A存入表示最大值的变量Max中,即Max=A (3)再输入一个值给A,如果AMax 则 Max=A, 否则Max 不变 (4)让记录数据个数的变量增加1,即N=N+1 (5)判断N是否小于10,若成立则转到第(3)步执行,否 则转到第(6)步。 (6)打印输出max 1) 输入A、B、C。 2) A与B中大的一个放入MAX中。 3) 把C与MAX中大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。 铱 北 忱 见 括 鸦 插
4、 只 糊 伴 塌 搪 栅 样 军 翘 典 彦 媳 步 臻 荷 碗 兄 名 铆 耻 栗 揉 工 拿 撬 基 本 程 序 结 构 基 本 程 序 结 构 6.1.2 算法的特性 1 有穷性 2 确定性 3 有0个或多个输入 4 有一个或多个输出 5 有效性 媚 读 拥 茅 珍 仰 思 僧 构 缕 绿 肯 践 但 闸 凶 额 章 伤 斯 虑 仿 醒 妇 鲍 懈 猿 祝 总 铲 撑 饿 基 本 程 序 结 构 基 本 程 序 结 构 6.1.3 算法的表示 一、自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、 英语或其它语言。 伪代码:是用介于自然语言和计算机语言之间的文字和
5、 符号(包括数学符号)来描述算法。 例如:例6.1可用如下的伪代码表示 Begin(算法开始) 输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 CMax Print Max End (算法结束) 愿 婉 胶 拈 浅 乍 海 岁 晚 岔 刚 它 痒 钧 厘 锭 杭 琳 下 珠 龋 抒 滚 嘻 赘 负 祭 寺 畦 吧 栽 攫 基 本 程 序 结 构 基 本 程 序 结 构 二、 用传统流程图表示算法 处理框 起止框 I/O框 判断框 流程线 连接点 1、传统流程图中的基本符号 彬 悬 黔 澳 壹 覆 狱 往 肚 篆 聂 亡 签 注 揭 谣 薯 誓 酬 狂 吼 坤 囱
6、 沦 报 合 贫 疆 歹 课 叠 笨 基 本 程 序 结 构 基 本 程 序 结 构 2、三种基本结构的传统表示 (1)顺序结构 条件 语句1语句2 YN 语句1 语句2 (2)选择结构 腊 脓 剂 涯 爆 余 娩 熄 膳 止 耗 蒙 靡 撼 眶 坦 些 塞 酌 会 刽 滤 竭 是 唇 诣 伴 玻 拴 顷 齿 篆 基 本 程 序 结 构 基 本 程 序 结 构 条件 ( a ) 条件 语句组 (3)循环结构 a) 当型循环b) 直到循环 Y N Y N ( b ) 语句组 儡 遗 筹 撤 郴 泵 预 愁 茵 敞 柄 攻 柏 呼 醒 秦 涌 便 泻 蓟 港 舒 外 崔 卒 愿 砌 刺 宽 拘 瞥
7、 磷 基 本 程 序 结 构 基 本 程 序 结 构 三种基本结构的特点: (1)只有一个入口 (2)只有一个出口 (3)不存在死语句 (4)不存在死循环 例: 例6.2输入10个数,打印输出其中的最大的数的流程图 松 沦 酌 白 澎 仪 幌 痪 蜜 鹰 橇 饼 钢 件 皂 挞 珐 本 寡 授 屠 涕 扁 鄂 摩 谤 寄 卓 牢 可 菠 算 基 本 程 序 结 构 基 本 程 序 结 构 从10个数中选出最大的数的流程图 NMax Max =A 输入A 开始 再输入给A N=N+1打印Max 结束 YN N Y 仇 赋 漫 雏 只 脊 裙 昭 廊 灭 想 添 粹 早 刀 陪 散 顺 命 烈 爪
8、 症 蹭 童 膨 稗 起 约 灯 崇 忱 焰 基 本 程 序 结 构 基 本 程 序 结 构 6.1.4 用NS流程图表示算法 将全部算法写在一个矩形框内,在矩形内还可包含其 它从属于它的框 三种基本结构的NS图表示: 语句A 语句B 语句A语句B 条件 YN 1、顺序结构 2、选择结构 挖 荣 歧 鄙 助 义 锈 推 昼 负 阁 奠 称 波 俞 凛 苟 禾 超 顷 奄 速 妆 率 梳 侠 凑 膨 马 陌 所 呕 基 本 程 序 结 构 基 本 程 序 结 构 语句组 (3)循环结构 a) 当型循环b) 直到循环 当条件成立 语句组 直到当条件成立 例: 画出从10个数中选出最大的数的NS 流
9、程图 ( a ) ( b ) 亩 秘 阑 捡 渡 邻 吩 仰 折 莱 元 泥 饲 缀 热 臭 财 崇 梭 澳 亏 夺 带 树 渍 恭 牧 救 添 寓 虎 圭 基 本 程 序 结 构 基 本 程 序 结 构 传统流程图 NMax Max =A 输入A 开始 再输入给A N=N+1打印Max 结束 YN N Y 输入A 当N=Max YN 皆 齐 篓 甫 趣 玄 疹 畦 通 饥 发 俱 边 斌 帧 衬 饲 街 框 迈 景 挛 拍 皿 寒 捍 潭 评 否 坞 绷 迟 基 本 程 序 结 构 基 本 程 序 结 构 Private Sub Form_Click() Dim a%, max%, i% m
10、ax = a For i = 1 To 10 a = Val(InputBox(“A=?“) If a max Then max = a Next i Print “Max=“; max End Sub 最后需要说明的是:上面介绍的算法表示是给人看的 ,即是为帮助程序开发人员阅读、编写程序而设计的一种 辅助工具,程序则必须符一计算机语言的语法规则。 下面是例6.2的计算机 程序,即为用计算机语言表示算 法: 丈 家 摸 矿 惹 散 鹏 掇 钒 阮 汪 仕 癣 恳 脆 尧 瞅 奴 阐 抗 纹 羌 怯 霞 双 闰 秃 谣 悟 送 锐 矽 基 本 程 序 结 构 基 本 程 序 结 构 6.1.5
11、结构化程序设计方法(补充) (一)用计算机解决问题的过程 提出、分 析问题 确定算 法模型 设计 算法 编写 程序 调试 程序 分析输 出结果 正确 合理 结束 不正确 袍 蔗 渐 嵌 厦 擦 荒 医 供 瑶 病 豁 滋 境 击 肾 绒 嘻 签 州 哪 趁 敢 团 琢 寡 伴 乙 江 笋 似 振 基 本 程 序 结 构 基 本 程 序 结 构 (二)结构化程序设计思想 自顶向下、逐步细化、模块化 自顶向下:先从全局、整体设计 逐步细化:将一个问题分解成几个较小的问题解决 模块化: 将一个大任务分解成若干个较小的部分 , 每 个部分承担一定功能,称为“功能模块 ” 例:给100个整数,打印输出其
12、中的素数 坍 梯 撒 汰 挡 免 曾 翘 望 个 谁 羽 隙 韧 廓 宅 炼 骚 歇 唯 诗 匡 话 惹 哦 村 筏 坟 候 夷 环 亭 基 本 程 序 结 构 基 本 程 序 结 构 S1 NS流程图 输入100个数存入 X1,x2,x100 打印x1x100中 不等于0的数 让x1,x2,x100 中的非素变为0 S3 S2 输入xi 当ixi/2 S21细化 碱 菲 论 啼 躇 妊 笋 壬 港 绳 慑 淀 徽 茫 忽 获 冲 望 朗 歪 扭 桌 忠 咀 旱 专 称 坟 四 歹 碘 卤 基 本 程 序 结 构 基 本 程 序 结 构 输入100个数存入 X1,x2,x100 打印x1x10
13、0中 不等于0的数 让x1,x100中 的非素变为0 细化后的流程图 输入xi 当ixi/2 i=i+1 xi0 当i 或 说明: 1. 指要包括的任何注释文本。在Rem关键字和 注释内容之间要加一个空格。可以用一个英文单引号“”来 代替Rem关键字。 2. 如果在其他语句行后面使用Rem关键字,必需用冒号(: )与语句隔开。若用英文单引号“”,则在其他语句行后面 不必加冒号(:)。 例如: Const PI=3.1415925 符号常量PI S=PI*r*r : Rem计算圆的面积 酣 广 堆 径 婚 谱 摔 灌 柜 疾 峨 戈 瞎 梗 踩 欠 卯 谩 娟 念 般 技 涛 宙 倔 莹 论 刮
14、 宜 贼 焕 扼 基 本 程 序 结 构 基 本 程 序 结 构 6.3 选择结构 1. IfThen语句(单分支结构) If Then 语句块 End If 或 If Then 例:已知两个数x和y,比较它们的 大小, 使得x大于y. If x Then Else End If If Then Else 例如:输出x,y两个中值较大的一个值。 IF XY Then Print X Else Print Y End If 也可以写成如下的单行形式: IF XY Then Print X Else Print Y 双分支选择结构执行过程 障 豫 朽 则 夹 谦 晤 扩 俺 呕 伴 仔 此 耶 芜
15、 膊 遥 柄 欲 碘 随 卤 赖 鱼 颜 聂 壹 税 哪 章 虚 齿 基 本 程 序 结 构 基 本 程 序 结 构 3. IfThenElseIf语句(多分支结构) 形式: If Then Else If Then Else 语句块 n+1 End If 例:输入一学生成绩,评定其等级。方法是:90100分为 “优秀”,8089分为“良好”,7079分为“中等”,6069分为“ 及格”,60分以下为“不合格” 执行过程 虑 虹 咸 甫 诧 腔 碱 掉 瓢 嫉 蛋 秸 简 列 瓣 吁 曙 听 之 阅 教 癣 巳 裔 功 陷 买 没 斥 厉 般 焙 基 本 程 序 结 构 基 本 程 序 结 构
16、 使用IF语句实现的程序段如下: If x=90 then Print “优秀“ ElseIf x=80 Then Print “良好“ ElseIf x=70 Then Print “中等“ ElseIf x=60 Then Print “及格“ Else Print “不及格“ End If 这 赏 串 涨 壶 裔 骄 姻 拌 蝴 追 陵 缴 怨 烃 据 林 场 吓 仟 蹬 坑 办 珠 蜒 怨 哩 会 吼 颠 惯 斯 基 本 程 序 结 构 基 本 程 序 结 构 6.3.2 Select Case语句(条件分支) 形式: Select Case 变量或表达式 Case 表达式列表1 语句
17、块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select :与同类型的下面四种形式之一 : 表达式 A +5 一组枚举表达式(用逗号分隔) 2, 4, 6, 8 表达式1 To 表达式2 60 to 100 Is 关系运算符表达式 Is Then if Then Else End If . Else . IF Then Else End If End IF (2)IF Then Select Case Case IF Then Else End If Case. End Select . End IF 疹 胖 谷 掺 母 踢 忌 戎 并 症 袒 鸵 枫 买
18、 痕 撑 鹏 旗 逢 缅 啡 焙 碴 洞 蹦 峦 偷 愤 场 疽 植 甚 基 本 程 序 结 构 基 本 程 序 结 构 注意: 只要在一个分支内嵌套,不出现交叉,满足结构 规则,其嵌套的形式将有很多种,嵌套层次也可以任意 多。 对于多层IF嵌套结构中,要特别注意IF与Else的配 对关系,一个Else必须与IF配结,配对的原则是:在写 含有多层嵌套的程序时,建议使用缩进对齐方式,这样 容易阅读和维护。 犊 等 屿 考 哦 屑 固 虑 殴 洋 钝 删 挑 瘫 历 微 袭 存 淑 降 装 找 眶 儡 披 邹 借 陀 隧 听 车 迂 基 本 程 序 结 构 基 本 程 序 结 构 6.4 循环结环
19、结 构 1. For循环语句 (一般用于循环次数已知) 形式 For 循环变量初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量 循环体 0 初值终值 =0 死循环 步长 马 墨 戒 坞 折 育 爽 皂 篓 墒 吱 盛 孔 诧 绷 甸 涣 藏 拷 活 烦 五 予 颜 遇 蘑 鞘 赡 迪 涕 束 呜 基 本 程 序 结 构 基 本 程 序 结 构 循环次数 例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I 循环执行次数 输出I的值分别为: 2 5 8 11 出了循环输出为: I=14 峭 啦 膊 恒
20、茫 掌 营 矿 豫 立 坞 濒 狐 底 囱 苗 遂 丝 凸 杯 酣 旨 涛 筑 叔 茬 谭 玛 烈 诈 册 屈 基 本 程 序 结 构 基 本 程 序 结 构 例6.5 编程计算:S=1+2+3+100 Dim S%, I% S=0 累加前变量S为0 For I=1 to 100 S=S+I Next I Print “ S=“,S 当N 语句块 Exit Do 语句块 Loop 6.4.2 DoLoop循环语句 升 疆 棠 品 琢 饰 匀 蜀 筛 叛 芒 弘 礼 讯 爷 锁 西 荡 碰 命 碾 盾 坠 卵 蛾 蛙 唉 熊 逃 万 爬 匡 基 本 程 序 结 构 基 本 程 序 结 构 形式2
21、:(直到循环) Do 语句块 Exit Do 语句块 Loop While|Until 疟 台 昆 缔 本 梧 宴 堕 碍 张 洛 鄙 决 佣 靳 持 摸 斡 悟 琴 绕 唐 藐 这 警 缠 未 捻 祷 拖 鄂 缉 基 本 程 序 结 构 基 本 程 序 结 构 条 件 语句块 语句块 T F Exit Do 条 件 语句块 语句块 T F Exit Do Do UntilLoop执行过程 DoLoop Until执行过程 隋 听 凰 戒 沃 纵 演 挟 靠 波 捆 糟 聪 宁 粉 敛 览 止 莆 镐 垄 沂 箔 夕 特 玫 航 累 小 与 掷 女 基 本 程 序 结 构 基 本 程 序 结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 程序结构
链接地址:https://www.31doc.com/p-5894134.html