程序设计培训讲义
- 格式: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函数关闭文件等,使学习者能够正确地进行文件操作。
ACM Association
1
程序设计基础讲义
张仲曦
1.程序设计的原则
清晰第一,效率第二.........。
2.结构化程序设计
a.基本原则
1)自顶向下
2)逐步求精
3)模块化
4)限制使用goto 语句
b.基本结构
1)顺序结构
2)选择结构
3)循环结构
3.面向对象程序设计
基本原理是使用现实世界的概念抽象地思考问题从而自然地解决问题。
面向对象程序设计强调模拟现实世界中的概念而不强调算法。
(摘自参考书,理解与否均可)
面向对象程序设计主要考虑提高程序的可重用性....。
可重用性指重复使用相同或相似程序元素的过程,重用性越强,程序元素在不同场合下的适应性越强。
(依旧是理解与否均可) 在面向对象程序设计方法出现以前,人们使用的是面向过程的程序设计方法。
a.基本要素
1)对象
客观世界中的任何实体。
特点:
标识唯一性、分类性、多态性、封装性(能实现信息隐蔽)、模块独立性好。
2)类
对象的抽象。
比如,Tom 和Jerry 是两个对象,均属于动物,而动物则是Tom
和Jerry 的类。
3)继承
比如对于动物类而言,它可以派生出爬行动物类,两栖动物类等等。
后两种类
属于动物类的子类,它们具有动物类的全部属性:能呼吸、恒温等等。
子类从父类获得属性的过程,称作继承。
4)消息
5)抽象性
b.特性
封装性、继承性、多态性。
《面向对象程序设计》指导讲义电子信息工程系2010年4月本次《面向对象程序设计》课程是为了使同学们能够在以往学习程序设计的基础(包括C++、Matlab、汇编等)上,能够较为流畅地编写一些简单的程序运用。
课程包括四个部分和最后的报告内容,其中前三部分为讲义提供详细的例子,并进行部分讲解,需要同学们能够理解这些部分内容;第四部分为自由发挥部分,同学们可以自拟题目进行程序设计;课程结束后,需要同学们书写一份总结报告,具体要求在5.2中。
第一章面向对象程序设计介绍 (1)1.1 面向对象程序设计的概念 (1)1.1.1 程序设计的发展 (1)1.1.2 面向对象的基本概念 (1)1.2 Visual C++简介 (3)第二章简单计算器设计 (4)2.1 基本设计 (4)2.2 进阶设计 (13)2.2.1 界面美化 (13)2.2.2 图标修改 (18)第三章简单数据库设计 (20)3.1 数据库访问方式 (20)3.2 基本设计 (20)3.2.1 数据库建立 (20)3.2.2 数据库连接 (21)3.2.3 数据库遍历 (22)3.2.4 数据库添加 (26)3.2.5 数据库修改 (28)3.2.6 数据库删除 (30)3.3 进阶设计 (30)第四章简单单文挡设计 (31)4.1 基本设计 (31)4.1.1 建立单文档 (31)4.1.2 添加登录窗口 (32)第五章自拟题目设计及总结要求 (39)5.1 自拟题目设计 (39)5.2 总结要求 (39)附录命名规则 (40)参考文献 (47)第一章面向对象程序设计介绍1.1 面向对象程序设计的概念面向对象程序设计技术代表了软件开发与使用的一个重要进步,它不仅是一种新的程序设计技术,而且是一种全新的设计和构造软件的思维方法。
它是在编程实践中逐步形成和发展起来的。
要了解面向对象程序设计的基本概念,应首先回顾程序设计的发展过程,然后再提出这种程序设计方法的基本概念。
程序设计话题:为什么要学习程序设计(对计算机技术的纵深理解,思维训练,实际应用)一、义务教育阶段程序设计的教学思路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人一组)为单位设计完成一个作品——制作一个计算器。
一开始,学生都模仿平时自己使用的计算器来设计,功能十分的简单,外观也很“统一”。
于是,我就引导学生在计算器的外观、功能、使用情况等各方面下功夫,充分发挥各自的想象,来设计自己的作品。
最后,我看到了许多不仅外观十分奇特、漂亮的计算器(有的像手机形、有的像心形,等等),而且功能也十分的强大(除了加、减、乘、除之外,还具有各种其它的功能,如三角函数的转化功能,存储容量单位的转化功能,等等);在使用方便性上,有的小组还加上了提示声音和优美的背景音乐功能。
于是,我专门用了一节课的时间来让每个小组展示、交流各自的作品,从而相互学习、相互竞争、相互促进。