《初识算法与程序设计课件.ppt》由会员分享,可在线阅读,更多相关《初识算法与程序设计课件.ppt(27页珍藏版)》请在三一办公上搜索。
1、算法与程序设计,解决问题的步骤,做什么怎么做付诸行动,分析问题 解决问题的途径和方法 用计算机处理,程序是计算机的灵魂,而算法则是程序的灵魂,过河问题,一个农夫带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船,并且每次只能让农夫带一样东西过河。农夫在场的情况下一切相安无事,一旦农夫不在,狼会吃羊,羊会吃蔬菜。问聪明的农夫如何能安全地将这三样东西带过河。,农夫、狼、山羊和蔬菜过河问题,算法的表示,1.自然语言:就像写文章时所列的提纲一样,有序地用简洁的语言加数学符号来描述。2.流程图3.计算机语言、C+、Java、VB、PASCAL等,闰年问题,我们通常所说的一年为365天,其实是个约数,准确
2、的数字应该是365.2422日。那么一年365天,就与实际一年相差了0.2422日,这样四年之后就比实际的一年少了1天。为了弥补这个差值,历法规定,4年设一闰。那么如何判断一年是否为闰年呢?提示:1.能被4整除但不能被100整除2.能被400整除 只要满足上述条件之一的,就是闰年,闰年问题(算法),输入年份n如果n能被4整除但不能被100整除,或者n能被400整除,那么输出n是闰年否则输出n不是闰年,自然语言表达如下:,开始,判断闰年问题,s=InputBox(请输入年份:)n=Val(s)If n Mod 400=0 Or(n Mod 4=0 And n Mod 100 0)ThenMsgB
3、ox s+年是闰年!ElseMsgBox s+年不是闰年!End If,VB程序语言,程序的三种基本结构,顺序结构分支(选择)结构循环结构,流程图示例,晓明每天早上起来按图所示流程图做上学前的准备工作:,结束,开始,结束,顺序结构,交换数据:输入两个数a和b的值,然后交换a和b的值,并输出a和b的值。,开始,流程图:,程序实例,a=inputbox(“请输入a”)b=inputbox(“请输入b”)c=aa=bb=cPrint a,b End,如图所示的流程图片断,是反映某班上体育课情况的流程:,开始,流程图示例,变量,定义:程序中的变量指的是数据的存储单元,其存储的数据在程序的执行过程中是可
4、变的。使用:可以存储外界输入的数据,也可以存储程序计算的结果。例如变量V,只要我们不把新的数据送到变量V,那么,在程序整个运行过程中它将永久地保存这个数据。,分支结构,比较大小问题:有两个数a,b,比较两者的大小,再把大的值输出。请画出流程图。,有两个数a,b,比较两者的大小,再把大的值输出。,开始,ab?,结束,输入a,b的值,输出b的值,输出a的值,Y,N,存储空间满了?,不能拍照了,取 景,拿出相机,结束,按下快门,开始,如图所示的流程图,是反映用数码相机拍照的流程:,返回,流程图示例,循环结构,求1+2+3+100请你画出这个算法的流程图。,求 1+2+3+100,开始,真亦假时假亦真确定性:算法中的每一步必须是明确的,不可以有“多义性”或“歧义性”。我可以把天上的月亮摘下来送给你 可行性(有效性):算法中的每一步必须是计算机能够有效执行,并且能得到有效结果的。人固有一死,或重于泰山,或轻于鸿毛 有穷性:算法中的步骤应是有限的。,算法特征,比较大小问题(升级版):有三个数a,b,c,比较它们的大小,再把最小的值输出。请画出流程图。,循环结构求和(升级版)任意输入一个自然数,求 从这个数开始,之后连续20个自然数的总和。请画出流程图。,