所属成套资源:信息技术沪教版选修1数据与数据结构全册备课PPT课件+教案+单元练习
高中信息技术第二单元 初识数据结构单元挑战 实现学校学生健康情况登记表的操作公开课ppt课件
展开
这是一份高中信息技术第二单元 初识数据结构单元挑战 实现学校学生健康情况登记表的操作公开课ppt课件,文件包含第二单元挑战pptx、第二单元挑战doc等2份课件配套教学资源,其中PPT共20页, 欢迎下载使用。
第二单元挑战 实现学校学生健康情况登记表的操作❑教材分析本节的主要内容是实现学校学生健康情况登记表的操作。本项目开展的学习、讨论和实践,让学生对学校学生健康情况登记表进行操作,根据所学的数据结构知识,实现学生信息的添加和删除操作。提升信息意识,提高数据素养,肩负起信息社会责任,从容应对数据时代的各项挑战。❑教学目标1.巩固数据结构知识;2.程序设计的基本思想、原理和算法描述;3.编写删除操作函数;4.编写插入操作函数。❑教学重点1.程序设计的基本思想、原理和算法描述;2.编写删除操作函数;3.编写插入操作函数。❑教学难点1.编写操作函数;❑教学方法体验法、讲授法、讨论法、示例法❑教学准备 计算机教室、多媒体设备、多媒体广播软件、教学课件、安装Python编程的相关软件、学生上机练习的程序文件,学生工作单等。❑教学过程一、新课导入 复习本单元所学知识,引出本单元挑战的主题——实现学校学生健康情况登记表的操作。二、项目任务现有某学校的学生健康情况登记表如表2-6所,表中每个学生的情况为一个记录它由姓名、性别、年龄、班级和健康状况等5个数据项组成。表2-6学生健康情况登记表姓名性别年龄班级健康状况李林男17高二6班良好汤晨女16高二6班良好王平平男17高二6班一般陈小莉女17高二6班良好………………………… 若用数组存储表中数据,假设班级人员变化,新进来“常龙”同学(男生、17岁,高二6班、健康状况良好),需要添加在“王平平”和“陈小莉”之间;又由于“李林”转学,需要将他的记录删除,请编程实现相应的操作。三、项目指引1.给出程序设计的基本思想、原理和算法描述。2.画出流程图,并编写程序。(1)编写删除操作函数。(2)编写插入操作函数(3)实现以下功能①调用插入操作函数,在上表中“王平平”和“陈小莉”之间插入“常龙”同学②调用删除操作函数,删除表中“李林”同学③输出最终的表。3.给源程序添加注释,保存并打印出程序及运行结果。#完整代码如下: class student(object): #学生健康的类定义 def _init_(self, name=" ", sex=" ", age=0, grade=" ",health=””): self. name=name self. sex=sex self. age =age self. grade=grade self.health= healthclass SeqList object):#线性表的数组实现 def _init_(self, max= 10): self.max=max #默认顺序表最多容纳10个元素#初始化顺序表数组 self. num= 0 self.data=[None]*self.max def getLoc(self, value):#根据学生的名字,找学生所在的位置n=0 for j in range( self. num): if self.data [ j].name is value: return j if j == self. num: return-1#如果遍历顺序表还未找到 value值相同的元素,则返回1表示顺序表中没有 value值的元素 def insert_sq( self,i,elem):#数组任意位置插入操作: if not isinstance(i, int): raise TypeError if i<0 and i > self.num: raise IndexError #self.data.append(student) for j in range( self.num, i-I,-1): Self.data[j]= self. Data[j-1] self.data[i]= elem self.num += 1# print(“插入完成”)def delete_sq( self, i): #删除某一位置的操作 if not isinstance( i, int): raise TypeError if i< 0 and i >= self.num: raise IndexError for j in range(i, self. num-1):#此处是 self.num-1,因为循环中是j+1 #print(j,self. data[j],self.data[ j+1]) self.data[j]= self.data[j+ 1] del self.data[ self.num-1] self.num-= 1print("删除完成”)def printlist(self):#输出操作 for i in range(0, self. num): #print( self.data[ i]) stu =self.data[i] print( stu.name, stu.sex, stu.age, stu.grade, stu.health)print(“-------------------输出完成------------------”)s1= student("李林”,"男”,17,”高二(6)班”,”良好”)s2= student(“汤晨”,"女”,16,”高二(6)班”,"良好”)s3= student(“王平平”,"男”,17,”高二(6)班”,“一般")s4= student("陈小莉",”女”,17,"高二(6)班","良好”)seq=Seqlist()seq.insert_sq(0, s1)seq. insert_sq( I, s2)seq. insert_sq(2,s3)seq. insert_sq(3, s4)seq. printlist()x=seq.getloc("陈小莉”)s5= student("常龙”)if x!= -1: seq. Insert_sq(x,s5)#调用插入函数,插入常龙同学else:print("插入位置出错”)seq printlist()If x!= -1:Seq.delete_sq(seq.getloc(“李林”)) #调用除函数,删除林同学Else:Print(“插入位置出错")seq.printList() 四、交流评价与反思以自己熟悉的信息表达工具(如演示文稿等)制作电子作品,通过网络或课堂展示交流自己的程序,并对他人的程序进行评价。
相关课件
这是一份选修1 数据与数据结构第二章 数据与链表2.2 链表优质课件ppt,文件包含221链表的概念特性基本操作课件pptx、221链表的概念特性基本操作教学设计doc等2份课件配套教学资源,其中PPT共26页, 欢迎下载使用。
这是一份选修1 数据与数据结构第二章 数据与链表2.1 数组公开课课件ppt,文件包含211数组的概念特性基本操作课件pptx、211数组的概念特性基本操作教学设计doc等2份课件配套教学资源,其中PPT共26页, 欢迎下载使用。
这是一份沪教版(2019)必修2 信息系统与社会单元挑战 规划学校信息化管理系统网络一等奖ppt课件,文件包含沪科版2019高中必修2信息技术第3单元挑战规划学校信息化管理系统网络课件pptx、沪科版2019高中必修2信息技术第3单元挑战规划学校信息化管理系统网络教案doc等2份课件配套教学资源,其中PPT共28页, 欢迎下载使用。