c程序设计 矩阵的旋转

c程序设计 矩阵的旋转

ID:15388087

大小:74.00 KB

页数:4页

时间:2018-08-03

c程序设计 矩阵的旋转_第1页
c程序设计 矩阵的旋转_第2页
c程序设计 矩阵的旋转_第3页
c程序设计 矩阵的旋转_第4页
资源描述:

《c程序设计 矩阵的旋转》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、宿城区职教中心活页教案课题矩阵的旋转编程授课时间2012年3月19日星期一教学目标知识目标了解二维数组旋转相关知识能力目标培养二维数组程序设计能力情感目标通过编程的过程享受编程的成就感,增加自我肯定的意识教学重难点重点旋转前后数组的关系难点二维数组旋转编程教法与学法讲授法、练习法、讨论法教具准备多媒体、机房教学过程教学内容师生活动一、矩阵的旋转矩阵的旋转有8种情况:逆时针90度、180度、270度、60度;顺时针90度、180度、270度、360度二、相同情况逆时针90度与顺时针270度;逆时针180度与顺时针180度逆时针270度与顺时针90度逆时针360度与顺

2、时针360度三、矩阵旋转的3种情况编程老师提问:矩阵旋转分为几种情况学生讨论:。。。学生回答:。。。老师提问:矩阵旋转的所有情况中,哪几种旋转效果是相同的?学生讨论:。。。学生回答:。。。老师提问:顺时针360度、逆时针360度与原矩阵有什么关系?学生讨论后回答:。。。。。答案:顺时针360度、逆时针360度与原矩阵相同所以矩阵的旋转实际上只有3种情况。1:顺时针90度假设原矩阵a[3][4],赋值时值和下标相同方法I:已知新数组b[i][j]:原数组的列为新数组的行原数组的行=2-新数组的列b[i][j]=a[2-j][i]方法II:已知原数组a[i][j]:新

3、数组的行为原数组的列新数组的列=2-原数组的行b[j][2-i]=a[i][j]方法II只要修改蓝色代码为:for(i=0;i<3;i++)for(j=0;j<4;j++)b[j][2-i]=a[i][j];特别注意for循环的循环次数让学生画出顺时针90度后的矩阵答案:旋转后放入新矩阵b[i][j]中让学生讨论并找出b[i][j]与原数组a之间的关系。学生编程:数组a按要求赋值并显示,按顺时针90度规则放入数组b中,变显示b数组。I参考程序:#includemain(){inta[3][4],b[4][3];inti,j;for(i=0;i<3

4、;i++)for(j=0;j<4;j++)a[i][j]=10*i+j;//赋值printf("原矩阵:");for(i=0;i<3;i++){for(j=0;j<4;j++){if(a[i][j]/10==0)printf("0%d",a[i][j]);elseprintf("%3d",a[i][j]);}printf("");}//显示原矩阵for(i=0;i<4;i++)for(j=0;j<3;j++)b[i][j]=a[2-j][i];//放入b中printf("新矩阵:");for(i=0;i<4;i++){for(j=0;j<3;j++

5、){if(b[i][j]/10==0)printf("0%d",b[i][j]);elseprintf("%3d",b[i][j]);}printf("");}}2:顺时针180度方法I:已知新数组b[i][j]:原数组的行=2-新数组的行原数组的列=3-新数组的列b[i][j]=a[2-i][3-j]方法II:已知原数组a[i][j]:新数组的行=2-原数组的行新数组的列=3-原数组的列b[2-i][3-j]=a[i][j]3:顺时针270度方法I:已知新数组b[i][j]:原数组的列=3-新数组的行原数组的行=新数组的列b[i][j]=a[j][3-i]方

6、法II:已知原数组a[i][j]:新数组的行=3-原数组的列新数组的列=原数组的行b[3-j][i]=a[i][j]让学生画出顺时针180度后的矩阵答案:旋转后放入新矩阵b[i][j]中让学生讨论并找出b[i][j]与原数组a之间的关系,并编程验证。方法I:for(i=0;i<4;i++)for(j=0;j<3;j++)b[i][j]=a[2-i][3-j];方法II:for(i=0;i<3;i++)for(j=0;j<4;j++)b[2-i][3-j]=a[i][j];让学生画出顺时针270度后的矩阵答案:旋转后放入新矩阵b[i][j]中让学生讨论并找出b[i]

7、[j]与原数组a之间的关系,并编程验证。方法I:for(i=0;i<4;i++)for(j=0;j<3;j++)b[i][j]=a[j][3-i];方法II:for(i=0;i<3;i++)for(j=0;j<4;j++)b[3-j][i]=a[i][j];教学内容师生活动四、总结总结:顺时针90度:for(i=0;i<4;i++)for(j=0;j<3;j++)b[i][j]=a[2-j][i];//放入b中顺时针180度:for(i=0;i<4;i++)for(j=0;j<3;j++)b[i][j]=a[2-i][3-j];顺时针270度:for(i=0;i<

8、4;i++

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。