探讨程序与程序框图的互化问题

来源 :高中生学习·高二版 | 被引量 : 0次 | 上传用户:Ada111222333
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  “算法初步”这一章是高中新课改数学新增的内容,其思想非常重要, 但算法并不神秘,例如运用消元法解二元一次方程组的过程就是一种算法. 为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还要将程序框图翻译成计算机语言,也就是程序. 在学习过程中,能熟练地进行两者间的互化,是掌握算法的基础.
  一、根据程序框图设计程序
  根据程序框图设计程序的一般步骤:(1)理解题意,确定程序框图的结构(顺序结构、条件结构、循环结构);(2)明确各程序框的含义,并且写出对应的程序代码;(3)在有条件的情况下,进行上机运行.
  例1 请写出下面的程序框图描述的程序.
  [x<1?] [开始 ] [否][是][结束] [输出y] [输入x] [x<10?] [是] [否]
  分析 通过观察,此程序框图为条件结构,而条件结构的程序为:
  [IF 条件 THEN
  语句体1
  ELSE
  语句体2
  END IF]
  解 所求算法的程序为: [INPUT x
  IF x<1 THEN
  y = x^2
  ELSE
  IF x<10 THEN
  y = 2*x+1
  ELSE
  y = 3*x-11
  END IF
  END IF
  PRINT y
  END]
  点拨 (1)在本程序中,IF-THEN语句中嵌入了另一个IF-THEN语句,在每个语句结束时都要写END IF; (2)程序中的符号都要用专用符号,例如:乘号、幂等.
  例2 请写出下面的程序框图描述的程序.
  [开始 ] [否][结束] [输出S] [k>50?][是]
  分析 通过观察,此程序框图是循环结构,程序设计语言中有直到型和当型两种循环结构. 直到型循环结构对应的UNTIL语句是:
  [DO
  循环体
  LOOP UNTIL 条件]
  当型循环结构对应的WHILE语句是:
  [WHILE 条件
  循环体
  WEND]
  通过进一步分析我们发现,此循环结构用当型和直到型循环结构的语句都符合程序框图.
  解法一 UNTIL语句编写计算机程序:
  [k=1
  S=0
  DO
  S=S+1/k
  k=k+1
  LOOP UNTIL k>50
  PRINT S
  END]
  解法二 WHILE语句编写计算机程序:
  [k=1
  S=0
  WHILE k<=50
  S=S+1/k
  k=k+1
  WEND
  PRINT S
  END]
  二、根据程序画出程序框图
  根据程序画程序框图的一般步骤:(1)理解题意,确定程序的结构语句(条件语句、循环语句);(2)明确各函数的含义,一步一步转化为程序框图;(3)最后合成整个程序的程序框图. 在画程序框图的过程中,要注意所有的细节,例如各种语句所对应的框的特征,不要忘记起止框等.
  例3 请根据给出的算法程序画出程序框图.
  [INPUT “x=”; x
  b = x MOD 2
  IF b = 0 THEN
  PRINT “it is even”
  ELSE
  PRINT “it is odd”
  END IF
  END]
  分析 先读懂题意,先找出关键语句(条件语句,循环语句),此题为条件结构,然后发现程序中“MOD”语句,意味着需要取余数. 这里[b]等于[x]除以2的余数,即判断[x]是否为偶数,最后写出程序框图.
  解 此程序的程序框图为:
  [开始 ] [否][结束] [输出“x是偶数”] [b=0?][是] [b等于x除以2的余数] [输入x][输出“x是奇数”]
  例4 请根据给出的算法程序画出程序框图.
  [INPUT “x=”;x
  k = 0
  DO
  x = 10*x+9
  k = k+1
  LOOP UNTIL x>2014
  PRINT k
  END]
  分析 由题意,很容易发现此程序为直到型循环结构,再加上一些基本的赋值语句.
  解 此程序的程序框图为:
  [开始 ] [否][结束] [输出k] [x>2014?][是] [输入x]
  通过以上例题分析,我们可以发现,只要掌握了程序框图的几种结构(顺序结构、条件结构、循环结构)和各种框的功能,知道程序框图的一般画法,掌握了程序的算法语句(输入、输出语句,条件语句、循环语句),并且能把程序框图的结构与程序的语句一一对应,那么我们就可以非常轻松、方便地解决程序与程序框图的互化问题.
  程序与程序框图是描述算法的两种重要语言,它们各有优势. 程序框图具有直观、形象的特点,我们可以迅速地理解某一算法,但计算机无法理解它,程序虽复杂,但计算机可以执行,方便计算. 所以我们在学习算法这一章时,应该熟练掌握,灵活运用.
  [练习]
  1. 根据程序框图写出程序.
  [开始 ] [否][结束] [输出S] [是] [输入a,b]
  2. 根据程序框图写出程序.
  [开始 ] [否][结束] [输出y] [是] [输入x]
  3. 请根据下面的程序,画出程序框图. [INPUT “n=”;n
  i = 1
  S = 0
  WHILE i<=n
  S = S +(i+1)/i
  i=i+1
  WEND
  PRINT “S=”;S
  END]
  [参考答案]
  1.
  [INPUT [a,b]
  IF [a+b<1] THEN
  [S=2*a+b]
  ELSE
  [S=1]
  END IF
  PRINT [S]
  END]
  2.
  [INPUT “x=”;x
  DO
  y = x/3+2
  x = y
  LOOP UNTIL ABS(y-x)<1
  PRINT y
  END]
  3.
  [开始 ] [否][结束] [输出s] [是] [输入n] [[i≤n?]]
其他文献
美术教育的能力与综合素质的培养是相当重要的,他关系着时代的发展也社会的进步;让学生发现美,欣赏美,提高他们的审美意识 The ability of art education and the cultivati
中国石化中原油田关工委开展家庭教育工作12年来,以提升家长家教素养为主线,以促进孩子健康成长为目标,以规范化办学为抓手,在油田社区、中小学、幼儿园建立99所家长学校,统
亲爱的××同学:近好!来信收悉。你能很快适应以自学为主的大学生活,并在学业上迅速进步,老师深感欣慰。至于你信中谈到“当代风采人物评选,三名候选人谁最具风采”一事,现在
三月初,春寒还有些料峭。冬天像是过惯了万物肃杀的日子,赖着不想离开北方,树木依旧是光秃秃的,枯干的草也没有要绿的意思,立春的日历已经撕了很久了,可春天的脚步却慢得让人
湖州师院附属初级中学十二中是湖州市第一所正规学校,创建于1901年,源自美国基督教会所设华英学堂和湖郡女塾,发展渊源可谓中西合璧。见证了中国近现代教育的发展变革历程,是
穆勒曾说过:“现在的一切美好事物,无一不是创新的结果。”创新并不是无休止地想象,它需要的是开拓的胆识和勇气,并且面对挫折的不畏不惧。创新是超前的一步,创新,永无止境!
一路走来,从懵懵懂懂到峥嵘岁月,我一直在改变。看着阳光从笔尖流逝,岁月从眼前穿梭,背后的剪影随之被拉长,竟无言地发现,阳光是如此耀眼,病态的皮肤受不住艳阳的照射,无声地
民间语文资料:杂类076号学徒合同兹有甲方(企业全称)公私合营照相总店××门市部乙方×××现年22岁,系××省××县人,曾在高小毕业,现住×××路×号。经双方协商一致同意,
当孩子做不被允许的事情时,你是否用大灰狼吓唬过孩子;当孩子不好好吃饭时,你是否用警察或医生吓唬过孩子;当孩子在公众场合大哭大闹时,你是否用妖怪吓唬过孩子?而当你利用这
无锡市生产力促进中心作为区域科技中介的龙头,充分发挥联系科技与经济、技术与资本、政府与企业的桥梁纽带作用,有效推进了广大企业的技术创新和生产力提升,成为名列全省前