程序设计培训讲义
- 格式:doc
- 大小:43.00 KB
- 文档页数:6
程序设计提高班培训讲义苗坤(2007寒假)第一讲顺序结构程序设计主要容:1、熟练掌握赋值语句、输入输出语句的用法2、掌握顺序结构程序设计常用方法3、基本运算符的使用4、常用函数和过程一、赋值语句(:=)格式:变量名:=表达式功能:将表达式的值计算出来赋给相应的变量。
不管什么计算机语言,赋值语句都是最基本最常用的语句,通过它给变量赋值来进行各种运算、处理。
如 a:=10*5; {a的值为50}a:=a+1;{将a的值增加1,常用此语句来进行计数}s:=s+a; {将s的值增加a,常用类似的累加语句来进行求和}t:=t*a; {将t的值变为原来的a后倍,常用类似的语句来进行累乘}例题1:交换两个数值型变量a和b的值[分析与算法选择]:要交换两个变量的值,可以联想起现实世界中交换两个容器A和B中所装的东西,一般要先引进一个空的容器C,先将一个容器(如A)里的倒入C,再将另一个容器B的倒入A,最后将C的倒入B,从而实现A、B容器容的互换。
[方法1]:引进第三个变量c:=a;a:=b;b:=c;[方法2]:先合并后分开a:=a+b; {如原来a=3,b=5,执行此语句后a=8,b=5}b:=a-b; {执行此语句后a=8,b=3}a:=a-b; {执行此语句后a=5,b=3}还有其它一些办法,但都没有上面的两种方法通用。
如可先乘再除,这种方法对于有一个变量为0的情况就不正确了。
也可能会出现除数为0的情况。
例题2:计算四个变量的乘积[分析与算法选择]:一般的计算,可以直接用一个表达式将运算结果给一个变量就行了。
如果变量的个数不确定,或者说变量的个数很多,此时用一个表达式就不方便了,可行的方法是来一个就算一个,直到全部的都算好结束。
在后面的循环中常用这种方法。
[参考程序]:program example5_2;var t:longint;a,b,c,d:integer;beginwrite(‘Enter integer a,b,c,d:’);readln(a,b,c,d);t:=1;t:=t*a;t:=t*b;t:=t*c;t:=t*d;writeln(‘a*b*c*c=’,t);end.[补充说明]:累加时,存放累加值的变量初值一般为0;而累乘时必须将相应变量的初值赋为1。
千锋教育c语言程序设计讲义引言概述:千锋教育一直以来致力于提供高质量的教育资源,其中包括C语言程序设计讲义。
C语言作为一门经典的编程语言,具有广泛的应用领域和重要的地位。
本文将从五个大点出发,详细阐述千锋教育C语言程序设计讲义的内容。
正文内容:1. 基础知识:1.1 数据类型和变量:讲义详细介绍了C语言中的基本数据类型和变量的定义与使用方法,包括整型、浮点型、字符型等,使学习者能够熟练地声明和使用各种类型的变量。
1.2 运算符和表达式:讲义详细解释了C语言中的各种运算符和表达式的使用方法,包括算术运算符、关系运算符、逻辑运算符等,使学习者能够灵活地进行各种运算操作。
2. 控制流程:2.1 条件语句:讲义详细介绍了C语言中的条件语句,包括if语句、switch语句等,使学习者能够根据不同的条件执行相应的代码块。
2.2 循环语句:讲义详细解释了C语言中的循环语句,包括for循环、while循环等,使学习者能够灵活地控制程序的循环执行。
2.3 跳转语句:讲义详细介绍了C语言中的跳转语句,包括break语句、continue语句等,使学习者能够合理地控制程序的跳转流程。
3. 数组和指针:3.1 数组:讲义详细介绍了C语言中的数组的定义和使用方法,包括一维数组、多维数组等,使学习者能够熟练地操作数组。
3.2 指针:讲义详细解释了C语言中的指针的概念和使用方法,包括指针的声明、指针的运算等,使学习者能够灵活地使用指针进行内存操作。
4. 函数和库:4.1 函数:讲义详细介绍了C语言中的函数的定义和调用方法,包括函数的参数传递、函数的返回值等,使学习者能够编写结构清晰、功能完善的函数。
4.2 库函数:讲义列举了C语言中常用的库函数,包括输入输出函数、字符串处理函数等,使学习者能够熟练地使用这些函数提高编程效率。
5. 文件操作:5.1 文件的打开和关闭:讲义详细介绍了C语言中文件的打开和关闭操作,包括使用fopen函数打开文件、使用fclose函数关闭文件等,使学习者能够正确地进行文件操作。
程序设计话题:为什么要学习程序设计(对计算机技术的纵深理解,思维训练,实际应用)一、义务教育阶段程序设计的教学思路1.程序设计对学生思维发展的影响;2.循序渐进,螺旋上升;3.作业简单且量大,在重复练习的过程中强化对基础知识的理解和编程技巧的掌握;4.低起点,慢进度。
二、实践:程序设计在学科教学中的应用以七年级《数学》教材中的作业题为实例,编程(或以其他方式)解决实际问题。
(适宜编程的题目:数值计算,方程求解,概率统计)(适宜Excel的题目:统计图表)(适宜Flash的题目::三视图的投影、截面)[阅读资料]借助程序设计,激发中学生的思维、创新能力(摘自网络)苏联教育家苏霍姆林斯基说过:“教学的全过程,学生的一切活动类型,都与发展他们的智能,首先是发展他们的创造性思维联系在一起的。
而这一工作成就的首要条件是引人入胜的学习,若自己对所学的知识产生了浓厚的兴趣,就会迸发出极大的学习激情,进而形成一种优势的意识倾向性。
”中学信息技术课程,是一门知识性与技能性相结合的基础学科。
我们在信息技术教育过程中,既要重视信息技术基础知识的教学和基本操作技能的训练,更要重视培养学生的思维能力和创新精神。
因为,中学信息技术教学的目的,不仅仅在于让学生学习信息技术知识和技能,更重要的是发展他们的智力、培养他们的能力。
一、思维、创新能力的重要性从心理学的角度来看,能力是直接影响活动的效率,是活动顺利完成的个性心理特征。
每个人必须具备各种能力,但思维、创新能力是各种能力的核心。
中学信息技术的教学内容非常有利于培养学生的思维、创新能力:可以培养他们的分析、综合、形象、抽象的能力,也可以培养类比、联想、判断、推理及想象能力。
中学生具备了较强的思维、创新能力,今后不论到学习岗位还是工作岗位,都能很快地适应和胜任。
所以,我们说培养和发展学生的思维能力、创新能力,是为了让学生适应信息时代的需要,对他们当前的学习和今后的发展都有十分重要的意义。
通过中学信息技术的教学,使学生的思维能力得到充分的发展,并富有创新精神,这也是我们努力的方向。
下面,本人结合中学程序设计的教学体会,对如何培养和发展学生的思维能力、创新能力作了探索,以与大家共同探讨。
二、思维能力的培养思维是人脑对客观事物间接的、概括的反映,它所反映的是客观事物共同的,本质的特征和内在联系。
人的思维属于认识的理性阶段,是更复杂、更高级的认识过程。
程序设计能很好地激发、培养中学生的思维能力。
1.善于观察,解决问题许多发现和创新,往往来自善于观察。
因为它是认识事物的基础,是创造性思维的起点。
对学生勤于观察、善于观察能力的培养,有利于激发他们的求知欲、提高他们的学习兴趣。
所以,在教学过程中,教师要根据学生的心理特点及知识结构等实际情况,要求学生按照一般规律,由局部到整体,又由整体到局部进行全面观察,不仅观察表面的明显特征,而且要注意隐含的内部规律,还要引导学生在掌握计算机程序设计逻辑顺序的基础上,结合知识的正迁移,逐步实现“观察——解疑——编程”的过程。
从下面的实例我们可以看到学生在编程过程中,由于善于观察,促使思维能力的逐步提高。
[例一] 设计一个程序,显示由下列数字组成的三角形:11 11 2 11 3 3 11 4 6 4 1设计这个程序并不困难,许多学生经过细致观察这个数字三角形的排列之后,得出它的规律——杨辉三角形。
同学们根据杨辉三角形规律确定了程序设计思想方法:杨辉三角形的第2行是(a+b)1的各项系数;第3行是(a+b)2的各项系数;第4行是(a+b)3的各项系数;……这样,我们就可以根据数据表的规律来设计程序。
用二维数组y ( i , j)来表示这组有序数,采用格式函数tab(x),按照题目排列成下面形式并打印出来。
y)1,1(=1y)2,2(=1y1)1,2(=)3,3(=yy1y21)1,3(=)2,3(=……教师培训教程序设计y ( i , j)的计算规律为:初始式 y ( i , j)=1 (当j =1 或j =i时)递推式y ( i, j )=y( i-1 ,j-1) +y(i-1, j ) (其他)编写的程序代码如下:dim y(10,10)let n=5print tab(20);1for i=1 to n-1let y(i ,1)=1let m=20-2*iprint tab(m); 1;for j=1 to ilet y(i+1, j+1)=y(i ,j+1) +y(i, j)print tab(m+4*j);y(i+1,j+1);next jprintnext iend程序编出后,我并没有到此结束,而是诱导学生对这个三角形作进一步的观察,要求他们编写更为简洁易读、易理解的程序。
值得高兴的是,观察能力较强的同学发现:这个三角形的第一行数是110,第二行数是111,第三行数是112,第四行数是113,第五行数是114。
由此,他们编写出了较好的程序,主要程序段如下:For i = 1 To 5Print Tab(20 - i);Print 11 ^ (i - 1)Next i只要平时加强学生观察能力的培养,他们就会对问题的领会逐步深化,并能不断揭出知识之间的内在联系,从而编写出许多好程序。
2.学会联想,扩大思维在教学过程中,应该培养学生善于从一个问题联想到相关问题的能力,这也是探索、发现、创新的前提。
在启发学生联想时,既要教会学生对同一类问题有一个基本想法及解决方法,又要鼓励他们独辟蹊径。
联想是一种心理上的条件反应,在教学中如能正确运用,犹如穿针引线,引导学生展开积极的思维活动。
联想的形式多种多样,下面我们来认识类比联想和创造性联想。
西安电子科技大学附中(1)类比联想这是最常用的联想方法,它好像搭桥引渡,能使学生温故知新。
因为类比是从一般到特殊的一种逻辑推理方法,所以教师要精选题目,一方面要符合学生的实际能力,另一方面要能够承前启后、合乎逻辑。
这样,才能引导学生扩大思维。
[例2] 要求编写判别一个自然数是不是质数的程序。
学生根据质数是除1和本身外,不能被任何数所整除的数的定义,编出了如下程序:10 input “n=”; n20 for i=2 to n-130 if n/i=int(n/i) then 6040 next i50 print n:end60 print “no”70 end之后,可以要求学生编出一个能打印出3 ~ n之间的所有质数的程序。
学生会很自然地与上例进行类比联想,他们在程序中加上外循环从3到n,并对内循环体作适当修改,问题就迎刃而解了。
那么在这两个程序的基础上,能否编制一个验证哥德巴赫猜想的程序呢?学生已经掌握了如何判断质数的方法,只要先确定出一个质数,然后用要验证的那个偶数减去这个质数,再判断其差是否是质数?若是,即已得到验证。
若否,再确定另一个质数,依上述步骤重复进行。
因此,学生通过这种类比联想方法,顺利地编出了正确的程序。
(2)创造性联想这种联想较类比联想更为重要,它是探索发现新知识、新问题的先导。
请看下面的例子:[例3] 编写求S=20+21+22+……+299的程序。
在一般教科书上,均采用设置一个循环结构来制定0-99的2i幂运算,并用累加原理实现它。
程序如下:s =0for I=0 to 99s=s+2^Inext Iprint “=”; s为了诱导学生进行创造性联想,应启发他们将数学中的“递推法”迁移到程序设计中来。
如果要求编写程序的题目,可以用一个数列来表示,并且能找出这个数列前项与后项之间的数量关系。
那么,这类题目就能采用“递推法”这个很有用的方法。
从上例中很容易看出该数学表达式为:a i=2a i-1 S i=S i-1+a i下面就是学生利用递推关系编出的程序:教师培训教程序设计a=0.5S=0for i=1 to 100a=2*aS=S+anext iprint “S=”;Send实践证明,该方法对提高学生的逻辑推理能力和逻辑表达能力都大有好处。
3、一题多编,发散思维发散思维是一种不拘常规、常法的思维方式。
在思考问题时,要求学生多角度、多方式地去思索。
这样,对同一个题目,将会得到许多不同的解题方法。
在程序设计教学中要求学生一题多编,这是培养学生发散思维的一种行之有效的好方法。
它能使学生在一题多解的过程中,掌握知识之间的内在联系,深入透彻地理解教材,巩固所学知识,提高解题能力,激发学习兴趣,开阔知识视野,这也是我们进行教学改革的方向。
因此,我们应注意这方面的教学。
[例4] 在编写交换两个变量的值的程序时,我首先介绍了通过设置一个新变量来完成的方法。
s=xx=yy=s对这个问题,我又要求学生,能否不借用新的变量,而用别的方法来完成。
经过引导,学生编出了如下程序:x=x+yy=x-yx=x-y由于平时加强了这方面的训练,所以学生在设计程序过程中,思路开阔,方法灵活。
三、创新能力的培养心理学家认为:创造是发展的灵魂。
近20年来,时代的发展对自主性、创造性的人才需要日显紧迫,特别是处于信息时代的今天,中小学信息技术教师更是面临着非常紧迫的任务:如何才能让学生更具创新能力,以适应时代需求,振兴国家与民族。
创新能力是在学习过程中不断培养起来的,普及信息技术教育和培养学生的创新精神,是当前基础教育改革的一个热点问题,创新也是素质教育的重要内容。
教师在课堂教学过程中应起到导演的作用,要探索适合中学信息技术学科,培养学生具有创新精神的方法。
为了让学生在学习信息技术的过程中,学会思考,学会创新,我们应注意以下几点:西安电子科技大学附中(1)培养学生学习兴趣的自我激发,使他们有强烈的好奇心;(2)发展学生的主动性和积极因素;(3)创新的起点是质疑,应采取多种方法让学生发现问题,提出问题和研究问题。
并要鼓励和保护他们的好奇心与探索性;(4)要根据学生的思维能力,选择与之相应的教学方法,发展学生的个性特长,特别要注重现代化教学手段的应用。
(5)充分重视多侧面、全方位、立体化的思维训练,培养良好的思维素质和科学品质。
为此,我辅导的兴趣小组学习了VB程序设计之后,让学生以小组(2-3人一组)为单位设计完成一个作品——制作一个计算器。
一开始,学生都模仿平时自己使用的计算器来设计,功能十分的简单,外观也很“统一”。
于是,我就引导学生在计算器的外观、功能、使用情况等各方面下功夫,充分发挥各自的想象,来设计自己的作品。
最后,我看到了许多不仅外观十分奇特、漂亮的计算器(有的像手机形、有的像心形,等等),而且功能也十分的强大(除了加、减、乘、除之外,还具有各种其它的功能,如三角函数的转化功能,存储容量单位的转化功能,等等);在使用方便性上,有的小组还加上了提示声音和优美的背景音乐功能。
于是,我专门用了一节课的时间来让每个小组展示、交流各自的作品,从而相互学习、相互竞争、相互促进。