课题序号实施课时1使用教具粉笔、投影仪课题名称§6数组应用专题——数组的移动与插入教学目标(知识与技能,过程与方法,情感、态度与价值观)1、 掌握数组移动的方式(向左、向右)2、 掌握数据插入的位置(尾部、中间)教学重点掌握移动、插入对应的程序思想和程序段教学难点应用移动与插入读程序、编程序教学内容教师活动学生活动复习引入:高矮个排队问题,引入数组元素的移动与插入一、 数组元素的移动(假设n个元素) 数组元素的移动,主要指数组中元素的位置发生变化1、 向左x=a[0]; x=a[0];for(i=0; ivoid main(){ int i,j,x,n=8,a[8]={18,11,21,25,14,15,46,17}; printf(“the original numbers are:\n”); for(i=0;i<=7;i++) printf(“%d”,a[i]); printf(“\n”); x=a[3]; for( j=4;j<=7;j++) a[j-1]=a[j]; a[7]=x; printf(“the sorted numbers are:\n”); for(i=0;ivoid main(){ int i,j,x,n=10,a[10]={ 20,21,22,23,24,25,26,27,28,29}; printf(“the original numbers are:\n”); for(i=0;i<=n-1;i++) printf(“%d”,a[i]); printf(“\n”); for(i=6;i<=9;i++) { x=a[9];for(j=9;j>2;j--) a[j]=a[j-1]; a[2]=x;} for(i=0;i
2、 插在数列尾部 a[N]=x;3、 插在数列前部x的位置小于n时(即x将插入到a[i]之前),这需要将a[i], a[i+1],…,a[n-1],全部顺次后移一位,编程时采用由后向前的循环来实现该操作,且后移时直接将前一元素的值赋给后一元素即可,a[j+1]=a[j]在a[i]已空出后,将x存入: a[i]=xfor(i=0;i=i;j--) a[j+1]=a[j]; a[i]=x; break; }堂练3:有一个已排好序的数列(3,5,6,7,8,11,12,14,20,30),现有数据x,插入到该数列中,仍然保持数列的有序性堂练4:有一个5×5的数组,数值依次为11,12,13,14,14,20,5,6,7,8,11,12,10,14,15,12,24,55,66,11,18,9,22,33,12将每一行中的最小数移到该行第一个数位置,保持原有数据位置相对不变小结:1、定义数组时元素的个数n+12、输入的x可能有两种情况:大于30;小于等于30.3、移动的起止位置(即下标的范围)教学评价:组名本堂课加分组内满意度老师满意度第一小组第二小组第三小组第四小组反思:经过一次又一次的反思——提高——再反思——再提高的过程,教师们受益非浅,也更加深刻地认识到了在C语言编程语言课教学中及时反思的重要性和必要性,它会使我逐渐形成自我反思的意识和自我监控的能力。
在今后的教学管理中,我会通过不断地反思来提高自己的教学管理水平和创新能力以此提高学生学习计算机的兴趣,使学生主动地学习,培养学生的自学能力和创造发挥能力情景引入幻灯片演示引导学生讨论程序段的书写读程序分析程序功能引导学生独立完成引导学生讨论程序段的书写读程序分析程序功能观察数组元素位置的变化小组讨论代表发言口头表述如何变化口述程序运行过程及元素位置变化独立思考,完成习题观察数组元素位置的变化小组讨论代表发言口头表述如何变化分析讨论后代表上黑板板书程序段独立思考,完成习题课后作业:练习册P.71。