c程序设计 矩阵的旋转 (2).doc

上传人:人*** 文档编号:547706048 上传时间:2024-02-19 格式:DOC 页数:4 大小:74.01KB
返回 下载 相关 举报
c程序设计 矩阵的旋转 (2).doc_第1页
第1页 / 共4页
c程序设计 矩阵的旋转 (2).doc_第2页
第2页 / 共4页
c程序设计 矩阵的旋转 (2).doc_第3页
第3页 / 共4页
c程序设计 矩阵的旋转 (2).doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《c程序设计 矩阵的旋转 (2).doc》由会员分享,可在线阅读,更多相关《c程序设计 矩阵的旋转 (2).doc(4页珍藏版)》请在金锄头文库上搜索。

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

2、时针360度三、 矩阵旋转的3种情况编程1:顺时针90度假设原矩阵a34,赋值时值和下标相同方法I:已知新数组bij:原数组的列为新数组的行原数组的行=2-新数组的列bij=a2-ji方法II:已知原数组aij:新数组的行为原数组的列新数组的列=2-原数组的行bj2-i = aij方法II只要修改蓝色代码为:for(i=0;i3;i+)for(j=0;j4;j+)bj2-i = aij;特别注意for循环的循环次数2:顺时针180度方法I:已知新数组bij:原数组的行=2-新数组的行原数组的列=3-新数组的列bij=a2-i3-j方法II:已知原数组aij:新数组的行=2-原数组的行新数组的列

3、=3-原数组的列b2-i3-j=aij3:顺时针270度方法I:已知新数组bij:原数组的列=3-新数组的行原数组的行=新数组的列bij=aj3-i方法II:已知原数组aij:新数组的行=3-原数组的列新数组的列=原数组的行b3-ji=aij老师提问:矩阵旋转分为几种情况学生讨论:。学生回答:。老师提问:矩阵旋转的所有情况中,哪几种旋转效果是相同的?学生讨论:。学生回答:。老师提问:顺时针360度、逆时针360度与原矩阵有什么关系?学生讨论后回答:。答案:顺时针360度、逆时针360度与原矩阵相同所以矩阵的旋转实际上只有3种情况。让学生画出顺时针90度后的矩阵答案: 旋转后放入新矩阵bij中

4、让学生讨论并找出bij与原数组a之间的关系。学生编程:数组a按要求赋值并显示,按顺时针90度规则放入数组b中,变显示b数组。I参考程序:#includemain( ) int a34,b43; int i,j;for(i=0;i3;i+)for(j=0;j4;j+)aij=10*i+j; /赋值 printf(原矩阵:n); for(i=0;i3;i+)for(j=0;j4;j+)if(aij/10=0)printf( 0%d ,aij);else printf(%3d ,aij); printf(n); /显示原矩阵 for(i=0;i4;i+)for(j=0;j3;j+)bij=a2-ji

5、;/放入b中printf(n新矩阵:n); for(i=0;i4;i+)for(j=0;j3;j+)if(bij/10=0) printf( 0%d ,bij);else printf(%3d ,bij); printf(n);让学生画出顺时针180度后的矩阵答案: 旋转后放入新矩阵bij中 让学生讨论并找出bij与原数组a之间的关系,并编程验证。方法I:for(i=0;i4;i+) for(j=0;j3;j+) bij=a2-i3-j;方法II:for(i=0;i3;i+) for(j=0;j4;j+)b2-i3-j=aij;让学生画出顺时针270度后的矩阵答案: 旋转后放入新矩阵bij中

6、让学生讨论并找出bij与原数组a之间的关系,并编程验证。方法I:for(i=0;i4;i+) for(j=0;j3;j+) bij= aj3-i;方法II:for(i=0;i3;i+) for(j=0;j4;j+)b3-ji=aij;教学内容师生活动四、总结总结:顺时针90度:for(i=0;i4;i+)for(j=0;j3;j+)bij=a2-ji;/放入b中顺时针180度:for(i=0;i4;i+)for(j=0;j3;j+) bij=a2-i3-j;顺时针270度:for(i=0;i4;i+)for(j=0;j3;j+) bij= aj3-i;观察代码:只有180度的旋转新矩阵的行、列与原矩阵的行、列对应不变;90度、270度的旋转新矩阵的行与原矩阵的列、新矩阵的列与原矩阵行对应。思考:1:矩阵的转置同矩阵的旋转有关系吗?2:上面我们学习的方法I、方法II是按行优先顺序还是按列优先顺序? 请对顺时针90度旋转的方法I改成列优先顺序编程。板书设计一、 矩阵的旋转二、 矩阵旋转的所有情况中,相同的情况三、 矩阵旋转的3种情况编程1、 顺时针90度2、 顺时针180度3、 顺时针270度四、总结教后记通过适当的引导学生能掌握分析问题的方法,但是转变程序时还有点问题,以后对编程的练习要加强。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号