西北工业大学数电答案

合集下载

西工大网络机考《数字电子技术》复试试题

西工大网络机考《数字电子技术》复试试题

数字电子技术1.数字电路实质上还是模拟电路。

答案:正确2.十进制数的整数部分转换成二进制数是用除2取余法,最先得到的余数是二进制数的最低位。

答案:正确3.在8421BCD码中,用1010表示十进制数的10。

答案:错误4.余三码减0011就得8421BCD码。

答案:正确5.一个逻辑函数只有两种取值可能:0或者1。

答案:正确6.A、B、C均为逻辑变量,如果AB=AC,则可推出B=C。

答案:错误7.若F=AB+C,F的对偶式为FD=A+BC。

8.异或门可以有三个输入端。

答案:错误9.对于三个变量来说,使最小项m3取值为零的可能有7种。

答案:正确10.对于三个变量来说,M2的对偶式为m5。

答案:正确11.对于三个变量来说,M2的反演式为m2。

答案:正确12.全加运算是不考虑低位进位的加法运算。

答案:错误13.组合逻辑电路是指电路在任何时刻建立的稳定的输出仅仅取决于电路在该时刻输入的取值组合。

答案:正确14.时序逻辑电路是由组合逻辑电路和存储电路构成的。

15.对于SR触发器,当SR=01时,触发器置1;当SR=10时,触发器置0。

答案:错误16.正边沿触发器只在时钟脉冲的上升沿采样输入控制信号并依据采样值进行状态转换。

答案:正确17.只读存储器是易失性器件。

答案:错误18.十进制数27.5对应的二进制数是()。

A.11010.1B.11011.1C.10011.01D.11001.01答案:B19.二进制数11001.1对应的八进制数是()。

A.62.1B.62.4C.31.4答案:C20.异或门输出通过一个灯泡接地,两个输入端一端接标准信号,另一端接待检测信号。

如果灯泡亮,说明()。

A.标准信号与接待检测信号相同B.标准信号与接待检测信号不同C.异或门损坏D.异或门输入恒为高电平答案:B21.四个变量的卡诺图中,逻辑上不相邻的一组最小项为()。

A.B.C.D.答案:A22.{A.0,2,4,5,6,7,13B.0,1,2,5,6,7,13C.0,2,4,5,6,9,13D.2,4,5,6,7,11,13 答案:A23.{A.0,2,3,5,6B.4,6,7C.4,5,6D.0,1,2,3,5答案:D24.{A. B. C. D.答案:C 25.{A. B. C. D.26.设计10进制计数器,至少需要()级触发器。

大学数字电子技术试题答案

大学数字电子技术试题答案

大学数字电子技术试题答案一、选择题1. 数字电路中,逻辑变量“1”通常代表什么含义?A. 低电平B. 高电平C. 地线D. 电源线答案:B. 高电平2. 在二进制数系统中,最小的非零数是几?A. 0B. 1C. 2D. 4答案:B. 13. 触发器的主要用途是什么?A. 计数B. 存储C. 放大D. 滤波答案:B. 存储4. 以下哪种逻辑门可以实现两个输入的异或功能?A. 与门(AND)B. 或门(OR)C. 非门(NOT)D. 异或门(XOR)答案:D. 异或门(XOR)5. 在数字电路中,一个4位二进制计数器的最大计数值是多少?A. 8B. 16C. 32D. 64答案:C. 32二、填空题1. 在数字电子技术中,__________是一种能够存储一位二进制信息的基本单元电路。

答案:触发器2. 二进制数1011转换为十进制数是__________。

答案:113. 逻辑门电路中的“与非”门是将输入的逻辑与结果再取__________。

答案:非4. 在数字电路设计中,__________是一种常用的简化和优化逻辑表达式的方法。

答案:卡诺图5. 一个3线到8线译码器的输出是__________。

答案:8三、简答题1. 请简述数字电路与模拟电路的区别。

答:数字电路处理的是离散的信号,通常只有高电平或低电平两种状态,而模拟电路处理的是连续变化的信号。

数字电路具有更强的抗干扰能力,易于实现大规模集成,而模拟电路则在处理连续信号如声音和光线等方面更为有效。

2. 什么是组合逻辑和时序逻辑?请举例说明。

答:组合逻辑是指其输出仅取决于当前输入状态的逻辑电路,不包含存储元件,如加法器和编码器。

时序逻辑则包含存储元件(如触发器),其输出不仅取决于当前的输入状态,还与历史状态有关,如计数器和寄存器。

3. 什么是同步计数器和异步计数器?答:同步计数器是指所有的触发器都在同一个时钟脉冲下进行状态转换的计数器,而异步计数器中,触发器的状态转换不是同时发生的,它们之间存在一定的时序差异。

西北工业大学数电实验一

西北工业大学数电实验一

示波器的使用和TTL 逻辑电路设计一、 实验目的1. 加深了解TTL 逻辑门电路的结构和参数;2. 认识和掌握基本的TTL 逻辑门电路的连接方式;3. 熟悉数字型示波器的基本使用方法 二、 实验设备数字电路实验箱、数字双踪示波器、74LS20、电位器、电阻 三、 实验原理1. TTL 实现与运算AB AB F ==1该逻辑函数的逻辑电路如图a 所示:图a2. TTL 实现或运算B A B A B A F =+=+=2该逻辑函数的逻辑电路如图b 所示:(悬空)1F图b3. TTL 实现异或运算ABB AB A AB B AB A AB B AB A B A B A F 3=+=+=+=该逻辑函数的逻辑电路如图c 所示:图c四、 实验内容1. TTL 实现与运算2FAB3F A把输入信号A和B分别从引脚1和2输入,从3输出信号AB,再利用(2)中的方法,将引脚3输出的信号从引脚4输入,引脚5悬空(相当于输入高电平),从引脚6输出信号就实现了与门;2.TTL实现或运算先采用1中的方法实现A和B,分别从引脚1和4输入信号A和B,引脚2和5悬空(相当于输入高电平),引脚3和6就分别输出了信号A和B。

再将引脚3和6输出的信号分别输入到引脚9和10,由引脚8输出信号就实现了或门;3.TTL实现异或运算把输入信号A和B分别从引脚1和2输入,从3输出信号AB,再从引脚4和9分别输入信号A和B,由引脚3输出的信号AB分别从引脚5和10输入,这样引脚6和8分别输出信号A AB⋅,最后分别将⋅和B AB⊕;这两个信号从引脚12和13输入,则从引脚14输出的信号就是A B五、实验结果1.TTL实现与运算2.TTL实现或运算3.TTL实现异或运算六、故障排除1.确保74LS00和电路板接触良好,能够很好的传递电路信号;2.电路连接接口连接紧密,电位器能很好的实现电路的开闭。

七、心得体会加深了解TTL逻辑门电路的结构,认识和掌握基本的TTL逻辑门电路的连接方式,为今后的数字电路学习和实践打下坚实的基础。

西工大计算机学院数字信号答案

西工大计算机学院数字信号答案

《数字信号处理》习题答案(第2版)主编俞卞章授课人付中华此文档为《数字信号处理》(第2版主编俞卞章西北工业大学出版社)习题答案,本文档旨在指导学生在学习数字信号处理书本理论知识的同时,对相应的课后习题进行练习,做到融汇贯通,希望每位学生都能学好此门功课。

若发现有错误之处,请发邮件至wingerzhao@指出,我们会及时改正。

目录第1章离散时间信号、系统和Z变换 (3)1-4(P46) (3)1-5(p47) (5)1-7(p47) (5)1-8(p47) (6)1-9(P47) (7)1-10(P47) (8)1-11(P47) (9)1-12(P48) (10)1-17(P48) (10)1-19(P48) (12)1-22(P49) (13)1-28(P50) (15)1-30(P51) (17)1-31(P51) (18)1-32(P51) (20)1-33(P52) (21)1-37(P52) (22)1-39(P52) (22)1-41(P53) (23)1-43(P53) (24)第2章DFT及快速算法 (25)2-2(P90) (25)2-4(P90) (25)2-5(p90) (26)2-6(P90) (26)2-7(P91) (27)2-11(P91) (28)2-13(P91) (29)2-14(P91) (29)2-17(P92) (30)2-22(P93) (31)2-25(P94) (31)第3章数字滤波器设计 (33)3-4(P138) (33)3-7(P138) (34)第4章离散随机信号处理 (35)4-3(P173) (35)4-5(P173) (36)第5章自适应信号处理 (36)5-3(P198) (36)5-4(P198) (37)5-9(P198) (37)第1章离散时间信号、系统和Z变换1-4(P46)1-7(p47)1-9(P47)1-10(P47)1-17(P48)1-19(P48)1-22(P49)1-28(P50)1-30(P51)1-31(P51)1-32(P51)1-39(P52)第2章DFT及快速算法2-2(P90)2-4(P90)2-6(P90)2-14(P91)2-22(P93)2-25(P94)第3章数字滤波器设计3-4(P138)3-7(P138)第4章离散随机信号处理4-3(P173)5-3(P198)5-9(P198)附录1《数字信号处理常见题型解析及模拟题》(第2版)俞卞章编著西北工业大学出版社(TN911.72-44 0309=3)2 《数字信号处理常见题型解析及模拟题》谢红梅赵健编著西北工业大学出版社(TN911.72-44 0110)。

西工大 数字集成电路实验二、反相器(下)

西工大 数字集成电路实验二、反相器(下)

数字集成电路实验报告西北工业大学2014年5月12日星期一实验二、反相器(下)三、分析如下电路,解答下面的问题。

上面的电路用两种方式实现了反相器。

左图只使用了NMOS,右图则使用了CMOS(NMOS 和PMOS)。

试完成:ΦF=‐0.3V1.仿真得到两个电路的VTC 图形黄色的线条表示的是第一个反相器的电压传输特性曲线,红色的线条表示的是第二个电压传输特性曲线。

2.计算两种电路的VOH,VOL及VM。

可参考波形确定管子的工作状态。

答:对于第一个电路构成的反相器而言当vin = 0的时候,M1截止,M2导通,输出电压vout = 2.5-0.43 = 2.07V 即 V V OH 07.2=当vin = 2.5V 的时候,M1、M2均导通,且M1处于线性区,M2处于饱和区(速度饱和),通过两个 管子的电流相等,所以有]2/)[()(]2/)[()(2111'222'DS DS TH GS M DSTA DSTA TH DD M DSAT V V V V L W K I V V V V L W K I -⨯-⨯⨯=-⨯-⨯⨯=由于存在体效应M2的阈值电压变为)22(0F SB F T T V V V φφγ-+-+= 其中out SB V V =解得=OL V 0.287V接着计算开关阈值M V ,此时,输入等于输出,判定M1与M2都处于饱和区。

]2/)[()(]2/)[()(2111'12222'2DSSAT DSAT TH GS M n D DSAT DSAT TH GS M n DSATM V V V V LW K I V V V V LW K I -⨯-⨯⨯=-⨯-⨯⨯= 而且OUT IN SB M V V V V ===求得V 995.0=M V而对于CMOS 反相器来说当vin = 0的时候,V V OH 5.2=当vin = 2.5V 的时候,0=OL V接着计算开关阈值M V ,此时,输入等于输出,判定M3与M4都处于饱和区。

西北工业大学电路基础第五章课后习题解答

西北工业大学电路基础第五章课后习题解答

19/20
12-10-20
Web
https:///Home.action#b=fc6a49e1-f329-4ea5-9138-b116a889b12d&n=dce05aef-9κ
20/20
5-26 图题5-26所示电路,已知,

https:///Home.action#b=fc6a49e1-f329-4ea5-9138-b116a889b12d&n=dce05aef-9κ
。今手头只
18/20
12-10-20
Web
有电容器,试求在 。与R为定值时,在R与电 源之间连接一个什么样的电路,才能使R获得最大功率,算 出元件值,画出电路图
答案
(a)
解:
图 题5-4
5-5 图题5-5所示电路,已知电流表 、 的读数均为10A。求电流表A的读数。
https:///Home.action#b=fc6a49e1-f329-4ea5-9138-b116a889b12d&n=dce05aef-9κ
2/20
12-10-20

。求伏特计指 示的数值和电容C。
图 题5-17
答案
解:
,
,
当改变 使 最小时,必有
即:
.
5-18 图题5-18所示电路,欲使R改变时I值不 变,求L 、C 、 之间应满足何关系?
https:///Home.action#b=fc6a49e1-f329-4ea5-9138-b116a889b12d&n=dce05aef-9κ
https:///Home.action#b=fc6a49e1-f329-4ea5-9138-b116a889b12d&n=dce05aef-9κ

数字电路复习+练习题(西工大

数字电路复习+练习题(西工大
◆由逻辑图写出对应输入逻辑变量的逻辑函数表达式 ◆由逻辑表达式列出真值表 ◆从逻辑表达式或真值表写出给定组合电路的逻辑功能 2、组合逻辑的设计 ◇将文字描述的逻辑命题变换为真值表 ◇由真值表写出逻辑表达式并进行化简,根据题意要求选 定门电路 ◇最后画出逻辑电路图
37
38
重点掌握74283集成超前进位全加器
C
TG
C
VO /VI
16
A
&
& F1
C
B
B (C=1)
F1 = AB (C=0)
A
1
F
TG
C
1
/A (C=0) F=
高阻态 (C=1)
17
6. 改正图示电路中的错误。
A B
&
VCC F1 A1
VCC
A B
F2
&
F3
A B
250K0ΩΩ
1 F4 52K00ΩΩ
B1
F1 A B
F2 A B F3 A B F4 A B
R1
R2 VR4
T3
T1
T2
RD4
T4 R3
只要R和电源V选择合适,就能保证 对输出高、低电平的要求。同时使T4管 的负载电流又不过大。
A&
B
◊F
VCC
OC门逻辑符号。
R
OC门输出端可以并联,实现线与功能。 A
B
&

F
F AB CD AB CD
C&
D

13
TTL门输出有两种状态:
逻辑0 逻辑1
由于器件制造的非一致性,输出的高、低电平略有不同, 因此,规定输出额定逻辑电平为:

西工大noj答案完整版

西工大noj答案完整版

西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10);for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m){n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]);return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) { dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main()int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina){if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina); return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b;char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)){min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min);return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp);for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt) {if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1])) strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a);if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}}for(i=2;i<m;i++)s=s+A[1][i];for(i=2;i<m;i++)。

西北工业大学_电路基础答案1

西北工业大学_电路基础答案1
o
图题5-21
5-22图题5-22所示电路,
I10A
s
,5000rad/s,R1R210,C10F,
36.98。求各支路电流,并作出相量图。
图题5-22
答案
解:
1
UIj200V
cs
jC
IU/R
sc1
U50j50(V)
1/R1/R
12
I2U/R25j5(A)
I1IsI25j5(A)
相量图如图5-22(b)所示。
5-17图题5-17所示,已知U100V,
4
10rad/s。调节电位器R使伏特计指
针为最小值,此时R1900,
R21600
。求伏特计指示的数值和电容C。
图题5-17
答案
解:UabUadUbd,
R
2
UU
ad
RR
12
jX
C
UU
bd
,3
KjX
C
2
R(X)j3000X
2CC
U()U
ab
2222
RR(3K)(X)(3K)(X)
7
10rad/s,Z可变,求Z为何值时可获
得最大功率Pm,
P
m
为多大,此时I2为多大?
图题5-24
答案
解:移去
Z:
jXR
C
U(U)Uj10V
oc
RjRRjX
CC
除源
jXR
C
Z021j(K)
RjX
C
作戴维南等效效电路,并接入移去的支路,如图5-24(b)所示.。
根据最大功率传输电路。1()
ZZjK
o
时,Z可获得最大功率Pm,且

西北工业大学数电考试试题 及答案

西北工业大学数电考试试题 及答案
诚信保证
本人知晓我校考场规则和违纪处分条例的有关规定,保证遵守考场规则,诚实做人。本人签字:
编号:
成绩
答案
西北工业大学考试试题(A卷)
学年第学期
开课学院课程学时
考试日期考试时间2小时考试形式( )( )卷
考生班级
学 号
姓 名
答案
一填空题:
4分)将下列数进行数制、码制转换:
(1001011.11)2进制=()10进制=( )16进制
西北工业大学命题专用纸(A卷)
四(10分)由维持-阻塞型D触发器组成的电路如题四图所示。已知A、B、CP端的电压波形,试画出Q端对应的电压波形。设电路的初始状态为0。
题四图(波形5分)
解:Qn + 1= D = Qn AB,当AB = 0, Qn + 1= Qn;(5分)
当AB = 1, Qn + 1=
(2)状态转换图如下
(3分)
(3)F的序列周期取决于低三位Q2Q1Q0的周期,其状态转换图如下:
(3分)
所以F = 0000011111,0000011111
(4)F序列信号的周期是10个CP脉冲(2分)
教务处印制(A卷)共8页 第5页
西北工业大学命题专用纸(A卷)
八(10分)由集成双向移位寄存器74LS194和倒T型网络D/A转换器组成的电路如题八图所示。图中Uref=16V,设74LS194初值为0010,其余参数如图。试分析电路并画出输出Uo的波形。
解:Uo = (3分)
74LS194的状态转换分析如下:
(4)(10)(13)(6)(11)(5)(2)(9)(3分)
↑↓
教务处印制(A卷)共8页 第6页
西北工业大学命题专用纸(A卷)

数电西北工业大学考试A卷

数电西北工业大学考试A卷
教务处印制(A卷)共8页 第3页
西北工业大学命题专用纸(A卷)
五、(共21分)分析如下的时序逻辑电路。
1.(9分)画出图5(a)(b)(c)电路的状态转换图,并回答是几进制计数器。
图5(a)图5(b)图5(c)
2.(6分)由维持阻塞式D触发器组成的电路如图6(a)所示。给定输入A、B脉冲如图6(b),试画出触发器复位端 的波形和触发器输出端Q1、Q2的电压波形。设Q1、Q2初态为0。图6(a)图6(b)
附录:
1.异步2-5-10进制计数器74LS90的逻辑框图和功能表:
2.四位超前进位全加器74LS283的逻辑关系和逻辑框图:4.集成定时器555的逻辑框图和功能表:
COF3F2F1F0=A3A2A1A0+B3B2B1B0+CI
3.3线-8线译码器74LS138的逻辑框图和功能表:
教务处印制(A卷)共8页 第7页
假设运动是匀速运动交叉点为起始位置箭头方向为小汽车前部驾驶室位置ctctcrldcoctrdiv16ct5474161cpd3d2d1d0q374ls138stcstbstaa2a1a074ls138stcstbstaa2a1a0q2q1q0前进后退左转右转lrfbs1srg474ls194d0q0q1q2q3a0a1a2enmux74ls151cpd1d2d3irdils0y输出西北工业大学命题专用纸a卷六10分使用jk触发器组成的同步时序逻辑电路如图7a所示
(2)将原函数化简为与或式;
(3)写出其对偶函数的最小项表示式;图1(a)图1(b)
(4)写出该函数的最大项表示式;
2.(12分)异步2-5-10进制计数器74LS90和四位2进制倒T型D/A转换器组成的电路如图2(a)所示。设计数器初始状态Q0Q1Q2Q3=0000。要求:

西北工业大学数字电路与数字电子技术考试题答案

西北工业大学数字电路与数字电子技术考试题答案
诚信保证
本人知晓我校考场规则和违纪处分条例的有关规定,保证遵守考场规则,诚实做人。本人签字:
编号:
西北工业大学考试试题(答案)
2007-2008学年第二学期
开课学院11院课程数字逻辑学时54
考试日期2008.6.11考试时间2小时考试形式(闭)(A)卷
题号








总分
得分
10
8
12
15
15
15
解:Qn + 1= D = Qn AB,
当 AB = 0, Qn + 1= Qn;
当 AB = 1, Qn + 1=
当A≠B, Qn + 1= Q;n
教务处印制共8页 第4页
西北工业大学命题专用纸
七、由集成四位二进制同步步计数器74161和8选1数据选择器74LS151组成的电路如图所示。试按要求回答:(15分)
解:激励方程:
状态方程:
状态转换表:状态转换图:
功能描述:具有自启动能力的摸5异步加法计数器。
五、试用八选一数据选择器CT74LS151用降维法实现逻辑函数:(15分)
解:
教务处印制共8页 第3页
西北工业大学命题专用纸
解:
六、由维持-阻塞型D触发器组成的电路如图所示。已知A、B、CP端的电压波形,试画出Q端对应的电压波形。设电路的初始状态为0。(15分)
西北工业大学命题专用纸
8选1数据选择器(74LS151)
74LS161:4位二进制同步计数器
教务处印制共8页 第7页
15
10
考生班级
学 号
姓 名
一、按要求完成下列各题: (10分)

2021年西北工业大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2021年西北工业大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2021年西北工业大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、在一个容量为l28KB的SRAM存储器芯片上,按字长32位编址,其地址范围可从0000H到()。

A.3HB.7HC.7HD.3fH2、某C语言程序段如下:for(i=0;i<9;i++){temp=1;for(j=0;j<=i;j++)temp+=a[J];sum+=temp;}下列关于数组a的访问局部性的描述中,正确的是()。

A.时间局部性和空间局部性皆有B.无时间局部性,有空间局部性C.有时间局部性,无空间局部性D.时间局部性和空间局部性皆无3、并行加法器中,每位全和的形成除与本位相加两数数值位有关外,还与()有A.低位数值大小B.低位数的全和C.高位数值大小D.低位数送来的进位4、下列关于定点数原码一位乘算法的描述正确的是()。

I.符号位不参加运算,根据数值位的乘法运算结果确定结果的符号位II.在原码一位乘算法过程中,所有移位均是算术移位操作Ⅲ.假设两个n位数进行原码一位乘,部分积至少需要使用n位奇存器A.II,III C.只有IIIB.只有Ⅲ D.全错5、某机器字长为8位,采用原码表示法(其中一位为符号位),则机器数所能表示的范围是()。

A.-127~+127B.-127~+128C.-128~+127D.-128~+1286、总线按连接部件不同可分为()。

A.片内总线、系统总线、通信总线B.数据总线、地址总线、控制总线C.主存总线I/O总线、DMA总线D.ISA总线、VESA总线、PCI总线7、下列关于同步总线的说法中,正确的有()。

I.同步总线一般按最慢的部件来设置公共时钟II.同步总线一般不能很长III.同步总线一般采用应答方式进行通信IV.通常,CPU内部总线、处理器总线等采用同步总线A. I,IIB. I,II,IVC.III,IVD.II,III,IV8、在计算机系统中,表明系统运行状态的部件是()。

西工大noj答案完整版

西工大noj答案完整版

西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10);for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m){n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]);return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) { dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main()int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina){if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina); return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b;char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)){min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min);return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp);for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt) {if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1])) strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a);if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}}for(i=2;i<m;i++)s=s+A[1][i];for(i=2;i<m;i++)。

西北工业大学数电答案

西北工业大学数电答案

A C
1
B
≥1
F
A C
1
B
≥1
F
R
图P2.4
图P2.A4
5.输入波形如图P2.5(b)所示,试画出P2.5(a)所示逻辑门的输出波形。
A B
= 1
F1
A B C
A B C
图P2.5(a)
&
F1
F2
F2 高阻
图P2.5(b)
高阻
解: F1 = A B
F = AB C=1时, F2 为高阻状态,C=0时, 2
G1 A B C G2 K V 1
&
图P2.13 解: 当C=1时, G1 门处于高阻状态,相当于输出端断开,因此在K打开时,电 压表指示为0,当K合上时,量出 G 2 门输入端电压1.4V。 当C=0时 G1 门输出为 AB ,电压表指示取决于A,B. A,B中有一个为” 0” 则电压表为3.6V,当A=B=” 1” 时,电压表为0.3V。
F= AB
A B
0 0 1 1 0 1 0 1
F
0 1 1 0
4.电路如图P2.4所示,为使其完成C=1时, F = B ,电路应如何改动。 解:
当C=1时,三态门呈高阻状态,相当于断开,或非门对应输入端悬空 相当于” 1” 所示 F = B + 1 = 0 ,为使其完成 F = B 应在三态门输入端接一 个 R < R off 的电阻即可,电路图如图P2.A4所示。
接上二极管后,
导电,
截止所以
. (2)开关K断开后,这时 导电, 截止
9.核算图P1.9所示反相器在输入信号作用下晶体三极管的工作 状态,并画出输出波形。(设晶体三极管 ,输出分布电容 )

(西工大)数字电子技术基础大作业3

(西工大)数字电子技术基础大作业3

01
11
10
1 0
1 0
������1n 0 1 ������������������+������ = ������������������ 1 0
01
11
10
1 0
1 0
1 0
③由上式化出驱动方程(M1M2=11)如下:
������3������+1 = ������3������ ������1������ +������3������ ������2������ + ������3������ ������2������ ������1������ = ������3������ ( ������1������ + ������2������ ) + ������3������ ������2������ ������1������ =������3������ ������2������ ������1������ + ������3������ ������2������ ������1������ ������2������+1 = ������2������ ������1������ +������2������ ������1������ ������1������+1 =1· ������1������ +0·������1������ ������������ =������������ =������������������ ������������������ ������������ =������������ =������������������ ������������ =������������ =������ 在 M1M2=11 时,上述驱动方程有效。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

当C=1时,三态门呈高阻状态,相当于断开,或非门对应输入端悬空
相当于”1”所示 F = B +1 = 0 ,为使其完成 F = B 应在三态门输入端接一 个 R < Roff 的电阻即可,电路图如图P2.A4所示。
A
B
1
≥1
F
C
A
B
1
≥1
F
C
R
图P2.4
图P2.A4
5.输入波形如图P2.5(b)所示,试画出P2.5(a)所示逻辑门的输出波形。
Vcc
+VCC
T5
A
T1 T2 T3 T4
C
B
D
F
T6
A
图P2.3(a)
解:
图P2.3(b)
图P2.3(a) 图P2.3(b)
F = AB + CD
F= AB
AB
F
00
0
01
1
101110F T5T1 T2
T3 T4 B
4.电路如图P2.4所示,为使其完成C=1时, F = B ,电路应如何改动。
解:
第一章 惰性电路和晶体管开关
1.有一个串联双向限幅电路,如图P1.1所示如果输入信号为 幅度为15V的正弦波电压,请画出 的波形。
解: 上限幅电平为10V,考虑后级对前级的影响,下限幅电平为: 2.有一尖顶脉冲通过图P1.2所示的串联限幅电路,求其输出电 压 的波形。
解:将图P1.2(a)电路改画为图P1.A2(a)再等效为图P1.A2(b)
F1 = AgB (a)
F2 = A + B (b)
F3 = AB (c)
F4 = A + B (d)
图P2.6
解:
(a)三极管基极应加接基极电阻 RB .否则与门输出高电平3.6V时,将三 极管损坏. (b)TTL非门的输出端不能并联,应换为集电极开路门.
(c)输入端所接电阻 R = 200Ω< Roff ,相当于”0”,使 F3 =1,必须使 R > Ron ,如

时,T饱和,等效电路如图P1.A11(d)
波形如图P1A.11(a)所示
第二章 逻辑门电路
1.有一分立元件门电路如图P2.1(a)所示,各输入端控制信号如图p2.1 (b)所示.请对应图(b)画出输出电压 V0(F)的波形.
+12V
+3V
3.9K 1K
1.5K
F
A
D
B
18K
C
-12V
-12V
图P2.1(a)
但当 一旦
时,导电, 被钳在+3V
10.图P1.10所示反相器中,如果三极管的 =30,最大额定电流
输入信号 高电平为3.5V,低电平为0.3V。试问:
(1)允许最大的灌流负载电流是多少? (2)允许最大的拉流负载电流是多少? 解: (1)求饱和时最大灌电流
最大灌电流为14mA 取 (2)求截止时最大拉电流
取 R = 5KΩ
(d)输入端所接电阻 R = 5K > Ron 相当于”1”,使 F4 1 ,必须使 R < Roff ,如取 R = 100Ω,相当于”0”,这时 F4 = A + B
7.电路如图P2.7(a)~(f)所示,已知输入信号A,B波形如图P2.7(g)所示, 画出电路输入电压波形。
接上二极管后, 导电, 截止所以
. (2)开关K断开后,这时 导电, 截止
9.核算图P1.9所示反相器在输入信号作用下晶体三极管的工作
状态,并画出输出波形。(设晶体三极管
,输出分布电容

解:

时,


T截止
T饱和
为T的饱和电阻

时,
,T截止, 的充电等效电路如图P1.A9(b)
所示,根据等效电路可写出 的三要素。
解: F = ABC + D
A
+3V
0
t
-3V
B
+3V
0
t
-3V
C
+5V
0
t
D
+3V
0
t
F
+3V
0
t
图P2.1(b)
F为图P2.A1
2.对应图P2.2所示的电路及输入信号波形画出 F1 、 F2 、 F3 、 F4 的波
形.
a&
b
F1
b1 c1
&
F2
a
b ≥1
c
a&
≥1
F3
b
b
c ≥1
d b
&
F4
c ≥1
解:
F1 = ab F2 = b c = b + c
F3=a+b+c+ab=abc+a+b=a+b=ab
F4 = b + c + d b + c = b + c + d
a
b c
d F1
F2 F3
F4
图P2.2(b)
F1 ,
F2 , F3 , F4 为图P2.2A
3.试分析图P2.3所示电路的逻辑功能,列出真值表。
解: (a)
图 P1.7
晶体管工作在放大状态 (b)
晶体管饱和条件
晶体管处于饱和状态 (c)晶体管处于截止状态
(d)
×
晶体管处于饱和状态 (e)晶体管处于截止状态
× (f)设T截止
所以三极管应导电,设T饱和
晶体管处于饱和状态 (g)设T饱和导电
T饱和 8.电路如图P1.8所示,设二极管正向电压降为0.7伏(忽略其内 阻),分别计算开关K接通和断开两种情况下,A点的电位,以及 二极管×中流过的电流。 解: (1)开关K接通,设 均截止
A= B1
F1
A B
C
A&
B
F2
C
F1 F2 高阻
图P2.5(a) 解: F1 = A B
图P2.5(b)
C=1时, F2 为高阻状态,C=0时, F2 = AB
高阻
6.改正图P2.6所示TTL电路中的错误。
+VCC
+VCC
RL
RC
A&
B
A1 B1
A B F2
&
F3
200O
A
B ≥1 F4
5KO
11.请画出在输入信号 的作用下,图P1.11所示反相器的输出波 形,并标出波形的幅度.
解: 图P1.11的输入回路时钳位电平为0V的顶部钳位器等效电路图
如图P1.A11(b)所示
的波形如图P1.A11(a)所示.

时,
,T饱和

时,T截止,等效电路如图P1.A11(c)所示
求出t=100 时电容C上的电压
根据图P1. A2(a)可求出上限幅电平为 =9V由图P1. A2(b)可求出 下限幅电平为
3.有一幅度为10V的正弦波电压通过如图P1.3所示的限幅电 路,画出其输出电压 的波形。
解:
4.幅度为5V,周期为2ms的方波通过P1.4所示的电路,画出其
输出波形(
)。
满足钳位条件为钳位电平为2V的顶部钳位。
5.在图P1.5所示电路中,设 画出电压 的波形。
,V=10V 试对应输入电压
解: 当二极管D导电时
,当D截止时
6.在图P1.6所示电路中,设 出波形。
,画出下列两种情况下的输
(1) 的幅度
(2) 的幅度
解:
(1) 的幅度 这种情况电路为钳位电压为 的顶部钳位,画出波形为
(2) 的幅度 这种情况二极管始终处于截止状态,本电路相当于RC耦合电 路,画出波形 为过渡过程结束后为稳态波形。 7.试判断图P1.7所示的电路中,晶体管工作在什么状态。
相关文档
最新文档