12.1-算法的概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点评:算法要求“按部就班”地做,每做一步都 有唯一的结果,且有限步之后总能得到结果.
20
一个有效算法的特点:
➢有穷性:算法应由有限步组成,必须在有限操作之后 停止,并给出计算结果。 ➢可行性:或有效性,每个步骤都可以在有限时间内完 成。 ➢确切性:不存在歧义。
➢有0个、一个或多个输入:以刻画运算对象的初始情况。 “0个输入”是指算法本身给出了初始条件.
第一步,插入银行卡; 第二步,输入取款密码; 第三步,输入取款金额; 第四步,从出钞口取走钱; 第五步,取回银行卡。
5
1.算法的定义
算法:是指用来解决问题的一系列明确而有 效的步骤,是解决问题的清晰的指令。
6
典型例题
例1.写出求1+2+3+4+5的一个算法.
解:算法为:
Leabharlann Baidu
S1:计算1+2得到3;
S2:将第一步中的运算结果3与3相加得到6; S3:将第二步中的运算结果6与4相加得到10;
S4:将第三步中的运算结果10与5相加得到15.
算法2:
S1:取n=5.
S2:计算
n(n 2
1)
.
S3:输出运算结果.
同一问题的解决算法一般是不唯一的
7
一个好的算法的特点:
➢高效性:运算的次数少,执行的速度 快,占用的资源少。
8
练习:1.写出求1+2+3+…+100的一
个算法.可以运用公式1+2+3+…+n=
第九步 将362 880再乘以10,得到3 628 800.
12
2、 写出从12,3,-1,2,6,9,18,5,-3,17搜索 出5的一个算法.
解 算法为:
第一步 输入数列的第一个数12,并与5比 较,发现它不是数据5;
第二步 输入数列的第二个数3,并与5比较, 发现它不是数据5;
……
第七步 输入数列的第七个数18,并与5比较, 发现它不是数据5;
第四步:用5除以7,得到余数2.因为余数不为0, 所以5不能整除7.
第五步:用6除以7,得到余数1.因为余数不为0, 所以6不能整除7.
14
例3 设计一个算法,判断整数n(n>2)是否为质数。
解 算法为:
第一步:给定大于2的整数n; 第二步:令i=2; 第三步:用i除以n,得到余数r; 第四步:判断“r=0”是否成立,若是,则n不是 质数,结束算法;否则,令i=i+1; 第五步:判断“i>(n-1)”是否成立,若是,则n是 质数,结束算法;否则,返回第三步。
➢有一个或多个输出:以反映对输入数据加工后的结果。
21
1.知识结构
算法的概念
算法
算法的步骤
算法的特点
2.算法的特点:思路简单清晰,叙述复杂,步骤繁
琐,计算量大,完全依靠人力难以完成.而这些恰 恰就是计算机的特长,它能不厌其烦地完成枯燥 的、重复的繁琐的工作. 正因为这些,现代算法 的作用之一就是使计算机代替人完成某些工作, 这也是我们学习算法的重要原因之一.
20 世纪最伟大的科学技术发明 是计算机.没有软件的支持,计算机 只是一堆废铁而已.
软件的核心就是算法 !
2
什么是算法呢?
1、 6 5 (4 2)
先去括号 再乘除 后加减
3
问要把大象装冰箱,分几步?
答:分三步: 第一步:打开冰箱门. 第二步:把大象装冰箱. 第三步:关上冰箱门.
4
课本第38页探究:小李想用银行卡从自动取款机上 取500元钱,由于他第一次用银行卡取钱,所以向 你求助,你能写下用银行卡取钱的具体步骤,帮助 他顺利取出钱吗?
3
10
×
例2 写出交换两个大小相同的杯子中 的液体 (A杯中为水、 B杯中为 酒) 的 一个算法.
解:算法为:
第一步,找一个大小与A相同的空杯子C. 第二步,将A杯中的水倒入C杯中. 第三步,将B杯中的酒倒入A杯中.
第四步,将C杯中的水倒入B杯中,结束.
练习
1、 写出求1×2×3×…×9×10的值的一个算法. 解 算法为: 第一步 求1×2,得到结果2; 第二步 求2×3,得到结果6; 第三步 求6×4,得到结果24; 第四步 求24×5,得到结果120; ……
18
典型例题
例1.写出求1+2+3+4+5的一个算法. 解:算法为: 第一步:S=1; 第二步:S=S+2; ……
第五步:S=S+5; 第六步:输出S.
19
例5.写出一个能找出在a,b,c,d四个数中最大的数 的算法.
第一步:输入a,b,c,d四个数; 第二步:max=a; 第三步:如果b>max,则max=b; 第四步:如果c>max,则max=c; 第五步:如果d>max,则max=d; 第六步:输出max.
第八步 输入数列的第八个数5,并与5比较,
发现它是数据5,输出“已找到数据5,它是数
列的地八项”。
13
练习.设计一个算法,判断7是否为质数.
第一步:用2除以7,得到余数1.因为余数不为0, 所以2不能整除7.
第二步:用3除以7,得到余数1.因为余数不为0, 所以3不能整除7.
第三步:用4除以7,得到余数3.因为余数不为0, 所以4不能整除7.
15
练习:设计一个算法,判断35是否为质数.
第一步:用2除以35,得到余数1.因为余数不为0, 所以2不能整除35.
第二步:用3除以35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步:用4除以35,得到余数3.因为余数不为0, 所以4不能整除35.
第四步:用5除以35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
16
变量和赋值的概念 在解决问题的过程中,可以取不同数值的
量叫做变量。 给变量赋值的一般格式为:
变量名=表达式 例如:n=2,s=a+b,i=i+1 期中的符号“=”为赋值号
17
例4:读下列算法,回答问题: 第一步,令A=1,B=2,C=3; 第二步,A=A+B; 第三步,A=A+B+C; 第四步,输出A,B,C。 问:最后输出A,B,C的值各为多少? 解:A=8,B=2,C=3.
直接计算.
第一步
①
n(n 1) 2
; ①取n=100
第二步
②
; ②计算 n(n 1)
第三步 输出运算结果.
2
9
2.已知一个学生的语文成绩为89,数学
成绩为96,外语成绩为99,求他的总分和
平均成绩的一个算法为:
第一步 取A=89,B=96,C=99;
第二步
①
;
第三步
②
;
第四步 输出D,E.
①计算总分D=A+B+C ②计算平均成绩E=D
20
一个有效算法的特点:
➢有穷性:算法应由有限步组成,必须在有限操作之后 停止,并给出计算结果。 ➢可行性:或有效性,每个步骤都可以在有限时间内完 成。 ➢确切性:不存在歧义。
➢有0个、一个或多个输入:以刻画运算对象的初始情况。 “0个输入”是指算法本身给出了初始条件.
第一步,插入银行卡; 第二步,输入取款密码; 第三步,输入取款金额; 第四步,从出钞口取走钱; 第五步,取回银行卡。
5
1.算法的定义
算法:是指用来解决问题的一系列明确而有 效的步骤,是解决问题的清晰的指令。
6
典型例题
例1.写出求1+2+3+4+5的一个算法.
解:算法为:
Leabharlann Baidu
S1:计算1+2得到3;
S2:将第一步中的运算结果3与3相加得到6; S3:将第二步中的运算结果6与4相加得到10;
S4:将第三步中的运算结果10与5相加得到15.
算法2:
S1:取n=5.
S2:计算
n(n 2
1)
.
S3:输出运算结果.
同一问题的解决算法一般是不唯一的
7
一个好的算法的特点:
➢高效性:运算的次数少,执行的速度 快,占用的资源少。
8
练习:1.写出求1+2+3+…+100的一
个算法.可以运用公式1+2+3+…+n=
第九步 将362 880再乘以10,得到3 628 800.
12
2、 写出从12,3,-1,2,6,9,18,5,-3,17搜索 出5的一个算法.
解 算法为:
第一步 输入数列的第一个数12,并与5比 较,发现它不是数据5;
第二步 输入数列的第二个数3,并与5比较, 发现它不是数据5;
……
第七步 输入数列的第七个数18,并与5比较, 发现它不是数据5;
第四步:用5除以7,得到余数2.因为余数不为0, 所以5不能整除7.
第五步:用6除以7,得到余数1.因为余数不为0, 所以6不能整除7.
14
例3 设计一个算法,判断整数n(n>2)是否为质数。
解 算法为:
第一步:给定大于2的整数n; 第二步:令i=2; 第三步:用i除以n,得到余数r; 第四步:判断“r=0”是否成立,若是,则n不是 质数,结束算法;否则,令i=i+1; 第五步:判断“i>(n-1)”是否成立,若是,则n是 质数,结束算法;否则,返回第三步。
➢有一个或多个输出:以反映对输入数据加工后的结果。
21
1.知识结构
算法的概念
算法
算法的步骤
算法的特点
2.算法的特点:思路简单清晰,叙述复杂,步骤繁
琐,计算量大,完全依靠人力难以完成.而这些恰 恰就是计算机的特长,它能不厌其烦地完成枯燥 的、重复的繁琐的工作. 正因为这些,现代算法 的作用之一就是使计算机代替人完成某些工作, 这也是我们学习算法的重要原因之一.
20 世纪最伟大的科学技术发明 是计算机.没有软件的支持,计算机 只是一堆废铁而已.
软件的核心就是算法 !
2
什么是算法呢?
1、 6 5 (4 2)
先去括号 再乘除 后加减
3
问要把大象装冰箱,分几步?
答:分三步: 第一步:打开冰箱门. 第二步:把大象装冰箱. 第三步:关上冰箱门.
4
课本第38页探究:小李想用银行卡从自动取款机上 取500元钱,由于他第一次用银行卡取钱,所以向 你求助,你能写下用银行卡取钱的具体步骤,帮助 他顺利取出钱吗?
3
10
×
例2 写出交换两个大小相同的杯子中 的液体 (A杯中为水、 B杯中为 酒) 的 一个算法.
解:算法为:
第一步,找一个大小与A相同的空杯子C. 第二步,将A杯中的水倒入C杯中. 第三步,将B杯中的酒倒入A杯中.
第四步,将C杯中的水倒入B杯中,结束.
练习
1、 写出求1×2×3×…×9×10的值的一个算法. 解 算法为: 第一步 求1×2,得到结果2; 第二步 求2×3,得到结果6; 第三步 求6×4,得到结果24; 第四步 求24×5,得到结果120; ……
18
典型例题
例1.写出求1+2+3+4+5的一个算法. 解:算法为: 第一步:S=1; 第二步:S=S+2; ……
第五步:S=S+5; 第六步:输出S.
19
例5.写出一个能找出在a,b,c,d四个数中最大的数 的算法.
第一步:输入a,b,c,d四个数; 第二步:max=a; 第三步:如果b>max,则max=b; 第四步:如果c>max,则max=c; 第五步:如果d>max,则max=d; 第六步:输出max.
第八步 输入数列的第八个数5,并与5比较,
发现它是数据5,输出“已找到数据5,它是数
列的地八项”。
13
练习.设计一个算法,判断7是否为质数.
第一步:用2除以7,得到余数1.因为余数不为0, 所以2不能整除7.
第二步:用3除以7,得到余数1.因为余数不为0, 所以3不能整除7.
第三步:用4除以7,得到余数3.因为余数不为0, 所以4不能整除7.
15
练习:设计一个算法,判断35是否为质数.
第一步:用2除以35,得到余数1.因为余数不为0, 所以2不能整除35.
第二步:用3除以35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步:用4除以35,得到余数3.因为余数不为0, 所以4不能整除35.
第四步:用5除以35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
16
变量和赋值的概念 在解决问题的过程中,可以取不同数值的
量叫做变量。 给变量赋值的一般格式为:
变量名=表达式 例如:n=2,s=a+b,i=i+1 期中的符号“=”为赋值号
17
例4:读下列算法,回答问题: 第一步,令A=1,B=2,C=3; 第二步,A=A+B; 第三步,A=A+B+C; 第四步,输出A,B,C。 问:最后输出A,B,C的值各为多少? 解:A=8,B=2,C=3.
直接计算.
第一步
①
n(n 1) 2
; ①取n=100
第二步
②
; ②计算 n(n 1)
第三步 输出运算结果.
2
9
2.已知一个学生的语文成绩为89,数学
成绩为96,外语成绩为99,求他的总分和
平均成绩的一个算法为:
第一步 取A=89,B=96,C=99;
第二步
①
;
第三步
②
;
第四步 输出D,E.
①计算总分D=A+B+C ②计算平均成绩E=D