• 编程基本功训练:流程图画法及练习


    对于“程序设计”的工作,许多初学者的理解就是“写代码”。同样,新手们苦恼的问题是,他们只会“写代码”。

    当接到一个新的任务,不少人总是在第一时间就爬到键盘上去敲代码。敲着敲着,就把自己绕糊涂了。

    头晕脑胀地坚持下来,程序能运行,阿弥托佛,赶紧撤。这样做出的程序,并不可靠。

    在程序设计中,最重要的不是写程序,而是设计。就像建筑、机械等行业的要画设计图、施工图,程序设计的思路也有必要用图的形式画出来。画图的过程就是思考的过程,由于其直观性,画图的过程本身又促进了思考。在软件工程中,已经发展出了很多种实用的图,为软件产品设计的质量提供保证。这部分练习帮助程序设计者掌握和实践的“程序流程图”。

    1、控制结构与流程图

    2、循环控制结构与流程图

      一、什么是程序流程图

      “程序流程图”常简称为“流程图”,是一种传统的算法表示法,程序流程图是人们对解决问题的方法、思路或算法的一种描述。它利用图形化的符号框来代表各种不同性质的操作,并用流程线来连接这些操作。在程序的设计(在编码之前)阶段,通过画流程图,可以帮助我们理清程序思路。下图是一个简单的流程图,描述求两个数的最大公约数的算法(辗转相除法)。

        勘误:最后的结果,该是output a。感谢8楼童鞋指出!

      画流程图是每个程序员的基本功。流程图有其规范,这是用于技术人员之间交流的需要,并不是想怎么画就怎么画。流程图中常用的符号见右图,在前述求最大公约数的流程图中找出对应的部分。

      

      二、三种控制结构的流程图表示

      这部分不再写文字,各种程序设计的教材中都会写一些,至少在讲各种控制结构时,总时要讲的。请参考自己手头能找到的教材,认真品味。
      我们直接提示若干任务,画一画,就会了。

      三、练习题目(各部分分别至少选两个画一画,注意用一张质量好一些纸,书写整齐,确保越画越高兴)

      1、热身
      (1)将英尺转换为米
      (2)输入两个点的坐标,求两点之间的距离并输出
      2、分支程序
      (1)描述一下今晚的计划:如果下雪,校园内玩雪;否则,在103上机(怀念)
      (2)丢硬币决定今晚:正面,K歌;反面:逛街;立起来,学C++

      (3)求函数值:

      

      

      (4)输入一元二次方程ax^2+bx+c=0的各项系数,并根据各系数的值的情况,分别进行求解(考虑对系数的各种可能太复杂时,给自己降低些难度,先从不考虑系统直接求解开始)
      (5)输入个人月收入总额,计算出他本月应缴税款和税后收入(税率等参考第9周任务) 
      3、循环结构
      (1)求1+2+3+...+100(三种循环结构都画一画)
      (2)输出1/3-3/5+5/7-7/9…+19/21的结果 
      (3)一个数如果恰好等于它的因子之和,这个数就称为“完数”。找出1000内的所有完数。
      (4)输出1000以内的所有回文数
      (5)鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,如何买? 
      4、复杂结构的程序

      在解决问题中,利用函数可以让我们利用更“有序”的思维去想问题,“自顶向下,逐步求精”,真理。例:下面的流程图用于输出星号图,体现的是这种思维,右边的图可以嵌入到左边中,替代“输出第i行”的框子,也可以指导我们专门编成一个函数。

      

      任务:
      (1)输出10000以内的所有回文素数。将判断回文和判断素数分别单独画,对应将这两个功能用函数实现的方法。
      (2)画出银行系统的流程图(各具体业务点到为止,不必全画)

      注:在传统教学中,未学写代码,先学画流程。以前的实践中,感觉效果不好。控制结构为何物都晕,如何能画出来。有一定编程体验后再画,是改革的思路。这是编程的一项基本功,务必掌握!

  • 相关阅读:
    UIImageView添加圆角
    iOS开发之NSRunLoop的进一步理解
    OC与Swift混编
    源码:自己用Python写的iOS项目自动打包脚本
    iOS 自定义Tabbar实现push动画隐藏效果
    IOS开发基础篇--CAShapeLayer的strokeStart和strokeEnd属性
    Swift 之 函数与闭包的应用实例
    Facebook iOS App如何优化启动时间
    iOS 中的 Deferred Deep Linking(延迟深度链接)
    Cocos2d-x使用UserDefault数据持久化实例:保存背景音乐和音效设置
  • 原文地址:https://www.cnblogs.com/yeyublog/p/5859327.html
Copyright © 2020-2023  润新知