编程

阅读 / 问答 / 标签

电气控制与可编程序控制器应用技术第2版课后答案 郁汉琪

第一题:第二题:第三题:第四题:第五题:扩展资料电气控制与可编程序控制器应用技术原理:由若干电气原件组合,用于实现对某个或某些对象的控制,从而保证被控设备安全、可靠地运行。电气控制系统的主要功能有:自动控制、保护、监视和测量。它的构成主要有三部分:输入部分(如传感器、开关、按钮等)、逻辑部分(如继电器、触电等)和执行部分(如电磁线圈、指示灯等)。电气设备与线路在运行过程中会发生故障,电流(或电压)会超过设备与线路允许工作的范围与限度,这就需要一套检测这些故障信号并对设备和线路进行自动调整(断开、切换等)的保护设备。高压和大电流开关设备的体积是很大的,一般都采用操作系统来控制分、合闸,特别是当设备出了故障时,需要开关自动切断电路,要有一套自动控制的电气操作设备,对供电设备进行自动控制。

可编程控制器工业控制应用的基本模式提示了PLC应用的哪些根本点?

这个问题的话都得有专业知识才能回答,一般的网友是回答不了的。

什么是可编程序控制器PLC

PLC英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,定义是:一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程.PLC是可编程逻辑电路,也是一种和硬件结合很紧密的语言,在半导体方面有很重要的应用,可以说有半导体的地方就有PLC  PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。  国际电工委员会(IEC)在其标准中将PLC定义为:  「可程式逻辑控制器是一种数位运算操作的电子系统,专为在工业环境应用而设计的。  它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等  面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。可程式逻辑控制器及  其有关外部设备,都按易于与工业控制系统联成一个整体,易于扩充其功能的原则设计。」  PLC的特点  2.1可靠性高,抗干扰能力强  高可靠性是电气控制设备的关键性能。PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。例如三菱公司生产的F系列PLC平均无故障时间高达30万小时。一些使用冗余CPU的PLC的平均无故障工作时间则更长。从PLC的机外电路来说,使用PLC构成控制系统,和同等规模的继电接触器系统相比,电气接线及开关接点已减少到数百甚至数千分之一,故障也就大大降低。此外,PLC带有硬件故障自我检测功能,出现故障时可及时发出警报信息。在应用软件中,应用者还可以编入外围器件的故障自诊断程序,使系统中除PLC以外的电路及设备也获得故障自诊断保护。这样,整个系统具有极高的可靠性也就不奇怪了。  2.2配套齐全,功能完善,适用性强  PLC发展到今天,已经形成了大、中、小各种规模的系列化产品。可以用于各种规模的工业控制场合。除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中。加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易。  2.3易学易用,深受工程技术人员欢迎  PLC作为通用工业控制计算机,是面向工矿企业的工控设备。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门。  2.4系统的设计、建造工作量小,维护方便,容易改造  PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。  2.5体积小,重量轻,能耗低  以超小型PLC为例,新近出产的品种底部尺寸小于100mm,重量小于150g,功耗仅数瓦。由于体积小很容易装入机械内部,是实现机电一体化的理想控制设备。

谁有“可编程序控制器原理及应用” 吉顺平主编的 机械工业出版社的课后习题答案

习题一 1. 什么是可编程控制器? 可编程控制器是一种工业控制计算机,简称PLC (Programmable Logic Controller) 或PC(Programmable Controller)。因为个人计算机也简称 PC(Personal Computer ),为 避免和个人计算机相混淆,一般简称可编程控制器为PLC 。 2. 什么是可编程控制器的 I/O 接口电路?可编程控制器的 I/O 接口电路由哪几部分组成? I/O 接口电路的作用是什么? I/O 接口电路是可编程控制器连接外部设备的接口电路。 I/O 接口电路包括输入模块、输出模块、编程器接口、存储器接口、扩展板接口、特 殊模块接口和通讯接口。 I/O 接口电路是可编程控制器和外界交换信息的通道。I/O 接口电路实现可编程控制 器与外部设备的信息交换。输入模块用来接收和采集输入信号,输出模块用来把可编程 控制器产生的控制信号传送到其控制对象上,编程器接口主要用于把编程器连接到可编 程控制器,存储器接口用于扩展存储器,扩展板接口用于连接扩展板(如通讯扩展板), 特殊功能模块接口用于把特殊功能模块(如A/D 模块、D/A 模块)连接到可编程控制器 上,通讯接口用于可编程控制器之间或可编程控制器与上位机之间的通讯。 3. 什么是软继电器?试比较软继电器和真实的继电器的异同。 可编程控制器中的输入继电器、输出继电器、辅助继电器、定时器等称为软继电器 (软电器),它们只是用来描述可编程控制器的控制功能的一种等效电器,不是真正的继 电器。 ①相同点 电气结构相同:均由线圈和触点(常开触点和常闭触点)组成。 工作原理相同:当线圈通电时,常开触点闭合,常闭触点断开;当线圈断电时,常 开触点断开,常闭触点闭合。 ②不同点 电气符号不同:真实继电器的电气符号由国家标准规定,软继电器的电气符号由可 编程控制器厂家规定。 触点数量不同:真实继电器只有有限对触点,软继电器有无穷对触点。 形态不同:真实继电器有形状、有尺寸,是一种实实在在的电器实体;软继电器只 是计算机中的存储位或存储单元,是电子电路。 控制功能的实现方式不同:真实继电器通过真实继电器的触点状态的变化来实现其 控制功能,而软继电器则是通过执行控制程序来实现其控制功能。 驱动方式不同:可编程控制器通过软件 “置1”或“置0”存储位来改变软继电器 的工作状态,只要存储位“置1”或“置0”,对应的软继电器即可可靠工作;真实继电 器通过使线圈通电或断电来改变软继电器工作状态,线圈电压必须达到规定的值,真实 继电器才能可靠工作。 工作可靠性和寿命不同:软继电器工作可靠性高、寿命长;真实继电器工作可靠性 相对低、寿命相对短。4. 什么是可编程控制器的输入点?输出点?I/O 点数? 广义地说,可编程控制器上输入信号(数字信号或模拟信号)的一个通道称为一个 输入点,可编程控制器上输出信号(数字信号或模拟信号)的一个通道称为一个输出点, 可编程控制器的所有输入点和输出点的总和称为可编程控制器的I/O点数。 狭义的I/O 点数仅指输入继电器与输出继电器的总数(输入输出信号为数字信号)。 5. 什么是可编程控制器的梯形图? 把选用的可编程控制器的等效电器连成的等效控制电路图称为可编程控制器的梯形 图。梯形图是使用可编程控制器时,面向使用者,用来描述可编程控制器的控制功能的 一种形象的图形。梯形图在可编程控制器内体现为程序,即用户程序。 6. 什么是可编程控制器的 I/O 连接图? 可编程控制器与其外设的连接图称为可编程控制器的I/O连接图。 7. 可编程控制器的结构形式有那几种?各有何特点? 如何选择可编程控制器的结构形 式? 从结构上看,可编程控制器有主机扩展式和模块式两种。 主机扩展式可编程控制器的 CPU 部分、存储器部分、I/O 接口电路部分及内部电源 做成一个整体,装在一个机箱内形成一台完整的可编程控制器。当主机满足不了使用要 求时,可以加各种模块(例如I/O模块、通讯处理模块、A/D模块)进行扩展。FX系列 可编程控制器就属于主机扩展式可编程控制器。 主机扩展式可编程控制器价格便宜,性价比高,体积较小,控制规模相对小些,处 理能力相对弱些。 模块式可编程控制器的CPU部分、存储器部分、输入接口电路部分、输出接口电路 部分、数据交换接口电路(如通讯接口)部分及内部电源都做成单独的模块,使用时选 择好这些模块后,再把所有模块插在母板(母板就是计算机总线)上组合成一台完整的 可编程控制器。 模块式可编程控制器的系统构成比较灵活,扩展方便,容易维修,体积较大。 中高档的可编程控制器一般做成模块式。相对而言,模块式可编程控制器的控制规 模大,可以完成复杂的逻辑控制,可以完成闭环控制,具有较强的数据处理能力,可以 完成矩阵运算、函数运算,可以完成数据管理工作,有更强的通讯能力。 控制规模不太大、处理速度、处理能力要求不太高时,可选用主机扩展式,反之, 选用模块式。 8. 可编程控制器的输出模块连接控制对象时,有几种接线方法?如何选用这些接线方法? 输出模块的接线可采用分组汇点式(每组输出元件拥有一个公共端),如图(a)所示; 或采用汇点式,如图(b)所示。输出模块连接的所有控制对象的电压等级和类型都相同时, 采用汇点式(全部输出元件拥有一个公共端);输出模块连接的控制对象的电压等级或类 型不相同时,采用分组汇点式。 图 可编程控制器输入输出的接线方式 9. 可编程控制器的输出模块有几种类型?如何选择可编程控制器的输出模块的类型? 可编程控制器的输出模块的类型有晶体管型(T)、可控硅型(S)、继电器型(R)。 晶体管型只能驱动直流负载,可控硅型只能驱动交流负载,继电器型则既能驱动直流负载,也能驱动交流负载。 根据负载类型、电源类型、要求的输出响应速度选择可编程控制器的输出模块。晶 体管型(T)、可控硅型(S)输出响应速度快。 10.阅读图1.18 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。 图1.18 题10图 I/O连接图 梯形图 11.阅读图1.19 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。 图1.19 题11 图 I/O连接图 梯形图 12.阅读图1.20 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。 图1.20 题12图 I/O连接图 梯形图 习题二 1 .可编程控制器有哪些软电器?这些软电器中哪些用八进制编号?哪些用十进制编 号? ①可编程控制器中的软电器有:输入继电器、输出继电器、辅助继电器、定 时器、计数器、状态继电器。 ②输入继电器和输出继电器采用八进制编号,其它软电器采用十进制编号。 2 .比较输入继电器、输出继电器和辅助继电器的异同。 ①相同点 电气结构相同:均由线圈和触点(常开触点和常闭触点)组成。 工作原理相同:当线圈通电时,常开触点闭合,常闭触点断开;当线圈断电时,常开触点断开,常闭触点闭合。触点在梯形图中的使用次数不受限制。 ②不同点 编号不同:输入继电器编号为“ X+3位数字 ” ,如X000、X001;输出继电器编 号为“ Y+3 位数字 ” ,如 Y000、Y001;辅助继电器编号为“ M+数字 ” ,如 M0、M120 等。 用途不同:输入继电器和输入模块相对应,用来接收和采集输入信号,输入 继电器的线圈不能出现在梯形图中。输出继电器和输出模块相对应,用来把可编程 控制器产生的控制信号传送到其控制对象上。辅助继电器是可编程控制器的内部电 器,只用在梯形图内,与其它软电器配合实现各种控制功能,与输入输出无直接关 系,辅助继电器的种类比较多,数量也较多,有些辅助继电器具有特殊功能。 3 .定时器有哪几种类型?说明每种定时器的结构和工作原理。 ①定时器分类 按定时精度分,定时器有1ms定时器、10ms定时器、100ms定时器。 按定时器定时时间是否可以累加,定时器分为非积算型定时器和积算型定时 器。 ②定时器结构 定时器由线圈和触点组成,但线圈的通电或断电时刻与其触点的状态转换时 刻不同步。 ③非积算型定时器的工作原理 非积算型定时器的线圈通电时,定时器开始计时(每个计数脉冲来临时定时 器当前值加1),时间到(计数当前值 = 计数设定值)则定时器常开触点闭合,常闭 触点断开。系统或线圈断电时停止计时并复位,定时器常开触点断开,常闭触点闭 合,定时器当前值回0。 ④非积算型定时器的工作原理 积算型定时器的线圈通电时,定时器开始计时,线圈断电时,定时器停止计 时,但不复位,线圈再通电时,定时器在上次通电时的计时结果上继续累加时间, 时间到则定时器常开触点闭合,常闭触点断开。积算型定时器必须用复位指令复位, 复位后,定时器常开触点断开,常闭触点闭合,定时器当前值回0。系统断电也不 会让积算型定时器复位。 图 非积算型定时器 图 积算型定时器 4 .定时器有1ms 定时器、10ms 定时器、100ms 定时器,这里的1ms 、10ms、100ms 的含义是什么? 定时器通过对可编程控制器内的方波信号的计数来实现计时。根据定时器计 数的方波信号的周期,定时器分为1ms定时器(对周期1ms的方波计数)、10ms定 时器(对周期10ms的方波计数)、100ms定时器(对周期100ms的方波计数)。1ms 定时器的定时精度是1ms,10ms定时器的定时精度是10ms,100ms定时器的定时精 度是100ms。 5 .如何设定和计算定时器的定时时间? 使用定时器时,先要选择定时器类型(积算型或非积算型)及定时精度(1ms、 10ms或100ms),然后要设置定时时间。定时时间是通过设定计数次数来设置的, 定时器的定时时间按下式计算: 定时时间=计数次数×定时精度。 6 .什么是定时器的设定值?什么是定时器的当前值? 人为指定的规定定时器定时时间的数值称为定时器的设定值,设定值规定了 定时器线圈通电时刻与定时器触点动作时刻的时间差,设定值规定了定时器触点动 作时刻滞后于定时器线圈通电时刻的时间。定时器开始计时后,至考察时刻时间的 累计值(计数值)称为定时器的当前值。 7 .什么是低速计数器?低速计数器有哪几种类型?说明每一种低速计数器的结构和工 作原理。 低速计数器对低速脉冲计数,低速计数器的计数信号由可编程控制器的软电 器或外部电器产生,计数频率最大为扫描周期的倒数,在几十至几百赫兹之间。 低速计数器有16位增计数器和32位增/减双向计数器两类。低速16位增计 数器的设定值寄存器和当前值寄存器都是16位寄存器,计数器设定值有效范围是 1~32767,它只能作加法计数。低速32位增/减双向计数器的设定值寄存器和当 前值寄存器是32位寄存器,设定值有效范围为-2147483648~+2147483647。32 位增/减双向计数器可作加法计数和减法计数,计数方式用特殊辅助继电器 M8200~M8234来设定。当特殊辅助继电器置 1时,其对应的双向计数器按减法计 数方式计数;当特殊辅助继电器置0时,其对应的双向计数器按加法计数方式计数。 计数器由计数装置和触点组成,计数装置(包括计数端和复位端)用来改变 触点的状态。计数端和复位端分别由一条由各种触点组成的电路控制。 低速16位增计数器的工作原理如图所示。 图 低速16位增计数器 计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。当 计数器计数到设定值时,计数器触点动作,常开触点闭合,常闭触点断开,计数当 前值不再增加。 计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭 合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。低 速32位双向计数器作增计数时,当计数值达到或超过设定值时,触点动作并保持 (常开触点闭合,常闭触点断开),只要有计数脉冲,计数器继续计数(计数当前 值继续增加);而作减计数时,计数值小于设定值时触点复位(常开触点断开,常 闭触点闭合),但计数当前值不回 0,只要有计数脉冲,计数器继续计数(计数当 前值继续减少)。32 位增/减双向计数器是循环计数器,若当前值已为+ 2147483647 时,再计一次数,则当前值变为-2147483648;同样,若当前值已为 -2147483648时,再计一次数,则当前值变为+2147483647。 计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭 合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 低速32位增/减双向计数器的工作原理如图所示。 图 32位增/减双向计数器的工作过程时,常开触点断开,常闭触点闭合。触点在梯形图中的使用次数不受限制。 ②不同点 编号不同:输入继电器编号为“ X+3位数字 ” ,如X000、X001;输出继电器编 号为“ Y+3 位数字 ” ,如 Y000、Y001;辅助继电器编号为“ M+数字 ” ,如 M0、M120 等。 用途不同:输入继电器和输入模块相对应,用来接收和采集输入信号,输入 继电器的线圈不能出现在梯形图中。输出继电器和输出模块相对应,用来把可编程 控制器产生的控制信号传送到其控制对象上。辅助继电器是可编程控制器的内部电 器,只用在梯形图内,与其它软电器配合实现各种控制功能,与输入输出无直接关 系,辅助继电器的种类比较多,数量也较多,有些辅助继电器具有特殊功能。 3 .定时器有哪几种类型?说明每种定时器的结构和工作原理。 ①定时器分类 按定时精度分,定时器有1ms定时器、10ms定时器、100ms定时器。 按定时器定时时间是否可以累加,定时器分为非积算型定时器和积算型定时 器。 ②定时器结构 定时器由线圈和触点组成,但线圈的通电或断电时刻与其触点的状态转换时 刻不同步。 ③非积算型定时器的工作原理 非积算型定时器的线圈通电时,定时器开始计时(每个计数脉冲来临时定时 器当前值加1),时间到(计数当前值 = 计数设定值)则定时器常开触点闭合,常闭 触点断开。系统或线圈断电时停止计时并复位,定时器常开触点断开,常闭触点闭 合,定时器当前值回0。 ④非积算型定时器的工作原理 积算型定时器的线圈通电时,定时器开始计时,线圈断电时,定时器停止计 时,但不复位,线圈再通电时,定时器在上次通电时的计时结果上继续累加时间, 时间到则定时器常开触点闭合,常闭触点断开。积算型定时器必须用复位指令复位, 复位后,定时器常开触点断开,常闭触点闭合,定时器当前值回0。系统断电也不 会让积算型定时器复位。 图 非积算型定时器 图 积算型定时器 4 .定时器有1ms 定时器、10ms 定时器、100ms 定时器,这里的1ms 、10ms、100ms 的含义是什么? 定时器通过对可编程控制器内的方波信号的计数来实现计时。根据定时器计 数的方波信号的周期,定时器分为1ms定时器(对周期1ms的方波计数)、10ms定 时器(对周期10ms的方波计数)、100ms定时器(对周期100ms的方波计数)。1ms 定时器的定时精度是1ms,10ms定时器的定时精度是10ms,100ms定时器的定时精 度是100ms。 5 .如何设定和计算定时器的定时时间? 使用定时器时,先要选择定时器类型(积算型或非积算型)及定时精度(1ms、 10ms或100ms),然后要设置定时时间。定时时间是通过设定计数次数来设置的, 定时器的定时时间按下式计算: 定时时间=计数次数×定时精度。 6 .什么是定时器的设定值?什么是定时器的当前值? 人为指定的规定定时器定时时间的数值称为定时器的设定值,设定值规定了 定时器线圈通电时刻与定时器触点动作时刻的时间差,设定值规定了定时器触点动 作时刻滞后于定时器线圈通电时刻的时间。定时器开始计时后,至考察时刻时间的 累计值(计数值)称为定时器的当前值。 7 .什么是低速计数器?低速计数器有哪几种类型?说明每一种低速计数器的结构和工 作原理。 低速计数器对低速脉冲计数,低速计数器的计数信号由可编程控制器的软电 器或外部电器产生,计数频率最大为扫描周期的倒数,在几十至几百赫兹之间。 低速计数器有16位增计数器和32位增/减双向计数器两类。低速16位增计 数器的设定值寄存器和当前值寄存器都是16位寄存器,计数器设定值有效范围是 1~32767,它只能作加法计数。低速32位增/减双向计数器的设定值寄存器和当 前值寄存器是32位寄存器,设定值有效范围为-2147483648~+2147483647。32 位增/减双向计数器可作加法计数和减法计数,计数方式用特殊辅助继电器 M8200~M8234来设定。当特殊辅助继电器置 1时,其对应的双向计数器按减法计 数方式计数;当特殊辅助继电器置0时,其对应的双向计数器按加法计数方式计数。 计数器由计数装置和触点组成,计数装置(包括计数端和复位端)用来改变 触点的状态。计数端和复位端分别由一条由各种触点组成的电路控制。 低速16位增计数器的工作原理如图所示。 图 低速16位增计数器 计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。当 计数器计数到设定值时,计数器触点动作,常开触点闭合,常闭触点断开,计数当 前值不再增加。 计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭 合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。低 速32位双向计数器作增计数时,当计数值达到或超过设定值时,触点动作并保持 (常开触点闭合,常闭触点断开),只要有计数脉冲,计数器继续计数(计数当前 值继续增加);而作减计数时,计数值小于设定值时触点复位(常开触点断开,常 闭触点闭合),但计数当前值不回 0,只要有计数脉冲,计数器继续计数(计数当 前值继续减少)。32 位增/减双向计数器是循环计数器,若当前值已为+ 2147483647 时,再计一次数,则当前值变为-2147483648;同样,若当前值已为 -2147483648时,再计一次数,则当前值变为+2147483647。 计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭 合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 低速32位增/减双向计数器的工作原理如图所示。 图 32位增/减双向计数器的工作过程

可编程控制器简介

可编程控制器是60年代末在美国首先出现,当时叫可编程逻辑控制器PLC(Programmable Logic Controller),目的是用来取代继电器,以执行逻辑判断、计时、计数等顺序控制功能。PLC的基本设计思想是把计算机功能完善、灵活、通用等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写入控制器的用户程序存储器内。控制器和被控对象连接方便。随着半导体技术,尤其是微处理器和微型计算机技术的发展,到70年代中期以后,PLC已广泛地使用微处理器作为中央处理器,输入输出模块和外围电路也都采用了中、大规模甚至超大规模的集成电路,这时的PLC已不再是逻辑判断功能,还同时具有数据处理、PID调节和数据通信功能。可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算,顺序控制、定时、计算和算术运算等操作的指令,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用微处理器的优点。可编程控制器对用户来说,是一种无触点设备,改变程序即可改变生产工艺,因此可在初步设计阶段选用可编程控制器,在实施阶段再确定工艺过程。另一方面,从制造生产可编程控制器的厂商角度看,在制造阶段不需要根据用户的订货要求专门设计控制器,适合批量生产。由于这些特点,可编程控制器问世以后很快受到工业控制界的欢迎,并得到迅速的发展。目前,可编程控制器已成为工厂自动化的强有力工具,得到了广泛的应用。一、PLC的结构及各部分的作用可编程控制器的结构多种多样,但其组成的一般原理基本相同,都是以微处理器为核心的结构。通常由中央处理单元(CPU)、存储器(RAM、ROM)、输入输出单元(I/O)、电源和编程器等几个部分组成。1.中央处理单元(CPU)CPU作为整个PLC的核心,起着总指挥的作用。CPU一般由控制电路、运算器和寄存器组成。这些电路通常都被封装在一个集成电路的芯片上。CPU通过地址总线、数据总线、控制总线与存储单元、输入输出接口电路连接。CPU的功能有以下一些:从存储器中读取指令,执行指令,取下一条指令,处理中断。2.存储器(RAM、ROM)存储器主要用于存放系统程序、用户程序及工作数据。存放系统软件的存储器称为系统程序存储器;存放应用软件的存储器称为用户程序存储器;存放工作数据的存储器称为数据存储器。常用的存储器有RAM、EPROM和EEPROM。RAM是一种可进行读写操作的随机存储器存放用户程序,生成用户数据区,存放在RAM中的用户程序可方便地修改。RAM存储器是一种高密度、低功耗、价格便宜的半导体存储器,可用锂电池做备用电源。掉电时,可有效地保持存储的信息。EPROM、EEPROM都是只读存储器。用这些类型存储器固化系统管理程序和应用程序。3.输入输出单元(I/O单元)I/O单元实际上是PLC与被控对象间传递输入输出信号的接口部件。I/O单元有良好的电隔离和滤波作用。接到PLC输入接口的输入器件是各种开关、按钮、传感器等。PLC的各输出控制器件往往是电磁阀、接触器、继电器,而继电器有交流和直流型,高电压型和低电压型,电压型和电流型。 4.电源PLC电源单元包括系统的电源及备用电池,电源单元的作用是把外部电源转换成内部工作电压。PLC内有一个稳压电源用于对PLC的CPU单元和I/O单元供电。5.编程器编程器是PLC的最重要外围设备。利用编程器将用户程序送入PLC的存储器,还可以用编程器检查程序,修改程序,监视PLC的工作状态。除此以外,在个人计算机上添加适当的硬件接口和软件包,即可用个人计算机对PLC编程。利用微机作为编程器,可以直接编制并显示梯形图。二、PLC的工作原理PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段。全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。1.输入处理输入处理也叫输入采样。在此阶段,顺序读入所有输入端子的通端状态,并将读入的信息存入内存中所对应的映象寄存器。在此输入映象寄存器被刷新。接着进入程序执行阶段。在程序执行时,输入映象寄存器与外界隔离,即使输入信号发生变化,其映象寄存器的内容也不会发生变化,只有在下一个扫描周期的输入处理阶段才能被读入信息。2.程序执行根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。遇到程序跳转指令,根据跳转条件是否满足来决定程序的跳转地址。从用户程序涉及到输入输出状态时,PLC从输入映象寄存器中读出上一阶段采入的对应输入端子状态,从输出映象寄存器读出对应映象寄存器,根据用户程序进行逻辑运算,存入有关器件寄存器中。对每个器件来说,器件映象寄存器中所寄存的内容,会随着程序执行过程而变化。 3.输出处理 程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。三、PLC编程语言1.梯形图编程语言梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。梯形图的设计应注意以下三点:(一)梯形图按从左到右、从上到下的顺序排列。每一逻辑行起始于左母线,然后是触点的串、并联接,最后是线圈与右母线相联。(二)梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是形象地描述用户程序执行中应满足线圈接通的条件。 (三)输入继电器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入继电器的触点,而不出现其线圈。输出继电器输出程序执行结果给外部输出设备,当梯形图中的输出继电器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出继电器的触点可供内部编程使用。2.语句表编程语言指令语句表示一种与计算机汇编语言相类似的助记符编程方式,但比汇编语言易懂易学。一条指令语句是由步序、指令语和作用器件编号三部分组成。3.控制系统流程图编程图控制系统流程图是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。第二章 基本指令简介基本指令如表所示名 称 助记符 目 标 元 件 说 明取指令 LD I、Q、M、SM、T、C、V、S、L 常开接点逻辑运算起始取反指令 LDN I、Q、M、SM、T、C、V、S、L 常闭接点逻辑运算起始线圈驱动指令 = Q、M、SM、T、C、V、S、L 驱动线圈的输出与指令 A I、Q、M、SM、T、C、V、S、L 单个常开接点的串联与非指令 AN I、Q、M、SM、T、C、V、S、L 单个常闭接点的串联或指令 O I、Q、M、SM、T、C、V、S、L 单个常开接点的并联或非指令 ON I、Q、M、SM、T、C、V、S、L 单个常闭接点的并联置位指令 S I、Q、M、SM、T、C、V、S、L 使动作保持复位指令 R I、Q、M、SM、T、C、V、S、L 使保持复位正跳变 ED I、Q、M、SM、T、C、V、S、L 输入信号上升沿产生脉冲输出负跳变 EU I、Q、M、SM、T、C、V、S、L 输入信号下降沿产生脉冲输出空操作指令 NOP 无 使步序作空操作一、标准触点 LD、A、O、LDN、AN、ON、LD,取指令。表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始。LDN,取反指令。表示一个与输入母线相连的常闭接点指令,即常闭接点逻辑运算起始。A,与指令。用于单个常开接点的串联。AN,与非指令。用于单个常闭接点的串联。O,或指令。用于单个常开接点的并联。ON,或非指令。用于单个常闭接点的并联。二、正、负跳变 ED、EUED,在检测到一个正跳变(从OFF到ON)之后,让能流接通一个扫描周期。EU,在检测到一个负跳变(从ON到OFF)之后,让能流接通一个扫描周期。三、输出 ==,在执行输出指令时,映像寄存器中的指定参数位被接通。四、置位与复位指令S、RS,执行置位(置1)指令时,从bit或OUT指定的地址参数开始的N个点都被置位。R,执行复位(置0)指令时,从bit或OUT指定的地址参数开始的N个点都被复位。置位与复位的点数可以是1-255,当用复位指令时,如果bit或OUT指定的是T或C时,那么定时器或计数器被复位,同时当前值将被清零。五、空操作指令NOPNOP指令不影响程序的执行,执行数N(1-255)。第三章 可编程控制器梯形图设计规则1.触点的安排梯形图的触点应画在水平线上,不能画在垂直分支上。2.串、并联的处理在有几个串联回路相并联时,应将触点最多的那个串联回路放在梯形图最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。3.线圈的安排不能将触点画在线圈右边,只能在触点的右边接线圈。4.不准双线圈输出如果在同一程序中同一元件的线圈使用两次或多次,则称为双线圈输出。这时前面的输出无效,只有最后一次才有效,所以不应出现双线圈输出。5.重新编排电路如果电路结构比较复杂,可重复使用一些触点画出它的等效电路,然后再进行编程就比较容易。6.编程顺序对复杂的程序可先将程序分成几个简单的程序段,每一段从最左边触点开始,由上之下向右进行编程,再把程序逐段连接起来。

plc编程器

PLC编程器:是一个编辑PLC程序的工具,相当于电脑.但与电脑相比,功能相对单一,只是编程用!

如何自学编程?

得看你先想要学什么,目前编程语言有C语言、数据结构,其他编程语言有java、C++、python 之类的。每一类都有从入门到精通的书。也可以去找视频教程,可以一边学一边练。如果你需要视频教程的话,我可以分享给你

可编程序控制器原理及应用的图书信息

书 名: 可编程序控制器原理及应用作 者:胡敏强出版社: 中国电力出版社出版时间: 2010年3月1日ISBN: 9787508399638开本: 16开定价: 36.50元

可编程序控制器原理与应用基础的内容简介

《可编程序控制器原理与应用基础》分上、下两篇。上篇共六章,包括可编程序控制器概述、可编程序控制器的基本原理、S7-200 PLC的硬件系统,S7-200 PLC的指令系统、可编程序控制器程序设计基础以及可编程序控制器的通信及网络。下篇共三章,包括可编程序控制器编程系统及编程软件、可编程序控制器编程基础实验以及可编程序控制器编程综合实验。全书在阐述基本概念和基本原理的基础上,侧重于编程方法的讲解和练习,着重工程实际应用能力的培养。各章配有大量的思考题和习题,供读者检验知识的掌握程度和巩固所学的知识。

可编程控制器的工作原理是什么?

工作过程是:1、输入现场信号:在系统软件的控制下,顺次扫描各输入点,读入各输入点的状态;2、执行程序:顺次扫描用户程序中的各条指令,根据输入状态和指令内容进行逻辑运算;3、输出控制信号:根据逻辑运算的结果,输出状态寄存器(锁存器)向各输出点并行发出相应的控制信号,实现所要求的逻辑控制功能。拓展资料可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。系统集成:在制造工业中存在大量的开关量为主的开环的顺序控制,它按照逻辑条件进行顺序动作号按照时序动作;另外还有与顺序、时序无关的按照逻辑关系进行连锁保护动作的控制;以及大量的开关量、脉冲量、计时、计数器、模拟量的越限报警等状态量为主的—离散量的数据采集监视。由于这些控制和监视的要求,使PLC发展成了取代继电器线路和进行顺序控制为主的产品。PLC厂家在原来CPU模板上提逐渐增加了各种通讯接口,现场总线技术及以太网技术也同步发展,使PLC的应用范围越来越广泛。 PLC具有稳定可靠、价格便宜、功能齐全、应用灵活方便、操作维护方便的优点,这是它能持久的占有市场的根本原因。PLC控制器本身的硬件采用积木式结构,有母板,数字I/O模板,模拟I/O模板,还有特殊的定位模板,条形码识别模板等模块,用户可以根据需要采用在母板上扩展或者利用总线技术配备远程I/O从站的方法来得到想要的I/O数量。PLC在实现各种数量的I/O控制的同时,还具备输出模拟电压和数字脉冲的能力,使得它可以控制各种能接收这些信号的伺服电机,步进电机,变频电机等,加上触摸屏的人机界面支持,施耐德的PLC可以满足您在过程控制中任何层次上的需求。

可编程控制器原理及应用?

上课一定要注意听,注意记,实践课一定要把握好!因为我在学校就没有学好,实践课是别人帮忙写的程序,只是照着抄进电脑,所以现在感觉很好笑,因为工作后2个月左右才发现,PLC也没有什么难的。选课程,要的专业。学的是自动化。在大学里面,自动化,电气自动化,机械制造及其自动化等专业都会开设PLC基础课程,但是自动化和电气自动化的要求会更高,因为是工作中必用的东西。下面列举一下与PLC相关的基础课程:电机拖动---介绍普通单相电机和三相变频电机的工作原理;控制电机---介绍微特电机,步进电机和伺服电机的控制原理;自动控制理论---自动化专业都要学的课程;传感器与自动化仪表---介绍各种工业传感器的工作原理,一定要好好学;电力电子技术---这是个辅助课程;模拟电子和数字电子---这些是和单片机极其相关的课程,因为是自动化专业,单片机和PLC是一起的;PLC应用基础---里面结合不同厂家的PLC,如西门子,三菱,omron,原理很关键,都是一样的。基本就是这些,希望正视自己的专业,选好最感兴趣的专业。

可编程控制器原理及应用

可编程控制器原理:采用可以编制程序的存储器,用来在执行存储逻辑运算和顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟的输入(I)和输出(O)接口,控制各种类型的机械设备或生产过程。可编程控制器应用:PLC采用微电子技术来完成各种控制功能,在现场的输入信号作用下,按照预先输入的程序,控制现场的执行机构,按照一定规律进行动作。其主要功能有顺序逻辑控制、运动控制、定时控制、记数控制、步进控制、数据处理、模、数和数、模转换、通信及联网等可编程控制器是在电器控制技术和计算机技术的基础上开发出来的,并逐渐发展成为以微处理器为核心,把自动化技术、计算机技术、通讯技术融为一体的新型工业控制装置。扩展资料从产品的配套性上看,产品的品种会更丰富、规格更齐全,完美的人机界面、完备的通信设备会更好地适应各种工业控制场合的需求;从市场上看,各国各自生产多品种产品的情况会随着国际竞争的加剧而打破,会出现少数几个品牌垄断国际市场的局面,会出现国际通用的编程语言;从网络的发展情况来看,可编程控制器和其它工业控制计算机组网构成大型的控制系统是可编程控制器技术的发展方向 。计算机集散控制系统DCS(Distributed Control System)中已有大量的可编程控制器应用。伴随着计算机网络的发展,可编程控制器作为自动化控制网络和国际通用网络的重要组成部分,将在工业及工业以外的众多领域发挥越来越大的作用。参考资料来源:百度百科-可编程控制器 (一种控制器)

高分急求 微机原理及接口技术 编程题答案(100分再追加100分!!)

已发信息给你了

如何学习编程?

先学c语言的前七章,,然后在另学一门好的面向对象开放的语言,,因为比较好学

如何学习编程

先了解一些基本知识c语言的背景C语言是一种高级编程语言,其前身是ALGOL。它的创始人是BrownW.kanihan和DennisM.leach。当C语言出现时,它有很大的局限性,因为它只能在UNIX系统上使用。然而,随着科学技术的进步,计算机产业的发展,C语言逐渐从UNIX中分离出来。1987年,美国标准化协会制定了C语言的国际标准,简称ansic。从那时起,它已经成为一种广泛使用的编程语言。之后二大语系的学习例如:C、C+(C语言的扩展)、QBASIC、VB(basic的可视化)、JavaScript、JScript、VBScript、Java、ASP、FoxPro、Perl等,根据我的实践,实际上高级编程语言分为两种主要语言。所有的方法都是基于C的编程语言,如JavaScript、Java等,它们在函数调用、程序语句编写和循环控制方面非常相似。另一种是以basic为主导的程序语言,如FoxPro、VBScript等,它也有类似的函数调用、程序语句编写和循环控制,但不同于C语言家族。所以如果是从QBASIC开始的,在学习C语言之前最好先洗脑。不要在C语言上使用基本的学习方法和思想。扩展资料:首先明确学习目标,看你要学到什么程度,以及用来干什么。如果你是要学到足以找一份高薪的工作那最好就是考研。如果是急着找份初级程序员的工作可以了解一下各种编程语言适合做啥然后根据自己的兴趣报个培训班,不过很贵而且还会被鄙视。如果是觉得编程很好玩儿想简单了解一下,可以买一本计算机导论的书,学一门入门语言,C语言 java python 等等都行。不想看书网上视频教程也很多,慕课网之类的。如果不是为了工作但是有明确的目标,比如我要学黑客,我要学做游戏,我要学做网站之类的,可以自行百度XX学习路线之类的。然后再辅以计算机专业基础课,比如计算机原理、数据结构算法什么的,同样可以自行百度,很容易找到。

儿童学编程真的有用吗

我觉得还是挺有用的,我家孩子在酷叮猫学了快一年了,孩子特别喜欢,这是他最愿意学的一个学科了,以前没事就爱玩电脑,玩手机,自从学了编程课程之后,有时间更愿意学编程,没事还自己设计点小故事情节什么的。最主要的是比以前爱动脑了, 不用我天天盯着他写作业了。

三菱plc编程教程FX-IS20MR

http://my.tv.sohu.com/u/vw/23779653这个视频不错

新手学编程应该先学什么?

先学计算机基础

哪里有免费[洪恩编程之道系列教程]C#程序入门下载啊?

我只能提供到以下内容:金圣华是中国内地男演员,1987年出生于山东省,毕业于北京电影学院表演系。曾参演过影视剧《彭德怀元帅》、《都挺好》、《奋斗吧,少年》等。2018年因在《锦衣之下》中饰演顾廷烨一角而广受关注。

从零开始学习计算机编程应该怎么学?

首先要会英语,不会白搭先学易语言,因为是中文的,方便一点,可以让你知道编程都有哪几个步骤,逻辑思维能力要好点才行你要不断想出新花样,通过易语言制造出来(教程书就别买了,看看教程多的是)当你觉得易语言学的差不多的时候,就去下C语言C语言是国际的编程语言,大多软件都是它造的这时编程是英文的了,难度大得多,这是你要买几本数看看学完它,就要学c++,这是在C语言基础之上的,难度加大,我想你都闯了两关了,应该难不到你了吧

学计算机编程需要什么基础 入门先学什么

近些年有一种职业发展很快、人才需求量大、工资高,那就是程序员。他们的基本工作就是电脑编程,开发者各种各样的软件、APP,被很多人膜拜。如果你想成为一名程序员,有必要了解一下这些基本的电脑编程入门教程。 计算机编程怎么入门 1、选择一门编程语言。 虽然目前编程语言有600种左右,但是比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、C#等就是不错的选择,不仅应用范围广泛,而且也有大量的开发案例可以参考学习。 2、建立基本的编程思想。 编程语言本身的难度并不高,只要掌握了相应的编程规则就能逐渐建立起自己的编程思想。建立编程思想的第一步是了解编程语言的基本语法规则,以Java语言为例,要掌握各种抽象概念,比如类、对象、属性、方法等;第二步是了解基本的编程过程,比如类的定义、对象的创建、方法的调用;第三步是学习经典的编程模式。 3、注重实验。 学习编程语言一定要重视实验,实验不仅能够帮助理解各种抽象概念,也能在一定程度上积累编程经验。 4、学习相关知识。 在学习编程语言的过程中,也需要同时学习计算机网络、数据库等相关知识,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台的各种资源。 计算机编程语言 计算机编程语言有几百种,小到智能手机,大到服务器集群,都运行着各种各样的编程语言写的程序。没有哪一种程序就比另一种高贵,都各司其职,完成我们交给他们的任务。 计算机专业的学生一般学习编程都是从C或者C++开始的。这两种语言在大多数高级语言中出现较早,影响力也很大。对于计算机专业,当然要学好这两种语言,才能为以后学习其他语言打下基础。 对于非计算机专业或者以前从没接触过编程的同学来说,不建议上手就学C和C++,因为它们偏难,而且并不是必须的。对于这些背景的同学,十分建议学Python。因为Python首先是跨平台,然后,没有特别复杂的语法(至少完成日常使用不需要),最重要的是,有各种各样的包能支持你做各种各样的事情!

数控等离子切割机怎么编程

摘要:数控等离子切割机的数控操作是通过编程实现的,购买数控等离子切割机时一般会附赠一套编程软件,编程时,在电脑上编程套料,套好料后转成NC代码,再把NC代码(程序)输入到数控等离子切割机上即可。数控等离子切割机的编程一般是用专门的编程软件,主要有通用型编程软件和专业型数控切割编程软件两种。下面一起来了解一下数控等离子切割机怎么编程吧。一、数控等离子切割机怎么编程数控等离子切割机在使用时,主要是通过编程操控的,通过编程软件将待切割图形转换成加工程序(G代码),然后通过加工程序驱动数控系统,控制数控切割机床进行切割工作。为了更好操控数控等离子切割机,需要注意做好编程工作,那么数控等离子切割机怎么编程呢?1、在购买数控等离子切割机时,厂家一般会配一套CAD/CAM软件。这个软件主要是用于在电脑上编程套料,套好料后转成NC代码,再把NC代码(程序)输入到数控等离子切割机上,进行切割。2、数控等离子切割机厂家不同,提供的编程软件也有所不同,以常用的FASFCAM为例,其编程方法是:(1)打开安装界面,单击安装FASFCAM,选择EDGE(这个是必须的,不然产生的不是TXT文件)再按照软件安装的提示做就可以安装好了。(2)先在CAD当中画好需要的图,保存其文件格式为AUTOCAD2000/LT2000.DWG或DXF两种格式都可以。(3)在编程时,FASTNEST设置输入文件类型DXF(这个是关键)然后把设置穿孔设好就可以了。下面套料的时候注意:DWG格式的需要把选择的文件类型对应,不然你是看不到保存的文件的;另外,如果是DXF格式的,则是软件默认的文件类型,直接编程即可。二、数控等离子切割机编程软件有哪些数控等离子切割机的编程需要用到编程软件,无论采用何种编程软件,其编程原理是一样的,但由于不同厂家的数控系统,采用的G代码指令集有所不同,编程软件也会有所不同,一般数控等离子切割机的编程软件可分为通用型和专业型两种:1、通用型编程软件这种编程软件的功能是将绘图软件(如:AutoCAD等)绘制的待切割零件图按照数控切割工艺进行排料、切割工艺选择,最后转化成数控加工G代码指令。这类软件有很多,如:FastCAM、IBE、StarCAM、SmartNest等等。每种数控切割编程软件根据版本不同,其所支持的切割工艺也有所差别。2、专业型数控切割编程软件这种是针对某一特定行业而推出的数控切割编程软件,专门针对某一行业进行了特殊优化与功能扩展,可以实现一套软件内零件设计、排料、切割加工程序输出一体化操作。

面向接口编程,具体怎么操作?

面向接口编程[zz]在前面的章节中,我们提到一个接口设计的例子。为什么我们提倡接口的设计呢?Martin Fowler在他的分析模式一书中指出,分析问题应该站在概念的层次上,而不是站在实现的层次上。什么叫做概念的层次呢?简单的说就是分析对象该做什么,而不是分析对象怎么做。前者属于分析的阶段,后者属于设计甚至是实现的阶段。在需求工程中有一种称为CRC卡片的玩艺儿,是用来分析类的职责和关系的,其实那种方法就是从概念层次上进行面向对象设计。因此,如果要从概念层次上进行分析,这就要求你从领域专家的角度来看待程序是如何表示现实世界中的概念的。下面的这句话有些拗口,从实现的角度上来说,概念层次对应于合同,合同的实现形式包括接口和基类。简单的说吧,在概念层次上进行分析就是设计出接口(或是基类),而不用关心具体的接口实现(实现推迟到子类再实现)。结合上面的论述,我们也可以这样推断,接口应该是要符合现实世界的观念的。在Martin Fowler的另一篇著作中提到了这样一个例子,非常好的解释了接口编程的思路:interface Person { public String name(); public void name(String newName); public Money salary (); public void salary (Money newSalary); public Money payAmount (); public void makeManager ();}interface Engineer extends Person{ public void numberOfPatents (int value); public int numberOfPatents ();}interface Salesman extends Person{ public void numberOfSales (int numberOfSales); public int numberOfSales ();}interface Manager extends Person{ public void budget (Money value); public Money budget ();}可以看到,为了表示现实世界中人(这里其实指的是员工的概念)、工程师、销售员、经理的概念,代码根据人的自然观点设计了继承层次结构,并很好的实现了重用。而且,我们可以认定该接口是相对稳定的。我们再来看看实现部分:public class PersonImpFlag implements Person, Salesman, Engineer,Manager{// Implementing Salesmanpublic static Salesman newSalesman (String name){ PersonImpFlag result; result = new PersonImpFlag (name); result.makeSalesman(); return result;};public void makeSalesman () { _jobTitle = 1;};public boolean isSalesman () { return _jobTitle == 1;};public void numberOfSales (int value){ requireIsSalesman () ; _numberOfSales = value;};public int numberOfSales () { requireIsSalesman (); return _numberOfSales;};private void requireIsSalesman () { if (! isSalesman()) throw new PreconditionViolation ("Not a Salesman") ;}; private int _numberOfSales; private int _jobTitle;}这是其中一种被称为内部标示(Internal Flag)的实现方法。这里我们只是举出一个例子,实际上我们还有非常多的解决方法,但我们并不关心。因为只要接口足够稳定,内部实现发生再大的变化都是允许的。如果对实现的方式感兴趣,可以参考Matrin Fowler的角色建模的文章或是我在阅读这篇文章的一篇笔记。通过上面的例子,我们可以了解到,接口和实现分离的最大好处就是能够在客户端未知的情况下修改实现代码。这个特性对于分层技术是非常适用的。一种是用在层和层之间的调用。层和层之间是最忌讳耦合度过高或是改变过于频繁的。设计优秀的接口能够解决这个问题。另一种是用在那些不稳定的部分上。如果某些需求的变化性很大,那么定义接口也是一种解决之道。举个不恰当的例子,设计良好的接口就像是我们日常使用的万用插座一样,不论插头如何变化,都可以使用。最后强调一点,良好的接口定义一定是来自于需求的,它绝对不是程序员绞尽脑汁想出来的。

C++编程题 急 在线等 高分求解!

#include <iostream>#include <string>using namespace std;class CWorker{private: string m_name; int m_id; int m_age; int m_salary;public: CWorker() { m_name = ""; m_id = 0; m_age = 0; m_salary = 0; } CWorker(string name, int id, int age, int salary) { m_name = name; m_id = id; m_age = age; m_salary = salary; } string GetName(){return m_name;} void SetName(string name){m_name = name;} int GetId(){return m_id;} void SetId(int id){m_id = id;} int GetAge(){return m_age;} void SetAge(int age){m_age = age;} int GetSalary(){return m_salary;} void SetSalary(int salary){m_salary = salary;}public: friend int averageSalary(CWorker*, int); friend int topSalary(CWorker*, int);};class CTeacher:public CWorker{private: string m_title; string m_department;public: CTeacher(){m_title = "";m_department = "";} CTeacher(string title, string department) { m_title = title; m_department = department; } string GetTitle(){return m_title;} void SetTitle(string title){m_title = title;} string GetDepartment(){return m_department;} void SetDepartment(string department){m_department = department;}};int averageSalary(CWorker *workers, int n){ int total = 0; for(int i=0; i<n; ++i) { total += workers[i].m_salary; } return total/n;}int topSalary(CWorker *workers, int n){ int top = 0; for(int i=0; i<n; ++i) { if(workers[i].m_salary > top) { top = workers[i].m_salary; } } return top;}int main(){ const int n = 10; CWorker workers[n]; for(int i=0; i<n; ++i) workers[i] = CWorker("worker"+i, i, 26+i, 5000+i*1000); int avg = averageSalary(workers, n); cout<<"avg:"<<avg<<endl; int top = topSalary(workers, n); cout<<"top:"<<top<<endl; CTeacher t1("title a", "depart a"); cout<<"t1:"<<t1.GetTitle()<<endl; cout<<"t1:"<<t1.GetDepartment()<<endl; return 0;}

c语言编程

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去      掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf(“ “);for(i=1;i〈5;i++)    /*以下为三重循环*/ for(j=1;j〈5;j++)   for (k=1;k〈5;k++)   {    if (i!=k&&i!=j&&j!=k)    /*确保i、j、k三位互不相同*/    printf(“%d,%d,%d “,i,j,k);   }}==============================================================【程序2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提   成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于   40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于   100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(“%ld“,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15; if(i〈=100000)  bonus=i*0.1; else if(i〈=200000)     bonus=bonus1+(i-100000)*0.075;    else if(i〈=400000)        bonus=bonus2+(i-200000)*0.05;       else if(i〈=600000)           bonus=bonus4+(i-400000)*0.03;          else if(i〈=1000000)              bonus=bonus6+(i-600000)*0.015;             else              bonus=bonus10+(i-1000000)*0.01;printf(“bonus=%d“,bonus);} ==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后      的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include “math.h“main(){long int i,x,y,z;for (i=1;i〈100000;i++) { x=sqrt(i+100);   /*x为加上100后开方后的结果*/  y=sqrt(i+268);   /*y为再加上168后开方后的结果*/   if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/    printf(“ %ld “,i); }}============================================================== 【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊      情况,闰年且输入月份大于3时需考虑多加一天。2.程序源代码:main(){int day,month,year,sum,leap;printf(“ please input year,month,day “);scanf(“%d,%d,%d“,&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/{ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(“data error“);break;}sum=sum+day;  /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/  leap=1; else  leap=0;if(leap==1&&month〉2)/*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.“,sum);}==============================================================【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x〉y则将x与y的值进行交换,      然后再用x与z进行比较,如果x〉z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main(){int x,y,z,t;scanf(“%d%d%d“,&x,&y,&z);if (x〉y){t=x;x=y;y=t;} /*交换x,y的值*/if(x〉z){t=z;z=x;x=t;}/*交换x,z的值*/if(y〉z){t=y;y=z;z=t;}/*交换z,y的值*/printf(“small to big: %d %d %d “,x,y,z);}==============================================================【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用"*"号在纸上写出字母C,再分行输出。2.程序源代码:#include “stdio.h“main(){printf(“Hello C-world! “);printf(“ **** “);printf(“ * “);printf(“ * “);printf(“ **** “);}==============================================================【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。      2.程序源代码:#include “stdio.h“main(){char a=176,b=219;printf(“%c%c%c%c%c “,b,a,a,a,b);printf(“%c%c%c%c%c “,a,b,a,b,a);printf(“%c%c%c%c%c “,a,a,b,a,a);printf(“%c%c%c%c%c “,a,b,a,b,a);printf(“%c%c%c%c%c “,b,a,a,a,b);}==============================================================【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#include “stdio.h“main(){ int i,j,result; printf(“ “); for (i=1;i〈10;i++)  { for(j=1;j〈10;j++)    {     result=i*j;     printf(“%d*%d=%-3d“,i,j,result);/*-3d表示左对齐,占3位*/    }   printf(“ “);/*每一行后换行*/  }}============================================================== 【程序9】题目:要求输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#include “stdio.h“main(){int i,j;for(i=0;i〈8;i++) {  for(j=0;j〈8;j++)   if((i+j)%2==0)    printf(“%c%c“,219,219);   else    printf(“ “);   printf(“ “); }}==============================================================【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码:#include “stdio.h“main(){int i,j;printf(“11 “);/*输出两个笑脸*/for(i=1;i〈11;i++) { for(j=1;j〈=i;j++)   printf(“%c%c“,219,219); printf(“ “); }}【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月   后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i〈=20;i++) { printf(“%12ld %12ld“,f1,f2);   if(i%2==0) printf(“ “);/*控制输出,每行四个*/   f1=f1+f2; /*前两个月加起来赋值给第三个月*/   f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }}==============================================================【程序12】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,      则表明此数不是素数,反之是素数。       2.程序源代码:#include “math.h“main(){ int m,i,k,h=0,leap=1; printf(“ “); for(m=101;m〈=200;m++)  { k=sqrt(m+1);   for(i=2;i〈=k;i++)     if(m%i==0)      {leap=0;break;}   if(leap) {printf(“%-4d“,m);h++;<br>        if(h%10==0)<br>        printf(“ “);<br>        }   leap=1;  } printf(“ The total is %d“,h);}==============================================================【程序13】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数   本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main(){int i,j,k,n;printf(“"water flower"number is:“); for(n=100;n〈1000;n++) {  i=n/100;/*分解出百位*/  j=n/10%10;/*分解出十位*/  k=n%10;/*分解出个位*/  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)   {   printf(“%-5d“,n);   } }printf(“ “);}============================================================== 【程序14】题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。2.程序源代码:/* zheng int is divided yinshu*/main(){int n,i;printf(“ please input a number: “);scanf(“%d“,&n);printf(“%d=“,n);for(i=2;i〈=n;i++) {  while(n!=i)  {   if(n%i==0)   { printf(“%d*“,i);    n=n/i;   }   else    break;  }}printf(“%d“,n);}==============================================================【程序15】题目:利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,   60分以下的用C表示。1.程序分析:(a〉b)?a:b这是条件运算符的基本例子。2.程序源代码:main(){ int score; char grade; printf(“please input a score “); scanf(“%d“,&score); grade=score〉=90?"A":(score〉=60?"B":"C"); printf(“%d belongs to %c“,score,grade);}==============================================================【程序16】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码:main(){ int a,b,num1,num2,temp; printf(“please input two numbers: “); scanf(“%d,%d“,&num1,&num2); if(num1  { temp=num1;  num1=num2;   num2=temp; }a=num1;b=num2;while(b!=0)/*利用辗除法,直到b为0为止*/ {  temp=a%b;  a=b;  b=temp; }printf(“gongyueshu:%d “,a);printf(“gongbeishu:%d “,num1*num2/a);}============================================================== 【程序17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为" ".      2.程序源代码:#include “stdio.h“main(){char c;<br> int letters=0,space=0,digit=0,others=0;<br> printf(“please input some characters “);<br> while((c=getchar())!=" ")<br> {<br> if(c〉="a"&&c〈="z"||c〉="A"&&c〈="Z")<br>  letters++;<br> else if(c==" ")<br>  space++;<br>   else if(c〉="0"&&c〈="9")<br>       digit++;<br>     else<br>       others++;<br>}printf(“all in all:char=%d space=%d digit=%d others=%d “,letters,space,digit,others);}==============================================================【程序18】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时   共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码:main(){ int a,n,count=1; long int sn=0,tn=0; printf(“please input a and n “); scanf(“%d,%d“,&a,&n); printf(“a=%d,n=%d “,a,n); while(count〈=n) {  tn=tn+a;  sn=sn+tn;  a=a*10;  ++count; }printf(“a+aa+...=%ld “,sn);}==============================================================【程序19】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程   找出1000以内的所有完数。1. 程序分析:请参照程序〈--上页程序14.2.程序源代码:main(){static int k[10];int i,j,n,s;for(j=2;j〈1000;j++) { n=-1; s=j;  for(i=1;i   {   if((j%i)==0)   { n++;    s=s-i;    k[n]=i;   }  } if(s==0) { printf(“%d is a wanshu“,j); for(i=0;i  printf(“%d,“,k); printf(“%d “,k[n]); }}}============================================================== 【程序20】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在   第10次落地时,共经过多少米?第10次反弹多高?1.程序分析:见下面注释2.程序源代码:main(){float sn=100.0,hn=sn/2;int n;for(n=2;n〈=10;n++) {  sn=sn+2*hn;/*第n次落地时共经过的米数*/  hn=hn/2; /*第n次反跳高度*/ }printf(“the total of road is %f “,sn);printf(“the tenth is %f meter “,hn);}

C语言编程

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去      掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf(“ “);for(i=1;i〈5;i++)    /*以下为三重循环*/ for(j=1;j〈5;j++)   for (k=1;k〈5;k++)   {    if (i!=k&&i!=j&&j!=k)    /*确保i、j、k三位互不相同*/    printf(“%d,%d,%d “,i,j,k);   }}==============================================================【程序2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提   成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于   40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于   100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(“%ld“,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15; if(i〈=100000)  bonus=i*0.1; else if(i〈=200000)     bonus=bonus1+(i-100000)*0.075;    else if(i〈=400000)        bonus=bonus2+(i-200000)*0.05;       else if(i〈=600000)           bonus=bonus4+(i-400000)*0.03;          else if(i〈=1000000)              bonus=bonus6+(i-600000)*0.015;             else              bonus=bonus10+(i-1000000)*0.01;printf(“bonus=%d“,bonus);} ==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后      的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include “math.h“main(){long int i,x,y,z;for (i=1;i〈100000;i++) { x=sqrt(i+100);   /*x为加上100后开方后的结果*/  y=sqrt(i+268);   /*y为再加上168后开方后的结果*/   if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/    printf(“ %ld “,i); }}============================================================== 【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊      情况,闰年且输入月份大于3时需考虑多加一天。2.程序源代码:main(){int day,month,year,sum,leap;printf(“ please input year,month,day “);scanf(“%d,%d,%d“,&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/{ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(“data error“);break;}sum=sum+day;  /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/  leap=1; else  leap=0;if(leap==1&&month〉2)/*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.“,sum);}==============================================================【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x〉y则将x与y的值进行交换,      然后再用x与z进行比较,如果x〉z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main(){int x,y,z,t;scanf(“%d%d%d“,&x,&y,&z);if (x〉y){t=x;x=y;y=t;} /*交换x,y的值*/if(x〉z){t=z;z=x;x=t;}/*交换x,z的值*/if(y〉z){t=y;y=z;z=t;}/*交换z,y的值*/printf(“small to big: %d %d %d “,x,y,z);}==============================================================【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用"*"号在纸上写出字母C,再分行输出。2.程序源代码:#include “stdio.h“main(){printf(“Hello C-world! “);printf(“ **** “);printf(“ * “);printf(“ * “);printf(“ **** “);}==============================================================【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。      2.程序源代码:#include “stdio.h“main(){char a=176,b=219;printf(“%c%c%c%c%c “,b,a,a,a,b);printf(“%c%c%c%c%c “,a,b,a,b,a);printf(“%c%c%c%c%c “,a,a,b,a,a);printf(“%c%c%c%c%c “,a,b,a,b,a);printf(“%c%c%c%c%c “,b,a,a,a,b);}==============================================================【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#include “stdio.h“main(){ int i,j,result; printf(“ “); for (i=1;i〈10;i++)  { for(j=1;j〈10;j++)    {     result=i*j;     printf(“%d*%d=%-3d“,i,j,result);/*-3d表示左对齐,占3位*/    }   printf(“ “);/*每一行后换行*/  }}============================================================== 【程序9】题目:要求输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#include “stdio.h“main(){int i,j;for(i=0;i〈8;i++) {  for(j=0;j〈8;j++)   if((i+j)%2==0)    printf(“%c%c“,219,219);   else    printf(“ “);   printf(“ “); }}==============================================================【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码:#include “stdio.h“main(){int i,j;printf(“11 “);/*输出两个笑脸*/for(i=1;i〈11;i++) { for(j=1;j〈=i;j++)   printf(“%c%c“,219,219); printf(“ “); }}【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月   后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i〈=20;i++) { printf(“%12ld %12ld“,f1,f2);   if(i%2==0) printf(“ “);/*控制输出,每行四个*/   f1=f1+f2; /*前两个月加起来赋值给第三个月*/   f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }}==============================================================【程序12】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,      则表明此数不是素数,反之是素数。       2.程序源代码:#include “math.h“main(){ int m,i,k,h=0,leap=1; printf(“ “); for(m=101;m〈=200;m++)  { k=sqrt(m+1);   for(i=2;i〈=k;i++)     if(m%i==0)      {leap=0;break;}   if(leap) {printf(“%-4d“,m);h++;<br>        if(h%10==0)<br>        printf(“ “);<br>        }   leap=1;  } printf(“ The total is %d“,h);}==============================================================【程序13】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数   本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main(){int i,j,k,n;printf(“"water flower"number is:“); for(n=100;n〈1000;n++) {  i=n/100;/*分解出百位*/  j=n/10%10;/*分解出十位*/  k=n%10;/*分解出个位*/  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)   {   printf(“%-5d“,n);   } }printf(“ “);}============================================================== 【程序14】题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。2.程序源代码:/* zheng int is divided yinshu*/main(){int n,i;printf(“ please input a number: “);scanf(“%d“,&n);printf(“%d=“,n);for(i=2;i〈=n;i++) {  while(n!=i)  {   if(n%i==0)   { printf(“%d*“,i);    n=n/i;   }   else    break;  }}printf(“%d“,n);}==============================================================【程序15】题目:利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,   60分以下的用C表示。1.程序分析:(a〉b)?a:b这是条件运算符的基本例子。2.程序源代码:main(){ int score; char grade; printf(“please input a score “); scanf(“%d“,&score); grade=score〉=90?"A":(score〉=60?"B":"C"); printf(“%d belongs to %c“,score,grade);}==============================================================【程序16】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码:main(){ int a,b,num1,num2,temp; printf(“please input two numbers: “); scanf(“%d,%d“,&num1,&num2); if(num1  { temp=num1;  num1=num2;   num2=temp; }a=num1;b=num2;while(b!=0)/*利用辗除法,直到b为0为止*/ {  temp=a%b;  a=b;  b=temp; }printf(“gongyueshu:%d “,a);printf(“gongbeishu:%d “,num1*num2/a);}============================================================== 【程序17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为" ".      2.程序源代码:#include “stdio.h“main(){char c;<br> int letters=0,space=0,digit=0,others=0;<br> printf(“please input some characters “);<br> while((c=getchar())!=" ")<br> {<br> if(c〉="a"&&c〈="z"||c〉="A"&&c〈="Z")<br>  letters++;<br> else if(c==" ")<br>  space++;<br>   else if(c〉="0"&&c〈="9")<br>       digit++;<br>     else<br>       others++;<br>}printf(“all in all:char=%d space=%d digit=%d others=%d “,letters,space,digit,others);}==============================================================【程序18】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时   共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码:main(){ int a,n,count=1; long int sn=0,tn=0; printf(“please input a and n “); scanf(“%d,%d“,&a,&n); printf(“a=%d,n=%d “,a,n); while(count〈=n) {  tn=tn+a;  sn=sn+tn;  a=a*10;  ++count; }printf(“a+aa+...=%ld “,sn);}==============================================================【程序19】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程   找出1000以内的所有完数。1. 程序分析:请参照程序〈--上页程序14.2.程序源代码:main(){static int k[10];int i,j,n,s;for(j=2;j〈1000;j++) { n=-1; s=j;  for(i=1;i   {   if((j%i)==0)   { n++;    s=s-i;    k[n]=i;   }  } if(s==0) { printf(“%d is a wanshu“,j); for(i=0;i  printf(“%d,“,k); printf(“%d “,k[n]); }}}============================================================== 【程序20】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在   第10次落地时,共经过多少米?第10次反弹多高?1.程序分析:见下面注释2.程序源代码:main(){float sn=100.0,hn=sn/2;int n;for(n=2;n〈=10;n++) {  sn=sn+2*hn;/*第n次落地时共经过的米数*/  hn=hn/2; /*第n次反跳高度*/ }printf(“the total of road is %f “,sn);printf(“the tenth is %f meter “,hn);}请采纳。

请问大大们下单片机编程控制的三相逆变电源原理

学习

简单的java编程题

用数据库排序功能就可以。

数控编程LIMS啥意思

英文lim为限定的意思在西门子系统中 LIMS 配合G96 做最高转速限定飞阳i5系统中写作lim 意义相同

stray编程店在哪

在老奶奶店回头左手边第一个房子路边挠门开门的二楼。《Stray》是一款第三人称的猫冒险游戏。游戏背景设定为一座日渐衰败的网络城市,这里有着霓虹闪烁的幽深小巷,以及脏乱阴暗的环境。在高高低低的环境中穿梭,防御无法预见的威胁,探索这个充斥着冷漠的机器人和各种危险生物的城市,并设法解开这里的谜团。根据Stray的游戏规则,elliot编程店在老奶奶店回头左手边第一个房子路边挠门开门的二楼,Elliot的编程店,需要刮门多次才能开门,可在里面找到「乐谱3/8」。

C语言编程,为什么会多输出一行?

while(!feof(fp)) { fscanf(fp , "%ld%s%d%d%d",&stud.num,stud.name,&stud.math,&stud.chinese,&stud.english );// "%ld%s%d%d%d后面加个 就好了,读取文件的时候也要行像打印文件时一样要换行 stud.tottle = stud.math + stud.english + stud.chinese ; stud.average = stud.tottle / 3; printf("%ld %s %d %d %d %d %d ",stud.num,stud.name,stud.math,stud.chinese,stud.english,stud.tottle,stud.average ); } 调试了半个小时 嘿嘿 现学现卖 如果满意请采纳我

用VF编程1:打开STUD表,按姓名查询任一学生的信息。若找到,显示该生信息;否则,显示“查无此人!”

新建一个程序,写代码: accept "请输入要查询的学生的姓名:" to stu_nameclose alluse studlocate for 姓名=alltrim(stu_name)if eof() messagebox("查无此人!") returnelse select * from stud where 姓名=alltrim(stu_name)endif

单片机编程!!

可以的

考试急用 用单片机8051编程序 要求在写内容

ORG 0000HLJMP MAINORG 0003HLJMP KEYINT0;共阳极数码管段码表0——9TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HCOUNT data 30H;延迟程序,约0.5SDELAY:MOV R5,#50DD1:MOV R6,#100DD2:MOV R7,#100 DJNZ R7,$ DJNZ R6,DD2 DJNZE R5,DD1 RET;LED灯显示LEDCON:CLR AADD A,COUNTADD A,COUNTADD A,COUNTJMP @A+PCLJMP NOOPLJMP RRLLLJMP OPEN_0N_OFFLJMP RRLLLJMP OPEN_0N_OFFLJMP RRLLLJMP LAMP_0N_OFFLJMP RRLLLJMP LAMP_0N_OFFLJMP RRLLRET;LED灯显示的花样程序,这里就写了2个,LED灯为下拉方式点亮;灯显示程序—左右循环RRLL:MOV R1,#8MOV P1,#0FEHLCALL DELAYRRLL1:MOV A,P1RR AMOV P1,ALCALL DELAYDJNZ R1,RRLL1MOV R1,#8LLRR1:MOV A,P1RR AMOV P1,ALCALL DELAYDJNZ R1,LLRR1RET;灯显示程序2,灯亮0.5S,灭0.5SLAMP_ON_OFF:MOV P1,#0LCALL DELAYMOV P1,#0FFHLCALL DELAYRETNOOP:NOPRET;主程序MAIN:MOV COUNT,#0SETB EASETB EX0AA:LACLL LEDCONSJMP AA;中断程序KEYINT0:MOV DPTR,#TABLEINC COUNTMOV A,COUNTMOVC A,@A+DPTRMOV P2,AMOV A,COUNTCJNE A,#10,KITMOV COUNT,#0KIT: RETIEND

英语不好能不能学编程?

编程开发跟英语没有必然的关系,用到的不过是英文单词,并不用英语的语法句型词太口语和听力,所用到的计算机相关英文单词也是有限的

常见的机器人编程语言有哪些

摘要:机器人编程语言是一种程序描述语言,它能十分简洁地描述工作环境和机器人的动作,能把复杂的操作内容通过尽可能简单的程序来实现。机器人编程语言最早是在20世纪70年代初期出现的,其种类非常多,常见的有AL语言、AML语言、MCL语言、SERF语言、SIGLA语言,接下来就和小编一起来看看机器人编程语言有哪些以及机器人编程语言的历史发展吧。常见的机器人编程语言有哪些1、AL语言AL语言是由斯坦福大学1974年开发的一种高级程序设计系统,它有类似ALGOL的源语言,有将程序转换为机器码的编译程序和由控制操作机械手和其他设备的实时系统。编译程序采用高级语言编写,可在小型计算机上实时运行,近年来该程序已能够在微型计算机上运行。AL语言对其他语言有很大的影响,在一般机器人语言中起主导作用,是机器人培训课程中的重点内容。2、AML语言AML语言能提供机器人运动和传感器指令,具有很强的数据处理功能。这种语言已商品化,可应用于内存不少于192KB的小型计算机控制的装配机器人,小型AML可应用微型计算机控制经济型装配机器人。3、MCL语言MCL语言是为工作单元离线编程而开发的一种机器人语言,它支持几何实体建模和运动描述,提供手爪命令,软件是在IBM360APT的基础上用FORTRAN和汇编语言写成的。4、SERF语言SERF语言是控制SKILAM机器人的语言,它包括工件的插入、装箱、手爪的开合等动作。这种语言简单,容易掌握,具有较强的功能,如三维数组、坐标变换、直线及圆弧插补、任意速度设定、子程序、故障检测等,其动作命令和I/O命令可并行处理。5、SIGLA语言SIGLA语言是一种面向装配的语言,其主要特点是为用户提供了定义机器人任务的能力。Sigma型机器人的装配任务常由若干个子任务组成,如取螺钉旋具、在上料器上取螺钉、搬运该螺钉、螺钉定位、螺钉装入和拧紧螺钉等。机器人编程语言的历史发展状况机器人编程语言最早是在20世纪70年代初期出现的,它是机器人培训的基础知识之一,其中有的是研究室里的实验语言,有的是实用的机器人语言。随着首台机器人的出现,对机器人语言的研究也同时进行。1973年美国斯坦福人工智能实验室研究和开发了第一种机器人语言——WAVE语言。WAVE语言具有动作描述,能配合视觉传感器进行手眼协调控制等功能。1974年,该实验室在WAVE语言的基础上开发了AL语言,它是一种编译形式的语言,具有ALGOL语言的结构,可以控制多台机器人协调动作。AL语言对后来机器人语言的发展有很大的影响。1979年,美国Unimation公司开发了VAL语言,并配置在PUMA系列机器人上,成为实用的机器人语言。VAL语言类似于BASIC语言,语句结构比较简单,易于编程。1984年该公司推出了VAL-Ⅱ语言,与VAL语言相比,VAL-Ⅱ增加了利用传感器信息进行运动控制、通信和数据处理等功能。美国IBM公司在1975年研制了ML语言,并用于机器人装配作业,接着该公司又推出了AUTOPASS语言,这是一种比较高级的机器人语言,它可以对几何模型类任务进行半自动编程。后来IBM公司又推出了AML语言,AML语言已作为商品化产品用于IBM机器人的控制。

C语言编程能不能编个显示是I LOVE YOU的图案啊,高手帮帮忙~~

是再控制台模式下?

如何恢复python编程环境spyder的窗口

view 菜单下 Reset Windows LayoutYes即可。

如何恢复python编程环境spyder的窗口?

先关闭Spyder,然后进入cmd,输入Spyder--reset就可以恢复初始窗口了,

单片机与x5405编程实例

以前的工程部分代码,供你参考。XWP EQU 0B5H ;P3.5XCS EQU 0B2H ;P3.2XSCK EQU 0B6H ;P3.6XSI EQU 0B7H ;P3.7XSO EQU 0B3H ;P3.3 ; ; ;串行EEPROM数据写入子程序===============================================================; ; ;入口 ;A=地址,R1,R0=16位数据 ; ;出口 ;A=0写入成功,A>0写入失败 ; ;使用寄存器 ;A,B,R3,R2 ;WRIT: MOV B,R0 ;存数据,用以进行写校核 MOV R2,B ; MOV B,R1 ; MOV R3,B ; LCALL WE2ROM ; ; LCALL RE2ROM ; MOV B,A ;保存地址 ; MOV A,R0 ;校核 XRL A,R2 ; JNZ WERR ; ; MOV A,R1 ; XRL A,R3 ; JNZ WERR ; ; MOV A,R0 ;写校核字 CPL A ; MOV R0,A ; MOV R2,A ; MOV A,R1 ; CPL A ; MOV R1,A ; MOV R3,A ; ; MOV A,B ;恢复地址 INC A ; INC A ;指向校核字地址 LCALL WE2ROM ; ; LCALL RE2ROM ; MOV A,R0 ;进行写校核 XRL A,R2 ; JNZ WERR ; ; MOV A,R1 ; XRL A,R3 ; JNZ WERR ; RET ; ;WERR: CLR TR1 ;关闭T1定时器停止显示刷新 LCALL BEEP ;鸣响示警 MOV P0,#06H ;EEPROM故障码"1" CLR MID ;中置数码管亮E2ERR: LJMP E2ERR ;死循环强制启动 ; ; ;串行EEPROM数据读出子程序===============================================================; ; ;入口 ;A=地址 ; ;出口 ;R1,R0=16位数据 ;A=0读出成功,A>0读出失败 ; ;使用寄存器 ;A,B,R3,R2 ;READ: LCALL RE2ROM ;读出数据 MOV B,R0 ;存数据 MOV R2,B ; MOV B,R1 ; MOV R3,B ; ; INC A ;地址调整 INC A ; LCALL RE2ROM ; ; MOV A,R0 ;进行读校核 CPL A ; MOV R0,A ; XRL A,R2 ; JNZ QREAD ; ; MOV A,R1 ; CPL A ; MOV R1,A ; XRL A,R3 ;QREAD: RET ; ; ; ;串行EEPROM(X5045)写子程序==============================================================; ; ;入口 ;A=地址,R1,R0=16位数据 ; ;使用寄存器 ;A,B ;WE2ROM: PUSH ACC ;地址压栈,用以进行写校核 LCALL WRON ;使能写操作 CLR XCS ;片选 ; MOV A,#02H ;写指令 LCALL OUTBYTE ; ; POP ACC ;地址 PUSH ACC ;地址压栈,用以进行写校核 LCALL OUTBYTE ; ; MOV A,R1 ;写一字节 LCALL OUTBYTE ; ; MOV A,R0 ;写一字节 LCALL OUTBYTE ; ; SETB XCS ;片选 MOV B,#01H ; LCALL YSCX ;延时 ; POP ACC ;地址出栈 RET ; ; ; ;串行EEPROM(X5045)读子程序==============================================================; ; ;入口 ;A=地址 ; ;出口 ;R1,R0=16位数据 ; ;使用寄存器 ;A,B ;RE2ROM: PUSH ACC ;地址压栈 CLR XCS ;片选 ; MOV A,#03H ;读指令 LCALL OUTBYTE ; ; POP ACC ;地址 PUSH ACC ;地址压栈 LCALL OUTBYTE ; ; LCALL INBYTE ;读一字节 MOV R1,A ; ; LCALL INBYTE ;读一字节 MOV R0,A ; ; SETB XCS ;片选 POP ACC ;地址出栈 RET ; ; ; ;串行EEPROM(X5045)写使能子程序==========================================================; ;WRON: CLR XCS ;片选 MOV A,#06H ;使能写操作 LCALL OUTBYTE ; SETB XCS ;片选 RET ; ; ; ;串行EEPROM(X5045)禁止写使能子程序======================================================; ;WROFF: CLR XCS ;片选 MOV A,#04H ;禁止使能写操作 LCALL OUTBYTE ; SETB XCS ;片选 ; MOV A,#0CH ;写保护 LCALL WRSR ;全块锁 RET ; ; ; ;串行EEPROM(X5045)写状态寄存器子程序====================================================; ;WRSR: PUSH ACC ;状态字压栈 LCALL WRON ;使能写操作 CLR XCS ;片选 ; MOV A,#01H ;写状态寄存器 LCALL OUTBYTE ; ; POP ACC ;设置状态寄存器 LCALL OUTBYTE ; ; SETB XCS ;片选 MOV B,#01H ; LCALL YSCX ;延时 RET ; ; ; ;串行EEPROM(X5045)字节写子程序==========================================================; ;OUTBYTE:MOV B,#08H ;写出八位OUTBYT: CLR XSCK ; RLC A ;CY←D7←...←D0←CY,移出一位到CY MOV XSI,C ; SETB XSCK ;写一位 DJNZ B,OUTBYT ; RET ;返回 ; ; ;串行EEPROM(X5045)字节读子程序==========================================================; ;INBYTE: MOV B,#08H ;读出八位INBYT: SETB XSCK ; CLR XSCK ;取得一位 MOV C,XSO ; RLC A ;CY←D7←...←D0←CY,CY移入A DJNZ B,INBYT ; RET ;返回 ;

求网站编程面试试题两套,好的话追加分数!

建议不要采用这种网上的模版试题,你能找到题目,别人也自然找得到答案了,这样一来面试不成了摆设了吗?,应该根据自己公司的产品和项目来出题,看是否真的符公司的技术要求

我是学计算机的 今年大三了 虽然自学了Java熟悉web编程但是没有项目经验 很担心找不到工作 求各位大虾指点

先去实习啊

想用VHDL语言编程,芯片是lattice公司的,应该用什么编程软件更好呢?

请问你会不会,c/c++这人语言是写硬件驱动不错的一种语言

求《单片机原理及应用——C51编程+Proteus仿真》张毅刚 第1版的课后题答案!!

你看看是不是你需要的,我也没仔细看过

急急,单片机原理及应用的考题。单片机单片机编程题100分

1.CLR IT0CLR PX0SETB EX0SETB EA2.SETB IT1SETB PX1SETB EX1SETB EA3. 题目不全,其余四位,不知道应该怎么处理。MOV A, P14,  题目不全,其余四位,不知道应该怎么处理。MOV A, P13. ;假设原来的带符号数是“原码”。MOV DPTR, #0020HCLR AMOVC A, @A+DPTRJNB ACC.7, XXXCPL AINC AXXX:MOV 30H, AEND

求解2个单片机原理及应用教程的编程题

1:SUM: MOV A,32H ADD A,35H MOV 32H,A MOV A,31H ADDC A,34H MOV 31H,A MOV A,30H ADDC A,33H MOV 30H,A RET2:LEDFLASH: MOV R2,#10LP: CLR P1.0 MOV R3,#50 LCALL DELAY SETB P1.0 MOV R3,#10 LCALL DELAY DJNZ R2,LP RETDELAY: MOV R4,#200DELAY1: MOV R5,#250 DJNZ R5,$ DJNZ R4,DELAY1 DJNZ R3,DELAY RET

raptor中任意输入一个整数,判断其是否是奇数,是则输出yes,否则输出no,该如何编程?

如下:#include<stdio.h>int main(){ int n;scanf("%d",&n);printf("%s ",n%2?"yes":"no");return 0。在整数中,不能被2整除的数叫做奇数。日常生活中,人们通常把正奇数叫做单数,它跟偶数是相对的。奇数可以分为正奇数和负奇数。奇数的数学表达形式为:正奇数:1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31、33.........关于奇数和偶数,有下面的性质:(1)两个连续整数中必有一个奇数和一个偶数;(2)奇数+奇数=偶数;偶数+奇数=奇数;偶数+偶数+...+偶数=偶数;(3)奇数-奇数=偶数;偶数-奇数=奇数;奇数-偶数=奇数;(4)若a、b为整数,则a+b与a-b有相同的奇偶性,即a+b与a-b同为奇数或同为偶数。

跪求同济大学魏鸿磊单片机原理及应用(C语言编程)课后习题答案

#include<stdio.h>#include<stdlib.h> void swap(int*a,int*b){ int temp; temp=*a; *a=*b; *b=temp;}void select_sort(int A[],int n){ register int i,j,min,m; for(i=0;i<n-1;i++) { min=i;//查找最小值 for(j=i+1;j<n;j++) { if(A[min]>A[j]) { min=j; } } if(min!=i) { swap(&A[min],&A[i]); printf("第%d趟排序结果为: ",i+1); for(m=0;m<n;m++) { if(m>0) { printf(""); } printf("%d",A[m]); } printf(" "); } }}int main(void){ int n; while(scanf("%d",&n)!=EOF) /* VS2013等版本中需使用scanf_s(),VC6.0中使用scanf() */ { int i; int*A=(int*)malloc(sizeof(int)*n); for(i=0;i<n;i++) { scanf("%d",&A[i]); } select_sort(A,n); printf("最终排序结果为: "); for(i=0;i<n;i++) { if(i>0){ printf(""); } printf("%d",A[i]); } printf(" "); } return 0;}

请帮我用raptor流程图编程,n>3时,求sum=1!+2!+...+n!

请帮我用raptor流程图编程,n>3时,求sum=1!+2!+...+n!截个图给我吧,谢谢

raptor中任意输入一个整数,判断其是否是奇数,是则输出yes,否则输出no,该如何编程

#include<stdio.h>int main(){ int n;scanf("%d",&n);printf("%s ",n%2?"yes":"no");return 0;}。Raptor是一种基于流程图的可视化程序设计环境,而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令,符号之间的连接决定了指令的执行顺序,所以,一旦开始使用Raptor解决问题,这些原本抽象的理念将会变得清晰。Raptor用连接基本流程图符号来创建算法,然后,可以在其环境下直接调试和运行算法,包括单步执行或连续执行的模式。该环境可以直观地显示当前执行符号所在的位置以及所有变量的内容。此外,Raptor提供了一个基于Ada Graph的简单图形库,这样,不仅可以可视化创建算法,所求解的问题本身也可以是可视化的。

怎么使用Raptor编程?

RAPTOR主要是用算法,设计流程图,表示我们在学计算概论然后在用这个东西

raptor流程图编程:任意输入3个数分别存入变量a,b,c,然后按从小到大的顺序输出

一个编辑问题,至于他的数字和ABC超多少顺序是非常难,我也不大清楚,反正吧,这个问题是一个高难度的问题

学习linux shell下的编程有什么用?

1.尝试一下的人,只需要用上两三天就可以和linux说886。因为普通初学者都不会喜欢linux的。 2.纯粹喜欢linux的人,虽然起初入门很慢,但是渐渐的,他会发现linux有很多让他很爽的地方,并且,越学越爽。 3.(工作或者读书等)需要学习linux的人,需要系统的学习一下,最好有一本好的书来学习。 linux是世界各地的黑客们写出来的开源系统,对于热爱学习计算机技术(算法、数据结构、编程、操作系统……)的人来说,linux是一个天堂。 我个人就是完全因为兴趣而捣鼓linux,和工作不沾边。 有几种不同的学习: a)使用->需要学习linux的一些历史、各种命令、桌面的操作、shell的知识 b)编程->学习linux的接口 c)系统管理->学习一些管理员需要掌握的命令 d)内核、源码->先要学好操作系统原理,然后慢慢钻研。 linux是一个很奇怪的东西,因为你知道的越多,你的问题就越多。 如果你将来用的上,那么学习linux自然有用。 如果用不上,学习linux的作用在于折腾你的精力、开拓你的思维、视野、提高自学能力。从你付出的机会成本的角度来说,学习linux不合算,因为你应该把有限的时间用来学习对你更重要的东西,而不是不沾边的linux。 除非把linux当作一种爱好。所谓“衣带渐宽终不悔,为伊消得人憔悴”。自然是另一番感受。 当你用shell编写个自己能用上的脚本 你就知道有用拉 而且还老有成就感拉 比如你需要搜索全盘文件,把大写名字改为小写,这样的程序用几行shell就能写,但是无论C还是其它语言都非常麻烦,手工修改就更麻烦。 明白shell程序设计的用处吗,任何一种语言都有他自己的适用领域。

在linux下的编程有什么作用

工作或者读书等)需要学习linux的人,需要系统的学习一下,最好有一本好的书来学习。linux是世界各地的黑客们写出来的开源系统,对于热爱学习计算机技术(算法、数据结构、编程、操作系统……)的人来说,linux是一个天堂。我个人就是完全因为兴趣而捣鼓linux,和工作不沾边。有几种不同的学习:a)使用->需要学习linux的一些历史、各种命令、桌面的操作、shell的知识b)编程->学习linux的接口c)系统管理->学习一些管理员需要掌握的命令d)内核、源码->先要学好操作系统原理,然后慢慢钻研。linux是一个很奇怪的东西,因为你知道的越多,你的问题就越多。如果你将来用的上,那么学习linux自然有用。如果用不上,学习linux的作用在于折腾你的精力、开拓你的思维、视野、提高自学能力。从你付出的机会成本的角度来说,学习linux不合算,因为你应该把有限的时间用来学习对你更重要的东西,而不是不沾边的linux。除非把linux当作一种爱好。所谓“衣带渐宽终不悔,为伊消得人憔悴”。自然是另一番感受。当你用shell编写个自己能用上的脚本 你就知道有用拉而且还老有成就感拉比如你需要搜索全盘文件,把大写名字改为小写,这样的程序用几行shell就能写,但是无论C还是其它语言都非常麻烦,手工修改就更麻烦。明白shell程序设计的用处吗,任何一种语言都有他自己的适用领域

学习linux 要不要学点编程

根据个人情况来决定,技多不压身,技术掌握的越好,自然能力越强,自己如果感兴趣的话,自然可以学习编程的,工作有需要也可以学习的,根据情况来决定。

所谓的linux嵌入式开发是在可视化界面下的,还是在单纯的命令行下的,比如说 linux c编程...?

都可以,看你的习惯了,编程的话大都要交叉编译,在板子上编写编译C程序也可以,就是麻烦点

学习linux shell 下的编程有什么用?

工作或者读书等)需要学习linux的人,需要系统的学习一下,最好有一本好的书 来学习。linux是世界各地的黑客们写出来的开源系统,对于热爱学习计算机技术(算法、 数据结构、编程、操作系统……)的人来说,linux是一个天堂。我个人就是完全因为兴趣而捣鼓linux,和工作不沾边。有几种不同的学习:a)使用->需要学习linux的一些历史、各种命令、桌面的操作、shell的知识b)编程->学习linux的接口c)系统管理->学习一些管理员需要掌握的命令d)内核、源码->先要学好操作系统原理,然后慢慢钻研。linux是一个很奇怪的东西,因为你知道的越多,你的问题就越多。如果你将来用的上,那么学习linux自然有用。如果用不上,学习linux的作用在于折腾你的精力、开拓你的思维、视野、提高自 学能力。从你付出的机会成本的角度来说,学习linux不合算,因为你应该把有限的时间用来学习对你更重要的东西,而不是不沾边的linux。除非把linux当作一种爱好。所谓“衣带渐宽终不悔,为伊消得人憔悴”。自然是另一番感受。当你用shell编写个自己能用上的脚本 你就知道有用拉而且还老有成就感拉比如你需要搜索全盘文件,把大写名字改为小写,这样的程序用几行shell就能写,但是无论C还是其它语言都非常麻烦,手工修改就更麻烦。明白shell程序设计的用处吗,任何一种语言都有他自己的适用领域 《linux就该这么学》免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好

ARM单片机可以用汇编语言编程吗

可以。请检索arm单片机的说明应用文档。

可编程控制器(PLC)程序设计师 认证考试 地点 时间 报名时间费用 认证费用(西门子S7300/400PLC培训认证)

可编程控制器(PLC)程序设计师认证 《CETTIC单片机领域“可编程控制器(PLC)程序设计师”职业岗位培训合格证书》是由中华人民共和国劳动和社会保障部颁发的全国统一的证书,是职业资格证书的最重要的补充和延伸,是国家对申请人的具体岗位专业知识、技术、能力的认可,是求职、任职、单位录用的依据之一;是过程化、程序化、事件化、模块化、岗位化、职业化的证书体系,充分体现企业用人需求和岗位技能要求,将“培训目标与就业岗位灵零距离”作为培训目标,是为社会经济发展服务的。※培训宗旨:通过学习使学员掌握可编程序控制器的工作原理和PLC控制系统硬件软件的设计方法,可编写较复杂的自动化控制程序,同时学习触摸屏,步进电机,为从事PLC控制系统的设计、调试和改造工作打下基础。※培训对象:培训的对象为电子、电气领域中的工程技术人员,具有一定的基础知识、工作经验的电气技工。※理论内容:1. 三菱PLC结构,选型,维护和应用场合。2. PLC编程,主讲基本指令,步进顺控指令,功能指令。3. 触摸屏编程设计,含画面设计,功能设计,功能仿真。4. 触摸屏密码画面设计5. 步进电机工作原理,使用特点,选型。6. 步进控制编程。※实验内容:1. 三菱仿真软件程序仿真。2. 三菱编程软件上机,电脑与PLC联线,下载程序。3. 触摸屏软件编程,电脑与触屏摸联线,下载程序。4. 设计十字路口的交通灯控制系统。5. 步进电机接线,参数调整,试运行,实现精确定位。※就业前景:从业领域:所有与电子、数码、机械制造相关行业单位。※培训费用:1280元/人;教材费32元实收。 ※考试时间:每年四次考试,分为通用知识,实务知识以及实践技能三门,允许补考和免学费重读。※证书颁发:经考试合格者,颁发国家劳动和社会保障部中国就业培训技术指导中心《可编程控制器(PLC)程序设计师》岗位培训合格证书,网络查询,全国通用,就业有效.

C语言编程问题 在5个数中找出中央数median ,例:5 12 3 22 35 median=12 。用函数编

我在这里定义了一个容量为100的数组,解决你的问题应该可以!本人觉得对于要比较的数字的个数应该分为奇数和偶数两种情况,先排序,再找出中间数.不知道符不符合你的要求.#include<stdio.h>#include<string.h>int sort(int w[100],int x) { int t,i,j; for(i=0;i<x;i++) //用冒泡法把数组由小到大排序 for(j=i+1;j<x;j++) if(w[i]>w[j]) {t=w[i];w[i]=w[j];w[j]=t;} return w[x];}int main(){ int s[100],n,m1,m2; printf("请输入要比较的数字个数:"); scanf("%d",&n); printf("请输入要比较的数字(中间用空格隔开):"); for(int i=0;i<n;i++) scanf("%d",&s[i]); sort(s,n); //调用排序函数 if(n%2==0) //当n为偶数时 { m1=s[n/2-1]; m2=s[n/2]; printf("中间数有两个:%d %d ",m1,m2); } else //当n为奇数时 { m1=s[n/2]; printf("中间数有一个为:%d ",m1); } return 0;}

C++编程题目 一维数组

#include <stdio.h>#include <malloc.h>int *input(int &n){int *array;printf("input n: ");scanf("%d", &n);printf("input %d numbers: ", n);array = (int*)malloc(n * sizeof(int));int i, flag, temp;for(i = 0, flag = 0; i < n; i++, flag++){ scanf("%d", &temp); if(flag == 0) array[i] = temp; else { for(int j = 0; j < flag; j++) { if(temp < array[j]) { int t = temp; temp = array[j]; array[j] = t; } } array[flag] = temp; } }return array;}void output(int *array, int n){ for(int i = 0; i < n; i++) printf("%d ", array[i]); printf(" ");}int main(){ int size = 0; int *array = input(size); output(array, size); free(array); return 0;}

VB编程如何将listbox中选中的多个选项添加至文本输入框?

假定文本框在Form1,列表框在Form2,则以下代码放在Form2:Private Sub List1_Click()Dim s As String, i As IntegerFor i = 0 To List1.ListCount - 1 If List1.Selected(i) Then If s <> "" Then s = s & "," s = s & List1.List(i) End IfNextobj.Text = sEnd Sub以下代码放在Form1:Private Sub Command1_Click() "第一个文本框后面的+按钮Set Obj = Text1Form2.ShowEnd SubPrivate Sub Command2_Click() "第二个文本框后面的+按钮Set Obj = Text2Form2.ShowEnd Sub以下代码放在公共模块(Module)文件:Public obj As Object

用LM324和CD4051可编程仪器放大器设计的电路原理图

LM324和CD4051不可以编程,LM324是运算放大器。CD4051是8通道模拟开关。

想买一台3600W的可编程电子负载做电池测试,请推荐一款国产的负载,(工厂效益不好),谢谢!

哎,又是一个托!很快就会出现一个回答他家生产的品牌,然后他来句“太好了,价格低、性能超稳定”,推荐艾德克斯的这个人没帮到他还害了人家品牌啊,不知道百度知道是用来帮人的还是害人的!

直流可编程电子负载仪it8511怎么调cc按小数点自动测试?

触发方式修改一下,触发方式有两种,一种外部触发,需插5v左右的电源触发测试,第二种就是按小数点自动测试

可编程电源可替代电子负载仪用吗

不可以,电源是输入端,提供电力的源头;负载是输出端,接受电力的部分,不可以混为一谈。

固纬可编程直流电子负载PEL-3000如何选择操作模式?

相当于电阻的作用。用于电源测试时做负载。电子负载可是高速改变阻值,因此可以用于测试电源的对负载变化的响应特性。

编程 1-1/2+1/3-1/4+……+1/99-1/100

sigh这个是sign吧?是存正负号的变量sum存的是目前这次循环计算的和deno是分母term是每项的值S1:sigh=1符号初始为第一项的符号--正号S2:sum=1和初始为第一项的值--1S3:deno=2分母初始为第二项的分母--2S4:sigh=(-1)×sigh由于每加一项正负号都相反,所以要在本次循环的开始作符号变号S5:term=sigh×(1/deno)算当前项的值S6:term=sum+term这行错了吧?应该是sum=sum+term才对。用上次循环的和加上当前项的值,得到当前循环的和。S7:deno=deno+1由于分母的规律是后一项比前一项大1,所以作分母的值加一S8:若deno≤100,返回S4;否则,结束。判断是否循环到了最后一项,最后一项的标志是分母deno=100,本次循环的当前项是-1/100的话,最后做了deno=deno+1之后deno的值就变为101了,不符合deno≤100,则跳出。最后的sum就是最终结果。

黑客攻防实战编程的前 言

《黑客攻防实战入门》、《黑客攻防实战详解》和《黑客攻防实战进阶》这3本书自面世以来,得到了广大读者的肯定与好评。其销量一直排在同类书籍的前列,笔者在此深表感谢。与此同时,应广大读者的要求,笔者针对当前黑客编程领域的热点及难点问题,撰写了这本《黑客攻防实战编程》一书。本书一如既往地保持着前3本书的“授之以鱼,不如授之以渔”的风格,向读者介绍黑客入侵及防御相关编程技术的思考方法和思维方式,而不是单单介绍编程语法。本书是笔者通过多年的研究与实践,在把握国内外安全领域研究的热点及难点的基础之上,进行归纳总结所完成的一本黑客编程入门及提高书籍,这一点是本书区别于其他同类书籍的根本之处。关于黑客长期以来,由于诸多方面的因素,“黑客”这个字眼变得十分敏感。不同的人群对黑客也存在不同的理解,甚至没有人愿意承认自己是黑客。有些人认为,黑客是一群狂热的技术爱好者,他们无限度地追求技术的完美;有些人认为,黑客只是一群拥有技术,但思想简单的毛头小伙子;还有些人认为黑客是不应该存在的,他们是网络的破坏者。这里,我们没有必要对这个问题争论不休,也无须为黑客加上一个标准的定义,但从客观存在的事实来看,黑客这类群体往往存在以下共同点。(1)强烈的技术渴望与完美主义:驱动他们成长的是对技术的无限渴望,获得技术的提高才是他们最终的任务。(2)强烈的责任感:只有强烈的责任感才能使他们不会走向歧途,责任感告诉他们不要在任何媒体上公布成功入侵的服务器;不要对其入侵的服务器进行任何破坏;在发现系统漏洞后要立即通知官方对该漏洞采取必要的修补措施。在官方补丁没有公布之前,绝对不要大范围地公开漏洞利用代码。一方面,黑客入侵可能造成网络的暂时瘫痪;另一方面,黑客也是整个网络的建设者,他们不知疲倦地寻找网络大厦的缺陷,使得网络大厦的根基更加稳固。为什么写作本书不容乐观的事实是,一部分人歪曲了黑客的本质,被不良动机所驱使而进行入侵活动,威胁网络的健康发展。对于我国来说,形势尤为严峻。我国信息化建设迟于美国等发达国家,信息安全技术水平也相对落后。在几次黑客大战中,国内网站的弱口令及漏洞比比皆是。这种现状实在令人担忧,值得深思和反省,从中也可以看出传统的计算机网络教学层次是远远不够的。可能出于安全等其他角度的考虑,传统教学往往只注重表面上的应用,而避开一些敏感的技术。设想一下,如果一个网站的管理员只学会架构网站,却不关心如何入侵自己的网站,那么如何对自己网站的缺陷了如指掌?如何能够及时地获知最新漏洞的描述而提前做好抵御?如果以上都做不到,那就更不要谈日常的系统更新、维护和打补丁了。然而国内精通入侵的网管又有多少呢?长期以来,国内网管的潜意识里都认为“入侵”是个不光彩的勾当,甚至嗤之以鼻。随着信息化程度越来越高,信息技术与生活的联系越来越紧密,可以上网的电子设备逐年增加,电脑、PDA、手机,甚至家电。可以想像10年后,如果不了解入侵者的手段来采取必要的防御措施,将要被入侵的设备不会仅仅限于电脑,也许还包括手机、家电和汽车等。因此在信息技术如此发达,沟通方式日益丰富和复杂的今天,我们不仅要学会如何正确使用网络,而且还需要学会如何防御自己的网络被他人入侵,这也正是笔者写作本书的初衷。本书主要内容作为《黑客攻防实战入门》、《黑客攻防实战详解》和《黑客攻防实战进阶》的提高篇,本书以黑客“攻”、“防”的视角,针对目前国内外安全研究的热点和难点问题进行研究,涵盖了Web入侵脚本、病毒、木马、网马、加密解密、Shellcode、漏洞溢出渗透,以及漏洞挖掘等相关领域的程序开发研究。本书分为内容独立的7章,读者可以根据实际需求有选择跳跃式阅读,各章的主要内容如下。第1章“Web入侵脚本编程”从服务器搭建开始,介绍目前网络上最为猖獗的“SQL注入”和“跨站脚本攻击”入侵手段、原理与编程技术,以及防护手段。第2章“病毒原理及代码解析”在总结计算机病毒发展历史、病毒种类及病毒命名方式之后,详细地介绍计算机病毒原理,并对病毒源代码进行了全面的剖析。第3章“木马网马程序分析”针对木马及网马的源代码进行解析、总结了其工作原理、启动方式、隐藏与防杀等相关技术。第4章“软件加密与解密”介绍序列号保护、软件加密狗、时间限制及Key文件保护等目前常见软件的加密方法,并分析注册机等软件的解密原理,以及跟踪调试与反跟踪调试技术。第5章“shellcode原理与编写”介绍了栈溢出、堆溢出等程序溢出原理,分析了PE文件结构,以及如何针对已知漏洞编写Shellcode。第6章“漏洞溢出程序分析与设计”详细介绍了缓冲区溢出原理、类Unix、Windows及远程Windows程序溢出方法等渗透方法,并介绍一款自动化渗透测试工具Metasploit及其使用方法。第7章“漏洞挖掘与Fuzzing程序设计”介绍一种行之有效的自动化漏洞挖掘技术“Fuzzing”,进而介绍如何挖掘已知系统中所存在的漏洞。另外,本书中所使用的源代码及动画教程等相关资源下载,本书的姊妹书籍本书的姊妹书籍有《黑客攻防实战入门(第2版)》、《黑客攻防实战详解》和《黑客攻防实战进阶》3本,在本书推出之后,这4本书便形成了一个由浅入深完整的知识体系。几乎涵盖了黑客安全领域由入门到专家所必需掌握的所有的知识与技术,以供不同层次的读者学习。(1)《黑客攻防实战入门》:踏入网络安全之门,初窥黑客攻防实战技巧。(2)《黑客攻防实战详解》:透析网络安全内幕,详解黑客攻防体系。(3)《黑客攻防实战进阶》:深入网络安全技术,进阶黑客攻防专家。(4)《黑客攻防实战编程》:把握网络安全方向,实战黑客攻防编程。致谢感谢张毅编辑在我还是学生时代时就接受了我的《黑客攻防实战入门》样稿,才使得这么多年我都有机会和信心将自己的经验通过电子工业出版社分享给广大读者朋友。感谢毕宁编辑长年来的指导与支持,并推荐给我大量的朋友与学习机会。才使得我能够陆续撰写《黑客攻防实战入门(第2版)》、《黑客攻防实战详解》、《黑客攻防实战进阶》和《黑客攻防实战编程》这4本书。感谢孙学瑛老师和黄爱萍助理的指导,以及为本书的出版所付出辛勤劳动的所有朋友。感谢qixu.liu在技术方面给与我的支持。感谢长期以来支持我的读者朋友和网友们。需要声明的是,本书的目的绝不是为那些怀有不良动机的人提供支持,也不承担因为技术被滥用所产生的连带责任。本书的目的在于最大限度地唤起大家的网络安全意识,正视我们的网络世界所面临的一场危机并采取相应的行动。邓 吉

【高分】学编程,请问C、C++、JAVA、VB、QB、FOX、MATLAB之间的联系有哪些,怎么学好一门编程语言呢?

建议把编译原理学会,再去看各种语言就觉得很简单了。

android socket编程,客户端老是提示socket已关闭是为什么

TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。linger结构体数据结构如下:struct linger{ int l_onoff; int l_linger;};有三种组合方式:第一种 l_onoff = 0; l_linger忽略 这种方式下,就是在closesocket的时候立刻返回,底层会将未发送完的数据发送完成后再释放资源,也就是优雅的退出。第二种 l_onoff非零 l_linger = 0; 这种方式下,在调用closesocket的时候同样会立刻返回,但不会发送未发送完成的数据,而是通过一个REST包强制的关闭socket描述符,也就是强制的退出。第三种 l_onoff非零 l_linger > 0 这种方式下,在调用closesocket的时候不会立刻返回,内核会延迟一段时间,这个时间就由l_linger得值来决定。如果超时时间到达之前,发送完未发送的数据(包括FIN包)并得到另一端的确认,closesocket会返回正确,socket描述符优雅性退出。否则,closesocket会直接返回错误值,未发送数据丢失,socket描述符被强制性退出。需要注意的时,如果socket描述符被设置为非堵塞型,则closesocket会直接返回值。 关于TCP的退出暂时了解这些,遇到问题再具体分析解决。

若系统脉冲响应 长为 系统输入 长为 且 应使用什么方法进行编程上机计算

1.比较脉冲响应不变法和双线性变换法的特点。  答:脉冲响应不变法:a.映射关系:S平面到Z平面Z=e St, b.数字频率与模拟频率之间是线性关系W=wT, c.存在频谱混叠失真。双线性变换法:a.映射关系:S平面与Z平面S=K(1-Z-1/1=Z-1) , b.数字频率与模拟频率之间是非线性关系w=ktan(w/2), c.消除了频谱混叠失真。  2. 在时域对一段有限长的模拟信号以4kHZ采样,然后对采样的N个抽样点做N点DFT,所得到离散线谱的间距为100HZ,某人想看清50 HZ的线谱如何做?  答:应以8kHZ采样,然后采样的2N个抽样点作2N点DFT,将得到离散线谱的间距为50HZ。  3. D/A之后与A/D之前要经过什么?什么作用?  答:要通过模拟低通滤波器。A/D之前预滤波,即加模拟低通滤波器,作用是防止杂散分量引起频率混叠,D/A之前平滑滤波,即加模拟滤波器,作用是对恢复的模拟信号进行平滑处理。  4.离散福利叶变换与离散傅里叶级数的关系?  答:离散傅里叶级数:公式自己写!!!!!!!  离散傅里叶变换的实质:把有限长序列当做周期序列的主值序列进行DFS变换,而DFS系数表示了DFT的频谱特性,则X(k)真正表示了xN(n)的频谱特性。  5.FFT主要利用了DFT定义中的正交完备奇函数的周期性和对称性,实现计算差的下降,写出WN的周期性和对称性。  答:公式自己写!!!!!!  6.一个典型的数字信号处理系统的结构框图,并说明功能。  答:模拟信号----a.模拟滤波器-----b.A/DC-----c.数字信号处理-----d.D/AC-----e.模拟信号  功能:a. 限制输入信号的频率范围,使TS或fs给定后,fs>=2fmax,此滤波器为抗混叠滤波器,b. 按照一定的采样间隔对模拟信号进行等间隔采样,再把时域离散信号经过量化个二进制编码形成数字信号,c.模拟信号的数字频率为(小)w,数字信号的数字频率为(大)W,时域离散信号经过DFT,对连续信号进行频域分析,d. 经过解码,信号可以看成时域离散的信号,再利用零阶保持器采样点之间进行插值来恢复模拟信号,e.采用平滑滤波器,对恢复的模拟信号进行平滑处理。  7.何为线性相位滤波器,FIR滤波器为线性相位滤波器的充分条件?  答:当滤波器的相频响应为频率的线性函数式,此滤波器为线性相位滤波器。  7.DSP;数字信号处理。IIR:无限长单位脉冲响应。FIR:有限长单位脉冲响应。DFT:离散傅立叶变换.FFI快速傅立叶变换。LTI:线性时不变。LPF:低通滤波器。  8.什么是线性系统?对模拟信号进行抽样量化和乘法运算的系统是否为线性系统?为什么?答:如果一个系统满足可加性和比例性则为线性系统。例如,x1(n),x2(n)为输入,系统的对应输出用y1(n),y2(n)表示,y1(n)=T[x1(n)],y2(n)=T[x2(n)],若T[x1(n)+x2(n)]=y1(n)+y2(n)和T[a1x1(n)]=a1y1(n),则为线性系统,对信号进行抽样量化和乘法运算的系统不是线性系统。  9.频率采样造成时域周期延拓现象,采用什么措施避免其负面影响?答:使采样频率为带限信号最高频率的至少2倍可避免,即fs>=2fc.  条件自己写,公式!!!!!!  1.以三个角度三种表示方法描述一个线性时不变离散系统(差分方程,系统函数,单脉冲响应)。  2.说明Z变换与LTS关系(Z= est 即e的st次方 )与DTFT的关系(Z=ejw即e的jw次方 )与DFT的关系(z= )  3.数字频率只有相对意义,因为它是(实际频率)对(采样频率的归一化W= 或W= /Fs)数字频率2π对应的物理频率(Fs)Pπ对应(Fs/2)  4.满足采样定理的样值信号中,可以不失真恢复原模拟信号,采样方法从时域看是(采样值对应相应内插函数的加权求和)从频域看是(加低通频域截断)  5.δ(n)和δ(t)的区别(δ(n)是序列n取整数时有意义,δ(t)是模拟信号,t是连续的;δ(n)当n=0时δ(n)=1,δ(t)当t=0时δ(t)=无穷)  6.研究周期序列频谱(DFS)  7.周期序列不能进行Z变换,因为周期(不满足收敛条件:序列绝对可和)  8.写出设计圆形滤波器的方法(巴特沃斯,切比雪夫,椭圆)  9.借助模拟滤波器设计IIR高通数字滤波器,不强调要求,应用(双线性变换法)。  10.DFT表达式 变换后数字频率上相隔两个频率样点的间隔为(2π/m)由此可以看出该式的时域长度为N.  12. DFT 是正弦类正交变换,其正交积是 。  13.由频域采样的x(k),恢复x( )时,可以内差公式,它是利用x(k)对内差函数加权求和。  14.如果希望其信号序列的离散谱为实偶的,那么该时域序列满足条件:a. DFT的共轭对称性,b . 实序列偶对称  15.N点FFT的运算量大约是 次复数加法; /2 次复数乘法。  16. 正弦序列 sin(nW0)不一定是周期序列,比如 W0 取有理数时,不是周期序列  17.频域N点采样,造成时域周期延拓其周期是NT(s)(时域采样周期)  18.采样f为f s HZ的数字系统中,系统函数表达式中 代表物理意义:延时一个采样周期1/fs,其中时域数字序列x(n)的信号n代表的样值是n T或n/f s, x(n)的 n 点DFT x(k)中序号k代表的样值实际位置是2πk/N。

php编程: 怎样计算某一值在数组中重复出现的次数?

print_r(array_count_values($arr));

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载怎么样?

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载挺不错的,供电电压为380V,400V与480V(针对标准型号)。功率级灵活调整。其消耗能量是可以回收的。符合SELV的60V型号。单机功率为30KW。具有可直观操作的多语言彩色TFT触摸屏。调整模式有CV,CC,CP与CR。还拥有扩展型函数发生器,可测试光伏面板,电池与其他。具备主-从操作功能。标配USB,Ethernet与模拟机口。保护功能(OVP,OCP,OT...)。并且数字接口即插即用的插槽,所有接口都电隔离。

费思科技的单体可编程直流电源效果怎么样?

我用过费思万用表

可编程大功率直流电子负载上面的胶套怎么拆?

加热,膨胀后再退了

可编程电子负载能否测试开关电源的功率

当然可以。看芯片手册,如果允许电流可以的话就直接上,如果电流太大的话就只有用传感器什么的处理一下了

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载好用吗?

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载很好用的,供电电压为380V,400V与480V(针对标准型号)。功率级灵活调整。其消耗能量是可以回收的。符合SELV的60V型号。单机功率为30KW。具有可直观操作的多语言彩色TFT触摸屏。调整模式有CV,CC,CP与CR。还拥有扩展型函数发生器,可测试光伏面板,电池与其他。具备主-从操作功能。标配USB,Ethernet与模拟机口。保护功能(OVP,OCP,OT...)。并且数字接口即插即用的插槽,所有接口都电隔离。

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载的工作表现怎么样?

科电德国 EA ELR 10000 30KW 可编程能量回馈式直流电子负载挺不错的,供电电压为380V,400V与480V(针对标准型号)。功率级灵活调整。其消耗能量是可以回收的。符合SELV的60V型号。单机功率为30KW。具有可直观操作的多语言彩色TFT触摸屏。调整模式有CV,CC,CP与CR。还拥有扩展型函数发生器,可测试光伏面板,电池与其他。具备主-从操作功能。标配USB,Ethernet与模拟机口。保护功能(OVP,OCP,OT...)。并且数字接口即插即用的插槽,所有接口都电隔离。

可编程直流电子负载的双通道是什么意思

可编程直流电子负载的双通道意思是这台负载有两个可独立工作的负载模块,也就是可以当两个负载使用,也可以并联后当一个2倍功率的负载使用。
 首页 上一页  1 2 3 4 5 6 7 8  下一页  尾页