教科版2019信息技术必修1数据与计算
第3单元认识数据3.3数据与系统教学设计
【教材分析】
本项目主要包含“探究‘旅行线路’”“走近火车票订票系统”“探究订票系统功能”和“设计‘旅行小助手系统’”四个任务。
某同学经常和亲友们一起旅游。结合信息技术课程的学习,他想自己开发一个旅行小助手系统,用它来解决自己遇到的旅行线路管理、交通乘车指导、以往旅游相关记录管理等各种问题。我们将通过下面的活动了解这个系统的构成并熟悉系统,进而尝试帮助他全面地设计、规划这个系统。
任务一“探究‘旅行线路’”是让学生通过“活动1初看旅行线路”,亲身体验图形用户界面,以及如何使用tkinter模块创建可视化界面(一个窗体两个按钮);通过“活动2更新旅行线路”,为按钮编写单击事件代码,向文本文件中写入数据。两个活动相互关联,前者主要是对图形用户界面建立感性认识,后者是利用图形用户界面的交互功能,实现对文本文件的读写操作。建议任务
一安排1课时。
任务二“走近火车票订票系统”包含两个活动,一是通过“活动1查车次”登陆12306网站,查厦门到成都的车次信息,进而引出问题:如何换乘?为此,搜集换乘的车次信息,并用WPS表格存储。二是通过“活动2整理购票信息”,体验到使用WPS表格整理数据不太方便,尝试使用Access数据库,逐步认识数据库、数据表、数据库管理系统等重要概念和相关操作,其中对数据表的操作,可由对WPS表格的操作经验迁移而来。两个活动是递进关系,前者是后者的铺垫。建议任务二安排1课时。
任务三“探究订票系统功能”包含两个活动:活动1 查询换乘方案,活动2 满足个性化需求。活动1介绍表间关系,通过两个表字段间的关联,实现简单查询,但查询结果不太合理(时间衔接有问题),引出条件查询。活动2则使用条件查询,满足个性化要求。通过查询,引出数据库的管理和维护,以及数据库系统。建议任务三安排1课时。
任务四“设计‘旅行小助手系统’”包含两个活动:活动1 设计系统功能和应用程序界面,活动2 设计系统数据库。本任务以“旅行小助手系统”的设计开发为例,让学生体会数据库系统的一般设计流程和规则:功能设计、界面设计、数据库设计。建议任务四安排1课时。acess数据库
通过四个任务的学习,使学生能了解可视化图形界面程序的基本特点,使用tkinter模块创建可视化界面,了解文本文件的读写操作,了解Access数据库的基本操作和功能,体验数据库系统程序设计一般过程与方法。
【教学建议】
数据库系统,是由数据库及其管理软件组成的系统。数据库系统是为适应较大型数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
1.数据的结构化,数据的共享性好,数据的独立性好,数据存储粒度小,数据管理系统,为用户提供了友好的接口。
2.数据库系统的核心和基础,是数据模型,现有的数据库系统均是基于某种数据模型的。
3.数据库系统的核心是数据库管理系统。
4.数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。
通过本节(数据与系统)的学习,学生能了解人、信息技术与社会的关系,认识数据库系统在社会中的作用,合理使用数据库系统解决生活、学习中的问题,理解信息安全对当今社会的影响,能安全、守法地应用信息系统。
本节知识性内容难度较大,实践操作性内容较多,如可视化界面设计,文本文件读写操作,Access数据库的建立、查询、维护,都需要有较多时间让学生充分练习领悟。
项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而老师转为“配角”,实现教师角的换位,有利于加强对学生自学能力、创新能力的培养。
对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、经验的基础上领悟、归纳、总结;对于理论性较强的项目或活动,要充分铺垫、诱导、启发、示范、练习,课前学生作好预习,带着问题预习,教师充分准备各种情境下的教学预案,以及教学支架性材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。
【教学目标】
1、了解文件和数据库文件的概念。
2、了解GUI的基本概念,学会设计简单的GUI。
3、学会根据任务需求,选用恰当的软件处理数据。
4、体验使用不同工具管理数据的过程,简单了解数据库管理系统和数据库系统的基本概念。
【教学重点、难点】
文件和数据库文件的概念。GUI的基本概念,学会设计简单的GUI。选用恰当的软件处理数据。
【教学过程】
第一、二课时
一、引入
在人们的日常生活、学习和工作中,大多数问题是包含多种数据间关系的复杂问题。要解决这些复杂问题,就需要把数据存储在系统中,以使其发挥更大的作用。在本节中,我们将通过分析数据库系统的功能,研究系统中的数据、数据的属性、数据间的关系以及数据的结构,理解数据与系统的关系,并通过电子表格、Acess 和Python等软件管理和分析系统中的数据,以更好地应用数据。
利用数据结构组织起来的数据必须在系统中才能“活”起来。本节我们将围绕“旅行小助手系统”项目展开学习,通过项目活动,认识数据与系统的关系,做到根据系统功能选择所需数据,让系统充分发挥数据的潜能。
本项目主要包含“探究旅行线路”“走近火车票订票系统”“探究订票系统功能”和“设计“旅行小助手系统’"”四个任务。
某同学经常和亲友们一起旅游。结合信息技术课程的学习,他想自己开发一个旅行小助手系统,用它来解决自已遇到的旅行线路管理、交通乘车指导、以往旅游相关记录管理等各种问题。我们将通过下面的活动了解这个系统的构成并熟悉系统,进而尝试帮助他全面地设计、规划这个系统。
任务一探究旅行线路
活动1初看旅行线路
“旅行线路”是该同学的旅行小助手系统中的一项功能,可以记录计划出游的旅行线路。他希望在这个系统中能够添加新的线路,并可以查询已经输入系统的线路。
下面的Python程序代码可以生成“旅行线路”程序界面,我们一起来帮他设计界面吧。请修改程序,使得程序运行后,可以在“添加线路”按钮下方添加“查询线路”按钮。
from tkinter import * #导入tkinter模块
root = Tk() #创建一一个窗口
root. title("旅行线路" ) #设置窗口标题
root. geometry( ‘300x120’)#设置窗口大小
root .resizable(0,0) #禁止调整窗口大小
#在窗口上建一个“添加线路”按钮
Button(root, text=" 添加线路",relief="sol id" ,wi dth=10, height=2).pack()
#下面的代码实现在窗口上添加一-个“查询线路”按钮的功能
图形用户界面
图形用户界面( Graphical User Interface, GUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。在Python语言中,tkinter是实现图形用户界面的模块,可以快速创建GUI应用程序。我们需要先导人模块,上面所示的代码用“from tkinterimport *"导人tkinter模块,然后就可以运用相应代码创建矩形容器(Frame)、文本框(Entry)、命令按钮( Button)、文本标签( Label)等交互对象。
在现代程序设计中,我们用“对象”建立计算机世界的实体与客观世界的实体相--致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。比如在“ 旅行线路”例子中,我们利用Python提供的按钮类创建按钮对象,通过单击按钮的交互方式完成代码的执行过程。
在面向过程的程序设计中,我们关注的是各种类型的数据及其操作;而在面向对象的程序设计中,我们将数据及其操作隐藏细节后封装为类,函数调用式的计算演变为对象之间的交互。
活动2更新旅行线路
该同学对一条新的旅行线路感兴趣,希望将它添加到系统中。线路情况如下:桂林,5日游,桂林市区- -龙脊梯田- -漓江漂流一骑行之旅一-遇龙河漂流,人均1200元。在教科书配套资源中到并打开该同学已收集的旅行线路文件“旅行线路.txt”,了解文件内容。
配套资源中的“添加线路.py”程序用来实现将数据添加到“旅行线路.txt”文件中的功能,你是否能按照提示运行该程序并把新的旅行线路情况添加到文件中呢?完成后,再次打开“旅行线路.txt”,查看文件内容。对照程序想一想数据存储需要通过哪些代码来实现。
Python代码:
from tkinter import 中
root = Tk() #创建一个窗口
root . title("添加线路") #设置窗口标题
root . geometry(‘600x100’) #设置窗口大小
root . resizable(0,0) #禁止调整窗口大小
var=StringVar() #定义StringVar( )类型
def intomap(): #Button按钮激发函数
c=open( "旅行线路.txt", ‘a+’) #以追加模式打开文件
#在txt文件末尾添加text里的内容
C .write(var. get()+"\n")
C. close #关闭文件
#在窗口上建一个文本标签
Label(root, text=‘请输人线路’,font=(‘Arial’, 10)).pack()
#在窗口上建一个文本框
Entry(root, textvariable=var,width=550) . pack()
#在窗口上建一个Button按钮
Button(root, text= ”添加线路”,command= intomap, relief="solid",width=10). pack()
root . main1oop()
#进入事件(消息)循环
文件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论