程序设计报告范例实用5篇
【路引】由阿拉题库网美丽的网友为您整理分享的“程序设计报告范例实用5篇”文档资料,以供您学习参考之用,希望这篇范文对您有所帮助,喜欢就复制下载支持吧!
程序设计报告1
实验目的
1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容
计算并输出1000以内最大的10个素数以及它们的和。
要求:
在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图
main函数:
判断素数:
源程序
#include
#include
int sushu(int n)/* 判断素数的函数 */
{
int t,i;
t=sqrt(n);
for(i=2;i<=t;i++)
if(n%i==0)/* 如果不是素数,返回 0 */
return 0;
return n;/* 如果是素数,返回该数 */
}
void main
{
int i,j=0,n,m=0,a[1000],x;
/*clrscr;*/
printf("please input a number form 1 to 1000:");
scanf("%d",&x);
if(x==2)/* x=2时的处理 */
printf("%dn",x);
else if(x<=1) /* x在1~1000范围外时的处理 */
printf("error!n");
else
{
if(x%2==0)/* x为偶数时,把x变为奇数 */
x--;
for(i=x;i>1;i-=2)/* x为奇数时,做函数计算 */
{
n=sushu(i); /* 做判断素数的函数调用 */
if(n!=0)/* 对素数的处理 */
{
a[j]=n;/* 把素数由大至小存入数组a[ ]中 */
j++;
if(j<11)
m+=n; /* 统计前10个素数之和 */
}
}
if(j<10)/* 当素数个数小于10个时,结果输出 */
{
for(i=0;i
{
n=a[i];
printf("%d",n);
printf("+");
}
printf("2=");
printf("%dn",m+2);
}
else for(i=0;i<10;i++)/* 当素数个数大于等于10个时,结果输出 */
{
n=a[i];
printf("%d",n);
if(i<9)
printf("+");
else
{
printf("=");
printf("%dn",m);
}
}
}
}
测试数据
分别输入1000、100、10测试。
运行结果
出现问题及解决方法
当素数个数小于10时的处理不够完善,考虑不够周全。把“+2”的处理做的太勉强。
程序过大,不够精简,无用文字太多。
学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。
编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。
基本功不够,如清屏clrscr等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后c语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。
物理实验报告 ·化学实验报告 ·生物实验报告 ·实验报告格式 ·实验报告模板
知识不够广泛,如vc++等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。
实验心得
上面内容就是差异网为您整理出来的5篇《程序设计报告范文》,能够给予您一定的参考与启发,是差异网的价值所在。
程序设计报告2
[关键词] 算法数学教学高职计算机专业算法学习报告
算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程。后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法。
算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。对于高职计算机专业的学生来说,算法的学习尤为重要,因为它是学习程序设计语言等专业课的基础。可是,现在的高职数学教材没有这一内容,并且在实际教学中数学理论与专业课程之间严重脱节,让学生觉得数学学习学之无用。因此在高职计算机专业的数学教学中加入算法内容,可以让学生在初步感受算法思想的基础上,结合对具体数学实例的分析,撰写算法学习报告,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力,为学习程序设计语言等专业课程打下坚实的基础。
一、根据学生的学习现状,设计了算法学习报告,通过让学生撰写学习报告来探讨如何通过具体的数学实例让高职学生体会算法的基本思想
算法学习报告包括:学生预习情况、小组讨论、教师点评、学习总结、教师对学习报告的评价和调查问卷六个部分,下面来具体进行分析:
1.学会课前预习是学好任何学科的前提,数学学习也不例外。可是,对于职业学校的学生来说,大多数的学生没有良好的学习习惯,也比较懒惰。如何让高职学生改变这样的现状已成为新时期高职教师亟待解决的问题。因此,根据高职学生的这一特点和算法学习的要求,我设计了算法学习报告中的学生预习情况部分,让学生通过充分课前预习来为课堂学习做好准备。这部分细分为:解题分析、算法分析、画出流程图和写出程序设计的代码(程序设计代码的编写可根据学生的实际情况进行调整)。
下面以一个数学实例来具体介绍算法学习报告中的学生预习部分。
教师在课前先给出预习内容:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在?
学生预习情况:对于这样一道“判断分别以这3个正实数为三边边长的三角形是否存在?”的题,以往的数学课上讨论的很少。因此,可能班级中绝大部分的学生没有一点正确的解题思路,就更谈不上写出解题分析、算法分析、画出流程图和写出程序设计的代码了。那么这时就来看看在课堂上教师如何引导学生进行这个内容的学习。
2.在课堂上通过以学生为主体的小组讨论方式,可以调动他们学习算法的积极性,同时开拓他们的学习视野。俗话说:“三个臭皮匠,顶个诸葛亮!”
课堂上小组讨论情况:有同学提出利用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。
3.教师点评是教师从旁引导,使学生能够正确理解算法的设计思路,建构正确的知识体系。
教师点评:为学生分析构成三角形的条件,鼓励学生尝试用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。
4.学生经过课堂上的小组讨论和教师点评后,已经有了大致的解题思路,但是仍需精加工。因此,要求学生独立完成学习报告中的学习总结,写出其中修改后的算法分析、画出流程图和程序设计的代码以及学后记。
学生修改后的算法分析:
第一步:输入3个数a、b、c。
第二步:利用“两边之和大于第三边”判断a、b、c是否能构成三角形。
第三步:如果能构成三角形,输出结果或者输出“无法构成三角形”的信息。
学生修改后的流程图:
程序设计代码:略
学后记:要求学生写出学习这部分内容的学习感受,找出自己在学习中的优缺点,为今后的算法学习大好坚实的基础。
同时通过以上这些具体的学习过程让学生通过自我反思,提高自身解决问题、分析问题的能力,为以后的算法学习积累丰厚的经验。
5.教师对学生所做学习报告的评价和成绩评定,可以让学生了解自己在算法学习上的优势和不足之处,为今后的学习打下坚实的基础。
6.学生在新的内容学习结束后,究竟掌握了多少?在算法学习方面还存在哪些问题呢?我在设计算法学习报告的同时还设计了一份调查问卷来了解学生的学习状况。
(1)你在预习时能理解多少研究主题的内容?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(2)你在预习时能写出多少算法设计的步骤?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(3)你在预习时能画出多少流程图的结构?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(4)你在预习时能写出研究主题的程序设计多少行?
A.全部B.一半左右C.很少的一部分D.0行
(5)在听了小组的讨论后,你觉得在哪个方面的收获最大?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(6)在听了教师的点评后,你觉得在哪个方面的收获最大?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(7)你觉得填写学习报告中的预习情况对你的算法学习有帮助?
A.有很大帮助B.有一点帮助C.没有帮助D.可有可无
(8)你觉得小组讨论有必要进行下去吗?
A.很有必要B.有些必要C.没有必要D.可有可无
(9)在学习了这个研究主题后,你觉得目前你最薄弱的是哪一个环节?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(10)①教师给出的最佳程序设计写了行,
②你写出的正确的程序设计是行,
③最佳程序设计的行数:你写出正确的程序设计的行数= 。
让学生每做一份算法学习报告就做一份调查问卷,可以让数学教师和专业课教师及时明确地掌握学生学习情况的第一手资料。教师可以通过这些数据,对全班学生学习情况进行横向的对比,随时调整教学设计方案,找到适合高职计算机专业学生数学教学的模式;在撰写多个算法学习报告后,也可以对某位学生调查问卷的数据进行纵向的对比,从中可以看出这位学生的算法学习是否有进步,还存在哪些方面的问题亟待解决。教师可以及时给学生进行有针对性的辅导,提高他们的算法学习成绩。
二、撰写算法学习报告可以加强算法的核心内容――程序框图的学习
由于算法的概念并没有一个统一的定义,在教学过程中应从实例出发,通过让学生撰写算法学习报告可以加强学生对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,力求使学生能够对算法本质有所认识。自然语言、程序框图和算法语言是表达算法的三种形式,其中程序框图最为重要,它是算法的核心内容。教师在教学中要重点抓住它,而不必一味的追求程序设计的完整。算法案例配合学习报告的使用,可以使学生进一步理解程序框图,领会算法的本质。
三、算法学习报告对高职计算机专业数学教学的重要性和有效性
1.算法学习报告的撰写将数学学习与程序设计语言学习有机的进行了结合。
算法是实践性很强的内容,只有通过学生自己的亲身实践,让学生亲自去解决几个算法设计的问题,才能使学生体会算法的基本思想,学会一些基本逻辑结构和语句。算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法。为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,又要将自然语言或程序框图翻译成计算机语言。因此,如果能让学生上机,算法设计的整个过程就可以得到完整的体现,学生可以及时看到自己设计的算法的可行性、有效性,这不但可以很好地激发学生的兴趣,而且还能提高学习效果。但是有些学校教学条件不允许或者还没有开设程序设计语言的课程,算法学习报告的撰写正好弥补了这一不足,方便了学生进行算法的学习。
2.算法内容的学习最好安排在高职计算机专业的学生已经开始学习VB、C等程序设计语言课程后,这样能够直接与专业课的学习进行互动,学习成效会更加显著。
如果算法内容可以让高职计算机专业的学生用数学学习报告的方式进行学习,那么不仅能提高学生数学学习的兴趣,也能为专业课的学习打下了坚实的基础。
目前,算法教学刚刚起步,还有很多不完善的地方,但是我相信经过一段时间的摸索,一定会找到一个适合高职计算机专业学生的数学教学模式。高职数学教学改革任重而道远!
参考文献
[1]普通高中标准实验教科书・数学3.北京:人民教育出版社,2004
程序设计报告3
中图分类号: 文献标识码:A
Improving the Experiment Equality on the C Programming
by Group Teaching in the Network Environment
ZHU Juan
(Information Science and Technology, Jiujiang UniversityJiujiang, Jiangxi 332005)
AbstractGroup teaching method is an important method that used widely in the practical classes. And it is important to reform the teaching model, and to improve the teaching quality. In this paper, the method of group teaching is introduced to the experiment of C programing class. By developing the group strategy, the students complete the experiment tasks by team working. The result proves that the method of group teaching is valuable in the C programing class.
Key wordsgroup teaching; teaching mode; teaching feedback
0 引言
C程序设计课程受众非常广泛,普通地方高等院校几乎都有开设,对计算机专业的学生而言,这是程序设计的入门课,也是专业核心课;对非计算机专业学生而言,这是通过计算机等级考试的核心科目,是必选通识课。
随着计算机理论教学的逐步深入,C程序设计课程的教学模式也几经改革,取得了很大的进步,但是,还存在着一些问题:C程序的教学往往过于强调语法的讲授,对如何分析和解决问题讲得不够透彻,没有把编程思路放在主体地位上;过于注重课堂讲授,对学生编程能力和程序调试能力的训练不够,忽视学生实际动手能力的培养。C程序作为一门程序设计类课程,实践能力是其重要的环节,虽然大多数高校都安排了实验上机环节,但是将近一百人的课堂,只有一个教师进行指导,这样的实际情况下,教师对学生实际操作的指导是远远不够的。因此,往往在一个学期结束之后,仍然有不少同学甚至不能进行简单的程序调试。
针对以上现状,本文试图构建分组实验的教学模式,提高C程序课程实验教学的质量,提高学生编程能力。
1 分组实验教学的概念
分组实验教学是根据实验课程及现有学生特点进行分组,使之以组为单位来完成实验任务,以提高实验教学效果,促进学生动手能力的提高。
2 分组教学的准备
分组实验设施的配置
C程序设计课程的实验教学一般都分配有专业的实验室,人均一台电脑,安装有专业的实验软件,一般为Turbo 或Visual C++,学生以自己的电脑为单位独立完成实验任务。本文拟提出的分组实验教学模式,在原有的实验设施的配置之上,还需要配置有网络连接,通过网络实现分组讨论。
小组的划分
在以往的类似分组实验教学活动中,对学生的分组一般是按学号顺序进行分组,这样的分组会导致学生学习能力在各小组分配不均匀,可能会出现有的小组实验能力特别强而另外小组实验能力非常弱的情形。因此,本文拟提出以学生上一学期的期末成绩作为分组的依据,每五人一组,使得成绩好和成绩较差的学生在各组基本平均分配。
小组组长的指定
每个小组指定一名组长,组长在小组里很大程度上起到教师的作用,不仅自己完成实验任务,还要负责组织小组成员的讨论安排以及,帮组解决小组成员程序调试中出现的问题。所以,一般指定小组内成绩最好的同学为小组组长。
3 分组教学的实施
实验任务的布置
利用QQ群功能,以班级为单位构建一个班级群,然后各小组成员构建自己的小组群,便于实验任务的布置以及群之间的讨论。教师在班级群将实验任务出去,实验任务包括指定实验名称、实验内容、调试计划等,各小组的实验任务可以相同也可以不同。
分组实验教学的实施
算法讨论。由于C程序设计是一门程序设计类课程,实验内容主要以编写程序代码为主,而编程的核心是算法的分析与设计。以往很多同学无论是计算机专业还是其他非计算机专业的学生拿到程序题目就开始编写代码,没有算法设计这一环节,因此对于程序调试过程中的逻辑问题无(下转第40页)(上接第38页)法解决。所以,算法设计纳入本实验环节,小组长组织本小组成员在QQ小组群里首先对算法的思路进行讨论,确定行之有效的算法,甚至为了强化大家对于算法概念的掌握,可以要求一个题目用多个算法来实现。
代码编写。通过算法讨论,并确定算法的正确性之后,各小组成员分别独立完成自己程序代码的编写。
程序调试。程序调试时C程序设计实验课程的重要环节。再有经验的程序设计者也不可能将所有程序一次性编写成功,调试――修改――调试,这是程序设计必经的环节。而限制学生C程序实验课程教学效果提高的重要因素就是学生程序调试能力太差。学生往往缺乏程序调试的意识,成绩好的同学遇到问题问老师,成绩不好的同学遇到问题干脆放弃,长此以往,很多同学上机的兴趣就遗失了。本文拟通过分组的形式,遇到问题,小组讨论,众人拾柴火焰高,在小组长领导之下,对于简单问题,成员之间共同解决。对于实在解决不了的,由小组长发给教师,在教师的指导下解决。这样的解决方式,一方面锻炼了学生调试程序的能力,另一方面自己的问题自己内部解决也激发了学生的成就感启发了其继续学习下去的兴趣。
实验报告的编写。以往的实验报告按人头上交,每个学生每次实验课均提交一次实验报告,大部分同学的实验报告均照抄程序代码,敷衍了事。实验报告是对一次实验过程的总结,包括算法的设计,程序的调试等,认真的总结也是一次学习的过程。在本论文中,拟每个小组只需以小组为单位提交一份实验报告。这种形式,一方面避免学生将大部分精力投入抄写实验报告中,另一方面,通过小组长督促本小组成员对本次实验认真总结,除了算法的设计之外,更重要的是调试程序的经验。
4 分组实验教学的反馈与调整
笔者在所授课班级通过实施分组实验教学,班级学生实验动手能力整体比较高,国家计算机等级考试过级率也高出同类班级。
同时,对班级不同小组成绩进行横向比较,发现实验内容难易程度、小组长的沟通和组织能力以及小组成员的学习积极性是影响教学效果的重要因素。因此,需要在教学实践中不断加以关注和调整,发挥有利因素,抑制不利因素,使得分组实验教学模式在C程序设计课程教学中发挥更加重要的作用。
5 小结
将分组式教学模式引入C程序设计课程教学,就课程改革而言具有重要意义,实践证明通过分组式教学,学生的C程序设计理论知识得到了很好的巩固,编程动手能力得到了很大的提高,同时对学生的学习积极性也起到了很好的激励作用。
参考文献
程序设计报告4
关键词:新疆;亚行;贷款;建设;相关程序;
[Abstract]: This paper introduces the research of Xinjiangby ADB loan related program infrastructure construction
[keyword]: Xinjiang; ADB loans; construction; procedures;
中图分类号:TU99
1、新疆利用亚行贷款概况
目前,新疆利用亚行贷款进行了六期基础设施建设项目,分别为:1、贷款1亿美元的新疆地方基础设施和环境改善项目;2、贷款1亿美元的新疆城市交通和环境改善项目;3、贷款1亿美元的阿勒泰地区边境县口岸镇基础设施及环境改善项目;4、贷款2亿美元的新疆城市综合发展和水资源管理项目;5、贷款亿美元的新疆阿克苏市项目;6、贷款亿美元的新疆塔城边境城镇发展项目;
2、利用贷款程序
(1)基本工作程序
(2)项目备选计划
国家发改委在每年7-8月份要求各省、自治区、直辖市提交报告给国家发改委 ,申请纳入备选规划。各地发改委要给国家上请示文件并附项目简介(达到项目建议书深度),配套资金承诺函和财政担保函等。国家发改委和财政部向亚行提出项目建议,国家发改委汇总并确定项目清单后,商财政部报经国务院批准。次年初,国务院批准未来三年中国利用亚行贷款的滚动备选项目规划。
(3)亚行确认项目
目前,负责新疆亚行贷款项目的一般为亚洲开发银行东亚局城市和社会发展处。
亚行列入贷款项目规划,完成亚行立项手续。发展改革委提出项目前期工作要求,项目业主开始准备项目初设计、可研报告和项目建议书及相关材料。
亚行派出项目准备技术援助考察团来疆,与项目办签署考察备忘录,征集技术援助报告,选择技术援助公司(基于质量和成本的选择)。
(4)亚行工作流程
(5)技术援助团进场PPTA
技术援助时间一般为6-10个月,主要任务是帮助各编制单位完善并完成最终报告。技术援助起始团进入项目地,国内建设部门向技术援助团提交可研报告、移民报告、少数民族发展报告及环评报告初稿,与当地设计机构讨论对接编制的的四个报告,做相关培训。到项目区调研,举办环评、移民公众参与会。在技术援助期间技术援助团完成初期报告、中期报告及终期报告,翻译环评、移民、少数民族报告提交亚行。技术援助工作基本结束。
(6)亚行考察团实地考察
亚行考察团主要完成以下任务:1、工程技术和设计方面评估;2、社会影响及移民计划评估;3、环境影响及环境评估报告;4、项目成本预算及融资安排;5、经济评价及财务分析报告;6、机构能力评估7、培训执行机构人员;8、确保文件符合亚行要求;
在技术援助团完成初期、中期、终期报告后,亚行分别派出项目实地考察团审查技术援助开题报告、中期报告及终期报告并签署备忘录。
(7)亚行审查国内报告
在技术援助团向亚行提交各报告后,亚行管理层进行审查会议并将项目环评报告、移民报告、少数民族发展报告上网公示3个月。
亚行准备行长报告、评估报告、贷款协定、项目协议,亚行职员审查委员会会议审查。向政府发出贷款文件草本。
(8)亚行事后监督
建设单位每半年向亚行递交项目进度报告,亚行不定期派出时候检查团对建设项目进行检查。项目完工后,亚行和项目单位编制项目完工报告及后评估报告。
3、相关建议
(1)亚行贷款项目一般为大型复杂项目,前期准备时间长,项目实施内容一般都在项目准备阶段确定,因此要重视前期准备工作,力争主动。
(2)既要按照亚程序进行准备和评估,又要按照国内基本程序报批可研、资金申请报告等,为避免重复劳动,耽误项目进程,必须在两者之间找到合适的结合点,缩短准备时间,降低准备费用。
(3)亚行项目不仅提供建设资金,同时帮助借款人引进技术、培训人员、改善和加强机构能力建设。我们重在学习先进技术和管理经验,提高管理水平。
4、结束语
利用亚行贷款可以加快新疆各项基础设施的建设,它与人们的生产生活息息相关,其安全运行可加快城市的可持续发展,为维护社会的安定团结,构造和谐社会,谋城市跨越式发展打下良好的基础。
本文紧紧围绕新疆利用亚行贷款进行基础设施建设,进行了详细的阐述与分析,并对各建设部门今后利用亚行贷款做出了积极的建议。
程序设计报告范文5
[关键词] 算法数学教学高职计算机专业算法学习报告
算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程。后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法。
算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。对于高职计算机专业的学生来说,算法的学习尤为重要,因为它是学习程序设计语言等专业课的基础。可是,现在的高职数学教材没有这一内容,并且在实际教学中数学理论与专业课程之间严重脱节,让学生觉得数学学习学之无用。因此在高职计算机专业的数学教学中加入算法内容,可以让学生在初步感受算法思想的基础上,结合对具体数学实例的分析,撰写算法学习报告,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力,为学习程序设计语言等专业课程打下坚实的基础。
一、根据学生的学习现状,设计了算法学习报告,通过让学生撰写学习报告来探讨如何通过具体的数学实例让高职学生体会算法的基本思想
算法学习报告包括:学生预习情况、小组讨论、教师点评、学结、教师对学习报告的评价和调查问卷六个部分,下面来具体进行分析:
1.学会课前预习是学好任何学科的前提,数学学习也不例外。可是,对于职业学校的学生来说,大多数的学生没有良好的学习习惯,也比较懒惰。如何让高职学生改变这样的现状已成为新时期高职教师亟待解决的问题。因此,根据高职学生的这一特点和算法学习的要求,我设计了算法学习报告中的学生预习情况部分,让学生通过充分课前预习来为课堂学习做好准备。这部分细分为:解题分析、算法分析、画出流程图和写出程序设计的代码(程序设计代码的编写可根据学生的实际情况进行调整)。
下面以一个数学实例来具体介绍算法学习报告中的学生预习部分。
教师在课前先给出预习内容:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在?
学生预习情况:对于这样一道“判断分别以这3个正实数为三边边长的三角形是否存在?”的题,以往的数学课上讨论的很少。因此,可能班级中绝大部分的学生没有一点正确的解题思路,就更谈不上写出解题分析、算法分析、画出流程图和写出程序设计的代码了。那么这时就来看看在课堂上教师如何引导学生进行这个内容的学习。
2.在课堂上通过以学生为主体的小组讨论方式,可以调动他们学习算法的积极性,同时开拓他们的学习视野。俗话说:“三个臭皮匠,顶个诸葛亮!”
课堂上小组讨论情况:有同学提出利用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。
3.教师点评是教师从旁引导,使学生能够正确理解算法的设计思路,建构正确的知识体系。
教师点评:为学生分析构成三角形的条件,鼓励学生尝试用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。
4.学生经过课堂上的小组讨论和教师点评后,已经有了大致的解题思路,但是仍需精加工。因此,要求学生独立完成学习报告中的学结,写出其中修改后的算法分析、画出流程图和程序设计的代码以及学后记。
学生修改后的算法分析:
第一步:输入3个数a、b、c。
第二步:利用“两边之和大于第三边”判断a、b、c是否能构成三角形。
第三步:如果能构成三角形,输出结果或者输出“无法构成三角形”的信息。
学生修改后的流程图:
程序设计代码:略
学后记:要求学生写出学习这部分内容的学习感受,找出自己在学习中的优缺点,为今后的算法学好坚实的基础。
同时通过以上这些具体的学习过程让学生通过自我反思,提高自身解决问题、分析问题的能力,为以后的算法学习积累丰厚的经验。
5.教师对学生所做学习报告的评价和成绩评定,可以让学生了解自己在算法学习上的优势和不足之处,为今后的学习打下坚实的基础。
6.学生在新的内容学习结束后,究竟掌握了多少?在算法学习方面还存在哪些问题呢?我在设计算法学习报告的同时还设计了一份调查问卷来了解学生的学习状况。
(1)你在预习时能理解多少研究主题的内容?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(2)你在预习时能写出多少算法设计的步骤?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(3)你在预习时能画出多少流程图的结构?
A.全部B.一半左右C.很少的一部分D.一点也不懂
(4)你在预习时能写出研究主题的程序设计多少行?
A.全部B.一半左右C.很少的一部分D.0行
(5)在听了小组的讨论后,你觉得在哪个方面的收获最大?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(6)在听了教师的点评后,你觉得在哪个方面的收获最大?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(7)你觉得填写学习报告中的预习情况对你的算法学习有帮助?
A.有很大帮助B.有一点帮助C.没有帮助D.可有可无
(8)你觉得小组讨论有必要进行下去吗?
A.很有必要B.有些必要C.没有必要D.可有可无
(9)在学习了这个研究主题后,你觉得目前你最薄弱的是哪一个环节?
A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有
(10)①教师给出的最佳程序设计写了行,
②你写出的正确的程序设计是行,
③最佳程序设计的行数:你写出正确的程序设计的行数= 。
让学生每做一份算法学习报告就做一份调查问卷,可以让数学教师和专业课教师及时明确地掌握学生学习情况的第一手资料。教师可以通过这些数据,对全班学生学习情况进行横向的对比,随时调整教学设计方案,找到适合高职计算机专业学生数学教学的模式;在撰写多个算法学习报告后,也可以对某位学生调查问卷的数据进行纵向的对比,从中可以看出这位学生的算法学习是否有进步,还存在哪些方面的问题亟待解决。教师可以及时给学生进行有针对性的辅导,提高他们的算法学习成绩。
二、撰写算法学习报告可以加强算法的核心内容――程序框图的学习
由于算法的概念并没有一个统一的定义,在教学过程中应从实例出发,通过让学生撰写算法学习报告可以加强学生对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,力求使学生能够对算法本质有所认识。自然语言、程序框图和算法语言是表达算法的三种形式,其中程序框图最为重要,它是算法的核心内容。教师在教学中要重点抓住它,而不必一味的追求程序设计的完整。算法案例配合学习报告的使用,可以使学生进一步理解程序框图,领会算法的本质。
三、算法学习报告对高职计算机专业数学教学的重要性和有效性
1.算法学习报告的撰写将数学学习与程序设计语言学习有机的进行了结合。
算法是实践性很强的内容,只有通过学生自己的亲身实践,让学生亲自去解决几个算法设计的问题,才能使学生体会算法的基本思想,学会一些基本逻辑结构和语句。算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法。为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,又要将自然语言或程序框图翻译成计算机语言。因此,如果能让学生上机,算法设计的整个过程就可以得到完整的体现,学生可以及时看到自己设计的算法的可行性、有效性,这不但可以很好地激发学生的兴趣,而且还能提高学习效果。但是有些学校教学条件不允许或者还没有开设程序设计语言的课程,算法学习报告的撰写正好弥补了这一不足,方便了学生进行算法的学习。
2.算法内容的学习最好安排在高职计算机专业的学生已经开始学习VB、C等程序设计语言课程后,这样能够直接与专业课的学习进行互动,学习成效会更加显著。
如果算法内容可以让高职计算机专业的学生用数学学习报告的方式进行学习,那么不仅能提高学生数学学习的兴趣,也能为专业课的学习打下了坚实的基础。
目前,算法教学刚刚起步,还有很多不完善的地方,但是我相信经过一段时间的摸索,一定会找到一个适合高职计算机专业学生的数学教学模式。高职数学教学改革任重而道远!
参考文献