程序像河水一样流动着

程序像河水一样流动着

  • Flow Chart 的中文意思是什么

    流程图。用图的形式表示程序的流程。

  • 请说出自然界中河流的三种流动方式

    向着一个方向流淌,流着流着产生直流,最后卷成旋涡。程序的流程也分为三种,在程序中,把犹如水流向着一个方向流淌的流程称作顺序执行,把犹如产生分支流淌的称为条件分支,把犹如水流卷成旋涡的流程称作循环。

  • 什么是事件驱动

    Windows应用程序的运行就是由事件驱动的。

    程序的流程分为三种

    1.顺序执行

    ​ 计算机的硬件系统由CPU、I/O和内存三部分构成。内存中存储着程序,也就是指令和数据。CPU配合着由时钟发生器发出的滴答滴答地时钟信号,从内存中读出指令,然后再依次对其进行解释和执行。

    CPU中有各种各样的各司其职的寄存器。其中有一个被称为PC的寄存器,负责存储内存地址,该地址指向下一条即将被执行的指令。每解释执行完一条指令,PC寄存器的值就会自动被更新为下一条指令的地址。

    PC寄存器的值大多数情况下只会增加。下面假设PC寄存器正指向内存中一个从10号地址开始的3字节指令。CPU解释执行完这条指令后,PC寄存器的值就变成了10+3=13了。也就是说,程序基本上是从内存的地址开始,向着高地址流动的。

    1. 条件分支

      条件分支是根据若干个条件的成立与否,在程序的流程中产生若干个分支的一种流程。

    2. 循环

      循环则是在程序的特定范围内反复执行若干次的一种流程。

    结构化程序设计

    结构化程序设计是由戴克斯特拉提倡的一种编程风格。简单地说,所谓结构化程序设计就是为了把程序编写得具备结构性,仅使用顺序执行,条件分支和循环表示程序的流程即可,而不再使用跳转指令。

    作为计算机硬件上的行为,无论是条件分支还是循环都必须使用跳转指令实现。但是在VBScript等高级语言中,可以用if else 表示条件分支,使用for,next表示循环。跳转指令因此变得可有可无了。

    在程序设计中,如果看到了以“结构化”开头的术语,就可以肯定认为:程序的流程有程序块来表示,而不是用GOTO语句等跳转指令来实现。

    特殊的程序流程-中断处理

    中断处理是指计算机使程序的流程突然的跳转到程序的一个特定地方,这样的地方呗称为中断处理例程或是中断处理程序,而这种跳转是通过CPU所具备的硬件功能实现的。人们通常把中断处理比作是接听电话。假设诸位都正坐着处理文件,此时突然来电话了,于是放下手头的电话去接电话,电话接完了再回来继续看文件。像这样由外部的原因使正常的流程中断,中断后再返回到之前的流程的过程就是中断处理流程。在Z80 CPU中有INT和NMI两个引脚,它们可以接收从I/O设备发出的中断请求信号。以硬件的连接到CPU上的I/O模块会发出中断请求信号,CPU根据该信号执行中断处理程序。例如每当用户按下键盘上的按键,键盘上的I/O模块就会把中断请求信号发送给CPU.CPU通过这种方式就可以知道有按键被按下,于是就会从I/O设备读入数据。CPU并不会时刻监控键盘是否有按键被按下。

    中断处理以从硬件发出的请求为条件,使程序的流程产生分支,因此可以说它是一种特殊的分支条件。可以诸位在写程序的时候并不需要编写有关中断处理的代码。因为处理中断请求的程序,或是内置于被烧录在计算机ROM中的BIOS系统中,或是内置于操作系统中。诸位只需要记住,计算机具有硬件上处理中断的能力。

    特殊的程序流程-事件驱动

    程序员们经常用事件驱动的方式编写那些工作在GUI环境中的应用程序。

你可能感兴趣的:(计算机基础知识)