
<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->

<!-- code_chunk_output -->

- [1. 拼题平台使用](#1-拼题平台使用)
  - [1.1. 拼题客户端使用](#11-拼题客户端使用)
- [2. 编程题和函数题](#2-编程题和函数题)
  - [2.1. 编程题](#21-编程题)
  - [2.2. 函数题](#22-函数题)
  - [2.3. 其他说明](#23-其他说明)

<!-- /code_chunk_output -->


# 1. 拼题平台使用(仅用于考试)

首先去[拼题](https://pintia.cn/)平台注册用户，如果需要绑定码，请参考老师在QQ群中发布的绑定码。



注意：客户端仅用于考试。平时作业直接使用浏览器访问 pintia.cn 即可。



## 1.1. 拼题客户端使用

如果是允许笔记本考试，提前到 https://oms.pintia.cn/ 下载拼题客户端，建议下载绿色版本：

![image-20240421120557721](./img/image-20240421120557721.png)

如果是2.0版本的安装程序，请参考：

https://oms.pintia.cn/download-oms-client?tab=self-check



如果不允许自带电脑，一般拼题客户端已经安装好，位于C盘根目录下，需要运行：

![image-20240421115128218](./img/image-20240421115128218.png)

打开拼题客户端：

![image-20240421120000482](./img/image-20240421120000482.png)

告诉监考老师姓名，待监考老师扫码登录。



# 2. 编程题和函数题

## 2.1. 编程题

这两个题型都是需要编程的，并通过拼题平台进行编译，运行。区别是：编程题需要写主函数，函数题不需要写主函数，而只是需要写一个程序中的一部分。

==拼题平台一般是单文件编译，并且对主类是有严格要求的，必须是 Main。你在本地的编辑的代码，可能主类并不是Main，但是提交到拼题后，请修改主类的名称！否则编译会失败。==

==拼题中不能使用包，如果你的代码第一句是package XXX, 请删除！注意看下图2的位置，是没有package这条语句的。==

![1677659805079.png](./img/1677659805079.png)

1. 编译器选择Java，一般只有这个选项，如果有多个选项，请选择Java；
2. 对一编程题，主类必须是Main，如果有import，也需要写出来；
3. 测试用例是老师给出的标准测试用例，用于检测你程序是否运行正确。当然你也可以修改测试用例，如果想回到标准的测试用例，请点击（7）位置的“重置测试用例”；
4. 当点击（8）的“运行测试”后，可以在（4）位置检查程序的输出是否正确。如果是标准的测试用例，会出现正确的输出和你程序运行输出的对比；
5. 编译器输出，检测你的编译错误；
6. 测试用例输入，请参考（3）；
7. 重置测试用例，请参考（3）；
8. 运行测试，请参考（4）。

当运行后，如果使用的是标准的测试用例，出现下面的对比：

![1677660511748.png](./img/1677660511748.png)

上图中，左边是你的运行结果；右边是正确的运行结果。（3）位置处标识了你运行结果和预期结果的不同。这个例子中你运行结果的最后一行多了一个回车。一般来说，最后一行多一行回车没有什么关系，会被判定为正确。

如果程序编译错误，在运行后会出现编译错误界面，可以根据该界面去排错，如下图：

![1677660700874.png](./img/1677660700874.png)

==界面的最下面有“提交本题作答”，在完成编程后务必点击提交，否则你的代码不会被上传和评阅！== 提交作答后的界面如下图：

![1677660851190.png](./img/1677660851190.png)

界面在（1）和（2）的位置提示了你该题的得分；每个编程题或者函数题都有隐藏的测试点，一般可能是边界条件测试点，或者是需要进行错误处理的测试点。每个测试点都有一定的得分。例如上图中有5个测试点。

## 2.2. 函数题

函数题关于编译和测试的方式与编程题一致，唯一不同的是你只需要提交代码的一部分，一般在题面中有详细的说明，如下图：

![1677661189299.png](./img/1677661189299.png)

左边是题面，右边是你的提交代码。可以看到，右边并没有完整的主类定义，而主类的定义在左边的题面中。

如果你需要在Eclipse中调试代码，需要将左边题面部分的代码复制到Eclipse当中，然后在提示的位置编写你的答案。

==注意：函数题一般是写类或者是接口的定义，这些类或者是接口不能使用 public 进行修饰，因为在一个Java文件中只能有一个 public类，这个类就是主类。==

## 2.3. 其他说明

如果题目没有特别说使用 printf 等格式化输出，一般情况下使用print方式输出，如：

````java
double d = 2.4 * 3;
System.out.print("The result is: " + d);
````

另外，一般如果是小数，变量使用 double 类型。否则可能因为后台的测试用例导致判断为不合格。

