用计算机解决问题课件.ppt

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用计算机解决问题Hale Waihona Puke Baidu
--程序设计 戴敏
韩信点兵
“相传汉高祖刘邦问大将军韩信 统御兵士多少,韩信答说,每3 人一列余1人、5人一列余2人、 7人一列余4人……。刘邦茫然 而不知其数。
分析问题 (找出、列出已知和
未知之间的关系)
写出解题步骤(设计算法)
1.令X为1。
设所求的数X, 2.如果X整除3余1,X整除5余 则X应满足: 2;X整除7余4,这就是题目 要求的数,则记下这个X。 X整除3余1 3.令X为X+1 X整除5余2 4、如果算出,则结束;否则 X整除7余4 跳转2。 5.写出答案。
• Next i
• n=n\2
• Loop
• Text1.Text = Str(a(1))
• End Sub
程序的基本结构
• 顺序结构 • 选择结构 • 循环结构
• 1、 顺序结构 • 先执行A模块,再执行B模块。 •
• 2、 选择结构 • 当条件P的值为真时执行A模块,否则执行B模
块。
3、 循环结构 当型循环结构:当条件P的值为真时,就
图形符号 名 称
功能
开始、结 束 输入、输 出 处理
判断
表示算法的开始或结束
表示算法中变量的输入、输 出 表示算法中变量的与赋值 表示算法中的条件判断
流线 连接圈
表示算法中的流向 表示算法中的转接
3、用伪代码描述算法
伪代码是用介于自然语言和
计算机语言之间的文字和符号来 描述算法的工具
输入初始值1→N IF N被3除余2 and N被5除余3 and N被7除余2 THEN
• 某屠宰厂杀猪有一习惯:把每天要杀 的n头猪按顺序编号后排成一排,将排 在单号位置的猪杀掉;然后把剩下的 猪按上一次相对的位置排好,重新编 号后再将排在单号位置的猪杀掉,重 复前面的过程,直到剩下一头猪时停 止杀猪,将这头猪放回,等待明天再 杀。有一聪明的猪每天都不会被杀, 它每天应该站在什么位置?
• Dim a(1 To 10000) As Integer
• Private Sub Command1_Click()
• n = 1023
• For i = 1 To n
• a(i) = i
• Next i
• Do While n > 1
• For i = 1 To n \ 2

a(i) = a(i*2)
输出“就是这个数:N” 程序结束 ELSE N增加1 重新判断
设计算法: • 输入a和b的值 • 求x=2a-b/2 • 求 y=b/2-a • 输出x,y的值 • 结束
程序 Private sub command1_click() A=inputbox(“a=“,”输入头数“) B=inputbox(“B=“,”输入脚数“) X=2*a-b/2 Y=b/2-a Print “鸡数x=“,x, “兔数y=“,y
算法的特征
1. 输入:有零个或多个输入 2. 确定性:每一步有确切的定义 3. 有穷性:程序的步骤有限 4. 输出:一个或多个输出 5. 能行性:能够运行并有正确结果
算法是对解题过程的精确描述。
• 3.用程序实现算法
用计算机能理解和执行的程序设 计语言把算法表示出来,然后把程 序输入到计算机并执行,计算机才 能按照预定的算法去解决问题。
等差与等比数列
• 等差数列 • 1 3 5 7 9 …….255
An=a1+(n-1)d Sn=n(a1+an)/2 或Sn=na1+n(n+1)d/2
• 等比数列 • 2 4 8 16 32 64….1024
An=A1*q^(n-1); Sn=[A1(1-q^n)]/(1-q)
使用计算机解决一个问题,一般包 括四个过程
1.分析问题 2.设计算法 3.编写程序 4.上机调试与维护
算法的描述
1.用自然语言表达 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题
难以表达准确、不能被计算机识别和执行 2.用图形符号表达(流程图) 优点:直观、形象 缺点:不能被计算机识别和执行
执行A模块,然后再次判断条件P 的值是否 为真,直到条件P的值为假时才向下执行。
程序应具备的的条件
1. 正确的数学模型和确定有效的计算方 法
2. 运行结果必须正确 3. 程序本身具有良好的结构、逻辑清楚、
易读易懂 4. 程序运行时间尽可能短 5. 便于检查、修正、移植和维护
程序设计语言发展过程
1. 机器语言:由一串“0”和“1”构成二 进制代码。
2. 汇编语言:是一种符号化(英文助记符) 的机器语言。
3. 高级语言:如Basic、C/C++、Fortran、 Pascal、Cobol、Java等。
课后练习
• 求100以内能被3整除的数”的算法并试 编写程序。
1. 令I=1 2. 如果I能被3整除,则输出I 3. i=I+1 4. 如果I<=100则返回2步 5. 结束
鸡兔同笼问题:鸡、兔同笼,上有35 头,下有94足,问鸡、兔各有多少?
设计算法:
列方程:x+y=a 2x+4y=b
• 输入a和b的值 • 求x=2a-b/2
• 求 y=b/2-a
• 输出x,y的值
• 结束
开始
输入a和b的值
求x=2a-b/2 求y=b/2-a
输出x,y的值
结束
流程图的基本图形及其功能
相关文档
最新文档