当前位置:
文档之家› 算法与程序设计(vb)第一课
算法与程序设计(vb)第一课
解方程组得:X=2a-b/2,Y=b/2-a
.
设计算法
• 输入a和b的值 • 求X=2a-b/2 • 求Y=b/2-a • 输出X,Y的值 • 结束
.
算法:解决问题的方法和步骤。
算法是在有限步骤内求解某一问题所使用的一组定义 明确的规则。通俗点说,就是计算机解题的过程。在 这个过程中,无论是形成解题思路还是编写程序,都 是在实施某种算法。前者是推理实现的算法,后者是 操作实现的算法。
缺点是不是很直观。 .
开始
输入正整数m和n
r=m除以n的余数
否 r=0 是 输出n的值
m=n,n=r
INPUT m,n r=m mod n DO WHILE r≠0
m=n n=r r=m mod n Loop PRINT n
结束
.
1、图形符号"
"在算法流程图描述中表示( )
A .处理或运需求 D .算法的开始或结束
其差别在于,用程序设计解决问题需要我们亲 自动手设计软件,而使用现成的软件,是别人已 经给我们设计好了的。
.
算法的描述
• 自然语言 • 流程图 • 伪代码
.
1、用自然语言来描述。 人们日常生活中使用的语言
.
算法描述:
以“韩信点兵问题” 为例:
.
算法分析:
以“韩信点兵问题” 为例:
.
自然语言
调试程序——查找和改正程序中存在的错误,使程 序能顺利地执行,得出正确结果。
.
算法的概念
.
农夫过河问题
一个农夫带着一只狼,一只羊和一棵白 菜过河。河边只有一条船,由于船小,农夫一 次只能带其中的一样过河。如无人看管,狼要 吃羊,羊要吃菜。问农夫如何安排过河,才能 使狼、羊、菜都安然无恙。
.
渡河的方法与步骤:
如果是29天,则这一年是闰年。判断闰年的条件是: 如果该年份能被4整除但不能被100整除,或者能被 400整除,则该年为闰年。
.
算法描述:
输入年份→y
IF y能被4整除 THEN
IF y 不能被100整除 THEN
输出“是闰年”
ELSE
IF y 能被400整除 THEN
输出“是闰年”
ELSE
输出“不是闰年”
算法是尼克劳斯.沃斯提出的,他指出:算法+数据结构=程序 。算法不能单独构成程序,算法是程序设计的“灵魂”,它必须 和数据结构合二为一)
算法独立于任何具体的程序设计语言,一个算法可 以用多种程序设计语言来实. 现。
算法的特征
1.有穷性:一个算法必须保证执行有限步之后结束; 2.确切性:算法的每一步骤必须有确切的定义; 3.输入:一个算法有0个或多个输入,以刻画运算对象 的初始情况,所谓0个输入是指算法本身定出了初始 条件; 4.输出:一个算法有一个或多个输出,以反映对输入 数据加工后的结果。没有输出的算法是毫无意义的; 5.可行性:算法原则上能够精确地运行,而且人们用 笔和纸做有限次运算后即可完成
优点:通俗易懂。 缺点:容易产生歧义。
.
例如:
“这个人连老张也不认识”。
意思之一:这个人不认识老张。 意思之二:老张不认识这个人。
.
2、用流程图来描述
流程图也称程序框图,算法的一种图 形化表示方法。
.
流程图
图形
名称 开始/结束
输入/输出
处理
判断 流程线 连接点
.
功能 表示算法的开始或结束
表示算法中变量的输入或 输出
.
算法与程序设计
第一章 如何用计算机解决问题 P2-12
.
如何用计算机解决问题
• 当我们用计算机解决问题时,首先要分析问 题,然后根据问题的要求选择合适的软件。
• 如果现有的软件能满足我们的要求,我们会 直接用这些软件来完成任务。
• 例:学校财务处要制作一份工资表,工资表 中许多数据,我们可以用Excel解决;学生 要设计一个报刊设计,可以使用word;
本学期课程设置 目标及考核方法
1.内容:算法与程序设计
2.目标:高中学业水平考试科目,提高重视
3.学业水平考试:6月份笔试理论考试
.
课堂要求
上机必带:教材、笔 上机禁带:食品、饮料、手机及其电子设备 上课时听从老师指挥,禁止私自打游戏 遵守课堂纪律,按号就座,禁止串座和随意走动 保持机房安静,维护机房卫生 按时完成作业,按要求提交作业
END IF
END IF
ELSE
输出“不是闰年”
END IF
.
• 使用伪代码描述算法没有严格的语法限制,书 写格式也比较自由,只要把意思表达清楚就可 以了,它更侧重于对算法本身的描述。
• 在伪代码描述中,表示关键词的语句一般用英 文单词,其他语句可以用英文语句,也可以用 汉语语句。
用伪代码描述的算法简洁、易懂,修改起来也比较 容易,并且很容易转化为程序语言代码。
.
著名数学家华罗庚“烧水泡茶”
算法一 第一步:烧水; 第二步:水烧开后,洗刷茶具; 第三步:沏茶。
算法二 第一步:烧水; 第二步:烧水过程中,洗刷茶具; 第三步:水烧开后沏茶。
.
设计一个软件的步骤
开始
分析问题
设计算法
编写程序
运行程序 验证结果
问题解决
无论使用现成的软件解决问题,还是自己动手 编程解决问题,其实质都是一样的,现有的计算机 软件同样也经历了这些过程。
表示算法中变量的计算与 赋值
表示算法中的条件判断 表示算法中的流向 表示算法中的转接
与自然语言相比,用流程图描述算法形象、 直观,更容易理解。.
3、用伪代码描述算法。
例如,给定一个四位数的年份,判断它是否为 闰年。如果用伪代码来描述算法,可以表示如下:
算法分析: 我们知道,如果2月是28天,则这一年是平年;
有许多工作比较特殊,现有的软件不能很好地 完成,或者由于其他方面的原因无法使用,这就需 要我们编写程序来解决问. 题。
计算机解决问题的步骤
分析问题——可采用建立数学模型的方式使问题变 得更明确、易理解。
设计算法——数学模型确定了应该“做什么”,接 下来就要为它寻找一个“如何做”的算法。
编写程序——用一种计算机能接受的程序设计语言 来描述问题求解的算法。
第一步:农夫带着羊渡过河去; 第二步:农夫划船回来; 第三步:农夫带着菜渡过河去; 第四步:农夫带着羊划船回来; 第五步:农夫带着狼渡过河去; 第六步:农夫划船回来; 第七步:农夫带着羊渡过河。
.
鸡兔同笼问题
一个笼子里有鸡和兔,现在只知道 里面一共有35个头,94只脚,问鸡和兔 各有多少只?
X+Y=a 2X+4Y=b