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

对于“程序设计”的工作,很多刚開始学习的人的理解就是“写代码”。相同,新手们苦恼的问题是,他们仅仅会“写代码”。当接到一个新的任务,不少人总是在第一时间就爬到键盘上去敲代码。敲着敲着,就把自己绕糊涂了。头晕脑胀地坚持下来,程序能执行,阿弥托佛,赶紧撤。这样做出的程序,并不可靠。
  在程序设计中,最重要的不是敲代码,而是设计。就像建筑、机械等行业的要画设计图、施工图,程序设计的思路也有必要用图的形式画出来。绘图的过程就是思考的过程,因为其直观性,绘图的过程本身又促进了思考。在软件project中,已经发展出了非常多种有用的图,为软件产品设计的质量提供保证。这部分练习帮助程序设计者掌握和实践的“程序流程图”。
  一、什么是程序流程图

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

    

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

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

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

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

  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)画出银行系统的流程图(各详细业务点到为止,不必全画)

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

  

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

时间: 2024-08-27 22:36:27

编程基本功训练:流程图画法及练?的相关文章

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

对于"程序设计"的工作,很多刚開始学习的人的理解就是"写代码".相同,新手们苦恼的问题是,他们仅仅会"写代码".当接到一个新的任务,不少人总是在第一时间就爬到键盘上去敲代码.敲着敲着,就把自己绕糊涂了.头晕脑胀地坚持下来,程序能执行,阿弥托佛,赶紧撤.这样做出的程序,并不可靠. 在程序设计中,最重要的不是敲代码,而是设计.就像建筑.机械等行业的要画设计图.施工图,程序设计的思路也有必要用图的形式画出来.绘图的过程就是思考的过程,因为其直观性,绘图

编程基本功(4)

编程基本功 (4) 数据结构与对象 数据结构 在OO世界里,数据结构往往意味着没有不论什么能力的纯实体.这样的情况是非常少见的(由于意味着纯粹数据结构的集成). 样例: public struct Point { public double X {get; set;} public double Y {get; set;} private double x; private double y; } 1. 我们能够用它来存一个点,这个点能够是不论什么形状的一部分 2. 它不具备不论什么能力,仅仅是

markdown流程图画法小结

markdown流程图画法小结 markdown 画图 流程图 最简单的流程图为例 ```mermaid! graph TD  A --> B //在没有(),[].{}等括号的情况之下,图标默认名字就是字母  A --> C  C --> D  B --> D  ```  给图标添加名字,改变只有矩阵图形,在箭头上添加文字 ```mermaid! graph TD  A[Christmas] --> |get money| B(GO shopping)  B -->

OO编程基本功(3) 注释

OO编程基本功(3)  注释 1. 避免依赖注释来逃避重构 注释在code中可以使得代码更容易理解,可是相当多的情况下,它会使得程序员过于"依赖"注释而容许代码的自我说明程度降低. 需要注释?是否代码名称不够清晰,或者代码的抽象层次混乱,还是代码的动机不够明确导致需要注释来做额外说明?合格的代码本身一般是不需要额外注释的. 例如: //newPasswordMUST at least 6 digits User.Password= newPassword ; 可以重构为: privat

OO 编程基本功--(1)

OO编程的基本功 (1) 本系列将浅谈一些OO编程语言的基本功. 编程的基本功决定了代码质量,编程思路以及编程水平,在工作中是重中之重.本文作为开篇,介绍一下OO编程中的基础与重点--保证抽象的一致性. Code 什么是Code?把需求转为软件环境下可正确执行的软件的过程,称为编程.而实现这个编程的具体化流程,就叫做写code.在OO的编程世界里,写code既像写story,又像写一篇从抽象到具体的文章. 为了说明本文的主旨-保证抽象的一致性,我们就以code与Story和Code与写文章的对比

OO编程基本功(2)--命名

OO编程基本功(2)--命名 1. 使用词组作为函数名称,名词作为类名称,描述性的词作为变量名 如果business使用了domain model,类名称通常为model的名称,就是我们domain model里面直接map过来的名称: Customer Student Account 注意,如果出现了XxManager , XXExecutor , XXProcessor 之类的名称,那么要考虑修改design了,因为很可能已经follow过程式的编程思维. 方法名示例 在business 层

脚本编程基本功

脚本编程基本功 一.脚本基础 1.格式要求:首行shebang机制:#!/bin/bash 2.#注释(日期.联系方式.作者.目的.文件名) 3.检测脚本中的语法错误 bash -n /path/to/some_script 4.调试执行 bash -x /path/to/some_script 二.变量 1.Shell中变量命名法则:不能使程序中的保留字:例如if, f等:只能使用数字.字母及下划线,且不能以数字开头:见名知义 :统一命名规则:驼峰命名法,大驼峰和小驼峰. 2.Shell中命名

三种循环的流程图画法总结

1.  for循环 for循环形式: for(表达式1:表达式2:表达式3) 流程图: 图1 for循环流程图 2.  while循环 while循环形式: while(判断条件) { 执行语句: } 流程图: 图2 while循环流程图 3.  do-while循环 do-while循环形式: do                                        { 执行语句: }while(条件判断) do-while循环流程图: 图3 do-while循环流程图

编程基本功之数组求和

今天CisternData的刘总给我看了几个她看到的关于编程基础的小问题.感觉很有意思!说这几个是小问题,是因为谁都会做.说它们有难度--确实是现在多数的初级程序员遇到这种初级问题,还真的难以做得有多完美.那么接下来几天,就逐一的对这几个问题进行演练. 问题1. 使用for循环.while循环和递归写出3个函数来计算给定数列的总和. 首先是for循环,这是最基本的计算. var arrData = [1,2,3]; var summary = 0; for( i = 0; i < arrData