精华内容
下载资源
问答
  • HTML javascript脚本数据校验,判断框没出现直接跳转了,求解答!代码查了好几遍,实在找不出哪了! ``` 注册 function custCheck() { var userName = document.getElementById(...
  • “把这个题目分析一下,主要是从工程上考虑,假如50个学生提交了程序,你如何写一个测试系统,判断对错,和测量学生程序对错” 一、首先分析一下这道题核心 “最长能首尾相连英语单词链,每个单词最多...

    题目来源:

    这是题目来源

    序:

    简述一下事情的经过

    一天邹欣老师在群里向我提出了一个问题:

    “把这个题目分析一下,主要是从工程上考虑,假如50个学生提交了程序,你如何写一个测试的系统,判断对错,和测量学生程序的对错”

    一、首先分析一下这道题的核心

    最长的能首尾相连的英语单词链,每个单词最多只能使用一次”

    这里题目的描述有一点不明确,关于最长题目并没有给出详细定义。

    因此可能有两种情况。

    单词链中单词数最多

    单词链中字符数最多

     

    (看到这里我似乎想起了自己一年前是怎么解决北京地铁网络中最短距离与最少换乘的。)

    但是不管怎么样,这道题是可以转化成“图”来做的:

    1. 26个字母(不区分大小写),是这个图可能的节点
    2. 每一个单词,实际上相当于一条连接首位字母代表的节点与末位字母代表的节点的边,边的权重即为单词的长度

    例:单词“apple”实际上相当于一条连接a点与e点的权重为5(单词长度)的边。

    所以,这道题就变成了这样:

    1. 有向图G,可能多重图,可能存在环,无负权边
    2. 每条边有且只能经过一次,求出这个图的“边数最长的路径”或是“边权和最大的路径”

    二、这题我会怎么做

    从设计的角度来说,程序可以分为以下几个模块

    1. 处理命令行参数(命令处理)

    2. 读取文件并构建成图 (数据输入与数据转化)

    3. 根据一定的算法处理图,得到目标解 (核心代码)

    4. 将解按照一定格式写入文件 (输出)

    由于这篇博客不是主要谈这个的,所以这里不细说

    三、工程化角度的考虑

    假如50个学生提交了程序,你如何写一个测试的系统,判断对错,和测量学生程序的对错”

    0. 规范化处理

    任务:

    • 完成一个输出首尾相接的字母数量最长的英文单词串的命令行程序

    需求:

    • 用一个.txt文件存储N个不同的英语单词,一行一个,行内无空格制表符
    • 单词内无英文字母以外的符号如数字、汉字或其他特殊字符
    • 程序在读取输入文件信息时要求能够处理各种异常的情况
    • 使用命令行参数执行程序如:

    Wordlist.exe /i input1.txt /o output1.txt

    • 程序最终将得到的结果按序输出到文件,格式与输入文件相同

    统一(这里是动词)要求:

    • 开发要求:
    1. 采用统一的IDE开发,采用统一的编程语言实现,并统一运行环境为64-bit Windows 10
    2. 使用Github来管理源码与测试用例
    3. 使用性能分析工具来找出代码中的性能瓶颈并进行改进
    4. (这里罗老师提出考虑是否可以统一接口以保证所有人设计的单元测试可以通用,这里考虑到大家实现的方法可能稍有区别因此不做限制)
    • 博客要求:
    1. 要求写出实现的思路,记录下来遇到的困难与解决的方式
    2. 写出至少10个测试用例确保你的程序能够正确处理各种情况
    • 提交要求:
    1. 提交完整工程的Github链接,便于下载与运行
    2. Github工程中要求包含有可编译运行的代码与编译后生成的.exe文件(github默认不同步.exe文件,应该如何修改?
    • 对批改者的评判要求:
    1. 使用统一的正确测试用例进行正确性测试
    2. 使用统一的错误测试用例进行鲁棒性测试
    3. 正确测试用例通过的程序将进行性能测试
    4. 设立合理的baseline

    以表现最优秀的程序作为满分参考线,或

    以表现最普通的程序作为及格基础线,或

    以平均表现作为85分线

              最终还将综合博客的情况与Github中的提交记录进行评估

              开发时是否将代码的功能进行细分,并按照模块化方式进行开发与提交

            (关于评判标准还有待进一步学习

     

    1. 测试用例设计

    由于我的想法是模拟成图,因此测试用例就用图的方式描述

    • 测试功能

    是否是连通图,图中是否有环,图的规模分别在10条边、50条边、100条边

    • 测试性能

    是否是连通图,图中是否有环,图的规模在500条边、1000条边、5000条边、10000条边

    • 测试鲁棒性
    1. 文件为空或只存在空白字符
    2. 文件不为空,出现英文字母以外的字符
    3. 文件不为空,出现一行有多个单词用空格或制表符连接
    4. 错误的命令行参数或增加或缺少参数
    5. 输入文件不存在

    (假设我有以上的所有测试用例的.txt文件&&正确用例&&用例对应的答案的.txt文件。。。)

    2. 测试方法

    使用PowerShell批处理进行文件的批量下载、解压、运行、结果比对

    最终目标应该是将以下的功能集成在一起,但由于时间和个人能力所限,暂时只能做成这样。

    (假设我有一个这样的.exe测试程序,能够验证运行结果的正确性)

    文件的下载:

    提交的github链接为一个字符串,在字符串后追加"/archive/master.zip"即为下载链接。

    使用如下的命令可下载工程压缩包。

    代码来自:代码来自这里

    $src = 'https://github.com/ChildishChange/C0-compile/archive/master.zip'
    $des = "C:\User\desktop\14061195.zip"
    Invoke-WebRequest -uri $src -OutFile $des
    Unblock-File $des

     

    文件的解压:

    代码来自:代码来自这里

    Function Unzip-File()
    {
        param([string]$ZipFile,[string]$TargetFolder)
        #确保目标文件夹必须存在
        if(!(Test-Path $TargetFolder))
        {
            mkdir $TargetFolder
        }
        $shellApp = New-Object -ComObject Shell.Application
        $files = $shellApp.NameSpace($ZipFile).Items()
        $shellApp.NameSpace($TargetFolder).CopyHere($files)
    }
    #将zip文件E:\a.zip解压到e:\test,目录
    Unzip-File -ZipFile E:\a.zip -TargetFolder e:\test
    
    #其实我觉得可以直接全选右键解压。。。

     

    使用批处理指令依次运行所有程序

    获得所有程序对正确用例的输出:

    for /f "delims=;" %%i in ('dir /b *.exe') do (%%i /i input1.txt /o %%i.txt)

    将上一步输出的文件用作测试程序的输入并进行结果比对:

    for /f "delims=;" %%i in ('dir /b *.txt') do (judge.exe %%i)

    将错误用例的控制台输出重定向到文件分别人工查看:

    for /f "delims=;" %%i in ('dir /b *.exe') do ( %%i >> %%i.txt)

     

    对性能进行评估:

    可以使用命令行工具简单分析程序运行的时间,邹欣老师在博客中给出了一些链接

    ECHO Start Measure %Time% >> timer.txt
    YOUR COMMAND
    ECHO Stop Measure %Time% >> timer.txt

    最终决定采用上述方式简单估计程序运行的时间,但是不好之处是只精确到0.01秒

    (由于timer.exe与ptime在64位系统上运行会存在较大误差,因此不选用)

    因为个人能力问题,没有找到命令行适用的内存占用分析工具,如果以后找到了,将补全博客。

    同时个人认为,由于VS2015中提供了十分强大的性能分析工具,因此在性能分析时,可以直接使用而不是自己实现一个。同时也是个人能力问题,只能想到手工运行性能分析工具来对性能进行评估,如果以后能有更好的方法,将补全博客。

    其实关于这个问题我有偷懒的想法,由于提交的程序的特殊性,我似乎可以通过一些渠道,联系到管理我校C语言作业的测评网站的老师,申请使用学校的测评系统,完成整个测评流程(我真懒)

     

    三、个人感想

    • 需要尽快完成角色的转变,从学生->助教
      • 其实在邹欣老师提出“从工程的角度考虑”之前,我想的更多的还是我将如何实现这个软件,而不是把重心放在考虑设计一个标准的体系,这里需要反思
    • 感谢@罗杰老师与@乾神在我完成这篇博客的期间对我的指点与帮助
    • 恳请批评与指正,谢谢!
    • 微信截图_20170602190334

    转载于:https://www.cnblogs.com/ChildishChange/p/7161814.html

    展开全文
  • 时间:2017.12.10作者:李强参考:man,info,magedu讲义,万能internet实验环境:CentOS 6.9与CentOS7.4声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,...

    时间:2017.12.10
    作者:李强
    参考:man,info,magedu讲义,万能的internet
    实验环境:CentOS 6.9与CentOS7.4
    声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。

    if条件判断语句:
    condition条件为真,才执行then否则fi
    1、 单个条件判断
    if condition ;then
    statement
    fi
    2、2个条件判断
    if condition ;then
    分支1
    else
    分支2
    fi
    3、多个条件判断
    if condition ;then
    分支1
    elif condition ;then
    分支2
    ,,,,
    。。。。

    else
    分支末
    fi

    重点不是if判断语句,重点是判断条件。
    bash中条件测试
    命令执行结果的状态值。通常后面跟&>/dev/null
    $?,有时候成功并不一定为0,可以先测试后再做判断条件。
    [ ]
    [[ ]]
    test
    组合条件测试
    整数判断符号
    -eq,-ne,-le,-lt,-ge,-gt
    逻辑判断符号
    与:&& -a
    或:|| -o
    非:!
    字符测试:
    双目:
    大于:>
    小于:<
    等于:=
    不等于:!=
    pattern:=~,左侧为字符串,右侧为正则表达式regular expression 判断左边的字符串是否符合右边的规则。
    单目:
    -n:字符串不为空为真
    -z:字符串为空位为真
    文件测试:
    -b
    -c
    -d
    -e
    -f
    -g
    -G
    -h
    -k
    -L
    -O
    -p
    -r
    -s
    -S
    -t
    -u
    -w
    -x

    转载于:https://blog.51cto.com/lajifeiwomoshu/2049205

    展开全文
  • 最严重问题:、*(如果以下看不懂请移动至最下面,gets()函数分析)*、1、gets(s)每次返回一行而不是一次性返回EOF之前全部字符!楼主可能是这一点想了,如果不是请看下面分析。2、为什么num=0? gets(s)...

    楼主试试在printf之前输出num,很大概率是等于0的。

    最严重的问题:

    、*(如果以下看不懂请移动至最下面,对gets()函数的分析)*、

    1、gets(s)每次返回一行而不是一次性返回EOF之前的全部字符!楼主可能是这一点想错了,如果不是请看下面的分析。

    2、为什么num=0? gets(s)每次读一行,s是字符串,楼主每次只判断了一个字符*p,就继续下一次循环了,输入的样例很可能会导致num=0的就是num++那句不会执行。应该再加一重循环while(*p!='\0')判断s里的每个字符。

    3、每次判断一行数字,p就应该从s的开头开始,所以 char *p=s应该放在while(get(s))这个循环里面。

    其他的方法我推荐用while((ch=getchar())!=EOF),这个你的思路挺符合的,一个字符一个字符判断,你可以去搜这句,挺经典的。

    int getchar ( void)

    返回值为用户输入的ASCII码,读到文件末尾返回EOF,EOF的值是-1

    从方法上说,可以用空格或换行判断单词数,'\n'判断行数。按照题目来说应该是没有句号或逗号的。

    比如

    char ch;

    while((ch=getchar())!=EOF){

    if(ch=='\n') {

    lineNum++;

    wordNum++;

    }

    else if(ch==' ') {

    wordNum++;

    }

    printf("%d %d",lineNum,wordNum);

    while(1); // 按Ctrz+z后卡死在这里可以看输出的结果

    我测试了下,目测正确。

    抱歉,之前没仔细看代码,就看了一行while(gets(s)!=EOF) 。就直接写答案了,刚刚想起其实好像也没什么问题,所以去看了你的代码。

    之前的回答:

    楼主用的是C编译器的吧,我用C++编译器编译不过的。ERROR:ISO C++ forbids comparison between pointer and integer 。

    gets() 错了,gets()返回的是指针,EOF是int整数,应该用while(gets(s)!=NULL) 。

    如下:

    函数原型是char * gets (char * buffer ); 读取成功返回和buffer相同的指针,遇到错误或EOF返回NULL。

    执行时,不断从stdin读取字符,遇到换行符或EOF时停止,并将读取的结果存放在buffer中。注意换行符会被转换为‘\0’(空字符),加在buffer的后面。

    展开全文
  • 5.依次比对3中保存字母和4中输入字母,判断对错。 ------------------ 3和4中字母存储方式应该用数组a,b,数组长度由游戏规则决定。 **现在问题是,已经读取每个单词(字符串)都是一个数组A元素,...
  • Python语言命名主要采用字母(大小写)、下划线(_)、数字以及汉字(是,你没有看就是汉字,这点和C或者C++都是不一样)等字符进行。命名有两点需要特别注意:一是第一个字符不能是数字,中间不能有空格;二是...

    1、命名

    定义:Python语言给变量或者标识符或者其他程序元素关联名称的过程叫做命名。

    Python语言的命名主要采用字母(大小写)、下划线(_)、数字以及汉字(是的,你没有看错就是汉字,这点和C或者C++都是不一样的)等字符进行。

    命名有两点需要特别注意的:一是第一个字符不能是数字,中间不能有空格;二是标识符对大小写敏感,即hello和Hello是两个不同的名字,不能混为一谈。

    练习时间:

    请判断一下各个标识符是不合法的。

    [if !supportLists]A、[endif]_Python

    [if !supportLists]B、[endif]Python_1

    [if !supportLists]C、[endif]_2Python

    [if !supportLists]D、[endif]程序

    [if !supportLists]E、[endif]2_Python

    下面我们一个一个进行解释:

    小贴士:这个程序演示里面使用了print()函数,这个函数表示输出。具体用法以后会详细介绍。在这儿,只需要知道它把变量里面的值输出并显示出来。

    2、常量

    定义:在程序中,值不发生变化的元素,我们称之为常量。

    日常使用最广泛的一个常量是π(圆周率),通常,我们在Python程序中,将常量名全部大写(不是强制要求,是一种习惯)。

    如:

    PI=3.1415926

    3、变量

    上面我们说了值不发生变化的元素称之为常量,那么值如果发生变化呢?

    定义:在程序中,值发生变化或者可以发生变化的元素,我们称之为变量。

    变量名的定义也必须符合我们前面说的命名规则。

    思考一下,我们是如何修改变量的值的呢?

    看出来了吗?是的,我们一般是通过赋值的方式来修改变量值。

    a=12(这句话的意思就是首先定义了一个变量“a”,然后通过“=”,将数值“12”,赋给“a”)

    同时,我们也能看出,除了可以直接给变量赋数值,还可以赋表达式(如:a+10)

    注意:在Python语言中,我们可以随时随地的命名变量,赋值变量以及使用变量。这也是其优越性的一个体现(C或者C++中的变量都需要先定义,后使用)。

    小贴士:如果有一定C或者C++基础的朋友可能会问了,不提前定义的话,怎么来判断变量类型呢?

    这里要科普一下啦(以C语言为例):如果我们要使用整型变量,就是变量值是整数的意思。我们需要如下做法,不同类似的变量需要进行的声明,非常的繁杂,而且还容易出错误。

    那么,如果用我们的Python来做,会怎么样呢?

    看明白了?是的,Python语言不需要复杂的声明,会根据变量的值自动判断值的类型,且输出的时候也不需要根据类型选择格式字符。

    4、关键字(也叫保留字)

    定义:Python语言内部定义并保留使用的标识符。

    啥意思呢?说白了,就是这些标识符Python自己先占用了,我们在编程的使用就要避免使用这个标识符。

    为啥要这样呢?其实每个编程语言都有一定的关键字,这个关键字主要是用来构成程序框架,表达关键值或者具有结构性复杂意义等。

    如果非法使用了关键字会造成程序运行错误,如下:

    我们可以看到,使用关键字会直接报错。

    Python关键字数量要根据版本而定,可以使用help("keywords")函数,查看所有关键字

    小贴士:help()函数是Python语言自带的帮助函数,功能非常强大,可以查看其他函数、数据类型、关键字等的详细信息。

    展开全文
  • '''题目描述1、输入字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0...
  • 软件会出示相应单元的英文句子,并打顺序,用户通过点击单词重新组成一句英文,并点确认,判断对错,提高学生认读能力。 (5)对一对功能(问答题)。软件会出示相应单元的随机五道英语问答题,用户可以选择相应的答案...
  • 2)程序支持判断对错,累计分数,倒计时。 3)支持多个运算符。 4)支持括号。 5)用户界面可由用户选择中文、英文或日文。 6)把上面功能移植到网上。 我对c语言比较熟悉,所以用c语言编写这个程...
  • 英文:Seniority, 翻译:@没故事卓同学   人们使用不同方式来定义工程师水平,有些公司...确实如果相关 API 比较熟练开发时候你会比较快,但是熟知一些特定 API 并不是核心技能,因为只要有足够
  • 请注意,是英文单词的对,并且首字母要大写,不能其它花式变型。所有计算结果,或者调用返回值是True或者False过程都可以称为布尔运算,例如比较运算。布尔值通常用来判断条件是否成立。age = 16if age >= ...
  •  2)程序自动支持判断对错,累计分数,倒计时。  3)支持多个运算符。  4)支持括号。  5)用户界面可以由用户选择中文、英文或日文。  6)把上面功能都移植到一个网页程序上。和同学们比较一下各自...
  • 定义 异或,是一个数学运算符,英文为exclusive OR...将结果 0 当成 false ,将结果 1 当成 true 。 用汉语判断异或: - 这个结果是 0 亦或者是 1,语言表达正确,结果为 true,为 1。 - 这个结果是 1 亦或者是 0,
  • python入门------汉诺塔

    2020-08-07 13:18:30
    变量: 1、使用前需要赋值 2、变量名可以是字母、数字、下划线,但是不能以数字开头 3、字母可大小写,大小写不同 4、等号(=)赋值 ...输入数字,判断对错错的会告诉大了还是小了 temp=input('猜数字
  • day---04 流程控制

    2019-09-26 09:45:49
    if:英文单词 是否意思 就是用来判断条件的对错判断之后在进行下一步操作。  定义:  最简单if判断  if 条件:  代码块1  代码块2  代码块3 a = 5 b = 4 if a > b: print('正确') ...
  • 2017《面向对象程序设计》课程作业五 ...程序能接收用户输入的整数答案,并判断对错 程序结束时,统计出答对、答错的题目数量 三、代码规范 函数的命名必须使用英文单词,不使用拼音缩写 函数...
  • 我们可以更改if 判断语句,使这样输入也算正确。 void loginDlg::on_loginBtn_clicked() { if(m_ui->usrLineEdit->text().trimmed()==tr("qt")&&m_ui->pwdLineEdit-> text()==tr("123456")) accept(); else{ ...
  • 布尔盲注

    千次阅读 2018-10-03 15:16:20
    只能对url输入的判断一个对错,一般一次只能判断一个英文字符 基于布尔盲注(Boolean-based blind SQL injection),即可以根据返回页面判断条件真假注入。比如对参数加一个’ and ‘1’=‘1和’ and ‘1’='2...
  • excel使用

    2012-11-25 17:06:01
    图8需要注意:如何确定自变量初始值,数据点之间步长是多少,这是要根据函数具体特点来判断,这也是使用者能力检验。如果想很快查到函数极值或看出其发展趋势,给出数据点也不一定非得是等差,可以...
  • python 图形界面单词app

    2019-08-25 17:02:33
    从0到1按照自己设计思路设计单词app,自己平时不会单词可以记录下来放入excel,读取excel里单词形成形成列表,随机产生单词,通过键盘输入意思判断对错,虽然要多点几下按钮,第一次设计不喜勿喷。...
  • 理解了逻辑关系其实还是很简单的! 出了很多小小的问题,但是最后也差不多能够解决了!自己能做出来一个完整的项目还是挺有成就...根据给定的中文单词写出相对应的英文单词,回车之后系统判断对错。 如果不会的话,就.
  • 程序员面试金典 16.8

    2020-04-25 12:46:57
    English tnt:将整数转换为...3位数字则先转换百位,然后判断剩余的两位数是否有特殊的英文表示,没有则依次转换十位和个位,其中要特别注意0的处理,反正多提交几次就知道哪里了。 class Solution { public: ...
  • 大三下18-6-20软件测试考试总结软件测试考试内容比较简单,只有四大题,英文卷,可用中文也可用英文答卷:一、名词解释给出几个英文名次...二、判断题给出几个判断,给出对错,不用解释原因。1)测试员目标是找出b...
  • 问题1,如何判断一个英文单词拼写是否正确 问题描述:例如一个用户输入了一个字符串:hellu,那它是不存在于字典中,那么我们怎么判断出来呢? 要求: (1)定义存储所有正确单词数据结构。 (2)写一个录入...
  • day 4

    2019-05-21 20:30:11
    day04 ...‘abc’.isalpha() # 判断’abc’是否全为英文字母 123.isalpha() # 错的,123没有isalpha方法 python3中常用的字符串方法(method) 明确:字符串的操作方法都不会改变原来字符串的值...
  • 对于这个程序,我只能写出整数,分数运行和判断对错,支持多个运算符。但是对于累计分数,倒计时,支持括号,用户界面由用户选择用中文英文或日文问题还不能解决。希望大神赐教,完善我程序!!! #define ...
  • 布尔类型

    2018-12-14 00:54:00
    请注意,是英文单词的对,并且首字母要大写,不能其他花式类型。 所有计算结果,或者调用返回值是True或者是Flase过程都可以称为布尔运算,例如比较运算。布尔值通常用来判断条件是否成立。 age = 20 if ...
  • 第一部分1、多选题:Python在金融中运用包括( )选项:A:绩效分析B:风险分析C:程序化交易D:量化...选项:A:B:答案: 【】2、判断题:python中如果需要打印换行,则可以在字符n左侧添加转义字符。选项:A:...
  • 我知道笔试B是英文水平测试,包括三部分,单词英译汉作文 难度都不大 但是他们要求非常之高总共6个题共11个空我们必须9个才算及格也就是说最多一道题吧因为有些题是3个空有些是2个空1个空就那么12道吧题型大概...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

判断对错的英文