版权归原作者所有,如有侵权,请联系我们

[科普中国]-控制传递

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

控制传递的概念

在数据通信系统中,通过通信线路进行计算机和数据终端的符号情报的输送,因为要将情报进行准确的输送,必须要进行各种控制。有输入输出控制、线路控制、同步、错误控制及传输控制顺序,这些总称为传输控制。输入输出控制是为了使数据室内装置的输入装置和输出装置的控制,键盘、显示器、打印机等各种输入输出及其的控制。1

线路控制是相对于交换线路的连接、切断的控制及MODEM等线路终端装置的控制。

传输控制装置和通信控制装置间的同步是规定在收、发信间,连续的收、发信的符号系列具一定约束时,在接收侧从符号系列组合文字等的有意的情报的控制方式。把这称为字符同步。

出错控制,即在通信线路中不可避免的噪声和瞬时产生的符号错误。当情报错误送出时,可以测出错误的情报,或者为了订正错误进行控制。这里有垂直奇偶性检测,循环检测(ORO)方式等。

传输控制程序控制,假设用电话传达人际事情,要想和对方交谈,首先必须接通电话,然后谈话,终了以后切断电话。为此,首先确认对方,自报本人姓名,然后谈事情,回答查明对方是否理解,并作别的如问候切断电话类似的程序。即有线路进行连接的程序,确认对方的程序,数据传输确认响应的程序,通信结束通知的程序,切断线路程序等等,还规定了收、发信数据格式和规定了传输控制字符等。

控制传递的基本原理在数据传输的初期阶段是采用纸带和键盘打印机为传输主体进行,推进了冗余度少的,希望对方没有错误传输数控作为程序的基本方式控制程序的探讨,用ISO(国际标准化机构)TC97第6小委员会(TC6)的标准化进行。

此后,由于计算机数据通信等的出现,数据通信就是一种高速指向效率的传输控制方式的同时,也成为寻求适用于音响结合型的便携式简单终端控制方式的前提。现已开发了各种传输控制程序。

在其他终端机中,也存在数据通信系统特性结合的变形程序。

传输控制程序的基本方式基本方式控制程序是使用10个传输控制字符,将各自规定的情报信息字组,在2个装置间发信、接收。

使用本程序的前提条件如下:

(1)作为传输数据的原则是JISO6220情报交换用7位代码。

(2)传输控制功能使用10个传输控制字符实行。

(3)数据传输形式可用串联传输,也可用并联传输,数据传输速度也无规定。另外,字符同步可以用启停同步或同步方式。

(4)传输方向是适用于以单向传输位基本的,由相互监视决定的单向传输和由相互监视决定的双向相互传输。

错误控制在数据传输中,由于线路的噪声和瞬断等的扰乱,不可避免发生错误。因此,在数据传输中,必须对数据室内装置及通信控制装置进行错误控制。该方式依靠数据符号或符号本身的逻辑性进行传输,根据接收的符号不平衡的逻辑性检测错误,进行订正。把该检测、订正叫做错误控制。2

在低速基本程序中,一般使用的是垂直/水平奇偶性校验方式;在2400bit/s以上的数据传输中,使用循环符号的校验方式。

传输方法附加冗余度的方式返送校对方式是在接收侧把接收的信号照原样返送发信侧,在发信侧对照发信的情报和返送的情报,检测错误发生的方式。用发信机在和对方侧发信的同时,临时存储发信情报。在接收侧,输出接收情报的同时,直接向发信侧反馈同样的信息。在发信侧,则把刚存储的情报和返送的情报对照,判定有无错误。根据判定的结果,送出下次情报。事先知道送出的情报有错误时,等于取消送出情报。这时,在发信侧存储的发信情报,由于反馈情报需要时间,根据返送情报单位不同,分为字符返送对照方式和程序返送对照方式。

控制传递语句下面以Swift控制传递语句为例介绍控制传递语句。

通过无条件地把控制权从一片代码传递到另一片代码,控制传递语句能够改变代码执行的顺序。Swift 提供四种类型的控制传递语句:break语句、continue语句、fallthrough语句和return语句。

控制传递语句(Control Transfer Statement) 语法

控制传递语句→break语句

控制传递语句→continue语句

控制传递语句→fallthrough语句

控制传递语句→return语句

Break 语句break语句用于终止循环或switch语句的执行。使用break语句时,可以只写break这个关键词,也可以在break后面跟上标签名(label name),像下面这样:

|| ||

当break语句后面带标签名时,可用于终止由这个标签标记的循环或switch语句的执行。

而当只写break时,则会终止switch语句或上下文中包含break语句的最内层循环的执行。

在这两种情况下,控制权都会被传递给循环或switch语句外面的第一行语句。

Continue 语句continue语句用于终止循环中当前迭代的执行,但不会终止该循环的执行。使用continue语句时,可以只写continue这个关键词,也可以在continue后面跟上标签名(label name),像下面这样:

|| ||

当continue语句后面带标签名时,可用于终止由这个标签标记的循环中当前迭代的执行。

而当只写break时,可用于终止上下文中包含continue语句的最内层循环中当前迭代的执行。

在这两种情况下,控制权都会被传递给循环外面的第一行语句。

在for语句中,continue语句执行后,increment表达式还是会被计算,这是因为每次循环体执行完毕后increment表达式都会被计算。

Fallthrough 语句fallthrough语句用于在switch语句中传递控制权。fallthrough语句会把控制权从switch语句中的一个 case 传递给下一个 case 。这种传递是无条件的,即使下一个 case 的模式与switch语句的控制表达式的值不匹配。

fallthrough语句可出现在switch语句中的任意 case 里,但不能出现在最后一个 case 分支中。同时,fallthrough语句也不能把控制权传递给使用了可选绑定的 case 分支。

Return 语句return语句用于在函数或方法的实现中将控制权传递给调用者,接着程序将会从调用者的位置继续向下执行。

使用return语句时,可以只写return这个关键词,也可以在return后面跟上表达式,像下面这样:

|| ||

当return语句后面带表达式时,表达式的值将会返回给调用者。如果表达式值的类型与调用者期望的类型不匹配,Swift 则会在返回表达式的值之前将表达式值的类型转换为调用者期望的类型。

而当只写return时,仅仅是将控制权从该函数或方法传递给调用者,而不返回一个值。(这就是说,该函数或方法的返回类型为Void或())。