java完数流程图_编程基本功训练:流程图画法及练习

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

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

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

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

1、控制结构与流程图

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

一、什么是程序流程图

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

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

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

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

这部分不再写文字,各种程序设计的教材中都会写一些,至少在讲各种控制结构时,总时要讲的。请参考自己手头能找到的教材,认真品味。

我们直接提示若干任务,画一画,就会了。

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

1、热身

(1)将英尺转换为米

(2)输入两个点的坐标,求两点之间的距离并输出

2、分支程序

(1)描述一下今晚的计划:如果下雪,校园内玩雪;否则,在103上机(怀念)

(2)丢硬币决定今晚:正面,K歌;反面:逛街;立起来,学C++

(3)求函数值:

3c92124aa5ac9650911a21a782ef3747.png

ed3da5d682f5bc6bded1634caa9bfc5e.png

(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行”的框子,也可以指导我们专门编成一个函数。

a83b62dd41b96dd00e1c25ecbbcba7e8.png

任务:

(1)输出10000以内的所有回文素数。将判断回文和判断素数分别单独画,对应将这两个功能用函数实现的方法。

(2)画出银行系统的流程图(各具体业务点到为止,不必全画)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS modal view的关闭和显示问题

今天遇到一个问题: 需要关闭当前modal view,再present另一个modal view。 如果这么写: [self dismissModalViewControllerAnimated:NO];[self.delegate showBorderDetectionView];执行了第一句,再执行第二句的时候,sel…

西工大java高级网络编程_奥鹏西工大16春《JAVA高级网络编程》平时作业

西工大16春《JV高级网络编程》平时作业一、单选题(共 25 道试题,共 100 分。)1. 假设以tomt为w服务器,在hllopp应用中有一个hllo.jsp,它的文件路径如下: %TOMT_HOM%/wpps/hllopp/hllo/hllo.jsp 那么在浏览器端访问hllo.jsp的URL是()。. http:…

c#导出Excel

问题:用户查询一些数据,需要对页面上的数据生成excel文件。 分析:写文件,用excel进程,或者使用response方法(都是通过网上查资料,个人就理解成这两个) 使用excel进程有一个确定&…

使用Java 8流遍历递归数据结构

Streams API是Java 8中的真正瑰宝,我一直在为它们寻找或多或少的意外用途。 我最近写过有关将它们用作ForkJoinPool门面的文章 。 这是另一个有趣的例子:遍历递归数据结构。 事不宜迟,请看一下代码: class Tree {private int va…

mysql把用户权限授予新用户_MySQL新建普通用户和库并授予新用户对新库的所有权限...

新建库新建cmf和amon两个库,并指定默认字符集mysql> create database cmf DEFAULT CHARACTER SET utf8;Query OK, 1 row affected (0.00 sec)mysql> create database amon DEFAULT CHARACTER SET utf8;Query OK, 1 row affected (0.00 sec)新建用户新建cmf和a…

快速入门:OpenShift上的Spring Boot和WildfFly 8.2

与Spring Boot,WildFly和OpenShift相比,这是真正的“快速入门”,与我上一篇更具描述性的文章相反。 先决条件 在开始构建应用程序之前,我们需要安装一个OpenShift免费帐户和客户端工具。 步骤1:建立WildFly应用程式 …

java开发环境搭建 pdf_01搭建java web开发环境.pdf

01搭建java web开发环境.pdf还剩19页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点:( 7)在 M…

linux培训笔记1

第五章 文件和目录的管理 linux命令的基本格式 #命令 [选项] [参数] 1、linux下的常用命令 (1)ls 查看(列出)目录下的内容 -l 查看文件详细信息 drwxr-xr-x. 23 root root 4096 5月 31 15:06 var 文件类型和…

Java 8 Optional不仅用于替换空值

总览 在Java 8中,您可以返回Optional而不是返回null。 就像您在Java 7中所做的那样。这取决于您是否倾向于忘记检查null还是使用静态代码分析检查对nullalbe的引用,这可能有很大的不同。 但是,还有一种更引人注目的情况是将Optional视为具有…

WCF学习笔记之序列化

DataContractAttribute 与 DataMenberAttribute DataContractAttribute该特性只能用于枚举、类和结构体,而不能用于接口;又因为DataContractAttribute是不可以被继承的,所以要所有作为数据契约的类型自身必须有这么一个特性;而且一…

转载[POJ题型分类]

北大ACM题分类 主流算法: 1.搜索 //回溯 2.DP(动态规划)  3.贪心  4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya定理 8.模拟  9.数据结构 //…

在AWS Elastic MapReduce上运行PageRank Hadoop作业

在上一篇文章中,我描述了执行PageRank计算的示例,该示例是使用Apache Hadoop进行Mining Massive Dataset课程的一部分。 在那篇文章中,我接受了Java中现有的Hadoop作业,并做了一些修改(添加了单元测试,并通…

java sort 第二个参数_详解java Collections.sort的两种用法

Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:public static > void sort(List list) {list.sort(null);}public static void sort(List list, Comparator super T> c) {lis…

MVC3 中使用Unity实现依赖注入

前言:前段时间一直在研究依赖注入,不过不是在MVC框架中使用,今天突然想到在MVC中使用Unity实现依赖注入,一时慌了,不知道从何下手,接着就是网上不停的找资料,下面我把我找到的资料分享下&#x…

避免在ConcurrentHashMap.computeIfAbsent()中进行递归

有时我们会提供糟糕的建议。 就像该文章中有关如何将Java 8用于缓存的功能性方法来计算斐波那契数的文章一样 。 正如我们的读者之一马蒂亚斯(Matthias)在评论中注意到的那样 ,提出的算法可能永远不会停止。 考虑以下程序: publi…

java调用wvsc.exe_c语言 函数的调用方法

欢迎加入编程爱好者 QQ群 群号 57616770中都只有一个主函数main(),但实用程序往往由多个函数组成。函数是C源程序的基本模块,通过对函数模块的调在第一章中已经介绍过,C源程序是由函数组成的。虽然在前面各章的程序用实…

ms2005 SQL Server设置改为SQL Server身份验证

1.为 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 启用远程连接 必须为要从远程计算机连接到的每个 SQL Server 2005 实例启用远程连接。为此,请按照下列步骤操作: 1.单击“开始”,依次指向“程序”、“Microsoft…

JPA和Hibernate级联类型的初学者指南

介绍 JPA将实体状态转换转换为数据库DML语句。 由于对实体图进行操作很常见,因此JPA允许我们将实体状态更改从父级传播到子级 。 通过CascadeType映射配置此行为。 JPA与Hibernate级联类型 Hibernate支持所有JPA级联类型和一些其他旧式级联样式。 下表绘制了JPA级…

EE JSP:使用JSTL标记库生成动态内容

除了在JSP中编写自己的定制标记之外,您还将发现Java EE实际上提供了一组Java标准标记库(JSTL)供您使用。 这些内置标签包括重复(for-loop)标签,条件标签,变量声明和输出标签等。库还带有许多实用…

Sublime text 2下alignment插件无效的解决办法

在sublime text 2中安装了alignment插件,但使用快捷键‘ctrlalta无效,经过各种方法依然无效,最后找到了这个“Doesnt work at all for me (full steps)”,方法就是用sb打开%sb 路径%\Data\Packages\Alignment目录下的alignment.py…