精华内容
下载资源
问答
  • Jackson图
    千次阅读
    2020-05-02 15:11:49

     Jackson图

    虽然程序中实际使用的数据结构种类繁多,但是他们的数据元素彼此之间的逻辑关系却只有顺序、选择和重复3类,因此,逻辑数据结构也只有这3类。

    1.顺序结构

    顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。图2-1是表示顺序结构的Jackson图的一个例子。

    2.选择结构

    选择结构的数据包含两个或多个数据元素,每次使用这个数据时,按一定条件从这些数据元素中选择一个。图2-2是表示三个中选一个结构的Jackson图。

    3.重复结构

    重复结构的数据,根据使用时的条件由一个数据元素出现0次或多次构成。图2-3是表示重复结构的Jackson图。

    改进的Jackson图

    传统的杰克森图的缺点是用这种图形工具表示选择或重复结构时选择条件或循环结束条件不能直接在图上表示出来,影响了图的表达能力也不容易直接把图翻译成程序,此外空间连线为直线,不宜在行式打印机上输出,为了解决上述问题,建议使用改进的杰克森图。

    (a)顺序结构,BCD中,任何一个都不能是选择出现或重复出现的数据元素

    (b)选择结构,S面括号中的数字 i 是分支条件的编号。

    (c)可选结构,A或者是元素B或者不出现。

    (d)重复结构,循环结束条件的编号为 i。

    Jackson方法

    杰克森结构程序设计方法基本由下述5个步骤组成。

    • 分析并确定输入和输出数据的逻辑结构,并用杰克森图描绘这些数据结构。
    • 找出输入数据结构和输出数据结构中有对应关系的数据单元。所谓有对应关系是指有直接的因果关系在程序中可以同时处理的数据单元。
    • 用下述三条规则从描绘数据结构的杰克森图中导出描绘程序结构的杰克森图。
      • 第一,为每对有对应关系的数据单元,按照他们在数据结构中的层次,在程序结构图中相应层次画一个处理框。
      • 第二,根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为他们画上对应的处理框。
      • 第三,根据输出数据结构中剩余的每个数据单元所处的层次,在结构程序图中相应层次分别为它们画上对应的处理框。
    • 列出所有操作和条件,包括分支条件和循环结束条件。并把它们分配到程序结构图的适当位置。
    • 用伪码表示程序。

    三种结构对应的伪码

    顺序结构

    //顺序结构对应的伪码,其中seq和end是关键字。
    A seq
      B
      C
      D
    A end

    选择结构

    //选择结构对应的伪码,其中select or 和end是关键字,cond1,2,3分别是执行BCD的条件
    A select cond1
      B
    A or cond2
      C
    A or cond3
      D
    A end

     循环结构

    //循环结构对应的伪码,其中iter,until,while和end是关键字,cond是条件
    A iter until(或while) cond
      B
    A end

     

     

     

     

     

     

     

    更多相关内容
  • 那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq 以下多图预警!        Jackson方法是一种面向数据结构的设计方法。 一、Jackson图 ...

    那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq
    以下多图预警!


           Jackson方法是一种面向数据结构的设计方法。

    一、Jackson图

    1.顺序结构

            顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。如图。

    2.选择结构

           选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个。如图表示3个中选1个结构。

    3.重复结构

           重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成。如图。

    二、Jackson图的优点和缺点

    1.优点

    (1)便于表示层次结构,而且是对结构进行自顶向下分解的有力工具。

    (2)形象直观可读性好。

    (3)既能表示数据结构也能表示程序结构(因为结构程序设计也只使用上述3种基本控制结构)。

    2.缺点

    (1)用这种图形工具表示选择或重复结构时,选择条件或循环结束条件不能直接在图上表示出来,影响了图的表达能力,也不易直接把图翻译成程序。

    (2)框间连线为斜线,不易在行式打印机上输出。

    三、改进的Jackson图

          为了解决Jackson图的缺点,提出了改进的Jackson图。

    1.顺序结构

           B、C、D中任一个都不能是选择出现或重复出现的数据元素(即不能是右上角有小圆圈或星号标记的元素)。

    2.选择结构

           S右面括号中的数字i是分支条件的编号。

    3.可选结构

          A要么是元素B要么不出现(可选结构是选择结构的一种常见的特殊形式)。

    4.重复结构

         循环结束条件的编号为i。

     

    四、实例

            一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。

    1.输入数据结构的Jackson图

               逻辑为:查找正文文件,如果文件没有结束,就查找每个记录(字符串*),判断这个字符是空格还是非空格,选是空格的(S(1)),如果这个记录没有查找完(字符*),就继续判断下去。当这个记录结束后,继续看下一个记录(字符串*)。

              因此顺序为:正文文件->字符串*->字符*->判断º->字符完了->字符串*->...->字符串完了->文件结束

    2.输出数据结构的Jackson图

             逻辑为:输出表格,先输出表格体,如果表格体没有输出完,则输出串信息(串信息*),先输出字符串,再输出空格数;再看表格体有没有输完(串信息*),没有就继续输出串信息。最后表格体都输出完之后,输出空格总数。

             顺序为:输出表格->表格体->串信息->字符串->空格数->串信息->....->表格体输完了->空格总数

    3.描绘统计空格程序结构的Jackson图

            逻辑为:开始统计空格,看程序体里文件是否结束(I(1)),如果没有则处理字符串,先打印出这个字符串,然后分析字符串,看字符串有没有结束(分析字符*),没有的话则处理空格和非空格(题目要求找出空格);等字符串结束后(分析字符*),打印出空格数。再看文件里是否还有字符串(处理字符串*),当文件结束后,打印总数。

            顺序为:统计空格->程序体->处理字符串->印字符串->分析字符串->分析字符->处理空格和非空格->分析字符->..->字符串结束->印空格数->处理字符串->印字符串...->文件结束->程序体结束->印总数

    展开全文
  • Jackson图概念+Jackson图优点缺点+改进的Jackson图+实例

           那天写实验报告的查资料的时候发现网上居然没有完整的Jackson图相关知识orz那我就自己动手丰衣足食好了quq

           以下多图预警!


           Jackson方法是一种面向数据结构的设计方法。

    一、Jackson图

    1.顺序结构

            顺序结构的数据由一个或多个数据元素组成,每个元素按确定次序出现一次。如图。

    2.选择结构

           选择结构的数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个。如图表示3个中选1个结构。

    3.重复结构

           重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成。如图。

    二、Jackson图的优点和缺点

    1.优点

    (1)便于表示层次结构,而且是对结构进行自顶向下分解的有力工具。

    (2)形象直观可读性好。

    (3)既能表示数据结构也能表示程序结构(因为结构程序设计也只使用上述3种基本控制结构)。

    2.缺点

    (1)用这种图形工具表示选择或重复结构时,选择条件或循环结束条件不能直接在图上表示出来,影响了图的表达能力,也不易直接把图翻译成程序。

    (2)框间连线为斜线,不易在行式打印机上输出。

    三、改进的Jackson图

          为了解决Jackson图的缺点,提出了改进的Jackson图。

    1.顺序结构

           B、C、D中任一个都不能是选择出现或重复出现的数据元素(即不能是右上角有小圆圈或星号标记的元素)。

    2.选择结构

           S右面括号中的数字i是分支条件的编号。

    3.可选结构

          A要么是元素B要么不出现(可选结构是选择结构的一种常见的特殊形式)。

    4.重复结构

         循环结束条件的编号为i。

     

    四、实例

            一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总个数。

    1.输入数据结构的Jackson图

               逻辑为:查找正文文件,如果文件没有结束,就查找每个记录(字符串*),判断这个字符是空格还是非空格,选是空格的(S(1)),如果这个记录没有查找完(字符*),就继续判断下去。当这个记录结束后,继续看下一个记录(字符串*)。

              因此顺序为:正文文件->字符串*->字符*->判断º->字符完了->字符串*->...->字符串完了->文件结束

    2.输出数据结构的Jackson图

             逻辑为:输出表格,先输出表格体,如果表格体没有输出完,则输出串信息(串信息*),先输出字符串,再输出空格数;再看表格体有没有输完(串信息*),没有就继续输出串信息。最后表格体都输出完之后,输出空格总数。

             顺序为:输出表格->表格体->串信息->字符串->空格数->串信息->....->表格体输完了->空格总数

    3.描绘统计空格程序结构的Jackson图

            逻辑为:开始统计空格,看程序体里文件是否结束(I(1)),如果没有则处理字符串,先打印出这个字符串,然后分析字符串,看字符串有没有结束(分析字符*),没有的话则处理空格和非空格(题目要求找出空格);等字符串结束后(分析字符*),打印出空格数。再看文件里是否还有字符串(处理字符串*),当文件结束后,打印总数。

            顺序为:统计空格->程序体->处理字符串->印字符串->分析字符串->分析字符->处理空格和非空格->分析字符->..->字符串结束->印空格数->处理字符串->印字符串...->文件结束->程序体结束->印总数

     

     

    展开全文
  • 【软件工程】Jackson图

    千次阅读 2020-12-20 16:33:00
    Jackson方法是由英国人M.A.Jackson首先提出的,也称为“JSD(Jackson Structured Design)方法”

    图形

    图形结构说明
    在这里插入图片描述顺序结构A由B、C、D 3个元素顺序组成,出现的次序依次是B、C和D
    在这里插入图片描述选择结构根据条件A是B或C或D中的某一个
    在这里插入图片描述重复结构A由B出现N次(N≥0)组成

    Jackson结构程序设计方法

    • 确定输入数据和输出数据的逻辑结构,并用Jackson图描绘这些数据结构
    • 找出输入数据结构和输出数据结构中有对应关系的数据单元
    • 从描绘数据结构的Jackson图导出描绘程序结构的Jackson图
      • 为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框
      • 根据输入数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框
      • 根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框
    • 列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置
    • 用伪码表示程序。Jackson方法中使用的伪码和Jackson图是完全对应的

    顺序结构

    处理名 seq
    	处理1
    	处理2
    处理名 end
    

    选择结构

    处理名 select 条件1
    	处理1
    处理名 or 条件2
    	处理2
    处理名 or 条件3
    	处理3
    处理名 end
    

    重复结构

    处理名 iter until 循环条件
    	处理
    处理名 end
    

    例子

    一个正文文件由若干个记录组成,每个记录是一个字符串
    要求统计每个记录中空格字符的个数,以及文件中空格字符的总个数
    输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数;最后印出文件中空格的总个数。


    输入数据是正文文件,输出数据是输出表格
    有对应关系的数据单元是正文文件和输出表格、字符串和串信息
    在这里插入图片描述



    将【正文文件】变成【输出表格】的处理是【统计空格】
    生成【表格体】的处理是【程序体】,生成【空格总数】的处理是【印总数】
    将【字符串】变成【串信息】的处理是【处理字符串】
    对【生成字符串】的处理是【印字符串】,对【字符】的处理是【分析字符】,生成【空格数】的处理是【印空格数】
    由于Jackson图规定顺序执行的处理中不允许混有重复执行或选择执行的处理,所以在【分析字符】上面又增加了一个【分析字符串】
    对【空格】的处理是【处理空格】,对【非空格】的处理是【处理非空格】

    在这里插入图片描述



    需要的全部操作和条件如下:
    (1) 停止
    (2) 打开文件
    (3) 关闭文件
    (4) 印出字符串
    (5) 印出空格数目
    (6) 印出空格总数
    (7) sum∶=sum+1
    (8) totalsum∶=totalsum+sum
    (9) 读入字符串
    (10) sum∶=0
    (11) totalsum∶=0
    (12) pointer∶=1
    (13) pointer∶=pointer+1
    I(1) 文件结束
    I(2) 字符串结束
    S(3) 字符是空格
    在这里插入图片描述



    伪码

    统计空格seq
    	打开文件
    	读入字符串
    	totalsum∶=0
    	程序体iter until文件结束
    	 	处理字符串seq
    	  		印字符串seq
    	  			印出字符串
    	  		印字符串end
    	  		sum∶=0
    	  		pointer∶=1
    			分析字符串iter until字符串结束
    	 			分析字符select字符是空格
    	   				处理空格Seq
    						sum∶=sum+1
    						pointer∶=pointer+1
    	  				处理空格end
    				分析字符or字符不是空格
    	    			处理非空格seq
    	    			pointer∶=pointer+1
    	   				处理非空格end
    	  			分析字符end
    			分析字符串end
    			印空格数seq
    		     	印出空格数目
    			印空格数end
    			totalsum∶=totalsum+sum
    	    	读入字符串
    	  	处理字符串end
    	程序体end
    	印总数seq
        	印出空格总数
    	印总数end
    	关闭文件
    	停止
    统计空格end
    
    展开全文
  • 如果对Jackson图概念有什么疑问,可以看一下我另外一篇博客(*/ω\*) 以下为把Jackson图转换为流程图例题+画状态描述图
  • 运用Jackson图进行程序设计的优点有哪些? 1.可以清晰地表示层次结构,易于对自顶向下的结构进行描述 2.结构易懂、易用,并且比较直观、形象 3.不仅可以表示数据结构,也可以表示程序结构
  • 火车头jackson图

    2018-04-26 10:38:00
    火车头jackson图 转载于:https://www.cnblogs.com/11qq-/p/8950050.html
  • 火车图 、jackson图

    2018-04-13 11:11:00
    转载于:https://www.cnblogs.com/chtlll/p/8819069.html
  • 流程图 火车程序Jackson图 转载于:https://www.cnblogs.com/gwy1107/p/8743768.html
  • 流程图和Jackson图

    千次阅读 2018-04-08 14:02:00
    一、由Jackson转化成的流程图 二、Jackson图 转载于:https://www.cnblogs.com/xcq123/p/8744623.html
  • 描述火车程序结构的Jackson图

    千次阅读 2018-04-26 10:25:00
    转载于:https://www.cnblogs.com/yu121388/p/8949943.html
  • 莫奈莫奈是Volley和Jackson图书馆的包装。 除了Volley通过HTTP标头“ Cache-Control”和“ Expires”提供的L2磁盘缓存外,它还通过使用LRU Cache提供了L1内存缓存。 您可以通过运行示例应用程序来查看运行中的库。...
  • Jackson Project Home @github This is the home page of the Jackson Project. What is New? Sep 30, 2021: Jackson 2.13.0 (new stable) released Oct 1, 2020: Jackson participates in Hacktoberfest2020 and...
  • Jackson设计

    2021-11-12 20:25:00
    用下述三条规则从描绘数据结构的Jackson图中导出描绘程序结构的Jackson图 1.对每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的响应层次画一个处理框 2.根据输入数据结构中剩余的每个数据单元...
  • 转载于:https://www.cnblogs.com/zwp2765758605/p/8744894.html
  • 本篇文章主要介绍了Java下利用Jackson进行JSON解析和序列化示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 转载于:https://www.cnblogs.com/zcq123/p/8763545.html
  • 背景 web工程中,数据交互是不可避免的,相比...数据交互由springMVC完成,但是springMVC也不是自己序列化json的,它将这个工作交给了jacksonjackson对object进行序列化的过程中确实存在key大写变小写的问题。看我娓
  • 火车Jackson图 统计空格数流程图 转载于:https://www.cnblogs.com/luwei123/p/8762208.html
  • JsonToJava, Json到Jackson的源代码生成器( 见 wiki JsonToJava基于提供的示例json数据并生成必要的java数据结构的JsonToJava源类文件生成器。它鼓励团队先用Json思考,然后再编写实际代码。特性可以为任意复杂层次...
  • jackson学习之二:jackson-core

    千次阅读 2020-09-14 08:23:42
    了解jackson最底层的功能逻辑
  • JackSon概述

    2021-01-25 22:53:28
    世界上最好的JSON库-JackSon
  • Jackson用法详解

    千次阅读 2021-10-25 21:39:08
    Spring MVC 默认采用Jackson解析Json,尽管还有一些其它同样优秀的json解析工具,例如Fast Json、GSON,但是出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。 一、简介 Jackson 是当前用的比较广泛的,...
  • Jackson使用详解

    千次阅读 2021-06-10 14:07:34
    本文来说下序列化框架Jackson的详细使用。Spring MVC默认采用Jackson解析Json,尽管还有一些其它同样优秀的json解析工具,例如Fast Json、GSON,但是出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。 ...
  • 这是Jackson的插件,可以序列化循环对象。 它既可以序列化也可以反序列化。 注意:对于Jackson 2.5.0,无法从JSOG反序列化polymoprhic(即@JsonTypeInfo)对象。 杰克逊2.5.1解决了该问题。 源代码 官方存储库是...
  • 本篇文章主要介绍了java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化,具有一定的参考价值,有兴趣的可以了解一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,231
精华内容 15,692
关键字:

Jackson图