2011程序设计大赛试题

合集下载

2011年慈溪市小学生计算机程序设计比赛初赛试题.doc

2011年慈溪市小学生计算机程序设计比赛初赛试题.doc

2011年慈溪市小学生计算机程序设计比赛初赛试题(Pascal 语言90分钟完成)一.单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确答案)1.我们经常看到“WiFi”这个标记,这里的wifi指的是()A.一个手机品牌B.高清数字电视C.一种新的编程语言D.一种无线网络技术2.下列英文缩写和中文名字的对照中,不正确的是()A.IT---信息技术 B. CPU--中央处理器 C. UPS---不间断电源 D. CAD--计算机辅助教学3.用键盘输入字母“t”,正确的输入指法是用()A.左手食指 B.左手中指 C.右手食指 D.右手中指4.用高级语言编写的源程序一般需要翻译成()后才能在计算机中运行。

A.汇编语言B.机器语言C. C语言D.实现软硬件的转换5.操作系统的作用是()A.把源程序翻译成目标程序B.进行数据处理C.控制和管理系统资源的使用D.实现软硬件的转换6.下列关于软件的叙述中,正确的是()A.计算机软件分为系统软件和应用软件两大类B.Windows是广泛使用的应用软件之一C.所有电脑的操作系统只有一种,而应用软件种类繁多D.软件可以随便复制使用,不用购买7.硬盘属于()A.内部存储器 B.外部存储器 C.只读存储器 D.随机存储器8.第一代电子计算机的主要元器件是()A.中小规模集成电路 B.晶体管 C.大规模集成电路 D.电子管9. 1GB相当于()A.1024BB.1024KBC.1024MBD.1024TB10.下列不同进制的四个数中,最小的一个是()A.(1101100)2 B. (155)8 C.(110)10 D.(6F)1611.下列逻辑运算结果不正确的是()A.1+0=0 B.0+0=0 C.1+0=1 D.1+1=112.一个字节包括的二进制位数是()A.8B.16C.32D.6413.下列不属于计算机特点的是()A.具有人类思维 B.具有记忆和逻辑判断能力C.能自动运行、支持人机交互D.有高速运算的能力14.在因特网域名中,edu通常表示()A.商业组织 B.教育机构 C.政府部门 D.军事部门15.下列用于查、杀计算机病毒的软件是()A.WPS B.卡巴斯基 C.Linux D.Ghost16.某人的电子邮箱为Rjspks@,对于Rjspks和的正确理解是()A.Rjspks是服务器名,是域名 B.Rjspks和的正确理解是( )C.Rjspks是用户名,是域名D.Rjspks是服务器名,是计算机名17.下列有关软件的描述不正确的是()A.Photoshop是一种图像处理软件B.Flash既可以用来制作动画,也可以制作交互性的游戏C.Excel通常用作视频剪辑 D.Powerpoint可以用来进行多媒体展示18.在Windows系统中,若要开机即启动某应用程序,只需为该应用程序创建一快捷方式,并把它放在()A.开始菜单的“启动”项里 B.桌面上C.开始菜单的“运行”项里D.开始菜单的“程序”里19.Windows中,剪贴板是指()A.硬盘上的一块区域 B.软盘上的一块区域C.内存上的一块区域D.高速缓冲区上的一块区域20.在WORD中,下列不能直接用“另存为”保存的文件扩展名是()A. .htmlB. .xlsC. .rtfD. .txt二.问题求解(每空5分,共10分)1.某次赛车比赛,前五名是A、B、C、D、E,赛前赵、钱、孙、李、周五位同学猜测名次:赵说:A是第二名,B是第二名钱说:C是第三名,D是第五名孙说:D是第一名,C是第二名李说:A是第二名,E是第四名周说:B是第一名,E是第四名现知五位同学都猜对了一半,请判断五人的名次。

2011软件大赛Java高职组试题

2011软件大赛Java高职组试题

第二届全国软件专业人才设计与开发大赛JAVA专科组试题考生须知:考试时间为4小时。

本试卷包含两种题型:“代码填空”与“程序设计”。

总计100分。

其中代码填空:3+3+4+6+7+9+10 = 42 分程序设计:14+17+27 = 58分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不超过一条语句(即不能出现分号)。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号文件夹中的“解答.txt”中即可。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。

考生的程序只有能运行出正确结果的时候才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对每个题目,要求考生把所有类写在一个文件中。

调试好后,存入与考生文件夹下对应题号文件夹中的“解答.txt”中即可。

相关的工程文件不要拷入。

请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。

不能使用1.6或更高版本。

1.代码填空(满分3分)计算蔬菜总价为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运。

今某箱中有多个品种的蔬菜。

蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤)存放在weight数组中。

下面的代码计算该箱蔬菜的总价,试完善之。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号文件夹中的“解答.txt”中即可。

public static double getTotal(double[] price, double[] weight){double x = 0;for(int i=0; i<price.length; i++){____________________;}return x;}2.代码填空(满分3分)计算行程低碳生活,有氧运动。

2011年东莞市小学生程序设计市复赛试题

2011年东莞市小学生程序设计市复赛试题

2011年东莞市小学生程序设计市复赛试题注意事项:1.本卷全部采用文件进行输入、输出。

请严格使用题目所规定的文件名,输入、输出格式必须按要求设置,否则将不能得分。

2.程序完成后,按指定的提交文件名提交文件,评测时只测pas文件。

3.各题文件名称及分值:第一题扫雷(Minesweeper)【问题描述】扫雷游戏是一种益智游戏。

游戏目标是找出n*m矩阵内的所有地雷。

在本题中,你需要为每个单元格统计出它周围的地雷数。

每个单元格最多和8个单元格相邻,如下表中,S位置的相邻单元格分别是1至8。

下图矩阵有两个地雷,用“*”表示,小写k表示安全格,计算结果如矩阵的右矩阵。

kkkk 2210k*kk 1*10kkkk 1110【输入格式】输入文件minesweeper.in中,第一行有n,m(0<=n,m<=100),分别表示这个矩阵的行数与列数。

接下来的n行每行包含m个字符,其中小写“k”表示安全,“*”表示地雷。

【输出格式】输出文件minesweeper.out中,包含一个n*m矩阵。

用数字表示该位置字符“k”周边的地雷数量,“*”还是表示地雷。

【样例输入】4 4*kkkkkkkk*kkkkkk【样例输出】*10022101*101110第二题数根(digit)【问题描述】正整数的数根指的是该整数各位数字的和。

如果结尾是一位数,那么这个数就是数根。

如果结果有两个或两个以的数字,那么就只需将结果的各位数字再相加直到只是一位数字。

例如正整数24。

2和4相加等于6。

因为6是一位数,6就是24的数根。

再如正整数39。

3和9相加等于12。

因为12不是一位数,所以必须重复该过程。

把1和2相加等于3,这是一位数,也是39的数根。

【输入格式】输入文件digit.in中有一个整数,这个整数不超过100位。

【输出格式】输出文件digit.out中仅有一个数,该数是输入的整数的数根。

【样例输入】123【样例输出】6第三题数字账号(numcode)【问题描述】某银行保险箱的金钥匙上刻有N和K两个整数,其中N<100且K≤N,根据这两个数,用如下的方法就能算出保险箱的密码,从而可以打开保险箱。

2011年安徽省第二届“达内杯”程序设计比赛题目

2011年安徽省第二届“达内杯”程序设计比赛题目

2011年安徽省第二届“达内杯”程序设计比赛题目Problem A 幸运数字Time Limit: 1000 MS Memory Limit: 65536 KBTotal Submissions: 7 Accepted: 7Description有的人喜欢收集邮票,有的人喜欢收集CD,有的人喜欢收集书……Gardon也有收集癖,然而他收集的是数字,而且是那些在他看来非常幸运的数字。

Gardon觉得,如果一个数字模它的各个数位上的数字之和为0的话,那它就是一个幸运数字。

比如说数字18就是一个幸运数字。

因为它各个数位上的数字之和为1+8=9,18模9等于0。

Gardon是个怕麻烦的人,他不想自己去计算一个数字是不是幸运数字。

所以作为Gardon的好朋友,你必须写个程序帮助他。

Input有多组测试数据,每组数据输入一个整数n(1<=n<=1000000000),输入以文件结束。

Output如果数字n是幸运数字,输出”yes”,否则输出”no”。

Sample Input1118Sample OutputnoyesSourceAnhui Programming Contest 2011 - A by RaceBugProblem B 转换二叉树Time Limit: 1000 MS Memory Limit: 65536 KBTotal Submissions: 1 Accepted: 1DescriptionDJ非常痴迷于数据结构,二叉树是他最喜欢的结构模型。

这种每个顶点的度不大于2的简单的图总是能激发他的灵感。

然而,二叉树的表示方法是一个困扰他已久的问题。

如果用链表表示,不直观;画成图形,计算机又难以存储。

好在他现在发现了一种既直观,计算机又便于存储的表示方法。

该方法定义如下:1、如果二叉树中节点X是叶子节点,则该节点直接表示为X。

2、如果二叉树中节点X有左子树,则该节点表示为(...)X,括号内为X的左子树。

2011JAVA程序设计A卷试卷(含答案)

2011JAVA程序设计A卷试卷(含答案)

华南农业大学期末考试试卷(A 卷)2011-2012学年第 1 学期 考试科目: Java 程序设计 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业一、单项选择题(本大题共 25 小题,每小题 2 分,共 50 分)1. 下列有关Java 程序的说法中正确的是___D_____:A. 由于Java 程序是解释执行的,所以执行前不需要进行编译B. 一个.java 源程序编译后将产生一个.class 的字节码文件C. 安装了JDK 后,安装程序会自动配置系统的环境变量path 和classpathD. 面向对象的解释型高级编程语言 2. 下列为合法变量名的是__C______。

A. falseB. 0xabcC. iStudentD. cow ‟s3. 对于构造方法,下列叙述不正确的是__C______。

A. 构造方法是类的一种特殊函数,它的方法名必须与类名相同B. 构造方法没有返回值类型C. 子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

D. 子类在创建构造方法是必须把调用父类构造方法放在第一条语句4. 下列关于接口的说明正确的是__D______。

A. 接口和抽象类是同一回事B. 一个类不可以实现多个接口C. 接口间不能有继承关系D. 实现一个接口必须实现接口的所有方法5. Java 为移动设备提供的平台是__A______。

A .J2ME B .J2SE C .J2EE D .JDK5.0 6. 下列语句中,属于多分支语句的是__B______。

A .if 语句B .switch 语句C .do while 语句D .for 语句7.在Java中,存放字符串常量的对象属于_B_______类对象。

A. CharacterB. StringC. StringBufferD. Char8.下列关于继承的哪项叙述是正确__D______。

A. 在java中允许多继承B. 在java中一个类只能实现一个接口C. 在java中一个类不能同时继承一个类和实现一个接口D. java的单一继承使代码更可靠9.给出如下代码:class Test{private int m;public static void fun() { // some code... }}如何使成员变量m 被函数fun()直接访问? CA. 将private int m 改为protected int mB. 将private int m 改为public int mC. 将private int m 改为static int mD. 将private int m 改为int m10.System和Math类在哪个包中_B_______。

2011全国软件设计开发大赛样题.c.本科---参考答案

2011全国软件设计开发大赛样题.c.本科---参考答案

2011 模拟c语言本科注意:本套模拟题主要模拟命题形式与考核范围。

真实竞赛题的数量、难度可能与此套模拟题有差异。

说明:本试卷包含两种题型:“代码填空”与“程序设计”。

填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不多于一条语句(即不能出现分号)。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

1.代码填空(满分2分)下列代码,把一个2位整数交换十位与个位的位置。

请填写缺失的代码。

例如:当x=95时,返回59。

int switch_num(int x){int a = x / 10;int b = x % 10;return __10*b+a_______________;}2.代码填空(满分3分)下列代码把一个二进制的串转换为整数。

请填写缺少的语句;char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++){n = _____________;}printf("%d\n", n);n = __n*2+(p[i]-'0')________;3.代码填空(满分3分)假设a,b,c是3个互不相等的整数。

下列代码取出它们中居中的数值,记录在m中。

其中的swap()函数可以交换两个变量的值。

请完善代码。

if(a>b) swap(&a, &b);if(b>c) swap(&b, &c);______________________; if(a>b) swap(&a, &b);int m = b;4.代码填空(满分5分)计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。

2011程序设计题参考答案

2011程序设计题参考答案

程序设计题参考答案(一)说明程序设计题主要是根据题目的要求先进行界面设计(参考Design.exe程序的运行结果),再设计事件代码。

完成后将工程文件以Design.vbp,窗体文件以Design.frm保存到考生目录下。

注:以默认方式命名控件,以从左至右,从上向下的顺序拖放控件。

例如有4个CommandButton类型的控件,命名按照如下方式:Command1 Command2Command3 Command4(二)程序设计题1、新建一个工程,完成“加法器”程序的设计,具体要求如下:(1)窗体的标题为“加法器”,固定边框。

(2)在窗体上从上到下依次引入Text1、Text2、Text3三个文本框,三个文本框的对齐方式均为右对齐。

(3)从上面两个文本框用于输入加数,要求不接受非数字键。

(4)下面一个文本框用于显示和,它不能进行编辑操作。

(5)单击“=”按钮(Command1),将两个加数的和显示在下面一个文本框中。

(6)单击“清空”按钮(Command2),三个文本框内容都被清空,同时第一个文本框获得焦点。

图1程序设计代码:Private Sub Form_Load() '界面设计,严格参照考试所提供的EXE文件运行界面进行设计'以下属性都可以在属性窗口中设置Form1.Caption = "加法器"Text1.Alignment = 1Text2.Alignment = 1Text3.Alignment = 1Text3.Locked = TrueCommand1.Caption = "="Command2.Caption = "清空"End SubPrivate Sub Command1_Click()Text3.Text = Val(Text1.Text) + Val(Text2.Text)End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii < 48 Or KeyAscii > 57 Then '判断为非数字键KeyAscii = 0 '改变键入文本框的显示为空字符,即不显示End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If Not IsNumeric(Chr(KeyAscii)) ThenKeyAscii = 0End IfEnd Sub2、新建一个工程,完成“健康称”程序的设计,具体要求如下:(1)窗体的标题为“健康称”,固定边框。

2011高级语言程序设计试卷1及答案

2011高级语言程序设计试卷1及答案

一、选择题:(共20题,每题1.5分,共30分)1 A2 A3 A4 B5 B6 A7 B8 C9 C 10 D11 C 12 C 13 B 14 D 15 C16 D 17 D 18 A 19 D 20 A1. C语言属于( A )A.高级语言 B. 低级语言C.中级语言 D. 机器语言2. 下列全部属于合法的用户标识符的是( A )A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main3. C语言中运算对象必须是整型的运算符为( A )A.% B. / C.= D. <=4. 设有int i; char c; float f; 以下结果为整数的表达式是( B )A.i+f B. i/c C.c+f D. i+c+f5. 逗号表达式(a=5*3, a+20),a+15的值是( B )A.35 B. 30 C.40 D. 206. 设有语句char a = '\72'; 则变量a( A )A.包含一个字符 B. 包含两个字符C.包含3个字符 D. 说明不合法7. 若有以下定义和语句,则输出结果是( B )char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+'A');A.2,M B. 3,E C.2,E D. 不确定8. 设有如下程序段,则下面说法中正确的是( C )int k=10;while(k=0)k=k-1;A.while循环执行10次 B. 循环是无限循环C.循环体语句一次也不执行 D. 循环体语句执行一次9. 当pi=3.1415926时,printf(" %-7.2f",pi);的输出结果是( C )(注:□代表空格)A.3.14159 B. 3.14 C.3.14□□□ D. □□□3.1410. 下列运算符中,优先级最高的是( D )A.! B. + C.|| D. ( )11. 表达式a==b&&b==c计算的优先级别是( C )A.((a==b)&&b)==c) B. (a==(b&&b))==c C.(a==b)&&(b==c) D. a==((b&&b)==c12. 已知x=45, ch=‟B‟,y=0;则表达式(x>=y && ch<‟b‟ && ! y)的值是( C )A.0 B. 语法错C.1 D. “假”13. 下列关于switch语句和break语句的结论中,正确的是( B )A.break语句是switch语句的一部分B.在switch语句中可以根据需要使用或不使用break语句C.在switch语句中必须使用break语句D.break语句不能在switch语句中使用14. 若变量c为char类型,能正确判断出c为小写字母的表达式是( D )A.'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C.('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z')15. 执行语句for ( i=0; i++<3; ); 后,变量i的值为( C )A.2 B. 3 C.4 D. 516. 已知:int a[10]; 则对a数组元素的正确引用是( D )A.a[10] B. a[3.5] C.a(5) D. a[9-9]17. 对字符数组str赋初值,str不能作为字符串使用的一个是( D )A.char str[]="shanghai"; B. char str[]={"shanghai"};C.char str[9]={'s','h','a','n','g','h','a','i'}; D. char str[8]={ 's','h','a','n','g','h','a','i'};18. 以下对C语言函数的有关描述中,正确的是( A )A.在C语言中,调用函数时,根据实参传递给形参值的不同,通常有值传递方式和地址传递方式两种。

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

一.解方程组1.用以下基本方法解方程组算法的数学描述:2.用列主元消去法解方程组●算法的数学描述:对上述算法进行如下改变:3.程序设计要求:1) 首先采用基本方法,任意输入一个维数小于5的n元一次方程组,求解该方程组,并对有解、无解、有多解的情况分别给出不同的提示。

2) 对上述方法进行改造,采用列主元消去法求解该方程组。

3) 方程组的输入及解的输出最好采用图形化界面。

4) 若程序运行通过,对关键代码部分要求画出流程图,并进行适当的中文注释,最好采用PowerPoint课件,以便于讲解。

4.示例方程组如下:二. 神经网络算法神经网络的理论研究是一门新兴的边缘的交叉学科,它的产生和发展一方面受其他学科的影响,反过来又影响其他学科的发展。

神经网络从信息论角度看,由于神经网络具有函数近似、数据聚集、模式分类、优化计算、概率密度、函数估计等功能,因此它是另一种信息处理的工具。

对它的研究涉及许多学科和专业,现在不少学科也都把这个课题作为它们的前沿在进行研究,如数学、物理学、信息科学、心理学、神经生理学、认知科学、计算机科学、微电子学甚至哲学等。

另一方面,直接应用现代科学的新理论和新方法如信息论、系统论、控制论、协同论和耗散结构理论等对它进行研究,可同时为这些学科提出许多新问题,将会推动这些学科理论和其他方面的发展。

因此,研究人工神经网络显然有重要的意义。

人工神经网络(Artificial Neural Networks, ANN ),简称神经网络(NN),是对人脑或自然神经网络若干基本特性的抽象和模拟,是一种基于连接学说构造的智能仿生模型,是由大量神经元组成的非线性动力系统。

神经网络具有非线性、非局域性、非定常性和非凸性等特点,具有良好的容错性与联想记忆功能,以及较强的自学习功能,主要研究非程序的、自适应性的和脑模式的信息处理的本质和能力。

1. 人工神经元及其主要模型图1 神经元的结构模型其中x 1,x 2, ...,x n 为输入信号,u i 为神经元内部状态,θi 为阈值,w ij 为u i 到u j 连接的权值,s i 表示外部输入信号(在某些情况下,它可以控制神经元u i ,使u i 可以保持在某一状态),f(·)为激发函数,y i 为输出,上述模型可以描述为:每一个神经元的输入接受前一级神经元的输出,因此,对神经元i 的总作用σi 为所有输入的加权和减去阈值(若无阈值就不减了),此作用引起神经元i 的状态变化,而神经元i 的输出y i 为其当前状态σi 的函数。

2. BP 网络及其学习算法BP (Back Propagation )神经网络是人工神经网络一个重要分支,最早由Werbos 在1974年提出。

Bumelhart 等在1985年发展了BP 网络学习算法,实现了Minsky 的多层网络设想。

BP 神经网络有一个输入层、一个输出层、一至多个隐层,图2给出了一个具有三层结构的BP 网络模型。

∑-+=jii j ij i s x w θσ)()()(∑-+===j i i j ij i i i s x w f f u h y θσ图2 BP 网络模型BP 算法的主要思想是把学习过程分为两个阶段:第一阶段(正向传播过程),首先给定输入信息,通过输入层经隐藏层逐层处理并计算每个单元的实际输出值;第二阶段(反向过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此差调节权值,具体些说,就是可对每一个权重计算出接收单元的误差值与发送单元的激活值的积。

因为这个积和误差对权重的(负)微商成正比(又称梯度下降算法),把它称作权重误差微商。

权重的实际改变可由权重误差微商一个模式一个模式地计算出来,即它们可以在这组模式集上进行累加。

BP 算法是在导师指导下,适合于多层神经元网络的一种学习方式,它是建立在梯度下降法的基础上的。

下面对BP 算法进行详尽表述:设有N 个学习实例: k=1,2,…,N 其输入向量 对应输入层的n 个结点的输入,经过BP 网络的非线性映射,在输出层的m 个结点上得到计算输出向量:(1)今约定如下变量::实例k 的输入向量输入后,向前传播至第l 层的结点j 的输入。

:第l 层的结点j 的输出。

:第l-1层的结点i 连接第l 层的结点j 的权值。

1-l n :第l-1层的结点数。

f :神经元传递函数。

BP 网络的学习算法可描述如下: (1)输入N 个学习实例k=1,2,…,N ,确定输入层结点数n ,输出层),...2,1(nk x k x kx k X =),...,(21mk k k k y y y Y =)(l jk I k x )(l jk O )1(-l ijω)_,(k Y k X )_,(k Y k X结点数m 。

(2)建立BP 网络结构,包括:1)确定隐藏层层数L 。

2)确定第l 层(隐藏层)的结点数n l ,l=1,2,…L 。

3)初始化各层间的连接权矩阵: 输入层至第一层隐藏层的权矩阵为:(2)第l 层隐藏层至l +1层隐藏层之间的权矩阵为:l=1,2,…L -1 (3) 最后一个隐藏层至输出层之间的权矩阵为:(4)(3)确定输入允许误差ε和学习率η,并设置初始化迭代次数t=1,实例序号k=1。

(4)读取学习实例k : (5)(5)由输入向量X k 进行正向传播计算:输入层各结点的输出采用Sigmoid 激励函数:(6) 通层计算各隐藏层的各结点的输入与输出:(7)其中j=1,2,…,n l , l=1,2,…,L 。

计算输出层各结点的输入与输出值:(8)(9)(6)计算各输出结点的误差:m 1,2,j _⋯=-=jkjk jk y y E (10)若 ,(j=1,2,…m ,k=1,2,…,n) 则学习过程结束,否则,进行误差反向传播过程,修改各连接权矩阵的元素值。

(7)计算各隐藏层的误差,并修改相应的权值:10][n n w W ij ⨯=1][+⨯=l l n n ij w l W m n w W l ij L ⨯=][)_,(k Y k X ),...2,1(nkx kx kx kX =),...,(_2_1__mk k k ky y y Y=n ,1,2,j )exp(11)()0(⋯=-+==jk jk jk x x f O )1(1)1()(1-=-=∑-l ikO n i l ij wl jkI l )()()(l jk l jk I f O =)(1)()1(L ik ni L ij L jk O w I L ∑=+=m1,2,j )()1(⋯==+L jkjkIf yε≤jk E(11)(12)(13) (8)设k=(k+1) mod N ,t=t+1,转(4)。

∑+=+-=11)1()()()()()1(l n j l jl ij l ikl ikl ikEw OOE )()1()(l ik l jk l ij O E w +=∆η)()1()()()()(l ikl jk l ij l ij l ij l ij O E w w w w +-=∆-=η= 0.3-0.3*(-0.333666)*0.569028 = 0.35696=0.35-0.3*(-0.333666)*0.64174 = 0.414238=0.45-0.3*(-0.333666)*0.658516 =0.515917=0.35-0.3*0.635793*0.569028 =0.241465 = 0.25-0.3*0.635793*0.64174=0.127596)()1()(l il j l ij O Ew +=∆η)()1()()()()(l il jl ijl ij l ij l ijO E w w w w +-=∆-=η)3(1)4(1)3(11)3(11O E w w η-=)3(2)4(1)3(21)3(21O E w w η-=)3(3)4(1)3(31)3(31O E w w η-=)3(1)4(2)3(12)3(12O E w w η-=)3(2)4(2)3(22)3(22O E w w η-=)3(3)4(2)3(32)3(32O E w w η-== 0.3-0.3*0.635793*0.658516 = 0.174396………………………………………………………………………………………………………………………………………………………………………解题要求:1.选择一种语言编程实现BP算法,要求给定最大的误差为0.0001,算法运行完后给出学习的遍数,并能给出一个提示界面,要求输入一组实例后给出其正向传播的计算值,并给出其模糊评判。

2. 查阅相关BP算法的资料,对其中的学习率等其它参数或公式进行修改,尽量减少学习的遍数,并能对实例给出满意的解释。

相关文档
最新文档