当前位置:文档之家› 算法与程序设计(第一章)ppt_粤教版选修1优质课件PPT

算法与程序设计(第一章)ppt_粤教版选修1优质课件PPT

算法与程序设计
第一章 揭开计算机解决问题的 神秘面纱
2021/02/01
1
算法与程序设计
1.1 计算机解决问题的过程
从一个生产方案问题了解用计算机解决问题的步骤:P6
具体问题 分析问题 设计算法 编写程序 调试程序 得到答案
掌握用自然语言表达算法。(P8实践与练习)
2021/02/01
2
算法与程序设计
写出解题的算法
穷举
2021/02/01
3
算法与程序设计
2x+2y+z≤12 X+2y+z ≤8 4x ≤16 4y ≤12
0 ≤x ≤6; 0 ≤y ≤6; 0 ≤z ≤12 0 ≤x ≤8; 0 ≤y ≤4; 0 ≤z ≤8 0 ≤x ≤4 0 ≤y ≤3
0≤x≤4 0 ≤y ≤3 0 ≤z ≤8
2021/02/01
6
算法与程序设计
f_max = 0 For x = 0 To 4 For y = 0 To 3 For z = 0 To 8 If f_max < f(x, y, z) Then f_max = f(x, y, z) x_max = x y_max = y z_max = z End If Next z Next y Next x Print “当x=”; x_max; “,y=”; y_max; “,z=”; z_max; “时," Print “f(x,y,z)的最大值="; f_max
2021/02/01
7
算法与程序设计
5、调试程序、得到结果
1)、新建工程; 2)、在窗体添加按钮控件; 3)、给按钮添加单击事件过程; 4)、在单击事件过程内输入编写好的程序; 5)、运行程序调试结果。
人工解题步骤 1、理解和分析所面临的问题 2、寻找解题的途径和方法
3、用笔、纸和算盘、计算器等工具进行计算 4、验证计算结果
辑思维中都能够实施实现。
9
算法与程序设计
辗转相除法
又名欧几里德算法(Euclidean algorithm)是求两个正整数之最大公约数的算法。它 是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的《几何原本》 (第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。它并不 需要把二数作质因子分解。
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。即,用计算机求 解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
算法的特征:
1)、有0或多个输入。解题算法中可以没有数据输入,也可以同时输入多个需
要算法处理的数据。
2)、确定性。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生
不同点:当计算量较大时,人工解题就有点力不从心了,而计算机每秒上亿次的计算速度却不在话下,
并且只20要21算/02法/0正1 确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如: 8 sum=1+2+3+4+5……+(n-1)+n这样的问题。
算法与程序设计
1.2 算法和算法的描述
1、算法的概念
1. a ÷ b,令r为所得余数(0≤r<b),若 r = 0,b 即为最大公约数;算法结束 。 2. 互换:置 a←b,b←r,并返回第一步。
计算机解题步骤 1、理解和分析所要解决的问题 2、寻找解题的途径和方法 3、生成解题算法 4、选用一种编程语言根据算法编写程序 5、通过编辑、编译和连接产生计算机能够识别的指令序列 6、在计算机上执行该指令序列
相同点:无论何种解题方式,在解决某一实际问题时,都应该正确的理解问题的题意,从看似复杂的 问题中整理出一个头绪,然后通过算法(即解决问题的一个一个步骤)描述出某一问题的解决过程, 进行一定量的计算,最后都必须验证计算结果。
1、具体问题:
华南太阳能设备厂在计划期内拟生产甲、乙、丙三种适销产品,每件销售收分别为4 万元、3万元、2万元。按工艺规定,甲、乙、丙三种产品都需要在A、B、C、D四种 不同的设备上加工,其加工所需要的时间见下表。已知A、B、C、D四种设备在计划 期内有效使用台时数分别为12、8、16、12。如何安排生产可使收入最大?
2021/02/01
4
算法与程序设计
3、设计算法: 开始
x=0
Y
x>4
N
y=0
y>3 N
z=0
Y x=x+1
y=y+1 Y
z>8 N
f(x,y,z)=0 N
2*x+2*y+z<=12 x+2*y+z<=8
Y
f(x,y,z)=4*x+3*y+2*z
2021/02/01z=z+1 Nhomakorabea结束
x=0
输出结果 Y
歧义或者误解。
3)、有穷性。任何一种提出的解题方法都是在有限的操作步骤内可以完成的,
哪怕是失败的解题方法。
4)、有1个或多个输出。一个算法执行结束之后必须有数据处理结果输出,哪怕
是输出错误的数据结果,没有输出的算法使毫无意义的。
5)、能行性。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻
2021/02/01
设备
产品
A
B
C
D

2
1
4
0

2
2
0
4

1
1
0
0
2、分析问题:
探究的问题
探究过程
找出已知和未知
已知甲乙丙销售收入,ABCD四种设备有效使用台时数,甲乙丙加工的台时数,未知的是甲乙丙的产 量及总销售额。
明确已知和未知之间关系 甲乙丙加工的台时数不能超过ABCD有效使用台时数。
人工求解问题
甲乙丙的产量及总销售额。
x>4 N
y=0
y>3 N
z=0
Y x=x+1
y=y+1 Y
z>8
N
f_max<f(x,y,z)
Y f_max=f(x,y,z)
x_max=x y_max=y z_max=z
z=z+1
5
算法与程序设计
4、编写程序
Dim x As Integer, y As Integer, z As Integer Dim x_max As Integer, y_max As Integer, z_max As Integer Dim f(4, 3, 12) As Single Dim f_max As Single For x = 0 To 4 For y = 0 To 3 For z = 0 To 12 If (2 * x + 2 * y + z <= 8) And (x + 2 * y + z <= 8) Then f(x, y, z) = 4 * x + 3 * y + 2 * z Else f(x, y, z) = 0 End If Next z Next y Next x
相关主题