计算机-程序流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TheBestAge/article/details/83503604

  程序流程,通俗讲就是把指令和数据排列起来形成程序,再讲若干个指令依次排列,然后从顶端开始此次解释并执行这些指令,形成了程序的流动即程序流程。

程序的流程分类:

  1.顺序执行:PC寄存器(程序计数器)指向一个20号地址开始的5字节指令,CPU解释并运行完毕后PC中的值便有20变为25.即程序是由低号的地址向高执行。记录在内存中的先后顺序依次执行的一种流程。
  2.条件分支:根据若干个条件的成立与否,在程序的流程中产生若干个分支的一种流程。
  3.循环:在程序的特定范围内反复执行若干次的一种流程。
为了能够理解程序代码,为此使用图表工具,即“流程图”。在程序的编写前,通过画流程图来思考程序的流程。流程图并不依赖于特定的编程语言。
流程图符号
      在这里插入图片描述

  在高级语言中,条件分支,循环等都使用程序块表示即if、else、end if 或for …next。而在实际程序执行(计算机硬件上的行为)中,循环通过满足条件时返回到之前出来的步骤,需要使用跳转指令(如GoTo指令),可以将PC的值设置为任意的内存地址,如果为之前执行过的步骤对应的地址,则构成了循环。而如果跳转到尚未处理的步骤就是条件分支。

结构化程序设计

  结构化程序设计仅使用顺序设计、条件分支和循环表示程序的流程,而不再使用跳转指令。
  理由在于,GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。去掉GOTO语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。
   
     在这里插入图片描述
(注意:仅表示在高级语言中不再使用跳转指令,实际的硬件中仍会被转换为跳转指令)

猜你喜欢

转载自blog.csdn.net/TheBestAge/article/details/83503604