资源描述:
《浅谈编程方法与思路》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。浅谈编程方法与思路 很多学习计算机的同学,对编程比较头疼,更有甚者学习一学期甚至一年都不能入门,编程时无从下手,本人就一实例来谈谈如何进行编程。希望能给广大学习编程的同学开启智慧之门,早日跨入奇妙的程序世界。(以下程序在QBASIC环境下运行通过) 题目:输入一个不超过五位的十六进制数,将其转化为十进制输出。 一般来说,一个完整的程序通常由输入部分、处理部分和输出三大部分组成,题目的已知条件通常确定程
2、序输入部分,目的确定程序的输出,要求确定程序的处理部分,编程的一切都得从审题开始,然后认真分析得出程序的各部分关键语句。 第一步:审题(从已知条件、目的和要求三个方面来分析) 已知条件:输入一个长度不超过五位的十六进制数 输入一个未知数,用INPUT语句,运行时由键盘输入。输入后放入一个什么类型的变量?比如输入[ZZ(Z]694[ZZ)]或者输入D3B49,这两者均符合题目要求。如果存入一个数值型变量,第一个数还可以,但第二个就出错了,为了能考虑各种情况的输入,应选用字符型的变量,这样就可以存储各种输入的可能性数值。 如何保证长度不超过5位:为了充分发挥“教学点数字教育资源
3、全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。 (1)在INPUT语句中用明确的提示性语言,如: INPUT“请输入长度不超过五位的十六进制数”;X$ (2)先输入,然后用测试串长函数、检测来检查,如超过五个字节的长度,则要求重新输入,如: DO INPUT“请输入一个十六进制数”;X$
4、LOOPUNTILELEN(X$)4+3*163+B*162+4*161+9*160,其中D、B应转化为13、11,计算后求和即可。 具体分析,我们只要将字符串逐位取出,取出后为一个一个的字符,只需将字符“D”、“3”、“B”、“4”“9”转化为13、3、11、4、9,然后再乘以16的n次方(位权),其中n的取值与该字符在数中所处的位置有关,如串长为L,字符串左边开始为第一位,则第I位应乘以16的(L-I)次方,乘积加入累加器。最后,累加器中的值,即为该十六进制数对应的十进制值。 在上面的分析中,只需将字符转化为相应的数值,如果是数字字符,即“0-9”只要用字符型转换为数值型函
5、数VAL()即可,如果是字母字符“A-F”,则应将其转换为“10―15”,即“A”转换为10、“B”转换为“11”……,字母向后一个,数值就大1,如何转化呢?我们知道字母“A”的ASCII码值为65,“B”的ASCII码值为“66”,也是字母向后一个,数值就大1。为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师
6、进修学校进行培训,熟悉系统的使用和维护。 如果我们把字母的ASCII码值减去55,就能得到与之相对应的数值,即“A”的ASCII码值为65,减去55等于10,“B”的ASCII码值为66,减去55,等于11……当然,还要考虑防止用户输入的是小写字母,还应先用大写转换函数UCASE()转换成大写字母,才能保证程序的正确性。 第二步:根据审题及各部分的分析写出对应的程序。 程序及相应注释如下: S=0累加器显性赋初值 INPUT“请输入一个不超过五位的十六进制”;X$ L=LEN(X$)求字符串长度 FORI=1TOL设置循环,逐一取出字符串串字符 T$=MID$(X$
7、,I,1)取出字符 IFT$>=“0”ANDT$<=“9”THEN M=VAL(T$)是数值字符直接转换 ELSE M=ASC(UCASE(T$))-55 字母字符转换为大字字母后 ENDIF求ASCII值,再减去55 S=S+M*16^(L-I)求出该项值后加入累加器 NEXTI PRINTS END 第三步:考虑各种输入的可能,用大脑模拟计算机运行。为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系