2011年全国软件大赛模拟题及参考答案(Java高职组)

2023年全国职业院校技能大赛软件测试赛题第9套 6. 定义test_denglu02方法进入系统登录页面,通过ID方法定位用户名输入框,通过CLASS_NAME方法定位密码输入框并输入账号和密码(XTGLY/123456),通过TAG_NAME定位登录按钮并点击,通过LINK_TEXT方法定位并点击“供应商信息”按钮,使用XPATH点击第一条数据的查看按钮,通过window_handles方法将标签页切换到第二个标签,点击查看供应商弹窗右上角的X,使用get_screenshot_as_file对页面进行截图操作;返回文字“x=a+b的值:”和x的值。 阅读详情

不是官方的答案,如有不妥,请指出。

2011 模拟 java 高职

注意:

本套模拟题主要模拟命题形式与考核范围。真实竞赛题的数量、难度可能与此套模拟题有差异。

说明:

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

填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

 

1.      代码填空(满分3分)

以下程序打印出0~9的数字,请补充缺少的代码。

public class MyTest

{

    public static void f(int begin, int end)

    {

        ___________; if(begin>end) return;

        System.out.println(begin);

        f(begin+1, end);   

    }

    public static void main(String[] args)

    {

        f(0,9);

    }

}

 

2.      代码填空(满分4分)

如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。

    a = a ^ b;

    b = _________; b = a ^ b;

    a = _________; a = a ^ b;

 

3.      代码填空(满分3分)

 

许多人都曾经玩过“拍七”游戏。规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。

    for(int i=1; i<100; i++)

    {

        if(i % 7 == 0)

            printf("*/n");

        else if(___________________) i%10 == 7 || i/10==7

            printf("*/n"); 

        else

            printf("%d/n", i);

    }

 

 

4.      代码填空(满分5分)

下面的静态方法的目的是求出某个日期是该年度的第几天。试完善之。

如果传入:year=1980,month=1, day=1

则返回 1

如果传入:year=1980,month=2, day=1

则返回 32

public static int getDayOfYear(int year, int month, int day)

{

        int [][]days=_____________________; {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30}}

        int flag =(year%4==0 && year%100!=0) || year%400 == 0 ? 1 : 0;

        int sum = day ;

        for(int i=0;i<month;i++)    {

            sum += days[flag][i];

        }      

        return sum;    

}

 

5.      代码填空(满分2分)

下列方法的目的是,找出1~n之间所有的平方数。试补全缺失的代码。

当n=10时,输出结果是:

1 4 9

当n=100时,输出结果是:

1 4 9 16 25 36 49 64 81

 

    public static void showSqure(int n)

    {

        for(int i=0; i<n; i++)

        {

            for(int j=1; j<=i; j++)

            {

                if(i==_____________) System.out.print(i + " "); j*j

            }

        }

       

        System.out.println();

    }

6.      代码填空(满分9分)

(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:

                 1

               1   1

              1  2  1

            1  3   3   1

          1  4   6   4   1

        1  5  10  10   5   1

 

下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。

    public static int f(int m, int n)

    {

        if(m==0) return 1;

        if(n==0 || n==m) return 1;

        return __________________________; f(m-1,n-1)+f(m-1,n)

    }

 

7.      代码填空(满分4分)

 

下面的代码将数组中的元素的位置颠倒过来:

比如:原来的元素是 [1,2,3]

则颠倒后变为:[3,2,1]

public static void reverse(int[] arrs)

{

       

for (int i = 0, j = arrs.length - 1; i <_________ ; i++, j--) arrs.length/2

{

        int temp = arrs[i];

        arrs[i] = arrs[j];

        arrs[j] = temp;

    }

}

 

8.      程序设计(满分15分)

从键盘输入一个整数(1~20)

则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如:

输入数字2,则程序输出:

1 2

4 3

输入数字3,则程序输出:

1 2 3

8 9 4

7 6 5

输入数字4, 则程序输出:

1  2   3   4

12  13  14  5

11  16  15  6

10   9  8   7

 

import java.util.Scanner;

public class MyTest {

    public static void main(String[] args)

    {

       Scanner in = new Scanner(System.in);

       int n = in.nextInt();

       int value[][] = new int[n][n];

      

       int direction = 1; // 1向右,-1向左,2向上,-2向下

       int row=0;

       int col=0;

       for(int i=0;i<n*n;i++){

           if(value[row][col]==0){

              value[row][col]=i+1;

              if(direction==1){ // 向右

                  if(col+1<n && value[row][col+1]==0){

                     col++;

                  }else{

                     direction=-2;

                     row++;

                  }

              } // 向下

              else if(direction==-2){

                  if(row+1<n && value[row+1][col]==0){

                     row++;

                  }else{

                     direction=-1;

                     col--;

                  }

              }

              else if(direction==-1){

                  if(col-1>=0 && value[row][col-1]==0){

                     col--;

                  }else{

                     direction=2;

                     row--;

                  }

              }

              else{

                  if(row-1>=0 && value[row-1][col]==0){

                     row--;

                  }else{

                     direction=1;

                     col++;

                  }

              }

           }

       }

       for(int i=0;i<n;i++){

           for(int j=0;j<n;j++){

              if(j == 0)

                  System.out.print(value[i][j]);

              else{

                  System.out.print(" "+value[i][j]);

              }

           }

           System.out.println();             

       }

    }

}

 

9.      程序设计(满分9分)

从键盘输入一个日期,格式为yyyy-M-d

要求计算该日期与1949年10月1日距离多少天

例如:

用户输入了:1949-10-2

程序输出:1

用户输入了:1949-11-1

程序输出:31

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

public class MyTest {

    public static void main(String[] args)

    {

       Scanner in = new Scanner(System.in);

       String date = in.next();

       DateFormat df = new SimpleDateFormat("yyyy-M-d");

       String oldDate = "1949-10-1";

       try{

           Date d = df.parse(date);

           Date d2 = df.parse(oldDate);

           System.out.println((d.getTime()-d2.getTime())/(24*3600*1000));

       }catch(Exception e){

           System.out.println("輸入的不是有效日期");

       }

    }  

}

 

 

10. 程序设计(满分20分)

任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432,一个最小的数23456。求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,则前边补0)。如此往复,数字会落入某个循环圈(称为数字黑洞)。

比如,刚才的数字会落入:[82962, 75933, 63954, 61974] 这个循环圈。

 

请编写程序,找到5位数所有可能的循环圈,并输出,每个循环圈占1行。其中5位数全都相同则循环圈为 [0],这个可以不考虑。循环圈的输出格式仿照:

[82962, 75933, 63954, 61974]

其中数字的先后顺序可以不考虑。

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

 

public class MyTest {

    // 保存查找到的环

    static List<List<Integer>> allList = new ArrayList<List<Integer>>();

    public static void main(String[] args)

    {

          

           // 遍历所有的数字

           for(int a=0;a<=9;a++){

                  for(int b=0;b<=a;b++){

                         for(int c=0;c<=b;c++){

                                for(int d=0;d<=c;d++){

                                       for(int e=0;e<=d;e++){

                                              int temp = a*10000+b*1000+c*100+d*10+e;

                                              List<Integer> list = findRing(temp);

                                              if(list!=null){

                                                     allList.add(list);

                                              }

                                       }

                                }

                         }

                  }

           }

           // 输出结果

           for(List<Integer> list:allList){

                  System.out.print("[");

                  for(int i=0;i<list.size();i++){

                         int temp = list.get(i).intValue();

                         System.out.print(temp);

                         if(i!=list.size()-1)

                                System.out.print(",");

                  }

                  System.out.print("]");

                  System.out.println();

           }

    }

    /*

     * 得到最大数,根据32321得到最大数是33221

     */

    static int getMax(int number){

           String temp = String.valueOf(number);

           char tempCharArray[] = temp.toCharArray();

           Arrays.sort(tempCharArray);

           StringBuffer sb = new StringBuffer(new String(tempCharArray));

           sb.reverse();

           for(int i=0;i<5-sb.length();i++){

                  sb.append('0');

           }

           return Integer.parseInt(sb.toString());

    }

    /*

     * 得到最小数,根据32321得到最小数是12233

     */

    static int getMin(int number){

           String temp = String.valueOf(number);

           char tempCharArray[] = temp.toCharArray();

           Arrays.sort(tempCharArray);

           return Integer.parseInt(new String(tempCharArray));

    }

    /*

     * 根据某个数找环

     */

    static List<Integer> findRing(int number){

           List<Integer> list = new ArrayList<Integer>();

           int temp=number;

           while(true){

                  temp = getNext(temp);

                  // 一定存在于环中

                  if(temp==0 || exists(temp)){

                         return null;

                  }

                  int index = find(list,temp);

                  if(index!=-1){

                         return list.subList(index,list.size());

                  }else{

                         list.add(temp);

                  }

           }

    }

    /*

     * 得到最大值-最小值

     */

    static int getNext(int number){

           return getMax(number)-getMin(number);

    }

    /*

     * 查找某个数字是否在某个链表中

     */

    static int find(List<Integer> list,int number){

           int index = -1;

           for(int i=0;i<list.size();i++){

                  if(list.get(i).intValue()==number){

                         index = i;

                         break;

                  }

           }

           return index;

    }

    /*

     * 是否存在于已有的环中

     */

    static boolean exists(int number){

           for(List<Integer> list:allList){

                  if(find(list,number)>-1)

                         return true;

           }

           return false;

    }

}

11. 程序设计(满分 9 分)

当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。

该校验的过程:

1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。

2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。

3、将奇数位总和加上偶数位总和,结果应该可以被10整除。

例如,卡号是:5432123456788881

则奇数、偶数位(用红色标出)分布:5432123456788881

奇数位和=35

偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。

最后35+35=70 可以被10整除,认定校验通过。

 

请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。

比如,用户输入:356827027232780

程序输出:成功

 

import java.util.Scanner;

 

public class MyTest {

       public static void main(String[] args)

       {

              System.out.println("请输入卡号:");

              Scanner in = new Scanner(System.in);

              String cardNumber = in.next();

              int sum1 = 0;

              // 处理奇数位

              for(int i=cardNumber.length()-1;i>=0;i=i-2){

                     sum1 += cardNumber.charAt(i)-'0';

              }

              int sum2 = 0;

              // 处理偶数位

              for(int i=cardNumber.length()-2;i>=0;i=i-2){

                     int temp = (cardNumber.charAt(i)-'0')*2;

                     if(temp>9){

                            temp = temp - 9;

                     }

                     sum2 += temp;

              }

              if((sum1+sum2)%10==0){

                     System.out.println("成功");

              }else{

                     System.out.println("失败");

              }

       }

}

2024年全国大学生软件测试大赛—练习—12306网站 边界值分析(Boundary Value Analysis, BVA)和等价类划分(Equivalence Partitioning, EP)是两种常用的软件测试设计技术,它们用于确定测试用例,以发现程序中的错误。这两种技术通常一起使用,以提高测试的效率和有效性。### 等价类划分(Equivalence Partitioning, EP)等价类划分是将输入数据的集合划分为若干个等价类,每个等价类中的数据从程序的角度来看是等效的。也就是说,程序对等价类中的任何一个输入数据的处理方式是相同的。 阅读详情

相关推荐

全国大学生软件测试大赛Web应用测试(一)赛项简介

全国大学生软件测试大赛Web应用测试(一)赛项简介Selenium功能测试Jmeter性能测试Web众包测试 在全国大学生软件测试大赛中Web应用测试共包含三个赛项:功能测试、性能测试以及众包测试。 Selenium功能测试 Selenium功能测试是根据需求对Web应用进行基于Selenium的功能测试,通俗的讲就是编写测试代码实现浏览器的自动化操作,对各种按钮的点击,填入各种表单等对Web应用的各种功能进行测试。 Selenium功能测试具体介绍. Jmeter性能测试 Jmeter性能测试是对Web应

Kennen0_0的博客 8650

2022年全国职业院校技能大赛(高职组)“软件测试”赛项单元测试参考答案

输入小写的字符串。如字符串前缀为ab开头,则将前缀ab替换为ef并打印出替换后字符串,返回文字“替换前缀后的字符串为:”和替换后字符串值;如后缀为cd并且前缀不为ab,替换字符串中所有cd为gh并打印出替换后字符串,返回文字“替换cd后的字符串为:”和替换后字符串值;否则全部字母大写输出,返回文字“大写字母的字符串为:”和转换后的字符串值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足条件覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 3834

【TreeData】2020年全国大学生软件测试大赛预选赛开发者测试题目下载

2020年全国大学生软件测试大赛预选赛,开发者测试赛项中,“TreeData”题目资源下载,可直接导入eclipse运行。本题使用的源码来自github开源代码,包含树结构相关的一系列数据结构和算法的实现,在安装mooctest插件的eclipse中可以查看自己的行覆盖和分支覆盖以及成绩。

2023年全国职业院校技能大赛-应用软件系统开发赛项(高职组)赛题第7套

1.实现智能制造的过程控制、任务派工、质量管理、数据采集等; 2.实时监测每个设备的能源消耗数据,进行能源分析,实现能源利用效率的优化。

君逍遥o 928

【tarjan】2019年全国大学生软件测试大赛全国总决赛开发者测试题目下载

2019年全国大学生软件测试大赛全国总决赛,开发者测试赛项中,“tarjan”题目资源下载,可直接导入eclipse运行。本题使用的源码来自github开源代码,包含图算法tarjan相关的一系列数据结构和算法的实现,在安装test插件的eclipse中可以查看自己的行覆盖和分支覆盖以及成绩。

保姆级教程:用Cesium的Primitive API实现火箭发射全流程动画(含代码避坑)

本文详细介绍了如何使用Cesium的Primitive API实现火箭发射全流程动画,包括模型控制、关节动画和精细时序管理。通过实战代码示例和性能优化技巧,帮助开发者高效构建高复杂度航天仿真系统,显著提升三维可视化效果与运行效率。

weixin_42565652的博客 214

蓝桥杯比赛java试题及答案,2011蓝桥杯高职java试题及部分参考答案

《2011蓝桥杯高职java试题及部分参考答案》由会员分享,可在线阅读,更多相关《2011蓝桥杯高职java试题及部分参考答案(14页珍藏版)》请在人人文库网上搜索。1、2011年java蓝桥杯大赛高职第 14/11 页考生须知:考试时间为4小时。本试卷包含两种题型:代码填空”与 程序设计”。总计100分。其中代码填空:3+3+4+6+7+9+10 = 42分程序设计:14+17+27 = 58分...

weixin_39728320的博客 288

企业级智能问数开发的核心痛点与技术聚焦

本文介绍了企业级智能问数系统开发的三大核心问题和解决方案:语义解析不精准、SQL生成不健壮、企业适配难落地。文章从开发者视角出发,详细拆解了NLU语义解析、SQL生成、对话记忆、企业级适配四大核心模块的技术实现。 在技术选型方面,推荐了LangChain+DeepSeek-R1、FAISS/Milvus、SQLAlchemy等工具链组合。针对企业级需求,重点讲解了: 语义解析模块的意图识别优化和要素提取技术 SQL生成模块的语法校验与性能优化方案 对话记忆模块的Redis存储实现 企业级适配的三层防护体系和

lamehsl的专栏 1048

2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)

【代码】2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)

haobabiu的博客 4006

Excel数据透视表实战:分组折线图制作与动态分析指南

数据可视化是数据分析的关键环节,其核心原理在于将抽象数据转化为直观图形,以揭示趋势、对比差异。在众多图表类型中,折线图因其能清晰展示连续数据随时间或其他序列的变化趋势,而成为趋势分析的利器。其技术价值在于通过视觉编码,将多维数据关系降维呈现,从而辅助决策。在业务分析、运营监控等应用场景中,常需对比不同分组(如产品线、销售区域)在同一时间序列上的表现,这正是分组折线图要解决的核心问题。本文聚焦于利用Excel数据透视表这一强大工具,高效构建动态分组折线图,并深入探讨数据透视表在数据重塑和图表自动化中的实战应用

weixin_29057237的博客 382

2021年全国大学生软件测试大赛web应用测试预选赛试题及答案

全国大学生软件测试大赛web应用测试预选赛试题及答案试题内容答案 试题内容 答案 注:抖音网站是动态的,控件会发生变化,xpath就会发生变化。所以下面的代码仅供参考。 import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import java.util.Set; import

m0_51456787的博客 9743

图解转置卷积原理

声明:本文大部分搬运自【机器学习】详解 转置卷积 (Transpose Convolution) 感谢博主花与人间事同,本人只是在博主原创文章上做补充以及添加一些自己的理解。 1 转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作,称为上采样 (Upsample),如下图所示: 上采样方法有很多,详见【图像处理】详解 最近邻插值、线性插值、双线性插值、双三次插值

laonafahaodange的博客 5686

全国大学生软件测试大赛【嵌入式测试个人赛】【练习题分析】

文章目录2021年嵌入式测试练习题1.测试系统2.功能测试2.1 测试对象类型2.2 基本测试步骤2.3 功能测试代码2.3.2 温度采集控温功能2.3.3 加热棒输出电压2.3.4 散热风扇输出3.接口测试3.1 测试对象类型3.2 测试注意事项3.3 接口测试代码3.3.1 温度传感器输入接口测试3.3.2 加热棒输出接口测试3.3.3 散热风扇输出接口测试4.性能测试4.1 注意事项4.2 测试温控时间性能代码 2021年嵌入式测试练习题 1.测试系统 1、测试系统结构 注:待测对象为,温度控制器

一只帅馒头的博客 6435

锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

前程算法屋的博客 900

《从底层结构开始学习FPGA》目录与传送门

《从底层结构开始学习FPGA》目录与传送门

孤独的单刀 16万+

全国大学生软件测试大赛练习题之医疗系统

1

weixin_44117248的博客 647

uniapp - 使用web-view加载本地网页vue页面,用webview导入本地网页,uniAPP中使用web-view加载的本地及远程vue页面+双向通讯功能(兼容微信小程序、安卓苹果APP)

uniapp的App端web-view加载本地html,uniapp微信小程序webview加载本地HTML文件,在uniAPP中使用web-view加载的本地及远程vue页面且进行双向通讯,uni-app的web-view组件,支持加载远程网页,在app环境下,还支持加载本地HTML页面。uniapp WebView组件实现本地网页加载与通讯传值,uniAPP如何内嵌webView引入本地的vue网页示例代码,uniapp在web-view加载的本地及远程HTML中调用uni的API及网页和vue页面跳转

🏆 前端领域优质创作者 5227

使用JUnit单元测试

测试题目:根据输入的年份和月份判断月份的天数。若月份不在有效范围之内,应提示:“月份输入不正确。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;不为闰年输出2月份天数。返回结果格式:“year年month月份的天数是days天。”year、month为传入的值,days为判断得到的天数值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。

qq_18745967的博客 2220

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2023年全国职业院校技能大赛-软件测试赛题第1套- GZ034 软件测试

1. 使用VirtualBox中的CentOS系统(注:系统非纯净系统,可能存在如端口占用等情况)安装相关软件,解决安装中遇到的问题,所有操作都必须使用命令界面完成。 2. CentOS系统root账户密码是:123456。 3. 提供的相关部署文件都存放在CentOS系统/opt目录下。

君逍遥o 5582

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

2020年第十一届蓝桥杯省赛试题及详解(Java高职高专C组)

【蓝桥杯】历年真题题目及题解汇总 结果填空 (满分5分) 结果填空 (满分5分) 结果填空 (满分10分) 结果填空 (满分10分) 结果填空 (满分15分) 程序设计(满分15分) 程序设计(满分20分) 程序设计(满分20分) 程序设计(满分20分) 程序设计(满分25分) 第一题:指数计算 问题描述】 7月1日是建党日,从1921年到2020年, 已经带领中国人民 走过了99年。 请计算:7 ^ 2020 mod 1921,其中A mod B表示A...

future277809183的专栏 3258

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2023年全国职业院校技能大赛-软件测试赛题第4套 - GZ034 软件测试

1. 使用VirtualBox中的CentOS系统(注:系统非纯净系统,可能存在如端口占用等情况)安装相关软件,解决安装中遇到的问题,所有操作都必须使用命令界面完成。 2. CentOS系统root账户密码是:123456。 3. 提供的相关部署文件都存放在CentOS系统/opt目录下。

君逍遥o 1040

史上最全 2023全国大学生软件测试大赛——持续更新

这个比赛什么成分我不好多说,首先说一下我的背景,我们学校是这个比赛的我们省赛的主办方,老师要求我们参加web应用测试和开发者测试,我都参加了,自认为还算是个学习成绩比较好的student,计算机专业前5%;

我亦无他,唯手熟尔 8301
上一篇: Java中的异常处理详解
下一篇: 2011年全国软件大赛模拟题及参考答案(Java本科组)
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值