第十七章 计算机科学导论(第四版)-- 习题答案 [贝赫鲁兹*佛罗赞]

Q17-1 在简单语言中,有三种基本语句是其他语句的基础,说出他们的名字,并描述它们的功能。

        A:递增语句:对变量加1

              递减语句:从变量中减1

              循环语句:在变量的值不为0时,重复进行一个动作(或一系列动作)

Q17-2 说明如何用三种基本语句把一个变量的值赋给另一个变量。

        A:

                                 

Q17-3 图灵机和简单语言间有何关系?

        A:一个可以被简单语言解决的问题也可以被图灵机解决。

Q17-4 说明图灵机的组成和每一部件的功能。

        A:图灵机的组成:磁带:存储数据,类似与现代计算机中使用的随机存储设备内存。

             控制器:理论上功能作用类似于现代计算机中央处理单元(CPU)的一个部件,它是一个               有限状态自动机,即该机器有预定的有限个状态并能根据输入从一个状态转移到另一个状               态,但任何时候它只能处于这些状态中的一种。

             读/写头:任何时候总是指向磁带上的一个符号,我们称这个符号为当前符号,读写头每                 次在磁带上读写一个符号。他向左移、向右移。

Q17-5 图灵机磁带是如何划定数据界限的?

        A:图灵机磁带上定界数据的一种方法是使用两个空格,一个在数据的开头,一个位于数据                  的末尾。

Q17-6 当读 / 写头完成读或写一个符号后,下一步是什么?

        A:根据控制器指令,选择向左移或向右移动读取下一个符号。

Q17-7 状态转移图和图灵机控制器有何联系?

        A:状态转移图是图灵机程序的图像表示。

Q17-8 转移图与转移表有何联系?它们有相同的信息吗?谁包含的信息要多些?

        A:转移表是转移图的表格表示法,它们拥有相同的信息。

Q17-9 什么是哥德尔数?怎样用哥德尔数证明停机问题是不可解决的?

        A:哥德尔数是一个无符号数,他可以被分配给任何用特定语言编写的程序。在停机程序中,                当一个程序是另一个程序的输入时,我们将该程序表示为其哥德尔数。

Q17-10 比较并区分多项式可解问题和非多项式可解问题的复杂度。

        A:多项式可解问题的复杂度较非多项式可解问题要小,在输入数量较小时,两者均很容易解决,但当输入数量相对较大时,多项式可解问题要更容易解决。

P17-1        如下:

Y ← 0
Temp ← 0
while(X)
{
    decr(X)
    incr(Y)
    incr(Temp)
}
while(Temp)
{
    decr(Temp)
    incr(X)
}


C语言实现,如下:

P17-2        如下:

Temp ← X            // See solution to Exercise P17-1
Z ← Y               // See solution to Exercise P17-1
while(Temp)
{
    decr(Temp)
    incr(Z)
}

P17-3        如下:

Temp1 ← X                // See solution to exercise P17-1
Temp2 ← Y                // See solution to exercise P17-1
Z ← 0
while(Temp1)
{
    decr(Temp1)
    Z = Z + Temp2        // See solution to exercise P17-2

}

P17-4

Temp1 ← X                //See solution to exercise P17-1
Temp2 ← Y                //See solution to exercise P17-1
Z ← 1
while(Temp1)
{
    decr(Temp1)
    Z = Z * Temp2        //See solution to exercise P17-3
}

P17-5

while(X)
{
    decr(X)
    decr(Y)
}

P17-6

Temp ← X + 1
while(X)
{
    decr(X)
    A1
    Temp ← 0
}

while(Temp)
{
    decr(Temp)
    A2
}

P17-7        参考书上内容

P17-8        参考书上内容

P17-9        参考书上内容

P17-10        参考书上内容

P17-11        参考书上内容

P17-12        参考书上内容

P17-13        参考书上内容

P17-14        参考书上内容

P17-15        参考书上内容

P17-16        用1个1表示0,使用两个1表示1,三个1表示2,……,n+1个1表示n

P17-17


X3 ← 0            // Godel Number: CF3DBF3E
while(X2)         // Godel Number: CF2
{                 // Godel Number: D
    decr(X2)      // Godel Number: BF2
    incr(X3)      // Godel Number: AF3
}                 // Godel Number: E

 
while(X1)         // Godel Number: CF1
{                 // Godel Number: D
    decr(X1)      // Godel Number: BF1
    incr(X3)      // Godel Number: AF3
}                 // Godel Number: E

P17-18

P17-19

while(X1)            // Godel Number: CF1 
{                    // Godel Number: D
    decr(X1)         // Godel Number: BF1
}                    // Godel Number: E

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值