Jackson图概念+优点缺点+改进的Jackson图+实例
那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq
以下多图预警!
Jackson方法是一种面向数据结构的设计方法。
一、Jackson图
1.顺序结构
顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。如图。
![](/assets/blank.gif)
2.选择结构
选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个。如图表示3个中选1个结构。
![](/assets/blank.gif)
3.重复结构
重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成。如图。
![](/assets/blank.gif)
二、Jackson图的优点和缺点
1.优点
(1)便于表示层次结构,而且是对结构进行自顶向下分解的有力工具。
(2)形象直观可读性好。
(3)既能表示数据结构也能表示程序结构(因为结构程序设计也只使用上述3种基本控制结构)。
2.缺点
(1)用这种图形工具表示选择或重复结构时,选择条件或循环结束条件不能直接在图上表示出来,影响了图的表达能力,也不易直接把图翻译成程序。
(2)框间连线为斜线,不易在行式打印机上输出。
三、改进的Jackson图
为了解决Jackson图的缺点,提出了改进的Jackson图。
1.顺序结构
B、C、D中任一个都不能是选择出现或重复出现的数据元素(即不能是右上角有小圆圈或星号标记的元素)。
![](/assets/blank.gif)
2.选择结构
S右面括号中的数字i是分支条件的编号。
![](/assets/blank.gif)
3.可选结构
A要么是元素B要么不出现(可选结构是选择结构的一种常见的特殊形式)。
![](/assets/blank.gif)
4.重复结构
循环结束条件的编号为i。
![](/assets/blank.gif)
四、实例
一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。
1.输入数据结构的Jackson图
逻辑为:查找正文文件,如果文件没有结束,就查找每个记录(字符串*),判断这个字符是空格还是非空格,选是空格的(S(1)),如果这个记录没有查找完(字符*),就继续判断下去。当这个记录结束后,继续看下一个记录(字符串*)。
因此顺序为:正文文件->字符串*->字符*->判断º->字符完了->字符串*->...->字符串完了->文件结束
![](/assets/blank.gif)
2.输出数据结构的Jackson图
逻辑为:输出表格,先输出表格体,如果表格体没有输出完,则输出串信息(串信息*),先输出字符串,再输出空格数;再看表格体有没有输完(串信息*),没有就继续输出串信息。最后表格体都输出完之后,输出空格总数。
顺序为:输出表格->表格体->串信息->字符串->空格数->串信息->....->表格体输完了->空格总数
![](/assets/blank.gif)
3.描绘统计空格程序结构的Jackson图
逻辑为:开始统计空格,看程序体里文件是否结束(I(1)),如果没有则处理字符串,先打印出这个字符串,然后分析字符串,看字符串有没有结束(分析字符*),没有的话则处理空格和非空格(题目要求找出空格);等字符串结束后(分析字符*),打印出空格数。再看文件里是否还有字符串(处理字符串*),当文件结束后,打印总数。
顺序为:统计空格->程序体->处理字符串->印字符串->分析字符串->分析字符->处理空格和非空格->分析字符->..->字符串结束->印空格数->处理字符串->印字符串...->文件结束->程序体结束->印总数
![](/assets/blank.gif)
Jackson图概念+优点缺点+改进的Jackson图+实例相关推荐
- 【软件工程】Jackson图概念+优点缺点+改进的Jackson图+实例
那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq 以下多图预警! Jackson方法是一种面向数据结构的设计方法. 一.Jackson图 ...
- 什么是精灵图,精灵图的优点
1 什么是精灵图 CSS Sprites,翻译为精灵图或者雪碧图. 所谓精灵图就是把好多小的图片合并一张大图, 以该大图为背景图片的元素尺寸比较小,可以通过控制背景图片的位置,让元素上显示合适的图像. ...
- 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。
(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...
- Python——特点(优点缺点)
Python--特点(优点&缺点) Python 是一种面向对象的.解释型的.通用的.开源的脚本编程语言,它之所以非常流行,我认为主要有三点原因: Python 简单易用,学习成本低,看起来非 ...
- 推荐系统中常用算法 以及优点缺点对比
推荐系统中常用算法 以及优点缺点对比 2014/09/20 [Martin导读]随着互联网特别是社会化网络的快速发展,我们正处于信息过载的时代.用户面对过量的信息很难找到自己真正感兴趣的内容,而内容提 ...
- 横瓜执导众程序员开展大讨论关于C、JAVA及其它主流IT技术使用情况和优点缺点。...
横瓜执导众程序员开展大讨论关于C.JAVA及其它主流IT技术使用情况和优点缺点. 遥执乾坤(44758121) 18:21:23 mysql据说只能使用一个索引,我这里几乎所有字段都有索引. 但每个 ...
- 什么是自适应模板?自适应模板有什么优点缺点
1.背景介绍 自适应模板,顾名思议,网站本身是现成做好的自适应网站.用户获得自适应模板后,只需把原本网站的素材改成自己的东西,网站就能实现电脑.手机的自适应,不同终端获得同样的呈现效果. 现在人们通过 ...
- 数据库索引的作用和优点缺点
原文:数据库索引的作用和优点缺点 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二,可以大大加快 数据的检索速 ...
- yolov3算法优点缺点_优点缺点
yolov3算法优点缺点 Naive Bayes: A classification algorithm under a supervised learning group based on Prob ...
最新文章
- catia 创成钣金设计_弯曲的钣金设计技巧
- TLS就是SSL的升级版+网络安全——一图看懂HTTPS建立过程——本质上就是引入第三方监管,web服务器需要先生成公钥和私钥,去CA申请,https通信时候浏览器会去CA校验CA证书的有效性...
- springcloud 文件服务器,SpringCloud传文件
- Gulp和webpack的区别
- Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本
- CoreJava 笔记总结-第四章 对象与类
- HGE引擎适用于MFC的修改
- Java实现Redis的订阅发布功能,亲测可以
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载][续]...
- docker: Error response from daemon: Unknown runtime specified nvidia.
- ERP选型需把握主动权!
- 直播系统源码,直播平台系统源码
- Android 如何开启与关闭adb 的认证机制(google adb secure) (adb RSA 指纹认证)
- .bat 是什么? (批处理脚本)
- 实时音视频数据传输协议介绍
- 云上部署oracle rac,在青云上部署oracle rac全过程
- 基于CentOS7系统环境下的Snort3安装指南
- 免费开源的建站程序大全,不会编程也可以自助搭建网站了哦
- 常用mysql连接数据库工具_MYSQL中常用的工具
- 这样的老板,真想把他拖进WC爆zou一顿.....