五子棋游戏是一个深受人们喜爱的游戏,通常是人机对弈,本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连。
按键盘上的方向键可以移动光标,回车键可以摆放棋子。
这个程序是对编程基本功的一个训练,将分支、循环、数组、函数综合应用,而不仅限于编制独立的小程序,通过游戏过程增加编程的兴趣,提高编程水平。
编制该程序我对以下的知识点进行的巩固和掌握:1.数组元素为结构体的数组应用。
2.全局变量应用。
3.按键的处理。
4.数组元素对应关系。
5.图形方式等等。
虽然该程序是一个普通而又简单的程序,但是对于语言初级阶段的我来说,是一个很好的锻炼甚至可以说是一个很好的提高。
1
嵌套循环_重复使用scanf.c
2023/6/10 10:32:37 2KB c++
1
以太坊安全:red_exclamation_mark::warning:请勿在此存储库中使用合同。
它们很容易造成安全隐患。
:warning::red_exclamation_mark:带有一些以太坊安全漏洞的存储库。
使用Mocha测试演示了错误和修复。
到目前为止添加的错误:溢出下溢重入(DAOhack)Delegatecall(奇偶校验黑客风格)DOS(例如,永远担任拍卖负责人)DOS(无界数组循环)强制以太(依靠不变this.balance==0)Tx起源未经检查的send()输出存储覆盖(通常在蜜罐中使用-或真正的错误)阵列存储覆盖(长度下溢-存储覆盖)extcodesize在用于检查调用方是否为合同时被绕过跑:tru
2023/6/9 7:07:10 152KB security ethereum smart-contracts solidity
1
一、引言自适应噪声抵消技术是一种能够很好的消除背景噪声影响的信号处理技术,应用自适应噪声抵消技术,可在未知外界干扰源特征,传递途径不断变化,背景噪声和被测对象声波相似的情况下,能够有效地消除外界声源的干扰获得高信噪比的对象信号。
从理论上讲,自适应干扰抵消器是基于自适应滤波原理的一种扩展,简单的说,把自适应滤波器的期望信号输入端改为信号加噪声干扰的原始输入端,而它的输入端改为噪声干扰端,由横向滤波器的参数调节输出以将原始输入中的噪声干扰抵消掉,这时误差输出就是有用信号了。
在数字信号采集、处理中,线性滤波是最常用的消除噪声的方法。
线性滤波容易分析,使用均方差最小准则的线性滤波器能找到闭合解,若噪声干扰类型为高斯噪声时,可达到最佳的线性滤波效果。
计算机论文www.lunwendingzhi.com;
机械毕业论文www.lunwenwanjia.com在实际的数字信号采集中,叠加于信号的噪声干扰往往不是单一的高斯噪声,而线性滤波器所要求的中等程度噪声偏移,使线性滤波器对非高斯噪声的滤波性能下降,为克服线性滤波器的缺点,往往采用非线性滤波器,所以本文采用神经网络对信号进行滤波处理。
二、基于BP算法和遗传算法相结合的自适应噪声抵消器在本文中,作者主要基于自适应噪声对消的原理对自适应算法进行研究,提出了一种新的算法,即BP算法和遗传算法相结合的自适应算法。
作者对BP网络的结构及算法作了一个系统的综述,分析了BP算法存在的主要缺陷及其产生的原因。
传统的BP网络既然是一个非线性优化问题,这就不可避免地存在局部极小问题,网络的极值通过沿局部改善的方向一小步进行修正,力图达到使误差函数最小化的全局解,但实际上常得到的使局部最优点。
管理毕业论文网www.yifanglunwen.com;
音乐毕业论文www.xyclww.com;
英语毕业论文www.lanrenbanjia.com;
学习过程中,下降慢,学习速度缓,易出现一个长时间的误差平坦区,即出现平台。
通过对遗传算法文献的分析、概括和总结,发现遗传算法与其它的搜索方法相比,遗传算法(GA)的优点在于:不需要目标函数的微分值;
并行搜索,搜索效率高;
搜索遍及整个搜索空间,容易得到全局最优解。
所以用GA优化BP神经网络,可使神经网络具有进化、自适应的能力。
BP-GA混合算法的方法出发点为:经济论文www.youzhiessay.com教育论文www.hudonglunwen.com;
医学论文网www.kuailelunwen.com;
(1)利用BP神经网络映射设计变量和目标函数、约束之间的关系;
(2)用遗传算法作实现优化搜索;
(3)遗传算法中适应度的计算采用神经网络计算来实现。
BP-GA混合算法的设计步骤如下:(1)分析问题,提出目标函数、设计变量和约束条件;
(2)设定适当的训练样本集,计算训练样本集;
(3)训练神经网络;
(4)采用遗传算法进行结构寻优;
(5)利用训练好的神经网络检验遗传算法优化结果。
若满足要求,计算结束;
若误差不满足要求,将检验解加入到训练样本集中,重复执行3~5步直到满足要求。
通过用短时傅立叶信号和余弦信号进行噪声对消性能测试,在单一的BP算法中,网络的训练次数、学习速度、网络层数以及每层神经元的节点数都是影响BP网络的重要参数,通过仿真实验可以发现,适当的训练次数可以使误差达到极小值,但是训练次数过多,训练时间太长,甚至容易陷入死循环,或者学习精度不高。
学习速度不能选择的太大,否则会出现算法不收敛,也不能选择太小,会使训练过程时间太长,一般选择为0.01~0.1之间的值,再根据训练过程中梯度变化和均方误差变化值确定。
基于梯度下降原理的BP算法,在解空间仅进行单点搜索,极易收敛于局部极小,而GA的众多个体同时搜索解空间的许多点,因而可以有效的防止搜索过程收敛于局部极小,只有算法的参数及遗传算子的操作选择得当,算法具有极大的把握收敛于全局最优解。
使用遗传算法需要决定的运行参数中种群大小表示种群中所含个体的数量,种群较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,可能找不出最优解;
种群较大时,又会增加计算量,使遗传算法的运行效率降低。
一般取种群数目为20~100;
交叉率控制着交叉操作的频率,由于交叉操作是遗传算法中产生新个体的主要方法,所以交叉率通常应取较大值,但若过大的话,又可能破坏群体的优良模式,一般取0.4~0.99;
变异率也是影响新个体产生的一个因素,变异率小,产生个体少,变异率太大,又会使遗传算法变成随机搜索,一般取变异率为0.0001~0.1。
由仿真结果得知,GA与BP算法的混合算法不论是在运行速度还是在运算精度上都较单纯的BP算法有提高,去噪效果更加明显,在信噪比的改善程度上,混合算法的信噪
2023/6/7 6:07:05 2KB BP算法 遗传算法 matlab 源码
1
用顺序结构和循环结构写一个跑马灯,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节
2023/6/5 11:21:38 6KB 跑马灯
1
使用51单片机控制二极管,实现交通灯的循环点亮以及控制,具体功能可以在我的博客里面看到,里面有具体的电路图等
2023/6/2 19:12:12 415KB 交通灯控制代码 51单片机 交通灯
1
最基础最全面的昆仑通态MCGS教程,包括动画演示,循环策略,与PLC数据关联
2023/6/2 15:45:21 3.79MB MCGS 昆仑通态 人机界面
1
问题描述:设计一个程序实现两个任意长的整数的求和运算。
基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。
要求输入和输出每四位一组,组间用逗号隔开。
如:1,0000,0000,0000,0000.
2023/6/1 3:58:48 39KB 数据结构 C C++
1
WHILE循环语句的翻译程序设计(LL(1)法、输出三地址表示)
2023/5/31 20:46:49 4KB WHILE LL(1)法 输出三地址
1
第1章8051单片机C语言程序设计概述 1.18051单片机引脚 1.2数据与程序内存 1.3特殊功能寄存器 1.4外部中断、定时/计数器及串口应用 1.5有符号与无符号数应用、数位分解、位操作 1.6变量、存储类型与存储模式 1.7数组、字符串与指针 1.8流程控制 1.9可重入函数和中断函数 1.10C语言在单片机系统开发中的优势第2章Proteus操作基础 2.1Proteus操作界面简介 2.2仿真电路原理图设计 2.3元件选择 2.4调试仿真 2.5Proteus与?V3的联合调试第3章基础程序设计 3.1闪烁的LED 3.2从左到右的流水灯 3.3左右来回循环的流水灯 3.4花样流水灯 3.5LED模拟交通灯 3.6单只数码管循环显示0~9 3.78只数码管滚动显示单个数字 3.88只数码管显示多个不同字符 3.9数码管闪烁显示 3.108只数码管滚动显示数字串 3.11K1~K4控制LED移位 3.12K1~K4按键状态显示 3.13K1~K4分组控制LED 3.14K1~K4控制数码管移位显示 3.15K1~K4控制数码管加减演示 3.164×4键盘矩阵控制条形LED显示 3.17数码管显示4×4键盘矩阵按键 3.18开关控制LED 3.19继电器控制照明设备 3.20数码管显示拨码开关编码 3.21开关控制报警器 3.22按键发音 3.23播放音乐 3.24INT0中断计数 3.25INT0中断控制LED 3.26INT0及INT1中断计数 3.27TIMER0控制单只LED闪烁 3.28TIMER0控制流水灯 3.29TIMER0控制4只LED滚动闪烁 3.30T0控制LED实现二进制计数 3.31TIMER0与TIMER1控制条形LED 3.3210s的秒表 3.33用计数器中断实现100以内的按键计数 3.3410000s以内的计时程序 3.35定时器控制数码管动态显示 3.368×8LED点阵屏显示数字 3.37按键控制8×8LED点阵屏显示图形 3.38用定时器设计的门铃 3.39演奏音阶 3.40按键控制定时器选播多段音乐 3.41定时器控制交通指示灯 3.42报警器与旋转灯 3.43串行数据转换为并行数据 3.44并行数据转换为串行数据 3.45甲机通过串口控制乙机LED闪烁 3.46单片机之间双向通信 3.47单片机向主机发送字符串 3.48单片机与PC串口通信仿真第4章硬件应用 4.174LS138译码器应用 4.274HC154译码器应用 4.374HC595串入并出芯片应用 4.4用74LS148扩展中断 4.5I2C-24C04与蜂鸣器 4.6I2C-24C04与数码管 4.7用6264扩展内存 4.8用8255实现接口扩展 ……第5章综合设计
1
共 864 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡