国家为了推进人工智能的应用普及需要广大中小学生接受计算机基础教育,在数学题中设置了一些流程框图题,总分不多,但是能让学生充分体会现代计算机程序如何运行、根据设定条件计算得到结果。能做题其实不需要写程序,但是要对程序跟数学的关系有立体的认识,就需要跟程序结合在一起。部分发达省份将python语言引入到计算机教学当中,本文的工具也是基于python、智能手机或者连接多媒体的电脑。
第一步,口头讲解流程。计算机程序离不开数学,现代数学得益于计算机程序的辅助实现,最好的办法就是让学生看着流程图怎么变成计算机程序、公式怎么计算,结合看流程图,刚开始可以不用写程序,口头讲解运行过程,理解程序最重要的条件判定、循环迭代变量(参数)、输出结果。引申一下,生活中很多熟能生巧的事情,都可以整理成流程图、有流程图的就可以制作程序。
第二步,加深印象还是需要动手敲一下代码强化一下印象。纸上得来终觉浅,绝知此事要躬行,学生回到家里允许使用电脑或者智能手机的时候,也是可以自行验证的,让程序一步一步地打印出中间的结果来。老师和家长可以协助监督。 在这里要感谢科技的进步、国家经济发展的迅速,有了智能手机和网络普及可以在偏远地区的学校普及,即便那里的信息课寥寥无几,在今天有网络的帮助,老师不懂程序也可以给孩子们演示现成的东西、远程操作也可以,有志者老师也可以继续深入学习。不管是高中还是初中,这些都不会难。在极为拘束的物质条件下,老师们用智能手机演示程序运行。
为了便于老师也有机会通过网络获取教学资源、方便演示,需要python语言进行演示,热心的网友贡献的代码也能很方便的搜到。数学老师不必深入了解复杂的程序设计,直接运行程序即可。有一定探索能力,可以深入了解程序的以及希望交给孩子更多程序流程知识的老师家长,也看仔细了哈。
工具python的使用:
1.本步骤需要安装python,老师家长动手能力强的可以自己或者找年轻人搜索 python安装。
电脑版前往https://www.python.org/getit/下载最新的电脑版python安装程序,同时搜索相关的安装教程一步步对着来。安装好后,打开cmd程序,确认输入python -v回车,能够提示python版本。桌面开始菜单里也有python idle这个交互式程序图标。在cmd中,然后在刚才的命令窗口中,运行:pip install 功能包名。比如pip install sympy这样可以逐步把程序需要的功能包给装上,让复制来的文件正确运行。详细可以参考:https://www.runoob.com/python/python-install.html
ios版在AppStore里搜索pythonista进行安装,之后就可以打开它进行程序编辑;
安卓版可以搜索termux进行安装,之后打开termux的命令行进行python的安装,用命令pkg install python回车即可。然后在刚才的命令窗口中,运行:pip install 功能包名。比如pip install sympy这样可以逐步把程序需要的功能包给装上,让复制来的文件正确运行。详细参考https://blog.csdn.net/u010475354/article/details/79675893
寄望于动手能力强的老师和志愿者,我们能够将运行程序的基础给建立起来,从而进一步运行程序。
2.真正运行的程序,需要保存起来。使用python idle打开py文件,点击运行按钮;或者将将复制来的代码保存为文件名.py结尾的文本,保存文本最好用notepad++之类的编辑器确定编码是utf-8看打开界面的右下角,保存的路径和文件名不要有中文,在cmd命令窗口中输入python path/to/your.py回车即可运行程序,在智能手机上也一样可以用命令或者交互式的方式运行程序。
以此为工具原料,可以将简单的程序框图题,改写为python语言代码在自己手机上运行、有电脑和投影仪的,方便在多媒体投影仪演示。
三、最后的示例:
例题一
例题1.一个算法的程序框图如上,则其输出结果是( )
A.0
B.
C.
D.
python代码程序:
-*-utf-8-*-
from math import *
n=1,S=0
while n<=2013:
S = S+sin(pi*n/4)
print("S is %f now."%S)
n=n+1
print("n is %d now."%n)
print("最后的S是%d."%S)
例题二.下面的程序框图中,若输出S的值为126,则图中应填 上的条件为( )
A.n≤5 B.n≤6 C.n≤7 D.n≤8
python代码程序:
-*-utf-8-*-
from math import *
n=1,S=0
while n<=8:把8替换成你需要的答案,查看结果是否为126
S = S+2**n
print("S is %d now."%S)
n=n+1
print("n is %d now."%n)
print("最后的S是%d."%S)