计算机软件及应用C语言目录_第1页
计算机软件及应用C语言目录_第2页
计算机软件及应用C语言目录_第3页
计算机软件及应用C语言目录_第4页
计算机软件及应用C语言目录_第5页
免费预览已结束,剩余45页可下载查看

下载本文档

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

文档简介

1、索弓I:一、教学对象(00:01:29)1三、教学重点(00:04:29)四、 指导思想1.立足改革,人的认识要随着时代的前进(00:08:03)3.强化实践(00:10:35)5. 突出重点(00:16:21)7.考试方法(00:21:13)9. 学习心态(00:27:39)五、教学内容安排(00:37:55)6. 分治思想:递归算法及其实现(00:38:25)精心铸精品理念须先行(00:39:21)索弓I: 对学生(00:01:27)2教学需要不断改革(00:05:25)教法为什么要改?(00:06:37)我们的目标(00:07:29)学科教育走内涵发展道路(00:09:45)仓U 造 力

2、(00:09:57)怎样改? (00:19:57)教学设计中的几个难点(00:20:09)教学改革的思路(00:28:33)创新点(00:31:45)2(00:33:37)请你编程实现一个(00:33:41)假如你是一个初学者,对在C+语言环境下如何编程一无所知,这里?.(00:33:55)内容要 点(00:34:35)C+ 程序结构(00:35:25)幻灯片 28(00:36:55)【任务2.1】计算下列三角函数的值(00:38:15)用鼠标双击 桌面”上的VC图标,进入环境(00:40:31)用鼠标点击 开始”菜单(图2.2) (00:41:09)图 2.2(00:41:27)图 2.3(

3、00:42:13)图 2.4(00:42:51)图 2.5(00:43:25)图 2.6(00:43:35)索引:3图 2.7(00:43:39)图 2.8(00:43:47)图 2.9(00:43:55)图 2.10(00:44:03)图 1.12(00:00:19)图 1.4(00:00:23)图 2.10(00:00:26)图 1.4(00:00:44)图 1.12(00:00:49)见演示(00:00:55)/*(00:00:59)#include / 预编译命令(00:02:40)1、以符号“ #”头的行,称为编译予处理行。(00:06:45)5、 “ #in clude< c

4、math >,这条命令是让系统中已经有的常用的数.(00:07:31)7、int main()是每一个C+程序都必须有的,称为主函数。你可以.(00:08:56) 关于 mai n()主函数的详细说明将在第3章中介绍。在这个计算 三.(00:09:38)2.3 输出流对象 cout(00:10:46)可以用图2.2来说明,放在引号“中的字符串 welcome to Tsi.(00:11:10)插入操作符可以把多个输出数据组合或级联成单个的输出语句。比如.(00:12:06)2.4 输入流对象 cin(00:13:08)第一条是定义了一个浮点数类型的对象:变量x(00:13:12)2.5注

5、释及其重要性(00:13:13)注释内容(00:13:16)图2.3描述了提取输入流的示意图有关什么是变量,如何从键盘?.(00:13:17)2.4 输入流对象 cin(00:13:20)可以用图2.2来说明,放在引号“中的字符串 welcome to Tsi.(00:13:21)2.3 输出流对象 cout(00:13:24)可以用图2.2来说明,放在引号“中的字符串 welcome to Tsi.(00:14:09)2.4 输入流对象 cin(00:14:12)第一条是定义了一个浮点数类型的对象:变量x(00:16:08)图2.3描述了提取输入流的示意图有关什么是变量,如何从键盘?.(00

6、:16:19)2.5注释及其重要性(00:17:26)注释内容(00:19:16)2.7算朮运算符(00:20:02)2.7 数学函数(00:21:05)(2)函数原型为(00:22:36)2、正弦函数(00:24:15)4、余弦函数(00:25:24)5、反余弦函数(00:26:30)6、正切函数(00:26:47)7、反正切函数(00:27:10)8、计算函数(00:27:16)9、计算函数(00:28:03)10、计算函数(00:28:40)11、计算 函数(00:28:55)12、计算不大于自变量 x的整数值函数(00:29:44)13、计算 函数(00:30:19)结 束(00:30

7、:38)幻灯片 74(00:30:39)13、计算 函数(00:33:07)12、计算不大于自变量 x的整数值函数(00:33:10)13、计算 函数(00:33:18)12、计算不大于自变量 x的整数值函数(00:33:20)11、 计算 函数(00:33:21)10、计算函数(00:33:24)&计算函数(00:33:26)6、正切函数(00:33:28)4、余弦函数(00:33:29)2、正弦函数(00:33:32)(2)函数原型为(00:33:35)2.7 数学函数(00:33:38)注释内容(00:33:39)图2.3描述了提取输入流的示意图有关什么是变量,如何从键盘?.(0

8、0:33:42)2.4 输入流对象 cin(00:33:43)可以用图2.2来说明,放在引号“中的字符串 welcome to Tsi.(00:33:46)关于 mai n()主函数的详细说明将在第3章中介绍。在这个计算三.(00:33:47)5、“ #i nclude< cmath >,这条命令是让系统中已经有的常用的数.(00:33:49)#include / 预编译命令(00:33:52)索引:了解C程序的基本格式,变量的定义和赋值(00:00:59)4上一章的内容仅仅是把计算机当作计算器来用,尽管这已经比一般计.(00:01:44)王小二同学是一个聪明的孩子,他到超市去买东

9、西看到电子计价算账.(00:02:44)上一章的内容仅仅是把计算机当作计算器来用,尽管这已经比一般计(00:02:46)王小二同学是一个聪明的孩子,他到超市去买东西看到电子计价算账(00:02:48)/*(0 003 56)3.1 C/C+程序的基本结构(00:13:57)在读程序时,首先要看程序说明,这件事十分重要,我们要求学生 在(00:15:50)接下来是以“#开头的预编译命令。在这个例子中是将库中的输入?.(00:17:00)主函数 mai n()的函数体由一对大括号 括起,函数体包含两部 分(00:18:12)#include / 预编译命令(00:18:58)对象1是苹果单价,变量

10、名为ApplePrice;(00:19:06)(6)和(8)为显示至屏幕上的提示信息。告诉程序的使用者下面 准.(00:19:20)(10)计算应付款,这是一条赋值语句,计算购买 AppleWeight公?.(00:19:40)3.2变量与数据结构(00:19:46)3.2.2变量的数据类型(00:22:50)整型。即整数类型,它又可分为4种:(00:24:52)为了讲下面的内容先来玩一个(00:27:22)0# 卡片(00:28:22)1 # 卡片(00:28:44)2# 卡片(00:28:52)3# 卡片(00:29:00)4# 卡片(00:29:02)5# 卡片(00:29:08)如果你

11、说(00:29:24)二进制数在存贮单元中的表示(00:30:16)原来如此(00:33:48)27 26 25 24 23 22 21 20 卡片(00:34:42)索引:531 30 29 28 27 26 25 24(00:39:52)bool逻辑型,占用1字节(00:02:32)void 空类型(00:02:52)在主函数mai n()中的声明部分要对一些变量进行定义,提出合适的.(00:03:26)图3.1变量的定义和内存地址的关系(00:05:28)在C/C+中赋值符号为=” (00:06:46)变量必须先定义再使用(思考为什么?)(00:09:08)int a= 0, b = 0

12、, c= 0; / 声明 a,b,c为整型变量 / 均初始化为.(00:12:50)a的地址单元 b的地址单元 c的地址单元(00:16:14)【练习】(00:18:58)将实际问题抽象为逻辑关系(00:20:08)关系运算符与关系表达式(00:21:14)计算机强大的逻辑分析功能是由人通过程序赋给它的。一些逻辑问题.(00:21:54)清华附中有四位同学中的一位做了好事,不留名,表扬信来了之后,.(00:23:02)关系运算符有如下6个(00:27:30)为了解这道题,我们需要学习如何通过逻辑思维与判断解这类问题的(00:28:56)/*(00:29:06)程序运行结果是:计算出来的(00:

13、31:34)关系表达式的一般格式(00:32:12)结合任务4.1,可以将四个人说的四句话写成关系表达式。(00:34:06)利用关系表达式将四个人所说的话表示成(00:37:06)在C/C+中字符在存储单兀中是以ASCII码的形式存放的。因此,用赋.(00:38:54)/*(00:40:42)#include / 预编译命(00:42:44)令做?.(00:43:12)结合任务4.1分析,A、B、C、D四个人,只有一位是做好事者。这四种状态可简化写成(00:44:06)引:a(1)假定让thisma n =A'代入四句话中(00:00:23)6(2)假定让thisma n = B代入

14、四句话中(00:02:13)(3)假定让thisma n = C代入四句话中(00:03:13)综上所述一个人一个人去试,就是枚举。(00:04:21)for (k = 1; k< = 4; k = k+1)(00:04:55)for ( k = 1; k< = 4; k = k+1 )(00:10:31)for是计数型循环的标识符,圆括号括起的是三个表达式。其下的大?.(00:11:17)图 4.1(00:12:23)for是计数型循环的标识符,圆括号括起的是三个表达式。其下的大?.(00:12:57)for ( k = 1; k< = 4; k = k+1 )(00:13

15、:05)for是计数型循环的标识符,圆括号括起的是三个表达式。其下的大?.(00:13:11)图 4.1(00:13:13)for是计数型循环的标识符,圆括号括起的是三个表达式。其下的大?.(00:13:33)for ( k = 1; k< = 4; k = k+1 )(00:13:35)图 4.1(00:14:01)for ( k = 1; k< = 4; k = k+1 )(00:14:43)图 4.1(00:15:03)求解表达式1,置循环控制变量的初值(00:17:53)/*(00:18:45)#i nclude (00:19:25)将原来的 for ( i = 1; i&

16、lt; = 100; i = i+1 )修改为 for ( i = 1; i<.(00:23:03) 例 3-3 求 10! (00:23:41)#in clude (00:24:05) i = 10 sum = 10(00:27:47)将 10!展开为 10 >9X8>7疋拓用X3>2X1(00:28:33)图 4.2(00:30:35)恰好计算机擅长做这种重复操作,使用for循环是最佳选择。(00:31:19)for 循环的 NS 图(00:33:17)结 束(00:33:53)恰好计算机擅长做这种重复操作,使用for循环是最佳选择。(00:33:55)将 10!展

17、开为 10 >9X8 >7 >6 5X1X3 >2X(00:33:57)#i nclude (00:34:01)例 3-3 求 10! (00:40:57)#i nclude (00:40:59)i = 10 sum = 10(00:41:01)图 4.2(00:41:03)for 循环的 NS 图(00:41:05)图 4.2(00:41:09)将 10!展开为 10 >9X8 >7 >6 5X4X3 >2X(00:41:11)#i nclude (00:41:25)例 3-3 求 10! (00:41:27)#in clude (00:42:

18、27)i = 10 sum = 10(00:42:29)索引:7if (sum = 3) /如果 sum 真的 等于 3 时,做(00:04:34)下面我们画出分支程序的NS流程图,这种图直观清晰,一目了然。(00:07:02)一般格式(00:08:14)if (表达式)语句 1; (00:09:28)举例:实现如图函数(00:10:26)能不能将图改一下呢?用3条if语句(00:12:54)举例:实现如图函数(00:14:18)能不能将图改一下呢?用3条if语句(00:14:24)* (00:16:18)NS 图(00:21:24)现在我们来分析谁做的好事”的NS流程图。它是由两大块组成的,

19、(00:26:56)NS 图(00:27:22)第一块是循环结构,功能是产生被试对象,依次为A、B、C、Do并测.(00:28:02) 我们讲这一段是希望你掌握NS图,这对今后的学习会有好处。按照程.(00:28:04)/*(0 028" 33) / #include / 预编译命令(00:28:42)#i nclude (00:32:18) 换个思路(00:32:34)/*(00:35:20)for ( k = 1; k < = 4; k = k+1 )(00:35:30)/*(0 0.37:38)for ( k = 1; k < = 4; k = k+1 )(00:3

20、7:40)/*(0 0.37:52)for ( k = 1; k < = 4 ; k = k+1 )(00:38:32)for( k = 1; k< = 4; k = k+ 1 )(00:38:56) 思考和讨论(00:39:20)4.7逻辑问题及其解法(00:42:10)(00:42:56)索引:8某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:1、 逻辑与,运算符为&&(00:00:59)1表示真,0表示假,这是逻辑变量的取值,非真即假(00:03:14)2、 逻辑或,运算符为|(00:04:32)1表示真,0表示假(00:04:34)2、逻辑或,运算符为|(0

21、0:04:36)1表示真,0表示假,这是逻辑变量的取值,非真即假(00:04:39)1、 逻辑与,运算符为&&(00:04:48)2、 逻辑或,运算符为|(00:05:10)1表示真,0表示假(00:06:19)3、 逻辑非,运算符为!(00:06:54)赛不成当然用 !C表示,D = !C, (00:08:20)思路:(00:08:56)CC1 : A和B至少有一人作案(00:09:37)CC2 : A和D不可能是同案犯(00:10:54)CC1 : A和B至少有一人作案(00:10:56)CC2 : A和D不可能是同案犯(00:11:26)CC2 = !( A &&

22、amp; D )(00:12:32)CC3: A、E、F中至少有两人涉嫌作案 (00:13:32)CC3 = (A&&E ) | (A&&F ) | ( E&&F)(00:14:26)CC4 : B和C或同时作案,或都与本案无关(00:14:38)CC6 :如果D没有参与作案,则 E也不可能参与作案。(00:18:20)CC6 = D | !E(00:21:40)CC6 :如果D没有参与作案,则 E也不可能参与作案。(00:24:44)CC6 = D | !E(00:25:08)6个人每个人都有作案或不作案两种可能,因此有 种组合,从这.(00:

23、25:10)为了讲多重循环先做些铺垫(00:27:19)幻灯片 46(00:28:36)写一个从 000000 到 111111 的程序(00:28:48)作业(00:35:23)幻灯片 53(00:35:48)为了给出每个人是否为罪犯的信息,程序中定义了一个二维数组。(00:39:34)char是说,info数组的元素为字符,2为下标,表示有两个字符?.(00:43:14)索引: 在输出时用(00:02:24)9/*(00:03:26)for (A = 0;A< = 1;A = A+1) 枚举 A(00:04:32)测试6句话都为真时,才输出谁是罪犯(00:04:50) 讨 论(00:

24、05:50)大家参与讨论的题(00:06:佝思路:(00:20:34)2、考虑到每个人说的话是一对一错,(00:21:30)我们可以归纳出要同时满足五个人所说的话都符合一半对一半错的条.(00:21:56)3、只有等于5时才都符合每个人所说的话,这仅只是符合题意的一 ?.(00:26:28)4、仍然可以用枚举的方法,让变量A、B、C、D、E在15中取值,(00:27:34)幻灯片 68(00:27:48)作业:(00:30:04)结 束(00:30:18)索引: 数组的概念、定义和初始化 (00:00:29)10数组:定义、初始化、操作与应用(00:01:39)中秋佳节,有贵客来到草原,主人要

25、从羊群中选一只肥羊宴请宾 客,(。血刃)/*(0 003 53)程序框图(00:09:37)for ( i = 0; i<10; i = i+1 ) / 计数循环(00:09:39)程序框图(00:14:01)类型说明符 数组名常量表达式(00:18:21)4数组下标从0开始。如果定义5个元素,是从第0号元素至第.(00:20:47)5常量表达式中不允许包含变量(00:22:39)#define N 100 / 宏定义,N 为常数 100(00:23:47)第一种方法直接在定义时初始化(00:27:07)第二种方法使用memset函数(00:28:01)#define N 100 / 宏

26、定义,N 为常数 100(00:30:21)4数组下标从0开始。如果定义5个元素,是从第0号元素至第.(00:30:23)程序框图(00:30:25)/*(0 030 27)for ( i = 0; i<10; i = i+1 ) / 计数循环(00:30:37)类型说明符数组名常量表达式(00:30:39)5常量表达式中不允许包含变量(00:30:41)第一种方法直接在定义时初始化(00:30:43)1.#i nclude (00:30:45)3其他不变,改变声明项为(00:31:43)讨 论 问 题(00:33:41)3其他不变,改变声明项为 (00:33:43)讨 论 问 题(00

27、:34:31)思路(00:35:13)方法的依据:(00:37:07)为了提高筛法效率,注意到:(00:38:21)程序框图如下:(00:39:43)索引:11上述框图很清晰地描述了筛法的思路:(00:06:30)do(00:06:34)直到型循环框图如下:(00:07:20)举例(00:08:20)例求n的近似值(00:08:29)/*(0。.。: 30)do /直到型循环(00:11:54)运行结果 pi = 3.14159, sum = 500000(00:14:00) do /直到型循环(00:14:06)运行结果 pi = 3.14159, sum = 500000(00:14:34

28、)下面还要介绍另一种循环当循环”(00:16:43)运行结果 pi = 3.14159, sum = 500000(00:17:08) do /直到型循环(00:17:10)/*(00:17:12)举例(00:17:14) 直到型循环框图如下:(00:17:16)例求n的近似值(00:17:26)/*(00:17:29)运行结果 pi = 3.14159, sum = 500000(00:17:32)下面还要介绍另一种循环当循环”(00:17:34)思考(00:18:35)举 例(00:19:36)分析:假定有x ,y且x > y,设最小公倍数为z(00:20:06)第一步 z = x

29、/ x = 5(00:21:52)/*(00:23:46)cout << 请输入两个整数,用空格隔开:(00:26:20)/*(00:26:22)cout << 请输入两个整数,用空格隔开:提示信息提示信息(00:28:04)z = x; /将一个大数赋给z(00:28:22)请同学们去比较三种循环的异同之处(00:29:00)练习:(00:29:28)int mai n( )(00:31:46)排 序 问 题(00:36:24)幻灯片 53(00:37:34)幻灯片 54(00:43:16)索引:12从表中可以看出最小的一个数第一遍扫描就交换到a6中。如果将a.(00

30、:00:29)再看在每遍扫描中,相邻两数组元素的比较次数。(00:01:30)int i = 0, j = 0, p = 0, a 7 ;/ 整型变量(00:02:21)为了表述方便,定义以下3个变量:(00:03:15)采用两重计数型循环:(00:03:23)/*(00:05:00)int ma in ()(00:05:31)for ( j = 1; j < = 5; j+ ) / 外层循环(00:08:07) 结束(00:09:11)猜数字(00:17:29)例子(00:19:09)第一种猜法(猜 11)(00:19:31)第一种猜法(00:20:23)第二种猜法(猜12)(00:2

31、2:05)第二种猜法(00:22:21)第二种猜法猜(12)(00:23:09)第一类有1个数(00:23:27)粗略比较两种猜法的预期效果(00:23:40)更一般化的比较(00:23:57)评价函数(00:24:03)计算 f (11)和 f(12)(00:26:05)其它的一些评价函数(00:27:01)猜数过程举例(00:27:15)个位数(00:29:55)对于 21,22,13,24,33,43 该猜谁? (00:30:13)在剩下的6个数中继续猜(00:30:57)只剩下2个数33和43(00:31:30)索引:13结构与结构数组:(00:00:45)结构体类型的定义引 出(00

32、:01:31) 结构体类型的定义可以定义一个名为学.(00:04:03)定义结构体类型格式:(00:06:59)* (00:07:57)(00:01:29)(00:02:47)student的结构体,将5项信息包容在一起,构成#i nclude (00:08:03) int main ()(00:08:47) #in clude (00:09:53)/*(00:10:15)int mai n( )(00:10:17)/依次输入个人信息(00:12:11)int mai n()(00:13:29)#i nclude (00:13:31)int mai n()(00:13:57)/依次输入个人信息

33、(00:13:59)/依次输出个人信息(00:16:03)定义类型时不会分配内存空间(00:16:45)点操作符:(00:20:09)结构体变量的初始化 (00:20:37)person是结构体类型(00:24:59)方法二:分开完成(00:25:51)person是结构体类型(00:25:53)结构体变量的初始化 (00:25:55)person是结构体类型(00:26:05)方法二:分开完成(00:26:09)结构数组(00:28:13)stude nt Room 4 = (00:30:23)索弓I: LakeO Lake00 Lake01 . . . Lake08(00:01:06)14

34、Lake0 Lake00 Lake01 . . . Lake08(00:01:57)Lake Lake(00:02:33)Lake 0 0 0 1 2 2 3 0 0 0(00:05:10)作 业(00:08:32)多分支语句switch(00:09:50)Switch 结构(00:11:20)#i nclude (00:13:11)结束(00:24:58)#i nclude (00:25:01)结 束(00:25:15)6函数、递推与递归(00:25:46)函数的概念、定义、调用和返回(00:26:28)函数的定义、实在参数与形式参数、调用和返回值(00:27:12)为什么需要函数?(00:

35、27:35)函数是组成C/C+程序的基础。(00:29:43)6.1 函数(00:30:52)/*(00:34:20)int main() / 主函数(00:35:52)II用实参a调用子函数,该子函数的(00:39:37) bool checkprime(int af) / 函数,af 为形式参数(00:39:39)索引:讲这一程序的目的:(00:00:28)15主函数与子函数的配合(00:01:12)在 checkprime( int af )函数中,有 return 0 和 return 1 两处 不.(00:02:30)主函数与子函数的配合(00:03:10)讲这一程序的目的:(00:

36、03:12)bool checkprime(int af) / 函数,af 为形式参数(00:03:14)讲这一程序的目的:(00:03:58)在 checkprime( int af )函数中,有 return 0 和 return 1 两处 不.(00:04:00)函数的定义(00:04:16)函数定义的一般格式:(00:05:52)形式参数和实在参数(00:06:14)实在参数是一个具有确定值的表达式(00:10:28)调用(00:11:48)函数举例(00:15:28)实在参数是一个具有确定值的表达式(00:15:30)形式参数和实在参数(00:15:32)函数的定义(00:15:34

37、)在 checkprime( int af )函数中,有 return 0 和 return 1 两处 不(00:15:36)讲这一程序的目的:(00:15:38)/用实参a调用子函数,该子函数的(00:15:40)bool checkprime(int af) / 函数,af 为形式参数(00:16:26)主函数与子函数的配合 (00:16:28)函数定义的一般格式:(00:16:32)调用(00:16:36)函数举例(00:16:38)解题思路(00:21:22)# in clude< iostream>(00:24:26)for ( i = 1; i< = 10; i

38、= i+1 )(00:24:28)# in clude< iostream>(00:24:30)for ( i = 1; i< = 10; i = i+1 )(00:25:26)# in clude< iostream>(00:26:12)for ( i = 1; i< = 10; i = i+1 )(00:26:18)# in clude< iostream>(00:26:22)for ( i = 1; i< = 10; i = i+1 )(00:26:28) int Max( int a , int b )(00:28:24)问题:编程

39、求解(00:29:40)int Max( int a , int b )(00:29:42)for ( i = 1; i< = 10; i = i+1 )(00:29:44) int Max( int a , int b )(00:30:44)问题:编程求解(00:31:24)3、再定义一个函数 (00:33:12)问题:编程求解(00:33:56)3、再定义一个函数 (00:34:06)/*(00:34:08)/以下函数是被主程序调用的函数(00:37:58)/以下函数是被函数SOP(n, k)调用的函数(00:39:14) in t power(i nt p, i nt n)(00:

40、40:26)在定义函数的时候,必须指定形参变量的类型,如下所示:(00:40:48)主函数执行下述语句时,(00:41:46)弓I:3、再定义一个函数 (00:01:26)16/*(00:01:50)/以下函数是被主程序调用的函数(00:03:58)/以下函数是被函数SOP(n, k)调用的函数(00:05:50)/以下函数是被主程序调用的函数(00:06:24)/以下函数是被函数SOP(n, k)调用的函数(00:07:12) in t power(i nt p, i nt n)(00:07:44)在定义函数的时候,必须指定形参变量的类型,如下所示:(00:08:14)主函数执行下述语句时,

41、(00:09:16)SOP( 6, 4 )(00:10:02)幻灯片 38(00:13:30)循环中用到的两条重要语句(00:15:02)题目:编程求解 2- 100以内的全部4n+ 1型(00:15:34)#include/ 预编译命令(00:17:52)bool lsPrime(int n) / 用来判断是否为质数 (00:18:10)int main() / 主函数(00:22:28)c = 2; ans= true(00:25:46) i = 2(00:28:10)两条语句的比较:(00:30:20)结束(00:31:40)i = 2(00:31:42)int main() / 主函数

42、(00:32:00)c = 2; ans= true(00:32:35)两条语句的比较:(00:32:36)结束(00:32:38)递推与递归思想(00:32:58)递推是计算机数值计算中的一个重要算法,可以将复杂的运算化为若.(00:33:04)【任务 6.3 (00:33:06)递推是计算机数值计算中的一个重要算法,可以将复杂的运算化为若.(00:33:10)【任务 6.3 (00:33:46)解题思路:(00:35:54)写成一般式 fish i = ( fish i - 1 -1 ) * 4 / 5 .(00:37:28)分析上式(00:39:22)3 .按题意要求5人合伙捕到的最少鱼

43、数,可以从小往大枚举,可?.(00:40:32)图6.1五人合伙捕鱼程序NS图(00:41:16)索引: 图6.1的说明:(00:02:57)17当由break语句让程序退出循环时,意味着某人看到的鱼数不是整?.(00:03:01)/*(0 003:03)3121(00:05:11)递 归(00:06:01)递归算法在可计算性理论中占有重要地位,它是算法设计的有力工 具(00:06:13)为了表述得直观清晰,我们定义两个结点:或结点和与结点。(00:08:27)如果有多于 2种取值,可用下图:(00:10:51)2、与结点(00:11:15)仍以求n !为例画出如下与或图(00:12:43)与

44、结点可能有多个相关联的点,这时可描述为下图(00:15:03)下面我们以3!为例来画与或结点图,目的是体会递归的含义。(00:15:55)下面画出了调用和返回的递归示意图(00:17:50)从图可以想象:(00:19:03)幻灯片 26(00:20:21)为了形象地描述递归过程,将上图改画成下图(00:22:23)在这个图中内层”与 外层”有着相同的结构。它们之间你中有.(00:23:25)这相当于从菜心推到”外层。递归算法的出发点不放在初始条 件?.(00:24:21)故事:(00:26:54)怎样编写这种程序?思路上还是先从最简单的情况分析起,搬一搬 看.(00:28:12)2、 在 A

45、柱上有二只盘子,1为小盘,2为大盘。(00:29:10)3、 在A柱上有3只盘子,从小到大分别为1号,2号,3号(00:30:00)move (3, A, B, C)(00:30:04)4、 从题目的约束条件看,大盘上可以随便摞小盘, 相反则不允许。?.(00:34:00) 经过以上步骤,将 1号和 2号盘作为整体从A移至 B,为 3号 盘.(00:34:10)6、定义搬移函数 move(n. A, B, C),物理意义是将 n只盘子从 A .(00:34:12) 这里用与或结点的含义是分解为(1)(2)(3)步。这3步是相关的,相 互.(00:38:46)这里显然是一种递归定义, 当着解 m

46、ove(n-1. A, C, B)时又可想到?.(00:38:48) 这个图很象一颗倒置着的树,结点move(3. A, B, C)是树根,与结 点.(00:38:50)幻灯片 43(00:42:14)这个图很象一颗倒置着的树,结点move(3. A, B, C)是树根,与结 点.(00:42:32)索引: 幻灯片 43(00:01:00)这个图很象一颗倒置着的树,结点move(3, A, B, C)是树根,与结 点.(00:01:24)幻灯片 43(00:01:46)18结点 move(3. A,这个图很象一颗倒置着的树,点.(00:03:20) 幻灯片 43(00:03:30)这个图很象一

47、颗倒置着的树,点.(00:04:40)这里显然是一种递归定义,到?.(00:04:52)6、定义搬移函数 move(n. A, B, C),物理意义是将 经过以上步骤,将1号和2号盘作为整体从盘.(00:04:56)move (3, A, B, C)(00:04:58)经过以上步骤,将1号和2号盘作为整体从盘.(00:05:25)6、定义搬移函数move(n, A, B, C),物理意义是将这里显然是到?.(00:05:28)幻灯片 43(00:05:30) 幻灯片 44(00:05:40)/ *(0 006 26)int main() / 主函数(00:07:30)/以下函数是被主程序调用的

48、函数(00:09:佝void move(i nt m, char p, char q, char r)(00:12:10) else / 如果不为 1,则要调用 move(m-1)(00:12:26) 结 束(00:13:22) 青蛙过河(00:14:38) 幻灯片 2(00:14:46) m< n = = 1>/ *(0。:?。: 10)int main()/ 主函数开始(00:22:22)递归算法举例一一青蛙过河(00:23:22)讨论问题一一青蛙过河(00:23:24) 思路:(00:26:52)3.先看简单情况,河中无柱子:S = 0 , (00:28:00)当 y = 2

49、 时,(00:29:34)再看Jump( S, y )先看一个最简单情况:S = 1, y表一 (00:32:44)为了将过河过程描述得更清楚,我们给出了表表.(00:34:11)结点 move(3. A,当着解 move( n-1.B,B,A,C)是树根,与结C)是树根,与结C,只盘子从A移至A移至只盘子从种递归定义,当着解move(n-1, A, C,1。表中B)时又可想A .(00:04:54)B,为3号B,为3号A .(00:05:26)B)时又可想(00:31:06)L1 L2 L3 L4S= 2, y= 1: S= S1+S2 S1= S2= S-1(00:37:12)S= 2,

50、y= 1: S= S1+S2 S1= S2= S-1(00:37:26)S= 2, y= 1: S= S1+S2 S1= S2= S-1(00:37:50)S= 2, y= 1: S= S1+S2 S1= S2= S-1(00:38:02)L-S2-Y-S1以S1为跳转的目的地,从L经S2Y至U S1,相当于JAMP (1,1?.(00:38:22)L(00:38:30)这样L S1 S2 y R系统分解为:(00:40:50)5.将上述分析出来的规律写成递归形式的与或结点图为:(00:41:54)举例:S= 3, y= 4,算 Jump(3,4)(00:42:32)#include / 预编译命令(00:43:36)/以下函数是被主程序调用的函数(00:44:12)索19 这样L S1 S2 y R系统分解为:(00:00:45) 引:举例:S= 3, y= 4,算 Jump(3,4)(00:00:47)#include / 预编译命令(00:00:49)递归算法举例一一快速排序(00:00:51)快速排序的思路:(00:00:53)我们画出与或图来阐述快速排序的思路:(00:05:21)分区处理:k(00:09:39)1、先解 D结点,D结点是

温馨提示

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

评论

0/150

提交评论