中小学教育资源及组卷应用平台
第三单元
特殊的线性表
项目五
模拟实现软件的撤消功能
——栈的应用
第三课时
程序实现
?教材分析
本节的主要内容是程序实现。通过以模拟实现软件的撤消功能为主线,整个项目分为问题分析、设计算法和程序实现三个部分。本节课时是根据算法,用Python编程实现文本输入撤消的进栈与出栈操作。在这一课时过程中,进一步培养学生的信息意识和计算思维。
?教学目标
1.能用Python编写程序,实现进栈、出栈操作;
2.培养学生的信息意识和计算思维能力。
?教学重点
1.编程实现顺序栈的进栈、出栈操作;
?教学难点
1.编程实现顺序栈的进栈、出栈操作。
2.培养学生的信息意识和计算思维能力。
?教学方法
体验法、讲授法、讨论法、示例法
?教学准备
计算机教室、多媒体设备、多媒体广播软件、教学课件、Python编程环境、学生上机练习的程序文件,预先编制的Python程序文件等。
?教学过程
一、新课导入
要求学生重新观察下面的进栈、出栈操作流程图。
二、程序实现
根据上述的算法,可以编程实现撤消操作。首先要定义栈并进行初始化操作(即置空栈),指针变量要设定为初始值。
class
Sqstack
(object):
Def_init_(self,
size):
self.
size=size
#定义栈的长度
self.
stack=[‘
’]
size
#存储栈元素的列表
self.
top=-1
#栈顶头指针
思考与讨论
你能编程实现恢复操作功能吗?
能,需要再使用一个栈,用于保存原栈中出栈的数据。
三、课堂活动
打开配套资源中的“顺序栈p”程序,补充完整以下代码,并运行测试,模拟实现撤消功能。
def
Push(self.
e):
#进栈程序
if
self.
top==self.
size-1:
Print(“栈满,不能进栈")
else:
____________________________
____________________________
def
Pop(self):
#出栈程序
if
self.
top==-1:
print(“栈空,没有元素出栈")
return-1
else:
____________________________
____________________________
return
e
参考答案:
进栈程序空白处填写
self.
stack[self.
top]=e
self.
top=self.
top+1
出栈程序空白处填写
e=
self.
stack[self.
top]
self.
top
=self.top-1
21世纪教育网
www.21cnjy.com
精品试卷·第
2
页
(共
2
页)
HYPERLINK
"http://21世纪教育网(www.21cnjy.com)
"
21世纪教育网(www.21cnjy.com)(共15张PPT)
第三课时
程序实现
信息技术沪教版
选择性必修1
第三单元
特殊的线性表
项目五
模拟实现软件的撤消功能
——栈的应用
一、新课导入
二、程序实现
三、课堂活动
一、新课导入
开始
栈不满吗?
否
是
结束
进栈操作
开始
栈不空吗?
否
是
结束
出栈操作
Strck[top]←e
top←top+1
e←Strck[top]
top←top-1
重新观察下面的进栈、出栈操作流程图
一、程序实现
根据上述的算法,可以编程实现撤消操作。首先要定义栈并进行初始化操作(即置空栈),指针变量要设定为初始值。
class
Sqstack
(object):
def_init_(self,
size):
self.
size=size
#定义栈的长度
self.
stack=[‘
’]
size
#存储栈元素的列表
self.
top=-1
#栈顶头指针
思考与讨论
你能编程实现恢复操作功能吗?
思考与讨论
能,需要再使用一个栈,用于保存原栈中出栈的数据。
三、课堂活动
打开配套资源中的“顺序栈p”程序,补充完整以下代码,并运行测试,模拟实现撤消功能。
def
Push(self.
e):
#进栈程序
if
self.
top==self.
size-1:
print(“栈满,不能进栈")
else:
____________________________
____________________________
打开配套资源中的“顺序栈p”程序,补充完整以下代码,并运行测试,模拟实现撤消功能。
def
Push(self.
e):
#进栈程序
if
self.
top==self.
size-1:
print(“栈满,不能进栈")
else:
____________________________
____________________________
self.
stack[self.
top]=e
self.
top=self.
top+1
打开配套资源中的“顺序栈p”程序,补充完整以下代码,并运行测试,模拟实现撤消功能。
def
Pop(self):
#出栈程序
if
self.
top==-1:
print(“栈空,没有元素出栈")
return-1
else:
____________________________
____________________________
return
e
打开配套资源中的“顺序栈p”程序,补充完整以下代码,并运行测试,模拟实现撤消功能。
def
Pop(self):
#出栈程序
if
self.
top==-1:
print(“栈空,没有元素出栈")
return-1
else:
____________________________
____________________________
return
e
e=
self.
stack[self.
top]
self.
top
=self.top-1
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php