(共19张PPT)
算法及其描述
目录
一、算法的概念
二、算法基本特征
三、算法的描述
四、算法的三种基本结构
话说一位农夫带着一只狼、一只羊和一框蔬菜过河,无奈船小,农夫每次只能运送一样东西,考虑到狼吃羊、羊吃菜,请帮农夫设计一个方案,把狼、羊、菜安全的运送过河。
请同学们设计方案,帮助农夫实现“羊、狼、疏菜共同渡河”的愿望。
农夫过河问题
一、 算法的概念
1、算法是指有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
2、简单地说,算法就是解决问题的具体方法和步骤。
3、解决问题的过程,就是实现算法的过程。
求解方程6x+5y+4z=50的正整数解的个数,并思考算法有哪些特征。
自主探究
①t=0; ②x=1; ③y=1; ④z=1;
⑤如果满足式子6x+5y+4z=50,则解的个数加1,并输出这个解;
⑥z=z+1;
⑦如果z≤12则转步骤⑤,否则继续步骤⑧;
⑧y=y+1;
⑨如果y≤10则转步骤④,否则继续步骤⑩;
⑩x=x+1;
⑾如果x≤8则转步骤3,否则继续步是⑿;⑿结束。
二、算法的特征
行业PPT模板http://www./hangye/
①有穷性:计算步骤是有限的
②确定性:每一个步骤必须有确切的定义
③数据输入:必须有0个或多个数据输入
④数据输出:一个或多个数据输出
⑤可行性:每个计算步骤都在有限时间内完成,可以有效执行
无限循环?
模棱两可?
0个输入是算法本身给出了初始条件
无功而返?
“有出入可确定”
巩固练习
下列关于算法的特征,描述正确的是( )
A.算法的步骤可以永远执行
B.算法的每一个步骤都需要有明确的定义,不能有歧义出现
C.算法必须有数据的输入
D.算法可以没有数据的输出
B
用自然语言描述算法
用流程图描述算法
用伪代码描述算法
自然语言是人们日常使用的语言,如汉语、英语。用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。
流程图,也称为程序框图,它是算法的一种图形化表示方法。
伪代码是介于自然语言和计算机程序语言之间的一种算法描述。
三、算法的描述方法
开始
t=0
k=6x+5y+4z
k=50
z=z+1
z<=12
y=y+1
N
Y
Y
求解方程6x+5y+4z=50的正整数解的个数
c
x=1
c
y=1
c
z=1
y<=10
x=x+1
x<=8
结束
N
N
Y
自主探究
t=t+1
输出t,x,y,z的值
N
Y
伪代码:
伪代码介于自然语言和编程语言之间,是一种描述算法的语言。
例如,用伪代码求解方程6x+5y+4z=50的正整数解的算法如下:
t=0
for x in range(1,9):
for y in range(1,11):
for z in range(1,13):
if(6 * x + 5 * y + 4*z == 50)
{t=t+1;
给出洁的个数t及对应的三个整数x,y,z}
1#include
2 using namespace std;
3 int main()
4 {
5 int x, y, z;
6
7 for (z = 1; z <= 12; z++ )
8 {
9 for ( y = 1; y <= 10; y++)
10 {
11 for ( x = 1; x <= 8; x++)
12 {
13 if ((6 * x + 5 * y + 4*z) == 50)
14 {
15 cout<<"x = "< 点击下载