高中信息技术会考知识要点及练习(七)
程序设计基础模块
一、基本概念
1、用计算机解决问题的一般过程:
需求分析 明确数据结构,设计算法 编写程序 调试与维护
2、程序设计语言的发展:
机器语言 汇编语言 高级语言 3、流程图的各种基本图形符号
图形符号 名称 起止框 说明 表示一个算法的开始或结束 输入、输出框 框内必须标明输入、输出的内容 处理框 框内必须标明所进行的处理 判别框 框内标明判别条件,并要在框外标明条件成立和条件不成立时的两种不同流向 流程线 表示某一框到另一框的流向 表示算法流向的出口连接点或入 连接框 口连接点 4、面向过程的程序设计:围绕过程来考虑数据即操作对象,由过程来控制数据,过程和数据是分离的。
5、面向对象的程序设计:通过对象之间的消息通信,驱动对象执行一系列的操作从而完成某一任务的程序设计方法。 6、面向过程的程序设计语言有:Pascal、C、Foxbase 7、面向对象的程序设计语言有:C++、Visual Basic、Delphi 8、算法的描述方法:
①自然语言描述:把算法的各个步骤,依次用人们所熟悉的日常会话的语言表示出来。
例如:要计算机求出两个数的和。计算机处理的具体步骤为: (1) 输入两个加数num1、num2;
(2) 将两个数相加并将求出的和赋给某一个变量sum;
(3) 显示运算结果sum的值; (4) 结束
②图形描述:用含义确切的图形符号描述算法。 例如:要计算机求出两个数的和。
将两数之和赋值给sum Start 将第一个加数赋值给num1 将第二个加数赋值给num2
输出sum End ③程序描述:以计算机能够接受、理解和执行的程序来描述。 例如:要计算机求出两个数的和。(以Pascal语言为例) PROGRAM AddTwoNumbers; {定义程序的名称为AddTwoNumbers} USES WinCrt; {调用库单元WinCrt}
VAR num1, num2, sum: integer; {定位三个整数变量:num1、num2、sum} BEGIN
num1:=5; {将5赋给变量num1} num2:=7; {将7赋给变量num2} sum:=num1+num2; {将两数之和赋给sum}
writeln(‘The sum is ‘, sum) {输出结果sum的值} END.
二、编写程序
1、常量:程序执行时其值不允许改变的数据对象。Const是表示常
量说明的保留字。
2、变量:程序执行时其值允许改变的数据对象。任何变量都必须在赋值后才能引用。Var是表示变量说明的保留字。 3、数据的类型
①整型(integer):可以是零、正整数或负整数 ②实型(real)
③字符型(char):字符常量要放在单引号内,只能进行关系运算。大写字母的值比小写字母的值小,按字母表顺序,前面的字母的值比后面字母的值小。
④布尔型(boolean):只取两个值(true或false),可执行的运算只有:与(and)、或(or)、非(not) 4、Pascal程序的三个组成部分: ①程序标题:PROGRAM 程序的名称; ②说明部分:USES 库单元名;(库单元说明) CONST 常量名;(常量说明) VAR 变量名;(变量说明) ③语句部分:BEGIN
语句(语句之间用英文的分号来分隔) END. 5、说明语句
VAR 变量名 冒号 变量类型(若有多个变量,则变量之间用逗号来分隔)
例如:① VAR num1: integer;
② VAR num1, num2, sum: integer; ③ VAR r, year: integer; P: real; 6、赋值语句
变量名 赋值号 值(或表达式) 例如:① num1:=5; ② sum:=num1+num2;
③ sum:=abs(num1)+abs(num2); 7、表达式的书写
注意运算的优先顺序,括号内的运算最优先
运算符优先顺序从高到低分成四级:
第一级 NOT 第二级 * / DIV MOD AND 第三级 + - OR 第四级 = <> > >= < <= 如果是同级运算则按从左到右顺序进行 8、程序的基本结构:
①顺序结构:算法的各个步骤是按规定的先后次序顺次执行的,每个步骤都有一个确定的前趋步骤和一个确定的后继步骤。 例如:求由键盘输入的任意两个数的和。 自然语言描述:
(1) 由用户通过键盘输入两个任意的加数num1、num2; (2) 将两个变量的值相加并赋给某一个变量sum; (3) 显示运算结果sum的值。 图形描述:
Start 输入num1
②分支结构:当程序执行到某一个步骤时,要对当时的处理结果进行判断,根据判断的不同结论去执行不同的后继步骤。
例如:从键盘输入一个年份,判断这个年份是否是闰年,并输出相应的信息。 自然语言描述:
(1) 从键盘输入一个表示年份的数据;
(2) 判断该数据是否是闰年,如果是则输出“是闰年”,否则输出
“不是闰年”字样; 图形描述:
是 闰年 Start 输入一个年份 F T 输出“不是闰年” 输出“是闰年”
End
可实现分支结构的语句:
①IF语句 ②CASE语句
IF <条件> CASE <表达式> of THEN <语句1> <情况标号表1>: 语句1; ELSE <语句2> <情况标号表2>: 语句2; ……
<情况标号表n>: 语句n;
END
③循环结构:算法的某些步骤需要循环反复地执行,反复执行的次数由某些条件控制,根据控制条件在执行过程中的具体结果,决定是继续循环执行还是结束循环,执行后继步骤。
例如:用减法运算代替除法运算,求两个整数相除的商和余数。 自然语言描述:
(1) 输入被除数和除数,商取0;
(2) 如果被除数大于或等于除数,则反复做以下两件事: A、 B、
商增加1; 被除数减去除数。
(3) 若(2)的条件不满足,则停止循环,输出商和这是的被除数
(即余数)的值。 图形描述:
d1>=d2 输入d1,d2 Start t 0
t=t+1
d1=d1-d2 F
T
End 输出t和d1的值
循环结构一般有两种:
F 条件 语句
T F
语句 条件 T
“当”型循环结构 “直到”型循环结构
可实现“当”型循环结构的语句:WHILE语句 WHILE <条件> DO <语句>
可实现“直到”型循环结构的语句:REPEAT语句REPEAT <语句1>; <语句2>; …… <语句n>; UNTIL <条件> FOR循环语句
当循环控制变量的值递增时:
FOR <控制变量>:=<表达式1> to <表达式2> do <语句>
当循环控制变量的值递减时:
FOR <控制变量>:=<表达式1> downto <表达式2> do <语句>