将魔王的语言抽象为人类的语言:魔王语言由以下两种规则由人的语言逐步抽象上去的:α-〉β1β2β3…βm ;θδ1δ2…-〉θδnθδn-1…θδ1 设大写字母表示魔王的语言,小写字母表示人的语言B-〉tAdA,A-〉sae,eg:B(ehnxgz)B解释为tsaedsaeezegexenehetsaedsae对应的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。(t-天d-地s-上a-一只e-鹅z-追g-赶x-下n-蛋h-恨)
上传时间: 2013-12-19
上传用户:aix008
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
AT89S52单片机应用及其仿真总结46个KEIL工程源码文件:001、闪烁灯002、流水灯003、跑马灯004、按键识别005、简单输入输出控制006、数码管静态显示007、数码管动态显示008、4X4矩阵键盘的应用009、按键中断识别应用---0~255计数器010、定时器 T0 的应用---9.9 秒计时设计011、利用定时器产生乐曲012、数模转换 ADC0809 的应用--数字电压表013、模数转换 DAC0832的应用--输出0~5V的锯齿波或三角波014、液晶1602的应用015、液晶128X64的应用016、360度天线显示带36指示灯带掉电保护--未完成017、占空比可调模拟仿真程序018、L297_L298芯片混合式步进电机控制器019、串行输入输出共阴极显示驱动器MAX7219应用020、看门狗应用021、舵机控制程序及其仿真022、L297配合场效应管步进电机023、密码锁024、74ls164串转并的数码管显示应用025、L298N控制步进电机026、PC与串口通信027、按键点动互锁程序028、按键点动与自锁029、单片机之间的串口通信实例030、位定义的输入输出控制031、8X8点阵应用演示程序032、四位数字频率计数码管显示033、DS18B20温度显示程序034、0~9999计数器035、DS1302的时钟电路(串行传输显示方式)036、DS1302的时钟电路(并行传输显示方式)037、ULN2003驱动步进电机038、MAX7221数码管动态显示039、设置产品的使用次数040、数字钟设计041、点阵042、DS1302测试程序043、DS1302时钟+1602液晶044、74HC573锁存器045、红外收发控制046、四位频率计
上传时间: 2021-11-09
上传用户:
本文把所研制的IGBT驱动保护电路应用在电磁感应加热系统上,并且针对注塑机的特点设计了一款电磁感应加热系统。其中包括整流滤波电路、半桥逆变电路、控制电路、驱动电路和温度、电流等检测电路。本文的另一个重点分析了IGBT对驱动保护电路的要求,并且研制了一种单管IGBT驱动保护电路和一种IGBT半桥模块驱动保护电路。单管1GBT驱动电路的功能比较简单,只具有软关断和过流保护功能。而IGBT半桥模块驱动保护电路功能比较多,具有软关断、互锁、电平转换、错误信号电平转换、过流保护、供电电压监视、电源隔离和脉冲隔离电路等保护功能,适用于中大功率的IGBT半桥模块驱动。在电磁感应加热部分介绍了电磁感应加热的工作原理,分析了串并联谐振逆变器的拓扑结构和特点。根据注塑机的实际应用设计了两款主电路的拓扑结构,一款是针对小功率部分加热的拓扑结构,是单管IGBT的拓扑结构,另一款是针对中大功率加热部分的半桥IGBT拓扑结构。另外介绍了电磁感应加热的控制电路以及采用模糊PID算法对注塑机料筒进行温度监控调节。最后通过对系统的仿真和实验调试表明整个感应加热系统满足实际应用要求,运行可靠,适合于再注塑机行业中推广。最后,总结了本文的研究内容,并在此基础上对以后的工作做出了简单的展望。
上传时间: 2022-06-21
上传用户:
AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。
标签: 图像传感器
上传时间: 2022-06-27
上传用户:XuVshu
无刷直流电机广泛应用于电动摩托车上,它的控制器直接影响电动摩托车的质量和运行效率。但目前市场上控制器的控制芯片大多不具备专业无刷直流电机控制模块,在外围电路的设计中需要搭建很多的逻辑门电路来实现控制器MOSFET电桥的逻辑驱动控制,在MOSFET上下桥臂的互锁功能和死区时间的设置等都靠模拟电路去实现,可靠性及维修性较差,本文利用具有ARM Cortex-M3内核的STM32芯片的高性能和灵活的配置,研制了一种应用于电动摩托车上的低压大功率低成本的无刷直流电机控制器,很好地解决了这一问题。论文的主要研究内容如下:(1)做了大量调研工作对现有的控制器进行分析比较,从中筛选出最佳的开发方案。(2)建立了无刷直流电机的控制仿真模型,用Proteus软件对无刷直流电机的驱动方式以及调速原理进行了仿真,通过仿真结果的分析对所设计的实际电路进行了改进。(3)建立了MOSFET的驱动电路的仿真模型,对驱动电路中的电子元件的作用进行了全面的分析,结合芯片内部特征通过仿真软件LTspice IV对实际驱动电路进行了验证。(4)建立了STM32开发以及仿真调试环境,完成了全部程序的设计。(5)搭建了一个小型的开发系统,对控制器的硬件和软件进行了调试,研制出电动摩托车无刷直流电机控制器的样机。
上传时间: 2022-06-29
上传用户:
电力电子系统的计算机仿真已经成为其产品设计研发过程中一个很重要的环节,MATLAB、Pspice和SABER是目前国际上最为流行的三大电力电子系统仿真软件。SABER软件以其强大的功能、开放的软件环境日益成为电力电子系统仿真的首选,跟另外两种软件相比其仿真速度更快、收效性更好、仿真结果的准确性更高。为了降低逆变器输出电压的谐波,简单且实用的方法是在逆变器的交流输出侧加装L.C滤波器。LC滤波器是低通滤波电路,它可以有效地抑制高次谐波。但它不能消除交流电压中的低次谐波,尤其是在LC滤波器的转折频率附近的谐波还被放大了。不同的LC滤波参数对输出电压的谐波含量影响很大,滤波参数选取不当会使滤波效果不能满足设计要求。以前,为了选择滤波参数人们需要重复试验并反复比较,耗时耗力。计算机仿真为人们提供了一种研究电力电子电路的方法,通过仿真可以加深人们对电路与系统工作原理的理解、加速设计周期和节约开发成本。建模和计算机仿真并对比不同参数下的滤波效果和差异,在兼顾滤波环节重量的同时,可以得到合适的滤波效果,为产品设计研发提供参考。本文结合铁科院机辆所研制DC600V客车空调逆变电源,采用SABER软件进行仿真,具体分析了影响逆变器输出电压谐波的诸因素及特点,本文还定量分析了不同载波频率、不同互锁时间以及不同负载工况下线电压谐波含量的变化。最后通过仿真得到客车逆变电源不同的LC滤波参数与逆变器输出电压谐波含量的关系。
上传时间: 2022-07-06
上传用户:
一、设计任务与要求1.用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。2.在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致是锁打开。3.用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁4.如5s内未将锁打开,则电路自动复位进入自锁状态,并发报警信号。二、方案设计与论证1、用按键输入四位十进制数字,输入密码要存储。2、比较输入密码和原始密码。当输入正确密码时,给出开锁信号,开锁信号用一个绿色指示灯表示,绿灯亮表示密码输入正确:如果输入密码不正确,用红灯表示。3、锁的开关用红灯和绿灯表示,一次只能亮一盏。红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。4、设置倒计时电路和自锁电路。如果密码在5s内未能输入正确则发出报警声,并且自锁电路。5、设置密码设置开关,开关闭合后,允许设置密码,设置好密码后,打开此开关。6、需要在输入密码开始时识别输入,并由此触发计时电路。
标签: 数字电子技术
上传时间: 2022-07-23
上传用户: