过程和函数精选文档.ppt
《过程和函数精选文档.ppt》由会员分享,可在线阅读,更多相关《过程和函数精选文档.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、过程和函数本讲稿第一页,共二十八页过程部分过程部分本讲稿第二页,共二十八页【问题描述】给一维数组输入任意n个整数,假设为n=6:7 4 8 9 1 5请建立一个具有以下内容的方阵:7 4 8 9 1 54 8 9 1 5 78 9 1 5 7 49 1 5 7 4 81 5 7 4 8 95 7 4 8 9 1问题一问题一 变化方阵变化方阵【输入样例】6【输出样例】7 4 8 9 1 54 8 9 1 5 7 8 9 1 5 7 4 9 1 5 7 4 8 1 5 7 4 8 9 5 7 4 8 9 1本讲稿第三页,共二十八页【问题分析】读入n个数放在一个一维数组中之后,就可以放心来处理这个问
2、题了,那么这个数字组成的方阵有什么规律呢?注意到其中的每一行其实就是将第一个数字放置在最后一个位置,其他的向前平移一位,那么这样一个相同的操作,就可以使用过程来完成,单独定义一个平移和插入的操作。每次拿这个一维数组去做这样的过程就可以了。【关键点】平移+过程本讲稿第四页,共二十八页问题二问题二 加法运算加法运算【问题描叙】求a+b的和(-10100a,b 10100)【输入样例】1 2 【输出样例】3本讲稿第五页,共二十八页【问题分析】虽然说的是加法,实际上还是比较复杂的,如果你仔细注意到其中的a、b的取值范围,你就会发现,其实这之中还有减法,而且这个问题也是超过正常数字保存的范围,所以需要高
3、精度。因此我们需要定义两个过程,一个是加法的、一个减法,这样我们把各种的情况都考虑清楚就可以了。【关键点】过程+高精度加减法本讲稿第六页,共二十八页问题三问题三 圣诞树圣诞树【问题描叙】圣诞节要到了,不少商家在宣传板上绘制了圣诞树的图案,如图所示。一棵圣诞树由A和B两部分组成:A是由n(n)个呈三角形的字符矩阵构成的,每个字符矩阵由三个参数ai、bi、ci唯一确定。Ai表示字符矩阵第一行字符的个数;bi表示字符矩阵从第二行开始每一行与它上面那行的字符数之差均为bi;ci则表示字符矩阵的行数。B是一个x行y列的长方形,由x和y这两个参数唯一确定。因为圣诞树是中轴对称的,所以根据所有的参数构成的圣
4、诞树是唯一确定的。简单来讲,我们所说的一棵圣诞树就是像图那样的*矩阵,每一行的字符是指若干个连在一起的*。本讲稿第七页,共二十八页【输入格式】输入数据分若干行。第一行是一个整数n,表示A部分中字符矩阵的个数。以下n行,每行有三个正整数ai、bi、ci(ai为奇数,bi为偶数)。输入数据的最后一行,有两个正整数x、y(y是奇数),表示B部分的行数和列数。【输出格式】对于输入数据给定的圣诞参数,输出与之对应的圣诞树矩阵。【说明】(1)输入数据保证圣诞树不会超出一页纸的范围。(2)要求圣诞树是轴对称的,并且字符矩阵的第一列至少有一个非空格字符,即圣诞树尽量“顶格写”。在以上要求下,输出的圣诞树矩阵一
5、定是唯一的(不考虑每行行末的空格)。本讲稿第八页,共二十八页【输入样例】31 4 35 4 35 4 42 5【输出样例】*本讲稿第九页,共二十八页【问题分析】题目中已经提示我们,圣诞树是由A 和B 两部分构成。因此绘制图形也分两部分来考虑。而A 和B 的绘制都要考虑图形的对称轴。于是,将整个问题分解为三个子问题:()确定对称轴;()绘制A 部分;()绘制B 部分。本讲稿第十页,共二十八页【问题分析】分析子问题:设*个数最多的行有m 个*,那么A 和B 部分的对称轴所在列数就应该是(m )div 。分析子问题:A 部分分成了n 段树,每一段树的图形打印方式是类似的,所以只需要着眼于如何打印某一
6、段树即可。这个小问题是一个关于循环的问题,在循环结构程序设计中已经研究过。分析子问题:B 部分的填充比较容易,填入x 行,每行y 个*即可。再深入分析一下,还有一个巧妙的处理,B 部分实际上相当于A 中的特殊段:ai y,bi ,ci x。于是,子问题 也可以归入子问题。至此,成功解决了输出圣诞树这个问题。【关键点】过程+找规律本讲稿第十一页,共二十八页函数部分函数部分本讲稿第十二页,共二十八页问题问题4 信封问题信封问题【问题描述】在第一轮预选赛中,蓝猫和淘气轻松过关。他们俩准备给远方的啦啦寄去2张他们自己设计的卡片。蓝猫准备的卡片大小为90毫米70毫米,淘气准备的卡片大小为120毫米60毫
7、米,他们发现快递公司的标准信封大小为340毫米245毫米,用那个信封真是浪费了。如果他们自己设计一个120毫米70毫米的信封完全可以装下两张卡片。如果他们设计的卡片太大,快递公司的信封又装不下。(按照快递(按照快递公司的标准来)公司的标准来)现在请你编程帮助他们计算一下,如果给出他们设计的卡片大小,能同时装下这两张卡片的信封最小尺寸是多少?本讲稿第十三页,共二十八页输入格式:输入文件只有一行,有四个用空格隔开的整数,分别表示蓝猫和淘气设计的卡片大小,以毫米为单位输出格式:输出文件只有一行,有两个用空格隔开的整数,表示最小信封的大小,以毫米为单位,要求将较长的边写在前面。【输入样例】90 70
8、120 60【输出样例】120 70【数据范围】在70%的数据中,1N30000;在100%的数据中,1N2000000000;本讲稿第十四页,共二十八页【问题分析】本题简要的题意就是找到两个卡片的长度最长的,宽度最长的,可是第一个和第三个数真的是最大值吗?题意没有说明所以,需要调整:第一种办法是把第一个数和第二个数、第三个数和第四个数从大到小排序。第二种办法是求出第一个数和第二个数的最大值和最小值,第三个数和第四个数的最大值和最小值。解决了这个问题后,我们可以将第一个数和第三个数求最大值,第二个数和第四个数求最大数。这样就可以了吗?本讲稿第十五页,共二十八页【问题分析】注意到数据的范围,如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 函数 精选 文档
限制150内