虚实结合任务先行学生成绩管理系统的实现教案return p;子intdel(structdatast[5],intn)/*定义删除函数*/int m, i,q,t:printf("请输入你要删除的同学的学号:ln):scanf("%d’,&m):for(i=l;i<=n;i++)(.if(st[i].number==m)1t=i:break;1for(i=t;i<n;i++)/*删除结点后的所有元素后移*/(st[i]. number=st[i+]].number:st[i].tel=st[i+]].tel:strcpy(st[i].classes,st[i+l].classes);strcpy(st[i].name,st[i+1].name):strcpy(st[i].sex, st[i+]].sex);1q=n-1;returnq:voidfix(structdatast[5],intn/*定义修改函数*/1int i,m, p, t=l;struct data s;printf("请输入你要修改的学生的学号:\n"):scanf("%d",&m);for(i=l;i<=n;i++)(if (st[i]. number==m)(while(t)1printf("你想要修改哪项数据?\n1代表学号\n2代表姓名\n3代表性别\n4代表班级>n5代表联系方式\n(注意:修改完毕请输入)\n):scanf("%d",&p):switch(p)1case l:printf("请输入修改后的学号!n"):scanf("%d",&s.number):st[i].number=s. number;break;case2:printf("请输入修改后的姓名!\n):17
17 虚实结合 任务先行——学生成绩管理系统的实现 教案 return p; } int del(struct data st[5],int n) /*定义删除函数*/ { int m,i,q,t; printf("请输入你要删除的同学的学号:\n"); scanf("%d",&m); for(i=1;i<=n;i++) { if(st[i].number==m) { t=i; break; } } for(i=t;i<n;i++) /*删除结点后的所有元素后移*/ { st[i].number=st[i+1].number; st[i].tel=st[i+1].tel; strcpy(st[i].classes,st[i+1].classes); strcpy(st[i].name,st[i+1].name); strcpy(st[i].sex,st[i+1].sex); } q=n-1; return q; } void fix(struct data st[5],int n) /*定义修改函数*/ { int i,m,p,t=1; struct data s; printf("请输入你要修改的学生的学号:\n"); scanf("%d",&m); for(i=1;i<=n;i++) {if(st[i].number==m) {while(t) { printf("你想要修改哪项数据?\n 1代表学号\n 2代表姓名\n 3代表性别\n 4代表班级\n 5代表联系方式\n (注意:修改完毕请输入)\n"); scanf("%d",&p); switch(p) { case 1: printf("请输入修改后的学号!\n"); scanf("%d",&s.number); st[i].number=s.number; break; case 2: printf("请输入修改后的姓名!\n");
教案虚实结合任务先行一一学生成绩管理系统的实现scanf("%s,s.name);strcpy(st[il.name, s. name) :break;case 3:printf(请输入修改的性别!\n"):'scanf("%s",s.sex);strcpy(st[i].sex,s.sex):break:case 4:printf("请输入修改的班级!\n");scanf("%s",s.classes):strcpy(st[i].classes,s.classes);break;case 5:printf("请输入修改后的联系方式!\n):scanf("%d,&s.tel);st[i]. tel=s. tel:break;case 0:t=0:1break;111)18
18 虚实结合 任务先行——学生成绩管理系统的实现 教案 scanf("%s",s.name); strcpy(st[i].name,s.name); break; case 3: printf("请输入修改的性别!\n"); scanf("%s",s.sex); strcpy(st[i].sex,s.sex); break; case 4: printf("请输入修改的班级!\n"); scanf("%s",s.classes); strcpy(st[i].classes,s.classes); break; case 5: printf("请输入修改后的联系方式!\n"); scanf("%d",&s.tel); st[i].tel=s.tel; break; case 0: t=0; break; } } } }}
虚实结合任务先行一一学生成绩管理系统的实现教案《数据结构及算法设计》教案2,5-6学时一、教学基本信息课程名称于璐线性表的链式存储与实现授课教师授课班级221计算机应用工程1班授课时数授课时间周—1-2节课授课地点81107二、教学分析教1、线性链表、单链表、静态链表的概念、表示及实现方法;学2、循环链表的概念;内3、双向链表的表示与实现;容4、分析顺序表与链表的差异。“链表”是学生接触的线性结构中的第二种存储形式。在前面的教学中,学生对于数据结构的概念应该已经比较清晰,也明确了顺序存储结构的组织形式及其应用,掌握了这学一类数据结构的基本操作原理,对线性结构有了初步的认识和直观印象。因此,本节课将情重点讲解链式存储结构的概念、表示及实现方法。通过对同一个项目分别进行顺序存储和分链式存储的对比,学生会更加深刻的理解数组与链表这两种数据存储形式,并认识到不同的存储形式的适用范围。此外,学生在掌握了单链表相关操作的基础上,通过知识拓展,了解链表的其他结构形式,拓宽学生知识面,可以根据用户对功能的需求侧重点选择合理的数据结构编程实现、解决问题。三、教学目标确定1、掌握单链表的结点结构;掌握头结点、头指针和首元结点的概念;2、知识目标3、单链表中数据关系的表示方法;掌握线性表不同链式存储结构下基本操作的实现;4、5、掌握链表和顺序表之间的异同。1、具有查阅资料、自主学习的能力;教2、具有初步算法分析和设计的能力:能力目标学3、具有独立学习,获取新知识和技能,在工作中发现问题、与分析问题、解目决问题的能力。标1、信息意识方面:使学生能够运用生活中的实例描述数据的内涵与外延,能够将有限制条件的、复杂生活情境中的关系进行抽象,用合理的数据结构表达数据的逻辑关系;素质目标2、计算思维方面:使学生能够从数据结构的视角审视基于数组、链表的程序,解释程序中数据的组织形式,描述数据的逻辑结构及其操作,评判其中数据结构运用的合理性;能够针对限定条件的实际问题进行数据抽象,运用数据结构合理组织、存储数据,选择合适的算法编程实现、解决问题。1、链表的逻辑结构;教学重点2、单链表的存储结构;3、单链表的基本运算及其实现;19
19 虚实结合 任务先行——学生成绩管理系统的实现 教案 《数据结构及算法设计》教案 2,5-6 学时 课程名称 线性表的链式存储与实现 授课教师 于璐 授课班级 21 计算机应用工程 1 班 授课时数 2 授课时间 周一 1-2 节课 授课地点 81107 教 学 内 容 1、线性链表、单链表、静态链表的概念、表示及实现方法; 2、循环链表的概念; 3、双向链表的表示与实现; 4、分析顺序表与链表的差异。 学 情 分 析 “链表”是学生接触的线性结构中的第二种存储形式。在前面的教学中,学生对于数 据结构的概念应该已经比较清晰,也明确了顺序存储结构的组织形式及其应用,掌握了这 一类数据结构的基本操作原理,对线性结构有了初步的认识和直观印象。因此,本节课将 重点讲解链式存储结构的概念、表示及实现方法。通过对同一个项目分别进行顺序存储和 链式存储的对比,学生会更加深刻的理解数组与链表这两种数据存储形式,并认识到不同 的存储形式的适用范围。此外,学生在掌握了单链表相关操作的基础上,通过知识拓展, 了解链表的其他结构形式,拓宽学生知识面,可以根据用户对功能的需求侧重点选择合理 的数据结构编程实现、解决问题。 教 学 目 标 知识目标 1、掌握单链表的结点结构; 2、掌握头结点、头指针和首元结点的概念; 3、单链表中数据关系的表示方法; 4、掌握线性表不同链式存储结构下基本操作的实现; 5、掌握链表和顺序表之间的异同。 能力目标 1、具有查阅资料、自主学习的能力; 2、具有初步算法分析和设计的能力; 3、具有独立学习,获取新知识和技能,在工作中发现问题、与分析问题、解 决问题的能力。 素质目标 1、信息意识方面:使学生能够运用生活中的实例描述数据的内涵与外延,能够 将有限制条件的、复杂生活情境中的关系进行抽象,用合理的数据结构表达数 据的逻辑关系; 2、计算思维方面:使学生能够从数据结构的视角审视基于数组、链表的程序, 解释程序中数据的组织形式,描述数据的逻辑结构及其操作,评判其中数据结 构运用的合理性;能够针对限定条件的实际问题进行数据抽象,运用数据结构 合理组织、存储数据,选择合适的算法编程实现、解决问题。 教学重点 1、链表的逻辑结构; 2、单链表的存储结构; 3、单链表的基本运算及其实现;
虚实结合任务先行一一学生成绩管理系统的实现教案4、双链表的逻辑结构与基本操作。1、单链表上实现的基本运算;教学难点2、能理解数组、链表的区别,并能用程序实现链表的基本操作。选择合理的数据结构编程实现、解决问题。四、思政融入课堂强调在上机调试程序过程中,需要学生从一个又一个的错误中走出来,塑造学生克服团难,勇攀高峰的无畏精神。五、课程在项目中的定位在系统任意位置增加记录(包括随机位置增加增加和指定位置增加)根据给定关键字执行高效查询查询在系统中除指定信息(保证指定剧除位置删除或指定删除内容)学生成绩管理系统在系统中修改指定信息(保证指定剧除位置修改或指定修改内容)总成绩=综合素质表现分*25%+文化课(包括成绩量化考核体育课)成绩*50%+实践技能成绩*25%等奖学金1000元,占全班人数5%奖学金推优二等奖学金600元,占全班人数10%三等奖学金300元,占全班人数15%采用链式存储结构实现增、删、查、改四项基本功能,对比顺序表和链表的算法复杂度,通过不同的数据结构对程序进行优化,:提升系统运行效率。六、教学策略学习环境:机房、局域网,交互式电子黑板学习资源:教6、专题学习网站:包括慕课网、学习通、职教云等;学7、授课课件:根据此节学习内容制作的PPT课件;资8、多媒体资源库:虚拟仿真演示案例、项目演示案例;源9、案例库:课堂练习题库、测验题库等;10、精品课程网站:本门课程的精品课程网站;11、VC6.0++运行环境:进行案例演示及学生练习项目的专业运行环境。1、给出单链表的存储结构示意图,强调存储要点,总结存储特点:2、利用算法动画演示,分析单链表的插入、删除、查找运算执行过程,写出其算法并分析;设3、利用算法动画演示,分析单链表的头插法、尾插法建表运算执行过程,写出算法并分计析;思4、给出循环链表的存储结构示意图,强调存储要点,总结存储特点;路5、给出双链表的存储结构示意图,强调存储要点,总结存储特点;6、利用算法动画演示,分析双链表的插入、删除运算执行过程,写出查找算法及分析;7、对3种不同结构的链表进行分析总结;8、总结线性结构的顺序存储与链式存储的优缺点,分析其使用范围。20
20 虚实结合 任务先行——学生成绩管理系统的实现 教案 4、双链表的逻辑结构与基本操作。 教学难点 1、单链表上实现的基本运算; 2、能理解数组、链表的区别,并能用程序实现链表的基本操作。选择合理的 数据结构编程实现、解决问题。 四、 强调在上机调试程序过程中,需要学生从一个又一个的错误中走出来,塑造学生克服困难, 勇攀高峰的无畏精神。 课程在项目中的定位 采用链式存储结构实现增、删、查、改四项基本功能,对比顺序表和链表的算法复杂度,通 过不同的数据结构对程序进行优化,提升系统运行效率。 教 学 资 源 学习环境:机房、局域网,交互式电子黑板 学习资源: 6、 专题学习网站:包括慕课网、学习通、职教云等; 7、 授课课件:根据此节学习内容制作的 PPT 课件; 8、 多媒体资源库:虚拟仿真演示案例、项目演示案例; 9、 案例库:课堂练习题库、测验题库等; 10、 精品课程网站:本门课程的精品课程网站; 11、 VC6.0++运行环境:进行案例演示及学生练习项目的专业运行环境。 设 计 思 路 1、给出单链表的存储结构示意图,强调存储要点,总结存储特点; 2、利用算法动画演示,分析单链表的插入、删除、查找运算执行过程,写出其算法并分 析; 3、利用算法动画演示,分析单链表的头插法、尾插法建表运算执行过程,写出算法并分 析; 4、给出循环链表的存储结构示意图,强调存储要点,总结存储特点; 5、给出双链表的存储结构示意图,强调存储要点,总结存储特点; 6、利用算法动画演示,分析双链表的插入、删除运算执行过程,写出查找算法及分析; 7、对 3 种不同结构的链表进行分析总结; 8、总结线性结构的顺序存储与链式存储的优缺点,分析其使用范围
虚实结合任务先行一一学生成绩管理系统的实现教案顾序存储结构RE创物的能与特生第一0需中年个值点用网免期的特性B个0m2a-9LE0的用0Rm供需用的空可不国您的健加流你的动购线性结构分类催式存储结构045件核流点的摄入与导健我在点的访得与历单费单庆都在表克装ER顾序存储与缝式存储的比较老自的通用图教学方法:1、学生利用精品课及微课资源复习本节课知识,进行知识巩固;2、教师通过学习通发布作业通知,学生接收作业,并根据所学知识选用适当的数据结构及算法进行任务实现;3、学生在线提交作业,教师根据学生提交的作业评估学生对于知识点的掌握情况,根据具体情况单独或集体进行答疑,并及时调整授课计划及授课内容。指定预习内容专题学习网站进行相关内容自学。预习阶段根据预习内容,在网上搜寻能体现该知寻找真实案例识点技术的真实案例。情景导入V因案例遇通过学生自主查询案例及组同讨论,对本节分单分车紫例行总线课沙及的知识点有一个初步的认识及个人理知识导入V解,并体会到本节课知识点的实际应用价值,学入本节课项目案例V分析事凭,引出课堂内容课堂讲解分解项目,针对项目不同功能具体讲解涉知识点关健代码框序动修防真滚及的知识点,并遗行虚报份真,将抽象的讲解教开背实现知识理解数据变化过程实例化,深化理解。L学及深化自主究流板据所学知识,结合范例项目功能的实现恶侯出瑜园给点实现程分组讨证路进行知识迁移,完点练习,强优知识理解,需求方素提升动手能力。V妇纳小结VPARFER导动华业院点4一9#4款回顾本节课知识,建立知识体系架构。BEEL创R2练习反情V知识迁完成在对结果做移提升选当评价线排习实践能V力通过完成综合项目,使学生的学习由“自学拓展延伸教学一练习一知识拓展”形成了一个环,Io印大遗一步蛋化学生的知识理解,并内化进个人我林习现排片伊丽实物执合技能。V结束21
21 虚实结合 任务先行——学生成绩管理系统的实现 教案 教学方法: 1、学生利用精品课及微课资源复习本节课知识,进行知识巩固; 2、教师通过学习通发布作业通知,学生接收作业,并根据所学知识选用适当的数据结构 及算法进行任务实现; 3、学生在线提交作业,教师根据学生提交的作业评估学生对于知识点的掌握情况,根据 具体情况单独或集体进行答疑,并及时调整授课计划及授课内容。 教 学 流 程