# 题目数据库

## 文件名: ``Problems.json``

## 内容
题库
 
## 文件结构:

每一道题是一个字典, 字典以题目id为键值, 字典内容如下

### ``id``
六位字符串. 题目id, 即题号, 每道题目唯一对应一个题号

### ``content``
字符串. 题目内容, 含图, 表等. 是题目的$\LaTeX$源代码

### ``objs``
数组. 题目对应的课时学习目标代码, 若无对应目标则数组中包含唯一字符串"KNONE"(大写)

### ``tags``
数组. 题目标签, 包含但不限于与题目有关的单元等信息, 便于用字符串进行搜索

### ``genre``
字符串. 题目类型, 目前有

- 填空题

- 选择题

- 解答题
  
这三种选择 

### ``ans``
字符串. 简要答案

### ``solution``
字符串. 详细解答

### ``duration``
浮点数. 正数表示预计解答该题所需时间, -1表示暂无预计.

### ``usages``
数组. 每一个元素表示一条使用记录, 一般分为多个用\t分隔的子字符串, 从前至后分别为:

- 日期(yyyymmdd)

- 班级(20xx届高xxx班, 班号为两位数字, 如03班, 11班等)

- (一个或多个)难度([0,1]之间的数值字符串, 保留3位小数)

以下为两个实例:

- "20220908\t2023届高三02班\t0.879"

- "20220907\t2023届高三02班\t1.000\t0.750"

### ``origin``
字符串. 题目出处, 尽可能详细

### ``edit``
数组. 编辑历史, 一般每一个元素为两个用\t分隔的子字符串, 从前至后分别为:

- 日期(yyyymmdd)
  
- 编辑人姓名

### ``same``
数组. 相同题目的id列表

### ``related``
数组. 相关题目的id列表, 此处"相关"表示其中一题是另一题的明显变式, 解题方式基本完全一致, 或者某一题是另一题的一部分, 比如少了一小题等.

### ``remark``
字符串. 注释, 一般包含使用后的主观感受及常见错误原因等

### ``space``
字符串. 编入讲义时的预留空间, 一般为"数值ex"格式等, 例如"24ex", 在$\LaTeX$文件中直接用"\vspace{}"命令添加竖直空白时大括号内的内容

# 单元名数据库

## 文件名: ``UnitNames.json``

## 内容:
单元名称

## 文件结构:

字典. 每条记录的内容为"单元序号":"单元名". 目前一共有9个单元

# 单元目标数据库

## 文件名: ``UnitObj.json``

## 内容:
单元学习目标

## 文件结构:
每一条单元目标是一个字典, 字典以目标id为键值, 字典内容如下

### ``id``
字符串. 规则为"D"+<单元序号2位>+<目标序号3位>+"B"或"X"(必修或选择性必修), 共7位的字符串, 中间5位数字不重复

### ``content``
字符串. 单元学习目标的内容

### ``editor``
数组. 编辑历史, 一般每一个元素为两个用\t分隔的子字符串, 从前至后分别为:

- 编辑(修订)人姓名
  
- 日期(yyyymmdd)

# 课时划分数据库

## 文件名: ``LessonsCut.json``

## 内容:
课时划分列表

## 文件结构:
每一条记录是一个字典, 字典以课时id为键值, 规则是"K"+<单元序号2位>+<当前单元课时序号2位>, 与课时学习目标的前五位完全相同. 字典内容如下

### ``unit``
字符串. 规则为"D"+<单元序号2位>

### ``lesson``
字符串. 与课时id一致, "K"+<单元序号2位>+<当前单元课时序号2位>

### ``start``
字符串. 教材分册及该课时对应教材内容起始页码, 如果分为多段, 多个起始页码之间用"半角逗号加一个空格"分隔

### ``end``
字符串. 教材分册及该课时对应教材内容终止页码, 如果分为多段, 多个终止页码之间用"半角逗号加一个空格"分隔

# 课时目标数据库

## 文件名: ``LessonsObj.json``

## 内容:
课时学习目标

## 文件结构:
每一条课时目标是一个字典, 字典以目标id为键值, 字典内容如下

### ``id``
字符串. 规则为"K"+<单元序号2位>+<当前单元课时序号2位>+<当前课时目标序号3位>+"B"或"X"(必修或选择性必修). 共9位的字符串, 中间7位数字不重复

### ``unit_obj``
字符串. 该课时学习目标从属的单元学习目标id, 需符合单元学习目标id的命名规则

### ``content``
字符串. 课时学习目标的内容

