JAVA由浅入深4种算法解决一道算法题

JAVA由浅入深4种算法解决一道算法题
JAVA由浅入深4种算法解决一道算法题

JAVA由浅入深解决一道数字组合题的4种方案朱咸军,南京市白下区大阳沟30号21-306,210016

摘要:本文首先对数字组合题本身进行要点分析,然后通过4中不同的程序风格由浅入深的介绍了JAVA程序开发之美。

关键词: JAVA由浅入深,JAVA API,正则表达式,数字组合

1题目与分析

1.1题目

一道数字组合题要求:9个数1-9组成三个数,如:327 654 981,每个数字只能用一次,每三个数字组成一个组的数字,第二组数字是第一组数字的两倍,第三组数字是第一组数字的三倍,用程序实现。

1.2要点分析

根据题目要求进行要点分析:

1.9个数1-9组成三个数:三组数字中不能能包含0;

2.每个数字只能用一次:可以推算出三组数字中最大一组数字的值不能超过987,最小一组数字的值不能小于123;

3.每三个数字组成一个组的数字,第二组数字是第一组数字的两倍,第三组数字是第一组数字的三倍:由3组数字之间的关系可以推断出第一组数字为最小,且最小值为123,由第三组数字是第一组数字的三倍可以将第一组数字最大值定位在333,又因为第二个要点决定了第一组数字的第二位只能是2,不难得出第一组数字的第三位最大就是9了。由此推出第一组数字的最大值为329,最小值为123;

4.第二组数字是第一组数字的两倍,第三组数字是第一组数字的三倍:根据相互关系很快能够得到第二组数字和第三组数字。同时结合第二点分析进行结果排重后得到正确结果。

2算法与描述

根据1.2的要点分析JAVA类基本结构已经呈现出来了,类中最多需要2个方法:

1.校验方法:用于数字排重和排除三组数字中包含0的结果;

2.三组数字产生方法:产生的三组数字进行组合进行校验,符合的就是目标结果。

类中第一个基本校验方法貌似公用的,这里给出命名为vaildRepeat(String str),由函数名可知有重复的返回为true,否则返回为false。

这个方法输入参数为一个字符串,该字符串可以是第一组数字、第一第二组数字组合或者是第一第二第三组数字组合的一个字符串。所以方法体定义为如下:

public static Boolean vaildRepeat(String str) {

Boolean flag = false;

return flag;

}

校验方法第一步就是检查方法输入参数中是否包含0,如果包含0立刻返回一个true,一行代码:if(str.indexOf("0")>0){return true;}

方法第二步就是检查数字1到9在输入参数中出现的次数,因为题目中已经限制了数字只能出现一次,所以只要统计这9个数字在字符串中出现的次数就可以了。很明显每个数字统计结果只能是0和1。所以在类初始位置定义了2个final类型的静态常量,静态常量的修改可以帮助解决本题目后续延伸问题。

private static final int MAX_DISPLAY_CNT = 1; //数字统计最大出现次数

private static final String[] NBR_STR_ARR= {"1","2","3","4","5","6","7","8","9"};//枚举出所有可能出现的数字作为一个常量数组,用于后续统计每个数字出现次数;

统计这9个数字在字符串中出现的次数相信不是件难事,下面按照对JAVA编程熟悉程度不同给出四种不同的程序描述。

2.1入门级代码

入门级代码主要是分别生成3组数字,因为第一组数字的范围已经可以确定了,所以循环的起始和终止也就有,代码如下:

for(int i=123;i<=329;i++)//注意中间是小于等于

入门级代码中需要分别产生出3组数字,由于每组数字是一个不定长的数组,在方法的起始的地方定义了2个ArrayList数组,分别为firstList、secList,分别用于存储符合条件的第一组数字和第二组数字。

第一组数字要求在123到330之间的所有符合前三位不重复且不含0的数字组合,符合条件的存入到firstList;

第二组数字是在firstList的范围中*2,转换成字符串后和第一组数字进行拼接成一个字符串,调用vaildRepeat()方法,返回值为false的存入到secList;

第三组数字在secList列表范围中的数字除以2,然后乘以3,除法结果拼接secList 记录然后再拼接乘以3的结果转化成字符串,调用vaildRepeat()方法返回值为false的记录就是结果;

fun1代码如下:

public static void fun1(){

ArrayList firstList = new ArrayList(),secList = new ArrayList();

StringBuffer newStr = new StringBuffer();

int v1 = 0, v2 = 0, v3 = 0;//分别存储第一、第二、第三个数字组合

//第一步找出前三位不重复的数子组合

for(int i=123;i<=329;i++){//数值分析最大值为329,最小值为123

if(!vaildRepeat(String.valueOf(i))){

firstList.add(String.valueOf(i));

}

}

//第二步在第一步基础上对第一步结果进行*2,并进行不重复验证

for(int i=0;i

v1 = Integer.parseInt(firstList.get(i).toString());

v2 = v1 *2;

newStr = new StringBuffer();

newStr.append(v1).append(v2);

if(!vaildRepeat(newStr.toString())){

secList.add(v2);

}

}

//在第二步基础上进行1.5倍计算,并进行不重复验证

for(int i=0;i

v2 = Integer.parseInt(secList.get(i).toString());

v1 = v2/2;

v3 = v1*3;

newStr = new StringBuffer();

newStr.append(v1).append(v2).append(v3);

if(!vaildRepeat(newStr.toString())){

System.out.println("Fun1:" + v1 +"," + v2 +"," +v3);

}

}

}

2.2改进代码

fun1代码执行结果就本题所需要的结果,且代码逻辑非常清楚,代码简单易懂。但是运行效率较为底下,尤其是分别生成第一组数字、第二组数字和第三组数字时多次采用循环。改进该部分代码就是一次生成三组数字的一个字符串,然后再进行调用vaildRepeat()方法返回值为false的记录就是结果。代码如下:

public static void fun2(){

StringBuffer newStr = null;

for(int i=123;i<=329;i++){

newStr = new StringBuffer();

newStr.append(i).append(i*2).append(i*3);

if(!vaildRepeat(newStr.toString())){

System.out.println("Fun2:" + i +"," + i*2 +"," +i*3);

}

}

}

2.3运用JAVA API代码

经过改进后的程序代码已经少了很多了,是否有更简洁的代码取代vaildRepeat()方法呢?熟悉JAVA API的高手们根据题目要求很快发现如果对字符串进行排序后的字符串一定为“123456789”,所以要对上面生成字符串进行重新排序。

使用JAVA提供API的重新排序功能,取代了vaildRepeat()方法。排序后结果和字符串

“123456789”进行比对,很大程度上提供了代码执行效率,代码如下:

public static void fun3()

{//该方法抓住了1-9不可重复,对新串排序后进行比较,效率大大提高

String targetStr = "123456789";

String str = null;

StringBuffer newStr = null;

for(int i=123;i<=329;i++){

str = null;//循环置null,该内存可以重复使用,不需要重新开辟内存

newStr = new StringBuffer();

newStr.append(i).append(i*2).append(i*3);

byte[] b = newStr.toString().getBytes();

Arrays.sort(b);

str = new String(b);

if(targetStr.equals(str)){

System.out.println("Fun3:" + i +"," + i*2 +"," +i*3);

}

}

}

到目前为止本题的算法可以只用fun3()就可以得出正确的答案了。

2.4正则表达式方法

除了上面三种程序外,资深JAVA程序员又给出了一个更高效、更简洁的方法,那就是正则表达式。通过正则表达式去做验证从代码的简洁度、代码执行效率上来讲都是无可挑剔的。

使用正则表达式就先要找到一个表达式,这个表达式需要符合1-9数字不重复且不包含0的2个要求。数字不重复表达式“\\d*(\\d)\\d*\\1”,另外一点是不包含0,在表达式的末尾增加|0,全部就是“\\d*(\\d)\\d*\\1|0”。

public static void fun4(){

// \\d*(\\d)\\d*\\1(判断是否有重复数字)|0(或含0)

Pattern p = https://www.360docs.net/doc/0116629495.html,pile("\\d*(\\d)\\d*\\1|0");

for (int i = 123; i < 329; i++) {

if(!p.matcher("" + i + 2*i + 3*i).find()) {

System.out.println("Fun4:" + i +"," + i*2 +"," +i*3);

}

}

}

最后还需对针对不同方法引用不同的包:

1.入门级代码中需要引入包:java.util.ArrayList;

2.运用JAVA API代码需要引入包:java.util.Arrays;

3.正则表达式方法需要引入包:java.util.regex.Pattern;

在类中定义一个main函数,分别调用类中的方法得到同样的结果,为了能在main方法中不定义对象直接调用类中的方法,需要将各个方法定义成static(静态)方法。

public static void main(String[] args) {

System.out.println("****JAVA基本算法****");

fun1();

System.out.println("****JAVA改进算法****");

fun2();

System.out.println("****JAVA接口型算法****");

fun3();

System.out.println("****正则表达式算法****");

fun4();

}

运行结果如下:

3总结

回过头来我们看一下4个方法代码中需要注意的几个点:

1.final类型的静态常量的运用

在类开始我们定义了2个final类型的静态常量,为什么不把fun3()中的targetStr 也定义成一份final类型的静态常量呢。

按照JAVA基础知识中对于静态常量的定义也可以将targetStr定义为final类型的静态常量,但是实际使用过程中targetStr没有被外部函数重复调用,所以定义为一个方法的局部变量,方法执行完了targetStr所占用的内存就立刻被释放了。

MAX_DISPLAY_CNT和NBR_STR_ARR在校验函数中频繁使用,为了避免每次使用时重新分配内存区域,提高程序执行效率,在类初始化是加载到静态内存区域中,随着类对象生命周期结束,静态变量占用的内存区域也同时被回收。

2. fun1()代码中ArrayList数组为什么是2个而不是3个呢?

因为2个ArrayList对象分别用于临时存储符合条件的第一组数字和第二组数字的,当secList的对象生成结束后,firstList就已经没有存在的必要了,可以对其进行置null

便于GC进行内存立即回收了。

3.StringBuffer的使用

代码中多次使用到StringBuffer newStr = null;然后再循环中才进行实例化操作newStr = new StringBuffer();,而不是在循环体内部进行StringBuffer newStr = new StringBuffer();,这样做的好处是newStr内存可以重复使用,减少内存消耗。另外append ()方法可以直接将int型数字自动转化成String进行字符串拼接。

上面4种算法由浅入深的介绍了本题解决方案,运行效率不断提升。从四种方案让人感受到了JAVA程序开发之美。但是由此题进行延伸的话,将题目中的每个数字只能用一次改为每个数字只能用N次,N在1到9之间,大家不妨自己改改看。

识别串并联电路的4种方法

识别串并联电路的4种方法 1.使用定义法识别串并联电路:若电路中的各元件是逐个顺次连接起来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2.使用电流流向法识别串并联电路:从电源的正极(或负极) 出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所 有的用电器,则这个电路是串联的(如图l所示);若电流在某处 分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如 图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式, 并分析开关的作用。 分析:用“电流流向法”来判断.在图甲所示的电路中,从电源的正极出发,电流依次通过了灯L1、L2和L3,电路中没有出现“分叉”,见图3的虚线所示,所以这三盏灯是串联的.在串联电路中,一个开关可以控制所有的用电器。 为识别图乙所 示电路的连接方式, 可以先用虚线将电 流通过的所有路径 在图中画出来,在图 中可看出,电流的流 向是: 由此可看出灯L1、L2和L3分别在三条支路上,所以这三盏灯是并联的。其中通过灯L1、L2的电流通过了开关S1,当开关S1断开时,灯L1、L2中 没有电流通过,两灯熄灭,因此开关S1控制L1、L2两盏 灯泡。开关S2在干路上,控制三盏灯。 在如图所示电路中用“电流流向法”画出了图丙中 的电流流向。见图4的虚线所示,电流有三条通路,且 每一流线上只有一个用电器,则此电路为并联电路。开 关S在干路上,控制三盏灯。

3.使用节点法识别串并联电路节点法:就是在识别电路 的过程中,不论导线有多长,只要其间没有电源、用电器等, 导线两端点均可以看成同一个点,从而找出各用电器两端的 公共点。以图丙为例,具体方法:先在图中各接点处用字母 表示出来,如图5所示。 由“节点法”可知,导线的a端和c端看成一个点,导 线的b端和d端看成一个点,这样L1、L2和L3的一端重合为 一个点,另一端重合为另一个点,由此可知,该电路有三条支路,并由“电流流向法”可知,电流分三条叉,因此这个电路是三盏电灯的并联,等效电路如下图所示。 “节点法”主要用于不规范的复 杂电路的识别,有一定的难度。识别 电路也还有其他方法,但无论什么方 法都需要同学们在加强练习的基础上 不断总结识别电路的技巧。 对于电路中有三个用电器,而只有 两条电流路径的情况,那么就会有一个 用电器在干路上,或者有两个用电器串 联在一条支路上,这个电路一定是混联。 这两种情况分别如图中甲、乙所示。 4. 使用拆除法识别串并联电路 拆除法是识别较难电路的一种重要方法。它的原理就是串联电路中各用电器互相影响,拆除任何一个用电器,其他用电器中就没有电流了;而并联电路中,各用电器独立工作,互不影响,拆除任何一个或几个用电器,都不会影响其他用电器。 例2.如图所示,两个灯泡通过灯座装在一个木匣子上,A、B、C、D分别是连接两灯泡灯座的接线柱。E、F两接线柱间接上电源后,两灯泡发光。如何判断两灯泡是串联还是并联?简要叙述你的判断过程。 分析:根据串、并联电路特点进行分析.串联电路只有一 个电流的路径,只要一处断开,整个电路断路,即其他用 电器不能工作;并联电路有两个或两个以上电流的通路, 其中一个支路断开,其他支路的用电器仍然工作,即各用 电器件互不影响。因此可用断路法进行判断。 答案:拧下一只灯泡,若另一只灯泡熄灭则两灯串联, 否则两灯并联。

并联均流电路的几种最常见分析方法

并联均流电路的几种最常见分析方法 先说说为什么需要均流输出阻抗法先来说一下第一种均流方法,输出阻抗法,droop法:3、主从设置法平均电流法平均电流法:平均电流法首先要得到一个平均电流,也就是总负载电流除以模块总数得到的电流值,各模块电流与该平均电流比较,如果模块电流大于平均电流就调低模块输出电压,反之调高模块输出电压,从而实现各模块输出电流一致。在平均电流法中,将所有模块的输出电流,通过一个峰值电流法峰值电流法就是在所有并联模块中,模块自动选举产生一位主模块,其余所有模块电流向该模块靠拢,企图达到主模块的电流(但永远却达不到) 平均电流均流法中,连接到均流母线的电阻换成二极管,就变成了峰值电流均流法,电路图如上图所示,假设有N个模块并联,模块输出电流对应的电压分别为V1\V2….Vn,很明显从上图可以看到,均流母线上体现的将是模块输出电流最大的模块的电压Vx(有一个二极管压降,即使将平均电流均流法中的四个电阻换成四个二极管,很明显A点电压将是最高电压减去一个二极管压降了)。这个模块我们称之为主模块,从上面电路图上可以看出,电路会调整所有模块输出电流向主模块对应的电流靠近,但由于均流母线电压与主模块电流对应的电压相差一个二极管压降,所以从模块输出电流永远是紧跟主模块,但超不过主模块。 与主从设置法比较,这种均流方式里面的主模块,是由并联模块自己选就产生的,所以这种均流方式,也称为民主均流模式。当主模块故障的时候,在其余模块里会再次选举产生一个模块作为主模块。系统仍可以正常工作。 下图为曾经采用过的一种峰值电流均流模式的具体电路。工作原理基本与3902类似,采用2.5V基准提供一个偏置电压,拉开主模块与从模块之间的差距,-2.5V的电平是为了让模块单独工作是,均流电路输出高电平,这样结合后面二极管,均流电路就不起作用了。 需要说明的是,由于偏置是2.5V提供的,所以在额定输出电流下,电流检测放大电路的

五种方法识别串并联电路

五种方法识别串并联电路 李冲亮 学会正确识别串并联电路是这一章的重点之一,会识别电路是学习电路连接和后面电路计算的基础。对于电路的识别要紧紧抓住串联电路和并联电路的基本特征,而不应单从形状上去分析,下面介绍几种区分串并联电路的方法。 1. 定义法:若电路中的各元件是逐个顺次连接来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2. 电流流向法:电流流向法是识别串并联电路最常用的方法。在识别电路时,让电流从电源的正极出发经过各用电器回到电源的负极,途中不分流,始终是一条路径者,为串联;如果电流在某处分为几条支路,若每条支路上只有一个用电器,最终电流又重新汇合到一起,像这样的电路为并联。并联电路中各用电器互不影响。 3. 拆除法:拆除法是识别较难电路的一种重要方法。它的原理就是串联电路中各用电器互相影响,拆除任何一个用电器,其他用电器中就没有电流了;而并联电路中,各用电器独立工作,互不影响,拆除任何一个或几个用电器,都不会影响其他用电器。 例1判定图1中四个电阻的连接方式。 图1 [解析]我们可以用手挡住任意一个电阻,观察去掉这个电阻后是否影响其他电阻的工作,注意利用拆除法可以拆除一个也可同时拆除几个用电器,本例中各用电器独立工作、互不影响,为并联。 4. 节点法:所谓“节点法”就是在识别不规范电路的过程中,不论导线有多长,只要中间没有电源、用电器等,则导线两端点均可以看成同一个点,从而找出各用电器两端的公共点,它的最大特点是通过任意拉长和缩短导线达到简化电路的目的。 例2 判定图2中电路的连接方式

图2 [解析]A、B、C这根线和D、E、F这根线上都没有用电器,故可以把这两根线看作两个点处理,即缩成两个结点,画出等效电路图(如图3所示),可知三个灯并联在A、F 两个点之间。 图3 5. 等效电路法:对于题目中给定的电路可能画法不规则,我们可综合上述方法通过移动、拉长、缩短导线,把它画成规则的电路,即画出它的等效图来进行识别。 趁热打铁做练习 判定如图4所示的电路的连接方式。 图4

Java经典编程题50道

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】

电路的基本分析方法

第2章电路的基本分析方法 电路的基本分析方法贯穿了整个教材,只是在激励和响应的形式不同时,电路基本分析方法的应用形式也不同而已。本章以欧姆定律和基尔霍夫定律为基础,寻求不同的电路分析方法,其中支路电流法是最基本的、直接应用基尔霍夫定律求解电路的方法;回路电流法和结点电压法是建立在欧姆定律和基尔霍夫定律之上的、根据电路结构特点总结出来的以减少方程式数目为目的的电路基本分析方法;叠加定理则阐明了线性电路的叠加性;戴维南定理在求解复杂网络中某一支路的电压或电流时则显得十分方便。这些都是求解复杂电路问题的系统化方法。 本章的学习重点: ●求解复杂电路的基本方法:支路电流法; ●为减少方程式数目而寻求的回路电流法和结点电压法; ●叠加定理及戴维南定理的理解和应用。 2.1 支路电流法 1、学习指导 支路电流法是以客观存在的支路电流为未知量,应用基尔霍夫定律列出与未知量个数相同的方程式,再联立求解的方法,是应用基尔霍夫定律的一种最直接的求解电路响应的方法。学习支路电流法的关键是:要在理解独立结点和独立回路的基础上,在电路图中标示出各支路电流的参考方向及独立回路的绕行方向,正确应用KCL、KVL列写方程式联立求解。支路电流法适用于支路数目不多的复杂电路。 2、学习检验结果解析 (1)说说你对独立结点和独立回路的看法,你应用支路电流法求解电路时,根据什么原则选取独立结点和独立回路? 解析:不能由其它结点电流方程(或回路电压方程)导出的结点(或回路)就是所谓的独立结点(或独立回路)。应用支路电流法求解电路时,对于具有m条支路、n个结点的电路,独立结点较好选取,只需少取一个结点、即独立结点数是n-1个;独立回路选取的原则是其中至少有一条新的支路,独立回路数为m-n+1个,对平面电路图而言,其网孔数即等于独立回路数。 2.图2.2所示电路,有几个结点?几条支路?几个回路?几个网孔?若对该电路应用支

电路图识别专项练习

、识别电路图 电路图识别专项练习 姓名: 1、 如图所示电路,如果同时闭合开关 S i S 3,且断开S 2,则灯L i 、L 2为 要使灯L i 、L 2组成串联电路,只要闭合开关 _____________ . 2、 如图所示电路中,要使电铃和电灯同时有电流通过,以下做法中正确的是 ( ) A .断开S 2,闭合S 1、S 3; C.闭合S 1,断开S 2、S 3; 3、 在如图所示的电路中,要使 A 只闭合开关S 和S 3 C 只闭合开关S 和S 2 B .断开S 3,闭合S i 、S 2 D .闭合S 2,断开S i 、S 3 L i 和L 2同时发光( 只闭合 开关S 和S 3 同时闭合开关 第3题图 第i 题图 4、如图所示的电路中 第2题图 ,开关 S 闭合后,三盏电灯并联的电路是( 联; 若要使L i 、L 2并联在电路中,必须闭合开关 第6题图 Si 第5题图 S3 _h …I 卜 第7题图 二、串并联电路识别专题 i .在图i 的电路中,若使L i 和L 2串联连接,应 _____________ 接,应 ________________ ,绝对不允许同时闭合 ___________ 现象。 2、如图2所示电路中,要使电灯 L i 和L 2接成串联电路,应 若要使电灯L i 和L 2接成并联电路,应 _____________________ ;若同时闭合开关. 电路处于短路状态,这是绝对不允许的。 ,若使L i 和L 2并联连 —,将会发生 ________ 3?如图3所示的电路中,开关 S i 、S 2、S 3都处于断开位置,要使电灯 L i 和L 2 接成串联电路,应 ____________________ ,若要使电灯 L i 和L 2接成并联电路,应 __________________ ;若同时闭合开关 ,电路处于短路状态,这是绝对 S 断开时,两个灯泡都发光, ) 5、如图所示,两个灯泡始终完好,当开关 当开关S 闭合时,可能出现的现象是( B . L i 和L 2都亮 D . L i 和L 2都不亮 L 1和L 2并联,下列作法中正确的是“( B 只闭合开关S 3 D 开关S i 、%、S 3全闭合 L i 、L 2串联在电路中,只能闭合开关 A . L i 不亮,L 2亮 C . L 2不亮,L i 亮 6、 如图所示,若使灯 泡 A 只闭合开关S i C 只闭合开关S i 和S 3 7、 如图所示的电路中,要使灯泡 图2 S 2 4、如图4所示电路中,要使电灯 L i 和L 2接成串联电路,应闭合开关 __________ ; 若要使电灯L i 和L 2接成并联电路,应闭合开关 ____________ ;若同时闭合开关—

50道经典java编程题

【程序1】TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序2】FindPrimeNumber.java 题目:判断101-200之间有多少个素数,并输出所有素数。 【程序3】FindDaffodilNumber.java 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 【程序4】FenJie.java 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 【程序5】ConditionOperator.java 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

【程序6】GcdTest.java辗转相除法 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 【程序7】StChar.java 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 【程序8】TestAdd.java 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 【程序9】WanShu.java 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 【程序10】TestBall.java 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

识别电路的常用方法有电流流向法

识别电路的常用方法有电流流向法(电流跟踪法)、摘表法(去表法)、直线法和节点法。在识别电路的过程中,往往是几种方法并用。 1.电流流向法 电流流向法是指用描绘电流流向的方法来分析电阻连接方式的方法。这是一种识别电路最直观的方法,也是连接实物电路时必须遵循的基本思路。具体步骤是:从电源正极出发,沿着电流的方向描绘出电流通过电阻的各条路经,一直达到电源的负极。 2.摘表法 摘表法的基本思路和步骤:从电路中摘去电压表和电流表后,电压表所在支路用断路替代,电流表所在位置用导线替代。如果需要进一步对电路进行分析讨论,原电压表、电流表所测量的电压和电流则应在简化后的电路上标出。 3.直线法 直线法是一种普遍适用的 简化电路的方法,是在上述两 种方法的基础上,把不规范电 路简化成规范电路的方法。在 识别电路、分析电路变化等方 面有不可替代的的作用。具体 方法步骤是:将电路从电源正. 负极处 ...断开,结合电流流向法,拉长和缩短某一段导线,使各组元器件都在一条直线上,一次不成,可逐次分步完成。 4.节点法 节点法是一种将不规范电路快速简化、改化为规范电路的方法。具体做法是:从电源正极开始,把电阻之间的连接导线缩减成点,相同的点用同一个字母表示。如果一个电路中的点多于两个,可以将这些点排在一条直线上,再把相应的电阻补充到这些点之间,节点法和直线法有着相辅相成的关系。大多数时间比直线法来得更直接、更简洁。 例4:图5(甲)所示电路中,三个电阻是__联的;电流表A1测量的是通过电阻___的电 流。电流表A2测量的 是___的电流。 二、动态电路分析 与判断

动态电路分析题和电路故障分析题对学生有较高的能力要求,是初中学生物理学习过程中的难点。进行电路故障分析,要以电路动态分析能力作为基础,而电路故障分析又是电路动态分析的载体。 分析动态电路的一般思路是:根据引起电路变化的原因(开关通断、变阻器滑片移动、电路故障),分析判断电路中电阻的变化,根据欧姆定律分析电路中电流的变化(电流表示数变化),再根据欧姆定律变形式U=IR(或串并联电路电压特点)进一步判断电路中部分电路中电压的变化(电 压表示数变化)或其它物理量的变化。 1、滑动变阻器滑片P的位置的变化引起电路中电学 物理量的变化 (1).串联电路中滑动变阻器滑片P的位置的变化引 起的变化 2、开关的断开或闭合引起电路中电学物理量的变化 (1).串联电路中开关的断开或闭合引起的变化

电路的几种分析方法

几种常见电路分析方法浅析 摘要:对电路进行分析的方法很多,如叠加定理、支路分析法、网孔分析法、结点分析法、戴维南和诺顿定理等。根据具体电路及相关条件灵活运用这些方法,对基本电路的分析有重要的意义。现就具体电路采用不同方法进行如下比较。 关键词:电路分析电流源支路电流法网孔电流法结点分析法叠加定理戴维宁定理与诺顿定理 Several Commonly Used Analytical Methods in Circuit Abstract: on the circuit analysis methods, such as superposition theorem, branch analysis method, mesh analysis method, nodal analysis method, Thevenin and Norton's theorem. According to the specific circuit and related conditions of flexibility in the use of these methods, the basic circuit analysis has important significance. The specific circuit using different methods are compared. Key words :Circuit Analysis of voltage source current source branch current method mesh current method nodal analysis method of superposition theorem and David theorem and Norton theorem in Nanjing. 引言:每种电路的分析方法,一般都有其适用范围。应用霍夫定律求解适用于求多支路的电流,但电路不能太复杂;电源法等效变换法适用于电源较多的电路;节点电位法适用于支路多、节点少的电路;网孔分析法使适用于支路多、节点多、但网孔少的电路;戴维宁定理和叠加定理适用于求某一支路的电流或某段电路两端电压。上面例题的电路比较简单,可选择任意一种方法求解,对于一些比较复杂但有一

JAVA试题集锦(含答案)

JAVA习题锦集(含答案) 一、判断题 1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承 2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数 3.(×)A subclass inherits all methods ( including the constructor ) from the superclass 4.(×)Java中所有的类都是https://www.360docs.net/doc/0116629495.html,ng的子类 5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址 6.(×)abstract方法不一定要声明在abstract类中 7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误 8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号 9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目 10.(×)最终方法只能存在于最终类中 二、单选题 1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B (A)安全性(B)多线性(C)跨平台(D)可移植 2、下列选项中不是JAVA语言特点的是()D (A)面向对象(B)平台无关(C)安全性高(D)单线程 3、异常包含下列那些内容?()D (A)程序中的语法错误(B)程序的编译错误 (C)程序执行过程中遇到的事先没有预料到的情况 (D)程序事先定义好的可能出现的意外情况 4、JAVA语言中的语句是以()为结尾的。B

java50道经典逻辑题

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序1】 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:咋一看不知道如何下手,但是你在草稿纸上写写分析一下,就很快发现其中的规律了package logic; import java.util.Scanner; public class RabbitNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("你想知道前几个月的兔子的数量"); int month = in.nextInt(); int[] mon = new int[month]; if(month < 3){ System.out.println("第" + month + "个月有1 对兔子,共2 只"); } else for(int i = 2; i < month; i++){ mon[0] = mon[1] = 1; mon[i] = mon[i - 1] + mon[i - 2]; System.out.printf("第%d 个月有%d 对兔子,共%d 只兔子\n", i + 1, mon[i], 2 * mon[i]); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 分析:如果知道素数是什么,该题就应该不难了 package logic; public class Prime { public static void main(String[] args) { System.out.print("101--200中的素数有:"); for(int i = 101; i <= 200; i++){ if(isPrime(i)) System.out.print(" " + i); } } //isPrime方法用来判断一个数是否是素数private static boolean isPrime(int i) { // TODO Auto-generated method stub for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0) return false; } return true; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:解决这个题目主要要知道怎么把一个数的各个位上的数拆分出来 package logic; import java.util.Scanner; public class NarcissisticNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("水仙花数有:"); for(int num = 100; num < 1000; num++){ if(isNarcissisticNum(num)) System.out.println(" " + num); } } //一个判断正整数是否为水仙花数的方法private static boolean isNarcissisticNum(int num) { // TODO Auto-generated method stub int a = num / 100; //分离出百位a int b = (num / 10) % 10; //分离出十位b int c = num % 10; //分离出个位 c int sum = a * a * a + b * b * b + c * c * c; if(sum == num) return true; else return false; } } 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 分析:按步骤实现就可以了(有多种实现方式,以下代码供参考。我也参考了别人的)package logic; import java.util.Scanner; public class PrimeFactorOfInteger { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个

十种复杂电路分析方法

电路问题计算的先决条件是正确识别电路,搞清楚各部分之间的连接关系。对较复 杂的电路应先将原电路简化为等效电路,以便分析和计算。识别电路的方法很多,现结合具体实例介绍十种方法。 一、特征识别法 串并联电路的特征是;串联电路中电流不分叉,各点电势逐次降低,并联电路中电流分叉,各支路两端分别是等电势,两端之间等电压。根据串并联电路的特征识别电路是简化电路的一种最基本的方法。 例1 .试画出图1所示的等效电路。 阳b-oB Bo, 解:设电流由A端流入,在a点分叉,b点汇合,由B端流出。支路a—R1— b和a—R2 —R3(R4)—b各点电势逐次降低,两条支路的a、b两点之间电压相等,故知R3和R4并 联后与R2串联,再与R1并联,等效电路如图2所示。 二、伸缩翻转法在实验室接电路时常常可以这样操作,无阻导线可以延长或缩短,也可以翻过来转过去, 或将一支路翻到别处,翻转时支路的两端保持不动;导线也可以从其所在节点上沿其它导线滑动,但不能越过元件。这样就提供了简化电路的一种方法,我们把这种方法称为伸缩翻转法。 例2 .画出图3的等效电路。

支路外边去,如图4。 再把连接a 、C 节点的导线缩成一点,把连接 b 、d 节点的导线也缩成一点,并把 R5连到 节点d 的导线伸长线上(图5)。由此可看出R2 R3与R4并联,再与R1和R5串联,接到 电源上。 三、电流走向法 电流是分析电路的核心。从电源正极出发 (无源电路可假设电流由一端流入另一端流出 ) 顺着电流的走向,经各电阻绕外电路巡行一周至电源的负极,凡是电流无分叉地依次流 过的电阻均为串联,凡是电流有分叉地分别流过的电阻均为并联。 例3 .试画出图6所示的等效电路。 口3 r-n-,囲 「Eb 尸「 A * -- a- ■D A D --- 1'— || — 圏6 图T 解:电流从电源正极流出过 A 点分为三路(AB 导线可缩为一点),经外电路巡行一周,由 D 点流入电源负极。第一路经 R1直达D 点,第二路经R2到达C 点,第三路经R3也到达 C 点,显然R2和R3接联在AC 两点之间为并联。二、三络电流同汇于c 点经R4到达D 点, 可知R2、R3并联后与R4串联,再与R1并联,如图7所示。 解:先将连接a 、c 节点的导线缩短, 并把连接 b 、 d 节点的导线伸长翻转到 R3- C — R4 圈3 bCd) Ra

第二章电路的基本分析方法1

第二章电路的基本分析方法 一、填空题: 1. 有两个电阻,当它们串联起来的总电阻为10Ω,当他们并联起来的总电阻为 2.4Ω。这两个电阻的阻值分别为_ _4Ω___和__6Ω。 2. 下图所示的电路,A、B之间的等效电阻R AB= 1 Ω。 3. 下图所示的电路,A、B之间的等效电阻R AB= 3 Ω。 A 2Ω B 4. 下图所示电路,每个电阻的阻值均为30Ω,电路的等效电阻R AB= 60 Ω。 5. 下图所示电路中的A、B两点间的等效电阻为___12KΩ________.若图中所示的电流I=6mA,则流经6K电阻的电流为__2mA _____;图中所示方向的电压U 为____12V____.此6K电阻消耗的功率为__24mW_________。

U A 6. 下图所示电路中,ab 两端的等效电阻为 12Ω ,cd 两端的等效电阻为 4Ω 。 7.下图所示电路a 、b 间的等效电阻Rab 为 4 。 8. 下图所示电路中,ab 两点间的电压 ab U 为 10 V 。 9. 下图所示电路中,已知 U S =3V , I S = 3 A 时,支路电流I 才等于2A 。

3 Ω 1 10. 某二端网络为理想电压源和理想电流源并联电路,则其等效电路为理想电压源。 11.已知一个有源二端网络的开路电压为20V,其短路电流为5A,则该有源二端网络外接 4 Ω电阻时,负载得到的功率最大,最大功率为25W 。 12.应用叠加定理分析线性电路时,对暂不起作用的电源的处理,电流源应看作开路,电压源应看作短路。 13.用叠加定理分析下图电路时,当电流源单独作用时的I1= 1A ,当电压源单独作用时的I1= 1A ,当电压源、电流源共同时的I1= 。 2A 14.下图所示的电路中,(a)图中Uab与I的关系表达式为Uab= 3I ,(b) 图中Uab与I的关系表达式为Uab=3I+10 ,(c) 图中Uab与I的关系表达式为Uab=6(I+2)-10 ,(d)图中Uab与I的关系表达式为Uab=6(I+2)-10 。

电路图识别详解精编版

电路图识别详解 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

电路图识别详解——简化电路图先看口诀,就两部分,很简单:标号和画图: 1、 标号:电路每个节点编号,标号遵循以下原则 (1) 从正极开始标1 (2) 导线连通的节点标同样的数字 (3) 沿着导线过一个用电器,数字+1 (4) 到遇到电源负极为止 (5) 要求所有点的标号要大于等于1,小于等于负极的标号

2、画图 (1) 在平面上画出节点号 (2) 根据原图画出节点之间的用电器或电表 (3) 整理,美化 3、注意事项 (1) 当用电器两端标号不等时,电流从小标号点到大标号点,因为小标号更接近正极 (2) 当用电器两端标号相等时,相当于一根导线接在用电器两端,因此用电器短路没有电流。 介绍完毕,谢谢大家。什么,你没懂啊~不要扔西红柿!下面还有。我们看几道例题

如图,这道题太典型了,估计每个老师都要讲。答案估计大家都知道,同学甲说这个是串联;同学乙说,不对!R1应该被短路了,没看见上面的”天线”么;这时候老师蹦出来,说你们都错了,实际上是标准的并联电路。倒~,确实不好理解,很多同学老师讲过一遍还是搞不清楚为啥,最后背下结论了事。现在轮到我们的标号大法上场了,为了说明方便,先用字母对每个点进行标记下 首先进行标号,我们的标号用红色数字表示,从电源正极出来a点标1,同样在一条导线上的b、d点也标1;检查所有该标1的都标了,那就过一个电阻吧!例如从b点过到c点,这样c点标2。同一导线上的e、f、g点都标2,这样我们惊奇的发现已经到电源负极了!标号结束!轻松~

识别电路结构方法大盘点

识别电路结构方法大盘点 【摘要】初中物理学习阶段,判断电路的结构是电学的基础,是解决各类电学问题的起始点。对于初学电学的学生来说,掌握几种简易的识别电路的方法至关重要。 【关键词】电路结构;串联并联 初中物理学习阶段,判断电路的结构是电学的基础,是解决各类电学问题的起始点。对于初学电学的学生来说,掌握几种简易的识别电路的方法至关重要;对于进一步讨论电学问题,掌握几种特殊的识别电路的方法,则对解决电学问题起到“开闸放水”的作用。 1.定义法 指直接根据串联、并联电路的定义判断。若电路中各元件(指用电器)是按顺次首尾相连的,此电路就是串联电路;若各元件是按“首首相连,尾尾相连”并列连接在电路的两点间,这样的电路就是并联电路。(“首”指电流流入用电器的那一端,用“+”表示,“尾”指电流流出用电器的那一端,用“-”表示。)此方法适用于简单电路的识别,如图一a和b,也可以用于较难电路的识别,如图一c。在c图中,灯L1与电动机首尾相连是串联,灯L1、L2左端尾尾相连右端首首相连是并联,电铃与两灯都是首尾相连是串联,故电路的总体情况是灯L1先与电动机串联后与灯L2并联再与电铃串联。 (图一) 2.电流流向法 根据串联、并联电路电流特点判断。指按照外部电路中的电流流向,从电源正极出发,经过各用电器回到负极,只有唯一的一条通路的电路是串联,如果电流在某处分成几支,再在某处汇合,这几支电流流过的用电器就是并联。如图二。 (图二) 3.节点跟踪法 对于较为复杂的电路特别是对点与点用导线连通的电路用此方法判断较为快捷。在识别不规范电路过程中,不论导线有多长,只要导线上没有任何用电器、电源等,导线两端均可看成同一点,从而找出各用电器两端的公共点。如图三甲,节点a、b都是分流点可合成为一点,节点c、d都是汇合点可合成为一点,则可将原电路改画为图三乙,容易看出灯L1、L2、L3是并联。 甲(图三)乙

电路一般分析方法步骤汇总

线性电路主要分析方法步骤汇总 网孔电流法的一般步骤 步骤: 1)确定网孔,假定网孔电流的绕行方向; 2)列写KVL方程; 3)联立求解。 说明: 1)对于含有电流源的支路: a)若在单一网孔支路上,少列一个方程; b)若在两网孔公共支路上,要假定电压变量,多列一个方程,即:网孔电流与电流源电流关系的方程; 2)对于含有受控源的支路: a)列方程时,受控源视为独立源; b)如果控制量不是网孔电流,则要补充一个方程,即:网孔电流与控制量之间关系的方程。 结点电压法的一般步骤 步骤: 1)选参考结点; 2)列写独立结点电压方程; 3)联立求解。 说明: 1)对于含有纯电压源的支路: a)如果电压源接在独立结点和参考点之间,这个独立结点电压就等于电压源电压,可以少解一个方程; b)如果电压源接在两个独立结点之间,则要在电压源支路假定电流变量,多列一个方程,即:结点电压与电压源电压之间的关系方程; 2)对于含有受控源的支路: a)列方程时,受控源视为独立源; b)如果控制量不是结点电压,则要补充一个方程,即:结点电压与控制量之间的关系方程。

一端口网络的戴维宁等效电路 (1) 开路电压Uoc 的计算 戴维宁等效电路中的电压源电压即为一端口开路电压Uoc ,电压源的极性与所求开路电压极性相同。计算Uoc 的方法视电路形式而定(结点电压法、网孔电流法)。 (2)等效电阻的计算 等效电阻为将一端口网络内部独立电源全部置零(电压源短路,电流源开路)后,所得无源一端口网络的输入电阻。 常用下列方法计算: A 、当网络内部不含有受控源时可采用电阻串、并联和△-Y 互换的方法计算等效电阻; B 、外加电源法(加压求流或加流求压):eq u R i =(此时一端 口内部独立电源全部置零) C 、开路电压,短路电流法:oc eq sc u R i =(此时一端口内部独立电源全部保留) 一阶电路初始值的计算 如何判断一阶电路?电路含有一个独立的动态元件;有带开 关的直流激励、或已知初始储能和直流激励、或有阶跃函数激励。 求初始值的步骤: 1. 由换路前电路(一般为稳定状态)求u C (0-)和i L (0-); 2. 由换路定律得 u C (0+) 和 i L (0+); 3. 画0+等效电路。 在0+时刻等效电路中,电容用u C (0+)的电压源替代,电感用i L (0+)的电流源替代。 4. 由0+电路求所需各变量的值即为0+值 三要素法求解一阶电路的步骤 1、求响应量的初始值; 2、求响应量的稳态值; 画出t →∞时稳态电路,其中电容和电感分别用开路和短路置

识别电路的四种方法

识别电路常用的的三种方法 1.使用定义法识别串并联电路 若电路中的各元件是逐个顺次连接起来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2.使用电流流向法识别串并联电路 从电源的正极(或负极)出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所有的用电器,则这个电路是串联的(如图l所示);若电流在某处分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式,并分析开关的作用。 分析:用“电流流向法”来判断.在图甲所示的电路中,从电源的正极出发,电流依次通过了灯L1、L2和L3,电路中没有出现“分叉”,见图3的虚线所示,所以这三盏灯是串联的.在串联电路中,一个开关可以控制所有的用电器。 为识别图乙所示电路的连接方式,可以先用虚线将电流通过的所有路径在图中画出来,在图中可看出,电流的流向是:

由此可看出灯L1、L2和L3分别在三条.`支路上,所以这三盏灯是并联的。其中通过灯L1、L2的电流通过了开关S1,当开关S1断开时,灯L1、L2中没有电流通过,两灯熄灭,因此开关S1控制L1、L2两盏灯泡。开关S2在干路上,控制三盏灯。 在如图所示电路中用“电 流流向法”画出了图丙中的电流流向。见图4的虚线所示,电流有三条通路,且每一流线上只有一个用电器,则此电路为并联电路。开关S在干路上,控制三盏灯。 3.使用节点法识别串并联电路 节点法:就是在识别电路的过程中,不论导线有多长,只要其间没有电源、用电器等,导线两端点均可以看成同一个点,从而找出各用电器两端的公共点。以图丙为例,具体方法:先在图中各接点处用字母表示出来,如图5所示。 由“节点法”可知,导线的a端和c端看成一个点,导线的b端和d端看成一个点,这样L1、L2和L3的一端重合为一个点,另一端重合为另一个点,由此可知,该电路有三条支路,并由“电流流向法” 可知,电流分三条叉,因此这个电路是三盏电灯的并联,等效电路如下图所示。 “节点法”主要用于不规范的复杂电路的识别,有一定的难度。识别电路也还有其他方法,但无论什么方法都需要在加强练习的基础上不断总结识别电路的技巧。

几种详细经典电路

输出电压稳定的电子变压器电路原理 如图为输出电压稳定的电子变压器电路原理。电子变压器实际上是一个AC/AC电源转换电路,其主要由保护电路、桥式整流电路、振荡电路、隔离输出电路组成。电路中,220V交流电经二极管VD3~VD6整流后变成脉动直流电给电容C1、C2充电。C1的电压经电阻R3、晶体管VT1的b、e极使VT1导通;同时VT1导通后,整流后的电压经VT1的c、e极、N2给C2充电,电流流过N2(TU的N2线圈黑点的同名端),将在N3上产生一个上负下正的互感电压;在N1产生一个下负上正的互感电压,迫使VT1加速导通(一个正反馈过程)。VT1导通期间,VT2关断。随着C2上的电压逐渐升高,VT1的e极电压也提高,最后使VT1关断。这时,C2的电压经N2、R4、VT2的b、e极使VT2导通;VT2导通后经N2给C1充电,电流流过N2时,将在N3产生一个下负上正的互感电压,在N1产生一个下正上负的互感电压,迫使VT2加速导通。VT2导通期间VT1关断。如此往复循环,则电路不间断地振荡。输出电压值由变 压器TR的N4的绕线来决定。 有极性电容和无极性电容并联有什么作用?

满意答案好评率:66% 有极性电容在上述电路中起交流滤波作用,无极电容起高频脉冲的吸收作用。无极电容的容量越小,吸收的脉冲频率就越高。 2. 3 稳压模块的电路设计 由DC /DC 模块转换的直流电压,经过一个R11电阻和一个发光二极管接地,发光二极管指示灯,然后从AMS芯片的Vin端输入,进入到芯片的内部,经过一系列的计算,从Vout输出3. 3 V 电压,GND 端端口接地。为消除交流电的纹波,电路采用电容滤波,分别用0. 1 μF 的极性电容和10 μF 的非极性电容组成一个电容滤波网络。电路原理如图4 所示。 图4 稳压模块的电路设计 2.示波器 示波器(图4-30)用来观察信号的波形。采用示波器对信号波进行分析,可以发现一些常规测量发现不了的问题,直接了解电路的工作状态,解决了万用表对一些脉冲信号及交变信

相关文档
最新文档