还剩6页未读,继续阅读
文本内容:
2013年全区中小学教育教学信息化优秀论文、教育叙事报告、教学设计、教育主题__、数字故事参评作品信息表桂林市全州县编号由组委会填写作品名称《算法与程序设计》之合理选择变量的数据类型参赛项目论文□教育叙事报告□教学设计□数字故事□教育主题__□网址__黄剑锋____15878379321E-__il79466781@__.com单位全州县全州高级中学邮编541500发表说明未发表获奖说明未获奖内容摘要及主要特色在高中阶段初次接触程序设计,利用计算机程序解决问题对学生来说,是一种既陌生又新鲜的信息处理方法在自己设计算法和编写程序的过程中,必然要遇到这样一个问题怎么选择变量的数据类型对于很多初次接触程序设计的学生来讲,在编写程序的过程当中,怎么样合理选择变量的数据类型显得非常困难,___要对定义的变量数据类型也是一个疑问,因为他们在数学课堂里接触到的元素——未知数类似VB程序设计中的变量,但是数学里的未知数并不要求指定未知数的数据类型合理的选择数据类型对系统合理分配内存、程序的高效运行、避免不必要的错误和养成良好的编程习惯具有非常重要的作用本文详细分析了学生在学习VB程序设计时怎么样对定义的变量选择合理的数据类型推荐意见盖章2013年月日是否同意“组委会”将作品制作成集锦出版□是□否签字2013年6月日我(们)在此申明所报送作品是我(们)原创构思并制作,不涉及他人的著作权__签名
1、黄剑锋《算法与程序设计》之合理选择变量的数据类型 姓名黄剑锋性别男出生年月
1985.06学历本科专业职称中学二级通信地址桂林市全州县桂黄中路62号邮编541500《算法与程序设计》之合理选择变量的数据类型 姓名黄剑锋单位全州县全州高级中学通信地址桂林市全州县桂黄中路62号邮编541500《算法与程序设计》之合理选择变量的数据类型摘要在高中阶段初次接触程序设计,利用计算机程序解决问题对学生来说,是一种既陌生又新鲜的信息处理方法在自己设计算法和编写程序的过程中,必然要遇到这样一个问题怎么选择变量的数据类型对于很多初次接触程序设计的学生来讲,在编写程序的过程当中,怎么样合理选择变量的数据类型显得非常困难,___要对定义的变量数据类型也是一个疑问,因为他们在数学课堂里接触到的元素——未知数类似VB程序设计中的变量,但是数学里的未知数并不要求指定未知数的数据类型合理的选择数据类型对系统合理分配内存、程序的高效运行、避免不必要的错误和养成良好的编程习惯具有非常重要的作用关键词 变量 内存 溢出 良好的习惯《算法与程序设计》的数据类型全州高中黄剑锋在高中阶段初次接触程序设计,利用计算机程序解决问题对学生来说,是一种既陌生又新鲜的信息处理方法在《算法与程序设计》这门课程中,学生们就要慢慢学会怎么样去利用计算机程序来帮助我们解决一些比较复杂的问题在自己设计算法和编写程序的过程中,必然要遇到这样一个问题怎么选择变量的数据类型VB程序设计中的变量就好比我们数学课程中所讲的未知数,变量本来就是从数学里借来使用的一个名词但是在数学程序中,变量是没有数据类型的,而在我们的程序设计中,变量却是有类型的有学生可能在想不是说变量就是数学上的未知数吗,___还有数据的类型呢,什么是数据的类型呢,定义变量的时候我们怎么选择数据的类型呢?在VB程序设计中,变量主要有这几种数据类型Integer(整型)、Long(长整型)、Single(单精度型)、Double(双精度型)、Currency(货币型)、Byte(二进制型)、String(字符型)、Boolean(布尔型)、Date(日期型)不同的数据类型它所占用的内存空间的大小是不一样的,在编写程序的时候我们定义了一个变量,系统就要在内存里的某一个位置为我们开辟出一片空间出来,专门用来存放这个变量的结果,系统会根据我们定义变量的时候所选择的数据类型来决定开辟出来的内在空间的大小比如,我们定义了如下几个变量DimIasIntegerDimJasLongDimKasSingleDimBasByte当我们的程序需要使用内存时,那么系统就根据变量的数据类型在内存里的某个位置为我们分配出以下空间变量I分配2个字节的空,变量J分配4个字节的空间,变量K分配4个字节的空间,变量B分配1个字节的空间从下图我们可以形象的看出来,不同有数据类型,在内存里面所占用的空间的情况通过上面的图表,我们可以清楚的看出了系统是怎么给变量分配内存空间的,但是我们怎么选择数据类型呢?对于怎么合理准确地选择数据类型,对于我们初次接触程序设计的学生们来说确实是个比较困难的问题要解决这个问题,我们就要了解各个数据类型的取值范围,我们只有掌握了各个数据类型的取值范围,然后才能够正确的选择使用哪种数据类型是我们的变量应该选的,哪种数据类型适合我们的程序,以便让程序高效运行起来从上面的例子我们可以看出,变量I的数据类型是Integer,它占2个字节的内存空间,2个字节就是16位的二进制数,它能表示的数据的范围是-32768——32768在程序中如果我们要给I赋值,那么我们就要考虑赋给I的值会不会超过这个范围,如果超出了Integer类型所规定的数值范围,那么我们就要考虑是不是要把变量I的数据类型更改为范围更大些的Long类型,因为Long类型的数据它能保存的数值范围是-2147483648——+2147483647在我们的程序运行中,如果我们把一个绝对值超过32768的运算结果赋值给I变量,那么就会造成内存溢出,造成程序运行错误或者得出来的结果不正确比如VB程序运行中,将256判断为整数(Integer),1024也判断为整数(Integer),那么程序就任意在内存的某个位置开辟2个字节大小的空间来存放256×1024的值,然后再回存至变量I但256×1024即262144已超过任意在内存的某个地址开辟的2个字节的大小,所以运行的结果就溢出了说到这里,可能会有学生在想这样一个问题既然变量I所能保存的结果那么小,___我们还要使用它呢,直接把变量I定义成Long类型不是把问题都解决了吗?我们在每次在定义变量的时候都把变量定义成能保存的数据是最大的那种数据类型,比如整型的变量我们都定义成Long类型,有小数点的数据我都定义成Double类型,那样不就可以避免内存溢出的问题了吗?不错,这样定义确实可以避免溢出的问题,但是这又带来了另一个问题浪费内存!我们在程序设计的时候,为变量指定了数据的类型就是考虑到合理的使用内存,如果我们总是在定义变量的时候都把变量定义成能保存的数据是最大的那种数据类型,这样一来就违背了VB这门语言给变量设置数据类型的设计初衷了可能有学生说了我的电脑的内存空间大得很,浪费那么几个字节算什么啊,并且在平时的练习当中,我每次都是选择容量最大的数据类型来定义变量,与教材上所说的合理的数据类型相比根本看不出有什么差别这种想法是非常不对的,因为这又牵涉到另外的问题了平时我们练习的时候所编辑的程序都是非常小的,大部分都是100行以下的代码,使用到的变量个数也是非常有限的,所以有时候我们定义的变量没有合理的选择数据的类型,程序运行起来也没有什么明显的差异但是我们应该从开始就养成良好的编程习惯,该用哪种数据类型就用哪种,严格按照变量的取值范围来选择相应的数据类型这对我们以后编写大型的程序非常有帮助,因为一个大型的程序往往要使用到的变量可能会非常多,有些变量甚至可能是常驻内存的,如果还按照我们学生的想法来定义变量的话,电脑的内存浪费起来就非常的明显了甚至有时候出了错误还不好查找,因为如果按照学生们的想法去定义变量,那么就有很多变量的数据类型是一样的,它们相互之间是可以赋值的,如果一不小心把一个变量的值赋给了另一个变量,因为它们的数据类型都是一样的,程序当然不会报错,这样程序运行的结果当然是不对的,但是要我们去查找问题的时候,那就非常困难了因此正确的选择数据类型有助于我们培养良好的编程习惯高中阶段的学生,初次接触程序设计,开始尝试用计算编写程序来解决一些问题,在程序设计中必然要使用到变量,也就是数学上讲的未知数我们在编写程序之前就应该考虑到程序中大概用到多少种类型的变量,避免因考虑不周,在编程过程中滥用变量合理的选择变量的数据类型能帮助我们合理高效的使用系统内存同时,合理正确的使用变量还能培养良好的编程习惯和避免程序中出现一些不必要的错误,对我们以后编写大型的程序或者继续深入学习VB程序设计非常好帮助……·2000······……变量I变量J变量L变量B111012131415161718192021内存用户数据区。