高中算法与算法的描述_第1页
高中算法与算法的描述_第2页
高中算法与算法的描述_第3页
高中算法与算法的描述_第4页
高中算法与算法的描述_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 第一章第一章 算法与算法的描述算法与算法的描述 1 1 算法的定义 算法的定义 算法 就是解决问题的思想方法 对解题过程的精确描述 计算机解决问题的步骤为分析问题 设计算法 编 写程序 调试程序 算法是程序设计的 灵魂 最核心过程 2 2 法的特征 法的特征 一个算法应该具有以下五个重要的特征 1 有穷性 一个算法必须保证执行有限步之后结束 2 确定性 算法的每一步骤必须有确切的定义 3 输入 一个算法有 0 个或多个输入 以刻画运算对象的初始情况 所谓 0 个输入是指算法本身定出了初 始条件 4 输出 一个算法有一个或多个输出 以反映对输入数据加工后的结果 没有输出的算法是毫无意义的 5 可行性 算法中执行的任何计算步都是可以被分解为基本的可执行的操作步 即每个计算步都可以在 有限时间内完成 也称之为有效性 3 3 算法的描述方法 算法的描述方法 算法的描述 可分多种表达方法 一般用自然语言 流程图和伪代码进行描述 1 1 自然语言描述法 自然语言描述法 指用人们日常生活中使用的语言 本国语言 用自然语言描述符合我们的习惯 且容 易理解 例 1 求圆的周长和面积 算法如下 自然语言描述法 1 输入半径 r 2 计算周长 c 2 r 3 计算面积 s r r 4 输出周长 c 输出面积 s 5 结束 例 2 工人每天工作 8 小时 每小时 9 元 超过 8 小时的每小时增加 15 的加班费 计算工人每天的应发的日工资 1 输入工作小时 X 2 判断 X 值 分别计算 X 小于 8 工资 X 9 X 大于 8 工资 X 9 X 8 9 0 15 3 输出工资 4 结束 练习 求三个数中的最大数 用自然语言描述 2 2 流程图描述 流程图描述 也称程序框图 它是算法的一种图形化表示方法 且描述算法形象 直观 更易理解 常用的 流程图 所用的基本符号及功能 程序框名称功能 开始 结束框表示算法的开始或结束 输入 输出框表示算法中变量的输入或输出 处理框表示算法中变量的赋值与计算 判断框表示算法中的条件判断 流程线表示算法中的流向 连接点表示算法中的连接 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 例 1 求圆的周长和面积 练习 求三个数中的最大数 用流程图描述 3 3 伪代码描述法 伪代码描述法 是介于自然语言和计算机程序语言之间的一种算法描述 是专业软件开发人员常用方法 流程图的基本图形及功能 例 1 求圆的周长和面积 input r c 2 r s r r print c s 练习 求三个数中的最大数 用伪代码描述 4 4 程序与程序语言 程序与程序语言 1 1 程序的定义 程序的定义 程序实际上是一组及其操作的指令或语句的序列 是算法的一种描述 2 2 程序的基本特征 程序的基本特征 程序一共有七个基本特征 1 程序中 每一个算法的步骤对应着程序设计语言的一个或多个语句 每个语句对应一个或者多个操作 每个操作都要求有执行对象 并且根据对象状态变化形成动作的效果 同事可变的对象用变量来表示 变量的 值的变化则可通过操作赋值来完成 2 除非特殊索命程序都是从第一条语句开始顺序开始向下执行 3 程序总是施行与操作与某些对象 这些对象通常称为数据 4 这些数据一般应该有属性和取值范围 即类型说明 5 有时语句要求执行者作出判断 即在某种条件成立情况下执行一条或一组语句 否则执行另一条或一组 语句 6 一条或一组语句可能需要执行一次以上 当一条或一组语句要重复时 必须指明重复的次数或重复的条 件 7 程序本身是一个静态的实体 而执行语句的进程是动态的 3 3 程序的基本结构 程序的基本结构 顺序结构 选择结构 循环结构 4 4 程序设计语言的的产生和发展 程序设计语言的的产生和发展 1 机器语言 二进制代码指令 2 汇编语言 类似英语缩略词且带有助记性符号的语言 每条汇编指令和一条机器指令相对应 只是指令 码和操作数都采用符号形式 而这种语言是不能被机器直接接受 必须用一种语言翻译器将程序中的每条语句 翻译成机器语言才能执行 3 高级语言 高级语言本身不是一种语言 只是一类语言的分类 用高级语言编写的程序必须经过翻译器 将其翻译成机器语言 才能在计算机上执行 常见的高级语言 C 语言 C pascal java C VB Basic 5 5 程序的编辑和翻译 程序的编辑和翻译 1 程序的编辑 以汇编语言或者高级语言所编写的程序被称为 源代码 这些代码需要我们逐一的输入 到计算机中 并把他们以文件的形式保存起来 这个过程称为程序的编辑 2 程序的翻译 前面的学习中使我们知道 计算机只能识别和执行二进制的机器语言代码 而我们用级语 言或汇编语言编写的程序要想被计算机执行 必须翻译成机器语言程序 最终才能被计算机执行 高级语言的 翻译程序一般则有两种类型 编译程序和解释程序 练习题练习题 1 下面对算法描述正确的一项是 A 算法只能用自然语言来描述 B 算法只能用图形方式来表示 C 同一问题可以有不同的算法 D 同一问题的算法不同 结果必然不同 开始结束 c 2 r s r r 输入r输出c s 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 2 下面关于算法描述正确的是 A 算法不可以用自然语言表示 B 算法只能用框图来表示 C 一个算法必须保证它的执行步骤是有限的 D 算法的框图表示法有 0 个或多个输入 但只能有一个输出 3 图形符号 在算法流程图描述中表示 A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 4 以下哪个是算法的描述方法 A 流程图描述法 B 枚举法 C 顺序法 D 列表法 5 下面的语句是一个计算机程序的操作说明 1 初始值为 x 1 y 1 z 0 n 0 2 n n 1 将当前 n 1 的值赋予新的 n 3 x x 2 将当前 x 2 的值赋予新的 x 4 y 2y 将当前 2y 的值赋予新的 y 5 z z xy 将当前 z xy 的值赋予新的 z 6 如果 z 7 则执行语句 7 否则返回语句 2 继续进行 7 打印 n z 8 程序终止 由语句 7 打印出的数值为 6 以下属于计算机程序语言的有 A 汇编语言 B 高级语言 C 机器语言 D 低级语言 7 执行程序时 程序中的每一条语句至少要运行一次 8 最早的程序设计语言是汇编语言 9 程序设计语言是指人们编制程序所使用的计算机语言 VB 是低级语言 10 高级语言翻译程序有两种类型 解释程序和编译程序 第二章第二章 程序设计基础程序设计基础 第一节第一节 常量 变量的定义常量 变量的定义 VBVB 程序程序的一般包括如下部分 的一般包括如下部分 1 数据类型说明部分 2 数据的输入部分 3 数据的处理部分 4 数据的输出部分 例例 求圆的周长和面积 Private Sub Command1 Click Dim r As Single 定义 r 为单精度型 Dim c As Single 定义 c 为单精度型 Dim s As Single 定义 s 为单精度型 r inputbox 输入半径 r 输入半径 r c 2 3 14159 r 计算周长 s 3 14159 r r 计算面积 print c 输出周长 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 print s 输出面积 End Sub 一 常量一 常量 在程序进行过程中不变的量 在 VB 中一般分数值常量与字符常量两种 数值常量 就是数学中说的常数 分整型常量和实型常量两种 整型常量 即整数 指不带小数点的数值如 1 0 10 35 等都是合法的整数 实型常量 即实数 指带小数点的数值 实型常量又分为定点数和浮点数两种 例 定点数 3 14159 和 6 8 1 99 浮点数 2E6 1E5 例 1 2345 103 可表示为 1 2345E3 字母 E 表示底数 10 浮点数就是数学上的科学计数法 字符串常量 被一对双引号括起来的若干个合法的字符称为字符串常量 例如 China Visual Basic 18 3 1415 等 双引号中字符 不包括双引号本身 符号常量 如果多次用到同一个常量 则可用一个有意义的名字表示这个常量 二 变量二 变量 在程序执行过程中 其值可以改变的量称为变量 变量命名注意要点 变量命名注意要点 1 必须以字母开头 不能以数字或其他字符开头 2 只能由字母 汉字 数字学或下划线组成 不能含有小数点 空格等字符 3 最长不超过 255 个字符 4 不能以 VB 保留字作变量名 如语句定义符 函数名等 5 VB 不区分变量名中字母大小写 如 HELLO 和 Hello 是同一个变量 表 2 1 常用数据类型 整型 Integer 从 32768 到 32767 长整型 Long 从 2147483648 到 2147483647 单精度实型 Single 负数 3 402823E 38 到 1 401298E 45 正数 1 40129E 45 到 3 402823E38 但它只有 7 位有效数字 双精度实型 Double 绝对值小于 10308的数 它有 15 位有效数字 日期型 Date Time 如 2008 01 31 01 31 2008 字符型 String 如 中国 zhongguo 布尔型 Boolean True 或 False 三 常量和变量的定义三 常量和变量的定义 符号常量的声明 Const 常量名 As 常量类型 常量值 如 Const pi As Single 3 14159 常量名为 pi 变量的声明 Dim As 如 Dim a As Integer 定义一个 整型变量 变量名为 a 变量的赋值变量的赋值 变量 表达式 例 例 Private Sub Form Click Dim a As Integer b As Integer c As Integer Dim str As String a 54 b 114 c a b str Hello World Print a a b b c c Print str End Sub 四 运算符四 运算符 1 算术运算 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 modmod 加加减减乘乘乘方乘方除除整除整除取余取余 指数 例 2 2 4 浮点 除 例 5 2 2 5 整除 例 5 2 2 Mod 求余数 例 5 Mod 2 1 2 2 关系运算 关系运算 等于等于大于大于小于小于大于等于大于等于小于等于小于等于不等于不等于 注意 关系表达式的运算结果为布尔值 True 或 False 例 3 2 结果为 True 真或是 3 3 逻辑运算 逻辑运算 NotNot 取反 取反 AndAnd 与 与 OrOr 或 或 运算结果为布尔型 Boolean True 或 False 逻辑运算符的优先级为 No And Or 4 4 日期运算符与日期表达式 日期运算符与日期表达式 日期表达式是用日期运算符 或 将算式表达式 日期型常量 日期型变量 日期函数等连接起来的式 子 如表达式 2003 09 01 30 的运算结果是 2003 10 1 表达式 2003 10 20 2003 10 10 的 运算结果为整数 10 5 5 字符运算 字符运算 字符串连接符为 和 y End sub 4 调试程序 练习题 练习题 1 以下是一段 VB 程序 a 1 b a 1 c a b 它的基本结构属于 A 顺序结构 B 选择结构 C 循环结构 D 树型结构 2 下列 VB 程序运行后 变量 x 的值为 x 2 Print x l Print x 2 3 执行以下程序 在弹出的第 1 个输入框输入 10 第 2 个输入框输入 15 则输出的结果为 Dim a As Integer b As Integer a InputBox 输入 a b InputBox 输入 b Print a b a b A b a 25 B 10 15 25 C a b 25 D 15 10 25 4 已知 A B C D 是整型变量 且都已有互不相同的值 执行语句 B 8 A C D A D B 后 其值相等的 变量是 A A D B A C C C B D B A 5 要交换变量 A 和 B 之值 应使用的语句组是 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 A A B B C C A B C A A B B C C A B B A D C A B A B C 6 有如下 Visual Basic 程序段 m VB n is t easy t m n t 该程序段运行后 变量 t 的值为 7 试编写一个程序 实现输入一个四位数的数 然后将它倒序输出 第三节第三节 程序设计的分支结构程序设计的分支结构 一 行一 行 IfIf 语句语句 行 If 是指在一行中写完的 If 语句 其一般格式为 格式一 格式一 IfIf 条件条件 ThenThen 语句语句 功能 功能 执行这种形式的 If 语句时 首先对条件进行判断 若条件成立 则执行 Then 后面的语句 若条件不成 立 则执行 If 语句后继程序行的语句 格式二 格式二 IfIf 条件条件 ThenThen 语句语句 1 1 ElseElse 语句语句 2 2 功能 功能 执行这种形式的语句时 先进行判断 若条件成立 则执行语句 1 否则执行语句 2 例例 1 1 输入三个不相同的数 求出其中最小数 输入三个不相同的数 求出其中最小数 Private Sub Form Click Dim a As Single b As Single c As Single Dim Min As Single a InputBox 输入 a 输入框 b InputBox 输入 b 输入框 c InputBox 输入 c 输入框 If a b Then Min a Else Min b If c 60 Then Print 及格 End If If a 0 then x1 b sqr d 2 else x1 b sqr d 2 end if print x1 x1 x2 x2 End Sub 练习题练习题 1 以下是一段 Visual Basic 程序 If I 1 Then X X 1 Else X X 2 End If 它的基本结构属于 A 选择结构 B 循环结构 C 顺序结构 D 树型结构 2 下列程序段运行后 变量 Value 的值是 x 20 If x 10 Then Value 5 x Else Value 4 x End If A 100 B 80 C 90 D 70 3 如要完成 从键盘输入一个正整数 判断是否是奇数 如是就在屏幕上显示 比较好 的算法是 选项 A 输人的数存人 n 变量 f n 2 Int n 2 如果 f 中的值为 True 就显示 n 中值 B 输人的数存人 n 变量 f n 2 Int n 2 如果 f 中的值为 False 就显示 n 中值 C 输人的数存人 n 变量 如果 n 2 Int n 2 成立 就显示 n 中值 D 输人的数存人 n 变量 如果 n 2 Int n 2 不成立 就显示 n 中值 4 下面是判断变量 x 是不是能被 5 整除的偶数的程序 横线上的逻辑表达式应为 Private Sub commandl Click Dim x As Integer x Val Text1 Text If 0 Then Print 这个数是能被 5 整除的偶数 Else Print 这个数不是能被 5 整除的偶数 End If 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 选项 A x Mod 5 0 And x Mod 2 0 B x Mod 10 0 C x Mod 5 0 D x Mod 2 0 5 如要完成 从键盘输入一个正整数 判断是否是偶数 如是就在屏幕上显示 比较好 的算法是 选项 A 输入的数存人 n 变量 f n 2 Int n 2 如果 f 中的值为 True 就显示 n 中值 B 输入的数存人 n 变量 f n 2 Int n 2 如果 f 中的值为 False 就显示 n 中值 C 输入的数存人 n 变量 如果 n 2 Int n 2 成立 就显示 n 中值 D 输入的数存人 n 变量 如果 n 2 Int n 2 不成立 就显示 n 中值 6 下列程序段运行后 m 的值为 A 2 b 1 c 5 If A b Then m A Else m b If c m Then m c 选项 A 1 B 2 C 5 D 提示错误 无答案 第四节第四节 程序设计的循环结构程序设计的循环结构 一 一 For NextFor Next 循环循环 ForFor 循环变量一般形式是 循环变量一般形式是 ForFor 循环变量循环变量 初值初值 ToTo 终值终值 StepStep 循环变量增量循环变量增量 循环体循环体 NxtNxt 循环变量循环变量 例例 1 1 求 求 s s 1 2 3 4 1001 2 3 4 100 Private Sub Form Click Dim i As Integer Dim sum As Integer sum 0 For i 1 To 100 step 1 sum sum i 循环体 Next i Print sum sum End Sub 循环变量的初值 终值 循环变量增量都是数值型 其中要重复执行的操作称为循环体 增量可正可负 如果 没有设置 Step 则增量的缺省值为 1 1 循环变量取初值 2 循环变量与终值比较 没有超过终值转 3 否则循结束 接着执行循环语句的后继语句 3 执行一次循环体 4 循环变量增加一个增量 5 重复步骤 2 4 以上可以看出 For Next 循环变量是一种当型循环 说明 a For 语句与 Next 语句必须成对出现 而且它们当中的 循环变量 必须是同一个变量 如上例中 均为 I b 当循环变量为正时 循环变量超过终值 是指循环变量的值大于终值时 若为负 则是指循环变量 的值小于终值 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 例例 2 2 编写程序 使能打印下面所示的图案 程序 Private Sub Form Click Dim i As Integer Dim j As Integer For i 1 To 6 For j 1 To i Print Next j Print Next i End Sub 一个 FOR 循环里包含了另一个 FOR 我们称它为嵌套循环 练习题练习题 1 阅读如下程序 跟踪程序的执行过程 观察变量 A 的值的变化 写出循环结束时变量 A 的值 循环次数和程 序的运行结果 privaate sub command1 click for A 1 TO 10 print A Next A End Sub privaate sub command1 click For A 1 To 100 S S A Next A Pint S S End Sub privaate sub command1 click For A 100 To 1 step 1 S S A A P 入口 出口 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 Next A Print s s End Sub privaate sub command1 click For A 1 To 10 A A 1 Print A Next A End Sub 2 阅读下面程序 输出结果是 Private Sub Form Click Dim i As Integer Dim s As Integer s 0 For i 1 To 5 s s i Next i Print s i End Sub 选项 A 156 B s 15 i 6 C 6 5 D s 6 i 5 3 试编写一个程序 求出 100 以内能被 3 整除的所有正整数 4 试编写一个程序 求出 1 2 3 100 积 二 二 DoDo LoopLoop 循环循环 For NextFor Next 循环的次数是确定的 但是有的问题只知道循环结束的条件 重复执行的次数事先并不知道 这是需循环的次数是确定的 但是有的问题只知道循环结束的条件 重复执行的次数事先并不知道 这是需 要要 Do LoopDo Loop 循环循环 格式一 格式一 DoDo WhileWhile 条件条件 循环体循环体 LoopLoop 例例 3 3 求最大公约数 求最大公约数 Private Sub Command1 Click Dim a As Integer Dim b As Integer Dim r As Integer a InputBox 输入 a b InputBox 输入 b r a Mod b DoDo WhileWhile r 0 a b b r r a Mod b LoopLoop Print b End Sub 当当 VBVB 执行执行 DoDo While LoopWhile Loop 循环时 先判断指定的条件是否为真 若条件为真 执行循环体 条件为假时退出循循环时 先判断指定的条件是否为真 若条件为真 执行循环体 条件为假时退出循 环 环 格式二 格式二 DoDo 循环体循环体 LoopLoop UntilUntil 条件条件 这种循环的执行过程如图所示 进入循环体后 先执行一次循环体这种循环的执行过程如图所示 进入循环体后 先执行一次循环体 A A 然后再检查条件 然后再检查条件 P P 是否成立 如果不成是否成立 如果不成 立 就重复执行循环体立 就重复执行循环体 A A 直到条件 直到条件 P P 成立退出循环体 成立退出循环体 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册 应有尽有 精品 文档 A P N 例例 4 4 如果我国人口每年以平均 如果我国人口每年以平均 1 5 1 5 的速度增长 问多少年后我国人口达到或超过的速度增长 问多少年后我国人口达到或超过 1515 亿 设现在人口为亿 设现在人口为 12 312 3 亿 亿 Private Sub Form Click Dim p As Single Dim r As Single Dim n As Integer p 1230000000 r 0 015 n 0 DoDo p p 1 r n n 1 LoopLoop UntilUntil p 1500000000 Print n 年后 人口 p End Sub 练习题练习题 1 在 VB 中 以下程序段 x 0 Do While x 50 x x 2 x 3 Loop 执行后 x 的值为 A 168 B 50 C 72 D 0 4 要求计算机打印出 100 至 200 之问所有偶数的平方根值 正确的算法是 选项 A i 100 Do While i 200 Print i Sqr i Loop B i 100 Do While i 200 Print i Sqr i i i 1 Loop C For i 100 To 200 Step 2 Print i Sqr i Next i D For i 100 To 200 Print i Sqr i Next i 5 下列程序段中 循环体执行的次数是 y 2 Do While y 8 y y y Loop 选项 各类专业好文档 值得你下载 教育 管理 论文 制度 方案手册

温馨提示

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

最新文档

评论

0/150

提交评论