zoukankan      html  css  js  c++  java
  • 2.4.3 三种基本结构和改进的流程图

    传统流程图用流线指出各个框的执行顺序

    当顺序表的复杂,容易混乱,当变得十分混乱时 ,被称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。

    为了提供效率和避免混乱,人们提出了三种基本结构

    1966年,Bohra 和Jacopini 提出以下3种结构,用这3种结构表示一个良好算法的基本单元。

    PS:引用图片 来自方弘

    1 顺序结构

    c语言从上到下执行,虚框内是顺序结构

    执行完A执行B

    2 选择结构

    又被称为,选取结构和分支结构

    此结果必须包含一个判断框,根据给出的条件P 判断选择A或者B。

    无论P条件是否成立,一定会选择AB其中一个,不可能出现两个都不选择,和两个都成立的情况。

    A与B中可以有一个是空的

    3 循环结构

    又称为反复结构,即反复操作执行某一部分。

    一共分为两类:

    当(while)循环结构

    当条件符合时 ,执行其参数内操作,再次判断是否符合,如果符合,继续执行内参数,在次判断,直到不符合条件,执行下一步操作

    直到(until)循环结构

    执行其参数内操作判断是否符合,当条件不符合时,再次执行参数,再次判断是否符合,如果不符合,继续执行内参数,在次判断,直到符合,执行下一步操作

    三种基本结构的共同特点:

    (1)只有一个入口;

    (2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)�

    (3)结构内的每一部分都有机会被执行到;

    (4)结构内不存在“死循环”(无终止的循环)

    错误图例

     

    如图,没有机会执行A框,所以此图是错误的

    如图这是一个i额死循环,也是错误的。

    小结:

    •由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。
    •只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。
    例如:

    这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。

    例如

    多联系 多画画就记住了

    记住4个特点是关键:

    一个入口一个出口,每一部分都可能被执行,没有死循环

  • 相关阅读:
    中值滤波器(平滑空间滤波器)基本原理及Python实现
    均值滤波器(平滑空间滤波器)基本原理及Python实现
    使用bibtex为latex论文添加参考文献
    【Linux】日志
    【Linux】常用命令
    【Oracle】查看表大小
    【Oracle】to_date兼容YYYYMMDDHH24MISS与YYYY-MM-DD HH24:MI:SS
    【Mybatis】Lexical error
    【JS】上传插件配置
    【2020-10-06】年年岁岁做计划,岁岁年年完不成!
  • 原文地址:https://www.cnblogs.com/taoyuan7788/p/3185162.html
Copyright © 2011-2022 走看看