(共23张PPT)
3.4算法及其实现
一个农夫带着一只猫、一只鸡和一袋米要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,猫会吃鸡,鸡会吃米.请设计一个算法,使农夫能安全地将这三样东西带过河.
问题引入
第一步:农夫带鸡过河;
第二步:农夫独自回来;
第三步:农夫带猫过河;
第四步:农夫带鸡回来;
第五步:农夫带米过河;
第六步:农夫独自回来;
第七步:农夫带鸡过河.
算法
——就是解题方法的精确描述。
一、算法的概念
1、算法由有限个步骤组成。
2、算法的每个步骤是确定的(没有二义性)。
3、算法的每个步骤是可行的(即在有限的时间内可以做到)。
4、有n个或0个输入。
5、有一个或多个输出。
算法的特点
下面的四段话中,符合算法特征的是(
)
A.把高一5班的同学分成两组,高个子参加篮球赛,矮个子参加拔河比赛
B.把高一5班的同学分成两组,身高达到170cm的参加篮球赛,不足170cm的参加拔河比赛
C.把a,b
的值代入x=b/a求方程ax=b的解
D.数清海滩上有多少粒沙子
课表
菜谱(做菜的方法)
乐谱
学习的方案
广播操图解
等等……
生活中处处存在着算法
算法有优劣,处理问题时算法应择优。
以君之下驷与彼上驷,
取君上驷与彼中驷,
取君中驷与彼下驷。
1、自然语言
2、流程图
3、计算机语言
二、算法表示形式
(1)输入QQ号;
(2)输入密码;
(3)密码正确否,
如果正确,则显示QQ系统界面,
否则要求重新输入密码。
QQ登录的算法(自然语言)
算法的表示—自然语言
(一)自然语言
优点:通俗易通
缺点:文字描述会比较冗长,容易出现歧义。
他才来,许多人还不认识。
算法的表示—自然语言
二、算法的表示—自然语言
Y
N
密码正确否
登录QQ的算法
密码正确否
常用流程图符号
习题1.下图是判断方程ax2+bx+c=0(a≠0)有无实根的部分流程图,则图中虚线部分的内容是(
)
习题2.某算法流程图如图所示。当输人值为0时,该算法执行的步骤是(
)
A.①②③④
B.①②③⑤
C.①②④⑤
D.①②③④⑤
(二)流程图:用图框及流程线来表示算法。
优点:形象直观
二、算法的表示—流程图
任务一:某市电动出租车起步价8元,可以行驶3公里。3公里以后,按每公里2元计算,从市一中到人民医院5公里,需付费多少元?设需付费y元,请用流程图描述此题算法。
自然语言描述此题算法:
第一步:输入公里数5
第二步:计算付款y=8+(5-3)
2
第三步:输出y
任务二:某市电动出租车起步价8元,可以行驶3公里。3公里以后,按每公里2元计算,输入公里数,请你计算顾客需付费多少元?设输入的公里数为x,需付费y元,请用流程图描述此题算法。
自然语言描述此题算法:
第一步:输入公里数x
第二步:判断是否超过3公里
第三步:大于3公里,付款y=8+(x-3)
2
第四步:否则y=8
第五步:输出y
任务三:某市电动出租车起步价8元,可以行驶3公里;3——15公里,2元/公里;15公里以后,
3元/公里,输入公里数,请你计算顾客需付费多少元?设输入的公里数为x,需付费y元,请用流程图描述此题算法。
思考:设计一个算法求解S
s=1+2+3+…+99+100
(三)计算机语言
常见的计算机语言有
Basic、Pascal、C、C++、Visual
Basic和Java等)
二、算法的表示—计算机语言
VB是一种可视化的、面向对象的和采用事件驱动方式的结构化高级程序设计语言。
三、
Visual
Basic一些概念
属性
属性值
属性描述了对象的状态特征
陈老师
陈老师的身高为170
对象名
属性名
属性值
.
=
关键词1:面向对象
窗体的标题文字是淘气的小猪
Form1.Caption
=“淘气的小猪”
对象
打架:是个外部的动作,称为事件
小钱哭,就是受到外部刺激所做出的反应。
这整个过程就是一个事件驱动的过程。
即通过什么事件,做出什么反应。
小吴
小钱
事件:鼠标移动(MouseMove)
关键词2:事件驱动
反应:小猪逃跑
这个反应在计算机中要通过用户自己的编程实现
四、VB实例:淘气的小猪
牛刀小试
1.界面设计
添加对象
设置属性
2.事件处理过程
编写
image1
用鼠标移到小猪身上,小猪就逃跑
3.调试运行
课堂小结
算法及其表示(流程图)
对象、属性、事件、事件处理过程
2
体验VB程序设计的过程
3
1
思考:不让小猪逃到外面,怎么实现?