算法教学基本要求Word文件下载.docx
《算法教学基本要求Word文件下载.docx》由会员分享,可在线阅读,更多相关《算法教学基本要求Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
(1)复述常量和变量的概念;
书P57
常量——常量是在程序运行过程中值不变的数据或存储单元。
变量——变量用来表示数据的存数区,在程序运行过程中,这些存储区中的值是可以改变的。
(2)比较常量与变量的不同;
在程序运行过程中,常量的值不变,变量的值可以改变
(3)列举数据的基本类型(整型、实数型、字符型、逻辑型等)。
书P58表3.4
说明
数据类型
表示范围
整型
Integer
-32768~32767范围内的任何整数
长整型
Long
-2147483648~2147483647范围内的任何整数
单精度实数型
Single
绝对值在1.401298E-45~3.402823E+38内的任何实数,有效数字约6~7位
双精度实数型
Double
绝对值在10E-324~1.79E308内的任何实数,有效数字约6~7位
字符串
String
一段文字与符号
逻辑型
Boolean
True或False
日期型
Date
日期和时间
4.变量的作用和特点;
设置和使用变量。
(1)描述变量的基本作用和特点;
在程序中,往往需要将某一个或某些数据暂时存放起来,以备后用,我们一般将这些数据暂存在变量中。
变量指在程序运行过程中,取值可以改变的量,一般用字母表示。
在计算机内部变量对应了一定的存储单元。
(2)列举变量命名的基本规则;
变量名只能由字母、数字和下划线三类字符组成,但第一个字符必须是字母。
字母大小写都可以,变量名长度适当。
(3)使用赋值语句对变量进行赋值;
赋值语句——将赋值号(=或←)右边常量的值或变量的值存放在左边变量名对应的存储单元中,成为左边变量的值。
例如:
a=3
(4)描述变量赋值的过程与特点。
赋值过程:
例如a=3+a读取变量a的值,在这个值得基础上加上2,将结果存放到变量a对应的存储单元中。
变量赋值特点:
1、变量先赋值,后使用;
2、变量可反复使用,即“取之不尽”;
3、变量可重新赋值,重新赋值后,变量的值改变,即“赋值即覆盖”。
5.运算符、运算的优先次序、表达式。
(1)列举各类运算符的作用及运算规则(算术运算符、字符运算符、关系运算符、逻辑运算符);
①算术运算符:
基本运算
运算符
优先级
示例
乘方
^
9
2^8表示28
负号
-
8
-3表示负3
乘法
*
7
a*b表示a乘以b
除号
/
5.2/2计算结果为2.6
整除
\
6
5\2计算结果为2
求余数
Mod
5
17mod3计算结果为2
加法
+
4
a+b表示a加b的和
减法
a-b表示a减去b的差
说明:
1)优先级数字越大,优先级别越高,在进行运算时越先计算。
2)VB中只使用一种括号(),它可以多次嵌套。
②字符运算符
字符运算
连接
+、&
"
1"
&
"
3"
:
结果为13
+"
③关系运算符:
关系运算
大于
>
3
100>
99结果为True
小于
<
1.2<
-23结果为False
大于等于
=
Sin
(1)>
=0结果为True
小于等于
Sqr(3)<
=0结果为False
等于
12=13结果为False
不等于
12<
13结果为True
关系运算的结果为逻辑型,条件成立为True,条件不成立为False。
④逻辑运算符:
非(求反)
Not
2
Not(12<
13)结果为False
与(并且)
And
1
(23>
10)and(30<
23)结果为False
或(或者)
Or
10)or(30<
23)结果为True
说明:
1)参加逻辑运算的数据只能是逻辑类型,运算结果也为逻辑类型;
2)Not运算就是将原运算结果相反;
3)And运算也就是并且的意思,只有当运算符左右两边条件都成立时,整个条件才成立,运算结果为True,否则运算结果为False;
4)Or运算也就是或者的意思,只要运算符左右两边条件有一边条件成立,整个条件就成立,运算结果为True,否则运算结果才为False(两边条件都不成立);
(2)区分各类运算符的优先级;
1、算术运算、字符运算优先级最高,其次是关系运算,最后是逻辑运算。
2、括号可以改变次序,括号内的运算优先级最高
3、同一优先级按自左向右次序运算
(3)列举常用的表达式类型。
表达式——是指用运算符将常量、变量和函数连接起来的有意义的式子。
常用的表达式类型:
1、算术表达式;
2、关系表达式;
3、逻辑表达式
(4)计算表达式的结果。
灵活计算。
表达式中若只有算术运算符号,则是算术表达式,运算结果为某一数值。
表达式中出现关系运算符,没有逻辑运算符,则是关系表达式,运算结果为True/False
表达式中只要出现逻辑运算符,则是逻辑表达式,运算结果为True/False
第二单元算法的三种结构
1.算法三种结构;
算法的结构特点。
(1)描述顺序结构的特点;
顺序结构——是严格按照先后顺序执行各个步骤的算法结构。
特点:
每个步骤的先后顺序,不能随意颠倒。
(2)描述分支结构的特点;
分支结构(选择结构)——根据情况的不同,在两个预定的处理步骤中,选择执行其中的一个处理步骤,在两个支路中,必须且只能选择一条执行。
分支结构分成1、单分支结构;
2、双分支结构。
1、分支结构一定有判断框(是分支结构的开始)和汇聚点(是分支结构的结束)。
2、判断框有一个入口,两个出口
3、分支结构有一个入口,一个出口。
(双分支结构)(单分支结构)
(3)描述循环结构的特点;
循环结构(重复结构)——是指对某些操作进行重复执行的结构。
循环结构中要注意的三个要素:
1、循环的初始状态;
2、循环体;
3、循环条件。
特点:
1、一定有判断框,判断框内为循环条件。
2、有返回判断框(或循环体)的流程线、
3、循环结构只有一个入口,一个出口。
循环结构分为1、当型循环;
2、直到型循环
(4)规范绘制顺序结构的算法流程图;
见1/
(1)题的流程图
(4)解释循环结构中控制循环的要素(如:
初始状态、循环体、循环条件等);
循环结构中的三个要素:
1、循环初始状态是指进入循环之前对涉及到的变量的初值。
2、循环体是指循环中重复执行的操作。
3、循环条件用于控制循环是否终止。
2.计数器、累加器、累乘器。
(1)解释计数器、累加器、累乘器的功能和特点;
计数器:
在算法执行过程中,用来记录某种事件发生次数的变量。
(1)计数器的初值通常为0
(2)在循环体中的计数语句c=c+1
累加器:
在算法执行过程中,用来生成并存储数据累加和的变量。
(1)累加器的初值通常为0
(2)在循环体中的累加语句s=s+i
累乘器:
在算法执行过程中,用来生成并存储数据累乘积的变量。
(1)累乘器的初值通常为1
(2)在循环体中的累乘语句s=s*i
(2)识别计数器、累加器、累乘器的结构;
图1中s为累加器,s=2+4+6+8+……+96+98+100
图2中s为累乘器,s=2*4*6*8*……*96*98*100
图3中c为计数器,统计【1,100】内能被3整除的数的个数。
(图1)(图2)(图3)
(3)用流程图绘制计数器、累加器、累乘器的结构。
见上题
3.分支的两种不同形式。
(1)区分单分支与双分支结构;
见第二单元/1/
(2)
(2)复述双分支结构的执行过程;
见下图,对条件进行判断,如果结果为真时,执行语句(组)A,否则执行语句(组)B。
(3)复述单分支结构的执行过程;
见上图,对条件进行判断,如果结果为真时,执行语句(组),否则,跳出分支结构。
(4)规范绘制分支结构的算法流程图。
4.循环的两种不同形式。
(1)列举循环结构的两种形式(当型循环和直到型循环);
(2)复述当型循环的执行过程;
见上面
(1)中的流程图,对循环条件进行判断,当结果为真时,执行循环体语句,然后再次判断情况,当结果仍为真时,再次执行循环体语句,并继续判断条件。
总是重复上述过程,直到情况判断的结果为假时结束。
(3)复述直到型循环的执行过程;
见上面
(1)中的流程图,先执行一遍循环体中的语句,然后对循环条件进行判断,当结果为假时,再次执行循环体语句,然后再次判断情况,当结果仍为假时,再次执行循环体语句,并继续判断条件。
总是重复上述过程,直到情况判断的结果为真时结束。
(4)规范绘制循环结构的算法流程图;
见上面
(1)中的流程图。
(5)比较两种循环形式的异同。
当循环——先判断循环条件,再执行循环体。
循环体可能一次也不执行
直到循环——先执行循环体,再判断循环条件。
循环体至少执行一次。
5.三种结构的组合。
(1)描述分支嵌套分支的执行过程;
(2)描述循环嵌套分支的执行过程;
(3)描述循环嵌套循环的执行过程(双重循环)。
6.算法的执行过程和结果。
(1)描述算法的执行过程;
顺序结构、分支机构、循环结构,以及各种嵌套结构的执行过程各不相同,答案见前几题。
(2)使用列表法计算算法的执行结果。
涉及到循环结构,分析运行结果时,可以用1、列表法(循环次数较少时);
2、功能分析法(循环次数较多时)
【列表法示例】:
列表法:
变量
循环次数
sum
i
初值:
1+2=3
3+3=6
6+4=10
10+5=15
该算法共循环了__5__次
sum=____1+2+3+4+5__(哪些数字相加)
运行结果:
15
第三单元算法实例
1.枚举算法。
(1)复述枚举算法的基本概念;
枚举算法(书P22)——按问题本身的性质,列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,就采纳这个解,否则抛弃它。
核心:
不遗漏不重复。
枚举算法充分利用了计算机“运行速度快、不知疲倦”的优势。
(2)列举枚举算法的基本特征;
1、结构特点:
循环中嵌套分支结构(见右图)
列举——由循环结构实现
检验——由分支结构实现
2、设计步骤
1)确定列举的范围:
不能随意扩大和缩小范围,否则会造成重复或漏解
2)明确检验的条件:
根据检验的对象来设定条件,以及检验后所执行的相关操作。
3)确定循环控制的方式和列举的方式:
借助循环变量的变化来列举,或通过输入。
【枚举算法实例】若一个三位数x=100*a+10*b+c(a、b、c都是个位数),满足a3+b3+c3=x,则x称为水仙花数。
找出三位数中所有的水仙花数。
(3)描述枚举算法的基本实现方法(循环中嵌套分支)。
2.解析算法。
(1)复述解析算法的基本概念;
解析算法(书P18):
用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
(2)列举解析算法的基本特征;
解析算法的结构并没有特定的特征,可能是顺序结构,可能是分支结构或循环结构,甚至是几种结构的组合,完全取决于问题本身。
但以顺序结构或分支结构居多。
(3)描述解析算法的基本实现方法(顺序或分支)。
【解析算法实例】输入已知三角形三条边的长a、b、c,利用海伦公式求三角形面积。
Show
Dima,b,c,s,xassingle
a=Val(InputBox("
a:
))
b=Val(InputBox("
b:
c=Val(InputBox("
c:
s=(a+b+c)/2
x=Sqr(s*(s-a)*(s-b)*(s-c))
Printx
(上图:
顺序结构)(下图:
分支结构)
Dima,b,c,p,sAsDouble
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Ifa+b>
cAnda+c>
bAndb+c>
aThen
p=(a+b+c)/2
s=Sqr(p*(p-a)*(p-b)*(p-c))
Label2.Caption=Format(s,"
0.00"
)
Else
Label2.Caption="
不能构成三角形"
EndIf
3.数组变量。
(1)复述数组的基本功能;
数组——种特殊的变量,在内存中的位置是连续的,用于存储一批类型、作用相同的数据。
几个相关概念:
数组名、数组元素、数组元素名、数组元素下标、数组元素值。
(2)列举数组的基本特点;
1、数组变量可包含多个变量,同一个数组的元素所对应的存储单元在位置上是连续的。
2、数组变量可存储一批类型、作用相同的数据,用下标来区别每个元素。
各元素下标是连续的。
(3)比较数组元素和数组下标的区别;
见3/
(1)中图示,每一个数组元素都有1、数组元素名;
2、数组元素值。
其中,数组元素名中包含数组元素下标,用于区分各数组元素。
(4)描述使用数组解决处理批量数据的基本方法。
【数组实例】输入10个数字,依次存放到数组中,再将其逆序输出。
Dimd(10)assingle
i=1
DoWhilei<
=10
d(i)=val(InputBox("
请输入第"
&
str(i)&
个数字:
i=i+1
Loop
i=10
DoWhilei>
=1
Print"
d("
str(i)&
)="
str(d(i))
i=i-1
4.排序和查找
(1)描述冒泡排序的基本思想;
(1)从最下面一个元素起,自下而上地比较相邻两个元素中的数据,将较小的数值交换到上面一个元素。
重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工。
此时,最小的数据已经上升到第一个元素的位置。
(2)然后对余下的i-1个元素重复上述过程。
(3)由于每一遍加工都是将最小的元素像气泡一样浮至顶端,故称为冒泡排序。
【数组实例】有一组数据:
12、28、27、5,描述其冒泡排序的过程。
(书P30)
原始
数据
D
(1)
12
D
(2)
28
D(3)
27
D(4)
第1遍加工:
比较了3次
数据交换了3次
第2遍加工:
比较了2次
数据交换了1次
第3遍加工:
比较了1次
数据交换了0次
(2)描述选择排序的基本思想;
(3)描述顺序查找的基本思想;
(4)描述对分查找的基本思想;
二、过程与方法(用算法解决实际问题的能力)
1、算法基础:
根据需要,有效运用变量和表达式。
(1)分析需求,尝试确定变量数量、名称和类型;
(2)合理运用运算符,书写表达式。
2、有效运用算法的三种结构解决问题,包括:
(1)设计算法,有效运用顺序、分支和循环结构解决问题;
(2)有效运用计数器、累加器、累乘器解决问题;
(3)合理运用三种算法结构的组合解决问题(如:
分支嵌套、循环嵌套分支、双重循环)。
3、算法实例
(1)分析问题,包括:
输入、输出和处理的要求;
(2)设计算法,包括:
枚举法、解析法、冒泡排序、顺序查找等算法;
(4)有效使用流程图表达算法(或使用伪代码、程序语言实现算法);
(5)根据流程图,推测算法的功能;
(6)根据流程图,预测算法的结果,或者调试程序,修改和完善算法。
三、情感态度与价值观
1、认同算法和程序广泛应用于社会生活的各方面的价值(如:
使人类从繁杂的计算中解放出来,提高了人类生活质量);
2、提升用算法解决问题的意识。
;
3、了解我国古代的算法及计算工具的发明,增强对中华民族智慧的自豪感。