版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BASIC程序设计,顾铁成,qbasic.exe 2003年竞赛试题.doc BASIC讲稿.ppt,第一章 计算机基础知识,(第一讲),计算机的组成,常见的台式机由以下几部分组成: 显示器 主机 键盘、鼠标 音箱,世界上第一台电子数字计算机,世界上第一台电子数字计算机叫做ENIAC (埃尼阿克),于1946年在美国诞生 它体积庞大,占地约170平方米,重30多吨,每小时耗电150千瓦,每秒可以完成5000次加法运算,是一个庞然大物。,计算机的发展简史,根据制造计算机所用的主要元器件,可以将计算机的发展历史划分为四代: 第一代:电子管计算机时代 始于1946年,所采用的主要元器件是电子管,运算
2、速度慢,内存容量小,功耗大,价格昂贵,可靠性差,仅供少数专业人员使用,主要用于军事和科研部门的科学计算。,计算机的发展简史,第二代:晶体管计算机时代 始于1958年,所采用的主要元器件是晶体管,体积大大缩小,可靠性、运算速度得以改善。外部设备和软件越来越多,并且出现了高级语言,使用方便,应用领域已从单一的科学计算拓展到数据处理和工业控制等方面。,计算机的发展简史,第三代:中小规模集成电路计算机时代 以中、小型集成电路(IC)为主要元器件。体积进一步缩小,运算速度达到每秒几十万次到几百万次,价格降低。计算机的性能和可靠性有了极大提高,应用领域更迅速扩大,还可以处理图像、文字和资料等。,计算机的发
3、展简史,第四代:大规模和超大规模集成电路计算机时代 始于1971年,采用大规模和超大规模集成电路,因而可以将计算机的核心部件集成在一块或几块芯片上,从而出现了微型计算机(PC机,即个人计算机),使得计算机步入了工厂、学校、家庭,计算机的应用渗透了社会的各个领域,冯诺伊曼设计的电脑方案,冯诺伊曼是美国的一位著名数学家,他于1945年提出了计算机“程序存储”的设计思想和方案,他被称为“计算机之父”; 50多年来,我们使用的计算机大多仍然采用冯诺伊曼原理; 冯诺伊曼设计的计算机有五个基本部分,即输入设备、存储器、运算器、控制器和输出设备,输入设备,用于把外界的信息输入电脑的设备称为“输入设备”,常用
4、的有键盘、手写输入板、鼠标、扫描仪、数码相机、话筒、光笔等,输出设备,用于把计算机处理好的信息以人们能够识别的形式输出出来的设备,称为“输出设备”,如显示器、打印机等。,存储器,计算机在处理信息的过程中,有许多信息需要存放,存储器就是计算机中用来存放信息的部件,具体又分为内存储器(简称“内存”)和外存储器两种。,内存,内存又分为两类,一类是只读存储器(简称ROM),用于永久存放一些专用的信息,只能从中读出信息,不能写入信息。 当计算机断电后,ROM中的信息不会丢失,所以它是一种永久存储器。 另一种是随机存储器(简称RAM),RAM中的信息可读、可写、可修改,在计算机运行过程中,能够稳定准确地保
5、存信息,但是一旦计算机断电,RAM中的信息就将消失,运算器,运算器是对数据进行运算和操作的部件,根据指令功能对数据进行加、减、乘、除等基本运算,以及实现逻辑乘、逻辑加等逻辑运算和其他运算,是计算机实施算术运算和逻辑判断的主要部件,控制器,控制器是计算机的指挥、控制中心,它负责指挥和控制其他各部件,使之协调地进行工作。 一般把运算器和控制器合称为中央处理器(简称CPU),CPU的型号,由于CPU是微型计算机的核心,习惯上用CPU来表示计算机的档次,如80286、80486、Pentium(奔腾)、Pentium II(奔腾II)、 Pentium (奔腾III)、 Pentium (奔腾IV),
6、它们都是指微机CPU的型号,主机与外设,通常将CPU和内存条插在主机板的插槽中,再和光驱、磁盘驱动器等组装在一起,构成主机箱; 相对于主机而言,输入设备和输出设备等就通称为外部设备(简称外设),电脑有思想吗?,电脑如果只有硬件是不能进行信息处理的,和我们人一样,也需要思想。电脑的思想就是软件。 计算机软件可以大致划分为两类: 系统软件 应用软件,系统软件,系统软件是指管理、监控和维护计算机资源的软件,包括: 操作系统,如Windows 数据库管理系统 各种程序设计语言的翻译程序,应用软件,应用软件是指为某一应用目的而编写的软件,经常使用的有以下几类: 计算机辅助教学软件 计算机辅助设计软件 文
7、字处理软件,如Word等 信息管理软件 自动化控制软件,二进制,电脑只认识二进制,也就是说,电脑中的所有信息都是由二进制所组成的 二进制与十进制不同。在二进制里,只有0和1两个数字,所有的数字都是由0和1组成的; 在十进制中,数到10就要进一位,叫做“逢十进一”。在二进制中,“逢二进一”,二进制,二进制数的加法与乘法运算规则如下: 0+0=0,0+1=1 1+0=1,1+1=10 00=0, 01=0 1 0=0,1 1=1,程序设计语言的种类,编写计算机软件所用的程序设计语言有很多种,根据其发展情况,可以分为以下几种: 机器语言 汇编语言 高级语言,机器语言,在机器语言中,所有的指令和数据都
8、由0和1组成,能被计算机直接识别和理解,因此,用机器语言编写的程序,无需经过任何翻译,就可以在计算机上直接运行 机器语言程序又称为目标程序 每种机器所能理解的机器语言可能不尽相同,汇编语言,针对机器难学难记的问题,将指令中的操作和数据都用符号来表示,如: Add x, y 用汇编语言编写的程序称为汇编语言源程序,不能直接在计算机上运行,必须经过汇编自动翻译,并转换成目标程序执行。 所用的翻译程序称为汇编程序,高级语言,机器语言和汇编语言都是面向机器的,都比较低级,跟人们日常使用的自然语言有很大的差别,一般称为“低级语言”,不便于人们编写程序 高级语言克服了低级语言的问题,比较接近人们所使用的自
9、然语言,可以很方便地用来编写程序,高级语言(续),用高级语言编写的程序,机器不能直接理解和运行,必须经将它们翻译成机器能够直接执行的目标程序,这种翻译过程称为“编译”或“解释”; 用高级语言编写的程序称为高级语言源程序,高级语言(续),几种常用的高级语言: BASIC语言 Pascal语言 C语言 FORTRAN语言 COBOL,使用电脑的正确方法,开机顺序: 先打开显示器及其他外部设备的电源; 再打开主机的电源。 关机顺序: 先关闭所有已打开的程序,保存程序及数据; 正常退出Windows操作系统; 先关主机电源; 再关闭显示器及其他外部设备的电源。,预防计算机病毒,计算机病毒是一种人为制造
10、的、寄生于软件中的、具有破坏性的特殊程序,它会影响计算机的正常运行,破坏程序和数据,甚至使计算机瘫痪。它有以下的特点: 传染性 破坏性 隐蔽性 潜伏性 触发性,预防计算机病毒,在计算机上安装杀毒软件上网防火墙软件,并定期升级; 定期杀毒; 不用或少用来历不明的软盘或光盘;使用之前要查毒; 上网收邮件时,对于来路不明的邮件,不要轻易打开其附件,作业,把今天讲过的的内容复习一下 “习题集”:P2,第一章 计算机的基础知识习题,第二章 BASIC语言是电脑入门的语言,(第二讲),复习,习题集P2,第一章习题,BASIC的发展历史,1964年,BASIC语言诞生; 1985年,推出了True BASI
11、C; 接着,微软(Microsoft)公司推出了Quick BASIC; 1991年,微软推出了Visual BASIC 1.0; 目前,Visual BASIC已发展到了6.0版;,QB的安装和启动,QBASIC(简称为QB)是Quick BASIC的一个子集,由微软公司开发; QB的安装:将QBASIC.EXE和QBASIC.HLP两个文件拷贝到D盘或E盘的根目录下就可以了; 启动: 打开“我的电脑”窗口,到D盘或E盘根目录下,找到QBASIC.EXE文件,双击即可。,QB的使用,程序的输入:QB程序由若干条语句所组成,每条语句占一行; 打开:选择File(文件)菜单中的Open(打开)菜
12、单项 程序的编辑:对输入程序过程的错误进行修改,QB的使用,程序的运行:选择Run菜单中的Start菜单项 程序的保存(存盘):选择File菜单的Save(保存) 退出: 将编辑窗口中的程序存盘; 打开File(文件)菜单,选择其中的Exit(退出)命令。,QB的源程序,什么是QB的源程序? 机器能够直接认识和运行的程序称为目标程序(或称机器代码); 用高级语言编写的程序称为高级语言源程序;用QB编写的程序称为QB源程序。 QB程序的扩展名为.BAS,上机练习,第一个例子:让电脑画直线和矩形(教材P18) 第二个例子:让电脑歌唱“东方红”(教材P19),作业,输入教材P19,“用QB画画”程序
13、 “习题集”: P4,输入画多边形的程序 P5,输入时钟程序,第三章 用BASIC来帮你做数学题,(第三讲),QB中的数和表达式,数学中的数有自然数、小数和分数等 QB中只有两种数,即整数和实数 负数和数轴的概念 整数:12,876,-12,0等都是整数,实数:带有小数部分的数即实数,在QB中有两种格式:定点格式和浮点格式,定点格式:用这种格式表示的小数,其小数点的位置是固定的,如2.5,-45.121,浮点格式也称指数格式或科学记数法,由尾数和指数这两个部分组成。指数部分由字母E或e开头,后跟一个正号或负号和一位或两位数字。科学记数法比较适合于表示非常大或非常小的数。,例如: 2000000
14、000可以写成2E9或2E+9,表示2乘以10的9次方(即2109);20000可以写成2E4(即2104)。 0.000005可以写成5E-6,数据类型定义符,整数类型定义符:%,如8% 实数类型定义符:!,如8! QB中规定,如果一个数后面不写任何类型定义符,就默认此数为单精度实型,如8和8!都表示单精度实型,练习,例3-1:写出下列数的类型 1)4847% 2)-3500 3)5.5 4)1.0001 5)1% 6)1.9E-8 例3-2:写出下列数的科学记数法形式(保留两位小数) 1)5564456 2)1234.56789 3)0.00008888 4)10,例3-2参考答案,1)
15、5.56E+6 2) 1.23E+3 3) 8.89E-5 4) 1E1 5) 6E0,QB中的算术表达式,加号:+ 减号:- 乘号:* 除号:/ QB中没有大小括号之分,统一用()来表示。例如,2*(3+1)-3/5在QB中表示为: (2*(3+1)-3)/5,当算式中有多层括号时,先计算最里层的括号 在QB中,这样的式子叫做算术表达式 例3-3:将下列数学式转化成QB的算术表达式: 1) 2A+3C 2) 3)9(3+1) 4) (B+3) B *2,例3-3参考答案,1) 2*A+3*C 2) (3+7)/(2+3)+5 3) 9/(3+1) 4) (B+3)/B*2,QB中的算术表达式
16、与算术中的表达式还有着以下不同: 在QB中乘号不能省略; 在QB中没有分式,所有的运算都要在一行内写完;,整除() 运算,除了“/”外,QB中还有两种与除有关的运算符: 整除运算符() 功能是得到除法运算结果的商的整数部分。例如:225=4, 28=0,求余(MOD)运算,求余运算符(MOD) 功能是得到除法运算结果的余数部分。例如,7 mod 3 = 1, 8 mod 4 = 0 在运算中,、MOD的优先级比*、/低,比+、-高;的优先级比MOD高,例3-4,写出下列式子的运算结果: 1) (3+8)4 2) 7 mod 3 + 2 2) 6/6 mod 6 3) 8 mod 103,运算顺
17、序,前面已经学过的算术运算符: +,-,*,/,MOD 乘方运算符,它的含义是乘方,例如:32就表示3*3,结果是9 24表示4个2相乘,结果为16,运算顺序,在QB中,各算术运算符的优先级是这样规定的(从左往右优先级顺序降低): *、/ MOD +、- 例:表达式7-2*5 MOD 3 22*(1+1)的运算顺序和结果是什么?,(第四讲),一些QB源程序的例子,看一些QB源程序例子; 说明一些基本概念,包括程序及编程是怎么回事; 引出QB语言的其他基本语法成份,最简单的QB程序的编写,数据存在哪里? (一) 常量 数值常量 在QB中,把123、-23、3.14等数据叫做数值常量,它们的值在程
18、序的运行过程中保持不变。整型常量和实型常量都叫做数值常量。,常量,字符串常量 是指用一对双引号括起来的若干个合法字符,如“china”、”zhang hua”等。 符号常量 是QB中的一种特殊的常量。如果在程序中要经常用到同一个数值常量,就可以把它定义成符号常量。,常量,例如,如果在某个程序中多处用到圆周率,就可以把数值3.14159定义成一个符号常量,方法如下: const PI = 3.14159,例3-5: 顺序执行下面的语句后,A和B的值是多少? CONST JG=38.5 A=JG*2 A=A+5 B=JG+1.5,(二) 变量 在程序中,我们用一些内存存储单元来保存临时计算结果,并
19、为它们起一个名字。例如,用A来表示一个存储单元 在程序中,可以对A赋不同的值,亦即,A所对应的存储单元中的内容会相应地发生变化。这时,我们称A为一个变量。 对比一下,在数学中,可以用字母来表示数,变量的命名规则,变量名的第一个字符必须是字母; 从第二个字符开始,后面可以跟字母、数字、小数点等符号; 变量名的长度为1-40个字符; 表示变量类型的符号(如%、”分隔,前者是标准格式 Print在输出各个项时,分别将它们输出在各个标准位置上,Print语句的输出格式,QB将输出区域划分成五个区域,前面四个区,每区14列(每列为一个字符宽),最后第五个区占24列(共80列) 各输出项从左往右,依次输出
20、在各个区内,并且从各个区的最左面开始输出。,Print语句的输出格式,例:语句 PRINT 1,2,3,4,5 的输出结果为: 1 2 3 4 5 第一区 第二区 第三区 第四区 第五区 第1列 第15列 第29列 第43列 第57列,Print语句的输出格式,当输出的值为正值时,每个区的第一列为一个空格(相当于省略了正号),从第二列开始输出数值 当输出的值为负值时,第一列输出负号,不留空格 当输出的是字符串时,则从各区的第一列开始输出,也不留空格,Print语句的输出格式,当多个输出项之间用“;”分隔时,则采用紧凑格式输出,效果见下面几个例子 例:PRINT 1;2;3;4;-1;-2;-3
21、;-4 输出结果为: 1 2 3 4 -1 -2 -3 -4 注意: 1和2之间有两个空格,一个是输出1后留出的空格,另一个是2的符号位,Print语句的输出格式,当输出字符串时,如果各字符串之间用“;”进行分隔,则输出时,中间不留空格 例:PRINT “I”;”AM”;”A”;”BOY” 的输出结果为: IAMABOY 当PRINT语句中同时出现“,”和“;”时,分别按标准格式和紧凑格式处理,有关PRINT语句的几点说明,如果PRINT语句的末尾无“,”或“;”,则输出完本行后自动换行 如果PRINT语句以分号结尾,则下一个PRINT语句接着本行的最后一个输出项,按紧凑格式输出 如果PRIN
22、T语句以逗号结尾,则下一个PRINT语句接着本行PRINT的最后一个输出项,按标准格式输出,有关PRINT语句的几点说明,如果PRINT语句后无任何输出项,则输出一个空行,称为“空PRINT语句”。当空PRINT语句前的一个PRINT语句最后带有一个逗号或分号时,此空PRINT语句只是起到抵消前面那个逗号或分号的作用。,PRINT语句的例子,PRINT 9;8;7; PRINT 6;5; PRINT 4; PRINT PRINT 3,2, PRINT PRINT 1,PRINT语句的例子,这段程序的输出结果为: 9 8 7 6 5 4 3 2 1,例3-12 写出下面程序的运行结果,LET A
23、=6 LET B=4 PRINT “A+B=”;A;”+”;B;”=”,A+B,运行结果为: A+B= 6 + 4 = 10,键盘输入语句INPUT,我们知道,变量的值在程序的执行过程中,可以不断地改变 在前面给出的程序例子中,我们都是通过赋值语句来预先给变量赋值的 我们还可以通过在程序执行时,让用户通过键盘输入数据,来给变量赋值 INPUT语句就是用来实现这一功能的,INPUT语句,Input的英文含义是“输入” INPUT语句的格式: INPUT ”提示字符串”,或;变量列表 下面都是合法的INPUT语句: INPUT T, B, M$ 通过键盘输入三个值,分 别赋给变量T、B和M$ IN
24、PUT ”A=”;A INPUT ”B=”,B INPUT ”X,Y,Z=”,X,Y,Z,INPUT语句,当程序执行到INPUT语句时,程序的执行暂停,在屏幕上显示“提示字符串”的内容 如果提示字符串后面跟着“;”号,系统就将在提示字符串后面输出一个“?”号 如果提示字符串后面跟着“,”,则不输出“?”,等待用户输入变量列表相对应的数据,INPUT语句,数据输入完成后,键入回车键,这时,用户输入的数据就依次赋给INPUT语句中的各个变量,程序继续执行 用户通过键盘输入各个数据时,数据之间要用“,”隔开,例3-13 从键盘输入A和B的值,输出它们的积(上机练习) INPUT ”请输入A和B的值:
25、”,A,B C=A*B PRINT ”A*B=”;A;”*”;B;”=”;C,例3-14 从键盘输入字符常量及数值常量 改成英文或拼音 INPUT ”请输入字母及它的顺序:”; A$, A PRINT A$, A,需要注意的问题,当输入的变量既有数值型又有字符型时,要注意输入数据的顺序,必须一一对应,数据类型要匹配,不允许给数值类型变量输入字符串常量,或者给字符型变量输入数值常量; 从键盘输入的数据数目应该与INPUT语句中变量的数目一致。当输入的数据个数多于或少于变量的数目时,程序会给出“REDO FROM START”提示信息,要求用户重新输入数据;,需要注意的问题,从键盘输入的数据,只能
26、是常量,而不能是变量或表达式; 当输入字符串常量时,如果输入的字符串中有空格、逗号时,必须用“”将它们括起来,否则双引号可以省略(举例),例3-15 编一个程序,输入学生语文、数学、英语的考试成绩,输出这几门课程的总分及平均分。(上机练习) INPUT ”请输入语文、数学、英语的成绩:”, YW, SX, YY LET ZF = YW + SX +YY LET PJF = ZF / 3 PRINT ZF, PJF,上机题,会走的钟 前面几个例题 习题集: P9第12题中的小程序 P10第6题中的程序片段 P10第8题中的程序片段,今日作业,教材P19:帆船 教材P19:“会走的钟” 教材P20
27、:“棋盘” 前面的几个例题 习题集: P9第12题中的小程序 P10第6题中的程序片段 P10第8题中的程序片段,第六讲 READ/DATA语句和函数,检查作业 复习 做习题集第三章第二节、第三节中的部分题目,数据太多怎么办(读数/置数语句READ/DATA),在QB中,除了可以用LET、INPUT向变量提供数据外,还可以用READ/DATA语句来为变量赋值,语句格式为: DATA , , 语句的作用:在程序运行时,向READ语句中的各变量提供数据,READ/DATA语句,例3-16 某学生语文、数学、英语的考试成绩用DATA语句提供,编程计算总分、平均分并输出。(上机练习) READ YW,
28、 SX, YY LET ZF = YW + SX + YY LET PJF = ZF / 3 PRINT ZF, PJF DATA 79, 80, 81,运行结果: 240 80,DATA语句,语句: DATA 1, 2, 3, 4, 5, 6 与下列DATA语句是等效的: DATA 1, 2, 3 DATA 4 DATA 5, 6,READ语句,语句格式: READ , , 语句作用:把DATA语句中的数据依次传送给READ语句中的各个变量,几点注意,DATA语句是非执行语句,它在程序中的位置并不影响程序的执行结果; READ语句中的各变量可以是数值变量,也可以是字符串变量,各类型的变量要求
29、DATA语句按顺序提供对应类型的数据。如果类型不匹配,就会产生“SYNTAX ERROR”错误;,几点注意,READ语句没有计算功能,它的功能仅仅是数据传送,因此,DATA语句所提供的数据必须是常量,而不能是表达式 DATA语句中的数据个数不能少于READ语句中的变量个数。否则会出现“OUT OF DATA”错误。,例3-17 请写出下面程序的执行结果(上机练习) READ A, B READ B, C READ A, C PRINT A, B, C DATA 1, 2, 3, 4, 5, 6, 7,程序运行后的输出结果: 5 3 6,RESTORE语句,功能:用于重复使用DATA语句中的数据
30、 格式:RESTORE 语句标号 原理:使数据指针从当前位置返回到数据区的开头;“RESTORE 标号”的作用是使数据指针返回到由标号所指定的DATA语句的开头。,RESTORE语句用法举例(上机练习),DATA 1 READ A, B, C RESTORE A A: DATA 2, 3, 4 DATA 5 READ D, E RESTORE READ T, T, F, G, H PRINT A, B, C, D, E, F, G, H END,程序的输出结果: 1 2 3 2 3 3 4 5,第三节 提高编程的本领,标准函数简介与运算规则 函数的概念; QB中已将人们在程序中经常用到的功能(
31、如求平方、将一个数四舍五入等)设计成了标准函数,形成了一个标准函数库; QB标准函数在程序中的调用方式: 函数名(参数1,参数2,参数3,参数n),几个标准函数简介,INT(X)函数 ABS(X)函数 SGN(X)函数,取整函数,返回一个不大于X的整数 例:INT(5) = 5 INT(3.6) = INT(-2.1) = 注意,INT(X)函数没有四舍五入功能!,INT(X)函数,3,-3,FIX(X)函数,截尾函数,作用是将一个数的小数部分去掉后,直接返回其整数部分,如: FIX(5.1) = 5 FIX(-6.9) = -6 INT(-6.9) = -7 与INT(X)函数的不同:当X为
32、正数时,INT(X)与FIX(X)是一致的;当X为负数时,两者就不同了,因为INT(X)返回的是不大于X的最大整数,CINT(X)函数,可称为四舍五入函数,它返回的是对X的小数部分进行四舍五入后得到的整数 例如:CINT(4.6) = 5 CINT(-4.6)= -5 CINT(4.1) = 4 CINT(-4.1) = -4,ABS(X)函数,作用:求一个数的绝对值,即一个数在数轴上距原点的距离;正数的绝对值就是它本身,负数的绝对值是将此数的负号去掉后所得到的数; 例:ABS(3.1) = 3.1 ABS(-1.3) = ABS(0) =,1.3,0,SGN(X)函数,符号函数,作用是: 当
33、X 0时, SGN(X)返回1; 当X = 0时, SGN(X)返回 0; 当X 0时, SGN(X)返回-1,例3-18 求下列表达式的值,3+INT(4.5) = INT(-3.1) = 8 * ABS(-2.5) = 6 SGN(123) =,7,-4,20,5,让我的程序设计得更漂亮,利用下面几个语句,可以使自己的程序更加规范、漂亮: CLS语句 END语句 STOP语句 REM语句 冒号“:”的作用,CLS语句,功能:将屏幕上的信息清除掉。当屏幕上的显示内容比较杂乱,或显示的内容已经没有用了时,就可以使用CLS语句; CLS是英语CLEAR(清除)和SCREEN(屏幕)的缩写,END
34、语句,功能:结束程序的运行,一般来说,这个语句放在整个程序的最后; 也可以根据需要,将END语句放在程序中的任何位置上,并且,一个程序中可以出现多个END语句,当最后根据程序实际运行的情况,只会执行其中的一条END语句。,STOP语句,功能:暂停程序的运行,但不是彻底结束程序的运行; 在调试程序时,经常用到STOP语句;亦即,当执行到STOP语句时,暂停运行,回到编辑窗口,此时,可按F6进入“命令窗口”,以便检查变量的中间结果; 如果此时再次按F5继续运行,程序将从STOP语句的下一条语句继续运行。,REM语句,注释语句,其作用是对程序中的指令加注释和说明,以帮助我们理解程序; 格式:REM
35、注释内容 它是一条非执行语句,也就是说,其中的注释内容是给我们人看的,机器/QB在执行程序时,会略过这些注释部分; 也可以用 号来代替它。,冒号的作用,在程序中,一行内可以写多个语句,这时,各语句之间用冒号“:”分隔; 例:LET A = 9 : PRINT A+6 相当于: LET A = 9 PRINT A+6,例3-19 描述下面程序的执行过程,CLS INPUT ”请输入两个数:”; A, B LET A = A + B LET B = B + A STOP LET A = A B LET B = B A PRINT A, B END,上机练习:上机输入该程序 想一想:如果通过键盘输入
36、两个数5和8,结果会怎样呢?,超市的购物清单是如何设计的,问题描述:在超市里买东西时,最后结帐时,收银员会输入顾客买的东西的单价(或者用读码器读入商品的条形码),然后电脑就可以打印出你所购买的商品的清单,包括每一样商品的单价、数量、应付款项和找零等。 想一想:要解决这样的一个问题,应该怎样来编写软件呢?,编写程序的思路,首先,要通过键盘来输入商品的相应信息,以及顾客所付款项 其次,要计算应付款项(购买的所有商品的总价格),以及应该找回的款项 第三步,输出相应的信息,这一任务可以用INPUT语句来完成,这一任务可以用LET语句来完成,这一任务可以用PRINT语句来完成,程序清单(上机练习),IN
37、PUT ”商品单价:”; DJ INPUT ”所付金额:”; FK ZL = FK DJ PRINT ”单价”, “付款”, “找零” PRINT DJ, FK, ZL END,讲解PP39-40的程序(家庭作业或上机练习) 上机练习:输入教材P39上的程序,并运行,体会其中编程的思路,小结,QB中的数据类型:整数,实数; 实数又分为定点类型与浮点类型 科学记数法 QB中各种类型的数能表示的数据范围 各种算术运算符 算术表达式及其求值,小结,各种算术运算的顺序 - *或/ MOD +或- 思考:表达式 (2+3) + 7的值是多少? -(2+3) + 7 = -5 + 7,= (-5) + 7
38、 = 2,小结,常量: 数值常量 字符串常量 符号常量 变量 变量的命名 变量的类型:数值型变量,字符串型变量,小结,常量及变量的存储方式:基本ASCII码 QB中的几个用于提供数据的语句: LET语句 INPUT语句 READ / DATA语句 RESTORE语句,小结,几个提供数据语句的区别、适用的范围 输出语句PRINT的用法及几种输出格式 什么是函数 几种QB标准函数:INT(X), ABS(X), SGN(X), FIX(X),小结,一些常用的简单QB语句: CLS语句 END语句 STOP语句 REM语句,作业,将未做完的例题程序继续做完: 例3-16 例3-17 例3-19 超市
39、购物清单程序及P39程序 RESTORE语句用法程序 习题集:第三章第二节、第三节中余下的题目 注意:习题中涉及的上机题均要上机输入和通过,第四章 会思考的电脑程序,(第七讲),复习,复习 作业,真与假在电脑中是如何表示的,真、假值与逻辑判断、关系表达式 在QB中,用0表示假,用非0值表示真 关系运算符: =, , (不等), = (大于等于) = (小于等于),关系表达式,用关系运算符联系起来的表达式叫做“关系表达式” 它的一般形式为: 其结果为真假值,例如: 38 结果为假 92*2 结果为真,关系表达式,语句: PRINT 2=4, 9=3, 43, 3+59, 7=7 的输出结果为:
40、0 -1 -1 0 -1,汉字、字母等符号之间的“大小”比较,比较其ASCII码(参见本书附录) QB规定: 数字字符比字母字符小 大写字母比小写字母小 同一字体的字母比较时,按英文字典顺序排在前面的字母比它后面的字母小 空格比一般字符都小 另外,要注意字符在比较大小时,要加上双引号,汉字、字母等符号之间的“大小”比较,表达式: “A” “a” “8” “E” 的值是什么?,-1,-1,例4-1 写出下面式子的值,3 6 4 + 8 / 2 = 6 12 / (2 + 2) 1 * 1 “T” “5” “7” ”5” “4” 2 1,注意上面这些关系表达式中的运算符的优先级 练一练:将“QBA
41、SIC 4.5”这几个字符按其ASCII码值从小到大排列,“ .45ABCIQS”,行条件语句(IFTHEN)的使用(1),格式:IF THEN 例:IF X 0 THEN PRINT X IF A = 9 THEN PRINT “OK”,例4-2 老师要统计成绩,80分以上的同学成绩为优。请写出相应的QB语句。,IF FS 80 THEN PRINT “优”,例4-3 写出下面程序的输出结果:( 上机练习) REM L4-2 A = 5 : B = 3 : C = 8 : D = 1 IF A B THEN D = D + 1 IF A C THEN D = D + 1 PRINT D EN
42、D,练一练:王力有A本小说和B本连环画,李强有C本童话和D本小说,编一个程序比一比两人谁的书多(上机练习,要求A、B、C、D的值通过INPUT语句输入),INPUT A,B,C,D IF A+B C+D THEN PRINT “WL DUO” IF A+B C+D THEN PRINT “LQ DUO” END,行条件语句的使用(2),条件语句的第二种格式: IF THEN ELSE ,条件语句的使用(2),例4-4 一本百科全书的价格是20元,小明现有15.4元,他能否买到一本百科全书?如果买不到,他至少还需要多少钱?(上机练习) 思路: 如果现有的钱够了(即大于书的价钱),则显示出“买到了
43、”; 否则,计算出还差多少钱,并将差的钱数显示出来,REM L4-4 CLS XYQ = 15.4 SJQ = 20 IF XYQ = 20 THEN PRINT “买到了” ELSE CDQ = SJQ XYQ : PRINT “还差:”; CDQ END,作业:,习题集PP11-12,第一节中的所有题目,第八讲,复习 练习: 习题集: 第三章第三节中的题目 第四章习题,上机练习,如果超过80的数是大数,20以下的是小数的话,编一个程序输入一个数,经判断后输出数的类型(是大数还是小数),INPUT X IF X =80 THEN PRINT “DA SHU” ELSE PRINT “XIAO
44、 SHU”,INPUT X IF X =80 THEN PRINT “DA SHU” ELSE IF X 20 THEN PRINT “XIAO SHU” ELSE PRINT “ZHONG SHU” END IF END IF,程序的形象化表示法,算法的表示:自然语言表示、流程图表示等 例:交换两个变量A和B的值的程序的算法 S1:将变量A的值传送给中间变量C S2:将变量B的值传送给变量A S3:将中间变量的值传送给变量B,程序清单,A = 4 B = 9 C = A A = B B = C PRINT A, B END,算法的流程图表示,见图4-1,图4-2和图4-3 例4-5 画出求三
45、个数中最大数的流程图 思路: 先用第一个数和第二个数比较,把其中较大的数放入变量MAX中; 再用第三个数与MAX比较。如果第三个数比MAX大,则把第三个数存入MAX,否则,保持MAX的值不变; 输出MAX的值,算法的流程图表示,流程图见图4-5 课堂练习:画出例4-4的流程图,行条件语句的应用举例,例4-6 编一个程序,实现如下功能:输入两个矩形的边长,比一比它们的面积哪个大。输出较大的那个面积。,思路与主要步骤: S1:输入矩形的边长; S2:比较它们的面积: S2-1:计算两个矩形的面积; S2-2:比较两个面积; S3:输出处理后的结果。 流程图见图4-4,程序清单,REM L4-6 C
46、LS INPUT “输入第一个矩形的长和宽:”, C1,K1 INPUT “输入第二个矩形的长和宽:”, C2,K2 MJ1 = C1 * K1 MJ2 = C2 * K2 IF MJ1 MJ2 THEN MAX = MJ1 ELSE MAX = MJ2 PRINT MAX END,上机练习,输入源程序清单 改编原程序:比较完面积的大小后,直接输出较大的面积,而不用变量MAX来存储较大的面积。,例4-7 输入三个数,按从大到小的顺序排列并输出。,分析与思路,假设三个数分别用变量A、B和C表示; 先将A与B比较,并将较大的数放在A中,将较小的数放在B中; 再用C与A比较: 如果C比A大,则交换A
47、和C的值,这时,A中存放的是最大数。 然后,再用C和B进行比较,如果C比B大,则交换它们的值; 最后,输出A、B和C的值,程序清单,REM L4-7 CLS INPUT “请输入三个数:”,A,B,C IF BA THEN T=A:A=B:B=T IF CA THEN T=A: A=C:C=T IF CB THEN T=B:B=C:C=T PRINT A;B;C END,练习,画出该程序的流程图 上机输入该程序,本次上机题,输入或改写几个例题的源程序,作业,习题集:第四章第二节 注意:习题中涉及的上机题均要上机输入和通过,作业,将没有做完的上机题继续做完: 例4-3,例4-4,例4-6,例4-
48、7,例4-8,例4-9,例4-11,例4-12A,例4-12B,例4-13,例4-14,第九讲 第四章 会思考的程序设计(二),复习 练习 作业,本讲要点,多个条件的表达 块条件语句 条件语句的嵌套 多分支语句(SELECT CASE) GOTO语句,例4-8 输入你和爸爸的年龄: 算一算你们年龄的差; 爸爸的年龄是你的年龄的三倍吗? 想一想:这两个问题应该怎样来解决?,例4-8 程序清单,REM L4-8 CLS INPUT “请输入年龄:”, NLA, NLB NLC = NLA NLB PRINT “年龄差为:”;NLC IF NLB * 3 = NLA THEN PRINT “爸爸的年
49、龄是我的三倍!” ELSE PRINT “NO!” END,例4-8:画出流程图,并上机输入该程序 写出四个数排序的程序,并画出相应的流程图,多个条件怎么办,例4-9 编程判断输入的数是不是一个比100大的整数。 分析:对输入的数进行判断时,要表达出两个条件: 一个是大于100,这可以表示为A100; 另一个是要求是整数,这可以表示为 A = INT(A),多个条件怎么办,要把两个都要满足的条件相联,要用到逻辑运算符AND 例4-9中的条件可以表示为: A 100 AND INT(A) = A,例4-9 程序清单,REM L4-9 CLS INPUT “请输入一个数:”, A IF A 100
50、 AND A=INT(A) THEN PRINT “YES” ELSE PRINT “NO” END,逻辑运算符,共有三个:NOT(非), AND(与), OR(或) 含义见教材P51表4-1 各种运算符的优先级(优先级由高到低):算术运算 关系运算逻辑运算 例:1+2 1+1 AND 4-35,练一练:,A=8,B=2,C=9,判断如下表达式的真假: A+CB AC/B OR C=10 AA OR BB NOT A=B*4,例4-10 写出能够实现找出成绩不小于80分,并且小于90分的同学的语句。,分析:用变量CJ表示成绩,CJ不小于80分,可以表示为CJ=80。成绩小于90分,可以表示为C
51、J=80 AND CJ90 THEN PRINT “YES!” ELSE PRINT “NO!” 注意:上面的条件表达式不能写成 80=CJ90,块条件语句(IF/END IF) 的使用,在行条件语句中,如果条件表达式比较长,或者THEN、ELSE后的操作比较多,那么行IF语句就会比较长,但QB又规定行IF语句必须在一行内写完,这就造成了程序的可读性下降 要解决这个问题,可以利用块条件语句,块条件语句(IF/END IF) 的格式,格式:IF THEN ELSE END IF,关于块条件语句的几点说明,IF和THEN必须写在同一行上,THEN是这一行的结尾; 整个块IF语句必须以END IF结
52、束。,例4-11 有三个数据,现要求判断出它们是否都是偶数。如果是,就输出它们的和及平均数,否则(即不都是偶数),输出“ERROR!”。,例4-11 程序清单,REM L4-11 CLS READ A,B,C IF A MOD 2=0 AND B MOD 2=0 AND C MOD 2=0 THEN PRINT A+B+C, (A+B+C)/3 ELSE PRINT “ERROR!” END IF DATA 2,6,8 END,上机练习: 输入例4-11的源程序; 将判断一个数是否为偶数的条件改为A/2=INT(A/2),再试一试 还有没有别的判断一个数是否为偶数的方法了?,例4-12 从键盘
53、输入一个三位数,输出用这个三位数的各位数字排列出来的最大三位数。例如,输入263,则输出632。分别写出采用行IF语句和块IF语句的程序。,分析: 本题的难点在于如何求出符合条件的三位数 本题的要求也可以转化为将输入数的三位数字按从大到小的顺序排序 进而带来的问题就是,如何将输入数的三位数字取出来-这可以利用INT()函数来完成。例如,要取出352的百位,可以用INT(352/100),用s、a、b、c来表示原数及其三个数字,则三位数字可以用以下的赋值语句求出: A = INT(S/100) B = INT(S A * 100) / 10) C = S A * 100 B * 10,例4-12
54、程序清单(用行条件语句编写),REM L4-12A INPUT “输入一个三位数:”,S A = INT(S/100) B = INT(S-A*100)/10) C = S A*100 B*10 IF AB THEN T=A:A=B:B=T IF AC THEN T=A:A=C:C=T IF BC THEN T=B:B=C:C=T PRINT A; B; C END,例4-12程序清单(用块条件语句编写),REM L4-12B INPUT “输入一个三位数:”,S A = INT(S/100) B = INT(S-A*100)/10) C = S A*100 B*10 IF AB THEN T
55、=A A=B B=T END IF,IF A C THEN T=A A=C C=T END IF IF B C THEN T=B B=C C=T END IF PRINT A; B; C END,想一想:还有没有其他方法能取出数值常量的各位数字吗?,条件语句的嵌套,在IF语句的语句组里可以再次出现IF语句,称为条件语句的嵌套 例如: IF XY THEN IF XZ PRINT “MAX=”;X IF NM THEN IF N90 THEN P=P+1 ELSE Q=Q+1 IF A=B*2 THEN IF A=B/2 THEN PRINT “A,B都是零” ELSE B=B+1 END IF
56、,上机练习,如果超过80的数是大数,20以下的是小数的话,编一个程序输入一个数,经判断后输出数的类型(是大数还是小数),INPUT X IF X =80 THEN PRINT “DA SHU” ELSE IF X 20 THEN PRINT “XIAO SHU” ELSE PRINT “ZHONG SHU” END IF END IF,例4-13 比较两数大小的程序,REM L4-13 CLS INPUT “输入两个数:”,A,B IF A=B THEN IF AB THEN PRINT “B大” ELSE PRINT “一样大” END IF ELSE PRINT “A大” END IF E
57、ND,说明,THEN子句和ELSE子句部分都可以嵌套一个新的IF语句 内外层IF语句不能交叉;要注意ELSE子句和IF的配对关系。,以下一段程序要实现这样的功能:输入0时即输出0;输入正数时即输出1;输入负数时即输出-1: INPUT M N = 0 IF M=0 THEN IF M0 THEN N=1 ELSE N=-1 PRINT M, N END,QB规定:ELSE要与其最近的IF配对,因而,上一段程序是不对的。流程图见PP55-56。应该如何改? 上机练习,例4-14 用IF语句的嵌套来完成三个数排序的程序,REM L4-14 CLS INPUT “输入三个数:”,A,B,C IF A
58、C THEN PRINT A; IF BC THEN PRINT B;C ELSE PRINT C;B ELSE PRINT C;A;B END IF END,多分支语句(SELECT CASE),IF语句可以实现两路分支选择结构,即根据条件表达式的值(真或假),从两种情况(两个分支)中选择一个执行 如果要选择的情况多于两种时,可以利用嵌套的IF语句来实现,但往往比较麻烦 对于这种多种情况/分支的选择,可以使用QB中的多分支语句,即SELECT CASE语句,多分支语句(SELECT CASE),格式: SELECT CASE CASE , , CASE , , CASE ELSE END SELECT,几点说明,“测试表达式”可以是单个变量,也可以是一个算术表达式 CASE语句中的“条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳市劳务员考试题库及答案
- 人卫技师考试题库及答案
- 辅警职责培训课件
- 辅警作风建设培训课件
- 护理对医疗质量改进的贡献
- 2026年深圳中考语文文言文翻译专项试卷(附答案可下载)
- 2026年深圳中考英语临考冲刺押题试卷(附答案可下载)
- 2026年深圳中考物理易混考点辨析试卷(附答案可下载)
- 2026年深圳中考生物专题整合训练试卷(附答案可下载)
- 2026年深圳中考生物名师原创预测试卷(附答案可下载)
- 半导体semi F81 中文版
- DBJ50-T-405-2021城市道路占道施工作业交通组织设计标准
- 村务公开的申请书
- 急性肾衰竭的临床表现
- 层流洁净手术室的管理
- 《无人机实景三维技术》课件-立体模型相对定向
- 设计质量、进度、保密等保证措施
- 《电力建设工程施工安全管理导则》(NB∕T 10096-2018)
- 2024年黑龙江省哈尔滨市中考语文试题
- 建筑工程岗前实践报告1500字
- 《底层逻辑》刘润
评论
0/150
提交评论