计算机常用算法与程序的设计案例教程复习题解答

计算机常用算法与程序的设计案例教程复习题解答
计算机常用算法与程序的设计案例教程复习题解答

《计算机常用算法与程序设计案例教程》

习题解答提要

习题1

1-1 分数分解算法描述

把真分数a/b 分解为若干个分母为整数分子为“1”的埃及分数之和:

(1) 寻找并输出小于a/b 的最大埃及分数1/c ;

(2) 若c>900000000,则退出;

(3) 若c ≤900000000,把差a/b-1/c 整理为分数a/b ,若a/b 为埃及分数,则输出后结束。

(4) 若a/b 不为埃及分数,则继续(1)、(2)、(3)。

试描述以上算法。 解:设)(int a b d = (这里int(x)表示取正数x 的整数),注意到1+<

b d ,有 )1()1(11+-+++=d b b

d a d b a

算法描述:令c=d+1,则

input (a,b)

while(1)

{c=int(b/a)+1;

if(c>900000000) return;

else

{ print(1/c+);

a=a*c-b;

b=b*c; // a,b 迭代,为选择下一个分母作准备

if(a==1)

{ print(1/b);return;}

}

}

1-2 求出以下程序段所代表算法的时间复杂度

(1)m=0;

for(k=1;k<=n;k++)

for(j=k;j>=1;j--)

m=m+j;

解:因s=1+2+…+n=n(n+1)/2

时间复杂度为O(n2)。

(2)m=0;

for(k=1;k<=n;k++)

for(j=1;j<=k/2;j++)

m=m+j;

解:设n=2u+1,语句m=m+1的执行频数为

s=1+1+2+2+3+3+…+u+u=u(u+1)=(n?1)(n+1)/4

设n=2u,语句m=m+1的执行频数为

s=1+1+2+2+3+3+…+u=u2=n2/4

时间复杂度为O(n2)。

(3)t=1;m=0;

for(k=1;k<=n;k++)

{t=t*k;

for(j=1;j<=k*t;j++)

m=m+j;

}

解:因s=1+2×2!+ 3×3!+…+ n×n!=(n+1)!?1

时间复杂度为O((n+1)!).

(4)for(a=1;a<=n;a++)

{s=0;

for(b=a*100?1;b>=a*100?99;b?=2)

{for(x=0,k=1;k<=sqrt(b);k+=2)

if(b%k==0)

{x=1;break;}

s=s+x;

}

if(s==50)

printf("%ld \n",a);break;}

}

解:因a循环n次;对每一个a,b循环50次;对每一个b,k2次。因而k循环体的执行次数s满足

1001)250(12)

250250s n n +-+++<<<

时间复杂度为O(n n )。

1-3 若p(n)是n 的多项式,证明:O(log(p(n)))=O(logn)。

证:设m 为正整数,p(n)=a1×n m +a2×n m-1+…+am ×n ,

取常数c>ma1+(m-1)a2+…+am, 则

log(p(n))=ma1×logn+(m-1)a2×logn+…=(ma1+(m-1)a2+…)×logn

因而有O(log(p(n)))=O(logn)。

1-4 构建对称方阵

观察图1-5所示的7阶对称方阵:

图1-5 7阶对称方阵

试构造并输出以上n 阶对称方阵。

解:这是一道培养与锻炼我们的观察能力与归纳能力的案例,一个一个元素枚举赋值显然行不通,必须全局着眼,分区域归纳其构造特点,分区域枚举赋值。

(1) 设计要点

设方阵中元素的行号为i ,列号为j 。

可知主对角线:i=j ;次对角线:i+j=n+1。两对角线赋值“0”。

按两条对角线把方阵分成上部、左部、右部与下部4个区,如图1-6所示。

图1-6 对角线分成的4个区

上部按行号i 赋值;下部按行号函数n+1-i 赋值。

左部按列号j 赋值;右部按列号函数n+1-j 赋值。

(2) 程序实现

#include

void main()

{int i,j,n,a[30][30];

printf(" 请确定方阵阶数n: ");

scanf("%d",&n);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{if(i==j || i+j==n+1)

a[i][j]=0; // 方阵对角线元素赋值

if(i+j

a[i][j]=i; // 方阵上部元素赋值

if(i+jj)

a[i][j]=j; // 方阵左部元素赋值

if(i+j>n+1 && i>j)

a[i][j]=n+1-i; // 方阵下部元素赋值

if(i+j>n+1 && i

a[i][j]=n+1-j; // 方阵右部元素赋值

}

printf(" %d阶对称方阵为:\n",n);

for(i=1;i<=n;i++)

{ for(j=1;j<=n;j++) // 输出对称方阵

printf("%3d",a[i][j]);

printf("\n");

}

}

1-5 据例1-2的算法,写出求解n个“1”组成的整数能被2011整除的程序。修改程序,求出 n至少为多大时,n个“1”组成的整数能被2013整除?

解:程序为

#include

void main()

{ int a,c,p,n;

p=2011;

c=1111;n=4; // 变量c与n赋初值

while(c!=0) // 循环模拟整数竖式除法

{ a=c*10+1;

c=a%p;

n=n+1; // 每试商一位n增1

}

printf(" 由 %d 个1组成的整数能被 %d 整除。\n",n,p);

}

习题2

2-1 解不等式

设n 为正整数,解不等式

2011/12/1113/12/1112/11112010<++++++++++

解:上下限一般为键盘输入的a,b 。

// 解不等式: a<1+1/(1+1/2)+...+1/(1+1/2+...+1/n)

#include

#include

void main()

{ long a,b,c,d,i;

double ts,s;

printf(" 请输入a,b: ");

scanf("%d,%d",&a,&b);

i=0;ts=0;s=0;

while(s

{ i=i+1;

ts=ts+(double)1/i;

s=s+1/ts;

}

c=i;

while(s

{i=i+1;

ts=ts+(double)1/i;

s=s+1/ts;

}

d=i-1;

printf("\n 满足不等式的正整数n 为: %ld ≤n ≤%ld \n",c,d);

}

2-2 信点兵

信在点兵的时候,为了知道有多少个兵,同时又能保住军事,便让士兵排队报数。 按从1至5报数,记下最末一个士兵报的数为1;

再按从1至6报数,记下最末一个士兵报的数为5;

再按1至7报数,记下最末一个报的数为4;

最后按1至11报数,最末一个士兵报的数为10。

你知道信至少有多少兵?

1. 求解要点

设兵数为x,则x满足下述的同余方程组:

x=5y+1 即 x=1 (mod 5)

x=6z+5 x=5 (mod 6)

x=7u+4 x=4 (mod 7)

x=11v+10 x=10 (mod 11)

其中y,z,u,v都为正整数。试求满足以上方程组的最小正整数x。

应用枚举可得到至少的兵数。x从1开始递增1取值枚举当然可以,但不必要。事实上枚举次数可联系问题的具体实际大大缩减。

(1) 注意到x除11余10,于是可设置x从21开始,以步长11递增。此时,只要判别前三个条件即可。

(2) 由以上第2,4两方程知x+1为11的倍数,也为6的倍数。而11与6互素,因而x+1必为66的倍数。于是取x=65开始,以步长66递增。此时,只要判别x%5=1与x%7=4 两个条件即可。

这样可算得满足条件的最小整数x即点兵的数量。

2. 程序实现

// 信点兵

#include

void main()

{ long int x;

x=65;

while(1)

{ x=x+66;

if(x%5==1 && x%7==4)

{ printf("至少有兵: %ld 个。",x);

break;

}

}

}

2-3 分解质因数

对给定区间[m,n]的正整数分解质因数,?每一整数表示为质因数从小到大顺序的乘积形式。如果被分解的数本身是素数,则注明为素数。

例如, 2012=2*2*503, 2011=(素数!)。

解:对区间中的每一个整数i(b=i),用k(2——sqrt(i))试商:

若不能整除,说明该数k不是b的因数,k增1后继续试商。

若能整除,说明该数k是b的因数,打印输出"k*";b除以k的商赋给b(b=b/k)?后继

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

算法设计与分析考试题及答案

算法设计与分析考试题 及答案 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

一、填空题(20分) 1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性 有穷性 可行性 0个或多个输入 一个或多个输出 2.算法的复杂性有时间复杂性 空间复杂性之分,衡量一个算法好坏的标准是 时间复杂度高低 3.某一问题可用动态规划算法求解的显着特征是 该问题具有最优子结构性质 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y 的一个最长公共子序列{BABCD}或{CABCD}或{CADCD } 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题 ,先求解_子问题 ,然后从这些子问题 的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为回溯法 背包问题的回溯算法所需的计算时间为o(n*2n ) ,用动态规划算法所需的计算时间为o(min{nc,2n }) 9.动态规划算法的两个基本要素是最优子结构 _和重叠子问题 10.二分搜索算法是利用动态规划法实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 ①问题具有最优子结构性质;②构造最优值的递归关系表达式; ③最优值的算法描述;④构造最优解; 2. 流水作业调度问题的johnson 算法的思想。 ①令N 1={i|a i =b i };②将N 1中作业按a i 的非减序排序得到N 1’,将N 2中作业按b i 的非增序排序得到N 2’;③N 1’中作业接N 2’中作业就构成了满足Johnson 法则的最优调度。 3. 若n=4,在机器M1和M2上加工作业i 所需的时间分别为a i 和b i ,且 (a 1,a 2,a 3,a 4)=(4,5,12,10),(b 1,b 2,b 3,b 4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。 步骤为:N1={1,3},N2={2,4}; N 1’={1,3}, N 2’={4,2}; 最优值为:38 4. 使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。 解空间为{(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1), (1,1,0),(1,1,1)}。 解空间树为: 该问题的最优值为:16 最优解为:(1,1,0) 5. 设S={X 1,X 2,···,X n }是严格递增的有序集,利用二叉树的结点来存储S 中的元素,在表示S 的二叉搜索树中搜索一个元素X ,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=X i ,其概率为b i 。(2)在二叉搜索树的叶结点中确定X ∈(X i ,X i+1),其概率为a i 。在表示S 的二叉搜索树T 中,设存储元素X i 的结点深度为C i ;叶结点(X i ,X i+1)的结点深度为d i ,则二叉搜索树T 的平均路长p 为多少假设二叉搜索树T[i][j]={X i ,X i+1,···,X j }最优值为m[i][j],W[i][j]= a i-1+b i +···+b j +a j ,则m[i][j](1<=i<=j<=n)递归关系表达式为什么 .二叉树T 的平均路长P=∑=+n i 1 Ci)(1*bi +∑=n j 0 dj *aj

计算机组成原理课程设计(微程序)报告

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原 理,加深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调 试的实践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作 流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思 想,并根据掌握的理论写出要设计的指令系统的微程 序流程。指令系统至少要包括六条指令,具有上述功 能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微 程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给 出测试思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加 载、识别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻

址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。 X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。具体如下: X2 X1 X0 输出寄存器 0 0 0 IN_OE 外部输入门 0 0 1 IA_OE 中断向量 0 1 0 ST_OE 堆栈寄存器 0 1 1 PC_OE PC寄存器

计算机视觉课程设计1

燕山大学 课程设计说明书题目:基于矩形物体的旋转角度测量 学院(系)电气工程学院 年级专业: 学号: 1301030200 1301030200 学生姓名: 指导教师: 教师职称:讲师 燕山大学课程设计(论文)任务书

院(系):电气工程学院基层教学单位:仪器科学与工程系 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。 2016年 12 月 22 日燕山大学课程设计评审意见表

摘要 本文主要研究对矩形物体旋转角度的测量,并且比较每种方法的处理速度。通过对图像的滤波、二值化、边框的识别等等操作,完成对矩形物体的角度测量。本文采用五种方法分别对同一个矩形物体进行旋转角度测量,并比较其处理时间。五种方式分别为,边缘直线角度测量、对角线角度测量、矩形内部标准角度测量、角点边缘角度测量、垂线角度测量。 关键词:图像处理二值化旋转角测量定位识别

目录 第一章矩形物体的识别 (1) 1、图像滤波 (1) 2、图像的边缘检测 (2) 3、图像的二值化处理 (3) 4、图像的区域选择及处理 (4) 第二章旋转角度的测量 (6) 1、边缘直线角度测量 (6) 2、对角线角度测量 (8) 3、矩形内部标准角度测量 (9) 4、角点边缘角度测量 (10) 5、垂线角度测量 (11) 第三章算法时间的比较 (15) 参考文献 (16) 附录一 (17) 1、边缘直线角度测量程序 (17) 2、对角线角度测量程序 (17) 3、矩形内部标准角度测量程序 (18) 4、角点边缘角度测量程序 (19) 5、二值化-垂线角度测量程序 (23) 6、Soble-垂线角度测量程序 (24) 附录二 (26)

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

算法设计与分析考试题及答案

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。 2.算法的复杂性有_____________和___________之分,衡量一个算法 好坏的标准是______________________。 3.某一问题可用动态规划算法求解的显著特征是 ____________________________________。 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。 6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为_____________。 8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。 9.动态规划算法的两个基本要素是___________和___________。 10.二分搜索算法是利用_______________实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 2.流水作业调度问题的johnson算法的思想。

计算机组成课程设计

计算机组成课程设计 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

计算机组成原理课程设计 目录 1.第一部分复杂模型计算机的设计任务 (3) 设计目的 (3) 设计任务 (3) 设计指标 (3) 实验类型 (3) 实验设备 (3) 2.第二部分模型计算机的总体设计 (4) 主要部件的工作原理 (4) 微程序的设计 (5) 微地址转移逻辑的设计 (7) 3.第三部分模型及的组装的调试 (9) 模型机的组装 (9) 模型机的调试 (10) 实验步骤 (11) 4.第四部分附 录 (11) 八位数据原理总图 (12) 微程序流程图 (12) 微程序控制器原理图 (13)

微程序代码表(十六位) (14) 机器码汇............17 编程序 (18) 5.第五部分小 结 (18) 第一部分复杂模型计算机的设计任务一、设计目的: 建立清晰完整的整机概念; 学习设计与调试计算机的基本方法与步骤; 培养严谨的科研风格与独立的工作能力。 二、设计任务: 综合运用所学计算机原理知识,按给定的指令系统 和数据格式,在所提供设备的范围内,设计一台字 长八位的由微程序控制的模型计算机。设计并实现 较为完整的八位模型计算机。 设计微程序控制器的逻辑原理电路图; 设计微地址转移的逻辑电路图; 设计说明书。 三、设计指标: 字长八位; 时钟源MF=QB=1μs; 内存容量不得小于2^8; 指令系统不得小于十四条。要求算术逻辑指令七

条,访问内存和程序控制指令四条、输入输出指令 两条、其他指令一条。 四、实验类型:设计型实验 五、实验设备: CM++试验仪一台; 双总示波器一台; 集成电路芯片及排线若干。 第二部分模型计算机的总体设计总体设计的主要任务是根据设计要求选出所需要的主要器件,计算机的工作过程实质是不同的数据流在控制信号的作用下,在限定的数据通道中进行传送。数据通路的不同指令所通过的操作过程也不同,机器结构也各不相同。因此对数据通道的设计及其应用也是非常重要的。总体设计的原则是性价比好,尽量使用大规模的集成电路器件,以便大大减少接线的工作量。 一、主要部件的工作原理: 通常把许多寄存器之间传送信息的通道称为“数据通路”。信息从什么地方开始,中间进过哪些寄存器,最后传到哪个寄存器,都要加以控制。这些工作是由称为“操作控制器”的不见来完成的。对数据通路和时序部分,直接使用CM++实验仪器的现成电路。这次设计主要是微程序控制部分。对一台数字计算机基本

算法与程序设计试题带答案

高一第二学期《算法与程序设计》学分认定试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”请问“如何做”是属于用计算机解决问题的哪一个步骤() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、 D、 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()A、F1 B、F8 C、F9 D、F12 13、算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法() A、自然语言 B、流程图 C、伪代码 D、机器语言 14、以下不属于非法用户自定义标识符(常量和变量命名)的是() A、8ad B、ad8 C、_a8d D、const 15、已知A,B,C,D是整型变量,且都已有互不相同的值,执行语句B=0;A=C;D=A;D=B;后,其值相等的变量是() A、A,D B、A,C C、C,B D、B,A 16、要交换变量A和B的值,应使用的语句组是( ) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、VisualBasic中以单引号开头一行文字称为注释,它对程序的运行() A、起一定作用 B、有时候起作用 C、不起任何作用,但是必须的 D、不起任何作用,但能增加程序的可阅读性 18、要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的()。 A、属性Font设置为“确定” B、属性.ForeColor设置为“确定” C、属性Caption设置为“确定” D、属性BorderStyle设置为“确定” 19、要从文本框TXTShowOut中输出"中国您好!",代码为( ) A ="中国您好!" B ="中国您好!" C ="中国您好!" D Val=“中国您好!” 20、下列Visual Basic程序段运行后,变量max的值为()。 a=11; b=15; max=a IF b>max Then max =b A、15 B、11 C、15或11都有可能 D、以上都不是 二、阅读程序写结果(第1~2小题每题5分,第3小题10分,共20分) 1、Private Sub Form_Load() N=InputBox(“请输入N的值:”,“输入”) S=1 For i=1 to N S=S*i Next i MsgBox “S=”+Str(s),0,”计算结果” End Sub 当N=5时,运行的结果是__________________。

(完整版)算法设计与分析期末考试卷及答案a

一.填空题(每空 2 分,共30分) 1.算法的时间复杂性指算法中的执行次数。 2.在忽略常数因子的情况下,O、和三个符号中,提供了算法运行时间的一个上界。 3.设D n表示大小为n的输入集合,t(I)表示输入为I时算法的运算时间, p(I)表示输入 I 出现的概率,则算法的平均情况下时间复杂性A(n)= 。 4.分治算法的时间复杂性常常满足如下形式的递归方程: f (n) d , n n0 f(n) af(n/c) g(n) , n n0 其中,g(n)表示。 5. 分治算法的基本步骤包括。6.回溯算法的基本思想是。 7.动态规划和分治法在分解子问题方面的不同点是。 8.贪心算法中每次做出的贪心选择都是最优选择。 9.PQ 式的分支限界法中,对于活结点表中的结点,其下界函数值越小,优先级 10.选择排序、插入排序和归并排序算法中,算法是分治算法。 11.随机算法的一个基本特征是对于同一组输入,不同的运行可能得到的结果。12. 对于下面的确定性快速排序算法,只要在步骤3 前加入随机 化步骤,就可得到一个随机化快速排序算法,该随机化步骤的功能是。 算法QUICKSORT 输入:n 个元素的数组A[1..n] 。 输出:按非降序排列的数组 A 中的元素

1. quicksort(1, n) end QUICKSORT _ _ 过程 quicksort(A, low, high) _ _ // 对 A[low..high] 中的元素按非降序排序。 _ 号 学 2. if low

计算机组成原理课程设计

附件一 湖南工业大学 课程设计 资料袋 计算机与通信学院(系、部)2015 ~ 2016 学年第2 学期课程名称计算机组成原理指导教师杨伟丰职称教授 学生姓名顾宏亮专业班级软件1403 学号14408300328 题目复杂模型机的设计 成绩起止日期2016 年 6 月20日~2016 年6月21 日 目录清单

附件二湖南工业大学 课程设计任务书 2015 —2016 学年第2 学期 计通 学院(系、部)软件专业1403 班级 课程名称:计算机组成原理 设计题目:复杂模型机的设计 完成期限:自2016 年 6 月20 日至2016 年6 月21 日共 1 周 内容及任务1.根据复杂模型机的指令系统,编写实验程序 2.按图连接实验线路,仔细检查线路无误后接通电源。 3.写程序 4.运行程序 进度安排 起止日期工作内容2016.6.20-2016.6.21连接线路进行实验 主 要 参 考 资 料 唐朔飞.计算机组成原理.北京:高等教育出版社 指导教师(签字):年月日系(教研室)主任(签字):年月日附件三

设计说明书 计算机组成原理 复杂模型机的设计 起止日期:2016 年6月20 日至2016 年 6 月21 日 学生姓名顾宏亮 班级软件1403 学号14408300328 成绩 指导教师(签字) 计算机与通信学院(部) 2016年7月1日 设计题目:复杂模型机的设计

一、设计目的 综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。 二、设计内容 根据复杂模型机的指令系统,编写实验程序,并运行程序,观察和记录运行结果。 三、预备知识 1、数据格式 8位,其格式如下: 1≤X<1。 2、指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。 (1)算术逻辑指令 (2)访存指令及转移指令 模型机设计2条访存指令,即存数(STA)、取数(LD),2条转移指令,即无条件转移(JMP)、结果 ,M (3)I/O指令 OUT指令中,addr=10时,表示选中“OUTPUT UNIT”中的数码块作为输出设备。 (4)停机指令

2014山东省信息技术学考算法与程序设计试题答案附后讲解

2014山东省信息技术学考算法与程序设计试题答案附后讲解

山东省学考算法与程序设计试题 选择题 1、下列VB表达式中: ⑴Sqr(x) ⑵Text1.text ⑶Command1.caption ⑷"45"+"34" ⑸45+34值为字符串类型的是() A⑴⑵⑶ B⑵⑶⑷ C ⑴⑶⑸ D⑵⑷⑸ 2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?() A 其他选项都不对 B a+c>b C a+b>c D b+c>a 3、VB程序中“Dim n As Integer”这条语句的作用是() A 定义一个事件过程 B 定义一个数据输入方法 C 定义一个变量 D 定义一个数据处理方法 4、关于算法的描述,下列选项中正确的是() A 算法的每一步骤必须有确切的含义 B 算法必须有输入 C 算法的步骤可以是无穷的 D 算法本身就是一种程序设计语言 5、关于算法的描述,正确的是() A同一种算法只能用一种程序语言实现 B算法就是数值计算的方法 C描述算法的方法只有流程图 D算法是描述解决问题的方法和步骤 6、算法的描述方法有多种,下列选项中不适合描述算法的是() A机器语言 B自然语言 C流程图 D伪代码 7、长度分别为a、b、c的三条线段,能够组成三角形的条件是() A a+b>c Or a+c>b Or b+c>a B a+b>c or a+c>b And b+c>a C a+b>c Or a+c>b And b+c>a D a+b>c And a+c>b And b+c>a 8、已知海伦公式:()()() p p a p b p c ---p=1 2 (a+b+c),a、b、c分别为三角形的三条 边长。利用海伦公式求三角形面积的算法属于() A 排序法 B 解析法 C 穷举法 D 查找法 9、以下程序段中循环体执行的次数是() s=0 i=0 Do While s<10 i=i+1 s=s+i*i Loop A 1 B 3 C 2 D 4 10、下列VB表达式中,能正确表达不等式方程|x|>1的解的是() A x>-1 and x<1 B x>-1 or x<1 C x<-1 and x>1 D x<-1 or x>1 11、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为: x 1 24 b b ac -+- 2 24 b b ac ---下列表达式正确的是() A x 2=-b-sqr(b^2-4*a*c)/(2*a) B x 1 =(-b+sqr(b^2-4ac))/(2*a)

《C语言程序设计实践教程》答案-完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体4.编译和连接 5.分号 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7.D 8.A 9.B 10.B 11.D 12.B 13.A或B 14.C 15.B

17.D 18.D 19.C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.n=1 5.-4 6.a=1,b= ,c=2 7.c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.11110000 14.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A

7.A 8.D 9.B 10.C 11.A 12.A 13.C 14.B 15.正确答案为:12345678 二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4.1 5.13 6.(cx=getchar())!=-1 front=cx; 7.m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D

计算机组成原理课程设计_报告全套

XXXX大学课程设计专用纸 成绩评定表

课程设计任务书

目录 1 设计目的 (3) 2 设计内容 (3) 3 实验计算机的设计 (3) 3.1 整机逻辑框图设计 (3) 3.2 指令系统的设计 (5) 3.3 微操作控制部件设计 (5) 3.3.1微指令编码格式设计 (5) 3.3.2 微操作控制信号设计 (6) 3.4 微程序设计 (8) 3.4.1 指令对应的微程序流程图 (8) 3.4.2 微程序中各微指令二进制编码与16进制编码 (8) 3.5 微程序顺序控制方式设计 (10) 3.5.1 微程序入口地址形成方法 (10) 3.5.2 控存下地址确定方法 (10) 3.5.3 每段微程序在控存中的存放位置 (11) 3.6 编写调试程序 (12) 3.6.1 机器指令程序设计内容如下 (12) 3.6.2 每条指令所对应的机器码 (12) 3.6.3 程序在内存中的存放位置 (12) 4 实验计算机的组装 (13) 5 实验计算机的调试 (13) 5.1 调试前准备 (13) 5.2 程序调试过程 (14) 5.3 调试结果 (15) 5.4 出错和故障分析 (17) 5.4.1 出错分析 (17) 5.4.2 故障分析查找 (17) 5.4.3 确认是否属故障 (17) 5.4.4 正确判断故障原因 (18) 6 心得体会 (18) 7 参考文献 (19)

1 设计目的 1、组成一个复杂的计算机整机系统—模型机,输入程序并运行; 2、了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3、定义几条机器指令,编写相应微程序并具体上机调试. 4、完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。 2 设计内容 利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成台微程序控制的简单实验计算机的研制。 完成多寄存器算术减法\右移位\输入输出\转移指令实验计算机设计。 3 实验计算机的设计 3.1 整机逻辑框图设计 (1)模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。 ①运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器,R0,R1,R2等组成。 ②控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。 ③存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。 ④输出设备有两位LED数码管和W/R控制完成的。 (2)计算机由基板和CPU板两部分组成: ①基板:本部分是8位机和16位机的公共部分,包括以下几个部分:数据输入输出、显示及监控,脉冲源及时序电路,数据和地址总线,外设控制电路,单片机控制电路和键盘操作部分,与PC机通讯的接口,主存器和电源,CPLD实验板,自由实验区。 ②CPU板:本板分为8位机和16位机两种,除数据字长分为8位和16位外,都包括

最新高中信息技术《算法与程序设计》试题精品版

2020年高中信息技术《算法与程序设计》 试题精品版

新课标高中信息技术《算法与程序设计》试题一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是( ) A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 ……

c程序设计教程与实验__吉顺如__实验一到七

实验1熟悉Visual C++环境及运行C程序 一、实验目的 1.掌握在Visual C++环境下C程序的建立、编辑、编译和执行过程。 2.掌握C程序的最基本框架结构,完成简单程序的编制与运行和调试。 3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名保存。 #include <> main() { int a,b,sum; /*定义整型变量a、b、sum */ printf("Please Input a,b \n "); /*输出提示信息*/ scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/ printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/ }

改错题 (1计算x*y 的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> main main () { int x=2;y=3;a int x=2,y=3,a ; A=x*y a =x*y ; print ('a=%d",A); print f ("a=%d",a ); printf("\n"); } (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名保存。 #include <> viod main() void main() { int a ,b , max; Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a; If (max

算法分析与设计复习题及答案

算法分析与设计复习题及答案一、单选题 1.D 2.B 3.C 4.D 5.D 6.D 7.C 8.D 9.B 10.C 11.D 12.B 13.D 14.C 15.C 16.D 17.D 18.D 19.D 20.C 1.与算法英文单词algorithm具有相同来源的单词是()。 A logarithm B algiros C arithmos D algebra 2.根据执行算法的计算机指令体系结构,算法可以分为()。 A精确算法与近似算法B串行算法语并行算法 C稳定算法与不稳定算法D32位算法与64位算法 3.具有10个节点的完全二叉树的高度是()。 A6B5C3D 2 4.下列函数关系随着输入量增大增加最快的是()。 Alog2n B n2 C 2n D n! 5.下列程序段的S执行的次数为( )。 for i ←0 to n-1 do for j ←0 to i-1 do s //某种基本操作 A.n2 B n2/2 C n*(n+1) D n(n+1)/2 6.Fibonacci数列的第十项为( )。 A 3 B 13 C 21 D 34 7.4个盘子的汉诺塔,至少要执行移动操作的次数为( )。 A 11次 B 13次 C 15次 D 17次 8.下列序列不是堆的是()。 A 99,85,98,77,80,60,82,40,22,10,66 B 99,98,85,82,80,77,66,60,40,22,10 C 10,22,40,60,66,77,80,82,85,98,99 D 99,85,40,77,80,60,66,98,82,10,22 9.Strassen矩阵乘法的算法复杂度为()。 AΘ(n3)BΘ(n2.807) CΘ(n2) DΘ(n) 10.集合A的幂集是()。 A.A中所有元素的集合 B. A的子集合 C. A 的所有子集合的集合 D. 空集 11.与算法英文单词algorithm具有相同来源的单词是()。 A logarithm B algiros C arithmos D algebra 12.从排序过程是否完全在内存中显示,排序问题可以分为()。 A稳定排序与不稳定排序B内排序与外排序 C直接排序与间接排序D主排序与辅助排序 13.下列()不是衡量算法的标准。 A时间效率B空间效率 C问题难度D适应能力 14.对于根树,出度为零的节点为()。 A0节点B根节点C叶节点D分支节点 15.对完全二叉树自顶向下,从左向右给节点编号,节点编号为10的父节点编号为()。 A0B2C4D6 16.下列程序段的算法时间的复杂度为()。 for i ←0 to n do for j ←0 to m do

计算机组成原理组成课程设计

计算机组成原理 课程设计报告 设计题目:中央处理器--微程序控制器设计 院系:计算机科学与技术学院 班级:2012级4班 设计者: 指导教师:吴戴明 设计时间:2015.1.7

目录 一、课题分析 ............................................................................................................ 1.1、设计目的...................................................................................................... 1.2、设计任务...................................................................................................... 1.3、课程设计题目分析 .................................................................................... 1.3.1课题设计准备....................................................................................... 1.3.2读/写操作的认识................................................................................. 二、总体设计 (5) 2.1、设计原理...................................................................................................... 2.2功能设计......................................................................................................... 三、方案比较 ............................................................................................................ 四、分步设计 ............................................................................................................ 4.1小组成员设计任务分配............................................................................... 4.2微程序控制器的设计 ................................................................................... 4.2.1 设计要求............................................................................................... 4.2.2 设计内容............................................................................................... 4.3、指令周期流程图......................................................................................... 4.4、机器指令设计...................................................... 错误!未指定书签。 4.5系统组成框图 ................................................................................................ 4.6、各部件功能 ................................................................................................. 4.7微指令格式..................................................................................................... 4.8微程序流程图 ................................................................................................

相关文档
最新文档