计算程序范文(精选11篇)
计算程序 第1篇
1 技术方案
小型热电厂建设依据“以热定电”的原则, 根据热负荷的大小、结合电网电力的需求, 确定供热机组的类型、规模和运行方式。项目用到的常见机组有3类:高温高压、次高温次高压、中温中压机组。通过对这3类机组的程序设计, 基本能适应常用的方案设计。
本程序典型方案流程见图1, 高温高压、次高温次高压、中温中压可以通过软件参数的变化套用流程。
2 计算软件理论基础
本软件主要有三大模块构成:汽平衡计算、锅炉燃烧计算、经济指标计算。软件计算参数众多, 计算公式主要参考规范《热电联产项目可行性研究技术规定》。
2.1 汽平衡模块
汽平衡计算模块, 以能量守恒、质量守恒为基础, 通过联立方程组, 求解内部各种参数。
整个系统流程, 输入参数为两路外供汽量和汽轮机二的抽、排汽量, 通过方程迭代, 最终达到质量和能量平衡, 得到锅炉产汽量, 并通过发电效率, 计算汽轮机功率。
2.2 锅炉燃烧模块
锅炉燃烧模块主要计算耗煤量、理论空气量、实际烟气量、炉内脱硫石灰石量、一二次风机量、烟囱抽力等。
2.3 经济指标模块
通过前面2个大模块的计算, 汽轮机和锅炉参数基本确定, 对比平均发电标煤耗率和小型锅炉耗标煤, 最终计算技术经济指标。
3 软件应用
本软件以浙江某化工企业新建热电厂为例, 展示软件的计算模块和功能。
3.1 汽平衡计算
该化工厂生产热负荷经过换算后见表1:
根据热电厂的热负荷情况, 并按“以热定电、热电联供”的原则, 针对热负荷较平稳的特点, 本工程汽轮机考虑设置1台高温高压抽背汽轮发电机组和1台背压汽轮机。
首先确定机组属于高温高压类型, 用汽动泵提供锅炉给水, 功率不足部分用电补充, 汽动泵排汽进除氧器加热锅炉给水, 输入汽平衡参数如图2。
根据化工企业全厂热负荷, 图3中输入外供蒸汽和汽轮机2排汽参数, 计算可得各个部分用汽量。
根据结果, 计算汽轮机参数为:3台130t/h循环流化床锅炉 (2用1备) +1台C B 18-8.83/2.20/0.98抽背汽轮发电机组+1台B 6-8.83/0.98背压汽轮拖动。
3.2 锅炉燃烧计算
锅炉燃烧模块中, 假设为单台锅炉, 通过对过量空气系数的计算 (图4) 和煤元素分析 (图5) , 可得整个热电厂所需的标煤量和实际烟气量。
烟气经过除尘, 可以计算烟气、灰尘排放浓度 (图6) 。
面对日益严重的环保问题, 锅炉模块加入了炉内脱硫计算程序。当炉后湿法脱硫发生故障时, 在流化床内投入石灰石实现炉内脱硫。
风机的选型应尽量使风机常年运行在效率较高的范围, 同时按照当地的大气压和实际运行温度, 进行风量换算, 并对风机样本选用的风机风量、风压及功率进行校核计算, 从而选择风机。
2台130t/h锅炉正常运行时, 烟囱出口流速为13m/s, 建1座100m高, 出口内径为3.5m的锥形钢筋混凝土单筒式烟囱, 通过计算 (图7) 烟囱入口处负压为-183Pa, 能保证锅炉安全可靠运行。
3.3 主要技术经济指标计算
热电厂把年综合供电 (发电) 标准煤耗率作为重要的考核热经济指标。1998年6000k W及以上机组全国平均供电标煤耗率404g/k W h, 但随着技术的进步, 我国火电机组高参数、大容量高效机组比重迅速提高, 年平均供电标煤耗不断下降, 到2012年下降为313g/k W h。本项目通过比较平均发电标煤耗率和小锅炉耗标煤量, 得到年节约标煤92447t/a, 显示该热电厂技术方案是一项节能环保工程, 本工程各项指标均大大优于国家四部委所发1268号《关于发展热电联产的规定》的指标 (图8) 。
4 小结
小型热电厂热力系统计算软件还具有常见的图形打印, 数据保存等功能, 已经在江山化工, 绍兴振亚等热电厂设计中得到成功应用, 可以有效的帮助设计人员进行方案设计, 提高方案设计效率, 减少操作失误。
参考文献
[1]侯俊杰.深入浅出MFC[M].华中科技大学出版社, 2001.
[2]热电联产项目可行性研究技术规定, 2001.
[3]小型热电站实用设计手册.水利电力出版社, 1989.
[4]锅炉房设计工艺计算规定, HG/T 20680-2011.
计算机程序教法耦合机制研究 第2篇
关键词:计算机程序设计;逻辑思维;教法
中图分类号:G642文献标识码:A文章编号:1007-9599 (2010) 03-0123-01
Study on Coupling Mechanism of Teaching Computer Program Method
Zhang Xue Hui,Wang Jing Hui1,Yu Chun Buo2
(1.Baishan Vocational and Technical College,Baishan 134300,China;
2.Baishan Education and Research Institute,Jilin Province,Baishan 134300,China)
Abstract:The rapid development of modern information technology pose serious challenges to traditional educational methods.According to the status of vocational education in our province, explore teaching computer programs methods,the concept of mutual coupling mechanism. The results show the characteristics of teaching computer program in vocational and technical college determines,we should focus on the process of logical thinking during classes.
Keywords:Computer program design;Logical thinking;Teaching
一、问题的提出
当今社会,计算机已经深入到社会的各个领域,在我校的课程中开设的计算机教学课程为学生今后走入社会培养技能打下一定的基础。计算机程序的编制过程中充分体现了与数学方法的交叉融合。职业高中计算机课程教学中分为上机操作和程序设计讲解,教授程序设计语言课采用的方法是先介绍语句和算法后写程序。但当上机操作时若将程序抄错则束手无策,若是见到未讲过习题则更不会处理。自古以来就有“教无定法”一说,在研究学情的差异及学科应用的特殊规律基础上,积极探索教学方法的改革,唯有如此才能真正达到使其学以致用的目的,通过明确程序设计课学科特点,找准学科切入点便成为课程教学方法思维整合的首要及关键问题。
二、计算机程序语言课程特点
计算机语言是人机对话的纽带,程序课教学则通过语言教学让学生初步了解计算机工作原理,培养学生逻辑思维能力、结构化程序设计思想和科学思维方法,在初步掌握计算机语言基本语句格式和功能基础上会编制简单程序。在这些年的教学实践中观察到这样一个现象,教材上的程序多数学生都会写,但却不知为何要这样写。因此培养学生编程时采用适当的方法以及怎样才能进一步优化程序都是教学过程中亟待解决的课题。
三、研究方法——化归思维
数学逻辑思维方式能帮助学生用数学方法解答问题,其中包括数形结合、化归等等。所谓化归方法是把待解决或未解决的问题,通过某种转化过程,归结到一类已经解决或者比较容易解决的问题中去,最终求得原问题解答的一种手段和方法。化归方法的主要特点是它的灵活性和多样性。在数学中解决问题的思维方式就是思维过程中主体进行思维活动的相对定型、相对稳定的思维样式。
在教学中培养学生数学中的逻辑思维和解决问题的能力,进一步将数学应用于信息技术学科,针对教学中出现的错综复杂的问题建立相应的数学模型,提高学生创造性的思维能力。讲解程序设计实例时则应强调如何解决问题的逻辑思维过程,在学习过程中达到真正懂得用语言表达计算机编程的目的。
四、应用实例研究
在职业高中程序设计课中,VB是程序中应用到的一个重要语言。其中最为典型的程序为连加、连乘,此例若用常规方式讲解则难以理解。但若改用化归法,则思路清晰易懂。
例如:假若解决两数连加问题:则
s=0 s=s+1 s=s+2
假若三个数连加,则有:s=0 s=s+1 s=s+2 s=s+3……
依此类推则可解决n个数的连加问题,
即:s=0 s=s+1 s=s+2 s=s+3……s=s+n(n为任意正整数)
因此可以将解决此类问题的程序设计总结如下:
s=0
for i=1 to n(n为任意正整数)
s=s+i
next i
从上例可以看出,在解决问题时,如果能巧妙运用化归法则可使复杂问题简单化,不仅能使程序设计简单化,更可以极大地提高人们学习计算机编程的兴趣。
五、结束语
从不同逻辑思维方式的养成到计算机编程的人机对话思维方式,可以看出在教学过程中应加大重视运用数学逻辑思维方式和方法的运用,进而轻松解决计算机程序教学中的重点和难点,为今后各种不同程序课程的学习奠定良好的思维方式,从而使学生在计算机的程序课程的学习中能游刃有余,为今后的学习和运用打下良好的基础。
参考文献:
[1]谭浩强,田淑清.QBASIC语言[M].北京:科学普及出版社,2000
[2]祝智庭.现代教育技术—走向信息化教育[M].北京:教育科学出版社,1999
[3]周春荔.数学观与方法论[M].北京:首都师范大学出版社,1996
作者简介
用MCNP程序计算针孔成像 第3篇
针孔成像诊断方式在许多研究领域都有广泛的应用, 如核物理、激光ICF (惯性约束聚变) 、核医学[1,2,3,4,5]等, 对于直观反映视场内物体的几何形状、强度分布不失为技术实现上相对简单有效的方法。而针孔的设计对不同的待测对象其难易程度也是相去甚远, 如可见光成像或X光成像针孔材料很容易选择且针孔屏蔽体可以做得足够薄、孔径可以足够小 (相对于被测物直径可以认为是无穷小量) , 它的点扩散函数计算很简单, 因此, 针孔设计就很容易;但在许多情况下针孔设计是很复杂的一件事, 例如, 当待测物发出的是较高能量的中子或伽玛射线时, 为了使成像有足够的信噪比, 针孔就必须有相当的厚度, 这就是所谓的厚针孔成像, 在这种情况下针孔几何形状的设计、屏蔽材料的选择、厚度的确定、点扩散函数的计算等等问题, 都涉及到了粒子输运过程的复杂计算, 如果没有合适的计算工具厚针孔成像问题就很难做到数据准确、设计优化。到目前为止能够进行复杂粒子输运计算的程序有不少, 如EGS、GEANT、MCU-REA、FLUKA、MCNP等, 其中, MCNP程序以其能够计算粒子种类的广泛性、几何结构设计的强大、方差衰减技术的丰富性, 被称为超级蒙特卡洛程序[6]。因此, 用MCNP程序计算针孔成像问题是比较理想的选择, 本文就MCNP程序实现针孔成像计算的不同方法进行了系统的描述和比较, 并探讨了一些使用技巧。
1计算方法描述
MCNP程序到目前为止已经更新到了第五版, 在MCNP5以前计算针孔成像有两条路可以走:一是自己编写MCNP用户子程序, 再与MCNP源程序一起编译连接, 这种方法可以根据自己的偏好设计输入、输出数据格式, 计数的方法也比较灵活, 可以选择探测器类型 (点、面、体) , 但该方法对于MCNP程序的普通使用者来说有较大难度, 需要熟悉Fortran编程和蒙特卡洛方法的程序实现;另一种办法是利用MCNP程序提供的重复栅格功能, 将像平面用重复栅格构造, 每个栅格代表一个像素, 然后用体探测器记录。自从发布了MCNP5版本后, 解决成像问题就有了更多的选择办法, 除了以上所说的以外, 对于针孔成像至少还有三种可以选择的方法。其一, 叠加网孔计数 (FMESH) , 与体通量计数卡联合使用可以很方便地将像面划分为任意多的网格 (注意不要使内存溢出) , 每个网格可作为一个像素计数;其二, 点探测器辐射成像 (FIR) , 该方法的本来设计是针对被辐照物的透射成像, 作为其中的一个特殊的应用针孔成像也是可以计算的;其三, 点探测器阵列针孔成像 (FIP) , 该方法可在像面上设定一定分布的点探测器阵列, 在输入选项上可以对针孔大小进行任意设置, 但有些选项的设定要求准确理解其含义, 否则可能会造成无法运行的致命错误, 该方法对针孔成像的计算效率是非常高的, 但需要注意的是其计算都是设定针孔屏蔽体是无限薄的, 如果用于厚针孔成像计算需要一些技巧。同时, 除用户编写子程序的方法外, 其它方法产生的计算数据在MCNP输出都有固定的格式, 其中fmesh方法的数据输出格式可以直接用于后续的处理, 而另外三种方法需要编写数据读出程序, 在本研究中用VC++编写了数据读出程序。
以上这些探测器计数主要采用了两种蒙特卡罗技巧:对于体通量采用径迹长度估计, 对于点通量采用下次事件估计。为了便于说明可将这些针孔计算方法加以简单命名, 由于用户编写子程序的方法其计算效果因人而异, 所以在这里就不作为研究对象。其他方法简单命名如下:lattice (重复栅格法) 、fmesh (叠加网孔计数法) 、fir (点探测器辐射成像法) 、fip (点探测器阵列针孔成像法) 。设计各种计算模型, 在DELL工作站 (主频2.8GHz) 上进行计算比较研究, 细致讨论如下。
2各种针孔条件下成像计算比较
为了能够尽量全面地反映上面提到的四种针孔成像计算方法的适应性、计算效率和结果的可靠性, 特选取三种具有代表性的针孔, 图像上每像素的数值代表的是通量, 其单位为particles/cm2, 在这里需要强调的是, 因为针孔孔径太小, 对于lattice方法和fmesh方法必须对源进行角度偏倚抽样, 否则在32位机允许的最大抽样数内不会有有效结果, 因此以下的计算中lattice方法和fmesh方法均采用了角度偏倚抽样。另外, 为了简单起见以下的计算中均采用伽玛源, 伽玛能量为1MeV。
2.1小孔成像计算
考虑如图1中所示的小孔成像, 设定小孔的孔径为ϕ60μm, 计算一均匀分布的球体源所成的像, 球半径为1cm, 像距 (=物距) 50cm。用以上提到的各种成像计算方法编写MCNP的输入文件, 从输入文件的编写难度来说最麻烦的是lattice方法, 需要写嵌套栅元。对于lattice方法、fmesh方法、fir方法均需要构造针孔屏蔽体, 屏蔽体厚度可尽量薄, 如10μm, 并令屏蔽体的重要性为零;而fip方法就简单多了, 不需要在物理空间构造针孔屏蔽体, 只要在fip卡的参数设定上给出相应的针孔孔径即可, fip缺省设定针孔屏蔽体无限薄。因此fip方法的输入文件编写最简单。计算结果如图2所示。
表1的计算结果说明fip方法最优秀, 计算效率高、结果可靠, fir方法结果可靠但计算效率相对较低, lattice方法在32位机可允许的抽样数下即使对源采用了角度偏移抽样仍然不能得到足够可靠的结果, fmesh方法的情况比lattice方法效率稍高, 但计算数据可靠性与lattice一样。由此可见, 对于薄的小孔成像只要屏蔽体可近似为不透明的, 采用fip方法计算最佳。
2.2直厚针孔成像
考虑如图1所示的直厚针孔, 设定直孔的孔径为ϕ200μm, 外径为1.2cm, 两侧张开的锥角为32.83°, 针孔屏蔽体厚10cm, 计算一均匀分布的球体源所成的像, 源半径为1㎝, 像距 (=物距) 100㎝, 针孔屏蔽体材料用铅。
图3及表2的计算结果表明, fir方法优势明显, lattice和fmesh方法虽然计算效率相对较低但结果勉强可用, 这些计算都计入了针孔屏蔽体的透射效应和散射效应。而fip方法不能够计算针孔屏蔽体的透射效应和散射效应, fip方法中的针孔屏蔽体对任何粒子透过率都为零, 因为它有很高的计算效率所以可以用来计算理想屏蔽状态下的针孔图像, 并与其它方法相比较来考察屏蔽体的屏蔽效果, 具体使用时可以将针孔平面设定在直厚针孔的中心 (即总厚度的一半处) , 孔径为直孔孔径, 同时将针孔屏蔽体的重要性设为零。
2.3半影成像
考虑如图1所示的半影针孔, 计算均匀分布的球体源所成的半影像, 源径为ϕ100μm, 源中心距针孔前端面1cm, 针孔屏蔽体厚10cm, 半影针孔三个特征位置 (前端面处、中间位置、后端面处) 的内径为ϕ100μm、ϕ200μm、ϕ450μm, 针孔屏蔽体外径为ϕ1cm, 像平面距针孔后端面191cm, 针孔屏蔽体材料用铅。
图4及表3反映了与图3及表2基本相同的计算规律, 但此时的fip方法使用时必须要谨慎, 如果参数设定不合适得到的将不会是自己想要的计算结果。在本例中将fip针孔设定在半影针孔屏蔽体的后端面, 针孔孔径为ϕ450μm, 同时令半影针孔屏蔽体的重要性为零, 得到的结果是理想屏蔽状态下的纯信号量。
另外, 无论针对哪种针孔设计, 如果在计算时要考虑成像处记录晶体的对图像质量的影响, 就有必要进一步计算粒子在晶体内的沉积能量, 为了满足这一需求, lattice方法是不二选择, 其它三种方法仅能给出通量结果。
3结论
本文基于三种针孔成像情况, 较为详细地讨论了用MCNP程序中四种不同方法计算成像的性能表现。比较结果说明fip方法有最高的计算效率, 但适用范围最小, 只能作为理想屏蔽条件下信号量的计算;fir方法计算效率高、适用范围广泛, 既能通过对针孔屏蔽体重要性的设置计算理想屏蔽状态下的信号量, 也可以计算不同针孔屏蔽体材料的散射效应和透射效应;fmesh方法有最为理想的数据输出格式, 但数据收敛缓慢, 只有在一些合适的针孔条件下, 通过对源的角度偏移抽样才能使该方法在最大抽样数时得到可靠结果;lattice方法有最为广泛的适应性, 可以计算通量计数和沉积能量计数, 但输入文件编写相对最为麻烦, 其结果的收敛速度最慢。因此, 用MCNP程序计算针孔成像必须要结合具体情况选择最为合适的方法或者几种方法组合使用, 同时也要创造性地使用这些方法, 以期达到最佳的计算效果。
参考文献
[1]邵军明, 路宏年, 蔡慧.X射线成像系统点扩展函数理论模型及其实验验证[J].光学技术, 2005, 31 (1) :104-106.
[2]吴刚, 李泉凤, 程诚, 等.厚针孔成像动态监测高能加速器束斑系统[J].高能物理与核物理, 2005, 29 (1) :86-90.
[3]Delage O, Garconnet J P, Schirmann D, et al.Neutron penumbral ima-ging of inertial confinement fusion targets at Ph啨busa[J].Rev.Sci.Instrum.1995, 66 (2) :1205-1209.
[4]Disdier L, Rouyer A, Fedotoff A, et al.Neutron imaging of ICF targetplasmas[J].Rev.Sci.Instrum.2003, 74 (3) :1832-1836.
[5]Gieles M, Jong, Beekman F J.Monte Carlo simulations of pinhole im-aging accelerated by kernel-based forced detection[J].Phys.Med.Biol.2002, 47:1853-1867.
C语言计算闰年程序(推荐) 第4篇
int year;
printf(“please input a year:”);
scanf(“%d”,&year);if(year%4==0year%100!=0||year%400==0)// if(year%400==0||year%4==0year%100!=0)
printf(“%d is run niann”,year);else
printf(“this is not run niann”);} //******************************** void main()//条件 {
int yyear;
printf(“闰年查询n请输入要查询的年份:n”);
scanf(“%d”,&yyear);
if(yyear%400==0)
printf(“%d是闰年”,yyear);
if(yyear%4==0)
if(yyear%100==0)
printf(“%d不是闰年”,yyear);
else printf(“%d是闰年”,yyear);
else printf(“%d不是闰年”,yyear);}
//*************************************************************************************************************//
void main()//条件嵌套 {
int yyear,A;
printf(“闰年查询n请输入要查询的年份:n”);
scanf(“%d”,&yyear);
if(yyear%400==0)
A=1;
if(yyear%4==0)
if(yyear%100==0)
A=0;
else A=1;
else A=0;
if(A==1)
printf(“%d是闰年”,yyear);
else printf(“%d不是闰年”,yyear);} //************************************************************************************************** void jisuanrunnian(int x)//函数调用
{
int A=1;
if(x%400==0)
A=1;
if(x%4==0)
if(x%100==0)
A=0;
else A=1;
else A=0;
if(A==1)
printf(“%d是闰年”,x);
else printf(“%d不是闰年”,x);
} void main(){
int yyear;
printf(“闰年查询n请输入要查询的年份:n”);
scanf(“%d”,&yyear);
计算程序 第5篇
关键词:计算思维;程序设计;课程内容;实践环节
一、“计算思维”的背景介绍
2006年3月,美国卡内基·梅隆大学计算机科学系周以真(Jeannette M.Wing)教授在美国计算机权威期刊Communications of the ACM上提出了“计算思维”(Computational Thinking)的概念和详细定义。
“计算思维”就是运用计算机科学的基本概念进行问题求解、系统设计以及人类行为理解。它吸取了问题求解所采用的一般数学思维方法、现实世界中复杂系统的设计与评估的一般工程思维方法以及复杂性、智能、心理、人类行为的理解等的一般科学思维方法。因此,它涵盖了包括计算机科学在内的一系列思维活动(但是计算思维本身却并不是计算机科学的专属)。
需要指出的是:“计算思维”不是侠义的计算机编程,而是运用计算机基本概念去求解问题、设计系统和理解人类的行为。
大学应以学生“计算思维”的培养为核心,使“计算思维”如同实证思维、逻辑思维一样,成为每个学生应该具备的基本科学思维能力。学生在接受这种思维指导下的学习和训练后,可以学习计算机科学知识,也可以学习其他专业的知识。毕业后可以从事诸如医学、法律、商业、政治以及其他类型的科学和工程工作,甚至艺术工作。
为了面向所有专业的大学新生开设一门被称为“怎样像计算机科学家一样思维”的课程,美国麻省理工大学、斯坦福大学、卡内基·梅隆大学、普渡大学等著名高校纷纷设置了面向全校的以问题求解为核心的“计算思维”通识课程。在以“计算思维”为指导的计算机基础教学方面取得了显著的成效。
二、以“计算思维”为导向的程序设计课程的建设和实践
针对国内高校讲解程序设计的教学方法,我们系提出了把“计算思维”引入“程序设计思想与方法”课程的建议,并得到了学校和学院的理解和支持。在此基础上,我们提出了探索讲授一门真正重点是程序设计“思想”和“方法”的课程,而不拘泥于仅仅讲授一门程序设计语言及其应用的想法。也就是说,改革目前的程序设计课程思路,以“发现(接受)问题一分析问题一寻求多种解决方案一对各种解决方案比较选优一实现解决方案”的“问题求解驱动式程序设计”训练方法,尽可能逼近解决实际问题的模式。此外,从典型(基本)问题和综合(复杂)问题两个层面,揭示领域相关和领域无关各种问题的本质,并有针对性地讲授不同计算机制解决问题的方法。同时,我们也强调可以用不同开发工具(环境)来解决问题。为了讲授课程,我们只选择了其中最合适的开发工具(环境)之一进行介绍和用于实践环节。比如Python语言在美国作为各专业学生第一个教学程序设计语言得到了各专业学生的好评。
除了课程内容讲授,实践环节也是非常重要的一环。可以采用个人回家作业、个人小作业和小组大作业相结合的组织方法,使学生利用课程所学的知识,既提高个人独立分析问题、解决问题的能力,又提高个人通过团队合作集体解决问题的能力。
根据以上的思路,我们在学院国际化试点班进行了课程改革试验。其目标是:(1)在程序设计思想方面,使同学们通过这门课程的学习之后,能够理解计算在解决科学问题中的作用,重视计算作为科学发现的基础工具,探索不同算法在效率和性能方面的影响,理解实用的基本程序设计原则,基本理解不同程序设计语言解决实际问题的可能性和基本理解计算的限制和不可解问题等。(2)在程序设计方法方面,培养学生能够分析和抽象问题,设计和实现针对科学问题的有效软件解决方案,有效地使用通过函数说明所描述的软件库,理解基本数据结构的使用和功能,完成有明确使用目标的程序并适当地可视化其结果,阅读和改写已存在的程序等。
这门课程采用全英语的教学模式(包括课堂教学、讨论、实验报告和答辩等环节以及所有的教学材料和试卷),其中2/3的时间(34学时)用于课堂教学,1/3的时间(17学时)用于实践环节(具体的教学安排见下表)。
在教学中,我们主要介绍了“计算思维”的基本概念,讲解了程序设计的基本思想和方法。包括:
1 以Python作为开发工具,通过授课和程序演示,使学生能更好地理解和运用“计算思维”求解问题的思想和方法,并能够编写一些简单的但可解决实际问题的程序,以提高学生应用“计算思维”方法求解问题的兴趣。
2 在课堂教学中还引入讨论,使同学们能更好地理解将“计算思维”融入不同学科和领域问题求解中的重要性。
3 让学生自行了解要解决问题的背景知识,寻找合适的工具和构件库,培养学生自主学习的意识和独立实践的能力。
4 通过若干个人回家作业和5个个人小作业的训练,培养学生运用所学知识独立分析和解决实际问题的能力,并在实践中不断加深对“计算思维”的理解。
5 通过3~4名学生组成的小组,利用初步所学的计算语言学知识,合作设计和开发一个具有用户界面、词典和核心程序组成的汉语句子分词原型系统。该系统完成后要求接受真实的语料(来自2010年上海世博会官方网站)的训练和测试。同时,小组成员还要参加最后的大作业答辩,在答辩中展示系统的功能和自己的设计和实现能力。通过大作业的训练;使学生了解和体会团队合作精神在解决大型、复杂问题中的重要性。
通过以上的教学实践,一方面提高了学生进行程序设计的兴趣,另一方面也提高了他们个人和小组合作设计和开发程序的能力。所开发的系统具有可视化的用户界面和后台数据处理的功能,突破了以往一年级新生所开发的原型系统的规模和难度,同时也是一次利用多学科知识解决实际问题的有益尝试。此外,还提高了学生运用英语进行专业听说读写的能力。这门课程受到了教学督导和大多数学生的肯定和好评。
三、国内交流,取长补短,不断创新
在程序设计课程中引入“计算思维”,并采用Python语言作为教学语言,进行全英语教学。据我所知,此举受到国内许多高校的关注。我曾在教指委主持召开的九校联盟(C9)计算机基础课程研讨会以及第六届大学计算机课程报告论坛上做了专题报告(分别是“关于开设‘程序设计思想与方法’课程的一些思考”和“把计算思维融入‘程序设计思想与方法’课程的初探”),介绍了我校的课程改革的思路和具体的方法,引起与会专家和代表的兴趣和讨论。去年4月,受陈国良院士和南方科技大学的邀请,我有幸去该校讲授了“计算思维导论”课中的Python程序设计部分,也受到大部分学生的肯定,并表示通过这门课程的学习收获较大。
但是,也应该看到,目前我们还缺乏自己的教材和规范的实践项目指导书。因此,急需解决这方面的问题,以使我们的课程改革再接再厉,不断走向深入,不断创新,进一步提高课程的质量和水平。
手机“计算器”程序的设计 第6篇
当前流行的手机操作系统分为三类, 一是Symbian系统, 二是Windows Mobile系统, 三是Android系统。其中Windows Mobile系统是程序开发者特别是初学者最容易掌握的开发系统, 它以C#为基本开发语言, 以.NET为开发环境, 开发的程序基本可以在Windows.NET环境下模拟运行, 即使没有智能设备 (手机) 也能开发出较实用的程序。
二、窗体、控件和菜单的设计
本程序以支持Windows Mobile系统的手机为例进行设计, 具体操作步骤如下:
1、从【开始】菜单上选择【程序】→Microsoft VisualStudio 2008→Microsoft Visual Studio 2008命令, 启动Microsoft Visual Studio 2008。
2、在IDE (集成开发环境) 界面上, 从【文件】菜单下选择【新建项目】。
3、在所出现的“新建项目”窗口中选择“Visual C#”条目下的“智能设备”, 模板选择“智能设备项目”, 再选择“.NET Framework 3.5”版本, 接着输入项目名称“计算器”及项目存放位置“d:”, 最后点击“确定”。
4、进入“添加新智能设备项目”对话框, 选中“设备应用程序”, 点击“确定”。
5、接着在出现的手机窗体中, 根据表1和图1设置窗体、按钮控件和标签控件以及它们的属性。设计完成后的效果如图1所示。
三、代码的设计
手机“计算器”程序以事件驱动为主, 包括按钮的单击事件、菜单的单击事件等。下面介绍程序中部分代码, 完整代码可向作者索取。
1、模块变量的设置
2、数字按钮“0”-“9”的单击事件代码
下面代码以数字“5”键为例, 其它数字键单击事件做适当修改即可。
3、正负键“+/-”按钮的单击事件代码
4、小数点键“.”按钮的单击事件代码
5、取消键“CE”和“C”按钮的单击事件代码
6、退格键“Backspace”按钮的单击事件代码
7、平方根键“sqrt”按钮的单击事件代码
8、倒数键“1/x”按钮的单击事件代码
9、加、减、乘、除键按钮的单击事件代码, 以“+”号键单击事件为例
1 0、等号键按钮的单击事件代码
四、手机“计算器”程序的运行和部署
在VS2008的IDE (集成开发环境) 界面上, 从【调试】菜单下选择【启动调试】, 进入“部署计算器”窗口, 可以选择“CHS Windows Mobile 5.0 Pocket PC R2 Emulator”, 点击“部署”后在Windows系统下仿真运行。仿真运行成功后即可选择“Windows Mobile 5.0 Pocke PC Device R2”, 点击“部署”将计算器程序装入手机 (此时手机必须用微软的同步软件Active Sync与计算机相连接) , 在手机的“Program Files”文件夹中可以找到子文件夹“计算器”下的执行文件“计算器.EXE”, 以后可以随时运行此文件。
摘要:随着手机的完全普及, 手机应用程序开发的缺乏, 使得手机的其它附加用途受到了限制。本文通过手机“计算器”程序的设计, 为读者仿照本文开发更多的手机应用程序起到抛砖引玉的作用。
化学计算题解题思想及思维程序 第7篇
一、化学计算题的共同特点
(1) 概念性强.准确地掌握概念, 这是化学计算的基点.很多基本计算题就是概念题, 很多综合计算题, 也是结合多项概念找出相关关系才采取计算手段的.在解题时, 必须克服重视数学运算而轻视化学概念的错误认识和重视计算的技能技巧而轻视解题的化学思想的错误倾向.
(2) 量化性强.化学计算的基础是对相关化学知识的正确理解和应用, 计算是工具和手段.要进行化学计算, 必须弄清“质”与“量”的相互关系, 从两者的紧密结合上去进行分析和解答.“明确化学涵义”与“理解量的关系”两者密不可分.
(3) 方法性强.由于化学计算涉及化学与数学两个方面, 经常运用较多的化学基础知识和数学知识;又因题目可能包容着隐含的关系式、关系量, 思维性较强等原因, 故化学计算题灵活程度较大, 多数有一定难度.题目有些需要挖掘题示, 弄清题意;有些需要分析推理、讨论;有些需要巧设未知, 信息转换;因此解题时要注意优化解法.
(4) 规范性强.规范是任何一门科学的重要准则, 在很大程度上体现一个人的知识程度和科学素质.在解答计算题的过程中一定要注意对有效数字和国际单位制的要求.
二、解答化学计算题的一般思维程序和化学思想一般可概括为“审、思、答、查”四个程序.
(1) 审:
一审粗知大概 (粗读题, 知其大概内容) , 二审数字位排 (有效数字是否要求) , 三审关键所在 (抓关键, 细分析题目) .也就是说通过认真阅读, 挖掘题示信息, 认真审题, 明确条件和要求, 弄清要解决的问题.有些关键题示往往成为解题的突破口.
(2) 思:
已知未知搭桥 (找出已知、未知, 建立联系) , 概念由大化小 (概念解剖, 各个“击破”) , 分析对比提高 (对比概念内容确定方案) .
(3) 答:
列方程解答 (写设、列方程、解方程) , 过程精简准确 (计算过程简明、准确) , 清晰规范书写 (字迹清晰, 书写规范) .
(4) 查:
解答符合题意 (倒推重审, 不走题) , 符号配平搞齐 (方程式配平) , 量值单位切题 (量、单位与要求相符) .
在解题过程中, 审题要周全, 思考是关键, 答题应规范, 复查应全面.从某种意义上讲, 它也是一种能力, 反映了解决化学问题的基本能力要求, 所以我们有时称“题示信息+基础知识+逻辑思维+心理素质”为解题的能力公式.
化学思想:
守恒思想 (质量守恒, 电荷守恒, 物料守恒, 质子守恒, 终态法, 等)
平均思想 (十字交叉法, 平均值法, 等)
辨证思想 (极端假设法等)
三、以高考Ⅱ卷为基准的利用数学工具解决化学问题的化学计算思想方法训练
近几年高考化学试题Ⅱ卷中的化学计算试题, 要求考生将题目中各种信息转变成数学条件, 边计算边讨论足量、适量、过量、不过量等各种边界条件, 利用不等式、不定方程、几何定理、数轴、图像等数学工具, 灵活机智地将化学问题抽象成为数学问题, 或者是将隐含的信息变为数学的边界条件, 以解决化学问题.高考化学试题中计算题使用的数学思想主要有函数思想、分类讨论思想、数形结合思想等.
1.函数思想:
就是用运动、变化的观点去分析和处理化学问题中定量与变量之间的相依关系, 建立数学模型, 解决化学问题.
2.分类讨论思想:
按照一定的标准把复杂、综合的计算题分解成几个部分或几种情况, 然后逐个解决.适用于连续、多步化学反应过程的计算, 一般使用“特值-数轴”法.特值:按某个化学方程式恰好反应的比值确定.数轴:用变化的量或方程式中反应物的比值作为数轴的变量画出数轴, 将连续分步化学反应过程分解为某个范围的特定反应过程, 分段讨论, 作出完整的答案.
3.数形结合思想:
就是将复杂或抽象的数量关系与直观形象的图形在方法上互相渗透, 并在一定条件下互相转化和补充的思想, 以此开阔解题思路, 增强解题的综合性和灵活性, 探索出一条合理而简捷的解题途径.
【小结】解题没有一成不变的方法模式.但从解决化学问题的基本步骤看, 考生应建立一定的基本思维模式.“题示信息十基础知识十逻辑思维”就是这样一种思维模式, 它还反映了解题的基本能力要求, 所以有人称之为解题的“能力公式”.希望同学们建立解题的基本思维模式, 深化基础, 活化思维, 优化素质, 跳起来摘取智慧的果实.聆听并总结以下进行化学计算的基本步骤:
(1) 认真审题, 挖掘题示信息.
(2) 灵活组合, 运用基础知识.
体波与面波震级计算程序 第8篇
根据这些问题, 用《Visual Basic》编写了《体波与面波震级计算程序》, 用于方便而快捷计算体波与面波震级计算, 不受分析中标多个震相的限制。
1 基本计算公式
(1) 体波震级。
mb或mB=log (A/T) +Q (Δ, h)
(2) 面波震级。
水平向震级:要仿真成SK记录, 利用两水平向记录测定, 计算公式为:
其中垂直向震级:要仿真成763记录, 利用垂直向记录测定, 计算公式为:
2 程序使用说明
在Windows环境下运行《体波与面波震级计算程序》, 则弹出如图1画面 (表1) 。
如图1, 程序界面上相应输入栏里参照《程序栏参数输入表》依次输入各种数据, 然后点击<计算>按钮, 即可计算出所需的某个震级。考虑到分析中同时需要计算mb、mB、MS震级, 多设计了一个<合并计算>按钮。只要<体波震级计算参数>与<面波震级计算参数>各项栏里输入相关数据后点击<合并计算>按钮即可得出各项震级, 而不用依次点击各项震级<计算>按钮。如果要全部重算或计算下一个震级则点击〈清空〉按钮, 程序将清空栏里所有数据。
以延边台2011年4月8日数字地震观测报告中远震分析为实例, 如图2。
把数字地震观测报告中周期、地动位、震中距、起算函数等参数, 依次输入到程序输入栏后, 点击对应<计算>按钮即可计算出某单个震级。如果需要计算全部震级, 则输入全部数据后单击<合并计算>按钮, 即可完成所有震级计算。另外输入数据时, 按
3 结语
本程序主要是针对数字化台站进行远震分析时使用, 是台站日常工作的实用程序。另外本程序运行需要安装《Visual Basic》程序。从试用情况来看该程序具有操作简单、运行稳定、计算结果准确而可靠等特点。由于该程序是日常数据处理软件, 在使用中还需不断改进和完善。
参考文献
[1]王新民, 于翔志.2006.Visual Basic程序设计[M].北京:电子工业出版社.
[2]时振梁, 张少泉, 赵荣国, 等.地震工作手册[M].北京:地震出版社, 1992.
[3]刘克骧, 孙自刚, 等.单台测震分析辅助软件的设计及实现[J].地震地磁观测与研究, 2006.
矿山测量数据计算程序编制与研究 第9篇
1 矿山测量方案设计
1.1 矿山外业测量的一般要求。
矿山环境的特殊性, 导致了矿山井下测量方式只能采取导线测量方法, 井下导线点一般设在巷道的顶板上。在选定的点位上用矿灯或电筒目测, 确认通视良好后即用我们准备好的钉子、水泥做出标志并用油漆或粉笔写出编号。在巷道交叉口和转弯处必须设点, 导线边长一般为30~70m为宜。导线点设置在便于安置仪器的地方点位设置应牢固, 以免井下放炮震动掉落。目前测绘仪器迅猛发展, 一般采用全站仪进行导线测量, 但是由于受到井下条件的影响, 全站仪的应用也受到了一定的限制。导线测量过程中, 必须记录的基础数据包括角度、距离, 无论是手工记录还是电子记录, 都是涉及到计算导线点及采场碎步点点坐标的过程, 所以矿山测量一定要野外数据记录清晰、准确。
1.2 矿山测量内业数据处理。
矿山测量内业数据处理主要包括支导线、附合导线及闭合导线, 通常情况受到井下环境的限制支导线比较多, 根据传统的计算方法, 计算比较耗时耗力, 并且增加了错误的几率。
2 矿山井下测量计算程序设计
2.1 程序设计原理。
MFC是一个编程框架, MFC (Microsoft Foundation Class Library) 中的各种类结合起来构成了一个应用程序框架, 它的目的就是让程序员在此基础上来建立Windows下的应用程序, 这是一种相对SDK来说更为简单的方法。因为总体上, MFC框架定义了应用程序的轮廓, 并提供了用户接口的标准实现方法, 程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件 (代码和资源等) ;资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后, 编译, 则通过类库实现了应用程序特定的逻辑。
2.2 程序计算步骤。
(1) 采集外业测量原始数据; (2) 复查数据; (3) 绘出图跟点及碎步点示意图, 并且标出数据, 及角度、距离、高程等; (4) 按照程序设计要求根据示意图把数据录入到记事本中; (5) 打开程序读入数据, 得到数据结果; (6) 根据计算的结果在直接在AutoCAD软件上展点、绘图, 提交成果。
2.3 程序实现流程图 (见图1) 。
3 矿山支导线、三角高程等数据处理
3.1 数据录入。
数据录入一定要按照程序要求的格式编写, 以支导线1的使用情况进行举例说明, 支导线1至针对以一个已知点和已知方位角为起算数据的情况, 格式要求如下:
3.2 软件运行过程。
打开“矿山测量计算”可执行程序, 就会出现软件的使用界面, 在该用户界面中计算中包括支导线计算、三角高程计算、巷道坐标计算, 其中支导线计算根据起算数据不同包括三种形式, 即以一个已知点和已知方位角为起算数据;以两个已知点为起算数据, 程序能自动算出方位角;以两个已知点为起算数据, 可以直接输入斜距和倾角;根据不同数据格式选择需要处理的不同的数据, 就会直接得到数据处理结果。操作简单, 结果准确 (见图2) 。
4 结论
4.1 本论文主要针对目前矿山测量数据手工计算情况进行改善, 使数据计算达到自动化、简单化、程序化, 提高数据精度的同时也减少了工作强度。
4.2 编写矿山测量数据处理程序, 对矿山测量数据进行数据处理。
摘要:矿山测量研究的对象是对于矿山的巷道、采场等的定位与描述。测量行业大多使用AutoCAD软件进行开发应用。但是在输入到Auto-CAD软件数据时, 往往沿用传统的手工计算测量数据, 然后再利用AutoCAD软件展点、绘图, 再测量数据手工计算过程中, 不仅影响了数据精度, 同时降低的工作效率, 本文主要研究利用Microsoft Visual C++6.0语言平台编制矿山专用的计算程序, 对数据直接进行处理, 并且达到数据展点要求。
关键词:矿山测量,数据处理,程序设计
参考文献
[1]张国良.矿山测量学[M].徐州:中国矿业大学出版社, 2001.
[2]李正中.测绘工程管理[M].北京:中国华侨出版社, 1996.
[3]周立吾, 张国立, 林家聪.生产矿井测量[M].徐州:中国矿业大学出版社, 1989.
计算程序 第10篇
[关键词]计算思维;Python;程序设计;课堂教学
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2016)08-0127-03
一、引言
2006年,美国CMU大学周以真(Jeannette M.Wing)教授在美国计算机权威期刊《Communications of the ACM》上发表并定义了计算思维(Computational Thinking)。[1]周以真教授认为:计算思维是运用计算机科学的基础概念去求解问题、设计系统以及理解人类行为,它包括了涵盖计算机科学之广度的一系列思维活动。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个我们知道如何求解的问题;计算思维采用抽象和分解的方法来控制庞杂的任务或设计巨型复杂系统。它是基于关注点分离的方法,它是选择一种合适的方式陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。计算思维利用启发式推理寻求解答,就是在不确定情况下的规划、学习和调度。计算思维将成为每一个人的技能组合成分,而不仅仅限于科学家。[4]
计算思维能力是多种学科人才必须具备的基本素质,其概念一经提出就引起了国内外科学界和教育界的广泛关注。近年来,国内外学者从不同的角度对计算思维的含义、特点和培养方法进行了探索和研究。中国科学院院士、中国科学技术大学陈国良教授指出:在大学中,计算思维不仅能振兴大学计算教育,而且会令科学与工程领域创造出革命性的研究成果。[2]朱亚宗教授将计算思维、实验思维和理论思维归结为人类三大科学思维方式。[3]
二、Python语言
Python语言是一种面向对象、直译式计算机程序设计语言,Python语法简捷、清晰和易读。Python是开源的语言,具有丰富和强大的类库,同时具有优良的可扩展性和平台可移植性,它能够很轻松的把用其他语言制作的各种模块轻松地联结在一起。
Python语言的主要特点:
(一)简单易学
Python有极其简单的语法,容易上手,易于学习,非常适合初学者,也特别适合专家使用。一个好的Python程序专注于解决问题本身,而并不是沉迷于语言语法。
(二)免费、开源
Python的使用者可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。
(三)可移植性、可扩展性、可嵌入性
Python可以被移植到各种不同的平台上,如Linux、Windows、Macintosh等等,以及Google基于linux开发的android平台。Python可以将部分程序用C或C++编写,然后在Python程序中使用它们。使用者也可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
(四)面向对象
Python支持面向过程和面向对象的编程。
(五)丰富的库
Python除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
目前我国高校主要把C语言和VB语言作为程序设计课程所用语言。这些程序设计语言历史较久,功能强大,特点突出。但是这些程序语言进行程序开发工作量较大,难度相对较高,特别是对于非计算机专业和文科院校专业的学生更是如此。
Python语言是一种简洁、易读的程序语言,具有可扩展性和可移植性的特点。同时Python是开源的语言,拥有丰富的库,为开发提供了极大的便利。目前国内外采用Python语言作为程序设计课程语言的高等院校日益增多。
三、Python程序设计课程的计算思维
程序设计课程是很多非计算机专业学生的一门必修课,同时也是一个训练学生计算思维很好的平台。[5]本文尝试在Python程序设计课程的教学过程中,引入计算思维的先进理念,把程序设计知识以一种新的方式教授给学生,通过把计算思维融入Python程序设计课程教学中,实现逐步引入计算思维的基本概念和方法,使学生理解计算思维的理念,学会运用计算思维的方法,去发现问题,然后寻找解决问题的途径,最终解决问题。这样通过本课程的学习,达到培养学生计算思维的能力,提高学生解决问题的能力和创新能力的目的,为程序设计课程探索一条新的教学途径。
在实际工作中,当需要解决一个大型问题时,往往都会首先考虑怎么对问题进行分解化简。如现代制造业中的离散制造,就融合了计算思维的本质,把一个庞大的生产问题,按照产品的功能进行层层分解,使一个庞大的问题分解成一个个子问题,更便于人们在生产过程中进行处理和控制。计算思维就是通过约简、分离、嵌入、启发等方法,把复杂的问题分解并解释成若干简单问题,从而降低难度,便于分析和解决问题。
在Python程序设计教学过程中,运用这种分解或分层的方法,以程序设计理论为出发点,把人的思维融入程序设计解决问题。学生不再只是面对抽象的程序设计的理论与算法,更多的是将注意力集中在分解问题和解决问题的过程中,同时还可以将各自专业和学科知识融入其中。
四、Python程序设计课程中计算思维应用
在计算思维解决问题的方法中,关键是把问题化简和分离,也就是将复杂而庞大的问题按照较为合理的方法进行分解简化,问题最终将被分解成多个模块,或者多个阶段,然后再针对这些模块或阶段去逐个找出解决方法,最终解决整个系统的问题。
事实上这种把问题化简和分离的方法,非常适合在Python程序设计课程中应用。教师在教学中把各个问题分解简化,学生面对的不再是整个完整的问题,而是一个个相对容易解决的小问题和小模块,所以学生只需要把每个小问题解决好了,那么也就掌握了Python程序设计的方法和过程。下面以Python程序设计课程中的一个问题为例,来说明Python程序设计课程中的计算思维应用。
现在需要用Python程序设计中的列表来处理数据。教师首先把列表问题分解成创建列表、添加数据、显示数据等几个问题,然后逐步解决这些问题,最终实现运用列表处理数据的目的。
(一)创建列表
现有一些关于汽车基本信息的数据,需要根据这些数据先去创建关于汽车品牌的一个列表。在创建列表过程中,教师会让学生重点关注一下几个问题:列表的结构、列表的存储方式、列表中数据项的处理方法。
创建一个名为“cars”,关于汽车品牌的列表。
cars=[“大众”,“通用”,“丰田”,“福特”]
通过创建列表这一问题,使得学生掌握创建列表的基本方法,了解列表中数据项的数据类型问题,同时也让学生知道列表中数据项存储方式是类似于数组的。在解决创建列表问题的基础上,教师可以进一步把问题加以扩展,如列表中数据项的显示、列表中数据项的添加、列表中数据项的删除等等,这样又让学生掌握了列表中数据项的处理方法。
(二)添加数据
在创建了关于汽车品牌的列表后,现在需要为它增加一个生产年份的数据,而且要求数据要添加在每一个汽车品牌后面。在这一问题中,教师提示学生要关注解决问题的不同方法。
方法一:运用“insert”和“append”命令,向“cars”列表中直接添加所需要的数据。
cars.insert(1,“2012”)
cars.insert(3,“2010”)
cars.insert(5,“2000”)
cars.append(“2014”)
这种方法需要用到“insert”和“append”命令,而且还要分别计算每个生产年份在整个列表中的位置。
方法二:从头重新创建“cars”列表。
cars=[“大众”,“2012”,“通用”,“2010”,“丰田”,“2000”,“福特”,“2014”]
这种方法相对比较简单,只需重建列表。
添加数据问题解决后,让学生进行总结讨论,这两种方法的优缺点,使学生了解对应不同的需要和不同的列表,可以采用不同方法来解决问题。
(三)显示数据
进入显示数据阶段,教师首先要求学生把上述所建的“cars”列表中的数据,按品牌和年份分别显示出来,用“print”命令显示出来,这一任务学生很容易完成。
print(cars[0],cars[1])
print(cars[2],cars[3])
print(cars[4],cars[5])
print(cars[6],cars[7])
然后教师再提出一个问题,如果“cars”列表中添加了新的数据项,也需要显示出来,怎么解决?学生解决的方法往往是增加“print”语句,接着我们再问学生:如果列表中增加的数据项有很多项,那怎么解决?是不是要添加很多条“print”语句呢?
上面这个问题往往会难住学生,教师就可以适时的提出用迭代方法来处理列表中的数据,引入“for循环”语句可以非常方便解决这一问题。
for each_item in cars:
print(each_item)
用迭代方法方便解决问题后,我们还可以让学生考虑用“while循环”语句编写迭代代码。
cars=[“大众”,2012,“通用”,2010,“丰田”,2000,“福特”,2014]
number=0
while number print(cars[number]) number=number+1 显示数据问题解决后,学生在此过程中掌握了通过迭代来实现显示列表中数据的方法,同时初步了解了循环语句的用法。 (四)思维启发 经过前面三个阶段的学习,学生已经基本掌握了列表处理数据的方法,同时也从中了解了与计算思维相关的一些知识。为了让学生更好的理解计算思维的本质,教师需要把计算思维方法中的思维启发引入教学过程中,让学生多思考,多寻求解决问题的方法,从而达到培养学生应用计算思维能力的目的。 具体实施方法是,以前面三个阶段的学习为基础,再给学生提出一系列与列表相关的问题,如运用列表知识来解决企业销售的问题、超市商品价格查询问题等。学生要解决这些问题,光靠前三个阶段的知识是远远不够的,由于课堂时间有限,所以教师应鼓励学生课后去思考,去寻找解决问题的方法。经过一阶段后,教师再去检查学生完成任务的情况,当然学生完成的情况可能不是很理想,存在很多问题,这都是很正常的。教师提出一系列与列表相关问题,其目的主要是关注学生思考探索问题的过程,而不是解决问题的结果。在学生经过自己思考探索之后,教师在学生结果中挑选一些典型例子,进行讲解分析,最后引出正确的解决问题的方法和思路。通过这些训练,学生思考问题、解决问题的能力会有很大提高,学生也慢慢学会使用计算思维的各种方法来思考和解决问题。 学生计算思维的基本技能的培养,不可能单单通过课堂教学就能完成,实际的锻炼是最好的方法。所以教师应当多鼓励学生参加一些创新项目和应用能力大赛,通过项目和大赛磨炼和挑战自己,参与的学生都受益匪浅,感到自己各方面的能力都得到了锻炼。学生的这些收获往往是在课堂上老师所不能给予的。计算思维能力的培养最终要靠学生自己在学习、实践活动过程中逐步掌握和形成。 五、结束语 要让学生掌握好计算思维的基本技能,必须把计算思维的培养融入整个教学过程中。从Python程序设计课程教学尝试来看,计算思维方法能很好的培养和训练学生思考和解决问题的能力,使学生较好的掌握教学内容,使教学效果良好,这表明了把计算思维融入程序设计课堂教学的可行性和有效性。所以,教师都有必要从计算思维的理念出发,积极主动地参与到教学过程中,把计算思维的各种方法和自己的课程有机的结合起来,从而达到培养学生计算思维的能力的目的。 [ 注 释 ] [1] Wing J M.Computational Thinking[J].Communication of the ACM,2006(3):33-35. [2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11,32. [3] 朱亚宗.论计算思维——计算思维的科学定位、基本原理及创新路径[J].计算机科学,2009(4):53-55. [4] 周以真.计算思维[J].中国计算机学会通讯,2007(11):83-85. [5] 孙家广.计算机科学的变革[J].中国计算机学会通讯,2009(2):6-9. [责任编辑:钟 岚] 关键词:特殊方程,MATLAB语言,求解 1 非线性方程的解法 用函数fsolve求解,形式为:XE=fsolve(fun,XF,option)。其中fun为方程的表达式或函数文件名,XF为所求方程的根的初始(First)值,XE为所求方程的根的最后(End)值。XF和XE的意义以下各情况都同此。option(1)为0或者为1,option(1)默认为0,如果option(1)为1,则显示优化过程的中间步骤。 例1:求解方程xex-0.7x2=371的数值解 解法一:创建M文件li1.m,其程序如下: 再在命令行符号>>后键入文件名li1,可得XE=4.4583 解法二:在命令行符号>>后键入各语句,其程序如下: 可得XE=4.4583 故原方程的近似数值解为x=4.4583 2 非线性方程组的解法 非线性方程组也可以用fsolve求解,其解法见例2。 例2:求解非线性方程组 解:先创建M文件myfun1.m,其内容如下: 再在命令行窗口中运行: 故原方程的近似解为x1=4,x2=3. 3 求解满足给定条件的矩阵 求解满足给定条件的矩阵也可以用fsolve求解,其解法见例3和例4。 例3:求解矩阵方程,即求一个三阶矩阵x,使适合下列式子 其中eye(3)为三阶单位矩阵。 解:先创建M文件myfun2.m,其内容如下: 再在命令行窗口中运行: 故所求的三阶矩阵 例4:求解矩阵方程,即求一个三阶矩阵x,使适合下列式子 解:先创建M文件myfun3.m,其内容如下: 再在命令行窗口中运行: 故所求的三阶矩阵 其中options=optimset('Display','off');表示不显示求解过程,如果要显示,可以将off改为iter. 例3与例4告诉我们式子x3-3x2+2x+4*eye(3)与式子x3-3x2+2x+4运算结果不一样。 式子x3-3x2+2x+4等于式子x3-3x2+2x+4*ones(3,3),其中ones(3,3)为全部元素是1的三阶矩阵。 4 结束语 从纯数学的角度去解上述这些特殊方程,对于数学知识不太多的人,是不容易解的。有了MATLAB语言以后,一般人只要按上述步骤,也容易解上述这些特殊方程。当得到一个解后,再验证,就知道其是否是原方程的一个正确解。 参考文献 [1]梁国业,廖健平.数学建模[M].冶金工业出版社,2004,9. [2]汪卉琴,刘目楼.数值分析[M].冶金工业出版社,2004,3.一些特殊方程的计算机程序解法 第11篇