高一信息 算法与程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
24
23 89 24
61
24 24 89
23
61 61 61
比较次数 交换次数
4 3 2 3 1 1
15
23
24
61
89
1
1
5、顺序查找的关键
按照数组元素的先后次序,从第一个元素开始逐个 检验是否和查找键相等,找到第一个就结束
6、对分查找的关键
前提:有序数组 取数组中间值,每查找一次,查找范围就缩小一半
1 、解析算法的关键是什么?算法结构有无特征?
已知条件和要求结果之间的数学关系式 流程结构无特征,可能是三种中的一种,或组合。
练习:输入已知三角形三条边的长a、b、c,利用海伦公式求三角形面 积(流程图和VB程序)。s p( p a)( p b)( p c) p (a b c)
信息科技基础知识梳理
算法与程序设计
第一单元 算法基础
1、算法的概念是什么?
为解决某一问题设计的确定的有限的步骤。
2、计算机解决问题的一般过程分为哪几步?
分析问题——设计算法(最核心)——编写程序——调试运行
3、计算机程序一般由哪两部分组成?
指令部分和数据部分
4、计算机指令的种类有哪些?
输入、输出、数学运算、逻辑判断、控制转移指令
4、控制循环的条件有几种方法?
计数法、标志法 计数法与标志法相结合
说说下列流程图的功能和控制循环的方法
开始 s←0
输入x的值
N
Y
T<=8 N
Y
x<>99 9
输出s 的值
s ← s +x
输入x的值
结束
1+2+……+8的和。(计数法)
输出键入的一批数据的和,当输入999表示结束。 (标志法)
第三单元 算法实例
结束
3、数组如何定义和使用? Dim 数组变量名 (A1 to A2) AS 元素类型 如:dim a(1 to 30) as integer
一般通过循环结构输入输出 练习:输入10个数字,依次存放到数组中,再将其逆序输出。
开始 i←1 F
i<=10 T 输入d[i] i←i+1
i←10 F
i>=1 T 输出d[i] i←i-1
5、算法的主要特征
确定性 可行性(分母不能为0、负数不能开方) 有穷性(不能出现死循环,时间要合理) 可以没有输入 一定要有输出
6、算法的描述方法有哪些?
自然语言,流程图,伪代码或直接用程序
7、流程图中常用的符号有哪些?
起止框 一入或一出
输入输出框 一入一出
处理框 一入一出
判断框 一入二出
流程线
8、什么是常量、变量和数组?
常量:在程序执行过程中,其值不发生改变的量。 变量:在程序执行过程中,取值可以改变的量。 数组:用于存储一批类型作用相同的数据。 数组名
数组元素下标
d(10)=123
数组元素的值
数组元素
例:区分下列常量、变量和数组 0 “a” a a(1) a1
数值型 常量 字符型 常量 变量 数组变 量 变量
1a
Private Sub Command1_Click() Dim d(1 To 10) as double,i as integer For i=1 to 10 d(i) = InputBox(“请输入数据:") next for i = 10 to 1 step -1 Print d(i) next End Sub
结束
4、冒泡排序的思想
自下而上依次把数组中相邻的两个数据进行比较,通过交换数据,把较小的数据依次 向上移动。直到将最小的数据移到第一位;然后对剩余的数据进行类似的操作。 练习:将下列数据进行由小到大冒泡排序。
原始数据 第一趟排序 第二趟排序 第三趟排序 第四趟排序
89
15 15 15பைடு நூலகம்
15
89 23 23
2
开始 输入三角形三条 边长a b c p←(a+b+c)/2 s←sqr(p*(p-a)*(p-b)*(p-c)) 输出s 结束
Private Sub Command1_Click() dim a as double,b as double,c as double,p as double,s as double a = InputBox("a:") b = InputBox("b:") c = InputBox("c:") p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c)) Print s End Sub
不能使 用
False
逻辑型 常量
9、VB中有哪些常用的类型?
整数型:integer (-32768~32767) 实数型:single double 字符型:string 逻辑型:boolean long
10、VB中有哪些运算符?
类别
算术运算符 字符运算符
> < ^ -(取负) * /
运算符
\ mod + -
练习:
int (2.5 ) 17 mod 7 abs( -5.5 ) 2 = _______ 3 = _______ = _______ 5.5 int(-2.5) 1 mod 7 sqr ( 0.36 ) -3 = _______ 1 = _______ = _______ 0.6
12、什么是表达式? 由常量、变量、函数、运算符、及圆括号组成。
运算结果类型
数值型
优先级
^ > -(取负)> * / > \ > mod> + -
+ =
& >= <= <>
字符型 逻辑型
相同
关系运算符 逻辑运算符
相同
and
or 算术 运算和
not 字符
逻辑型
not
>and
>or
四类运算符优先级比较:
运算>
关系
运算> 逻辑
运算
11、VB中常用函数有哪些? 常用数学函数 int()、 sqr()、abs() 常用类型转换函数 val()、 str()
练习:
数学表达式 ,在VB中表示为 表示“0≤x<1且y≠0”的VB逻辑表达式是 x>=0 and x<1 and y<>0
a b ab
2
2
Sqr(a^2-b^2)/(a+b) (a^2-b^2)^(1/2)/(a+b)
。 。
第二单元 算法的基本结构
1、有哪三种基本结构?
是
开始
A框
条件
否 B框
条件 是 A框
否
语句1 语句2
……
语句n
双分支结构
单分支结构
循环条件
F
结束
循环体 F 循环条件 T
顺序结构
T 循环体
当型循环结构
循环体可能执行0次
直到型循环结构
循环体至少执行1次
2、循环中需要注意什么?
循环初始状态、循环体、循环条件。
*在流程填充中经常考到!
3、循环中有哪些特殊变量?
计数器:用来记录某种事件发生次数的变量。 (1)初值通常为0 (2)计数语句 i = i + 1 累加器:用来生成并存储数据累加和的变量。 (1)初值通常为0 (2)累加语句 s = s + d 累乘器:用来生成并存储数据累乘积的变量。 (1)初值通常为1 (2)累乘语句 s = s * d
是否继续列举
列举
x<=999
条件 N Y …… ……
F
T a=int(x/100) b=int((x mod 100)/10) c=x mod 10 a^3+b^3+c^3=x T 输出x x=x+1 F
Private Sub Command1_Click() Dim x as integer,a as integer,b as integer,c as integer x = 100 Do While x <= 999 a = Int(x / 100) b = Int((x Mod 100) / 10) c = x Mod 10 If a ^ 3 + b ^ 3 + c ^ 3 = x Then print x End If x=x+1 Loop End Sub
2、枚举算法的关键是什么,流程有无特征?
列举和检验 流程结构特点:循环中嵌套分支结构
列举——由循环结构实现 检验——由分支结构实现
练习:若一个三位数x=100*a+10*b+c(a、b、c都是个 位数),满足a3+b3+c3=x,则x称为水仙花数。找出三位 数中所有的水仙花数(流程图和VB)。
开始 x=100