编程基本功训练:流程图和UML图的画法及练习
1. 流程图
对于“程序设计”的工作,很多刚開始学习的人的理解就是“写代码”。相同,新手们苦恼的问题是,他们仅仅会“写代码”。当接到一个新的任务,不少人总是在第一时间就爬到键盘上去敲代码。敲着敲着,就把自己绕糊涂了。头晕脑胀地坚持下来,程序能执行,阿弥托佛,赶紧撤。这样做出的程序,并不可靠。
在程序设计中,最重要的不是敲代码,而是设计。就像建筑、机械等行业的要画设计图、施工图,程序设计的思路也有必要用图的形式画出来。绘图的过程就是思考的过程,因为其直观性,绘图的过程本身又促进了思考。在软件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)画出银行系统的流程图(各详细业务点到为止,不必全画)
注:在传统教学中,未学写代码,先学画流程。曾经的实践中,感觉效果不好。控制结构为何物都晕,怎样能画出来。有一定编程体验后再画,是改革的思路。这是编程的一项基本功,务必掌握!
2. UML图
编程基本功训练:流程图和UML图的画法及练习相关推荐
- 这7种UML图的画法每个程序员都应该掌握~
大家好,我是飘渺.今天我们来探讨几种常见UML图的画法. 众所周知,软件开发是一个分阶段进行的过程.不同的开发阶段需要使用不同的模型图来描述业务场景和设计思路,在不同的阶段输出不同的设计文档也是必不可 ...
- 编程基本功训练:流程图画法及练习
对于"程序设计"的工作,许多初学者的理解就是"写代码".同样,新手们苦恼的问题是,他们只会"写代码".当接到一个新的任务,不少人总是在第一时 ...
- java完数流程图_编程基本功训练:流程图画法及练习
对于"程序设计"的工作,许多初学者的理解就是"写代码".同样,新手们苦恼的问题是,他们只会"写代码". 当接到一个新的任务,不少人总是在第一 ...
- vhdl程序流程图的画法_编程基本功训练:流程图画法及练习
对于"程序设计"的工作,很多刚開始学习的人的理解就是"写代码".相同,新手们苦恼的问题是,他们仅仅会"写代码".当接到一个新的任务,不少人总 ...
- 还在到处寻找画图软件?快来用Typora画饼图、时序图、流程图、UML图和状态图吧
Markdown是我最喜欢的写作格式,现在我的博客.笔记等都是用markdown格式写的,基础的文字编辑相关的语法用的已经很顺手了,本文就来记录一下用Markdown编辑器画图的方法. 我现在使用一款 ...
- 五种UML图的画法详细介绍【软件工程】
文章目录 I.介绍 II.五种图的画法汇总 I.介绍 统一建模语言(UML)是软件工程领域的一种通用的.开发的建模语言,旨在提供一种标准的方法来可视化系统的设计. UML的创建最初是出于将不同的符号系 ...
- 推荐画UML图以及流程图的在线网站Site
记得当年学UML课程的时候,当你还在为了安装Rose而发愁的时候,人家都把作业给交了,并且现在大多数UML课程都会让学生使用Rational Rose做画图练习.近来,做毕业设计需要提供各种流程图.U ...
- 常用的画图工具(UML图、业务流程图、时序图)
画图工具 http://draw.io http://draw.io是一个免费的画图工具,为用户提供最强大.易用的作图功能,既支持在线画图,也支持离线画图! 支持创作系统架构图.流程图.UML图.时序 ...
- 好工具推荐系列:UML绘图软件drawio(类似visio画流程图/框图/类图软件)
draw.io 是一个强大简洁的在线的绘图网站,支持流程图,UML图,架构图,原型图等图标.支持Github,Google Drive, One drive等网盘同步,并且永久免费.如果觉得使用Web ...
最新文章
- Tcpdump配合Tcpreplay回放实现网络探测
- 右边补0 润乾报表_关于润乾报表的补充说明 -
- java 怎么页面授权访问_Java调用Linkedin接口API之:获取授权
- termux apache php,要啥自行车之Termux:将我们的(Android)安卓手机打造成全能的服务器...
- 计算机视觉论文-2021-07-06
- VB 和Flex交互总结
- 开源大数据生态下的 Flink 应用实践
- 用Excel 公式求 金额的差额
- 计算机模块word2003和2007,Office2003 2007
- SPSS的双变量相关分析
- 2021考研英语备考规划
- Oracle 数据库实例
- 蛋白质降解技术中常用的蛋白酶(一)
- 闭环系统的零极点图判定稳定性_零极点与系统稳定关系 拉氏变换的收敛域...
- 当我们给别人提意见时,要注意些什么?
- 88E1111使用记录
- 让行动持续下去的动力-《刻意练习》读后感
- 计算机把C盘无法扩展,如何解决可分配空间却无法扩展C盘的问题?
- 反向传播与它的直观理解
- Go语言GoFrame开发框架