diff --git a/.gitignore b/.gitignore index 5cc8fe3..a631e5a 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ yarn-debug.log* yarn-error.log* pnpm-lock.yaml +AGENTS.md .claude/ -scripts/__pycache__/check_urls.cpython-313.pyc +__pycache__ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index e02948f..2622784 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -47,6 +47,16 @@ course_code: 课程代码 ``` +课程页面整理规则: + +- 课程页面按学期组织。每个学期使用 `## 20xx-20xx学年x学期` 作为二级标题。 +- 每个学期下优先放 `### 试卷`,试卷链接原则上指向本仓库中的 Markdown 试卷文件,不直接链接 PDF、图片或其他原始文件。 +- 试卷原始 PDF、图片可以作为校对来源保存在资源仓库中,但展示入口应为 Markdown 试卷。 +- 教师评价和属于某位教师的教学资源放在对应 `### 教师名` 下;该教师暂无评价时可以留空。 +- 属于某位教师的课件、作业、补充资料等放在该教师标题下的 `#### 教学资源` 中。 +- 无法确认教师归属的教学资源、教材、参考资料等,统一放在最后的 `## 推荐教材与参考资料` 中。 +- `## 推荐教材与参考资料` 用于课程通用资料,不再按教师拆分。 + ## 试卷 样式比较复杂, 具体参照 [网络安全数学基础(一)/2023-2024学年下学期期末.md](https://raw.githubusercontent.com/BetterECNU/SharedCourses/refs/heads/main/docs/courses/软件工程学院/网络安全数学基础(一)/2023-2024学年下学期期末.md) @@ -74,7 +84,7 @@ title: 2023-2024学年下学期期末 *** -## 2023-2024学年下学期期末试卷(A)——张佳秋(含答案) +## 2023-2024学年下学期期末试卷(A)——张xx(含答案) ... ``` @@ -93,6 +103,7 @@ title: 2023-2024学年下学期期末 - 原卷中有大题标题时, 使用 `### 一、选择题`、`### 二、填空题` 等格式。 - 原卷中只有题号时, 直接使用 `1.`、`2.` 等编号即可。 - 卷别、教师、是否含答案或版本差异写在 Markdown 正文标题中, 例如 `## 2023-2024学年下学期期末试卷(A)`、`## 2023-2024学年下学期期末试卷(A)——张xx(含答案)`。 +- 原题中标注的总分、大题分值、小题分值必须保留; 参考答案或评分标准中标注的步骤分值、扣分规则也必须写入对应答案中, 不要省略。 - 同一大题内的题目之间使用缩进 4 个空格的分隔线 ` ***`;大题之间使用顶格分隔线 `***`。例如: ``` markdown @@ -119,8 +130,76 @@ title: 2023-2024学年下学期期末 ``` - 若答案折叠块位于编号题目内, `
`、``、答案正文和 `
` 整体缩进 4 个空格, 与题内分隔线保持一致。 -- 选择题选项建议使用 A/B/C/D 分行书写; 数学公式使用 LaTeX。 +- 选择题选项建议使用 A/B/C/D 分行书写, 并在选项之间空一行; 数学公式使用 LaTeX。 +- 试卷正文中不要滥用反引号。普通英文单词、英文缩写、IP 地址、子网掩码、CIDR 表项、比特串、协议名、设备名等, 若原卷就是普通正文, 一般也按普通正文书写; 分式、上下标、带单位的计算式、不等式、函数表达式等数学内容优先使用 LaTeX。 +- 独立出现的数量与英文单位优先使用 LaTeX, 例如 `$100\ \text{Mbps}$`、`$125\ \text{B}$`、`$100\ \text{m}$`、`$5\ \text{ms}$`; 中文单位通常保持普通正文, 例如 `1 微秒`、`15000 字节`、`32 位`, 不必为了统一而写成 LaTeX。但像 `100BASE-TX`、`IPv4`、`CSMA/CD` 这类协议名、标准名或固定术语通常保持普通正文即可。 +- 填空横线优先使用 LaTeX: `$\underline{\qquad}$`。 +- 横线上带编号的填空优先将编号写入下划线中, 例如 `$\underline{\qquad(1)\qquad}$`、`$\underline{\qquad(2)\qquad}$`。 - 不确定或来自回忆的题目, 应在正文中用 `### 说明` 标明来源不确定性。 +- 原卷或参考答案疑似有误时, 可在对应题目或答案下使用 Docusaurus 提示块说明, 但不要替代原卷原文或原参考答案。例如: + +``` markdown + :::tip + 原参考答案此处疑似有误: 题目条件为 ..., 因此应为 ...。 + ::: +``` + +若原卷的大题标题本身就是题目, `###` 后只写题号和分值, 题面放在标题下方。例如: + +``` markdown +### 一、(10 分) + +设 $A$ 为矩阵, 求 $\det(A)$。 + +1. 小问题面 + +
+ 答案: + + 答案内容 + +
+ + *** +``` + +选择题推荐排版: + +``` markdown +1. 题面( )。 + + A. 选项 A + + B. 选项 B + + C. 选项 C + + D. 选项 D + +
+ 答案: + + A + +
+ + *** +``` + +编号题目内的答案与题间分隔线推荐排版: + +``` markdown +1. 题面 + +
+ 答案: + + 报文交换网、分组交换网 + +
+ + *** +``` ### 图片处理 @@ -132,6 +211,22 @@ images/2023-2024学年下学期期末_A_第4题.png images/2023-2024学年下学期期末_B_第6题.png ``` +- 若试卷没有 A/B 卷等卷别信息, 文件名中省略卷别; 若同一试卷中不同大题存在相同题号, 可在题号前加入题型以避免歧义, 例如: + +``` text +images/2024-2025学年上学期期中_选择题_第4题.png +images/2024-2025学年上学期期中_分析与设计题_第2题.png +``` + +- 同一题有多张必要图片时, 在题号后加 `_1`、`_2` 等序号; 答案或解析中的必要图片可在题号后加 `_答案`, 例如: + +``` text +images/2023-2024学年下学期期末_B_第6题_1.png +images/2023-2024学年下学期期末_B_第6题_2.png +images/2024-2025学年上学期期中_分析与设计题_第2题_答案_1.png +images/2024-2025学年上学期期中_分析与设计题_第2题_答案_2.png +``` + - Markdown 中使用相对路径引用图片: ``` markdown @@ -139,5 +234,6 @@ images/2023-2024学年下学期期末_B_第6题.png ``` - 页眉、学校 logo、空白答题框、装饰线等非题目必要内容通常不需要保留。 +- 协议伪代码、短程序、ASCII 图、可读性好的波形图优先使用代码块, 不必截图; 复杂拓扑图、坐标图、手写图、表格截图等无法稳定转写的内容再放入 `images/`。 有搞不懂样式怎么写的可以询问开发团队 diff --git "a/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2551/README.md" "b/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2551/README.md" index e22ba89..d96c4f5 100644 --- "a/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2551/README.md" +++ "b/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2551/README.md" @@ -3,6 +3,6 @@ title: 高级日语1 course_code: SFLK3117 --- -## 2024-2025学年上学期 +## 推荐教材与参考资料 -[日语综合教程+第五册+(陆静华+谭晶华)+(9787544649636)](https://drive.vanillaaaa.org/SharedCourses/外语学院/日语综合教程+第五册+(陆静华+谭晶华)+(9787544649636).pdf) +- [日语综合教程第五册(陆静华、谭晶华,ISBN 9787544649636)](https://github.com/BetterECNU/SharedResources/blob/main/SFLK/SFLK3117/推荐教材与参考资料/日语综合教程+第五册+%28陆静华+谭晶华%29+%289787544649636%29.pdf) diff --git "a/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2552/README.md" "b/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2552/README.md" index 0586a07..07754f8 100644 --- "a/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2552/README.md" +++ "b/docs/undergraduate/\345\244\226\350\257\255\345\255\246\351\231\242/\351\253\230\347\272\247\346\227\245\350\257\2552/README.md" @@ -3,6 +3,6 @@ title: 高级日语2 course_code: SFLK3119 --- -## 2024-2025学年下学期 +## 推荐教材与参考资料 -[日语综合教程第六册](https://drive.vanillaaaa.org/SharedCourses/外语学院/日语综合教程第六册.pdf) +- [日语综合教程第六册](https://github.com/BetterECNU/SharedResources/blob/main/SFLK/SFLK3119/推荐教材与参考资料/日语综合教程第六册.pdf) diff --git "a/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\225\205\350\260\210\344\270\255\345\233\275\346\226\207\345\214\226/README.md" "b/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\225\205\350\260\210\344\270\255\345\233\275\346\226\207\345\214\226/README.md" index 9de3fd8..15fb0bd 100644 --- "a/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\225\205\350\260\210\344\270\255\345\233\275\346\226\207\345\214\226/README.md" +++ "b/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\225\205\350\260\210\344\270\255\345\233\275\346\226\207\345\214\226/README.md" @@ -19,4 +19,4 @@ course_code: SFLE0030 #### 教学资源 -- [判断题全解+复习](https://drive.vanillaaaa.org/SharedCourses/大学英语教学部/英语畅谈中国文化/2024-2025学年下学期/胡婧/判断+复习.pdf) +- [判断题全解+复习](https://github.com/BetterECNU/SharedResources/blob/main/SFLE/SFLE0030/2024-2025学年下学期/胡婧/判断题全解+复习.pdf) diff --git "a/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\237\255\347\257\207\345\260\217\350\257\264\350\265\217\346\236\220/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\237\255\347\257\207\345\260\217\350\257\264\350\265\217\346\236\220/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 154b4f5..7bd91c0 100644 --- "a/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\237\255\347\257\207\345\260\217\350\257\264\350\265\217\346\236\220/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\345\244\247\345\255\246\350\213\261\350\257\255\346\225\231\345\255\246\351\203\250/\350\213\261\350\257\255\347\237\255\347\257\207\345\260\217\350\257\264\350\265\217\346\236\220/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -4,10 +4,12 @@ title: 2023-2024学年下学期期末 ## 2023-2024学年下学期期末试卷(A)——张佳秋 -考试科目:英语短篇小说赏析 -任课教师:张佳秋 -考试形式:闭卷 -考试时间:90 分钟 +### 说明 + +- 考试科目:英语短篇小说赏析 +- 任课教师:张佳秋 +- 考试形式:闭卷 +- 考试时间:90 分钟 ### I. Translation(20%) diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..35b61df --- /dev/null +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,695 @@ +--- +title: 2021-2022学年下学期期末 +--- + +## 2021-2022学年下学期期末试卷(A)(含答案) + +### 一、选择题 + +1. 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是( )。 + + A. 程序计数器 + + B. 程序状态字寄存器 + + C. 通用数据寄存器 + + D. 通用地址寄存器 + +
+ 答案: + + B + +
+ + *** + +2. 列选项中,不可能在用户态发生的事件是( )。 + + A. 系统调用 + + B. 外部中断 + + C. 进程切换 + + D. 缺页 + +
+ 答案: + + C + +
+ + *** + +3. 一次性分配所有资源的方法可以预防死锁的发生,这种方法破坏的是产生死锁的 4 个必要条件中的( )。 + + A. 互斥条件 + + B. 占有并请求 + + C. 不剥夺条件 + + D. 循环等待 + +
+ 答案: + + B + +
+ + *** + +4. ( )有利于 CPU 繁忙型的作业,而不利于 I/O 繁忙型的作业(进程)。 + + A. 时间片轮转调度算法 + + B. 先来先服务调度算法 + + C. 短作业(进程)优先调度算法 + + D. 优先权调度算法 + +
+ 答案: + + B + +
+ + *** + +5. 下列选项中,导致创建新进程的操作是( )。 + + I. 用户登录成功 II. 设备分配 III. 启动程序执行 + + A. 仅 I 和 II + + B. 仅 II 和 III + + C. 仅 I 和 III + + D. I,II,III + +
+ 答案: + + C + +
+ + *** + +6. 若 I/O 所花费的时间比 CPU 的处理时间短很多,则缓冲区( )。 + + A. 最有效 + + B. 几乎无效 + + C. 均衡 + + D. 以上都不是 + +
+ 答案: + + B + +
+ + *** + +7. 采用 SPOOLing 技术将磁盘的一部分作为公共缓冲区以代替打印机,用户对打印机的操作实际上是对磁盘的存储操作,用以代替打印机的部分是( )。 + + A. 独占设备 + + B. 共享设备 + + C. 虚拟设备 + + D. 一般物理设备 + +
+ 答案: + + B + +
+ + *** + +8. 设某文件为索引顺序文件,由 5 个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相等,均为 $512\ \text{B}$,并依次存放在 50,121,75,80,63 号磁盘块上。若要存取文件的第 1569 逻辑字节处的信息,则要访问( )号磁盘块。 + + A. 3 + + B. 75 + + C. 80 + + D. 63 + +
+ 答案: + + C + +
+ + *** + +9. 现有一个容量为 $10\ \text{GB}$ 的磁盘分区,磁盘空间以簇(Cluster)为单位进行分配,簇的大小为 $4\ \text{KB}$,若采用位图法管理该分区的空闲空间,即用位(bit)标识一个簇是否被分配,则存放该位图所需簇的个数为( )。 + + A. 80 + + B. 320 + + C. 80K + + D. 320K + +
+ 答案: + + A + +
+ + *** + +10. 假设一个“按需调页”虚拟存储空间,页表由寄存器保存。在存在空闲页帧的条件下,处理一次缺页的时间是 $8\ \text{ms}$。如果没有空闲页面,但待换出页面并未更改,处理一次缺页的时间也是 $8\ \text{ms}$。若待换出页面已被更改,则需要 $20\ \text{ms}$。访问一次内存的时间是 $100\ \text{ns}$。假设 70% 的待换出页面已被更改,请问缺页率不超过( )才能保证有效访问时间小于或等于 $200\ \text{ns}$? + + A. $0.6\times 10^{-4}$ + + B. $1.2\times 10^{-4}$ + + C. $0.6\times 10^{-5}$ + + D. $1.2\times 10^{-5}$ + +
+ 答案: + + C。题目并没有明确当缺页中断时内存中是否有空闲页帧,所以假设内存总是忙的。设缺页率为 $P$。 + +
+ + *** + +11. 设有 8 页的逻辑空间,每页有 $1024\ \text{B}$,它们被映射到 32 块的物理存储区中。那么,逻辑地址的有效位是( )位,物理地址至少是( )位。 + + A. 10,11 + + B. 12,14 + + C. 13,15 + + D. 14,16 + +
+ 答案: + + C + +
+ + *** + +12. 下列存储管理方式中,会产生内部碎片的是( )。 + + I. 请求分段存储管理 + + II. 请求分页存储管理 + + III. 段页式分区管理 + + IV. 固定式分区管理 + + A. I、II、III + + B. III,IV + + C. 只有 II + + D. II、III、IV + +
+ 答案: + + D + +
+ +*** + +### 二、填空题 + +13. MS-DOS 启动的方式有两种:$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 冷启动、热启动 + +
+ + *** + +14. 为了防止各种系统故障破坏文件,文件系统可以采用 $\underline{\qquad}$ 和 $\underline{\qquad}$ 两种方法在保护文件。 + +
+ 答案: + + 建立副本、定时转储 + +
+ + *** + +15. UNIX 系统规定用户使用文件的权限是读、$\underline{\qquad}$ 和 $\underline{\qquad}$ 三种。 + +
+ 答案: + + 写、执行 + +
+ + *** + +16. 操作系统中,进程调度通常有先来先服务、$\underline{\qquad}$、$\underline{\qquad}$ 和分级调度算法等调度算法。 + +
+ 答案: + + 优先数调度算法、时间片轮转调度算法 + +
+ + *** + +17. 不可中断的过程称为 $\underline{\qquad}$。 + +
+ 答案: + + 原语 + +
+ + *** + +18. 网络操作系统把计算机网络中的各台计算机有机地联结起来,实现各台计算机之间的 $\underline{\qquad}$ 及网络中各种资源的 $\underline{\qquad}$。 + +
+ 答案: + + 通信、共享 + +
+ + *** + +19. 能使计算机系统接收到 $\underline{\qquad}$ 后及时进行处理,并在严格的规定时间内处理结束,再给出 $\underline{\qquad}$ 的操作系统称为“实时操作系统”。 + +
+ 答案: + + 外部信号、反馈信号 + +
+ + *** + +20. 在批处理兼分时的系统中,往往由分时系统控制的作业称为 $\underline{\qquad}$ 前台作业,而由批处理系统控制的作业称为 $\underline{\qquad}$。 + +
+ 答案: + + 前台作业、后台作业 + +
+ +*** + +### 三、判断题 + +21. 大多数虚拟系统采用 OPT。( ) + +
+ 答案: + + 错 + +
+ + *** + +22. 在页式虚拟存储系统中,页面长度是根据程序长度动态地分配的。( ) + +
+ 答案: + + 错 + +
+ + *** + +23. 由于 P、V 操作描述同步、互斥等问题的能力不足,所以有必要引入其它的通讯原语或机制,如 send,receive 或 Monitor 等。( ) + +
+ 答案: + + 错 + +
+ + *** + +24. 设置中断屏蔽指令可以在目态下执行。( ) + +
+ 答案: + + 错 + +
+ + *** + +25. 文件系统的主要目的是存储系统文档。( ) + +
+ 答案: + + 错 + +
+ + *** + +26. 参与死锁的所有进程都占有资源。( ) + +
+ 答案: + + 错 + +
+ + *** + +27. 进程在运行中,可以自行修改自己的进程控制块。( ) + +
+ 答案: + + 错 + +
+ + *** + +28. 清内存指令只能在管态下执行。( ) + +
+ 答案: + + 对 + +
+ + *** + +29. 如果输入输出所用的时间比处理时间短得多,则缓冲区最有效。( ) + +
+ 答案: + + 错 + +
+ + *** + +30. 由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序。( ) + +
+ 答案: + + 对 + +
+ + *** + +31. 进程控制块中的所有信息必须常驻内存。( ) + +
+ 答案: + + 错 + +
+ + *** + +32. 一旦出现死锁,所有进程都不能运行。( ) + +
+ 答案: + + 错 + +
+ +*** + +### 四、名词解释题 + +33. 并发: + +
+ 答案: + + 是指两个或多个活动在同一给定的时间间隔中进行。 + +
+ + *** + +34. 存储设备: + +
+ 答案: + + 它们是指计算机用来存储信息的设备,如磁盘(硬盘和软盘)、磁带等。 + +
+ + *** + +35. 通道: + +
+ 答案: + + 是独立于 CPU 的、专门负责数据输入输出的处理单元。 + +
+ + *** + +36. 可重定位地址: + +
+ 答案: + + 当含有它的程序被重定位时,将随之被调整的一种地址。 + +
+ + *** + +37. 外部碎片: + +
+ 答案: + + 在所有分区之外新产生的碎片称作外部碎片,如在动态分区法实施过程中出现的越来越多的小空闲块,由于它们太小,无法装入一个小进程,因而被浪费掉。 + +
+ + *** + +38. 交换调度: + +
+ 答案: + + 是基于系统确定的某个策略,将主存中处于等待状态或就绪状态的某个或某些进程交换到外存交换区中,以便将外存交换区上具备运行条件的进程换入主存,准备执行。引入交换调度的目的是为了解决主存紧张和提高主存的利用效率。 + +
+ +*** + +### 五、简答题 + +39. 虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到哪两方面的限制? + +
+ 答案: + + 虚拟存储器的基本特征是:① 虚拟扩充,即不是物理上而是逻辑上扩充了内存容量;② 部分装入,即每个作业不是全部一次性地装入内存,而是只装入一部分;③ 离散分配,即不必占用连续的内存空间,而是“见缝插针”;④ 多次对换,即所需的全部程序和数据要分成多次调入内存。虚拟存储器的容量主要受到指令中表示地址的字长和外存的容量的限制。 + +
+ + *** + +40. 一个具有分时兼批处理功能的操作系统应怎样调度和管理作业? + +
+ 答案: + + 1)优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业; + + 2)允许终端作业和批处理作业混合同时执行; + + 3)把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中; + + 4)有终端作业进程就绪时,优先让其按“时间片轮转”法先运行。没有终端作业时再按确定算法选批处理作业就绪进程运行。 + +
+ + *** + +41. 什么是快表?它在地址转换中起什么作用? + +
+ 答案: + + 快表是一个高速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。加入快表后,在地址转换时,首先在快表中查找,若找到就直接进行地址转换;未找到,则在主存页表继续查找,并把查到的页号和块号放入联想存储器中。快表的命中率很高,有效地提高了地址转换的速度。 + +
+ + *** + +42. 处理机调度分为哪三级?各自的主要任务是什么? + +
+ 答案: + + 作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。 + + 进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用 CPU。 + + 交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区。 + +
+ + *** + +43. 为什么说批处理多道系统能极大地提高计算机系统的工作效率? + +
+ 答案: + + ① 多道作业并行工作,减少了处理器的空闲时间; + + ② 作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源; + + ③ 作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间; + + ④ 作业成批输入,减少了从操作到作业的交接时间。 + +
+ + *** + +44. 从资源管理的角度说明操作系统的主要功能? + +
+ 答案: + + 处理器管理,存储管理,文件管理,作业管理和设备管理。 + +
+ +*** + +### 六、综合题 + +45. 设有一个发送者进程和接收者进程,其流程图如图所示。s 是用于实现进程同步的信号量,mutex 是用于实现进程互斥的信号量。试问流程图中的 A、B、C、D 矩形框中应填写什么?假定缓冲区有无限多个,s 和 mutex 的初值应为多少? + + ![第45题流程图](./images/2021-2022学年下学期期末_A_第45题.png) + +
+ 答案: + + A、B、C、D 矩形框中分别应该填写 P(mutex)、V(mutex),P(s),P(mutex)。s 是一资源信号量,用来表示信息链中信息的个数,故其初值应设置为 0;mutex 是用来实现对信息链互斥访问的互斥信号量,故其初值应设置为 1。 + +
+ + *** + +46. 有一个烟草供应商和 3 个抽烟者。抽烟者若要抽烟,必须具有烟叶、烟纸和火柴。3 个抽烟者中,一个有烟叶、一个有烟纸、一个有火柴。烟草供应商会源源不断地分别供应烟叶、烟纸和火柴,并将它们放在桌上。若他放的是烟纸和火柴,则有烟叶的抽烟者会拾起烟纸和火柴制作香烟,然后抽烟;其他类推。试用信号量同步烟草供应商和 3 个抽烟者。 + +
+ 答案: + + ```text + Semaphore smoker[3]=(0,0,0); + Semaphore material[3]=(0,0,0); + Semaphore agent=1; + Int turn=0; + + Agent() + { + While(true) + { + P(agent); + V(smoker[turn]); + V(material[(turn+1)%3]); + V(material[(turn+2)%3]); + turn=(turn+1)%3; + } + } + + Smoker i() + { + While(true) + { + P(smoker[i]); + P(material[(i+1)%3]); + P(material[(i+2)%3]); + V(agent); + Smoke; + } + } + ``` + +
+ + *** + +47. 假设一台计算机有 $32\ \text{MB}$ 内存,操作系统占用 $2\ \text{MB}$,每个用户进程占用 $10\ \text{MB}$。用户进程等待 I/O 的时间为 80%,问 CPU 的利用率为多少?若再增加 $32\ \text{MB}$ 内存,则 CPU 的利用率又为多少? + +
+ 答案: + + 只有当所有进程都在等待 I/O 时,CPU 才会空闲下来。因此需要算出所有进程都在等待 I/O 这种情况发生的概率。本题给出的条件为“用户进程等待 I/O 的时间为 80%”,也就是说进程等待 I/O 的概率为 80%,那么 $n$ 个进程都同时等待 I/O 的概率就为 $(80\%)^n$,则 CPU 的利用率 $u$ 可表示为: + + $u=1-(80\%)^n=1-(0.8)^n$ + + 在内存为 $32\ \text{MB}$ 时,可容纳 $(32-2)/10=3$ 个用户进程,CPU 利用率为: + + $u=1-(0.8)^3=48.8\%$ + + 在内存再增加 $32\ \text{MB}$ 时,可容纳 $(32+32-2)/10=6$ 个用户进程,CPU 利用率为: + + $u=1-(0.8)^6=73.8\%$ + +
diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.md" new file mode 100644 index 0000000..9d8e445 --- /dev/null +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.md" @@ -0,0 +1,10 @@ +--- +title: 操作系统 +course_code: DATA3106 +--- + +## 2021-2022学年下学期 + +### 试卷 + +- [2021-2022学年下学期期末试卷](./2021-2022学年下学期期末) diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\254\25445\351\242\230.png" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\254\25445\351\242\230.png" new file mode 100644 index 0000000..4efe008 Binary files /dev/null and "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\254\25445\351\242\230.png" differ diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211.md" deleted file mode 100644 index c85c503..0000000 --- "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211.md" +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 线性代数(计算机拔尖基地) ---- - -> 2023Fall 与 2024Fall 的《线性代数(计算机拔尖基地)》由btm老师授课. -> -> 而众所周知btm老师也在软件工程学院教授《线性代数》. -> -> 因此可以同时参考[软件工程学院-线性代数](../软件工程学院/线性代数/)的真题卷. - -## 真题卷 - -[2023-2024学年上学期_期中_A_部分](https://drive.vanillaaaa.org/SharedCourses/数据科学与工程学院/线性代数(计算机拔尖基地)/2023-2024学年上学期_期中_A_部分.jpg) diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..983e29e --- /dev/null +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,150 @@ +## 2023-2024学年上学期期中试卷(A) + +### 一、(15 分) + +计算行列式 + +a) + +$$ +D= +\begin{vmatrix} +a & b & c & d \\ +a & a+b & a+b+c & a+b+c+d \\ +a & 2a+b & 3a+2b+c & 4a+3b+2c+d \\ +a & 3a+b & 6a+3b+c & 10a+6b+3c+d +\end{vmatrix} +$$ + +b) + +$$ +\begin{vmatrix} +x_1-a_1 & x_2 & x_3 & \cdots & x_n \\ +x_1 & x_2-a_2 & x_3 & \cdots & x_n \\ +x_1 & x_2 & x_3-a_3 & \cdots & x_n \\ +\cdots & \cdots & \cdots & \cdots & \cdots \\ +x_1 & x_2 & x_3 & \cdots & x_n-a_n +\end{vmatrix} +$$ + +*** + +### 二、(15 分) + +已知 + +$$ +A= +\begin{pmatrix} +1 & 2 & \cdots & n \\ +2 & 3 & \cdots & n+1 +\end{pmatrix},\quad n\ge 2, +$$ + +求 $\det(AA^T)$ 与 $\det(A^TA)$。 + +*** + +### 三、(10 分) + +已知 $a^2\ne b^2$,证明方程组 + +$$ +\left\{ +\begin{aligned} +ax_1 + bx_{2n} &= 1,\\ +ax_2 + bx_{2n-1} &= 1,\\ +&\cdots\\ +ax_n + bx_{n+1} &= 1,\\ +bx_n + ax_{n+1} &= 1,\\ +&\cdots\\ +bx_2 + ax_{2n-1} &= 1,\\ +bx_1 + ax_{2n} &= 1 +\end{aligned} +\right. +$$ + +有唯一解,并求解。 + +*** + +### 四、(10 分) + +问 $\lambda,\mu$ 取何值时,齐次线性方程组 + +$$ +\begin{cases} +\lambda x_1+x_2+x_3=0,\\ +x_1+\mu x_2+x_3=0,\\ +x_1+2\mu x_2+x_3=0 +\end{cases} +$$ + +有非零解? + +*** + +### 五、(15 分) + +设 $n$ 阶方阵 + +$$ +A= +\begin{pmatrix} +2a & 1 & 0 & \cdots & 0 \\ +a^2 & 2a & 1 & \cdots & 0 \\ +0 & a^2 & 2a & \cdots & 0 \\ +\vdots & \vdots & \vdots & \ddots & 1 \\ +0 & 0 & 0 & a^2 & 2a +\end{pmatrix}. +$$ + +a) 求 $\det(A)$; + +b) 若方程组 $Ax=b$ 有唯一解,$a$ 应该如何取值,其中 + +$$ +b=(1,0,\cdots,0)^T; +$$ + +c) 求方程组的解。 + +*** + +### 六、(10 分) + +设 $\alpha=(-1,0,1)^T$,矩阵 $A=3I-\alpha\alpha^T$。 + +a) 求矩阵 $A$; + +b) $A$ 是否可逆?若可逆,求 $A^{-1}$。 + +*** + +### 七、(15 分) + +设 $n$ 阶方阵 $A,B$ 满足 $A+B=AB$。 + +a) 证明:$A-I$ 可逆。 + +b) 证明:$AB=BA$。 + +c) 若 + +$$ +B= +\begin{pmatrix} +1 & 2 & 0 \\ +3 & 4 & 0 \\ +0 & 0 & 5 +\end{pmatrix}, +$$ + +求 $A$。 + +*** + +### 八、(10 分) + +设 $n$ 阶方阵 $A,B$ 和 $A+B$ 均可逆,证明:$A^{-1}+B^{-1}$ 也可逆,并求并求其逆矩阵。 diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/README.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/README.md" new file mode 100644 index 0000000..7747f9f --- /dev/null +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260\357\274\210\350\256\241\347\256\227\346\234\272\346\213\224\345\260\226\345\237\272\345\234\260\357\274\211/README.md" @@ -0,0 +1,16 @@ +--- +title: 线性代数(计算机拔尖基地) +course_code: DATA1602 +--- + +> 2023Fall 与 2024Fall 的《线性代数(计算机拔尖基地)》由btm老师授课. +> +> 而众所周知btm老师也在软件工程学院教授《线性代数》. +> +> 因此可以同时参考[软件工程学院-线性代数](../../软件工程学院/线性代数/)的真题卷. + +## 2023-2024学年上学期 + +### 试卷 + +- [2023-2024学年上学期期中试卷](./2023-2024学年上学期期中) diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\211\215\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211\347\254\224\350\257\225.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237.md" similarity index 98% rename from "docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\211\215\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211\347\254\224\350\257\225.md" rename to "docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237.md" index 719caeb..1b47730 100644 --- "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\211\215\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211\347\254\224\350\257\225.md" +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237.md" @@ -1,8 +1,10 @@ --- -title: 2025-2026学年上学期前计算机科学拔尖基地遴选笔试 +title: 2025-2026学年上学期 --- -## 一、选择题 +## 2025-2026学年上学期笔试 + +### 一、选择题 :::info 选择题共10道 未展示部分是高考数学排列组合的内容,并且难度低于全国卷高考 @@ -95,7 +97,7 @@ title: 2025-2026学年上学期前计算机科学拔尖基地遴选笔试 -## 二、填空题 +### 二、填空题 1. 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次最多搬50根香蕉(多了就被压死),每走1米就要吃掉一根。 问:它最多能把多少根香蕉搬到家里? @@ -185,7 +187,7 @@ title: 2025-2026学年上学期前计算机科学拔尖基地遴选笔试 -## 三、简答题 +### 三、简答题 1. 有一枚不均匀的硬币,掷出正面朝上的概率为 70%,反面为 30%。如何高效地构造一个概率为 50% 的公平事件? diff --git "a/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/README.md" "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/README.md" new file mode 100644 index 0000000..bb74a74 --- /dev/null +++ "b/docs/undergraduate/\346\225\260\346\215\256\347\247\221\345\255\246\344\270\216\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\247\221\345\255\246\346\213\224\345\260\226\345\237\272\345\234\260\351\201\264\351\200\211/README.md" @@ -0,0 +1,9 @@ +--- +title: 计算机科学拔尖基地遴选 +--- + +## 2025-2026学年上学期 + +### 试卷 + +[2025-2026学年上学期笔试](./2025-2026学年上学期) \ No newline at end of file diff --git "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\345\244\247\345\255\246\347\211\251\347\220\206C/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\345\244\247\345\255\246\347\211\251\347\220\206C/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 2d64e3a..10d6c38 100644 --- "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\345\244\247\345\255\246\347\211\251\347\220\206C/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\345\244\247\345\255\246\347\211\251\347\220\206C/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -8,6 +8,7 @@ title: 2024-2025学年下学期期末 - 此卷也用于大物C免听考试,详见[物理与电子科学学院物理学系免听不免考试行方案](https://phy.ecnu.edu.cn/_upload/article/files/87/8e/6616f5924ffa8b4ae426d4858a5d/d5a0a0c4-65d9-4e8c-aa46-5b993b13fc32.pdf)。 - 通常来说,期末考试A卷不会有简答题,但是B卷出现了简答题... +- 试卷内容几乎不全并且大部分没有数据,仅供参考。 ### 一、选择题(每小题 3 分,共 24 分) diff --git "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\203\255\345\255\246/README.md" "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\203\255\345\255\246/README.md" index 9817470..35bcebd 100644 --- "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\203\255\345\255\246/README.md" +++ "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\203\255\345\255\246/README.md" @@ -3,4 +3,6 @@ title: 热学 course_code: PHYS1503 --- -- [部分 ppt](https://github.com/BetterECNU/SharedResources/tree/main/PHYS/PHYS1503/Slides) +## 推荐教材与参考资料 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/PHYS/PHYS1503/推荐教材与参考资料/Slides) diff --git "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\224\265\347\243\201\345\255\246/README.md" "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\224\265\347\243\201\345\255\246/README.md" index c1e314e..75a38d3 100644 --- "a/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\224\265\347\243\201\345\255\246/README.md" +++ "b/docs/undergraduate/\347\211\251\347\220\206\345\255\246\347\263\273/\347\224\265\347\243\201\345\255\246/README.md" @@ -3,4 +3,6 @@ title: 电磁学 course_code: PHYS1502 --- -- [部分 ppt](https://github.com/BetterECNU/SharedResources/tree/main/PHYS/PHYS1502/Slides) +## 推荐教材与参考资料 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/PHYS/PHYS1502/推荐教材与参考资料/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 639834b..ff133e9 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,12 +2,14 @@ title: 2024-2025学年下学期期末 --- -:::tip -1956年达特茅斯会议之前的数学史没有考察。概念知识是考试的核心,需要重点掌握。发展史的内容仅在简答题中涉及,相对次要。 -::: - ## 2024-2025学年下学期期末试卷(A) +### 说明 + +- 1956年达特茅斯会议之前的数学史没有考察。 +- 概念知识是考试的核心,需要重点掌握。 +- 发展史的内容仅在简答题中涉及,相对次要。 + ### 一、单选题(共 10 小题,每小题 2 分,共 20 分) :::tip diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/README.md" index 451d05c..e9ede0e 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\344\272\272\345\267\245\346\231\272\350\203\275\347\232\204\346\225\260\345\255\246\346\200\235\347\273\264/README.md" @@ -4,19 +4,24 @@ course_code: SE1212 --- ## 2022-2023学年下学期 -考核方式为期末调研小论文, 我组内容是奇异值分解 +- 考核方式为期末调研小论文, 我组内容是奇异值分解 ## 2024-2025学年下学期 -### 成绩构成 +### 吴敏 -- **平时成绩**: 40% -- **期末成绩**: 60% +#### 教学资源 -### 试卷 +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1212/2024-2025学年下学期/吴敏/Slides) -- [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) +### 吴连涛 + +- 推荐!不点名,几次小作业(可惜貌似只有这个学期开课一次) #### 教学资源 -- [2024-2025学年下学期PPT](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/人工智能的数学思维/PPT) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1212/2024-2025学年下学期/吴连涛/Slides) + +### 试卷 + +- [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index e0d4d48..8daf5cf 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -1,23 +1,24 @@ --- title: 2024-2025学年下学期期末 --- -## 2025春季学期区块链基础期末考试试卷(回忆版) +## 2024-2025学年下学期期末试卷 ### 选择题 -选择题大多较简单, 只有一个比较神秘: - -智能合约的提出者是谁: +:::tip +选择题大多较简单, 只有一个比较神秘 +我只记得B选项是中本聪, ACD是什么没有印象 +::: -A. +1. 智能合约的提出者是谁: -B.Nakamoto Satoshi + A. -C. + B.Nakamoto Satoshi -D. + C. -我只记得B选项是中本聪, ACD是什么没有印象 + D. ### 填空题 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/README.md" index aa6554f..cdbfb88 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\214\272\345\235\227\351\223\276\345\237\272\347\241\200/README.md" @@ -5,11 +5,13 @@ course_code: SE3324 ## 2024-2025学年下学期 +### 试卷 + +- [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) + ### 鲍海勇 -#### 教学资料 +#### 教学资源 -- [南京大学慕课](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/区块链基础/2024-2025学年下学期/课件/南京大学慕课) -- [蚂蚁区块链](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/区块链基础/2024-2025学年下学期/课件/蚂蚁区块链) -- [作业](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/区块链基础/2024-2025学年下学期/作业) -- [2024-2025学年下学期期末](./2024-2025学年下学期期末) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3324/2024-2025学年下学期/鲍海勇/Slides) +- [Homework](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3324/2024-2025学年下学期/鲍海勇/Homework) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2019-2020\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2019-2020\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..0f83ce6 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2019-2020\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,103 @@ +--- +title: 2019-2020学年下学期期末 +--- + +## 2019-2020学年下学期期末试卷(A) + +### 一、不定项选择题(选择一个或多个正确选项,20 分,每题 4 分) + +1. 对并行程序描述正确的是( )。 + + A. 减少所有系统开销 + + B. 要求资源共享 + + C. 提高系统运行速度和处理能力 + + D. 电源管理能力更强 + + *** + +2. 以下属于读后写的数据依赖关系的是( )。 + + A. $a=2$;$b=20$ + + B. $a=b+1$;$a=4$ + + C. $b=a$;$b=2$ + + D. $a=b+1$;$b=4$ + + *** + +3. 对于共享内存系统描述不正确的是( )。 + + A. 处理器拥有自己独特的地址空间 + + B. 处理器间以隐式的通信完成数据共享 + + C. 线程间的协调通过共享变量的锁和屏障实现 + + D. 每个处理器可以访问每个内存空间 + + *** + +4. 在 OpenMP 中,下列哪些是共享的( )。 + + A. shared variables + + B. loop index + + C. static variables + + D. private variables + + *** + +5. 以下关于消息传递的描述中,正确的是( )。 + + A. 消息传递是共享内存并行编程的主要替代方案 + + B. 消息传递没有数据竞争 + + C. 消息传递是不可移植的 + + D. 对消息传递库的调用在单处理器上运行 + +*** + +### 二、简答题(30 分,每小题 10 分) + +1. 请简述什么是死锁? + + *** + +2. 请简述 cache 映射的三种方式的原理。 + + *** + +3. 请简述指令级并行的流水线和多发射机制,及其两种多发射方法。 + +*** + +### 三、分析题(30 分,每小题 15 分) + +1. 某个程序需要运行 $10^{12}$ 条指令来解决一个特定问题,一个单处理器系统可以在 $10^6$ 秒(大约 11.6 天)内完成。所以,一个单处理器系统平均每秒运行 $10^6$ 条指令。现在假设程序已经实现并行化,可以在分布式内存系统上运行。该并行程序使用 $p$ 个处理器。每个处理器执行 $10^{12}/p$ 条指令并必须发送 $10^9(p-1)$ 条消息。执行该程序时,不会有额外的开销,即每个处理器执行完所有的指令并发送完所有的消息之后,程序就完成了,而不会有由诸如等待消息等事件所产生的延迟。那么, + + 1. 假设发送一条消息需要耗费 $10^{-9}$ 秒。如果程序使用 1000 个处理器,每个处理器的速度和单个处理器运行串行程序的速度一样,那么该程序的运行需要多少时间? + + 2. 假设发送一条消息需要耗费 $10^{-3}$ 秒。如果程序使用 1000 个处理器,那么该程序的运行需要多少时间? + + *** + +2. 假定 `comm_sz=8`,`n=16`。 + + 1. 画一张图来说明进程 0 要分发 $n$ 个元素的数组,怎样使用拥有 `comm_sz` 个进程的树形结构的通信来实现 MPI_Scatter。 + + 2. 画一张图来说明原先分布在 `comm_sz` 个进程间的 $n$ 个数组元素由进程 0 保存,怎样使用树形结构的通信来实现 MPI_Gather。 + +*** + +### 四、程序题(20 分) + +1. 使用 OpenMP 实现生产者-消费者程序,其中一些线程是生产者,另外一些线程是消费者。它们将读出的文本行插入到一个共享的队列中。消费者从队列中取出文本行,并对文本行进行分词。符号是被空白符分开的单词,当消费者发现一个单词后,它将该单词输出到 stdout。(要求:输出的单词需要给出是哪个线程输出的) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 7f321b2..cd5e3a4 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,11 +2,11 @@ title: 2024-2025学年下学期期末 --- -## 2025春季学期并行程序设计期末考试试卷(回忆版) +## 2024-2025学年下学期期末试卷 -### 选择题 +### 说明 -选择题都较简单, 不做记录. +- 选择题都较简单, 不做记录。 ### 填空题 @@ -40,4 +40,6 @@ title: 2024-2025学年下学期期末 (其中loc_arr[]为每个进程拥有的局部数组, loc_n 为局部数组的大小, comm 为通讯器, global_avg 储存最终结果) - (注:本题下方提供了会用到的 MPI 函数定义以供查阅, 不需要特意背诵接口. 不过奇怪的是考试中唯独没有提供 MPI_Allreduce 的定义, 比较诡异) + :::tip + 本题下方提供了会用到的 MPI 函数定义以供查阅, 不需要特意背诵接口. 不过奇怪的是考试中唯独没有提供 MPI_Allreduce 的定义, 比较诡异 + ::: diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/README.md" index 3f0e814..6fd35cd 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/README.md" @@ -3,6 +3,12 @@ title: 并行程序设计 course_code: SE2425 --- +## 2019-2020学年下学期 + +### 试卷 + +- [2019-2020学年下学期期末试卷](./2019-2020学年下学期期末) + ## 2024-2025学年下学期 ### 试卷 @@ -13,17 +19,10 @@ course_code: SE2425 #### 教学资源 -- [2024-2025学年下学期课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/并行程序设计/2024-2025学年下学期/课件) -- [2024-2025学年下学期作业](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/并行程序设计/2024-2025学年下学期/作业) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2425/2024-2025学年下学期/谷守珍/Slides) +- [Homework](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2425/2024-2025学年下学期/谷守珍/Homework) ## 推荐教材与参考资料 -- [并行程序设计导论](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%AF%BC%E8%AE%BA.pdf?sign=v1EtFro7aKJbuG-4kyKAiV3dQf6kRNag6o1QPUNm2to=:0) - -## 古早资料(不建议使用) - -- [2008并行程序设计期末考试卷(missing-answer)](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%8F%A4%E6%97%A9%E8%B5%84%E6%96%99/2008%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%9C%9F%E6%9C%AB%E8%80%83%E8%AF%95%E5%8D%B7(missing-answer).pdf?sign=atGUDTJcLpJUcYobwRLrjWYCbgFwcGjcYAukksi6l5w=:0) -- [2011并行程序设计期末考试卷 - 参考答案](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%8F%A4%E6%97%A9%E8%B5%84%E6%96%99/2011%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%9C%9F%E6%9C%AB%E8%80%83%E8%AF%95%E5%8D%B7%20-%20%E5%8F%82%E8%80%83%E7%AD%94%E6%A1%88.pdf?sign=hgEFhYizXwUmhGWORgCfgGOIVV4MNUL8S3unBwIPt-Q=:0) -- [参考解答-2009-2010第一学期并行程序设计期末考试卷](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%8F%A4%E6%97%A9%E8%B5%84%E6%96%99/%E5%8F%82%E8%80%83%E8%A7%A3%E7%AD%94%EF%BC%8D2009%EF%BC%8D2010%E7%AC%AC%E4%B8%80%E5%AD%A6%E6%9C%9F%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%9C%9F%E6%9C%AB%E8%80%83%E8%AF%95%E5%8D%B7.pdf?sign=ijnoA1gusQshYklKwB-dP2EnkW1VKyK59rfeykbSuLw=:0) -- [参考解答-2010并行程序设计期末考试卷](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%8F%A4%E6%97%A9%E8%B5%84%E6%96%99/%E5%8F%82%E8%80%83%E8%A7%A3%E7%AD%94%EF%BC%8D2010%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%9C%9F%E6%9C%AB%E8%80%83%E8%AF%95%E5%8D%B7.pdf?sign=JGuoMMfPVqe6PMA4wACP4gJMJmWuF2jRXHv_PYo7evY=:0) -- [并行计算往年试题和划重点](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E5%B9%B6%E8%A1%8C%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/%E5%8F%A4%E6%97%A9%E8%B5%84%E6%96%99/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97%E5%BE%80%E5%B9%B4%E8%AF%95%E9%A2%98%E5%92%8C%E5%88%92%E9%87%8D%E7%82%B9.pdf?sign=eXhs12EbTxfjEHhV9gWZl3mWU7U51ltvtg3jh-9gVhk=:0) +- [并行程序设计导论](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE2425/推荐教材与参考资料/并行程序设计导论.pdf) +- [古早资料(不建议使用)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2425/推荐教材与参考资料/古早资料(不建议使用)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/\346\234\237\346\234\253\350\257\225\345\215\267/2019-2020\345\255\246\345\271\264\347\254\254\344\272\214\345\255\246\346\234\237\346\234\237\346\234\253\350\257\225\345\215\267.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/\346\234\237\346\234\253\350\257\225\345\215\267/2019-2020\345\255\246\345\271\264\347\254\254\344\272\214\345\255\246\346\234\237\346\234\237\346\234\253\350\257\225\345\215\267.jpg" deleted file mode 100644 index ea0ab4b..0000000 Binary files "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\271\266\350\241\214\347\250\213\345\272\217\350\256\276\350\256\241/\346\234\237\346\234\253\350\257\225\345\215\267/2019-2020\345\255\246\345\271\264\347\254\254\344\272\214\345\255\246\346\234\237\346\234\237\346\234\253\350\257\225\345\215\267.jpg" and /dev/null differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 67c1efa..95fa390 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -1,7 +1,9 @@ --- -title: 2023-2024学年下学期期末试卷 +title: 2023-2024学年下学期期末 --- +## 2023-2024学年下学期期末试卷 + ### 一、问答题 1. 有限状态自动机有哪些分类?它们之间有什么联系与区别? diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/README.md" index 21b4630..fbbdcbd 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\345\275\242\345\274\217\345\214\226\350\257\255\350\250\200\344\270\216\350\207\252\345\212\250\346\234\272\347\220\206\350\256\272/README.md" @@ -5,9 +5,13 @@ course_code: SE2424 ## 2023-2024学年下学期 -- [期末试题](./2023-2024学年下学期期末) +### 试卷 + +- [2023-2024学年下学期期末试卷](./2023-2024学年下学期期末) ### 李钦 -- [作业](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/形式语言与自动机理论/2023-2024学年下学期/作业) -- [课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/形式语言与自动机理论/2023-2024学年下学期/课件) +#### 教学资源 + +- [Homework](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2424/2023-2024学年下学期/李钦/Homework) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2424/2023-2024学年下学期/李钦/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..bbd6a4c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,397 @@ +--- +title: 2007-2008学年下学期期中 +--- + +## 2007-2008学年下学期期中试卷(含答案) + +### 说明 + +- 原卷标题:2008年度操作系统期中考试试题 + +### 一、(20分) + +在按需调页(demand paging)中,给定页面引用串(reference string):3, 2, 1, 0, 3, 2, 4, 3, 2, 1, 0, 4, 2, 3, 2, 1, 0, 4。 + +a)给定2个页框(frame),采用FIFO页面替换策略,请写出页框内页面变化过程,并计算缺页率(page fault)。(4分) + +
+答案: + +| 页面引用 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | 2 | 3 | 2 | 1 | 0 | 4 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 页框1 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | 2 | 3 | 3 | 1 | 0 | 4 | +| 页框2 | NULL | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | 2 | 2 | 3 | 1 | 0 | +| 结果 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 命中 | 错误 | 错误 | 错误 | +| 调入 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | 2 | 3 | | 1 | 0 | 4 | +| 调出 | | | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | | 2 | 3 | 1 | + +缺页错误有17个。 + +命中有1个。 + +缺页率为17/18。 + +
+ +*** + +b)给定3个页框(frame),采用FIFO页面替换策略,请写出页框内页面变化过程,并计算缺页率(page fault)。(4分) + +
+答案: + +| 页面引用 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 3 | 2 | 1 | 0 | 4 | 2 | 3 | 2 | 1 | 0 | 4 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 页框1 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | 4 | 4 | 1 | 0 | 0 | 2 | 3 | 3 | 1 | 0 | 4 | +| 页框2 | NULL | 3 | 2 | 1 | 0 | 3 | 2 | 2 | 2 | 4 | 1 | 1 | 0 | 2 | 2 | 3 | 1 | 0 | +| 页框3 | NULL | NULL | 3 | 2 | 1 | 0 | 3 | 3 | 3 | 2 | 4 | 4 | 1 | 0 | 0 | 2 | 3 | 1 | +| 结果 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 错误 | 命中 | 命中 | 错误 | 错误 | 命中 | 错误 | 错误 | 命中 | 错误 | 错误 | 错误 | +| 调入 | 3 | 2 | 1 | 0 | 3 | 2 | 4 | | | 1 | 0 | | 2 | 3 | | 1 | 0 | 4 | +| 调出 | | | | 3 | 2 | 1 | 0 | | | 3 | 2 | | 4 | 1 | | 0 | 2 | 3 | + +缺页错误有14个。 + +命中有4个。 + +缺页率为14/18=7/9。 + +
+ +*** + +c)简述什么是Belady异常(Belady's Anomaly)。(3分) + +
+答案: + +belady异常指的是随着可分配的页数的增加,页错误率反而增加的现象 + +
+ +*** + +d)简述什么是最近最少使用策略(LRU)。(3分) + +
+答案: + +least recently used 指的是在帧满时,将最近最久未使用的的页替换掉 + +
+ +*** + +e)试证明,采用LRU策略时,在相同的时刻,页框数目多时,页框内页面集合一定包含了页框数目少时的所有页面,故而不会出现Belady异常(提示:可对时间运用数学归纳法)。(6分) + +
+答案: + +假设该LRU算法由CPU的计数器来实现,即每次内存引用,cpu计数器加1,并将该值赋给该页。 + +1)显然当页框数为n时,若页数小于n,则页框内包含所有页,此时当页框数为n+1时,同理也框内也包含所有页。 + +2)若页数大于n时,n个页框内包含的页为最近刚使用过的n个页,即与页相关联的计数器最大的n个,当页框数为n+1,n+1个页框内包含的是最近刚使用过的n+1个页,即与页相关联的计数器最大的n+1个,因为无论页框数是n还是n+1,cpu引用页的顺序是不变的,所以同一时刻最大的n+1个页必包含最大的n个页。因此n个页框数可以命中的,n+1个页框数也一定命中,n个页框数不能命中的,n+1个页框数也有可能命中,所以不会出现belady异常。 + +
+ +*** + +### 二、(20分) + +给定如下的资源请求、分配图(包含5个进程P1-P5,3类资源R1-R3),假定五个进程已提出对所有资源的请求: + +![资源分配图](./images/2007-2008学年下学期期中_第2题_资源分配图.png) + +a)请写出可用资源向量(available vector)、资源分配矩阵(allocation matrix)、最大资源需求矩阵(max matrix)。(3分) + +
+答案: + +available vector:available[1]=1, available[2]=0, available[3]=1 + +:::tip +此处原答案文字写为 `available[3]=1`,但同一答案表格中的 AVAILABLE 为 `1 0 0`,两处不一致;此处均按原答案保留。 +::: + +| | ALLOCATION R1 | ALLOCATION R2 | ALLOCATION R3 | MAX R1 | MAX R2 | MAX R3 | AVAILABLE R1 | AVAILABLE R2 | AVAILABLE R3 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| P1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | +| P2 | 0 | 0 | 0 | 0 | 1 | 0 | | | | +| P3 | 0 | 0 | 1 | 0 | 2 | 1 | | | | +| P4 | 1 | 0 | 0 | 1 | 1 | 0 | | | | +| P5 | 0 | 1 | 0 | 0 | 1 | 1 | | | | + +
+ +*** + +b)请判断当前是否处于安全状态(safe state),请写出判断的依据(过程)?(6分) + +
+答案: + +| | NEED R1 | NEED R2 | NEED R3 | AVAILABLE R1 | AVAILABLE R2 | AVAILABLE R3 | +| --- | --- | --- | --- | --- | --- | --- | +| P1 | 1 | 0 | 0 | 1 | 0 | 0 | +| P2 | 0 | 1 | 0 | | | | +| P3 | 0 | 2 | 0 | | | | +| P4 | 0 | 1 | 0 | | | | +| P5 | 0 | 0 | 1 | | | | + +处于不安全状态,因为假设存在顺序因为AVAILABLE为1 0 0,所以PI1只能等度P1,P1执行后AVAILABLE= (2 0 0) 此时不能再进行,不安全。 + +
+ +*** + +c)试论述说明,判断安全状态时,尝试资源分配的次序不影响最终结果。(5分) + +
+答案: + +判断安全状态时,系统遍历所有可能的次序,PI1,PI2,PI3,…PIN,当找到一个顺序满足安全状态时,则说明现状满足安全状态而我们的目的只是判断现状是否满足安全状态,只有当遍历完所有的顺序后仍不满足,才能说明该现状不是安全状态,因此尝试资源分配的次序不影响最终的结果。 + +若现状不是安全状态,则无论哪种顺序都要遍历完所有的顺序。 + +若现状是安全状态,则无论哪种次序都将在遍历所有中最后一个之前(包括最后一个)判断出该状态时安全状态 + +
+ +*** + +d)如果进程P1-P5按优先级从高到低排序,且高优先级进程能够剥夺(preempt)低优先级已分配到的资源,当前是否存在死锁?(2分) + +
+答案: + +不存在死锁。 + +因为存在优先级,而每个进程所需要的每个资源的实例小于该资源拥有的实例,所以不会出现死锁 + +
+ +*** + +e)处于不安全状态是否一定出现死锁?如果一定出现死锁请证明之,否则请描述两种不安全但不出现死锁的情况。(4分) + +
+答案: + +处于不安全状态不一定出现死锁,但处于安全状态一定不会出现死锁。 + +1. 对系统进行安全性检测的时候是根据进程的最大资源需求进程的,而时间运行过程中进程可能不需要那么多的资源,所以哪怕系统进入了不安全状态也不一定会导致死锁。 + +2. 系统中的各个进程并不一定都要执行完毕的,有些会在执行到一半的时候被注销掉,收回其占有的所有资源。(原因有很多,可能是父进程销毁它,也可能是它执行的时候发生异常、错误等,如除0操作)。所有也可能导致本处于不安全状态的几个进程最终没有死锁地执行完毕。 + +
+ +*** + +### 三、(20分) + +给定双向单车道桥要求(同时满足): + +任意时刻只有一个方向的车辆能够在桥上通行,另一个方向的车辆必须在桥下等待; + +任意时刻桥上只能有2辆车在桥上通行,其它车辆必须在桥下等待; + +等待另一方向车辆下桥的车辆不能无限制等待。 + +请使用信号量(semaphore)实现该问题: + +a)请说明使用几个信号量,其初始值,以及其含义。(4分) + +
+答案: + +分为2组,L(车从左到右),R(车从右到左),互斥,用信号量mutex表示,初始值为1 + +在L的情况下,用信号量mutexL表示一次最多2辆车,初始值为2 + +在R的情况下,用信号量mutexR表示一次最多2辆车,初始值为2 + +在L的情况下,用 2-MutexLL表示在获取桥后已经通过的车的数量, 初始值为2 + +在R的情况下,用 2-MutexRR表示在获取桥后已经通过的车的数量, 初始值为2 + +
+ +*** + +b)请写出控制左向右车辆的程序代码和控制右向左车辆的程序代码。(12分) + +
+答案: + +左向右: + +```c +If(mutex<=0&&mutexL<2) +{ + Wait(mutexL) + PASS + Wait(mutexLL) + Signal(mutexL) + If(mutexL==2) + Signal(mutex) + If(mutexLL==0) + { + Signal(mutexLL) + Signal(mutexLL) + Signal(mutex) + } +} +Else +{ + wait(mutex) + wait(mutexL) + pass + wait(mutexLL) + if(mutexL==2) + signal(mutex) + if(mutexLL==0) + { + Signal(mutexLL) + Signal(mutexLL) + Signal(mutex) + } +} +``` + +右向左: + +```c +if(mutex<=0&&mutexL<2)//已有同向车在桥上,可行 +{ + wait(mutexR) + Passs + Wait(mutexRR) + Signal(mutexR) + If (mutexR==2) + Signal(mutex) + If(mutexRR==0) + { + Signal(mutexRR) + Signal(mutexRR) + Signal(mutex) + } +} +Else +{ + wait(mutex) + Wait(mutexR) + PASS + Wait(mutexRR) + Signal(mutexR) + If(mutexR==2) + Signal(mutex) + If(mutexRR==0) + { + Signal(mutexRR) + Signal(mutexRR) + Signal(mutex) + } +} +``` + +
+ +*** + +c)请说明你的代码不会出现死锁,且满足以上列出的三个条件。(4分) + +
+答案: + +死锁:因为两边对称,故仅以从左到右的代码来分析不会出现死锁。 + +设车A将从左往右行驶 + +若mutex==0,则说明当前桥上有车,若mutexL<2则说明该桥上的车为从左到右行驶的,故车A可以向前行驶,wait(mutexL),当mutexL>0时,通过,signal(mutexL) 结束后若mutexL==2,说明桥上已经没有车了,故执行signal(mutex),使左右的车再一次同时开始竞争桥 + +若mutex=0,mutelR==2,则说明桥上的车为从右向左行驶,此时mutexR必然小于2,步骤类比同上,当mutex=1时,左右开始竞争该桥 + +若mutex=1,说明桥上没车,于是wait(mutex)争得该桥,pass,signal(mutexR),若mutexR==2时,说明桥上没从左向右的车了,于是signal(mutex),左右再次开始竞争 + +而mutexRR和mutexLL的作用为,使一方等待的车最多等待2辆相反方向的车,即若某次竞争被左到右的车竞争到,若做到右的车有100万辆,则经过2个pass,mutexLL变为0,2次signal(mutexRR),一次signal(mutex),使两方又开始竞争了, + +满足三个条件: + +1. Mutex的特性使它满足1,具体见阐释死锁部分 + +2. MutexR,mutexL的特性使它满足2,具体见阐释死锁部分 + +3. MutexRR,mutexLL的性质使它满足3,具体见阐述死锁部分 + +
+ +*** + +### 四、(20分) + +请说明以下进程状态转换图中状态转换的箭头方向(每个1分),并例举中每一种状态转换的一个例子(每个1.5分)。 + +![进程状态转换图](./images/2007-2008学年下学期期中_第4题_进程状态转换图.png) + +
+答案: + +1. New->ready 新进程创建后处于ready状态 + +2. running->ready 正在运行的进程收到I/O中断,回到就绪队列 + +3. ready->running 进程调度算法将就绪队列中的一个进程交给cpu执行 + +4. running->terminated 结束进程 + +5. runnint->waiting 等待I/0,进程进入waiting + +6. waiting->ready I/O完成,进程再次进入就绪队列 + +7. waiting->suspended 内存将满,操作系统内存管理将不常用的进程调入虚拟内存 + +8. suspended->ready 需要执行,但该页不在内存中,从虚拟内存中取出该页,并加入就绪队列 + +
+ +*** + +### 五、(10分) + +请给出进程与线程的定义(4分),并简述在一个多进程、多线程,且支持内核线程(kernel thread)的系统中,进程与线程在地址空间、CPU调度上的的主要联系与区别(6分)。 + +
+答案: + +进程:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。 + +线程:程(thread),有时被称为轻量级进程 (Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆堆栈组成。 + +联系与区别:线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU + +通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。 + +
+ +*** + +### 六、(10分) + +采用如下图的机制实现采用旁路转换缓存(或称为快表,TLB)的逻辑地址到物理地址的翻译。已知TLB的命中率为60%,TLB的平均访问时间为10ns,内存的访问时间为200ns,页表存储在内存中。请计算CPU对内存的有效访问时间(effective access time)(5分)。若要将有效访问时间减少到120ns以下,需要将TLB的命中率提高到多少?(5分) + +![TLB地址转换图](./images/2007-2008学年下学期期中_第6题_TLB地址转换图.png) + +
+答案: + +根据题意内存访问时间为200ns包括访问页表和方位内容,所以单独访问内存时间为100ns + +有效访问时间:$(100+10)\times0.6+200\times0.4=66+80=146\text{ns}$ + +$110\times x+200\times(1-x)=120$ + +$80=90x$ + +$x=8/9=88.9\%$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..b531b91 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,334 @@ +--- +title: 2007-2008学年下学期期末 +--- + +## 2007-2008学年下学期期末试卷(A) + +### 一、(15分)判断题(判断(T表示正确,F表示错误)并说明原因)(3分x5) + +1. 在通写(write-through)策略下,关闭以只读方式打开的文件也需要对磁盘进行写操作。 + + *** + +2. 间谍软件(spyware)必然是病毒。 + + *** + +3. 在 Linux 系统中,对于目录具有 x 权限意味着可以在目录中创建或删除文件。 + + *** + +4. 块设备一定是快速设备,且一定既能支持顺序访问又能支持随机访问。 + + *** + +5. 采用了具有完备的安全机制的操作系统则必然能够保护系统免受攻击的侵害。 + +*** + +### 二、(15分)单项选择题(3分x5) + +1. TCP/IP 分别对应了 ISO OSI 七层模型的哪两层: + + A. 传输层/网络层 + + B. 会话层/网络层 + + C. 数据链路层/物理层 + + D. 会话层/传输层 + + *** + +2. 以下哪种设备常用假脱机方式(spooling)进行 I/O 操作: + + A. 磁带 + + B. 磁盘 + + C. 网络 + + D. 打印机 + + *** + +3. 以下哪一项对于 u 盘的文件系统和 I/O 操作不适用: + + A. 块分配 + + B. 空闲块管理 + + C. 磁盘调度 + + D. 缓存管理 + + *** + +4. 以下哪个操作属于磁盘物理格式化的工作: + + A. 删除所有文件 + + B. 初始化文件系统结构 + + C. 创建一个空的根目录 + + D. 在扇区中填入校验码等信息 + + *** + +5. 以下对于文件控制块,描述错误的是: + + A. 文件控制块一般包含文件的访问控制信息和指向数据块的指针信息 + + B. 一个进程在用户态可对其打开的文件的文件控制块信息进行直接修改,修改后的信息在关闭文件时回写到磁盘上 + + C. 文件名可以不存储在文件控制块内 + + D. inode 是一种文件控制块 + +*** + +### 三、(20分)名词辨析(写出名词的含义,并说明区别)(4分x5) + +1. 进程和线程 + + *** + +2. 段式内存管理和页式内存管理 + + *** + +3. 死锁和饥饿(starvation) + + *** + +4. 网络操作系统和分布式操作系统 + + *** + +5. 微内核和模块化内核 + +*** + +### 四、(20分)问答题 + +1. (9分)请问文件组织和块分配技术中,连续分配、链接分配、索引分配三种方法,哪种最适合随机访问?哪种最不适合随机访问?哪种最适合顺序访问?哪种最不适合顺序访问?对于频繁创建、删除文件的情况,且需要支持随机访问,哪种方法最合适?哪种最不合适?请说明理由。(1.5分x6) + + *** + +2. (6分)请列举分布式系统中,进程协同所碰到的三个困难,并说明这些困难是如何造成集中式进程协同技术无法直接被应用于分布式环境的。(2分x3) + + *** + +3. (5分)请简要说明采用 DMA 进行数据传输的过程。 + +*** + +### 五、(10分)计算题 + +假设磁盘磁头当前在磁道 100,磁道请求队列为:`<55,58,39,18,90,160,150,38,184>`: + +1. 请计算 FIFO(先进先出)策略下的寻道总长度(包括过程)。(4分) + + *** + +2. 请计算 SSTF(最近寻道时间优先)策略下的寻道总长度(包括过程)。(4分) + + *** + +3. 请问:SSTF 是否一定是总寻道长度最短的,为什么?(2分) + +*** + +### 六、(10分) + +假设文件系统只能提供 read 和 write 两个对文件的读写操作: + +```c +int read(FILE* fd, long pos, char* buf, long len); +int write(FILE* fd, long pos, char* buf, long len); +``` + +其中,fd 为文件描述符;pos 为文件指针位置;buf 为读取后数据存放地址;或要写入的数据所在地址;len 为要读或写的数据长度。pos 使用绝对地址(即文件头位置为 0,其它位置的值为其偏移量)。read 的返回值为其读到的实际数据长度,如果 `pos+len+1` 超出了文件的长度(设为 x),则返回值为 `(x-pos)`,且 pos 永远小于等于 `x-1`;write 的返回值为其实际写入数据的长度;pos 和 len 都以 char 为单位。文件指针指向下一个要读或写的位置,指针随着读和写顺序移动。 + +请使用 read 和 write 函数,实现插入函数 insert: + +```c +int insert(FILE* fd, long pos, char* buf, long len); +``` + +其参数含义同上,返回直为实际插入的数据量。insert 的含义是:如果 pos 不是文件末尾,则将 pos 以后所有数据(从 pos+1 开始,到文件尾为止)往后移 len 的长度,并将 buf 的内容填入文件位置 pos+1 到 pos+len 中。 + +例如:fd 对应的原始文件为:``,文件长度为 7,buf 内容为:`<***>`,len 为 3,则 `insert(fd, 3, buf, 3)` 后文件的内容为:``,返回值为 3。 + +1. 请用写出实现 insert 的主要伪代码和注释(假设 fd 已知,read 和 write 不需要进行出错处理)。(7分) + + *** + +2. 请简单描述一下实现的思路。(3分) + +*** + +### 七、(10分) + +1. 请简要描述你在课程 project 2 中对文件控制块的实现方式(包括基本数据结构、目录的实现方式,文件控制块缓存的实现方式)。(7分) + + *** + +2. 请简要描述在课程 project 2 中你在你们小组中承担的任务。(3分) + +*** + +## 2007-2008学年下学期期末试卷(B) + +### 一、(15分)判断题(判断(T表示正确,F表示错误)并说明原因)(3分x5) + +1. 关闭以只读方式打开的文件不需要对数据块进行写操作。 + + *** + +2. 病毒必然是间谍软件(spyware)。 + + *** + +3. 在Linux系统中,对于目录具有x权限意味着可以删除该目录。 + + *** + +4. 磁带是一种字符设备。 + + *** + +5. 确定文件的访问权限是制定安全策略的一部分。 + +*** + +### 二、(15分)单项选择题(3分x5) + +1. HTTP对应了ISO OSI七层模型的哪一层: + + A. 网络层 + + B. 会话层 + + C. 应用层 + + D. 传输层 + + *** + +2. 以下哪种设备常用顺序访问方式进行访问: + + A. 磁带 + + B. 磁盘 + + C. u盘 + + D. 光盘 + + *** + +3. 以下哪一项对于只读光盘的文件系统和I/O操作不适用: + + A. 预读 + + B. 空闲块管理 + + C. 磁(光)盘调度 + + D. 缓存管理 + + *** + +4. 文件系统结构初始化是在哪个操作时进行的: + + A. 删除所有文件 + + B. 物理格式化 + + C. 逻辑格式化 + + D. 磁盘分区 + + *** + +5. 以下对于文件控制块,描述正确的是: + + A. 文件控制块和进程控制块一样,只存在于内存中,在文件关闭时释放 + + B. 文件控制块存放于目录项中 + + C. 文件控制块中不需要存放文件名 + + D. 文件控制块一般不包括文件访问权限信息 + +*** + +### 三、(20分)名词辨析(写出名词的含义,并说明区别)(4分x5) + +1. 死锁检测和死锁避免 + + *** + +2. 最短作业优先调度和最短剩余时间优先调度 + + *** + +3. 动态联编和静态联编 + + *** + +4. 内部碎片和外部碎片 + + *** + +5. 核心态和用户态 + +*** + +### 四、(20分)问答题 + +1. (8分)请简述磁盘空闲块管理的位图和链表技术,并比较它们在空间利用率与空闲块分配时的效率。 + + *** + +2. (6分)请简要论述分布式文件系统和集中式文件系统在命名(名称解析,naming)和数据访问方式及其实现上的异同。 + + *** + +3. (6分)请简要说明I/O方式中何为程序控制输入输出(programmed I/O)和直接内存访问(direct memory access, DMA)。并说明为何DMA比前一方式进行快速大规模I/O数据交换时效率要高。 + +*** + +### 五、(10分)计算题 + +假设磁盘磁头当前在磁道98,磁道请求队列为:`<55,58,39,18,90,160,150,38,184>`: + +1. 请计算FIFO(先进先出)策略下的寻道总长度(包括过程)(5分) + + *** + +2. 请计算SSTF(最近寻道时间优先)策略下的寻道总长度(包括过程)(5分) + +*** + +### 六、(10分) + +假定有一个一层文件系统(即所有文件只能存储于根目录):文件名长度最多为1024个字符;文件名允许使用包括“a-z”、“A-Z”、“0-9”、“.”在内的26 + 26 + 10 + 1 = 63个字符。请设计一种方法,在该一层文件系统上模拟多层文件系统: + +1. 请详细描述你的方法(6分); + + *** + +2. 请分析你的方法对于文件个数的限制和对于目录层数的限制(4分)。 + +*** + +### 七、(10分) + +1. 请简要描述你在课程project 2中对文件读写(权限检查、缓存管理、块申请、文档控制块信息更新)的实现方式(7分); + + *** + +2. 请简要描述在课程project 2中你在文件读写部分中承担的任务(3分)。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..dc635c2 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,487 @@ +--- +title: 2008-2009学年下学期期中 +--- + +## 2008-2009学年下学期期中试卷(含答案) + +### 一、多项选择题(5‘x6=30',每题有一个或多个答案,答错不给分,少答按比例给分) + +1. 以下对于虚存调页(page replacement)策略,错误的是: + + A. LRU不会发生Belady异常 + + B. 最优策略不会发生Belady异常 + + C. Belady异常就是随着页框(frame)个数增多,缺页率(page fault rate)必然增加 + + D. 调页必须在内核态(kernel mode)下进行 + +
+ 答案: + + C + +
+ + *** + +2. 当系统中的进程增多时,以下哪些(个)情况不可能出现(不考虑死锁): + + A. CPU利用率增高 + + B. CPU利用率降低 + + C. 磁盘I/O增多 + + D. 磁盘I/O减少 + +
+ 答案: + + D + +
+ + *** + +3. 以下那些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态: + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用yield(),主动放弃使用CPU + +
+ 答案: + + A, B, D + +
+ + *** + +4. 对于死锁,以下哪些(个)描述是正确的: + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生 + +
+ 答案: + + A, C, D + +
+ + *** + +5. 以下描述正确的是: + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高CPU和I/O的并行度 + +
+ 答案: + + B, C + +
+ + *** + +6. 关于线程,以下说法正确的是: + + A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含CPU寄存器状态 + + D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程 + +
+ 答案: + + A, B, C + +
+ +*** + +### 二、(10') + +请说明: + +1. 进程创建时(如在类UNIX操作系统中,连续执行fork()和exec()系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)。(6') + +
+ 答案: + + a. 构造PCB,代价小 + + b. 设置地址空间映射,代价中 + + c. 复制父进程地址空间内容,代价大 + + d. 复制I/O状态,代价中 + +
+ + *** + +2. 为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4') + +
+ 答案: + + 同一进程的不同线程共享资源,因此以上b, c, d三项代价几乎都可节省 + +
+ +*** + +### 三、(10') + +现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 1 | 0 | +| P1 | 2 | 0 | 0 | +| P2 | 3 | 0 | 3 | +| P3 | 2 | 2 | 2 | + +资源请求矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 0 | 0 | +| P1 | 2 | 0 | 2 | +| P2 | 0 | 0 | 0 | +| P3 | 1 | 0 | 0 | + +可用资源向量为: + +| A | B | C | +| --- | --- | --- | +| 0 | 2 | 0 | + +1. 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列。(4') + +
+ 答案: + + 不存在死锁 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 3 | 0 | + | P2 | 3 | 3 | 3 | + | P1 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + +
+ + *** + +2. 假设此时又来一个进程P4,申请资源(2, 2, 0),请问如果把2个资源B的实例分配给P4,假设除已经获得和正在请求的资源外,所有进程不再请求其它资源,是否处于安全状态(为什么)?(6') + +
+ 答案: + + 安全 + + 此时可用资源向量为:0 0 0 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P2 | 3 | 0 | 3 | + | P1 | 5 | 0 | 3 | + | P4 | 5 | 2 | 3 | + | P0 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + + 仍然都能执行完 + +
+ +*** + +### 四、(15') + +使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在快表(或称旁路转换缓存,TLB)中。一次内存访问的代价为 $200\ \text{ns}$,一次TLB访问代价为 $10\ \text{ns}$。 + +1. 请写出以上段页式内存访问的处理流程(也可以用图示表示)。(5') + +
+ 答案: + + a. 访问段表,检查是否违法,获取页表地址 + + b. 访问快表,如果miss goto c,否则goto d + + c. 访问内存页表 + + d. 访问内存 + +
+ + *** + +2. 假设TLB的命中率为50%,请计算进程对内存的有效访问时间(effective access time)。(5') + +
+ 答案: + + $200 + 50\% \times 10 + (1-50\%) \times 210 + 200$ + + $= 510\text{ns}$ + +
+ + *** + +3. 如果要求进程对内存的有效访问时间不大于500ns,请问TLB的命中率必须提高到多少?(5') + +
+ 答案: + + $200 + x \times 10 + (1-x) \times 210 + 200$ + + $=610-200x\le 500$ + + $x\ge 110/200=55\%$ + +
+ +*** + +### 五、(20') + +假设有三个进程A,B和C,A和B只使用CPU,各需要1000毫秒,进程C使用10毫秒CPU然后进行90毫秒I/O,然后再使用100毫秒CPU接着100毫秒I/O,总共也是1000毫秒。假设三个进程的到达次序是ABC。 + +1. 请计算使用FIFO调度,三个进程的平均等待时间和平均完成时间。(4') + +
+ 答案: + + A,B,C + + 平均等待时间:(0+1000+2000)/3=1000 + + 平均完成时间:(1000+2000+3000)/3=2000 + +
+ + *** + +2. 请计算使用100毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均完成时间。(4') + +
+ 答案: + + A100, B100, C10, A100C90, B100, C10, A100C90, … B100, C10, C90 + + 平均等待时间:(990+1090+1190)/3=1090 + + A: 110*9=990 + + B: 100+110*9=1090 + + C: 200+110*9=1190 + + 平均完成时间:(1990+2090+2190)/3=1790 + + A: 210*9+100=1990 + + B: 210*9+200=2090 + + C: 210*10+90=2190 + +
+ + *** + +3. 请计算使用10毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均完成时间。(4') + +
+ 答案: + + A10, B10, C10, A10C10, B10C10, A10C10, B10C10... + + 平均等待时间:(1080+1090+1190)/3=1120 + + A: 20*99-10*90=1980-900=1080 + + B: 10+20*99-10*90=1990-900=1090 + + C: 1190 + + 平均完成时间:1790 + + A: 1990 + + B: 2090 + + C: 2190 + +
+ + *** + +4. 请计算使用最短剩余时间优先(shortest remaining time first)调度时,三个进程的平均等待时间和平均完成时间。(4') + +
+ 答案: + + C10, A90C90, C10, A90C90, …, A, …, B, … + + 平均等待时间:(100+1100+0)/3=400 + + A: 10*10=100 + + B: 10*10+1000=1100 + + C: 0 + + 平均完成时间:(1100+2100+1000)/3=1400 + + A: 1000+100=1100 + + B: 1100+1000=2100 + + C: 1000 + +
+ + *** + +5. 假设每次上下文切换需要1毫秒,请从CPU利用率、I/O利用率、进程响应时间三个角度分析以上四种调度策略哪种最适合A、B、C三个进程。(4') + +
+ 答案: + + CPU利用率:SRTF最高,其次是RR的两种 + + I/O利用率:SRTF最高,其次是RR的两种 + + 进程响应时间:RR最高,其次是SRTF + +
+ +*** + +### 六、(15') + +假设有一个科学计算进程scicomp,它每次从任务队列中获得一个计算任务,然后进行计算: + +```c +void scicomp () +{ + while (true) + { + get_task (); + comp (); + } +} +``` + +任务队列中的任务数存放在全局变量m中: + +```c +int m; +``` + +当任务队列为空时,它唤醒另一个进程taskassign,分配一些计算任务,放在队列中: + +```c +void taskassign () +{ + while (true) + { + m = put_task (); + } +} +``` + +其中,put_task ()返回的是放入队列的任务个数。 + +假设scicomp在队列为空时不能执行get_task(),而taskassign只能在队列为空时执行,队列的大小没有限制。要求: + +1. 使用信号量,并修改以上scicomp和taskassign代码,使得程序能够满足以上条件(10'); + +2. 说明为什么你的程序是对的(5') + +
+答案: + +信号量: + +```c +semaphore free=0; +semaphore busy=0; +semaphore mutex=1; +int servings=0; + +int m; +``` + +程序: + +```c +void scicomp () +{ + while (true) + { + mutex.wait(); + if(servings==0) + { + free.signal(); + busy.wait(); + servings=m; + } + servings -= 1; + get_task (); + mutex.signal(); + comp (); + } +} + +void taskassign () +{ + while (true) + { + free.wait(); + m = put_task (); + busy.signal(); + } +} +``` + +说明: + +1. 对队列、servings的访问不会冲突 + +2. 逻辑正确 + +3. 不会死锁或饥饿 + +
+ +*** + +### 附加题(实验班做) + +请使用二元信号量(binary semaphore,即值只能为0或1的信号量)实现计数信号量(counting semaphore,取值可为任意整数)。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..8d71c6a --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,476 @@ +--- +title: 2008-2009学年下学期期末 +--- + +## 2008-2009学年下学期期末试卷(A)(含答案) + +### 一、(15')是非题(以下结论正确的请标T,错误的请标F并改正)(3'x5) + +1. 线程都保存有各自的栈信息和CPU状态(寄存器、指令计数器等)。 + +
+ 答案: + + T + +
+ + *** + +2. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + F + +
+ + *** + +3. 单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。 + +
+ 答案: + + F + +
+ + *** + +4. 在微内核结构的操作系统中,CPU调度必然在微内核内。 + +
+ 答案: + + T + +
+ + *** + +5. 在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。 + +
+ 答案: + + T + +
+ +*** + +### 二、(18')单项选择题(3'x6) + +1. 以下哪一种程序(或程序片段)会自我复制、传播,进而威胁系统的安全? + + A. 计算机病毒 + + B. 特洛伊木马 + + C. 逻辑炸弹 + + D. 操作系统自举(bootstrap)文件 + +
+ 答案: + + A + +
+ + *** + +2. 以下哪一种机制能够帮助系统管理员抵御拒绝攻击(Denial of Service)? + + A. 加密 + + B. 认证 + + C. 访问控制矩阵 + + D. 防火墙 + +
+ 答案: + + D + +
+ + *** + +3. 以下哪种机制提供了最佳的位置透明(transparency)性? + + A. 通过 http://www.sei.ecnu.edu.cn/ 访问学院主页 + + B. 通过 telnet 166.111.8.238 访问清华大学水木清华 BBS + + C. 通过 msn messenger 和好友聊天 + + D. 在 windows 下通过 \\server 访问服务器共享目录和设备 + +
+ 答案: + + C + +
+ + *** + +4. 以下对于目录及其实现的描述,错误的是: + + A. 目录是文件的集合,是一种逻辑概念,通常用文件实现 + + B. 目录文件中存放的就是目录中文件的文件控制块(file control block) + + C. 目录中可以有子目录,形成嵌套结构 + + D. 目录中的“.”和“..”通常分别代表该目录本身和其父目录 + +
+ 答案: + + B + +
+ + *** + +5. 以下哪种存储设备通常只支持顺序访问? + + A. 光盘 + + B. 磁盘 + + C. 磁带 + + D. U盘 + +
+ 答案: + + C + +
+ + *** + +6. 以下哪个功能不是由设备驱动程序提供的? + + A. 提供标准的设备访问系统调用(如 open(), read() 等) + + B. 提供中断处理程序 + + C. 提供 DMA 控制功能 + + D. 提供内核直接访问设备的接口 + +
+ 答案: + + C + +
+ +*** + +### 三、(20')简答题 + +1. 请简单比较程序控制输入输出(programmed I/O)和直接内存访问(DMA)的区别,并解释为什么DMA对于高速I/O访问效率较高。(5') + +
+ 答案: + + PIO时,CPU需要介入每一次数据交换;DMA方式时,CPU只在数据交换开始/结束时介入,其它时候,由DMA控制器协调I/O设备和内存利用总线进行数据交换。由于此时CPU和I/O设备几乎并行,因此与PIO方式相比,节省了大量中断、CPU介入时间。 + +
+ + *** + +2. 请简述在一个支持有向无环图目录结构的文件系统中,删除一个普通文件(非目录文件)时操作系统需要执行哪些操作。(5') + +
+ 答案: + + 查看/更新引用计数,如果为零,更新目录文件,释放FCB,释放磁盘数据块 + +
+ + *** + +3. 请简述磁盘访问效率由哪些部分决定,并分析如何提高文件系统中顺序访问文件的效率。(5') + +
+ 答案: + + 定位时间+传输速度。前者又包括:旋转速度和寻道事件 + +
+ + *** + +4. 请简述分布式操作系统和网络操作系统的区别,并列举至少三个分布式操作系统难于实现的原因。(5') + +
+ 答案: + + DOS是网络连接的计算机上的一个操作系统,NOS是支持网络的操作系统。难点:1) 网络传输代价/延迟大;2) 网络/远程节点错误,且常常不可知;3) 集中控制难/代价大;4) 无全局时钟 + +
+ +*** + +### 四、(25')计算题 + +1. (15')假设有文件系统使用i-node如图所示。其中一个磁盘块大小为4KB,一个磁盘块指针大小为32位(4B),直接块(direct block)大小为2KB,其它索引块大小和一个磁盘块一样大小。假设有一个4MB大小的文件,其i-node已在内存中(direct block也在内存中),文件的其它部分都在磁盘上,不考虑缓存。请问: + + a) 访问其第一个字节,第1K个字节,第1M个字节,第2M个字节,第3M个字节,和最后一个字节分别需要访问几个磁盘块(2'x5=10)? + + b) 该文件系统最大能支持多大的文件(5')? + + ![2008-2009学年下学期期末_A_计算题_第1题图](./images/2008-2009学年下学期期末_A_计算题_第1题.png) + +
+ 答案: + + a) 1K: 1, 1M: 1, 2M: 1, 3M: 2, 最后:2 + + b) 2K/4*4K+4K/4*4K+4K/4*4K/4*4K + +
+ + *** + +2. (10')设现有磁头访问请求队列98,83,137,122,14,124,67,65,当前磁头位置为50。请: + + a) 分别计算最短寻道时间优先(SSTF)算法和SCAN算法所需的磁头移动距离(3'x2) + + b) 请比较以上两种方法的优缺点(4')。 + +
+ 答案: + + a) SSTF: |50-65|+|65-67|+|67-83|+|83-98|+|98-122|+|122-124|+|124-137|+|137-14|=15+2+16+15+24+2+13+123=210 + + SCAN: |50-14|+|14-65|+|65-67|+|67-83|+|83-98|+|98-122|+|122-124|+|124-137|=36+51+2+16+15+24+2+13=159 + + b) SSTF未必最优,反而可能引起饥饿和不必要的抖动。SCAN和方向有关。 + +
+ +*** + +### 五、(22')计算、设计题 + +设有一个文件系统,文件数据块(磁盘块)大小为4KB,每个文件数据块指针大小为4B(32位)。该文件系统需要支持以下操作: + +```c +int read (int fd, int pos, int len, int *buf); +int write (int fd, int pos, int len, int *buf); +int insert (int fd, int pos, int len, int *buf); +``` + +其中,fd为文件句柄(handle),pos为读/写/插入位置,以上三个函数会按照 pos x 4KB 为实际位置读/写/插入 buf 中 len x 4KB 的数据,即每次数据操作必然读/写/插入一个磁盘块大小的数据,且插入位置的偏移量正好是4KB的整数倍。 + +1. 请分别详细描述如何在连续磁盘块分配、链接分配、索引分配情况下实现插入操作(3'x3); + +
+ 答案: + + 连续:是否能扩展?如果能:移动插入点以后部分,插入;否则,寻找连续空间,移动插入点前和后部分,然后插入。 + + 链接:重新计算插入点位置,插入点开始,重新分配;删除原来的数据块。(还有很多其它实现方法) + + 索引:分配块,复制数据,移动索引指针。 + +
+ + *** + +2. 不考虑缓存,不考虑连续分配时空间不够的情况,请详细分析以上三种实现每次读/写/插入操作需要访问多少次磁盘(2x3'); + +
+ 答案: + + 连续:读:1,写:1,插入:插入点后块个数*2+1 + + 链接:读:1到2次,写:1到2次,插入:插入点后块个数*2+1或2 + + 索引:1+插入索引项后的索引块个数+1 + +
+ + *** + +3. 请问以上哪种方式最不适合这一场景?哪种方式最适合这一场景?为什么?(2x2') + +
+ 答案: + + 链接最不适合:非对齐 + + 索引最适合:移动代价小 + +
+ + *** + +4. 假设在FCB中,还剩余256B的空间,请参考UNIX文件系统的i-node结构,设计一个多级的包含直接块和间接索引的块管理方式,并分析该方式与以上三种方式相比的优缺点。(3') + +
+ 答案: + + 小文件读写速度快,能容纳大文件 + +
+ +*** + +## 2008-2009学年下学期期末试卷(B) + +### 一、(15')是非题(以下结论正确的请标T,错误的请标F并改正)(3'x5) + +1. 线程都保存有各自的栈信息、CPU状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + + *** + +2. 段表由各个进程自己管理,进程可在用户态对段表进行更新。 + + *** + +3. 分时(time-sharing)是为了在操作系统中支持同时运行多个程序,从而提高CPU的利用率而提出的。 + + *** + +4. Windows的实现将图形界面功能在核心态,有利于图形界面功能的效率。 + + *** + +5. 进程不会因为申请、使用共享资源发生死锁。 + +*** + +### 二、(18')单项选择题(3'x6) + +1. 以下哪一种程序(或程序片段)常通过伪装成其它程序,引诱用户运行,从而威胁系统的安全? + + A. 计算机病毒 + + B. 特洛伊木马 + + C. 逻辑炸弹 + + D. 操作系统自举(bootstrap)文件 + + *** + +2. 以下哪一种机制能够帮助系统管理员防止攻击者窃听在公共网络上传输的数据? + + A. 加密 + + B. 认证 + + C. 访问控制矩阵 + + D. 防火墙 + + *** + +3. 以下哪种网络拓扑结构对单点故障的容错性最好? + + A. 星型网络 + + B. 树型网络 + + C. 环型网络 + + D. 全联通网络 + + *** + +4. 以下对于目录及其实现的描述,正确的是: + + A. 目录就是文件控制块(file control block) + + B. 目录是文件控制块的集合,它通常使用一种特殊的文件控制块实现 + + C. 通过链接,文件在不同目录下可以有不同的文件名;目录虽然也可以链接,但是不能有不同目录名 + + D. 根目录的父目录是其本身 + + *** + +5. 以下哪种存储设备不需要进行空闲块管理? + + A. 只读光盘 + + B. 磁盘 + + C. 磁带 + + D. U盘 + + *** + +6. 以下哪个操作不是磁盘格式化进行的? + + A. 划分扇区和磁道 + + B. 建立空闲FCB列表 + + C. 建立空闲块列表 + + D. 设定根目录文件 + +*** + +### 三、(20')简答题 + +1. 程序控制输入输出(programmed I/O)和直接内存访问(DMA)哪种对于高速I/O访问效率较高,为什么?。(5') + + *** + +2. 请简述在一个支持有向无环图目录结构的文件系统中,链接一个普通文件(非目录文件)时操作系统需要执行哪些操作。(5') + + *** + +3. 请问哪种文件块分配方式有利于顺序访问文件的效率,为什么?。(5') + + *** + +4. 请简述实现分布式互斥的三个难点。(5') + +*** + +### 四、(25')计算题 + +1. (15')假设有文件系统使用i-node如图所示。其中一个磁盘块大小为4KB,一个磁盘块指针大小为32位(4B),直接块(direct block)大小为2KB,其它索引块大小和一个磁盘块一样大小。假设有一个3MB大小的文件,其i-node已在内存中(direct block也在内存中),文件的其它部分都在磁盘上,不考虑缓存。请问: + + a) 顺序访问其第1到第1K个字节,第1到第2M个字节,和整个文件分别需要访问几个磁盘块(2'x5=10)? + + b) 该文件系统最大能支持多大的文件(5')? + + ![2008-2009学年下学期期末_B_计算题_第1题图](./images/2008-2009学年下学期期末_B_计算题_第1题.png) + + *** + +2. (10')设现有磁头访问请求队列98,83,137,122,14,124,67,65,当前磁头位置为23。请: + + a) 分别计算最短寻道时间优先(SSTF)算法和SCAN算法所需的磁头移动距离(3'x2) + + b) SSTF是否是最优的?为什么?(4')。 + +*** + +### 五、(22')计算、设计题 + +在一个需要频繁读和追加数据(即写在文件末尾)的场合,有写操作,但没有插入操作。已知每次读或写操作都会读出或写入相当大规模的数据(但未必是磁盘块大小的整数倍),但是开始读或写的位置可能出现在文件的任何地方。 + +1. 请问:连续磁盘块分配、链接分配、索引分配分别是否适合这一场景,请为每一种方法分析优缺点?(5'x3); + + *** + +2. 假设在FCB中,还剩余256B的空间,请参考UNIX文件系统的i-node结构,设计一个多级的包含直接块和间接索引的块管理方式,并分析该方式与以上三种方式相比的优缺点。(7') diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..77b5f0b --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,697 @@ +--- +title: 2009-2010学年下学期期末 +--- + +## 2009-2010学年下学期期末试卷(A)(含答案) + +### 一、(15分)是非题(请判断以下论述正确与否(用T/F表示),并修正错误的论述)(每题3分) + +1. 在多进程多线程操作系统中,每个进程只需要维护一个栈(stack); + +
+ 答案: + + F, 每个线程都需要栈 + +
+ + *** + +2. 微内核操作系统中,CPU调度和虚存管理功能必须在微内核中实现; + +
+ 答案: + + F. 虚存管理可以不在微内核中 + +
+ + *** + +3. 在虚存管理时,采用先进先出(FIFO)页面替换策略,必然会发生Belady异常(即分配页框越多,缺页率反而越高); + +
+ 答案: + + F. 可能发生,也可能不发生 + +
+ + *** + +4. 对于键盘这样的低速字符设备,采用DMA方式进行数据交换是不合适的; + +
+ 答案: + + T + +
+ + *** + +5. 在目录文件中,必须保存文件名和文件控制块信息。 + +
+ 答案: + + F. 文件控制块通常不在目录文件中 + +
+ +*** + +### 二、(15分)单项选择题(每题3分) + +1. 当发生抖动(或称为颠簸,thrashing)时,以下哪种现象不会出现? + + A. 处于等待(waiting)状态的进程数增多 + + B. CPU利用率增高 + + C. 磁盘I/O增多 + + D. 长程调度(long-term scheduling)允许更多的进程进入就绪(ready)状态 + +
+ 答案: + + B + +
+ + *** + +2. 多CPU共享内存环境下,以下哪种实现临界区的方法无效? + + A. 使用test_and_set机器指令实现“忙等”(busy waiting) + + B. Peterson算法 + + C. 关中断 + + D. 使用swap机器指令实现“忙等” + +
+ 答案: + + C + +
+ + *** + +3. 以下哪种情况仍然可能会发生死锁? + + A. 资源都是可共享的; + + B. 每一种资源的数量都超过单个进程所需这类资源的最大值; + + C. 空闲资源能够满足任意一个进程还需要的资源需求; + + D. 每个进程必须一次申请、获得所需的所有资源 + +
+ 答案: + + B + +
+ + *** + +4. 以下哪种数据结构必须存放在持久存储介质上? + + A. 进程控制块 + + B. 页表 + + C. 文件控制块 + + D. 打开文件列表 + +
+ 答案: + + C + +
+ + *** + +5. 以下哪种海量存储技术对于提升存储系统的容错性没有直接帮助? + + A. 无冗余(non-redundant)的条带化(striping) + + B. 映像(mirroring) + + C. 按位奇偶校验(bit-interleaved parity) + + D. 按块奇偶校验(block-interleaved parity) + +
+ 答案: + + A + +
+ +*** + +### 三、(25分)辨析题(请分别解释以下每组的两个名词,并列举他们的区别)(每题5分) + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +2. 程序控制输入输出(programmed I/O)与直接内存访问(DMA) + +
+ 答案: + + PIO:CPU直接发出对于I/O的指令 + + DMA:CPU在交换开始、结束时介入,其他时候由DMA控制器协调I/O设备和内存间利用总线的数据交换。 + + DMA通常能够节省大量中断和CPU介入的时间,有利于大批量数据的交换 + +
+ + *** + +3. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +4. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +5. 二级存储(secondary storage)与三级存储(tertiary storage) + +
+ 答案: + + 二级存储:通常指磁盘,用于存储文件、交换空间、虚存 + + 三级存储:较慢、但具有较大容量的持久存储介质,包括光盘、磁带等,通常用于转储、备份 + + 和三级存储相比,二级存储通常访问速度较快、单位容量价格较高。三级存储通常具有存储介质与存储驱动器分离的特点,所以价格较低,也也导致随机访问速度较慢。 + +
+ +*** + +### 四、(30分)计算、问答题 + +1. 采用按需调页(demand paging),现有3个页框,分别存储着页面号2,3,4三个页面。已知接下来的页面访问顺序为1,2,3,4,1,2,5,1,2,3,4,5。使用时钟算法(clock algorithm)作为页面替换算法。(10分) + + a) 请计算会发生的缺页次数(假设初始时在页框内的页面的引用位(reference bit)都是1,2/3/4三个页面按序存放,初始时指针指向页面2)?(7分) + +
+ 答案: + + ```text + 2(1*), 3(1), 4(1): 1x + 1(1), 3(0*), 4(0): 2x + 1(1), 2(1), 4(0*): 3x + 1(1*), 2(1), 3(1): 4x + 4(1), 2(0*), 3(0): 1x + 4(1), 1(1), 3(0*): 2x + 4(1*), 1(1), 2(1): 5x + 5(1), 1(0*), 2(0): 1 + 5(1), 1(1*), 2(0): 2 + 5(1), 1(1*), 2(1): 3x + 5(0), 3(1), 2(0*): 4x + 5(0*), 3(1), 4(1): 5 + 5(1), 3(1), 4(1) + 9次缺页 + ``` + +
+ + b) 请写出这一访问序列所对应的工作集。(3分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +2. 已知磁盘访问队列98, 183, 37, 122, 14, 124, 65, 67(标号为柱面号),当前磁头位置为53。(10分) + + a) 请写出一种最优的磁头移动序列,并计算磁头移动距离。(5分) + +
+ 答案: + + ```text + 53, 37, 14, 65, 67, 98, 122, 124, 183 + (53-14)+(183-14)=39+169=208 + ``` + +
+ + b) 请问这一序列和哪种调度算法的结果是一致的?(2分) + +
+ 答案: + + LOOK + +
+ + c) 请问这种调度算法能否保证在任意情况下是最优的?为什么?(3分) + +
+ 答案: + + 不能,与磁头移动的初始移动方向有关 + +
+ + *** + +3. (10分)现有以下实现有界缓存(bounded buffer)问题的伪代码 + + ```c + semaphore mutex = 1; + semaphore full = 0; + semaphore empty = 3; //buffer中允许3个item + + producer() { + // produce an item + wait(empty); + wait(mutex); + // add it to the buffer + signal(mutex); + signal(full); + } + + consumer() { + wait(mutex); + wait(full); + // remove one from buffer + signal(mutex); + signal(empty); + // consume the removed item + } + ``` + + a) 请问该代码是否会引起死锁?(3分) + +
+ 答案: + + 会 + +
+ + b) 如果不会引起死锁,请证明死锁(证明死锁的四个必要条件中有一个不成立);如果可能引起死锁,请画出资源分配图(信号量作为资源),指出代码发生死锁的原因,并进行改正。(7分) + +
+ 答案: + + ![2009-2010学年下学期期末_A_计算题_第3题_b_答案图](./images/2009-2010学年下学期期末_A_计算题_第3题_b_答案.png) + + 第13、14行交换次序 + +
+ +*** + +### 五、(15分)综合题 + +现有如下代码 + +```c +int pos[10]; +... /* 和用户交互,为pos[i]赋值 */ +int fd = open("/home/us001/test.txt", O_WRONLY); /* 以只写方式打开文件 */ +for (int i = 0; i < 10; i ++) { + fseek(fd, pos[i], SEEK_CUR); /* 文件指针定位到当前位置+pos[i] */ + fprint(fd, "pos %d\n", i); /* 写文件 */ +} +close(fd); /* 关闭文件 */ +``` + +a) 请解释第2、第4、第5、第6行代码执行时,操作系统分别需要进行哪些操作?(8分) + +
+答案: + +2:通过文件系统查找、定位文件;获取文件控制块;更新系统和进程的打开文件列表; + +4:更新文件位置指针 + +5:写缓存 + +6:将缓存写出到磁盘;更新文件控制块信息;更新打开文件列表(关闭文件) + +
+ +b) 请问第4、第5行代码的写操作属于顺序访问还是随机访问?(2分) + +
+答案: + +随机访问 + +
+ +c) 请问对于这种访问方式,采用何种文件块组织方式较合适?为什么?(5分) + +
+答案: + +采用顺序分配或者索引分配较合适。因为这样能够较快的定位文件位置指针。 + +
+ +*** + +## 2009-2010学年下学期期末试卷(B)(含答案) + +### 说明 + +- 原卷参考答案不全 + +### 一、(15分)是非题(请判断以下论述正确与否(用T/F表示),并修正错误的论述)(每题3分) + +1. 在多进程多线程操作系统中,每个进程可以只维护一个堆(heap); + +
+ 答案: + + T + +
+ + *** + +2. 在操作系统中,CPU调度和虚存管理功能必须在内核中实现; + +
+ 答案: + + T + +
+ + *** + +3. 在虚存管理时,采用LRU页面替换策略,可能会发生Belady异常(即分配页框越多,缺页率反而越高); + +
+ 答案: + + F. 不会发生 + +
+ + *** + +4. 对于光盘设备,采用DMA方式进行数据交换是不合适的; + +
+ 答案: + + F. 光盘数据交换速度较快,传输数据量大,合适 + +
+ + *** + +5. 在目录文件中,必须保存文件名和文件数据存储位置信息。 + +
+ 答案: + + F. 数据存储位置通常在文件控制块中,不在目录文件中 + +
+ +*** + +### 二、(15分)单项选择题(每题3分) + +1. 当系统中的进程增多时,以下哪些(个)情况不可能出现(不考虑死锁): + + A. CPU利用率增高 + + B. CPU利用率降低 + + C. 磁盘I/O增多 + + D. 磁盘I/O减少 + +
+ 答案: + + D + +
+ + *** + +2. 以下那个操作不会使得一个进程从运行(running)状态转换为就绪(ready)状态: + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用yield(),主动放弃使用CPU + +
+ 答案: + + C + +
+ + *** + +3. 对于死锁,以下哪个描述是错误的: + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生 + +
+ 答案: + + A + +
+ + *** + +4. 关于线程,以下说法错误的是: + + A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含CPU寄存器状态 + + D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程 + +
+ 答案: + + D + +
+ + *** + +5. 以下哪种海量存储技术不是实现RAID的基本技术? + + A. 无冗余(non-redundant)的条带化(striping) + + B. 位图(bitmap)空闲块索引 + + C. 按位奇偶校验(bit-interleaved parity) + + D. 按块奇偶校验(block-interleaved parity) + +
+ 答案: + + A + +
+ +*** + +### 三、(25分)辨析题(请分别解释以下每组的两个名词,并列举他们的区别)(每题5分) + +1. 进程(process)与线程(thread) + + *** + +2. 目录(directory)与文件控制块(FCB) + + *** + +3. 分时(time-sharing)与批处理(batch processing) + + *** + +4. 旁路查找表(或称为快表,TLB)与页表(page table) + + *** + +5. 块设备与字符设备 + +*** + +### 四、(30分)计算、问答题 + +1. 采用按需调页(demand paging),现有3个页框,分别存储着页面号2,3,4三个页面。已知接下来的页面访问顺序为1,2,3,4,1,2,5,1,2,3,4,5。使用LRU算法作为页面替换算法。(10分) + + a) 请计算会发生的缺页次数(7分) + + b) 请写出这一访问序列所对应的工作集。(3分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +2. 已知磁盘访问队列98, 183, 37, 122, 14, 124, 65, 67(标号为柱面号),当前磁头位置为12。(10分) + + a) 请写出一种最优的磁头移动序列,并计算磁头移动距离。(5分) + + b) 请问这一序列和哪种调度算法的结果是一致的?(2分) + +
+ 答案: + + LOOK + +
+ + c) 请问这种调度算法能否保证在任意情况下是最优的?为什么?(3分) + +
+ 答案: + + 不能,与磁头移动的初始移动方向有关 + +
+ + *** + +3. (10分)现有以下实现有界缓存(bounded buffer)问题的伪代码 + + ```c + semaphore mutex = 1; + semaphore full = 0; + semaphore empty = 3; //buffer中允许3个item + + producer() { + // produce an item + wait(empty); + wait(mutex); + // add it to the buffer + signal(mutex); + signal(full); + } + + consumer() { + wait(full); + wait(mutex); + // remove one from buffer + signal(empty); + signal(mutex); + // consume the removed item + } + ``` + + a) 请问该代码是否正确?(3分) + + b) 请问该代码是否会引起死锁?(3分) + +
+ 答案: + + 不会 + +
+ + c) 如果不会引起死锁,请证明死锁(证明死锁的四个必要条件中有一个不成立);如果可能引起死锁,请画出资源分配图(信号量作为资源),指出代码发生死锁的原因,并进行改正。(4分) + +*** + +### 五、(15分)综合题 + +请使用二元信号量(binary semaphore,即值只能为0或1的信号量)实现计数信号量(counting semaphore,取值可为任意整数)。 + +*** + +## 2009-2010学年下学期期末试卷(实验班附加题) + +### 一、辨析题(请判断以下论断是否正确,如正确请证明,否则请给出反例)(5分x3) + +1. 在不可占先(non-preemptive)的情况下,最短作业优先(shortest-job first)在平均响应时间上必然是最优的。 + + *** + +2. 采用反向页表(inverted page table)和采用普通的页表(forward page table)相比,能够减少页面的访问时间。 + + *** + +3. 处于不安全状态必然发生死锁。 + +*** + +### 二、简述题(5分) + +请从语义和使用方式两个方面比较管程(monitor)和信号量(semaphore)的区别。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2010-2011\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2010-2011\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..e99ea6c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2010-2011\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,108 @@ +--- +title: 2010-2011学年下学期期中 +--- + +## 2010-2011学年下学期期中试卷 + +### 说明 + +- 原卷标题:操作系统 2011年3班期中小测验 + +### 一、综合(25') + +请简述计算机系统启动,直到运行第一个用户应用程序,然后派生出第二个线程的整个过程中的可能的步骤,并分析每一个步骤的代价(大/中/小),说明理由。 + +*** + +### 二、进程与线程(25') + +假设线程有运行(running)、就绪(ready)、等待(waiting)和休眠(suspended)四种状态。请分别说明什么时候会发生以下状态转换: + +a) 运行 ==> 等待 (4') + +b) 就绪 ==> 运行 (4') + +c) 等待 ==> 就绪 (4') + +d) 等待 ==> 休眠 (4') + +e) 请证明SJF调度策略在非抢占(non-preemptive)情况下是最优的 (9')。 + +*** + +### 三、进程间同步与死锁(30') + +现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 1 | 0 | +| P1 | 2 | 0 | 0 | +| P2 | 3 | 0 | 3 | +| P3 | 2 | 2 | 2 | + +资源请求矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 0 | 0 | +| P1 | 2 | 0 | 2 | +| P2 | 0 | 0 | 0 | +| P3 | 1 | 0 | 0 | + +可用资源向量为: + +| A | B | C | +| --- | --- | --- | +| 0 | 2 | 0 | + +a) 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列 (8') + +假设有一个科学计算进程scicomp,它每次从任务队列中获得一个计算任务,然后进行计算: + +```c +void scicomp () +{ + while (true) + { + get_task (); + comp (); + } +} +``` + +任务队列中的任务数存放在全局变量m中: + +```c +int m; +``` + +当任务队列为空时,它唤醒另一个进程taskassign,分配一些计算任务,放在队列中: + +```c +void taskassign () +{ + while (true) + { + m = put_task (); + } +} +``` + +其中,put_task ()返回的是放入队列的任务个数。 + +假设scicomp在队列为空时不能执行get_task(),而taskassign只能在队列为空时执行,队列的大小没有限制。要求: + +b) 使用信号量,并修改以上scicomp和taskassign代码,使得程序能够满足以上条件 (8'); + +c) 说明为什么你的程序是对的 (4') + +d) 请使用二元信号量(binary semaphore,即值只能为0或1的信号量)实现计数信号量(counting semaphore,取值可为任意整数) (10')。 + +*** + +### 四、内存管理 (20') + +a) 请简述采用TLB和2级页表时,内存访问的步骤 (10'); + +b) 请比较反向页表(inverted page table)和散列页表(hashed page table)的优缺点 (10')。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..aba1124 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,195 @@ +--- +title: 2011-2012学年下学期期中 +--- + +## 2011-2012学年下学期期中试卷(含答案) + +### 一、(5') + +请证明给定就绪(ready)队列,采用最短剩余时间优先(Shortest Remaining Time First,SRTF)的CPU调度能确保队列中所有进程的平均响应时间最小。(5‘) + +
+答案: + +采用反证法:SRTF调度情况下调换任意两个进程顺序,平均响应时间将会增加。 + +
+ +*** + +### 二、(16’) + +已知就绪队列中已有4个进程,所需要的CPU时间按到达次序分别为28,5,43,35个毫秒;在第10毫秒到达第五个进程,它所需要的CPU时间为8个毫秒。请写出在先来先服务(First-Come-First-Serve,FCFS)、以5毫秒和20毫秒为单位的轮询(Round-Robin)、最短作业优先(Shortest Job First)这四种不同的CPU调度下,这些进程的调度序列(可用甘特图(Gantt Chart)表示)(3' x 4),并分别计算四种不同情况下的平均响应时间(1' x 4)。 + +
+答案: + +FCFS: 28, 5, 43, 35, 8. (28+33+76+(111-10))/5 + +RR(5): p1(5,23),p2(5,0),p3(5,38),p4(5,30),p1(5,18),p5(5,3),p3(5,33),p4(5,25),p1(5,13),p5(3,0),p3(5,28),p4(5,20),p1(5,8),p3(5,23),p4(5,15),p1(5,3),p3(5,18),p4(5,10),p1(3,0),p3(5,13),p4(5,5),p3(5,8),p4(5,0),p3(5,3),p3(3,0) + +p1: 15+15+13+10+10=63 + +p2: 5 + +p3: 10+15+13+10+10+8+5+5=76 + +p4: 15+15+13+10+10+8+5=76 + +p5: 15+15=30 + +(63+5+76+76+30)/5 + +RR(20): p1(20,8),p2(5,0),p3(20,23),p4(20,15),p5(8,0),p1(8,0),p3(20,3),p4(15,0),p3(3,0) + +p1: 53 + +p2: 20 + +p3: 25+36+15=76 + +p4: 45+36=81 + +p5: 55 + +(53+20+76+81+55)/5 + +SJF: p2(5), p1(28), p5(8), p4(35), p3(43) + +(5+0+76+41+23)/5 + +
+ +*** + +### 三、(5‘) + +请详细描述一个用户态线程调用sleep()系统调用后,操作系统所执行的任务。 + +
+答案: + +系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码 + +sleep() 将当前进程放入waiting队列(设置alarm) + +CPU调度(context switch) + +系统调用结束,返回,mode-switch + +mode-switch/context-switch/mode-switch各一分,syscall过程1分,CPU调度1分 + +
+ +*** + +### 四、(20') + +对于读者/写者(readers-writers)问题,请用信号量(semaphore)写一个写者不会发生饥饿(starvation)的程序伪码(6')(要求给出完整的信号量定义/初始化,并说明信号量的用途;给出完整的程序框架,读和写的具体内容可用注释表示)。并详细分析: + +1)程序能够确保读者之间共享读操作,写操作和其它所有操作互斥(3'); + +2)程序不会发生死锁(3'); + +3)写者不会发生饥饿(4'); + +4)读者的并发程度(4')。 + +
+答案: + +略(各种写法) + +
+ +*** + +### 五、(12') + +请对下图的场景用资源分配图(Resource Allocation Graph)进行建模,说明什么表示成资源,什么表示成进程(4')。请根据资源分配图判断是否产生了死锁,并分析原因(4‘)。请说明死锁的四个必要条件是什么,在下图所示情况下哪些条件满足了,哪些不满足(4') + +![单车道桥场景图](./images/2011-2012学年下学期期中_第5题_单车道桥场景图.png) + +
+答案: + +图:略(汽车为进程,桥上2个位置为资源,有不同的表示方法) + +四个必要条件满足 + +
+ +*** + +### 六、(12’) + +现有5个进程(P0-P4),3类资源(A:9, B:5, C:5),当前的系统状态如下: + +![资源分配表](./images/2011-2012学年下学期期中_第6题_资源分配表.png) + +| | Allocation A | Allocation B | Allocation C | Max A | Max B | Max C | +| --- | --- | --- | --- | --- | --- | --- | +| P0 | 0 | 1 | 0 | 7 | 5 | 3 | +| P1 | 2 | 0 | 0 | 3 | 2 | 2 | +| P2 | 3 | 0 | 2 | 9 | 0 | 2 | +| P3 | 2 | 1 | 1 | 2 | 2 | 2 | +| P4 | 0 | 0 | 2 | 4 | 3 | 3 | + +系统剩余的资源为:Available: (2, 3, 0) + +请问: + +a) 如果系统不允许资源抢占,系统当前是否处于安全状态?如果不处于安全状态,请写出可能发生死锁的进程,并画出它们之间的等待图(wait-for graph);如果处于安全状态,请写出进程执行的序列。(8') + +b) 请问系统是否一定发生死锁?为什么?(4‘) + +
+答案: + +a. 不安全。图略 + +b. 不一定:max不一定同时达到(或主动释放) + +
+ +*** + +### 七、(11') + +a) 请写出使用旁路查找表(Translation Look-aside Table)和二级页表时,根据逻辑地址获取物理内存地址的过程(包括错误检查过程)(5‘)。 + +b) 已知一次相联存储器的访问需要0.1毫秒,一次内存访问需要1毫秒,旁路查找表的命中率为30%,请计算此时(使用旁路查找表的二级页表)的有效访问时间(effective access time)(3')。 + +c) 如果要求平均访问时间达到1.5毫秒,请问旁路查找表的命中率应该至少为多少?(3') + +
+答案: + +a. 要点:TLB判断,页表valid/出错判断,先查一级页表再查二级页表 + +b. $(1+0.1)\times30\%+(3+0.1)\times70\%$ + +c. $(1+0.1)\times x\%+(3+0.1)\times(1-x\%)\le 1.5$ + +
+ +*** + +### 八、(19') + +名词辨析:请写出以下各组概念中每个概念的含义,以及它们之间的联系和区别(包括优缺点)。 + +a) 段式(segmentation)内存管理和页式(paging)内存管理(5') + +b) 内核态(kernel mode)和用户态(user mode)(3') + +c) 多道程序(multi-programming)、多线程(multi-threading)以及分时(time-sharing)(6') + +d) 微内核(mico-kernel)和模块化内核(modular kernel)(5') + +
+答案: + +略。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..ce713b2 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,599 @@ +--- +title: 2011-2012学年下学期期末 +--- + +## 2011-2012学年下学期期末试卷(A)(含答案) + +### 一、是非题(4' x 8) + +请判断以下论断正确与否。正确的用 T 表示;错误的用 F 表示,并指出为何错误。 + +1. Belady 异常(Belady anomaly)是指某一个页面替换算法在任何情况下,分配给一个进程的页框(page frame)越多,则缺页率越高。 + +
+ 答案: + + F. 指有可能出现这种情况 + +
+ + *** + +2. 在类 UNIX 系统(如 Linux)中,一个目录的权限为:`rwx------`,表示:目录的所有者(owner)对于该目录具有读写权限,并且可以执行目录中的所有可执行文件。 + +
+ 答案: + + F. 可以进入该目录 + +
+ + *** + +3. RAID 技术有助于增强存储系统的可靠性(availability),但是会增加存储系统的响应时间(response time),并降低访问的吞吐率(throughput)。 + +
+ 答案: + + F. striping 可以在降低响应时间,提高吞吐率。 + +
+ + *** + +4. 假脱机(spooling)方式常被用于处理字符设备(character device),如终端,的 I/O 操作。 + +
+ 答案: + + F. 常用于打印机,非字符设备。 + +
+ + *** + +5. “特洛伊木马(Troy horse)“程序是具有自我复制能力的代码片段,能够通过自我复制在程序间或计算机系统间进行传播。 + +
+ 答案: + + F. 病毒具有自我传播能力;或特洛伊木马指利用环境做非法操作的程序。 + +
+ + *** + +6. 在微内核(micro-kernel)结构的操作系统中,虚拟内存(virtual memory)管理是在微内核内部的。 + +
+ 答案: + + F. 只有 CPU 调度和进程间通信是必须在微内核内部。 + +
+ + *** + +7. 发生缺页(page fault)的进程会直接从”运行(running)“状态进入”就绪(ready)“状态。 + +
+ 答案: + + F. 进入 waiting 状态 + +
+ + *** + +8. 如果有两个进程竞争使用两个独占(dedicated)的 I/O 设备,有可能会发生死锁。 + +
+ 答案: + + T. + +
+ +*** + +### 二、名词辨析(28‘) + +请分别说明以下每组名词中每一个的含义,并说明它们之间的区别和联系 + +1. (4‘)页面(page)和页框(frame) + +
+ 答案: + + 页面:地址空间中划分成的一样大小的连续空间 + + 页框:用于放置页面的内存空间 + +
+ + *** + +2. (6’)文件控制块(file control block, FCB),inode,和目录 + +
+ 答案: + + FCB:操作系统用于管理文件的基本属性的数据结构,需要存放在磁盘上 + + inode:类 unix 操作系统的 FCB 结构 + + 目录:文件的逻辑集合 + +
+ + *** + +3. (4‘)文件的写(write)权限和追加(append)权限 + +
+ 答案: + + 写权限:可以在文件中的任何位置写入 + + 追加权限:只可以在文件的末尾写入(不能覆盖已有数据) + +
+ + *** + +4. (4‘)文件系统的格式化(format)和低级格式化(low-level format) + +
+ 答案: + + 格式化:建立文件系统的操作 + + 低级格式化:建立基本文件系统(basic file system)的操作,即划分块的操作 + +
+ + *** + +5. (4‘)文件的链接(link)和复制(copy) + +
+ 答案: + + 链接:不复制文件内容,但创建一个新的目录项(指向已经存在的文件) + + 复制:复制文件的内容 + +
+ + *** + +6. (6’)阻塞的(blocking)I/O 操作、非阻塞的(non-blocking)I/O 操作、异步的(asynchronous)I/O 操作 + +
+ 答案: + + 阻塞 i/o:开始操作后停止,等到 i/o 结束后再继续 + + 非阻塞 i/o:开始操作后继续进行其它工作 + + 异步 i/o:开始操作后继续其它工作,但在 i/o 结束后得到通知,对 i/o 结果进行响应 1 + +
+ +*** + +### 三、计算、问答题(30‘) + +1. (3' x 3)已知磁道访问请求队列:98, 183, 37, 14, 122, 65, 124, 67,当前磁头位置为53,方向为 53=>0,请分别计算 FIFO(先进先出),SSTF(最短寻道时间优先),SCAN 调度下响应所有请求的磁头移动距离,并写出每种调度的响应顺序。 + +
+ 答案: + + ```text + FIFO: 53, 98, 183, 37, 14, 122, 65, 124, 67. + (98-53)+(183-98)+(183-37)+(37-14)+(122-14)+(122-65)+(124-65)+(124-67)=45+85+146+23+108+57+59+57=580 + + SSTF: 53, 65, 67, 98, 122, 124, 183, 37, 14. + 12+2+31+24+2+59+146+23=299 + + SCAN: 53, 37, 14, (0), 65, 67, 98, 122, 124, 183. + 53+183=236 + ``` + +
+ + *** + +2. (4')请问 SSTF 是否是磁头调度算法中最优的?为什么?(如果是最优的,请证明,否则请举出反例) + +
+ 答案: + + 否。如 1 中示例。 + +
+ + *** + +3. (10‘)现有两个进程 P1 和 P2,当前的页面访问序列分别为: + + ```text + P1: 1, 2, 3, 4, 1, 2, 5 + P2: 6, 7, 8, 6, 7, 6, 7 + ``` + + 这两个进程总共可有 5 个页框可供使用。假设使用 LRU 替换策略,页框分配采用固定分配(即分配后不可修改),请问如何在两个进程间分配页框可以达到缺页率最低?请写出替换序列,和缺页率计算过程(4’);并证明该分配对于给出的序列是最优的(6‘)。 + +
+ 答案: + + 2, 3 (10 次缺页) + + 1, 1, 3, 4, 1, 2, 5 + +    2, 2, 3, 4, 1, 2 + +
+ + 6, 6, 6, 6, 6, 6, 6 + +    7, 7, 7, 7, 7, 7 + +       8, 8, 8, 8, 8 + + 证明: + + 1. 给 P2 更多页面不会减少 P2 的缺页率; + 2. 给 P1 3 个页面不会减少 P1 的缺页率,但是会增加 P2 的缺页率; + 3. 给 P1 4 个页面,P1 的缺页次数为 5,但是 P2 的缺页次数为 7。 + +
+ + *** + +4. (7’)请简述直接内存访问(DMA)方式 I/O 的过程(可用图表示)(4‘),并说明为何 CPU 和 DMA 模块都需要通过内存总线访问内存,却仍然能够加快 I/O 访问的速度。(3‘) + +
+ 答案: + + ![2011-2012学年下学期期末_A_计算问答题_第4题_答案图](./images/2011-2012学年下学期期末_A_计算问答题_第4题_答案.png) + + Cycle stealing + +
+ +*** + +### 四、(10‘)设计题 + +某系统,磁盘块大小为 4KB,需要存储的文件中每一条记录大小相同,都是 3KB,但是不同文件中的记录条数差别很大。每条记录都有一个唯一的键值(key)。对于文件内容,也就是记录的访问有两种:顺序访问和按键值访问。文件内容只追加,不修改,不删除。请参考文件块分配中的连续分配(contiguous allocation)、链接分配(linked allocation)、索引分配(indexed allocation)等方法,设计一种磁盘块分配方法,并回答以下问题: + +1. (4‘)请简述分配方法,以及块分配、顺序访问、按键值访问的算法; + + *** + +2. (2’)请分析该方法的顺序访问、按键值访问的效率; + + *** + +3. (2’)请分析该方法的磁盘利用率; + + *** + +4. (2’)请分析该设计的优缺点。 + +
+ 答案: + + 略。 + +
+ +*** + +## 2011-2012学年下学期期末试卷(B)(含答案) + +### 一、是非题(4' x 8=32') + +请判断以下论断正确与否。正确的用T表示;错误的用F表示,并指出为何错误。 + +1. 线程都保存有各自的栈信息、CPU状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + F + +
+ + *** + +2. 段表由各个进程自己管理,进程可在用户态对段表进行更新。 + +
+ 答案: + + F + +
+ + *** + +3. 分时(time-sharing)是为了在操作系统中支持同时运行多个程序,从而提高CPU的利用率而提出的。 + +
+ 答案: + + F + +
+ + *** + +4. Windows的实现将图形界面功能在核心态,有利于图形界面功能的效率。 + +
+ 答案: + + T + +
+ + *** + +5. 进程不会因为申请、使用共享资源发生死锁。 + +
+ 答案: + + T + +
+ + *** + +6. 在类UNIX系统(如Linux)中,一个文件的权限为:`rwxr-x---`,表示:目录的所有者(owner)同组用户对于该文件具有读和执行权限。 + +
+ 答案: + + T + +
+ + *** + +7. “计算机病毒“程序是具有自我复制能力的代码片段,能够通过自我复制在程序间或计算机系统间进行传播。 + +
+ 答案: + + T + +
+ + *** + +8. 对于键盘这样的低速字符设备,采用DMA方式进行数据交换是不合适的。 + +
+ 答案: + + T + +
+ +*** + +### 二、名词辨析(4'x7=28‘) + +请分别说明以下每组名词中每一个的含义,并说明它们之间的区别和联系 + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +2. 程序控制输入输出(programmed I/O)与直接内存访问(DMA) + +
+ 答案: + + PIO:CPU直接发出对于I/O的指令 + + DMA:CPU在交换开始、结束时介入,其他时候由DMA控制器协调I/O设备和内存间利用总线的数据交换。 + + DMA通常能够节省大量中断和CPU介入的时间,有利于大批量数据的交换 + +
+ + *** + +3. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +4. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +5. 二级存储(secondary storage)与三级存储(tertiary storage) + +
+ 答案: + + 二级存储:通常指磁盘,用于存储文件、交换空间、虚存 + + 三级存储:较慢、但具有较大容量的持久存储介质,包括光盘、磁带等,通常用于转储、备份 + + 和三级存储相比,二级存储通常访问速度较快、单位容量价格较高。三级存储通常具有存储介质与存储驱动器分离的特点,所以价格较低,也也导致随机访问速度较慢。 + +
+ + *** + +6. 条带化(striping)和镜像(mirror) + +
+ 答案: + + 两者都是RAID中常用的技术。前者将一个数据单元的内容按序存放于多个磁盘,以增加系统响应请求所能取得的带宽;后者通过存储副本增加系统容错能力。 + +
+ + *** + +7. 页式内存管理和段式内存管理 + +
+ 答案: + + 页的大小是相同的,段大小不同。段往往是程序逻辑的抽象,在有些情况下对于用户(程序员)是可见的。页通常是作为管理方便而使用的,对用户不可见。 + +
+ +*** + +### 三、计算、问答题(30‘) + +1. 请简述在一个支持有向无环图目录结构的文件系统中,链接一个普通文件(非目录文件)时操作系统需要执行哪些操作。(5') + +
+ 答案: + + 查看/更新引用计数,更新目录文件 + +
+ + *** + +2. 请问哪种文件块分配方式有利于顺序访问文件的效率,为什么?。(5') + +
+ 答案: + + 顺序分配,因为行为可预测,预取效果好 + +
+ + *** + +3. 采用按需调页(demand paging),现有3个页框,分别存储着页面号2,3,4三个页面。已知接下来的页面访问顺序为1,2,3,4,1,2,5,1,2,3,4,5。使用时钟算法(clock algorithm)作为页面替换算法。(10分) + + a) 请计算会发生的缺页次数(假设初始时在页框内的页面的引用位(reference bit)都是1,2/3/4三个页面按序存放,初始时指针指向页面2)?(7分) + +
+ 答案: + + ```text + 2(1*), 3(1), 4(1): 1x + 1(1), 3(0*), 4(0): 2x + 1(1), 2(1), 4(0*): 3x + 1(1*), 2(1), 3(1): 4x + 4(1), 2(0*), 3(0): 1x + 4(1), 1(1), 3(0*): 2x + 4(1*), 1(1), 2(1): 5x + 5(1), 1(0*), 2(0): 1 + 5(1), 1(1*), 2(0): 2 + 5(1), 1(1*), 2(1): 3x + 5(0), 3(1), 2(0*): 4x + 5(0*), 3(1), 4(1): 5 + 5(1), 3(1), 4(1) + 9次缺页 + ``` + +
+ + b) 请写出这一访问序列所对应的工作集。(3分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +4. 已知磁盘访问队列98, 183, 37, 122, 14, 124, 65, 67(标号为柱面号),当前磁头位置为53。(10分) + + a) 请写出一种最优的磁头移动序列,并计算磁头移动距离。(5分) + +
+ 答案: + + ```text + 53, 37, 14, 65, 67, 98, 122, 124, 183 + (53-14)+(183-14)=39+169=208 + ``` + +
+ + b) 请问这一序列和哪种调度算法的结果是一致的?(2分) + +
+ 答案: + + LOOK + +
+ + c) 请问这种调度算法能否保证在任意情况下是最优的?为什么?(3分) + +
+ 答案: + + 不能,与磁头移动的初始移动方向有关 + +
+ +*** + +### 四、(10‘)设计题 + +在一个需要频繁读和追加数据(即写在文件末尾)的场合,有写操作,但没有插入操作。已知每次读或写操作都会读出或写入相当大规模的数据(但未必是磁盘块大小的整数倍),但是开始读或写的位置可能出现在文件的任何地方。 + +1. 请问:连续磁盘块分配、链接分配、索引分配分别是否适合这一场景(3'); + + *** + +2. 假设在FCB中,还剩余256B的空间,请参考UNIX文件系统的i-node结构,设计一个多级的包含直接块和间接索引的块管理方式,并分析该方式与以上三种方式相比的优缺点。(7') + +
+ 答案: + + 略 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..31df595 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,226 @@ +--- +title: 2012-2013学年下学期期中 +--- + +## 2012-2013学年下学期期中试卷(含答案) + +### 说明 + +- 原卷标题:操作系统 2013年 期中考试试题 + +### 一、多项选择题(5‘x5=25',每题有一个或多个答案,答错不给分,少答按比例给分) + +1. 当系统中的进程增多时,以下哪些(个)情况不可能出现(不考虑死锁): + + A. CPU利用率增高 + + B. CPU利用率降低 + + C. 磁盘I/O增多 + + D. 磁盘I/O减少 + +
+ 答案: + + D + +
+ + *** + +2. 以下那些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态: + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用yield(),主动放弃使用CPU + +
+ 答案: + + A, B, D + +
+ + *** + +3. 对于死锁,以下哪些(个)描述是正确的: + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生 + +
+ 答案: + + B, D + +
+ + *** + +4. 以下描述正确的是: + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高CPU和I/O的并行度 + +
+ 答案: + + B, C + +
+ + *** + +5. 关于线程,以下说法正确的是: + + A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含CPU寄存器状态 + + D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程 + +
+ 答案: + + A, B, C + +
+ +*** + +### 二、(21') + +假设线程有运行(running)、就绪(ready)、等待(waiting)四种状态。请分别说明什么时候会发生以下状态转换: + +a) 运行 ==> 等待 (4') + +b) 就绪 ==> 运行 (4') + +c) 等待 ==> 就绪 (4') + +d) 请证明SJF调度策略在非抢占(non-preemptive)情况下是最优的 (9')。 + +*** + +### 三、(8') + +现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 1 | 0 | +| P1 | 2 | 0 | 0 | +| P2 | 3 | 0 | 3 | +| P3 | 2 | 2 | 2 | + +资源请求矩阵如下: + +| | A | B | C | +| --- | --- | --- | --- | +| P0 | 0 | 0 | 0 | +| P1 | 2 | 0 | 2 | +| P2 | 0 | 0 | 0 | +| P3 | 1 | 0 | 0 | + +可用资源向量为: + +| A | B | C | +| --- | --- | --- | +| 0 | 2 | 0 | + +请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列;如果存在死锁请画出进程的等待图 (8') + +*** + +### 四、(12') + +请说明: + +1. 进程创建时(如在类UNIX操作系统中,连续执行fork()和exec()系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)。(8') + +
+ 答案: + + a. 构造PCB,代价小 + + b. 设置地址空间映射,代价中 + + c. 复制父进程地址空间内容,代价大 + + d. 复制I/O状态,代价中 + +
+ + *** + +2. 为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4') + +
+ 答案: + + 同一进程的不同线程共享资源,因此以上b, c, d三项代价几乎都可节省 + +
+ +*** + +### 五、(10') + +假设有三个进程A,B和C,A和B只使用CPU,各需要200毫秒,进程C使用10毫秒CPU然后进行40毫秒I/O,然后再使用10毫秒CPU接着40毫秒I/O,依此重复,总共也是200毫秒。假设三个进程的到达次序是ABC。 + +1. 请计算使用FIFO调度,三个进程的平均等待时间和平均完成时间(4') + +
+ 答案: + + A,B,C + + 平均等待时间:(0+200+400)/3=200 + + 平均完成时间:(200+400+600)/3=400 + +
+ + *** + +2. 请列出使用100毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的执行次序以及每次执行的时间(6') + +
+ 答案: + + A100, B100, C10, A100(f)C40, B100(f), C10, C40, C10, C40, C10, C40(f) + +
+ +*** + +### 六、(24') + +有家理发店,店里有一个理发师、一把理发椅和n把等候理发的顾客椅子。 + +(1). 如果没有顾客则理发师便在理发椅上看报纸; + +(2). 当有一个顾客到达时,首先查看理发师在干什么,如果在看报纸则告诉理发师理发,然后坐到理发椅上开始理发;如果理发师正在理发,则查看是否有空的椅子可坐:如果有,他就坐下等待;如果没有,则离开; + +(3). 理发师为一位顾客理完发后,查看是否有人等待,如有则唤醒一位为其理发,如没有则在理发椅上看报纸; + +(4). 顾客不分优先级 + +请使用信号量实现多线程情况下的Barber()和Customer()两个函数(请自行定义信号量,并进行初始化)(12’),并详细说明实现的正确性(逐条说明是否能够满足以上四条规则,如何保证竞争条件的互斥,是否会发生死锁,是否会发生饥饿,是否公平)(12‘)。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..3dcd79c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,990 @@ +--- +title: 2012-2013学年下学期期末 +--- + +## 2012-2013学年下学期期末试卷(A)(含答案) + +### 一、判断题(请判断以下叙述的正误,用 T 和 F 表示,并对错误的叙述进行改正,说明理由。20 分,每题 2 分) + +1. 分页或分段系统必须采用虚拟存储技术。 + +
+ 答案: + + F + +
+ + *** + +2. 以索引方式组织盘块(block)空间的文件中,索引表的每个表项描述一个文件盘块,含有相应盘块的逻辑盘块号和物理盘块号。 + +
+ 答案: + + F + +
+ + *** + +3. 最短寻道时间优先调度(SSTF)算法是每次选择离磁头当前位置最近的 I/O 请求,其寻道长度必然是最短的,但有可能出现饥饿现象。 + +
+ 答案: + + F + +
+ + *** + +4. 微内核操作系统中,CPU 调度、进程间通讯和虚存管理功能必须在微内核中实现。 + +
+ 答案: + + F + +
+ + *** + +5. 对于鼠标这样的低速字符设备,采用 DMA 方式进行数据交换是不合适的。 + +
+ 答案: + + T + +
+ + *** + +6. 在目录文件中,必须保存文件名和文件控制块信息。 + +
+ 答案: + + F + +
+ + *** + +7. 在虚存管理时,采用先进先出(FIFO)页面替换策略,必然会发生 Belady 异常(即分配页框越多,缺页率反而越高)。 + +
+ 答案: + + F + +
+ + *** + +8. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + F + +
+ + *** + +9. 假脱机(spooling)方式常被用于处理字符设备(character device),如终端,的 I/O 操作。 + +
+ 答案: + + F + +
+ + *** + +10. RAID 技术有助于增强存储系统的可靠性(availability),降低存储系统的响应时间(response time),但是会降低访问的吞吐率(throughput)。 + +
+ 答案: + + F + +
+ +*** + +### 二、单选题(30 分,每题 2 分) + +1. 地址空间的容量只受 ______ 的限制。 + + A. 物理内存大小 + + B. 磁盘空间大小 + + C. 内存和外存可使用总容量 + + D. 计算机地址位数 + +
+ 答案: + + D + +
+ + *** + +2. 采用分段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是 ______。 + + A. $2^{24}$ + + B. $2^{16}$ + + C. $2^8$ + + D. $2^{32}$ + +
+ 答案: + + B + +
+ + *** + +3. 在分页系统中,一个进程的页表如下所示: + + | Page No. | Frame No. | + | --- | --- | + | 0 | 2 | + | 1 | 1 | + | 2 | 6 | + | 3 | 3 | + | 4 | 7 | + + 如果页面大小为 $4\ \text{KB}$,则逻辑地址 0 所对应的物理地址为 ______。 + + A. 8192 + + B. 4096 + + C. 2048 + + D. 1024 + +
+ 答案: + + A + +
+ + *** + +对于接下来的 3 个问题,假设某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个内存块。 + +4. 采用 FIFO 页面置换算法会产生 ______ 次缺页中断。 + + A. 7 + + B. 8 + + C. 9 + + D. 10 + +
+ 答案: + + C + +
+ + *** + +5. 采用 LRU 页面置换算法会产生 ______ 次缺页中断。 + + A. 6 + + B. 7 + + C. 8 + + D. 9 + +
+ 答案: + + C + +
+ + *** + +6. 采用最优页面(OPT)置换算法会产生 ______ 次缺页中断。 + + A. 5 + + B. 6 + + C. 7 + + D. 8 + +
+ 答案: + + B + +
+ + *** + +对于接下来的 4 个问题,假定某磁盘共有 50 个柱面(编号为 0~49),如果在为访问 12 号柱面的请求者服务后,当前正在为访问 14 号柱面的请求者服务,同时有若干个请求者在等待服务,它们依次要访问的柱面号为:8、15、9、35、25、30、40 和 5(以上是按请求时间先后排序的),请选择最准确的答案。 + +7. 如果采用先来先服务(FCFS)调度算法,则满足所有这些请求过程中磁臂移过的总磁道数为 ______。 + + A. 50 + + B. 105 + + C. 120 + + D. 130 + +
+ 答案: + + B + +
+ + *** + +8. 如果采用最短寻道时间优先(SSTF)调度算法,则满足所有这些请求过程中磁臂移过的总磁道数为 ______。 + + A. 46 + + B. 47 + + C. 48 + + D. 49 + +
+ 答案: + + A + +
+ + *** + +9. 如果采用电梯调度算法(SCAN),则满足所有这些请求过程中磁臂移过的总磁道数为 ______。 + + A. 51 + + B. 61 + + C. 79 + + D. 44 + +
+ 答案: + + B + +
+ + *** + +10. 如果采用循环扫描(C-SCAN)调度算法,则满足所有这些请求过程中磁臂移过的总磁道数为 ______。 + + A. 44 + + B. 97 + + C. 48 + + D. 93 + +
+ 答案: + + A + +
+ + *** + +11. 以下哪一种程序(或程序片段)会自我复制、传播,进而威胁系统的安全? + + A. 计算机病毒 + + B. 特洛伊木马 + + C. 逻辑炸弹 + + D. 操作系统自举(bootstrap)文件 + +
+ 答案: + + A + +
+ + *** + +12. 以下哪种存储设备通常只支持顺序访问? + + A. 光盘 + + B. 磁盘 + + C. 磁带 + + D. U 盘 + +
+ 答案: + + C + +
+ + *** + +13. 当发生抖动(或称为颠簸,thrashing)时,以下哪种现象不会出现? + + A. 处于等待(waiting)状态的进程数增多 + + B. CPU 利用率增高 + + C. 磁盘 I/O 增多 + + D. 长程调度(long-term scheduling)允许更多的进程进入就绪(ready)状态 + +
+ 答案: + + B + +
+ + *** + +14. 以下哪个功能不是由设备驱动程序提供的? + + A. 提供标准的设备访问系统调用(如 open(), read() 等) + + B. 提供中断处理程序 + + C. 提供 DMA 控制功能 + + D. 提供内核直接访问设备的接口 + +
+ 答案: + + C + +
+ + *** + +15. 以下哪种数据结构必须存放在持久存储介质上? + + A. 进程控制块 + + B. 页表 + + C. 文件控制块 + + D. 打开文件列表 + +
+ 答案: + + C + +
+ +*** + +### 三、简答题(25 分,每题 5 分) + +1. 假定某请求分页系统中,内存有效访问时间(effective access time)为 1 微秒(1 微秒=$10^{-6}$ 秒),二级存储平均访问时间为 10 毫秒(1 毫秒=$10^{-3}$ 秒),试问如果希望虚拟存储系统的有效访问时间仅比内存增加不超过 $10\%$,则要求页面缺页率不大于多少? + +
+ 答案: + + 设页面缺页率为 f,则虚存的平均访问时间为: + + $(1-f)*1+10000*f=1+9999f$ + + 如果希望虚存的平均访问时间相比内存增加不超过 $10\%$,则 + + $1+9999f<1*(1+10\%)$ 也即 $1+9999f<1.1$ + + $f<0.1/9999 \approx 1/100000$ + +
+ + *** + +2. 假设某系统使用位图(bitmap)来管理空闲磁盘空间,而该位图在一次系统崩溃中损坏了,试问有没有办法恢复该位示图?如果可以,请简述重构该位示图的方法。并分析重构所需的代价。 + +
+ 答案: + + 先将位图所有位清零,然后从根目录开始,遍历搜索系统中的每个文件,对于找到的每个文件,获取分配给该文件的盘块信息,将位图中的相应位置为 1,直至遍历结束,新的位图就重构好了。 + +
+ + *** + +3. 请简述在一个支持有向无环图目录结构的文件系统中,删除一个普通文件(非目录文件)时操作系统需要执行哪些操作。 + +
+ 答案: + + 查看/更新引用计数,如果为零,更新目录文件,释放 FCB,释放磁盘数据块 + +
+ + *** + +4. 请简述页面替换算法中的 LRU 替换与时钟算法(第二次机会),并详细比较两者各自的优缺点。 + +
+ 答案: + + 要点:队列的维护代价 + +
+ + *** + +5. 请简述前向页表、反向页表、哈希页表(或称为散列页表)的数据结构,并分析其各自的优点。 + +
+ 答案: + + 要点:空间代价,查找代价 + +
+ +*** + +### 四、综合题(25 分) + +1. (10')假设文件系统的盘块大小为 $4\ \text{KB}$,某文件的物理存储方式采用链接方式,该文件首 5 个盘块的盘块号分别为 20、54、80、95 和 100。假如要访问该文件的第 15000 字节单元,请回答以下问题: + + (1)要访问的字节单元在哪个盘块上?其盘块号为多少?该字节单元是盘块内的第几字节? + + (2)要访问该字节单元需要访问多少个盘块?试图示上述的访问过程。(假如该文件的 FCB 已载入内存) + +
+ 答案: + + 该字节所在盘块的逻辑块号:$B=15000/4096=3$ (2 分) + + 所以该盘块的物理盘块号为:95 (2 分) + + 块内位移:$S=15000 \bmod 4096=2712$ (2 分) + + 该字节所在盘块为该文件的第四个盘块 + + 所以,要依次访问前面三个盘块后才可以获取该第四个盘块的指针,一共要进行磁盘 I/O 操作的次数为: $3+1=4$ (2 分) + + 图示上述的访问过程(略) (2 分) + +
+ + *** + +2. (15')假设有文件系统使用 i-node 如图所示。其中一个磁盘块大小为 $4\ \text{KB}$,一个磁盘块指针大小为 32 位($4\ \text{B}$),直接块(direct block)大小为 $2\ \text{KB}$,其它索引块大小和一个磁盘块一样大小。假设有一个 $4\ \text{MB}$ 大小的文件,其 i-node 已在内存中(direct block 也在内存中),文件的其它部分都在磁盘上,不考虑缓存。请问: + + a) 访问其第一个字节,第 $1\ \text{K}$ 个字节,第 $1\ \text{M}$ 个字节,第 $2\ \text{M}$ 个字节,第 $3\ \text{M}$ 个字节,和最后一个字节分别需要访问几个磁盘块(2'x5=10)? + + b) 该文件系统最大能支持多大的文件(5')? + + ![2012-2013学年下学期期末_A_综合题_第2题_i-node结构图_原图](./images/2012-2013学年下学期期末_A_综合题_第2题_i-node结构图_原图.png) + +
+ 答案: + + a) $1\ \text{K}$: 1, $1\ \text{M}$: 1, $2\ \text{M}$: 1, $3\ \text{M}$: 2, 最后:2 + + b) $2\text{K}/4*4\text{K}+4\text{K}/4*4\text{K}+4\text{K}/4*4\text{K}/4*4\text{K}$ + +
+ +*** + +## 2012-2013学年下学期期末试卷(B)(含答案) + +### 说明 + +- 本卷原卷标注为“软院A卷”,实则与上一张卷子内容不同,故当作B卷标记。 + +### 一、判断题(请判断以下叙述的正误,用 T 和 F 表示,并对错误的叙述进行改正,说明理由。20 分,每题 2 分) + +1. 线程都保存有各自的栈信息和 CPU 状态(寄存器、指令计数器等)。 + +
+ 答案: + + T + +
+ + *** + +2. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + F + +
+ + *** + +3. 单 CPU 环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。 + +
+ 答案: + + F + +
+ + *** + +4. 在微内核结构的操作系统中,进程间通讯可以不在微内核内。 + +
+ 答案: + + F + +
+ + *** + +5. 在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。 + +
+ 答案: + + T + +
+ + *** + +6. 对于像打印机这样的低速设备,采用 DMA 方式进行数据交换是不合适的; + +
+ 答案: + + F + +
+ + *** + +7. 在虚存管理时,采用 LRU 页面替换策略,可能会发生 Belady 异常(即分配页框越多,缺页率反而越高); + +
+ 答案: + + F + +
+ + *** + +8. RAID 技术总是以牺牲磁盘访问性能来换取容错性的提高。 + +
+ 答案: + + F + +
+ + *** + +9. 目录文件其实就是文件控制块(FCB)。 + +
+ 答案: + + F + +
+ + *** + +10. 操作系统内核是一个特殊的进程,在系统启动后以运行(running)或者就绪(ready)状态存在。 + +
+ 答案: + + F + +
+ +*** + +### 二、单选题(20 分,每题 2 分) + +1. 当发生抖动(或称为颠簸,thrashing)时,以下哪种现象不会出现? + + A. 处于等待(waiting)状态的进程数增多 + + B. CPU 利用率增高 + + C. 磁盘 I/O 增多 + + D. 长程调度(long-term scheduling)允许更多的进程进入就绪(ready)状态 + +
+ 答案: + + B + +
+ + *** + +2. 多 CPU 共享内存环境下,以下哪种实现临界区的方法无效? + + A. 使用 test_and_set 机器指令实现“忙等”(busy waiting) + + B. Peterson 算法 + + C. 关中断 + + D. 使用 swap 机器指令实现“忙等” + +
+ 答案: + + C + +
+ + *** + +3. 以下哪种情况仍然可能会发生死锁? + + A. 资源都是可共享的; + + B. 每一种资源的数量都超过单个进程所需这类资源的最大值; + + C. 空闲资源能够满足任意一个进程还需要的资源需求; + + D. 每个进程必须一次申请、获得所需的所有资源 + +
+ 答案: + + B + +
+ + *** + +4. 以下哪种数据结构必须存放在持久存储介质上? + + A. 进程控制块 + + B. 页表 + + C. 文件控制块 + + D. 打开文件列表 + +
+ 答案: + + C + +
+ + *** + +5. 以下哪种海量存储技术对于提升存储系统的容错性没有直接帮助? + + A. 无冗余(non-redundant)的条带化(striping) + + B. 映像(mirroring) + + C. 按位奇偶校验(bit-interleaved parity) + + D. 按块奇偶校验(block-interleaved parity) + +
+ 答案: + + A + +
+ + *** + +6. 以下哪一种程序(或程序片段)常通过伪装成其它程序,引诱用户运行,从而威胁系统的安全? + + A. 计算机病毒 + + B. 特洛伊木马 + + C. 逻辑炸弹 + + D. 操作系统自举(bootstrap)文件 + +
+ 答案: + + B + +
+ + *** + +7. 以下哪一种机制能够帮助系统管理员防止攻击者窃听在公共网络上传输的数据? + + A. 加密 + + B. 认证 + + C. 访问控制矩阵 + + D. 防火墙 + +
+ 答案: + + A + +
+ + *** + +8. 以下哪种存储设备不需要进行空闲块管理? + + A. 只读光盘 + + B. 磁盘 + + C. 磁带 + + D. U 盘 + +
+ 答案: + + A + +
+ + *** + +9. 以下哪个操作不是磁盘格式化进行的? + + A. 划分扇区和磁道 + + B. 建立空闲 FCB 列表 + + C. 建立空闲块列表 + + D. 设定根目录文件 + +
+ 答案: + + A + +
+ + *** + +10. 以下哪种数据结构不必以内核态进行访问? + + A. 进程控制块 + + B. 页表 + + C. 文件控制块 + + D. 以上皆非 + +
+ 答案: + + D + +
+ +*** + +### 三、简答题(20 分,每题 5 分) + +1. 程序控制输入输出(programmed I/O)和直接内存访问(DMA)哪种对于高速 I/O 访问效率较高,为什么?。(5') + +
+ 答案: + + PIO 时,CPU 需要介入每一次数据交换;DMA 方式时,CPU 只在数据交换开始/结束时介入,其它时候,由 DMA 控制器协调 I/O 设备和内存利用总线进行数据交换。由于此时 CPU 和 I/O 设备几乎并行,因此与 PIO 方式相比,节省了大量中断、CPU 介入时间。 + +
+ + *** + +2. 请简述在一个支持有向无环图目录结构的文件系统中,链接一个普通文件(非目录文件)时操作系统需要执行哪些操作。(5') + +
+ 答案: + + 查看/更新引用计数,更新目录文件 + +
+ + *** + +3. 请问哪种文件块分配方式有利于顺序访问文件的效率,为什么?。(5') + +
+ 答案: + + 顺序分配,因为行为可预测,预取效果好。 + +
+ + *** + +4. 请简述磁盘访问效率由哪些部分决定,并分析如何提高文件系统中顺序访问文件的效率。(5') + +
+ 答案: + + 定位时间+传输速度。前者又包括:旋转速度和寻道事件 + +
+ +*** + +### 四、辨析题:请分别解释以下每组的两个名词,并列举他们的区别(25 分,每题 5 分) + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +2. 程序控制输入输出(programmed I/O)与直接内存访问(DMA) + +
+ 答案: + + PIO:CPU 直接发出对于 I/O 的指令 + + DMA:CPU 在交换开始、结束时介入,其他时候由 DMA 控制器协调 I/O 设备和内存间利用总线的数据交换。 + + DMA 通常能够节省大量中断和 CPU 介入的时间,有利于大批量数据的交换 + +
+ + *** + +3. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +4. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +5. 二级存储(secondary storage)与三级存储(tertiary storage) + +
+ 答案: + + 二级存储:通常指磁盘,用于存储文件、交换空间、虚存 + + 三级存储:较慢、但具有较大容量的持久存储介质,包括光盘、磁带等,通常用于转储、备份 + + 和三级存储相比,二级存储通常访问速度较快、单位容量价格较高。三级存储通常具有存储介质与存储驱动器分离的特点,所以价格较低,也也导致随机访问速度较慢。 + +
+ +*** + +### 五、设计题(10 分) + +在一个需要频繁读和追加数据(即写在文件末尾)的场合,有写操作,但没有插入操作。已知每次读或写操作都会读出或写入相当大规模的数据(但未必是磁盘块大小的整数倍),但是开始读或写的位置可能出现在文件的任何地方。 + +a) 请问:连续磁盘块分配、链接分配、索引分配分别是否适合这一场景,并给出理由(3'); + +b) 假设在 FCB 中,还剩余 $256\ \text{B}$ 的空间,请参考 UNIX 文件系统的 i-node 结构,设计一个多级的包含直接块和间接索引的块管理方式,并分析该方式与以上三种方式相比的优缺点。(7') + +
+答案: + +略 + +
+ +*** + +### 六、证明题(5 分) + +请证明 LRU 页面替换策略不会导致 Belady 异常。 + +
+答案: + +略(可用数学归纳法或反证法) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..2163774 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,371 @@ +--- +title: 2013-2014学年上学期期中 +--- + +## 2013-2014学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院期中考试卷(2013—2014学年第一学期) + +### 一、是非题(请判断以下论述是否正确。正确的标T;错误的标F,指出错误所在并修正)(2’*4=8’) + +1. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + F,页表由操作系统管理。 + +
+ + *** + +2. 单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。 + +
+ 答案: + + F,临界资源只与访问他的进线程数有关,与系统正在运行的进线程数无关。 + +
+ + *** + +3. 在微内核结构的操作系统中,CPU调度必然在微内核内。 + +
+ 答案: + + T + +
+ + *** + +4. 在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。 + +
+ 答案: + + T + + :::tip + 原参考答案将本题判为 T,疑似有误。抢占式调度允许操作系统抢占 CPU,但不代表进程持有的资源可以被抢占,因此系统仍可能满足死锁的必要条件。 + ::: + +
+ +*** + +### 二、(32')问答题 + +1. (5')请详细描述一个用户态线程调用sleep()系统调用后,操作系统所执行的任务。并分析其中每一个步骤的代价大小。 + +
+ 答案: + + 1、系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。代价中 + + 2、sleep() 将当前进程放入waiting队列(设置alarm)代价小 + + 3、CPU调度(context switch)代价大 + + 4、系统调用结束,返回,mode-switch 代价中 + +
+ + *** + +2. (12')假设线程有运行(running)、就绪(ready)和等待(waiting)三种状态。请分别说明什么时候会发生以下状态转换: + + a) 运行 ==> 等待 (4') + +
+ 答案: + + running-->waiting:等待i/o、信号量P操作... + + 针对running-->waiting部分同学写的系统中断,这个解释是不完整的,系统中断分为多种情况,当前线程发出缺页中断等中断时,系统会进行中断处理并将该线程阻塞,但若是外部的时钟中断或i/o中断到达,系统在处理这些中断时,当前线程会进入就绪队列。 + +
+ + b) 就绪 ==> 运行 (4') + +
+ 答案: + + ready-->running:时间片到,前一进程结束/等待... + +
+ + c) 等待 ==> 就绪 (4') + +
+ 答案: + + waiting-->ready:i/o结束、获得信号量,... + +
+ + *** + +3. (15')请简述计算机系统启动,直到运行第一个用户应用程序,然后派生出第二个线程的整个过程中的可能的步骤,并分析每一个步骤的代价(大/中/小),说明理由。 + +
+ 答案: + + 计算机启动过程:硬件检测、加载引导程序(Bootstrap)代价中 + + 将操作系统内核加载至内存、初始化并运行操作系统代价大 + + 操作系统构建进程树,创建用户进程代价中 + + 用户进程创建:初始化PCB(中),生成地址映射(小),拷贝用户程序到地址空间(大),根据需要创建线程 + + 线程创建:初始化TCB、寄存器状态等(小),相比进程创建代价小。 + +
+ + *** + +### 三、(43')计算题 + +1. (15')使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在快表(或称旁路转换缓存,TLB)中。一次内存访问的代价为 $200\ \text{ns}$,一次TLB访问代价为 $10\ \text{ns}$。 + + a). 请写出以上段页式内存访问的处理流程(也可以用图示表示)(5') + +
+ 答案: + + a. 访问段表,检查是否违法,获取页表地址 + + b. 访问快表,如果miss goto c,否则goto d + + c. 访问内存页表 + + d. 访问内存 + +
+ + b). 假设TLB的命中率为50%,请计算进程对内存的有效访问时间 (effective access time)(5') + +
+ 答案: + + 答: + + $200 + 50\% \times 10 + (1-50\%) \times 210 + 200$ + + $= 510\text{ns}$ + +
+ + c). 如果要求进程对内存的有效访问时间不大于500ns,请问TLB的命中率必须提高到多少?(5') + +
+ 答案: + + 答: + + $200+ x \times 10 + (1-x) \times 210 + 200$ + + $=610-200x\le 500$ + + $x\ge 110/200=55\%$ + +
+ + *** + +2. (16') 已知就绪队列中已有4个进程,所需要的CPU时间按到达次序分别为28,5,43,35个毫秒;在第10毫秒到达第五个进程,它所需要的CPU时间为8个毫秒。请写出在先来先服务(First-Come-First-Serve,FCFS)、以5毫秒和20毫秒为单位的轮询(Round-Robin)、最短作业优先(Shortest Job First)这四种不同的CPU调度下,这些进程的调度序列(可用甘特图(Gantt Chart)表示)(3' x 4),并分别计算四种不同情况下的平均响应时间(平均等待时间)(1' x 4)。 + +
+ 答案: + + FCFS: 28, 5, 43, 35, 8. + + 平均响应时间=平均等待时间=$(28+33+76+(111-10))/5=47.6$ + + RR(5): + + ```text + p1(5,23),p2(5,0),p3(5,38),p4(5,30),p1(5,18),p5(5,3),p3(5,33),p4(5,25),p1(5,13),p5(3,0), + p3(5,28),p4(5,20),p1(5,8),p3(5,23),p4(5,15),p1(5,3),p3(5,18),p4(5,10),p1(3,0),p3(5,13), + p4(5,5),p3(5,8),p4(5,0),p3(5,3),p3(3,0) + ``` + + p1: $15+15+13+10+10=63$ + + p2: $5$ + + p3: $10+15+13+10+10+8+5+5=76$ + + p4: $15+15+13+10+10+8+5=76$ + + p5: $15+15=30$ + + 平均响应时间=$(0+5+10+15+25-10)/5=9$ + + 平均等待时间=$(63+5+76+76+30)/5=50$ + + RR(20): + + ```text + p1(20,8),p2(5,0),p3(20,23),p4(20,15),p5(8,0),p1(8,0),p3(20,3),p4(15,0),p3(3,0) + ``` + + p1: $53$ + + p2: $20$ + + p3: $25+36+15=76$ + + p4: $45+36=81$ + + p5: $55$ + + 平均响应时间=$(0+20+25+45+65-10)/5=29$ + + 平均等待时间=$(53+20+76+81+55)/5=57$ + + SJF: + + p2(5), p1(28), p5(8), p4(35), p3(43) + + 平均响应时间=平均等待时间=$(5+0+76+41+23)/5$ + +
+ + *** + +3. (12')现有5个进程(P0-P4),3类资源(A:9, B:5, C:5),当前的系统状态如下: + + ![资源分配表](./images/2013-2014学年上学期期中_计算题_第3题_资源分配表.png) + + 系统剩余的资源为:Available: (2, 3, 0) + + 请问: + + a) 如果系统不允许资源抢占,系统当前是否处于安全状态?如果不处于安全状态,请写出可能发生死锁的进程,并画出它们之间的等待图(wait-for graph);如果处于安全状态,请写出进程执行的序列。(8') + + b) 请问系统是否一定发生死锁?为什么?(4‘) + +
+ 答案: + + a) 不安全。 + + 5个线程都可能产生死锁,出现死锁的可能情况有多种,所以任意写一种即可。等待图由于是多实例等待图,没有标准的画法,因此只要表现出互相之间的等待关系即可。单实例等待图为重点,多实例等待图我也不太会画=。=你们谁要是会的话教我。。 + + b) 不一定。各线程资源请求不一定同时达到max,或部分线程主动释放资源。 + + 这里部分同学写的在抢占情况下不一定死锁,这么说虽然没错,但是实际在非抢占情况下也不一定死锁,所以这里大家留意一下。不安全表示着有死锁的可能,但死锁并不是一定发生的。 + +
+ + *** + +### 四、(17')设计题 + +1. (5') 请使用二元信号量(binary semaphore,即值只能为0或1的信号量)实现计数信号量(counting semaphore,取值可为任意整数)。 + +
+ 答案: + + 这道题的解决思路主要关注两点:1、计数信号量的机制,当信号量为正数时,任何wait线程可以获得资源,当信号量为0或负数时,所有wait线程要等待,直到有新的资源返还才可以执行。2、在实现上,通过对value值的增减实现资源调配,当value小于等于0时意味着当前线程应当进入阻塞状态,并等待signal的唤醒,而signal端在返还资源时,若当前value为负数意味着有线程在等待,此时应当唤醒一个wait线程,将返还的资源给它。 + + 这里面有多种实现方法,首先书上的6.5.2实现里面有计数信号量的相关代码: + + ```c + wait(semaphore *S) { + S->value--; + if (S->value < 0) { + add this process to S->list; + block(); + } + } + + signal(semaphore *S) { + S->value++; + if (S->value <= 0) { + remove a process P from S->list; + wakeup(P); + } + } + ``` + + 此外,借用二进制信号量也可以实现: + + ```c + semaphore binary=0; + + wait(semaphore *S) { + S->value--; + if (S->value < 0) { + wait(binary); + } + } + + signal(semaphore *S) { + S->value++; + if (S->value <= 0) { + signal(binary); + } + } + ``` + +
+ + *** + +2. (12')有A、B两个线程,需要协同工作。A和B的程序逻辑分别如下: + + ```c + A() + { + A的自身处理代码; + // A和B的同步点,即双方都要执行完自身代码; + A的协同代码; + } + + B() + { + B的自身处理代码; + // A和B的同步点,即双方都要执行完自身代码; + B的协同代码; + } + ``` + + (8')请使用信号量,实现A和B的第4行同步点; + + (4')请说明为什么你的实现是正确的;你的实现是否会导致死锁。 + +
+ 答案: + + 同步点的主要目的是保证A、B两个线程在执行后续协同代码之前,已经完成了各自的自身处理代码。因此每个线程同步点的设计原则是在同步点处确认对方也已经到达同步点。因此设计非常简单: + + ```c + semaphore a=0,b=0; + + A + { + signal(b); //告知对方我已到达同步点 + wait(a); //等待对方的通知信号 + } + + B + { + signal(a); + wait(b); + } + ``` + + 这里需要注意死锁问题:1、wait不能在signal之前,或者说两个线程的wait至少有一个不在signal之前,否则两个线程都在等待对方信号,但都无法发送出信号,导致死锁。2、信号的初始化必须为0,否则假设a为1,则A线程完全可以不需要等待B线程执行就可以一直顺畅的执行下去,破坏了同步点的作用。部分同学在自己的设计方案中忽略了这个问题,导致方案错误。 + + 此外,该设计思路不需要限定A与B线程的执行顺序,部分同学通过互斥信号量的方式限定了A和B的执行顺序,虽然也可以最终实现协同,但从代码效率上来讲并不好。 + + 基本上答案已经包含在a)的设计思路中了,正确的设计思路不会导致死锁。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..ecae810 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,499 @@ +--- +title: 2013-2014学年下学期月考 +--- + +## 2013-2014学年下学期月考试卷(含答案) + +### 说明 + +- 日期:2014.3 + +### 一、多选题(本大题共 5 小题,每小题 3 分,共 15 分) + +1. 以下哪些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态( ) + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用 yield(),主动放弃使用 CPU + + *** + +2. 当从“新建(new)”状态进入“就绪(ready)”状态的进程增多时,下面哪种情况不会发生( ) + + A. I/O 操作的频度升高; + + B. CPU 利用率下降 + + C. CPU 利用率上升 + + D. 进程的平均响应时间减少 + + *** + +3. 以下描述正确的是( ) + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高 CPU 和 I/O 的并行度 + + *** + +4. 以下哪些(个)对于微内核操作系统的描述是正确的?( ) + + A. Microsoft Windows 是微内核操作系统,但 Linux 不是; + + B. 进程间通信必须在微内核内实现; + + C. 因为用户进程不应访问页表,因此虚存应该在微内核内实现; + + D. 操作系统设计时采用微内核结构可以提高操作系统执行的效率。 + + *** + +5. 以下对于线程的描述哪些(个)是错误的( ) + + A. 一个用户态线程的阻塞(block)会引起它所属的整个进程(包括其中的其它线程)的阻塞; + + B. 同一个进程的不同线程可以共享地址空间中的堆; + + C. 线程间通信必须通过内核态系统调用进行; + + D. 同一个进程的不同线程必须维护各自的调用栈和 CPU 状态。 + +*** + +### 二、辨析题:请分别解释以下每组的两个名词,并列举他们的区别。(30 分,每小题 5 分) + +1. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 区别:分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +2. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 区别:长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +3. 网络操作系统和分布式操作系统 + +
+ 答案: + + 网络操作系统:支持网络的操作系统 + + 分布式操作系统:可管理分布式系统的操作系统 + + 区别:采用分布式操作系统,分布的计算机对于用户是透明的。 + +
+ + *** + +4. 微内核和模块化内核 + +
+ 答案: + + 微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯) + + 模块化内核:操作系统内核的一些功能可以作为模块挂载 + + 区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。 + +
+ + *** + +5. 核心态和用户态 + +
+ 答案: + + 核心态:操作系统内核执行的受保护的状态 + + 用户态:用户进程执行所在的状态 + + 区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态。 + +
+ + *** + +6. 最短作业优先调度和最短剩余时间优先调度 + +
+ 答案: + + 最短作业优先调度:进程调度时,挑选执行时间最短的作业进行执行 + + 最短剩余时间优先调度:进程调度时,挑选剩余执行时间最短的作业进行执行 + + 区别:前者是不可占先的(non-preemptive) + +
+ +*** + +### 三、综合分析题(39 分) + +1. (10 分) + + (1)进程创建时(如在类 UNIX 操作系统中,连续执行 fork() 和 exec() 系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)。(6 分) + +
+ 答案: + + 进程创建时,操作系统工作如下: + + a. 构造 PCB,代价小 + + b. 设置地址空间映射,代价中 + + c. 复制父进程地址空间内容,代价大 + + d. 复制 I/O 状态,代价中 + +
+ + (2)为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4 分) + +
+ 答案: + + 同一进程的不同线程共享资源,因此以上 b, c, d 三项代价几乎都可节省 + +
+ + *** + +2. 请详细描述一个用户态线程调用 sleep() 系统调用后,操作系统所执行的任务。(8 分) + +
+ 答案: + + 1. 系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。 + + 2. sleep() 将当前进程放入 waiting 队列(设置 alarm) + + 3. CPU 调度(context switch) + + 4. 系统调用结束,返回,mode-switch + +
+ + *** + +3. (12 分)请标注以下进程状态转换图中状态转换的箭头方向(标于图上)(每个 0.5 分),并例举其中每一种状态转换的一个例子(每个 1 分)。 + + ![2014.3 月考综合分析题第 3 题进程状态转换图](./images/2013-2014学年下学期月考_2014.3_综合分析题_第3题_进程状态转换图.png) + +
+ 答案: + + (1): new --> ready:从 shell 启动程序或者 fork 进程 + + (2): running -> ready:高优先级程序运行,时间片到,... + + (3): ready --> running:时间片到,前一进程结束/等待... + + (4): running --> terminated:exit + + (5): running --> waiting:等待 i/o、信号量 P 操作... + + (6): waiting --> ready:i/o 结束、获得信号量,... + + (7): waiting --> suspended:虚存时,内存不够 + + (8): suspended --> ready:得到 i/o 结束、获得信号量,... + +
+ + *** + +4. 判断下列每句话是否正确,并说明理由。(9 分,每小题 3 分) + + (1)线程都保存有各自的栈信息、CPU 状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + F + +
+ + (2)对于内核支持的线程,当该线程执行系统调用被阻塞时,不仅该线程被阻塞,而且同一进程内的所有线程都会被阻塞。 + +
+ 答案: + + F + +
+ + (3)对于用户级线程,由于所有有关线程管理的代码都是在用户程序库内部实现的,因此可以在不支持线程机制的操作系统平台上实现。而且在不干扰系统调度的前提下,可以指定特定的调度算法。 + +
+ 答案: + + T + +
+ +*** + +### 四、计算题:(16 分) + +已知就绪队列中已有 4 个进程,所需要的 CPU 时间按到达次序分别为 28,5,43,35 个毫秒;在第 10 毫秒到达第五个进程,它所需要的 CPU 时间为 8 个毫秒。请写出在先来先服务(First-Come-First-Serve,FCFS)、以 5 毫秒和 20 毫秒为单位的轮询(Round-Robin)、最短作业优先(Shortest Job First)这四种不同的 CPU 调度下,这些进程的调度序列(可用甘特图(Gantt Chart)表示)(3 分 x 4),并分别计算四种不同情况下的平均等待时间(1 分 x 4)。 + +
+答案: + +FCFS: 调度序列 28, 5, 43, 35, 8. 平均等待时间=(28+33+76+(111-10))/5 + +RR(5): 调度序列 + +p1(5,23),p2(5,0),p3(5,38),p4(5,30), p5(5,3),p1(5,18) ,p3(5,33),p4(5,25), p5(3,0),p1(5,13) p3(5,28),p4(5,20),p1(5,8),p3(5,23),p4(5,15),p1(5,3),p3(5,18),p4(5,10),p1(3,0),p3(5,13), p4(5,5),p3(5,8),p4(5,0),p3(5,3),p3(3,0) + +计算 RR(5)的平均等待时间 p1: 20+13+10+10+10=63 + +p2: 5 + +p3: 10+15+13+10+10+8+5+5=76 + +p4: 15+15+13+10+10+8+5=76 + +p5: 10+15=25 + +平均等待时间=(63+5+76+76+25)/5=49 + +RR(20) 调度序列 p1(20,8),p2(5,0),p3(20,23),p4(20,15),p5(8,0),p1(8,0),p3(20,3),p4(15,0),p3(3,0) + +计算 RR(20)的平均等待时间 p1: 53 + +p2: 20 + +p3: 25+36+15=76 + +p4: 45+36=81 + +p5: 55 + +平均等待时间= (53+20+76+81+55)/5 + +SJF 调度序列 p2(5), p1(28), p5(8), p4(35), p3(43) + +平均等待时间= (5+0+76+41+23)/5 + +
+ +*** + +## 2013-2014学年下学期月考试卷(含答案) + +### 说明 + +- 日期:2014.5 + +### 一、选择题(每个 5 分,共 20 分) + +1. 以下对于目录及其实现的描述,错误的是:( ) + + A. 目录是文件的集合,是一种逻辑概念,通常用文件实现 + + B. 目录文件中存放的就是目录中文件的文件控制块(file control block) + + C. 目录中可以有子目录,形成嵌套结构 + + D. 目录中的“.”和“..”通常分别代表该目录本身和其父目录 + +
+ 答案: + + B + +
+ + *** + +2. 当发生抖动(或称为颠簸,thrashing)时,以下哪种现象不会出现?( ) + + A. 处于等待(waiting)状态的进程数增多 + + B. CPU 利用率增高 + + C. 磁盘 I/O 增多 + + D. 长程调度(long-term scheduling)允许更多的进程进入就绪(ready)状态 + +
+ 答案: + + B + +
+ + *** + +3. 以下对于目录及其实现的描述,正确的是:( ) + + A. 目录就是文件控制块(file control block) + + B. 目录是文件控制块的集合,它通常使用一种特殊的文件控制块实现 + + C. 通过链接,文件在不同目录下可以有不同的文件名;目录虽然也可以链接,但是不能有不同目录名 + + D. 根目录的父目录是其本身 + +
+ 答案: + + D + +
+ + *** + +4. 以下哪种数据结构必须存放在持久存储介质上?( ) + + A. 进程控制块 + + B. 页表 + + C. 文件控制块 + + D. 打开文件列表 + +
+ 答案: + + C + +
+ +*** + +### 二、简述题(20 分) + +请分别简述在一个支持有向无环图目录结构的文件系统中,进行下列操作时,操作系统需要执行哪些操作。 + +1. 删除一个普通文件(非目录文件) + +
+ 答案: + + 查看/更新引用计数,如果为零,更新目录文件,释放 FCB,释放磁盘数据块 + +
+ + *** + +2. 链接一个普通文件(非目录文件) + +
+ 答案: + + 查看/更新引用计数,更新目录文件 + +
+ +*** + +### 三、解答题(60 分) + +1. 采用按需调页(demand paging),现有 3 个页框,分别存储着页面号 2,3,4 三个页面。已知接下来的页面访问顺序为 1,2,3,4,1,2,5,1,2,3,4,5。使用时钟算法(clock algorithm)作为页面替换算法。(20 分) + + 请计算会发生的缺页次数(假设初始时在页框内的页面的引用位(reference bit)都是 1,2/3/4 三个页面按序存放,初始时指针指向页面 2)?(10 分) + +
+ 答案: + + ```text + 2(1*), 3(1), 4(1): 1x + 1(1), 3(0*), 4(0): 2x + 1(1), 2(1), 4(0*): 3x + 1(1*), 2(1), 3(1): 4x + 4(1), 2(0*), 3(0): 1x + 4(1), 1(1), 3(0*): 2x + 4(1*), 1(1), 2(1): 5x + 5(1), 1(0*), 2(0): 1 + 5(1), 1(1*), 2(0): 2 + 5(1), 1(1*), 2(1): 3x + 5(0), 3(1), 2(0*): 4x + 5(0*), 3(1), 4(1): 5 + 5(1), 3(1), 4(1) + 9次缺页 + ``` + +
+ + 请写出这一访问序列所对应的工作集。(10 分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +2. 假设某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个内存块。分别写出采用 FIFO、LRU、OPT 页面置换算法时,页面走向;并给出缺页中断次数。 + +
+ 答案: + + 9、8、6 次 + +
+ + *** + +3. 假设有文件系统使用 i-node 如图所示。其中一个磁盘块大小为 $4\ \text{KB}$,一个磁盘块指针大小为 32 位($4\ \text{B}$),直接块(direct block)大小为 $2\ \text{KB}$,其它索引块大小和一个磁盘块一样大小。假设有一个 $4\ \text{MB}$ 大小的文件,其 i-node 已在内存中(direct block 也在内存中),文件的其它部分都在磁盘上,不考虑缓存。请问: + + ![2013-2014学年下学期月考_解答题_第3题_i-node结构图](./images/2013-2014学年下学期月考_解答题_第3题_i-node结构图.png) + + a) 访问其第一个字节,第 $1\ \text{K}$ 个字节,第 $1\ \text{M}$ 个字节,第 $2\ \text{M}$ 个字节,第 $3\ \text{M}$ 个字节,和最后一个字节分别需要访问几个磁盘块? + +
+ 答案: + + $1\ \text{K}$: 1, $1\ \text{M}$: 1, $2\ \text{M}$: 1, $3\ \text{M}$: 2,最后:2 + +
+ + b) 该文件系统最大能支持多大的文件? + +
+ 答案: + + $2\text{K}/4*4\text{K}+4\text{K}/4*4\text{K}+4\text{K}/4*4\text{K}/4*4\text{K}$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..4be67b8 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,346 @@ +--- +title: 2013-2014学年下学期期中 +--- + +## 2013-2014学年下学期期中试卷(含答案) + +### 说明 + +- 原卷标题:操作系统 2014年 期中考试试题 + +### 一、是非题(请判断以下论述是否正确。正确的标T;错误的标F,指出错误所在并修正)(2’*4=8’) + +1. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + F + +
+ + *** + +2. 单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。 + +
+ 答案: + + F + +
+ + *** + +3. 在微内核结构的操作系统中,CPU调度必然在微内核内。 + +
+ 答案: + + T + +
+ + *** + +4. 在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。 + +
+ 答案: + + T + +
+ +*** + +### 二、(32')问答题 + +1. (5')请详细描述一个用户态线程调用sleep()系统调用后,操作系统所执行的任务。并分析其中每一个步骤的代价大小。 + +
+ 答案: + + 略 + + 1、系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。代价大 + + 2、sleep() 将当前进程放入waiting队列(设置alarm)代价要具体分析决定,一般较小 + + 3、CPU调度(context switch)代价中 + + 4、系统调用结束,返回,mode-switch 代价小 + +
+ + *** + +2. (12')假设线程有运行(running)、就绪(ready)和等待(waiting)三种状态。请分别说明什么时候会发生以下状态转换: + + a) 运行 ==> 等待 (4') + +
+ 答案: + + 执行→阻塞 + + 正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。 + +
+ + b) 就绪 ==> 运行 (4') + +
+ 答案: + + 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成运行状态。 + +
+ + c) 等待 ==> 就绪 (4') + +
+ 答案: + + 等待状态的进程在等待的事件发生后,就又具备了继续执行的条件,该进程状态由等待状态改为就绪状态,插到就绪队列。 + +
+ + *** + +3. (15')请简述计算机系统启动,直到运行第一个用户应用程序,然后派生出第二个线程的整个过程中的可能的步骤,并分析每一个步骤的代价(大/中/小),说明理由。 + +
+ 答案: + + 以上可供参考,主要观点答对就可以。 + + 装入引导程序,代价中 + + 主要数据结构初始化,代价中 + + 生成用户的图形用户界面 ,代价大 + + 存储空间,与文件系统有关的初始化,代价大 + + 运行第一个用户应用程序,创建进程,代价大 + + 派生出第二个线程,代价小 + +
+ + *** + +### 三、(43')计算题 + +1. (15')使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在快表(或称旁路转换缓存,TLB)中。一次内存访问的代价为 $200\ \text{ns}$,一次TLB访问代价为 $10\ \text{ns}$。 + + a). 请写出以上段页式内存访问的处理流程(也可以用图示表示)(5') + +
+ 答案: + + a. 访问段表,检查是否违法,获取页表地址 + + b. 访问快表,如果miss goto c,否则goto d + + c. 访问内存页表 + + d. 访问内存 + +
+ + b). 假设TLB的命中率为50%,请计算进程对内存的有效访问时间 (effective access time)(5') + +
+ 答案: + + $200 + 50\% \times 10 + (1-50\%) \times 210 + 200$ + + $= 510\text{ns}$ + +
+ + c). 如果要求进程对内存的有效访问时间不大于500ns,请问TLB的命中率必须提高到多少?(5') + +
+ 答案: + + $200+ x \times 10 + (1-x) \times 210 + 200$ + + $=610-200x\le 500$ + + $x\ge 110/200=55\%$ + +
+ + *** + +2. (16') 已知就绪队列中已有4个进程,所需要的CPU时间按到达次序分别为28,5,43,35个毫秒;在第10毫秒到达第五个进程,它所需要的CPU时间为8个毫秒。请写出在先来先服务(First-Come-First-Serve,FCFS)、以5毫秒和20毫秒为单位的轮询(Round-Robin)、最短作业优先(Shortest Job First)这四种不同的CPU调度下,这些进程的调度序列(可用甘特图(Gantt Chart)表示)(3' x 4),并分别计算四种不同情况下的平均响应时间(1' x 4)。 + +
+ 答案: + + FCFS: (0+28+33+76+(111-10))/5 = 47.5 + + RR(5): + + p1: 0 + + p2: 5 + + p3: 10 + + p4: 15 + + p5: 20 - 10 + + (0+5+10+15+10)/5 = 8 + + RR(20): + + p1: 0 + + p2: 20 + + p3: 25 + + p4: 45 + + p5: 65 - 10 + + (0+20+25+45+55)/5 = 29 + + SJF: + + p2:0 + + p1:5 + + p5:33 – 10 + + p4:41 + + p3:76 + + (5+0+23+41+76)/5 = 29 + +
+ + *** + +3. (12')现有5个进程(P0-P4),3类资源(A:9, B:5, C:5),当前的系统状态如下: + + ![资源分配表](./images/2013-2014学年下学期期中_计算题_第3题_资源分配表.png) + + | | Allocation A | Allocation B | Allocation C | Max A | Max B | Max C | + | --- | --- | --- | --- | --- | --- | --- | + | P0 | 0 | 1 | 0 | 7 | 5 | 3 | + | P1 | 2 | 0 | 0 | 3 | 2 | 2 | + | P2 | 3 | 0 | 2 | 9 | 0 | 2 | + | P3 | 2 | 1 | 1 | 2 | 2 | 2 | + | P4 | 0 | 0 | 2 | 4 | 3 | 3 | + + 系统剩余的资源为:Available: (2, 3, 0) + + 请问: + + a) 如果系统不允许资源抢占,系统当前是否处于安全状态?如果不处于安全状态,请写出可能发生死锁的进程,并画出它们之间的等待图(wait-for graph);如果处于安全状态,请写出进程执行的序列。(8') + + b) 请问系统是否一定发生死锁?为什么?(4‘) + +
+ 答案: + + a) 不安全。等待图: + + ![等待图](./images/2013-2014学年下学期期中_计算题_第3题_等待图_答案.png) + + b) 不一定:max不一定同时达到(或主动释放) + +
+ + *** + +### 四、(17')设计题 + +1. (5') 请使用二元信号量(binary semaphore,即值只能为0或1的信号量)实现计数信号量(counting semaphore,取值可为任意整数)。 + +
+ 答案: + + 计数信号量:信号量的值在0到一个大于1的限制值 + + ```c + Semaphore b =1 (binary semaphore) + int s=1; + s表示资源数目,计数信号量, 0.. n + + while(true) + { + P(b) + s=s-1; + V(b) + s = s+1; + } + ``` + +
+ + *** + +2. (12')有A、B两个线程,需要协同工作。A和B的程序逻辑分别如下: + + ```c + A() + { + A的自身处理代码; + // A和B的同步点,即双方都要执行完自身代码; + A的协同代码; + } + + B() + { + B的自身处理代码; + // A和B的同步点,即双方都要执行完自身代码; + B的协同代码; + } + ``` + + a)(8')请使用信号量,实现A和B的第4行同步点; + + b)(4')请说明为什么你的实现是正确的;你的实现是否会导致死锁。 + +
+ 答案: + + a) + + ```c + Semaphore SA =1,SB=1; + A() + { + P(SA); + A的自身处理代码; + V(SA); + // A和B的同步点,即双方都要执行完自身代码; + P(SB) + A的协同代码; + V(SB) + } + + B() + { + P(SB); + B的自身处理代码; + V(SB); + // A和B的同步点,即双方都要执行完自身代码; + P(SA) + A的协同代码; + V(SA) + } + ``` + + b) 不会死锁,不会出现资源环路等待。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..68a231b --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,466 @@ +--- +title: 2013-2014学年下学期期末 +--- + +## 2013-2014学年下学期期末试卷(A)(含答案) + +### 一、判断题(20 分,每题 2 分。正确的用 T 表示;错误的用 F 表示,并修正,未修正的不给分) + +1. 一个用户进程执行系统调用时,运行在核心态、系统上下文中。 + +
+ 答案: + + F(很可能在用户上下文) + +
+ + *** + +2. 当一个用户进程执行系统调用时,该用户进程可能从运行状态转换为就绪状态,也可能从运行状态转换为等待状态。 + +
+ 答案: + + T + +
+ + *** + +3. 只使用二元信号量和计数器,而不使用计数信号量,是无法实现有界缓冲区问题(bounded-buffer)的。 + +
+ 答案: + + F(二者其实等价,可实现) + +
+ + *** + +4. 不安全状态未必会导致死锁的发生;始终处于安全状态也不能保证死锁一定不会发生。 + +
+ 答案: + + F(安全一定无死锁) + +
+ + *** + +5. 页表和 FCB 一样,应该存放在磁盘上,由操作系统内核进行管理,在需要的时候调入内存使用。 + +
+ 答案: + + F(页表存内存) + +
+ + *** + +6. I/O 设备的驱动程序代码应该运行在使用该 I/O 设备的进程的用户态。 + +
+ 答案: + + F(核心态运行) + +
+ + *** + +7. 发生缺页中断的进程将从运行态转换为就绪态。 + +
+ 答案: + + F(等待) + +
+ + *** + +8. 目录是一种特殊的文件,其内容只能由操作系统中文件系统相关的代码在内核态访问。 + +
+ 答案: + + T + +
+ + *** + +9. 并非所有的二级或三级存储设备都需要磁盘调度。 + +
+ 答案: + + T + +
+ + *** + +10. 逻辑炸弹(logic bomb)会通过特殊的程序逻辑引起计算机硬件爆炸。 + +
+ 答案: + + F(通常不爆炸) + +
+ +*** + +### 二、单选题(30 分,每题 3 分) + +1. 以下哪种调度算法在各自的应用场景下不一定是最优的: + + A. CPU 调度,非抢占情况下的最短作业优先(对平均等待时间); + + B. CPU 调度,抢占情况下的最短剩余时间优先(对平均等待时间); + + C. 磁盘调度,最短寻道时间优先(对寻道时间); + + D. 页面替换,最优调度(或称为最长不会使用优先)(对缺页率)。 + +
+ 答案: + + C + +
+ + *** + +2. 磁盘调度时,访问序列中记录的是: + + A. 磁盘号; + + B. 扇区号; + + C. 柱面号; + + D. 磁道号。 + +
+ 答案: + + C + +
+ + *** + +3. 关机时,操作系统的内核存储在: + + A. 内存中; + + B. BIOS 中; + + C. 文件系统中; + + D. 磁盘的主引导记录(MBR,master boot record)中。 + +
+ 答案: + + C + +
+ + *** + +4. 以下哪种情况不会发生: + + A. 进程数越多,CPU 利用率越低; + + B. 进程数越多,缺页率越高; + + C. 单个进程的页框数越多,该进程的工作集越大; + + D. 单个进程的页框数越多,该进程缺页率越高。 + +
+ 答案: + + C + +
+ + *** + +5. 能够检测磁盘坏道和坏块的操作是: + + A. 磁盘快速格式化; + + B. 磁盘格式化; + + C. 磁盘低级格式化; + + D. 磁盘分区。 + +
+ 答案: + + C + +
+ + *** + +6. 以下对于无法放入内存的页面的叙述,错误的是: + + A. 这些页面可以存放在磁盘上的 swap 分区中; + + B. 这些页面可以存放在磁盘文件系统中的特殊文件中; + + C. 每个进程可以直接访问属于自己地址空间的页面; + + D. 无论存放在哪里,这些页面无法由用户态的程序直接访问。 + +
+ 答案: + + C + +
+ + *** + +7. 在一个教师与学生共享使用的 Linux 系统中,已知任课教师 wnqian 有目录:`/home/wnqian/os/exam/`,用于存放试题和答案。该目录的所有者是 wnqian,所属的组中包括 wnqian 和历年的助教(每年不同)。该目录下还有 `/home/wnqian/os/exam/2013`,`/home/wnqian/os/exam/2014` 等目录,分别存放各年的试题。助教应只能访问担任助教当年的目录。请问,对于 `/home/wnqian/os/exam/` 目录,以下哪种权限设置是最合理的,符合最小权限原则? + + A. `rwxrwx---` + + B. `rwxr-xr-x` + + C. `rwx--x---` + + D. `rw-------` + +
+ 答案: + + C + +
+ + *** + +8. 以下哪种数据访问任务和存储介质的组合是不合适的? + + A. 日志存放于磁带; + + B. 日志存放于磁盘; + + C. 页面交换文件存放于 u 盘; + + D. 备份数据存放于光盘。 + +
+ 答案: + + C + +
+ + *** + +9. 以下哪种信息可不存放在文件控制块中? + + A. 文件大小; + + B. 文件访问权限; + + C. 文件所属目录; + + D. 文件数据存放位置指针。 + +
+ 答案: + + C + +
+ + *** + +10. 以下哪种手段对降低缺页率没有直接帮助? + + A. 增加页框; + + B. 预取页面; + + C. 插入不必要的 I/O 指令; + + D. 减少系统中同时运行的进程数目。 + +
+ 答案: + + C + +
+ +*** + +### 三、简答题(20 分,每题 5 分) + +1. 试简述 Unix 系统是如何实现对文件 `/usr/lib/abc` 的访问的。 + +
+ 答案: + + 答题要点:迭代访问目录;内核态 FCB 访问;打开文件列表操作。 + +
+ + *** + +2. 试简述采用 DMA 方式进行 I/O 操作的整个过程,并说明 DMA 方式适合哪种类型的 I/O 操作,并解释原因。 + +
+ 答案: + + 答题要点:cycle-stealing;块设备,大量数据(连续)交换;CPU 不用直接介入; + +
+ + *** + +3. 试简述用户进程进行 I/O 操作至 I/O 操作完成的整个过程,说明其中的系统调用和中断处理过程,并特别说明其中涉及的模式转换(mode switch)和上下文切换(context switch)的时间和次数。 + +
+ 答案: + + 答题要点: + + ![A卷简答题第3题I/O过程图](./images/2013-2014学年下学期期末_A_简答题_第3题_IO过程图.png) + +
+ + *** + +4. 试简述缺页中断处理的详细过程(从发生缺页中断开始至页面调度结束,进程继续执行为止),并指明每一个步骤中,处理所处的上下文环境和模式。 + +
+ 答案: + + 答题要点: + + What does OS do on a Page Fault?: + + 1. Choose an old page to replace: who?(discussed later) + + 2. If old page modified(“D=1”), write contents back to disk + + 3. Change its PTE and any cached TLB to be invalid + + 4. Load new page into memory from disk + + 5. Update page table entry, invalidate TLB for new entry + + 6. Continue thread from original faulting location: Can we? + +
+ +*** + +### 四、计算、设计题(30 分,每题 10 分) + +1. 某磁盘磁头访问范围为 1000(编号为 0~999),如果在为访问 365 的请求者服务后,当前正在为访问 350 的请求者服务,同时有若干个请求者在等待服务,它们依次要访问的编号为(以请求时间先后顺序排列): + + 128,879,697,480,110,381 + + (1)分别用先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描(SCAN)和循环扫描(CSCAN)算法进行磁盘调度时,试确定实际的服务次序。 + + (2)假设磁臂在寻道时相邻编号移动的平均时间为 $0.4\ \text{ms}$,按实际服务次序计算(1)中四种算法下磁臂移动的总距离以及总寻道时间。 + +
+ 答案: + + 参考答案: + + (1)FCFS: + + 服务次序:(350)128,879,697,480,110,381 + + 总磁道数:$(350-128)+(879-128)+(879-110)+(381-110)=2013$ + + 寻道时间:$2013\times0.4=805.2\ \text{ms}$ + + (2)SSTF: + + 服务次序:(350)381,480,697,879,128,110 + + 总磁道数:$(879-350)+(879-110)=1298$ + + 寻道时间:$1298\times0.4=519.2\ \text{ms}$ + + (3)SCAN: + + 服务次序:(350)128,110,381,480,697,879 + + 总磁道数:$(350-110)+(879-110)=1009$ + + 寻道时间:$1009\times0.4=403.6\ \text{ms}$ + +
+ + *** + +2. 已知页面访问序列为:1, 2, 3, 4, 1, 2, 4, 1, 3, 5,分配的页框数为 3。 + + (1)请分别用 FIFO、LRU、时钟算法,写出调页的过程,并计算缺页率。 + + (2)请问时钟算法是否会导致 Belady 异常,为什么? + +
+ 答案: + + 参考答案: + + FIFO: + + 1*, 2*, 3*,4*, 1*, 2*, 4, 1, 3*, 5*, 8 次 + + LRU: + + 1*, 2*, 3*, 4*, 1*, 2*, 4, 1, 3*, 5*, 8 次 + + 时钟算法: + + 和初始时钟位置有关 + + 可能会 + +
+ + *** + +3. 已知一个磁盘块大小为 $16\ \text{KB}$,一个磁盘地址长度为 4 字节。现有大小为 1 个磁盘块的 i-node 结构,其中包含 1 个三级索引指针、1 个 2 级索引指针、1 个 1 级索引指针,剩余空间全部用于存放直接指针。请问: + + (1)这一结构最多能够管理多大的文件? + + (2)如果要访问第 $512\ \text{MB}$ 的数据(从 0 开始,只访问 1 个字节),至少需要访问几次磁盘?请写出计算过程。 + +
+ 答案: + + $16\ \text{K}/4=4\ \text{K}$(4096) + + 直接指针:$4096-3$,容量:$4093\times16\ \text{KB}<64\ \text{MB}$ + + 一级指针:$1\times4096\times16\ \text{KB}=64\ \text{MB}$ + + 二级指针:$4096\times4096\times16\ \text{KB}=256\ \text{GB}$ + + 三级指针:$4096\times4096\times4096\times16\ \text{KB}$ + + 二级指针块内,3 次磁盘访问 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..acc1d29 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,1083 @@ +--- +title: 2014-2015学年下学期月考 +--- + +## 2014-2015学年下学期月考试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院月考试卷(2014—2015 学年第二学期) +- 日期:2015.3 + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 线程都保存有各自的栈信息、CPU 状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + 错。线程保存栈信息、CPU 状态;而堆信息,以及打开文件列表等是进程保存的。 + + (线程实现了资源和调度单位相分离) + +
+ + *** + +2. 对于内核支持的线程,当该线程执行系统调用被阻塞时,不仅该线程被阻塞,而且同一进程内的所有线程都会被阻塞。 + +
+ 答案: + + 错。只有当前进程被阻塞,其它进程可以继续执行。 + +
+ + *** + +3. 在微内核结构的操作系统中,进程间通讯可以不在微内核内。 + +
+ 答案: + + 错。进程通讯是内核的核心功能,对微内核系统,也在微内核内实现。 + +
+ + *** + +4. 向操作系统传递参数只能通过寄存器实现。 + +
+ 答案: + + 错。还可以通过堆栈传递等 + +
+ + *** + +5. 当前运行进程发生缺页中断,进程将进入 Ready 队列 + +
+ 答案: + + 错。进入 waiting 队列。 + +
+ +*** + +### 二、不定项选择题(15 分,每小题 3 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 以下哪些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态( ) + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用 yield( ),主动放弃使用 CPU + +
+ 答案: + + ABD + +
+ + *** + +2. 当从“新建(new)”状态进入“就绪(ready)”状态的进程增多时,下面哪种情况不会发生( ) + + A. I/O 操作的频度升高; + + B. CPU 利用率下降 + + C. CPU 利用率上升 + + D. 进程的平均响应时间减少 + +
+ 答案: + + D + +
+ + *** + +3. 以下描述正确的是( ) + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高 CPU 和 I/O 的并行度 + +
+ 答案: + + BC + +
+ + *** + +4. 以下哪些(个)对于微内核操作系统的描述是正确的?( ) + + A. Microsoft Windows 是微内核操作系统,但 Linux 不是; + + B. 进程间通信必须在微内核内实现; + + C. 因为用户进程不应访问页表,因此虚存应该在微内核内实现; + + D. 操作系统设计时采用微内核结构可以提高操作系统执行的效率。 + +
+ 答案: + + B + +
+ + *** + +5. 以下对于线程的描述哪些(个)是错误的( ) + + A. 一个用户态线程的阻塞(block)会引起它所属的整个进程(包括其中的其它线程)的阻塞; + + B. 同一个进程的不同线程可以共享地址空间中的堆; + + C. 线程间通信必须通过内核态系统调用进行; + + D. 同一个进程的不同线程必须维护各自的调用栈和 CPU 状态。 + +
+ 答案: + + C + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 区别:分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +2. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 区别:长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +3. 中断(Interrupt)和陷阱(Trap) + +
+ 答案: + + An interrupt is a hardware-generated change of flow within the system. An interrupt handler is summoned to deal with the cause of the interrupt; control is then returned to the interrupted context and instruction. A trap is a software-generated interrupt. An interrupt can be used to signal the completion of an I/O to obviate the need for device polling. A trap can be used to call operating system routines or to catch arithmetic errors. + +
+ + *** + +4. 微内核和模块化内核 + +
+ 答案: + + 微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯) + + 模块化内核:操作系统内核的一些功能可以作为模块挂载 + + 区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。 + +
+ + *** + +5. 核心态和用户态 + +
+ 答案: + + 核心态:操作系统内核执行的受保护的状态 + + 用户态:用户进程执行所在的状态 + + 区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态。 + +
+ +*** + +### 四、综合题(40 分) + +1. 请简要说明“机制(mechanism)”和“策略(policy)”分离的优点。(5 分) + +
+ 答案: + + Mechanism and policy must be separate to ensure that systems + + are easy to modify. No two system installations are the same, so each + + installation may want to tune the operating system to suit its needs. + + With mechanism and policy separate, the policy may be changed at will + + while the mechanism stays unchanged. This arrangement provides a + + more flexible system. + +
+ + *** + +2. 调度队列有哪几种?请简单说明(5 分) + +
+ 答案: + + Ready 队列。已经调入内存在 Ready 状态等待执行的进程队列。 + + I/O 队列。在特定的 I/O 设备资源上等待资源的出现的队列。每个 I/O 设备都有一个相应的队列。 + + job 队列。Job queue -- set of all processes in the system + +
+ + *** + +3. 进程创建时(如在类 UNIX 操作系统中,连续执行 fork() 和 exec() 系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)。为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(10 分) + +
+ 答案: + + a. 构造 PCB,代价小 + + b. 设置地址空间映射,代价中 + + c. 复制父进程地址空间内容,代价大 + + d. 复制 I/O 状态,代价中 + + (2)为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4 分) + + 答:同一进程的不同线程共享资源,因此以上 b, c, d 三项代价几乎都可节省 + +
+ + *** + +4. 请详细描述一个用户态线程调用 sleep() 系统调用后,操作系统所执行的任务。(8 分) + +
+ 答案: + + 1. 系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。 + + 2. sleep() 将当前进程放入 waiting 队列(设置 alarm) + + 3. CPU 调度(context switch) + + 4. 系统调用结束,返回,mode-switch + +
+ + *** + +5. 假设某操作系统进程有 5 个状态,分别为:new, ready, running,waiting,terminated。请画出其状态转移图,需标注进程转换的条件。(12 分) + +
+ 答案: + + ![2015.3 月考综合题第 5 题进程状态转换图答案](./images/2014-2015学年下学期月考_2015.3_综合题_第5题_进程状态转换图_答案.png) + +
+ +*** + +## 2014-2015学年下学期月考试卷(二)(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院月考试卷(二)(2014—2015 学年第二学期) + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 发生缺页中断的进程将从运行态转换为等待态。 + +
+ 答案: + + 对。 + +
+ + *** + +2. 段页式内存分配方案可以同时避免产生外部碎片和内部碎片。 + +
+ 答案: + + 错,段页式分配仍然也可能会产生内部碎片。 + +
+ + *** + +3. Belady 异常是指过多缺页导致 Swap in,swap out 增多,即 I/O 操作增多,从而引起 CPU 利用率下降,导致操作系统增加更多的用户进程进入系统,反过来导致更多缺页的现象。 + +
+ 答案: + + 错,以上是 Thrashing(颠簸,抖动);Belady 异常是指“分配页框越多,缺页率反而越高”。 + +
+ + *** + +4. 虚拟内存的容量只受计算机系统地址位数的限制。 + +
+ 答案: + + 错,还受限于物理内存和磁盘的大小。 + +
+ + *** + +5. 基于转换表缓冲区(TLB)的数据访问最多只需要两次内存访问。 + +
+ 答案: + + 错,最多几次内存访问取决于分页策略,段页式、散列页表或者多级页表可能需要多于两次内存访问。 + +
+ +*** + +### 二、单项选择题(15 分,每小题 3 分) + +1. 虚拟存储的基础是程序局部性理论,它的基本含义是( )。 + + A. 代码的顺序执行 + + B. 程序执行时对内存访问的不均匀性 + + C. 变量的连续访问 + + D. 指令的局部性 + +
+ 答案: + + B + +
+ + *** + +2. 采用分段式存储管理的系统中,若地址用 32 位表示,其中 12 位表示段号,则允许每段的最大长度是: + + A. 12 + + B. 20 + + C. $2^{12}$ + + D. $2^{20}$ + +
+ 答案: + + D + +
+ + *** + +3. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $100\ \text{ns}$,一次 TLB 访问代价为 $10\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是: + + A. $110\ \text{ns}$ + + B. $210\ \text{ns}$ + + C. $160\ \text{ns}$ + + D. $320\ \text{ns}$ + +
+ 答案: + + B + +
+ + *** + +4. 某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个框,则采用 LRU 页面置换算法会产生几次缺页中断? + + A. 5 + + B. 6 + + C. 7 + + D. 8 + +
+ 答案: + + C + +
+ + *** + +5. 以下对于按需调页的页面替换算法的描述,正确的是: + + A. 在缺页率上,最优调页必然优于(或相当于)LRU 算法; + + B. 先进先出(FIFO)算法必然会导致页框越多,缺页率越高; + + C. LRU 算法在替换页面查找效率上优于 FIFO 算法; + + D. 以上皆错。 + +
+ 答案: + + A + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 逻辑地址与物理地址 + +
+ 答案: + + 逻辑地址:又称为虚拟地址,由程序产生的与段相关的偏移地址部分; + + 物理地址:出现在 CPU 外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址; + + 区别:物理地址通常是唯一的,而逻辑地址与物理地址可以是多对一的关系;而且用户程序通常只能操作逻辑地址,通过操作系统提供的保护机制,物理地址对用户程序是透明的。 + +
+ + *** + +2. Valid/invalid bit 与 dirty bit. + + *** + +3. 动态加载 vs 动态链接 + +
+ 答案: + + 动态加载:P280. 例程仅在被调用时加载。未被使用的例程不会被加载。 + + 动态链接:P281. 程序仅在被调用时链接。被链接的程序一般是系统库函数。 + + 区别。P282 + +
+ + *** + +4. 页表和转换表缓冲区(TLB) + +
+ 答案: + + 页表:在分页的内存管理策略中,页表实现了逻辑地址向物理地址的转换,通常保持在内存中; + + 转换表缓冲区:它是一段小且专用的快速硬件缓冲,其中保持了页表中的一部分条目。 + + 区别:转换表缓冲区的访问速度远快于内存访问,因此比页表访问具有更高的时间效率,但是由于缓冲区通常是很小的一部分空间,因此只能容纳页表中很少的一部分。 + +
+ + *** + +5. 最优置换策略和 LRU 置换策略 + +
+ 答案: + + 最优置换策略:按需调页时,置换最长时间不会使用的页。 + + LRU 置换策略:按需调页时,置换最长时间没有使用的页。 + + 区别:由于我们未知进程运行需要的页,最优置换算法难以实现,可以使用最长时间没有使用的页来近似最长时间不会使用的页。 + +
+ +*** + +### 四、综合题(40 分) + +1. 五个内存块大小依次为 $100\ \text{KB}$, $500\ \text{KB}$, $200\ \text{KB}$, $300\ \text{KB}$, $600\ \text{KB}$。分别用 first-fit, best-fit, 以及 worst-fit 算法处理 $212\ \text{KB}$, $417\ \text{KB}$, $112\ \text{KB}$, and $426\ \text{KB}$ (按序)的内存请求,请说明各算法的分配情况。对于当前情况,那种算法比较好? + +
+ 答案: + + Answer: + + (a) First-fit: + + 1 212K is put in 500K partition + + 2 417K is put in 600K partition + + 3 112K is put in 288K partition (new partition 288K = 500K - 212K) + + 4 426K must wait + + (b) Best-fit: + + 1 212K is put in 300K partition + + 2 417K is put in 500K partition + + 3 112K is put in 200K partition + + 4 426K is put in 600K partition + + (c) Worst-fit: + + 1 212K is put in 600K partition + + 2 417K is put in 500K partition + + 3 112K is put in 388K partition + + 4 426K must wait + + In this example, best-fit turns out to be the best + +
+ + *** + +2. (1)某系统段表如下,求以下逻辑地址的物理地址。(5 分)。 + + (a) 0, 0x430000;(b) 1, 0x10000;(c) 2, 0x500000; + + (d) 3,0x400000; (e) 4, 0x112000 + + | 段号 | 基地址 | 长度 | + | --- | --- | --- | + | 0 | 0x219000 | 0x600000 | + | 1 | 0x2300000 | 0x14000 | + | 2 | 0x90000 | 0x100000 | + | 3 | 0x1327000 | 0x580000 | + | 4 | 0x1952000 | 0x96000 | + +
+ 答案: + + a. 0x219000 + 0x430000 = 0x649000 + + b. 0x2300000 + 0x10000 = 0x2310000 + + c. illegal reference, trap to operating system + + d. 0x1327000 + 0x400000 = 0x1727 + + :::tip + 此处原参考答案疑似有误:题目为 `3, 0x400000`,但参考答案写作 `0x1327000 + 0x400000 = 0x1727`,结果看起来被截断或写错。这里按原参考答案保留。 + ::: + + e. illegal reference, trap to operating system + +
+ + (2)某 32 位系统采用分页技术进行内存分配,页大小为 $4\ \text{KB}$。某进程的页表如下,请在内存中定位下列虚拟地址的物理地址:0x0c73, 0x1e41, 0x2b4c, 0x37bb, 0x580b(5 分)。 + + | 页号 | 框号 | i/v | + | --- | --- | --- | + | 0 | 4 | v | + | 1 | 2 | v | + | 2 | 5 | v | + | 3 | 3 | v | + | 4 | 8 | i | + +
+ 答案: + + 0x0c73 --> 0x4c73 + + 0x1e41 --> 0x2e41 + + 0x2b4c --> 0x5b4c + + 0x37bb --> 0x37bb + + 0x480b --> 超出了页表长度,非法内存访问 + + :::tip + 此处题目最后一个地址为 `0x580b`,但原参考答案写作 `0x480b --> 超出了页表长度,非法内存访问`。这里按原参考答案保留。 + ::: + +
+ + *** + +3. 请解释多级页表、反向页表、散列页表(或叫“哈希”页表)的概念(可画图表示),并从地址翻译的效率、内存空间占用这两个角度,详细分析对于 64 位 CPU 的计算机,这三种技术各自的优缺点。(10 分) + +
+ 答案: + + 略 + +
+ + *** + +4. (10 分)现有两个进程 P1 和 P2,当前的页面访问序列分别为: + + P1: 1, 2, 3, 4, 1, 2, 5 + + P2: 6, 7, 8, 6, 7, 6, 7 + + 这两个进程总共可有 5 个页框可供使用。假设使用 LRU 替换策略,页框分配采用固定分配(即分配后不可修改),请问如何在两个进程间分配页框可以达到缺页率最低?请写出替换序列,和缺页率计算过程(4 分);并证明该分配对于给出的序列是最优的(6 分)。 + +
+ 答案: + + 2, 3 (10 次缺页) + + 1, 1, 3, 4, 1, 2, 5 + +    2, 2, 3, 4, 1, 2 + +
+ + 6, 6, 6, 6, 6, 6, 6 + +    7, 7, 7, 7, 7, 7 + +       8, 8, 8, 8, 8 + + 证明: + + 1. 给 P2 更多页面不会减少 P2 的缺页率; + 2. 给 P1 3 个页面不会减少 P1 的缺页率,但是会增加 P2 的缺页率; + 3. 给 P1 4 个页面,P1 的缺页次数为 5,但是 P2 的缺页次数为 7。 + +
+ +*** + +## 2014-2015学年下学期月考试卷(三)(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院月考试卷(三)(2014—2015 学年第二学期) +- 日期:2015.5 + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 当一个操作系统采用连续内存分配方案时,只可能产生外部碎片。 + +
+ 答案: + + 错,在相同大小连续内存分配方案中也可能会产生内部碎片。 + +
+ + *** + +2. 在虚存管理时,采用 LRU 页面替换策略可能发生 Belady 异常(即分配页框越多,缺页率反而越高)。 + +
+ 答案: + + 错,LRU 和 Optimal 算法都不可能发生 Belady 异常;只有 FIFO 可能发生 Belady 异常。 + +
+ + *** + +3. 从有效内存访问时间来看,基于转换表缓冲区(TLB)的分页策略一定优于纯分页策略。 + +
+ 答案: + + 错,如果 TLB 的命中率特别低,基于转换表缓冲区的分页策略可能比纯分页策略要差。 + +
+ + *** + +4. 在按需分页中,通过安装更快的 CPU 可以改善多道程序程度过高而导致的系统颠簸。 + +
+ 答案: + + 错,颠簸是由于多道程序程度过高,导致缺页率大幅增加,而 CPU 利用率急剧下降。此时,很多进程在等待 I/O,因此即使安装更快的 CPU 也无助于改善系统颠簸。 + +
+ + *** + +5. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + 错,首先不是所有的页表都是进程自己管理,如反向页表是操作系统管理的;其次,页表的修改只有在内核态进行更新。 + +
+ +*** + +### 二、单项选择题(15 分,每小题 3 分) + +1. 采用分段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是: + + A. $2^{24}$ + + B. $2^{16}$ + + C. $2^8$ + + D. $2^{32}$ + +
+ 答案: + + B + +
+ + *** + +2. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $100\ \text{ns}$,一次 TLB 访问代价为 $10\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是: + + A. $110\ \text{ns}$ + + B. $160\ \text{ns}$ + + C. $260\ \text{ns}$ + + D. $320\ \text{ns}$ + +
+ 答案: + + C ($100+50\%\times 10+50\%\times 110+100=260$) + +
+ + *** + +对于接下来的 3 个问题,假设某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个内存块。 + +3. 采用 FIFO 页面置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 7 + + B. 8 + + C. 9 + + D. 10 + +
+ 答案: + + C + +
+ + *** + +4. 采用 LRU 页面置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 6 + + B. 7 + + C. 8 + + D. 9 + +
+ 答案: + + B + +
+ + *** + +5. 采用最优页面(OPT)置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 5 + + B. 6 + + C. 7 + + D. 8 + +
+ 答案: + + B + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 内部碎片与外部碎片 + +
+ 答案: + + 内部碎片:某一区域或某一页中,未被占据其位置的作业所使用的区域。直到作业完成,释放页或区域,这个空间才能被系统所利用。 + + 外部碎片:还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。 + + 区别:外部碎片不属于任何一个进程,如果不使用压缩算法直到内存断点为止;而内部碎片隶属于一个进程,随着进程释放内存空间而释放。 + +
+ + *** + +2. 页式内存管理和段式内存管理 + +
+ 答案: + + 页式内存管理:将逻辑地址空间和物理地址空间分成同样大小的片,利用页表实现逻辑地址空间向物理地址空间的转换。 + + 段式内存管理:将逻辑地址空间进行分段,每段大小可变,利用段表实现逻辑地址空间向物理地址空间的转换。 + + 区别:分段直接对物理地址空间划分,可能会产生外部碎片和内部碎片,而分页技术同时对逻辑地址空间和物理地址空间进行划分,它只产生外部碎片;帧大小普遍小于段的大小,但是页表通常远远大于段表的大小,从而造成分页的地址转换开销比较大。 + +
+ + *** + +3. 哈希页表和反向页表 + +
+ 答案: + + 哈希页表:以虚拟页号为键,物理帧号为值建立哈希页表,发生碰撞的页表项以链表数据结构组织。 + + 反向页表:反向页表对每个物理内存帧才有一个条目,而且每个页表项按照物理内存帧号进行排序。 + + 区别:哈希页表针对某一个进程而建立的多级页表结构,而反向页表是针对整个操作系统而建立页表结构 + +
+ + *** + +4. 最优置换和 LRU 置换 + +
+ 答案: + + 最优置换:按需调页时,置换最长时间不会使用的页。 + + LRU 置换:按需调页时,置换最长时间没有使用的页。 + + 区别:由于我们未知进程运行需要的页,最优置换算法难以实现,可以使用最长时间没有使用的页来近似最长时间不会使用的页。 + +
+ + *** + +5. 按需调页和交换 + +
+ 答案: + + 按需调页:进程执行过程中,在需要时才调入相应的物理页,这种技术称为按需调页,又称为懒惰交换。 + + 交换:把处于等待状态的进程从内存中移到二级存储,并释放该进程占用的内存空间,这一过程称为交换。 + + 区别:按需调页细粒度地实现进程中的某个或某些内存页和二级存储间的交换,而交换是整个进程的所占用内存空间与二级存储间的交换。 + +
+ +*** + +### 四、综合题(40 分) + +1. 简述缺页中断处理的详细过程(从发生缺页中断开始至页面调度结束),并指明每个步骤中,处理所处的上下文环境和模式。(10 分) + +
+ 答案: + + How does OS handle a Page Fault? + + 1. Choose an old page to replace in terms of a page-replacement algorithm + + 2. If old page modified (“D=1”), write contents back to disk + + 3. Change its PTE and any cached TLB to be invalid + + 4. Load new page into memory from disk + + 5. Update page table entry, validate TLB for new entry + + 6. Continue thread from the new location via accessing the page table + +
+ + *** + +2. 一个 32 位的操作系统,内存大小为 $2\ \text{GB}$,采用分页技术进行内存分配,如果每页的大小为 $4\ \text{KB}$:(10 分) + + a) 请说明各需多少位表示虚拟地址、物理地址、虚拟页号、物理帧号和偏移量(5 分)? + +
+ 答案: + + VA: 32, PA: 31, pages:20,# frames:19,offset:12 + +
+ + b) 如果某进程的页表如下,请在内存中定位下列虚拟地址的物理地址:3187, 7745, 11084, 14267, 18443(5 分)。 + + | PageID | FrameID | + | --- | --- | + | 0 | 4 | + | 1 | 2 | + | 2 | 5 | + | 3 | 3 | + +
+ 答案: + + 3187 -> 19571 + + 7745 -> 11841 + + 11084 -> 23372 + + 14267 -> 14267 + + 18843 超出了页表长度,非法内存访问 + +
+ + *** + +3. 采用按需调页(demand paging),现有 3 个页框,分别存储着页面号 2,3,4 三个页面。已知接下来的页面访问顺序为 1,2,3,4,1,2,5,1,2,3,4,5。使用时钟算法(clock algorithm)作为页面替换算法。(10 分) + + 请计算会发生的缺页次数(假设初始时在页框内的页面的引用位(reference bit)都是 1,2/3/4 三个页面按序存放,初始时指针指向页面 2)?(7 分) + +
+ 答案: + + 9 次缺页 + + ![2015.5 月考综合题第 3 题页面置换过程](./images/2014-2015学年下学期月考_2015.5_综合题_第3题_a_页面置换过程.png) + +
+ + 请写出这一内存访问序列所对应的时间段中的工作集(3 分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +4. 现有两个进程 P1 和 P2,当前的页面访问序列分别为:P1: 1, 2, 3, 4, 1, 2, 5 和 P2: 6, 7, 8, 6, 7, 6, 7。这两个进程总共可有 5 个页框可供使用。假设使用 LRU 替换策略,页框分配采用固定分配(即分配后不可修改),请问如何在两个进程间分配页框可以达到缺页率最低? + + a) 请分别写出两个进程的替换序列,并计算总的缺页次数(6 分)。 + +
+ 答案: + + 2, 3 (10 次缺页) (1+4 也是 10 次,也算正确,答案不唯一) + + 1, 1, 3, 4, 1, 2, 5 + +    2, 2, 3, 4, 1, 2 + +
+ + 6, 6, 6, 6, 6, 6, 6 + +    7, 7, 7, 7, 7, 7 + +       8, 8, 8, 8, 8 + +
+ + b)并证明这种帧分配对于给定的内存访问序列是最优的(4 分)。 + +
+ 答案: + + 证明: a. 给 P2 更多页面不会减少 P2 的缺页率 + + b. 给 P1 3 个页面不会减少 P1 的缺页率,但是会增加 P2 的缺页率; + + c. 给 P1 4 个页面,P1 的缺页次数为 5,但是 P2 的缺页次数为 7。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..ef8d382 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,489 @@ +--- +title: 2014-2015学年下学期期中 +--- + +## 2014-2015学年下学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院期中考试卷(2014—2015学年第二学期) + +### 一、判断题(30分,每小题3分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 银行家算法只能保证系统处在安全状态,但不能保证死锁不发生。 + +
+ 答案: + + 错。银行家算法只能检测是否处于安全状态,并不能保证系统处于安全状态;此外,安全状态一定无死锁。 + + :::tip + 原参考答案中“只能检测是否处于安全状态,并不能保证系统处于安全状态”的表述疑似不准确。银行家算法会在分配前进行安全性检查,并拒绝会使系统进入不安全状态的资源分配。 + ::: + +
+ + *** + +2. 要实现临界区,必须采用基于硬件的解决办法。 + +
+ 答案: + + 错。可以用基于软件/算法的方法,例如Peterson算法、信号量、管程等。 + +
+ + *** + +3. 不安全状态未必会导致死锁的发生;始终处于安全状态也不能保证死锁一定不会发生。 + +
+ 答案: + + 错。安全一定无死锁。 + +
+ + *** + +4. 单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。 + +
+ 答案: + + 错。单CPU环境下可能不需要互斥,因为不会同时有两个进程要求进入临界区;但是当多个进程需要顺序执行时,需要同步机制保证多个进程顺序执行。 + + :::tip + 原参考答案关于互斥的解释疑似有误。单CPU环境仍可能因抢占或中断发生交错访问,因此访问共享临界资源时仍需要互斥机制。 + ::: + +
+ + *** + +5. 在抢占式(preemptive)操作系统中,进程不会因为申请、使用资源发生死锁。 + +
+ 答案: + + 对。抢占式操作系统违反了死锁发生的充分条件之一。 + + :::tip + 原参考答案将本题判为“对”,疑似混淆了CPU抢占与资源抢占。抢占式调度允许操作系统抢占CPU,但不代表进程持有的资源可以被抢占,因此仍可能发生资源死锁。 + ::: + +
+ + *** + +6. 将“二值”或者“布尔”信号量的初值设为1作为互斥信号量,采用P、V原语操作可解决互斥问题。 + +
+ 答案: + + 对。信号量的P原语相当于获得排他性的资源访问锁,而V原语则释放这个锁。 + +
+ + *** + +7. 由于资源数少于进程对资源的需求数,因而产生资源的竞争,所以这种资源的竞争必然会引起死锁。 + +
+ 答案: + + 错。资源竞争是引起死锁的根本原因,但是并非必然引起死锁,而是在操作不当的情况可能引起死锁。 + +
+ + *** + +8. 一个用户进程在执行过程中,遇到硬件中断,中断处理程序运行在核心态、用户上下文中。 + +
+ 答案: + + 错。中断处理程序运行在系统上下文中。 + +
+ + *** + +9. 死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况。 + +
+ 答案: + + 错。根据银行家算法,在当前时刻,无论有多少进程处于阻塞状态,只要找到一个安全序列说明整个系统处于安全状态,系统就不会出现死锁。 + +
+ + *** + +10. 进程所请求的一次打印输出结束后,将使进程状态从运行态变为就绪态。 + +
+ 答案: + + 错。等待态变为就绪态。 + +
+ +*** + +### 二、多项选择题(15分,每小题3分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 以下哪种情况仍然可能会发生死锁?( ) + + A. 资源都是可共享的; + + B. 每一种资源的数量都超过单个进程所需这类资源的最大值; + + C. 空闲资源能够满足任意一个进程还需要的资源需求; + + D. 每个进程必须一次申请、获得所需的所有资源 + +
+ 答案: + + B + +
+ + *** + +2. 对于死锁,以下哪些(个)描述是正确的:( ) + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生 + +
+ 答案: + + B, D + +
+ + *** + +3. 以下描述正确的是:( ) + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高CPU和I/O的并行度 + +
+ 答案: + + B, C + +
+ + *** + +4. 一个正在运行的进程,当所分配的时间片用完后,将其挂在( )。 + + A.等待队列 + + B.运行队列 + + C.就绪队列 + + D.任意一个队列 + +
+ 答案: + + C + +
+ + *** + +5. 以下那个操作不会使得一个进程从运行(running)状态转换为就绪(ready)状态:( ) + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用yield(),主动放弃使用CPU + +
+ 答案: + + C + +
+ +*** + +### 三、辨析题(30分,每小题6分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +2. 同步和互斥 + +
+ 答案: + + 同步:并发进程之间相互合作,完成一项工作,它们之间有一定的时序关系。互相约束,其表现为一个进程等待另一个进程的变量结果. + + 互斥:并发进程之间相互竞争临界资源的排他性关系 + + 区别:基于信号量的实现中,同步中的P,V原语在不同的临界区中出现,而在互斥中它们被临界区所分割;此外,它们的初值不同,同步中信号量的初值为0,而互斥中初值为1。 + +
+ + *** + +3. 线程和进程 + +
+ 答案: + + 答题要点:从定义、调度、并发性、系统开销和拥有资源角度说明即可。 + +
+ + *** + +4. 微内核和模块化内核 + +
+ 答案: + + 微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯) + + 模块化内核:操作系统内核的一些功能可以作为模块挂载 + + 区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。 + +
+ + *** + +5. 管程与进程 + +
+ 答案: + + 管程:是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。管程(Monitor)采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及其上实施操作的若干过程来进行;对共享资源的申请和释放可以通过管程在数据结构上的操作来实现。 + + 进程:略 + + 区别:管程是进程间通信的一种实现方式,与进程有质的不同。 + +
+ +*** + +### 四、综合题(25分) + +1. (5分) + + 已知生产者、消费者问题的代码如下: + + 生产者: + + ```c + Producer () { + while (true) { + /* produce an item and + put in nextProduced */ + while (count == BUF_SIZE) + ; // do nothing + buffer [in] = nextProduced; + in = (in + 1) % BUF_SIZE; + count++; + } + } + ``` + + 消费者: + + ```c + Consumer () { + while (true) { + while (count == 0) + ; // do nothing + nextConsumed = buffer[out]; + out = (out + 1) % BUF_SIZE; + count--; + /* consume the item in + nextConsumed */ + } + } + ``` + + 请使用信号量(semaphore),修改现有代码,实现生产者和消费者可能会引起资源竞争的代码的互斥,并分析该实现是否正确、是否会发生死锁。 + +
+ 答案: + + 答: + + ```c + Semaphore full = 0; + Semaphore empty = BUF_SIZE; + Semaphore mutex = 1; // 初始化1分 + + 生产者: + Producer () { + while (true) { + /* produce an item and + put in nextProduced */ + Wait (empty); + Wait (mutex); + buffer [in] = nextProduced; + in = (in + 1) % BUF_SIZE; + count++; + Signal (mutex); + Signal (full); + } + } + + 消费者: + Consumer () { + while (true) { + Wait (full); + Wait (mutex); + nextConsumed = buffer[out]; + out = (out + 1) % BUF_SIZE; + count--; + Signal (mutex); + Signal (empty); + /* consume the item in + nextConsumed */ + } + } + ``` + +
+ + *** + +2. (10分) + + 假设有三个进程A,B和C,A和B只使用CPU,各需要200毫秒,进程C使用10毫秒CPU然后进行40毫秒I/O,然后再使用10毫秒CPU接着40毫秒I/O,依此重复,总共也是200毫秒。假设三个进程的到达次序是ABC。 + + a) 请计算采用FIFO调度,计算三个进程的平均等待时间和平均完成时间,画出甘特图(4分) + +
+ 答案: + + 答:(甘特图略) + + A,B,C + + 平均等待时间:$(0+200+400)/3=200$ + + 平均完成时间:$(200+400+600)/3=400$ + +
+ + b) 请列出使用100毫秒为时间片长度,使用轮询(round-robin)调度时,画出甘特图求取三个进程的执行次序,并计算每次执行的时间(6分) + +
+ 答案: + + 答:A100, B100, C10, A100(f)C40, B100(f), C10, C40, C10, C40, C10, C40(f) + + (甘特图略) + +
+ + *** + +3. (10分) + + 现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下: + + | | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 1 | 0 | + | P1 | 2 | 0 | 0 | + | P2 | 3 | 0 | 3 | + | P3 | 2 | 2 | 2 | + + 资源请求矩阵如下: + + | | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 0 | 0 | + | P1 | 2 | 0 | 2 | + | P2 | 0 | 0 | 0 | + | P3 | 1 | 0 | 0 | + + 可用资源向量为: + + | A | B | C | + | --- | --- | --- | + | 0 | 2 | 0 | + + a) 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列(5分) + +
+ 答案: + + 答:不存在死锁 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 3 | 0 | + | P2 | 3 | 3 | 3 | + | P1 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + +
+ + b) 假设此时又来一个进程P4,申请资源(2, 2, 0),请问如果把2个资源B的实例分配给P4,假设除已经获得和正在请求的资源外,所有进程不再请求其它资源,是否处于安全状态(为什么)?(5分) + +
+ 答案: + + 答:安全 + + 此时可用资源向量为:0 0 0 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P2 | 3 | 0 | 3 | + | P1 | 5 | 0 | 3 | + | P4 | 5 | 2 | 3 | + | P0 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + + 仍然都能执行完. + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..cbf5e07 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,437 @@ +--- +title: 2015-2016学年上学期期中 +--- + +## 2015-2016学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院期中考试卷(2015—2016学年第一学期) + +### 一、判断题(15分,每小题3分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 要互斥地进入临界区,必须采用基于硬件的解决办法。 + +
+ 答案: + + 错。可以用基于软件/算法的方法,例如Peterson算法。 + +
+ + *** + +2. 单CPU环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥控制。 + +
+ 答案: + + 错。单CPU环境下,并发执行的进程之间也需要实现同步与互斥。 + +
+ + *** + +3. 对于内核支持的线程,当该线程执行系统调用被阻塞时,不仅该线程被阻塞,而且同一进程内的所有线程都会被阻塞。 + +
+ 答案: + + 错。只有当前线程被阻塞,其它线程可以继续执行。 + +
+ + *** + +4. 多级反馈队列调度算法既能使高优先级的作业得到响应又能使短作业(进程)迅速完成。 + +
+ 答案: + + 对。 + +
+ + *** + +5. 线程都保存有各自的栈信息、CPU状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + 错。线程保存栈信息、CPU状态;而堆信息,以及打开文件列表等是进程保存的。 + +
+ +*** + +### 二、不定项选择题(15分,每小题3分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 对于死锁,以下哪些(个)描述是正确的:( ) + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其要求,则不分配任何资源,那么死锁不可能发生 + +
+ 答案: + + B, D + +
+ + *** + +2. 当系统中的进程增多时,以下哪些(个)情况不可能出现(不考虑死锁)。( ) + + A. CPU利用率增高 + + B. CPU利用率降低 + + C. 磁盘I/O增多 + + D. 磁盘I/O减少 + +
+ 答案: + + D + +
+ + *** + +3. 关于线程,以下说法正确的是( ) + + A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含CPU寄存器状态 + + D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程 + +
+ 答案: + + A, B, C + +
+ + *** + +4. 多CPU共享内存环境下,以下哪种实现临界区的方法无效?( ) + + A. 使用test_and_set机器指令实现“忙等”(busy waiting) + + B. Peterson算法 + + C. 关中断 + + D. 使用swap机器指令实现“忙等” + +
+ 答案: + + C + +
+ + *** + +5. 一个正在运行的进程,当所分配的时间片用完后,将其挂在( )。 + + A.等待队列 + + B.运行队列 + + C.就绪队列 + + D.任意一个队列 + +
+ 答案: + + C + +
+ +*** + +### 三、辨析题(30分,每小题6分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行。 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行。 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁。 + +
+ + *** + +2. 对称多处理系统调度与非对称多处理系统调度 + +
+ 答案: + + Symmetric Multiprocessing (SMP) – each processor makes its own scheduling decisions. + + Asymmetric multiprocessing – only one processor accesses the system data structures, alleviating the need for data sharing. + +
+ + *** + +3. 进程的同步与互斥 + +
+ 答案: + + 同步:并发进程之间相互合作,完成一项工作,它们之间有一定的时序关系。互相约束,其表现为一个进程等待另一个进程的变量结果. + + 互斥:并发进程之间相互竞争临界资源的排他性关系 + +
+ + *** + +4. 管程与进程 + +
+ 答案: + + 管程:是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。管程(Monitor)采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及其上实施操作的若干过程来进行;对共享资源的申请和释放可以通过管程在数据结构上的操作来实现。 + + 进程:进程是计算机中的程序关于某数据集合的一次运行活动。在传统操作系统中,它是资源拥有的基本单元。进程之间同样可以并发执行。进程虽然拥有自己的系统资源,但也因此导致创建或撤销进程开销都十分的大,切换、通信、同步也会比线程之间的实现更加复杂。 + +
+ + *** + +5. 微内核和模块化内核 + +
+ 答案: + + 微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯) + + 模块化内核:操作系统内核的一些功能可以作为模块挂载 + + 区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。 + +
+ +*** + +### 四、综合题(40分,每题10分) + +1. 假设有三个进程A,B和C,A和B只使用CPU,各需要200毫秒,进程C使用10毫秒CPU然后进行40毫秒I/O,然后再使用10毫秒CPU接着40毫秒I/O,依此重复,总共也是200毫秒。假设三个进程的到达次序是ABC。 + + a) 请计算采用FIFO调度,计算三个进程的平均等待时间和平均完成时间,画出甘特图(4分) + +
+ 答案: + + 答:(甘特图略) + + A,B,C + + 平均等待时间:$(0+200+400)/3=200$ + + 平均完成时间:$(200+400+600)/3=400$ + +
+ + b) 请列出使用100毫秒为时间片长度,使用轮询(round-robin)调度时,画出甘特图求取三个进程的执行次序,并计算每次执行的时间(6分) + +
+ 答案: + + 答:A100, B100, C10, A100(f)C40, B100(f), C10, C40, C10, C40, C10, C40(f) + + (甘特图略) + +
+ + *** + +2. 桌上有一个空盘,最多可以容纳两个水果,每次只能放入或取出一个水果。爸爸专向盘中放苹果,妈妈专向盘中放橘子。儿子专门等吃盘中橘子,女儿专门等吃盘中苹果,请用PV操作实现爸爸、妈妈、儿子、女儿之间的同步与互斥操作。 + +
+ 答案: + + 设置4个信号量: + + empty:表示还可以向盘中放几个水果,初值为2; + + apple:表示已放入盘中的水果,初值为0; + + orange:表示已放入盘中的橘子,初值为0; + + mutex: 对盘子互斥访问,初值为1. + + :::tip + 原参考答案将apple解释为“已放入盘中的水果”,结合题意和后续代码,此处应指“已放入盘中的苹果”。 + ::: + + ```c + Semaphore mutex=1,empty=2,apple = 0,orange=0; + + Main() + { + Conbegin + father(); + mother(); + son(); + daughter(); + Coend + } + + father() + { + while (true) + { + P(empty) + P(mutex) + 向盘中放水果; + V(mutex); + V(apple); + } + } + + mother() + { + while (true) + { + P(empty) + P(mutex) + 向盘中放水果; + V(mutex); + V(orange); + } + } + + son() + { + while (true) + { + P(orange); + P(mutex); + 从盘中取橘子 + V(mutex); + V(empty); + 吃橘子; + } + } + + daughter() + { + while (true) + { + P(apple) + P(mutex) + 从盘中取苹果; + V(mutex); + V(empty); + 吃苹果; + } + } + ``` + +
+ + *** + +3. 请详细描述一个用户态线程调用sleep()系统调用后,操作系统所执行的任务。 + +
+ 答案: + + (1)系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码 + + (2)sleep() 将当前进程放入waiting队列(设置alarm) + + (3)CPU调度(context switch) + + (4)系统调用结束,返回,mode-switch + +
+ + *** + +4. 现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。资源分配矩阵如下: + + | | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 1 | 0 | + | P1 | 2 | 0 | 0 | + | P2 | 3 | 0 | 3 | + | P3 | 2 | 2 | 2 | + + 资源请求矩阵如下: + + | | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 0 | 0 | + | P1 | 2 | 0 | 2 | + | P2 | 0 | 0 | 0 | + | P3 | 1 | 0 | 0 | + + 可用资源向量为: + + | A | B | C | + | --- | --- | --- | + | 0 | 2 | 0 | + + a) 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列(5分) + +
+ 答案: + + 答:不存在死锁 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 3 | 0 | + | P2 | 3 | 3 | 3 | + | P1 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + +
+ + b) 假设此时又来一个进程P4,申请资源(2, 2, 0),请问如果把2个资源B的实例分配给P4,假设除已经获得和正在请求的资源外,所有进程不再请求其它资源,是否处于安全状态(为什么)?(5分) + +
+ 答案: + + 答:安全 + + 此时可用资源向量为:0 0 0 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P2 | 3 | 0 | 3 | + | P1 | 5 | 0 | 3 | + | P4 | 5 | 2 | 3 | + | P0 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + + 仍然都能执行完. + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..f53ce4f --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,516 @@ +--- +title: 2015-2016学年上学期期末 +--- + +## 2015-2016学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(20 分,每题 2 分) + +1. 操作系统的发展过程是( )。 + + A. 设备驱动程序组成的原始操作系统,管理程序,操作系统 + + B. 原始操作系统,操作系统,管理程序 + + C. 管理程序,原始操作系统,操作系统 + + D. 管理程序,操作系统,原始操作系统 + +
+ 答案: + + A + +
+ + *** + +2. 下面关于操作系统的叙述中正确的是( )。 + + A. 从响应时间的角度来看,实时系统与分时系统无本质差别 + + B. 多道运行是现代操作系统的特征之一,它是指宏观和微观上都并行 + + C. 操作系统的特征是并行性、共享性、虚拟性和不确定性 + + D. 在分时系统中,响应时间约等于时间片乘用户数,因此只要时间片足够小其响应时间一定能改善 + +
+ 答案: + + C + +
+ + *** + +3. 在进程状态的转换中,( )是不可能的。 + + A. 运行状态 $\to$ 就绪状态 + + B. 阻塞状态 $\to$ 运行状态 + + C. 运行状态 $\to$ 阻塞状态 + + D. 阻塞状态 $\to$ 就绪状态 + +
+ 答案: + + B + +
+ + *** + +4. 一个正在运行的进程,当所分配的时间片用完后,将其挂在( )。 + + A. 等待队列 + + B. 运行队列 + + C. 就绪队列 + + D. 任意一个队列 + +
+ 答案: + + C + +
+ + *** + +5. 在有 $n$ 个进程共享一个临界区,如果最多允许 $m$ 个进程($m + 答案: + + A + + + + *** + +6. 资源静态分配法破坏了死锁产生的( )条件来预防死锁的发生。 + + A. 互斥控制 + + B. 保持和等待 + + C. 不可剥夺控制 + + D. 循环等待 + +
+ 答案: + + B + +
+ + *** + +7. 在可变分区管理方案中,若采用“最佳适应”分配算法,通常将空闲区按( )排列。 + + A. 容量递增 + + B. 容量递减 + + C. 地址递增 + + D. 地址递减 + +
+ 答案: + + A + +
+ + *** + +8. 虚拟存储的基础是程序局部性理论,它的基本含义是( )。 + + A. 代码的顺序执行 + + B. 程序执行时对内存访问的不均匀性 + + C. 变量的连续访问 + + D. 指令的局部性 + +
+ 答案: + + B + +
+ + *** + +9. 文件系统中实现按名存取的功能是通过( )来实现的。 + + A. 查磁盘空间 + + B. 查文件目录 + + C. 查磁盘控制器 + + D. 查位示图 + +
+ 答案: + + B + +
+ + *** + +10. 下面的叙述中,( )不是设备管理中引入缓冲机制的主要原因。 + + A. 缓和 CPU 和 I/O 设备间的速度不匹配问题 + + B. 减少对 CPU 的中断频率和放宽对 CPU 响应时间的限制 + + C. 提高 CPU 和 I/O 设备间的并行性 + + D. 节省系统内存 + +
+ 答案: + + D + +
+ +*** + +### 二、填空题(10 分,每题 2 分) + +1. 在引入线程的系统中,将进程作为 $\underline{\qquad}$ 的单位,线程作为 $\underline{\qquad}$ 的单位。因此将线程称为“轻量级”的进程。 + +
+ 答案: + + 资源分配;调度或者占有 CPU + +
+ + *** + +2. 在存储管理中,引入快表的目的是 $\underline{\qquad}$。在操作系统中,把不可中断执行的操作称为 $\underline{\qquad}$。 + +
+ 答案: + + 加快查询变换表的速度;原语 + +
+ + *** + +3. 在段页式存储管理中,用 $\underline{\qquad}$ 方法来管理逻辑存储空间,用 $\underline{\qquad}$ 方法来管理物理存储空间。 + +
+ 答案: + + 分段;分页 + +
+ + *** + +4. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $90\ \text{ns}$,一次 TLB 访问代价为 $10\ \text{ns}$。假设 TLB 的命中率为 $50\%$,请问,进程对内存的有效访问时间是 $\underline{\qquad}$。 + +
+ 答案: + + $235\ \text{ns}$ + +
+ + *** + +5. 廉价冗余阵列可组成一个大容量磁盘系统,它利用交叉存储 $\underline{\qquad}$ 来提高磁盘系统的存取速度,而利用 $\underline{\qquad}$ 来增加磁盘系统的可靠性。 + +
+ 答案: + + 技术;容错技术 + +
+ +*** + +### 三、判断题(20 分,每题 2 分) + +1. 进程同步是进程与进程间的间接制约问题,进程互斥是进程与进程间的直接制约问题。( ) + +
+ 答案: + + 错 + +
+ + *** + +2. 单 CPU 环境下由于任何时刻只有一个进程(线程)能够运行,因此操作系统不需要实现同步与互斥支持。( ) + +
+ 答案: + + 错 + +
+ + *** + +3. 页表由各个进程自己管理,进程可在用户态对页表进行更新。( ) + +
+ 答案: + + 错 + +
+ + *** + +4. 位示图只能用在磁盘空间的管理。( ) + +
+ 答案: + + 错 + +
+ + *** + +5. 临界区是指进程中用于实现进程互斥的那段代码。( ) + +
+ 答案: + + 错 + +
+ + *** + +6. 逻辑文件有两种形式流式文件和记录式文件,源程序文件属于记录式文件,学生选课文件属于流式文件。( ) + +
+ 答案: + + 错 + +
+ + *** + +7. 当某进程执行 P 操作时,首先对 S 信号量减 1,当 $S \le 0$ 时表示资源得不到满足,系统将执行 P 操作的进程插入等待队列。( ) + +
+ 答案: + + 错 + +
+ + *** + +8. 文件的物理结构不仅与外存的分配方式相关,还与存储介质的特性相关,通常在磁带上只适合使用顺序的存储结构。( ) + +
+ 答案: + + 对 + +
+ + *** + +9. 采用资源静态分配算法可以预防死锁的发生。( ) + +
+ 答案: + + 对 + +
+ + *** + +10. 并发是并行的不同表述,其原理是相同的。( ) + +
+ 答案: + + 错 + +
+ +*** + +### 四、简答题(20 分,每题 5 分) + +1. 什么是死锁?什么是饥饿?请说明两者之间的关系。什么是同步?什么是互斥? + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + + 同步:并发进程之间相互合作,完成一项工作,它们之间有一定的时序关系。互相约束,其表现为一个进程等待另一个进程的变量结果. + + 互斥:并发进程之间相互竞争临界资源的排他性关系 + +
+ + *** + +2. 介绍信号量的含义,简单描述 P/V 机制,并给出 P 操作和 V 操作实现方法。 + +
+ 答案: + + (1)P、V操作是两条原语,定义如下: + + P操作:P操作记为 $P(S)$,其中 $S$ 为一信号量,它执行时主要完成下述动作: + + $S=S-1$ + + 若 $S>=0$,则进程继续运行。 + + 若 $S<0$,则该进程被阻塞,并将它插入该信号量的等待队列中。 + + V操作:V操作记为 $V(S)$,其中 $S$ 为一信号量,它执行时主要完成下述动作: + + $S=S+1$ + + 若 $S>0$,则进程继续运行。 + + 若 $S<=0$,则从信号量的等待队列中移出队首进程。使其变为就绪状态。 + +
+ + *** + +3. 分页存储管理中,页表的功能是什么?当系统中的地址空间变得非常大时(如 32 位地址空间),会给页表的设计带来什么样的新问题?请给出一种解决方案。 + +
+ 答案: + + 页表主要功能是完成逻辑地址与物理地址之间的映射。如果地址空间非常大,会造成页表非常大,使得其占据内存空间非常大。其主要解决方法为采用多级页表的方法。 + +
+ + *** + +4. 辨析概念:管程与进程。 + +
+ 答案: + + 管程:是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。管程(Monitor)采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及其上实施操作的若干过程来进行;对共享资源的申请和释放可以通过管程在数据结构上的操作来实现。 + + 进程:进程是计算机中的程序关于某数据集合的一次运行活动。在传统操作系统中,它是资源拥有的基本单元。进程之间同样可以并发执行。进程虽然拥有自己的系统资源,但也因此导致创建或撤销进程开销都十分的大,切换、通信、同步也会比线程之间的实现更加复杂。 + +
+ +*** + +### 五、问答题(30 分,每题 10 分) + +1. 有三个用户进程 A、B 和 C,在运行过程中都要使用系统中的一台打印机输出计算结果。 + + 说明 A、B、C 进程之间存在什么样的制约关系? + + 为保证这三个进程能正确地打印出各自的结果,请用信号量和 P、V 操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。 + +
+ 答案: + + 1)存在互斥关系。 + + 2)设定信号量为mutex,其初值为1。 + + A进程 B进程 C进程 + + `P(mutex)` `P(mutex)` `P(mutex)` + + 使用打印机 使用打印机 使用打印机 + + `V(mutex)` `V(mutex)` `V(mutex)` + +
+ + *** + +2. 在采用页式存储管理的系统中,某任务 J 的逻辑地址空间为 4 页(每页 $2048\ \text{B}$),且已知该任务的页面映象表如下: + + | 页号 | 帧号 | + | --- | --- | + | 0 | 2 | + | 1 | 4 | + | 2 | 6 | + | 3 | 8 | + + 试借助地址变换图(画出地址变换图)求出有效逻辑地址 4865 所对应的物理地址。 + +
+ 答案: + + 页号:$4865 / 2048 = 2$ + + 页内位移:$4865 - 2048 \times 2 = 769$ + + 通过页表得知物理块号为 6,将物理块号与逻辑地址中的页内位移拼接,形成物理地址,即: + + $6 \times 2048 + 769 = 13057$ + +
+ + *** + +3. 某操作系统的文件管理采用直接索引和多级索引混合方式,文件索引表共有 10 项,其中前 8 项是直接索引项,第 9 项是一次间接索引项,第 10 项是二次间接索引项,假定物理块的大小是 $2\ \text{K}$,每个索引项占用 $4\ \text{B}$,问: + + 该文件系统中最大的文件可以达到多大? + + 假定一个文件的实际大小是 $128\ \text{MB}$,该文件实际占用磁盘空间多大(包括间接索引块)? + +
+ 答案: + + 1) $8 \times 2\text{K} + \dfrac{2\text{K}}{4\text{B}} \times 2\text{K} + \dfrac{2\text{K}}{4\text{B}} \times \left(\dfrac{2\text{K}}{4\text{B}}\right) \times 2\text{K} = 513\text{M} + 16\text{K}$ + + 2) 直接块:$8 \times 2\text{K} = 16\text{KB}$,索引块 0 个。 + + 一级间接块:$\dfrac{2\text{K}}{4\text{B}} \times 2\text{K} = 1\text{MB}$,一级索引块 1 个,即 $2\text{K}$。 + + 剩下:$128\text{MB} - 1\text{MB} - 16\text{KB} = 130032\text{KB}$ + + $130032\text{KB} \,/\, \left(\dfrac{2\text{K}}{4\text{B}} \times 2\text{K}\right) = 127$ 块(取整) + + 二级索引块 1 个,一级间接索引块需要 127 个,即 $(127+1)\times 2\text{K} = 256\text{K}$ + + 占用空间:$128\text{MB} + 0\text{K} + 2\text{K} + 256\text{K} = 131330\text{K} = 128\text{M} + 258\text{K}$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..a45d8b0 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,374 @@ +--- +title: 2015-2016学年下学期月考 +--- + +## 2015-2016学年下学期月考试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院月考试卷(二)(2015—2016 学年第二学期) + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 当一个操作系统采用连续内存分配方案时,只可能产生外部碎片。 + +
+ 答案: + + 错,在相同大小连续内存分配方案中也可能会产生内部碎片。 + +
+ + *** + +2. 在虚存管理时,采用 LRU 页面替换策略可能发生 Belady 异常(即分配页框越多,缺页率反而越高)。 + +
+ 答案: + + 错,LRU 和 Optimal 算法都不可能发生 Belady 异常;只有 FIFO 可能发生 Belady 异常。 + +
+ + *** + +3. 从有效内存访问时间来看,基于转换表缓冲区(TLB)的分页策略一定优于纯分页策略。 + +
+ 答案: + + 错,如果 TLB 的命中率特别低,基于转换表缓冲区的分页策略可能比纯分页策略要差。 + +
+ + *** + +4. 在按需分页中,通过安装更快的 CPU 可以改善多道程序程度过高而导致的系统颠簸。 + +
+ 答案: + + 错,颠簸是由于多道程序程度过高,导致缺页率大幅增加,而 CPU 利用率急剧下降。此时,很多进程在等待 I/O,因此即使安装更快的 CPU 也无助于改善系统颠簸。 + +
+ + *** + +5. 页表由各个进程自己管理,进程可在用户态对页表进行更新。 + +
+ 答案: + + 错,首先不是所有的页表都是进程自己管理,如反向页表是操作系统管理的;其次,页表的修改只有在内核态进行更新。 + +
+ +*** + +### 二、单项选择题(15 分,每小题 3 分) + +1. 采用分段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是: + + A. $2^{24}$ + + B. $2^{16}$ + + C. $2^8$ + + D. $2^{32}$ + +
+ 答案: + + B + +
+ + *** + +2. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $100\ \text{ns}$,一次 TLB 访问代价为 $10\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是: + + A. $110\ \text{ns}$ + + B. $160\ \text{ns}$ + + C. $260\ \text{ns}$ + + D. $320\ \text{ns}$ + +
+ 答案: + + C($100+50\%\times10+50\%\times110+100=260$) + +
+ + *** + +对于接下来的 3 个问题,假设某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个内存块。 + +3. 采用 FIFO 页面置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 7 + + B. 8 + + C. 9 + + D. 10 + +
+ 答案: + + C + +
+ + *** + +4. 采用 LRU 页面置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 6 + + B. 7 + + C. 8 + + D. 9 + +
+ 答案: + + B + +
+ + *** + +5. 采用最优页面(OPT)置换算法会产生 $\underline{\qquad}$ 次缺页中断。 + + A. 5 + + B. 6 + + C. 7 + + D. 8 + +
+ 答案: + + B + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 内部碎片与外部碎片 + +
+ 答案: + + 内部碎片:某一区域或某一页中,未被占据其位置的作业所使用的区域。直到作业完成,释放页或区域,这个空间才能被系统所利用。 + + 外部碎片:还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。 + + 区别:外部碎片不属于任何一个进程,如果不使用压缩算法直到内存断点为止;而内部碎片隶属于一个进程,随着进程释放内存空间而释放。 + +
+ + *** + +2. 页式内存管理和段式内存管理 + +
+ 答案: + + 页式内存管理:将逻辑地址空间和物理地址空间分成同样大小的片,利用页表实现逻辑地址空间向物理地址空间的转换。 + + 段式内存管理:将逻辑地址空间进行分段,每段大小可变,利用段表实现逻辑地址空间向物理地址空间的转换。 + + 区别:分段直接对物理地址空间划分,可能会产生外部碎片和内部碎片,而分页技术同时对逻辑地址空间和物理地址空间进行划分,它只产生外部碎片;帧大小普遍小于段的大小,但是页表通常远远大于段表的大小,从而造成分页的地址转换开销比较大。 + +
+ + *** + +3. 哈希页表和反向页表 + +
+ 答案: + + 哈希页表:以虚拟页号为键,物理帧号为值建立哈希页表,发生碰撞的页表项以链表数据结构组织。 + + 反向页表:反向页表对每个物理内存帧才有一个条目,而且每个页表项按照物理内存帧号进行排序。 + + 区别:哈希页表针对某一个进程而建立的多级页表结构,而反向页表是针对整个操作系统而建立页表结构。 + +
+ + *** + +4. 最优置换和 LRU 置换 + +
+ 答案: + + 最优置换:按需调页时,置换最长时间不会使用的页。 + + LRU 置换:按需调页时,置换最长时间没有使用的页。 + + 区别:由于我们未知进程运行需要的页,最优置换算法难以实现,可以使用最长时间没有使用的页来近似最长时间不会使用的页。 + +
+ + *** + +5. 按需调页和交换 + +
+ 答案: + + 按需调页:进程执行过程中,在需要时才调入相应的物理页,这种技术称为按需调页,又称为懒惰交换。 + + 交换:把处于等待状态的进程从内存中移到二级存储,并释放该进程占用的内存空间,这一过程称为交换。 + + 区别:按需调页细粒度地实现进程中的某个或某些内存页和二级存储间的交换,而交换是整个进程的所占用内存空间与二级存储间的交换。 + +
+ +*** + +### 四、综合题(40 分) + +1. 简述缺页中断处理的详细过程(从发生缺页中断开始至页面调度结束),并指明每个步骤中,处理所处的上下文环境和模式。(10 分) + +
+ 答案: + + How does OS handle a Page Fault?: + + 1. Choose an old page to replace in terms of a page-replacement algorithm + + 2. If old page modified(“D=1”), write contents back to disk + + 3. Change its PTE and any cached TLB to be invalid + + 4. Load new page into memory from disk + + 5. Update page table entry, validate TLB for new entry + + 6. Continue thread from the new location via accessing the page table + +
+ + *** + +2. 一个 32 位的操作系统,内存大小为 $2\ \text{GB}$,采用分页技术进行内存分配,如果每页的大小为 $4\ \text{KB}$:(10 分) + + a) 请说明各需多少位表示虚拟地址、物理地址、虚拟页号、物理帧号和偏移量(5 分)? + +
+ 答案: + + VA: 32, PA: 31, pages: 20,# frames: 19,offset: 12 + +
+ + b) 如果某进程的页表如下,请在内存中定位下列虚拟地址的物理地址:3187, 7745, 11084, 14267, 18443(5 分)。 + + | PageID | FrameID | + | --- | --- | + | 0 | 4 | + | 1 | 2 | + | 2 | 5 | + | 3 | 3 | + +
+ 答案: + + 3187 -> 19571, 7745 -> 11841, + + 11084 -> 23372, 14267 -> 14267 + + 18843 超出了页表长度,非法内存访问 + + :::tip + 题目中为 18443,参考答案写作 18843;此处按参考答案保留。 + ::: + +
+ + *** + +3. 采用按需调页(demand paging),现有 3 个页框,分别存储着页面号 2,3,4 三个页面。已知接下来的页面访问顺序为 1,2,3,4,1,2,5,1,2,3,4,5。使用时钟算法(clock algorithm)作为页面替换算法。(10 分) + + a) 请计算会发生的缺页次数(假设初始时在页框内的页面的引用位(reference bit)都是 1,2/3/4 三个页面按序存放,初始时指针指向页面 2)?(7 分) + +
+ 答案: + + 9 次缺页 + +
+ + b) 请写出这一内存访问序列所对应的时间段中的工作集(3 分) + +
+ 答案: + + {1,2,3,4,5} + +
+ + *** + +4. 现有两个进程 P1 和 P2,当前的页面访问序列分别为: + + P1: 1, 2, 3, 4, 1, 2, 5 + + P2: 6, 7, 8, 6, 7, 6, 7 + + 这两个进程总共可有 5 个页框可供使用。假设使用 LRU 替换策略,页框分配采用固定分配(即分配后不可修改),请问如何在两个进程间分配页框可以达到缺页率最低? + + a) 请分别写出两个进程的替换序列,并计算总的缺页次数(6 分)。 + +
+ 答案: + + 2, 3 (10 次缺页)(1+4 也是 10 次,也算正确,答案不唯一) + + 1, 1, 3, 4, 1, 2, 5 + +    2, 2, 3, 4, 1, 2 + +
+ + 6, 6, 6, 6, 6, 6, 6 + +    7, 7, 7, 7, 7, 7 + +       8, 8, 8, 8, 8 + +
+ + b) 并证明这种帧分配对于给定的内存访问序列是最优的(4 分)。 + +
+ 答案: + + 证明: + + a. 给 P2 更多页面不会减少 P2 的缺页率; + + b. 给 P1 3 个页面不会减少 P1 的缺页率,但是会增加 P2 的缺页率; + + c. 给 P1 4 个页面,P1 的缺页次数为 5,但是 P2 的缺页次数为 7。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..8a050e1 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,732 @@ +--- +title: 2016-2017学年上学期月考 +--- + +## 2016-2017学年上学期月考试卷(含答案) + +### 说明 + +- 日期:2016.10 +- 原卷标题:华东师范大学软件学院月考试卷(2016—2017学年第一学期) + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 线程都保存有各自的栈信息、CPU 状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + 错。线程保存栈信息、CPU 状态;而堆信息,以及打开文件列表等是进程保存的。 + + (线程实现了资源和调度单位相分离) + +
+ + *** + +2. 向操作系统传递参数只能通过寄存器实现。 + +
+ 答案: + + 错。还可以通过堆栈传递等 + +
+ + *** + +3. 在微内核结构的操作系统中,进程间通讯可以不在微内核内。 + +
+ 答案: + + 错。进程通讯是内核的核心功能,对微内核系统,也在微内核内实现。 + +
+ + *** + +4. 对于内核支持的线程,当该线程执行系统调用被阻塞时,不仅该线程被阻塞,而且同一进程内的所有线程都会被阻塞。 + +
+ 答案: + + 错。只有当前进程被阻塞,其它进程可以继续执行。 + +
+ + *** + +5. 当前运行进程发生缺页中断,进程将进入 Ready 队列 + +
+ 答案: + + 错。进入 waiting 队列。 + +
+ +*** + +### 二、不定项选择题(15 分,每小题 3 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 以下哪些(个)操作会使得一个进程从运行(running)状态转换为就绪(ready)状态( ) + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用 yield( ),主动放弃使用 CPU + +
+ 答案: + + ABD + +
+ + *** + +2. 当从“新建(new)”状态进入“就绪(ready)”状态的进程增多时,下面哪种情况不会发生( ) + + A. I/O 操作的频度升高; + + B. CPU 利用率下降 + + C. CPU 利用率上升 + + D. 进程的平均响应时间减少 + +
+ 答案: + + D + +
+ + *** + +3. 以下描述正确的是( ) + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是提高 CPU 和 I/O 的并行度 + +
+ 答案: + + BC + +
+ + *** + +4. 以下哪些(个)对于微内核操作系统的描述是正确的?( ) + + A. Microsoft Windows 是微内核操作系统,但 Linux 不是; + + B. 进程间通信必须在微内核内实现; + + C. 因为用户进程不应访问页表,因此虚存应该在微内核内实现; + + D. 操作系统设计时采用微内核结构可以提高操作系统执行的效率。 + +
+ 答案: + + B + + 宏内核(模块化内核)结构的例子:传统的 UNIX 内核,BSD 伯克利大学发行的版本;Linux 内核;MS-DOS,Windows 9x(Windows 95,98,Me); + + 混合内核:Windows NT、Windows 2000、Windows XP、Windows Server 2003 以及 Windows Vista 和 Windows 7 等基于 NT 技术的微软视窗操作系统。 + +
+ + *** + +5. 以下对于线程的描述哪些(个)是错误的( ) + + A. 一个用户态线程的阻塞(block)会引起它所属的整个进程(包括其中的其它线程)的阻塞; + + B. 同一个进程的不同线程可以共享地址空间中的堆; + + C. 线程间通信必须通过内核态系统调用进行; + + D. 同一个进程的不同线程必须维护各自的调用栈和 CPU 状态。 + +
+ 答案: + + C + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 分时(time-sharing)与多道程序(multi-programming) + +
+ 答案: + + 分时:将时间划分成时间片,进程按时间片轮流执行 + + 多道:系统中存在多个程序同时执行 + + 区别:分时主要针对提高系统的响应速度,改善用户体验;多道主要针对增加系统的利用率。 + +
+ + *** + +2. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度 + + 区别:长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +3. 网络操作系统和分布式操作系统 + +
+ 答案: + + 网络操作系统:支持网络的操作系统 + + 分布式操作系统:可管理分布式系统的操作系统 + + 区别:采用分布式操作系统,分布的计算机对于用户是透明的。 + +
+ + *** + +4. 微内核和模块化内核 + +
+ 答案: + + 微内核:操作系统内核只包含最基本的功能(进程调度和进程间通讯) + + 模块化内核:操作系统内核的一些功能可以作为模块挂载 + + 区别:微内核中内核和其它操作系统的功能模块(如虚存管理)在不同的地址空间运行,模块化内核中它们在一个地址空间。 + +
+ + *** + +5. 核心态和用户态 + +
+ 答案: + + 核心态:操作系统内核执行的受保护的状态 + + 用户态:用户进程执行所在的状态 + + 区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态。 + +
+ +*** + +### 四、综合题(40 分) + +1. 请简要说明你对以下图的理解。(5 分) + + ![2016.10 月考综合题第 1 题 CPU 与 I/O 并行过程图](./images/2016-2017学年上学期月考_综合题_第1题_CPU与IO并行过程图.png) + +
+ 答案: + + 操作系统工作过程是被中断驱动的,An operating system is interrupt driven。 + + CPU 在用户程序处理过程中,遇到中断请求后,要进行中断处理。 + + 进程从用户程序执行状态转换到中断处理状态之间要进行上下文的保护。因此在 Transfer done 以后,CPU 保护上下文的信息后对中断进行响应。 + + I/O 设备和 CPU 并行工作。在 I/O 请求后,设备进行数据 Transfer 时,CPU 在同时工作。 + +
+ + *** + +2. 调度队列有哪几种?请简单说明(5 分) + +
+ 答案: + + Ready 队列。已经调入内存在 Ready 状态等待执行的进程队列。 + + I/O 队列。在特定的 I/O 设备资源上等待资源的出现的队列。每个 I/O 设备都有一个相应的队列。 + + job 队列。Job queue -- set of all processes in the system + +
+ + *** + +3. 进程创建时(如在类 UNIX 操作系统中,连续执行 fork() 和 exec() 系统调用),操作系统所需要进行那些工作,它们的代价如何(大,中,小)。为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(10 分) + +
+ 答案: + + a. 构造 PCB,代价小 + + b. 设置地址空间映射,代价中 + + c. 复制父进程地址空间内容,代价大 + + d. 复制 I/O 状态,代价中 + + (2)为什么线程创建比进程快,它主要节省了以上哪个步骤的代价?(4 分) + + 答:同一进程的不同线程共享资源,因此以上 b, c, d 三项代价几乎都可节省 + +
+ + *** + +4. 请详细描述一个用户态线程调用 sleep() 系统调用后,操作系统所执行的任务。(8 分) + +
+ 答案: + + 1. 系统调用过程:mode-switch, 查表(syscall handling), 执行系统调用代码。 + + 2. sleep() 将当前进程放入 waiting 队列(设置 alarm) + + 3. CPU 调度(context switch) + + 4. 系统调用结束,返回,mode-switch + +
+ + *** + +5. 请给出以下图中操作系统进程状态的概念和状态之间转换的一个例子(12 分)。 + + ![2016.10 月考综合题第 5 题进程状态转换图](./images/2016-2017学年上学期月考_综合题_第5题_进程状态转换图.png) + +
+ 答案: + + 参考答案:(进程状态的概念略) + + (1): new-->ready:从 shell 启动程序或者 fork 进程 + + (2): running->ready:高优先级程序运行,时间片到,... + + (3): ready-->running:时间片到,前一进程结束/等待... + + (4): running-->terminated:exit + + (5): running-->waiting:等待 i/o、信号量 P 操作... + + (6): waiting-->ready:i/o 结束、获得信号量,... + + (7): waiting-->suspended:虚存时,内存不够 + + (8): suspended-->ready:得到 i/o 结束、获得信号量,... + +
+ +*** + +## 2016-2017学年上学期月考试卷(三)(含答案) + +### 说明 + +- 日期:2016.12 +- 原卷标题:华东师范大学软件学院月考试卷(三)(2014—2015学年第二学期),但卷内老师的批注为16年11月,因此标题为误标 + +### 一、判断题(15 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 发生缺页中断的进程将从运行态转换为等待态。 + +
+ 答案: + + 对。 + +
+ + *** + +2. 段页式内存分配方案可以同时避免产生外部碎片和内部碎片。 + +
+ 答案: + + 错,段页式分配仍然也可能会产生内部碎片。 + +
+ + *** + +3. Belady 异常是指过多缺页导致 Swap in,swap out 增多,即 I/O 操作增多,从而引起 CPU 利用率下降,导致操作系统增加更多的用户进程进入系统,反过来导致更多缺页的现象。 + +
+ 答案: + + 错,以上是 Thrashing(颠簸,抖动);Belady 异常是指“分配页框越多,缺页率反而越高”。 + +
+ + *** + +4. 虚拟内存的容量只受计算机系统地址位数的限制。 + +
+ 答案: + + 错,还受限于物理内存和磁盘的大小。 + +
+ + *** + +5. 基于转换表缓冲区(TLB)的数据访问最多只需要两次内存访问。 + +
+ 答案: + + 错,最多几次内存访问取决于分页策略,段页式、散列页表或者多级页表可能需要多于两次内存访问。 + +
+ +*** + +### 二、单项选择题(15 分,每小题 3 分) + +1. 虚拟存储的基础是程序局部性理论,它的基本含义是( )。 + + A. 代码的顺序执行 + + B. 程序执行时对内存访问的不均匀性 + + C. 变量的连续访问 + + D. 指令的局部性 + +
+ 答案: + + B + +
+ + *** + +2. 采用分段式存储管理的系统中,若地址用 32 位表示,其中 12 位表示段号,则允许每段的最大长度是: + + A. 12 + + B. 20 + + C. $2^{12}$ + + D. $2^{20}$ + +
+ 答案: + + D + +
+ + *** + +3. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $100\ \text{ns}$,一次 TLB 访问代价为 $10\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是: + + A. $110\ \text{ns}$ + + B. $210\ \text{ns}$ + + C. $160\ \text{ns}$ + + D. $320\ \text{ns}$ + +
+ 答案: + + B + +
+ + *** + +4. 某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个框,则采用 LRU 页面置换算法会产生几次缺页中断? + + A. 5 + + B. 6 + + C. 7 + + D. 8 + +
+ 答案: + + C + +
+ + *** + +5. 以下对于按需调页的页面替换算法的描述,正确的是: + + A. 在缺页率上,最优调页必然优于(或相当于)LRU 算法; + + B. 先进先出(FIFO)算法必然会导致页框越多,缺页率越高; + + C. LRU 算法在替换页面查找效率上优于 FIFO 算法; + + D. 以上皆错。 + +
+ 答案: + + A + +
+ +*** + +### 三、辨析题(30 分,每小题 6 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 逻辑地址与物理地址 + +
+ 答案: + + 逻辑地址:又称为虚拟地址,由程序产生的与段相关的偏移地址部分; + + 物理地址:出现在 CPU 外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址; + + 区别:物理地址通常是唯一的,而逻辑地址与物理地址可以是多对一的关系;而且用户程序通常只能操作逻辑地址,通过操作系统提供的保护机制,物理地址对用户程序是透明的。 + +
+ + *** + +2. Valid/invalid bit 与 dirty bit. + + *** + +3. 动态加载 vs 动态链接 + +
+ 答案: + + 动态加载:P280. 例程仅在被调用时加载。未被使用的例程不会被加载。 + + 动态链接:P281. 程序仅在被调用时链接。被链接的程序一般是系统库函数。 + + 区别。P282 + +
+ + *** + +4. 页表和转换表缓冲区(TLB) + +
+ 答案: + + 页表:在分页的内存管理策略中,页表实现了逻辑地址向物理地址的转换,通常保持在内存中; + + 转换表缓冲区:它是一段小且专用的快速硬件缓冲,其中保持了页表中的一部分条目。 + + 区别:转换表缓冲区的访问速度远快于内存访问,因此比页表访问具有更高的时间效率,但是由于缓冲区通常是很小的一部分空间,因此只能容纳页表中很少的一部分。 + +
+ + *** + +5. 最优置换策略和 LRU 置换策略 + +
+ 答案: + + 最优置换策略:按需调页时,置换最长时间不会使用的页。 + + LRU 置换策略:按需调页时,置换最长时间没有使用的页。 + + 区别:由于我们未知进程运行需要的页,最优置换算法难以实现,可以使用最长时间没有使用的页来近似最长时间不会使用的页。 + +
+ +*** + +### 四、综合题(40 分) + +1. 五个内存块大小依次为 $100\ \text{KB}$, $500\ \text{KB}$, $200\ \text{KB}$, $300\ \text{KB}$, $600\ \text{KB}$。分别用 first-fit, best-fit, 以及 worst-fit 算法处理 $212\ \text{KB}$, $417\ \text{KB}$, $112\ \text{KB}$, and $426\ \text{KB}$ (按序)的内存请求,请说明各算法的分配情况。对于当前情况,那种算法比较好? + +
+ 答案: + + Answer: + + (a) First-fit: + + 212K is put in 500K partition + + 417K is put in 600K partition + + 112K is put in 288K partition (new partition 288K = 500K − 212K) + + 426K must wait + + (b) Best-fit: + + 212K is put in 300K partition + + 417K is put in 500K partition + + 112K is put in 200K partition + + 426K is put in 600K partition + + (c) Worst-fit: + + 212K is put in 600K partition + + 417K is put in 500K partition + + 112K is put in 388K partition + + 426K must wait + + In this example, best-fit turns out to be the best + +
+ + *** + +2. (1)某系统段表如下,求以下逻辑地址的物理地址。(5 分)。 + + (a) 0, 0x430000;(b) 1, 0x10000;(c) 2, 0x500000; + + (d) 3,0x400000; (e) 4, 0x112000 + + | 段号 | 基地址 | 长度 | + | --- | --- | --- | + | 0 | 0x219000 | 0x600000 | + | 1 | 0x2300000 | 0x14000 | + | 2 | 0x90000 | 0x100000 | + | 3 | 0x1327000 | 0x580000 | + | 4 | 0x1952000 | 0x96000 | + +
+ 答案: + + a. 0x219000 + 0x430000 = 0x649000 + + b. 0x2300000 + 0x10000 = 0x2310000 + + c. illegal reference, trap to operating system + + d. 0x1327000 + 0x400000 = 0x1727 + + e. illegal reference, trap to operating system + +
+ + (2)某 32 位系统采用分页技术进行内存分配,页大小为 $4\ \text{KB}$。某进程的页表如下,请在内存中定位下列虚拟地址的物理地址:0x0c73, 0x1e41, 0x2b4c, 0x37bb, 0x580b(5 分)。 + + | 页号 | 框号 | i/v | + | --- | --- | --- | + | 0 | 4 | v | + | 1 | 2 | v | + | 2 | 5 | v | + | 3 | 3 | v | + | 4 | 8 | i | + +
+ 答案: + + 0x0c73 --> 0x4c73 + + 0x1e41 --> 0x2e41 + + 0x2b4c --> 0x5b4c + + 0x37bb --> 0x37bb + + 0x480b --> 超出了页表长度,非法内存访问 + +
+ + *** + +3. 请解释多级页表、反向页表、散列页表(或叫“哈希”页表)的概念(可画图表示),并从地址翻译的效率、内存空间占用这连个角度,详细分析对于 64 位 CPU 的计算机,这三种技术各自的优缺点。(10 分) + +
+ 答案: + + 略 + +
+ + *** + +4. (10 分)现有两个进程 P1 和 P2,当前的页面访问序列分别为: + + P1: 1, 2, 3, 4, 1, 2, 5 + + P2: 6, 7, 8, 6, 7, 6, 7 + + 这两个进程总共可有 5 个页框可供使用。假设使用 LRU 替换策略,页框分配采用固定分配(即分配后不可修改),请问如何在两个进程间分配页框可以达到缺页率最低?请写出替换序列,和缺页率计算过程(4 分);并证明该分配对于给出的序列是最优的(6 分)。 + +
+ 答案: + + 2, 3 (10 次缺页) + + 1, 1, 3, 4, 1, 2, 5 + +    2, 2, 3, 4, 1, 2 + +
+ + 6, 6, 6, 6, 6, 6, 6 + +    7, 7, 7, 7, 7, 7 + +       8, 8, 8, 8, 8 + + 证明: + + 1. 给 P2 更多页面不会减少 P2 的缺页率; + 2. 给 P1 3 个页面不会减少 P1 的缺页率,但是会增加 P2 的缺页率; + 3. 给 P1 4 个页面,P1 的缺页次数为 5,但是 P2 的缺页次数为 7。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..a495934 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,429 @@ +--- +title: 2016-2017学年上学期期中 +--- + +## 2016-2017学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学计算机科学与软件工程学院期中考试卷(2016—2017学年第一学期) + +### 一、判断题(30分,每小题3分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 如果信号量S的当前值为 -5 时,则表示系统中共有 5 个等待的进程。 + +
+ 答案: + + 错。S=-5表示当前有5个进程等待进入该信号量所对应的临界区。 + +
+ + *** + +2. 取值为0或者1的信号量只能实现互斥访问。 + +
+ 答案: + + 错。信号量可以实现互斥和同步。 + +
+ + *** + +3. 发生死锁时系统一定处于不安全状态。 + +
+ 答案: + + 对。发生死锁时找不到一个安全序列。 + +
+ + *** + +4. 资源分配图中存在环时,系统中某些进程处于死锁状态。 + +
+ 答案: + + 错。当每种资源实例个数为一时,在环中的每个进程处于死锁状态。但是当资源实例数量不唯一时,不一定处于死锁状态。 + +
+ + *** + +5. 如果一个进程只需要一个资源即可完成,那么这个进程一定不会处于死锁状态。 + +
+ 答案: + + 对。因为不满足死锁必要条件中的持有并等待。 + +
+ + *** + +6. 在多处理器系统中,通过关中断的方式可以解决进程间互斥访问的问题。 + +
+ 答案: + + 错。在多处理器系统中,关中断不能保重临界区的互斥访问。 + +
+ + *** + +7. 进程所请求打开的文件打开后,将使进程状态从运行态变为就绪态。 + +
+ 答案: + + 错。等待态变为就绪态。 + +
+ + *** + +8. 在生产者-消费者问题中,生产者进程和消费者进程只要解决互斥访问的问题即可。 + +
+ 答案: + + 错。当buffer为空时,只有等待生成者进程完成一个产品生成后,消费者才可以消费。因此,还要解决进程间同步的问题。 + +
+ + *** + +9. 死锁是指因进程间相互竞争资源,使得系统中有多个进程因得不到所需资源而处于阻塞的状态。 + +
+ 答案: + + 错。根据银行家算法,在当前时刻,无论有多少进程处于阻塞状态,只要找到一个安全序列说明整个系统处于安全状态,系统就不会出现死锁。 + +
+ + *** + +10. 管程中对条件变量的signal()和信号量中的signal()操作具有相同的效果。 + +
+ 答案: + + 错。管程中对条件变量的signal()可以什么都不做,而信号量中的signal()操作必然改变信号量的值。 + +
+ +*** + +### 二、多项选择题(15分,每小题3分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 以下哪种情况仍然可能会发生死锁?( ) + + A. 资源都是不共享的; + + B. 每个进程必须一次申请、获得所需的所有资源 + + C. 空闲资源能够满足任意一个进程还需要的资源需求 + + D. 每一种资源的数量都超过单个进程所需这类资源的最大值 + +
+ 答案: + + AD + +
+ + *** + +2. 对于死锁,以下哪些(个)描述是正确的:( ) + + A. 系统中每个进程都需要多个资源才能运行结束,则系统可能会处于死锁状态 + + B. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + C. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + D. 如果每个进程可以分批申请所需的资源,如果不能满足其要求,则让其忙等,那么死锁不可能发生 + +
+ 答案: + + AC + +
+ + *** + +3. 以下描述正确的是:( ) + + A. 中断处理程序(interrupt handler)是进程的一部分,在进程的地址空间中运行 + + B. 中断处理程序(interrupt handler)必须运行在内核态 + + C. 微内核体系结构下,进程间通讯(inter-processing communication)必须在微内核内 + + D. 分时(time sharing)的目的是改善用户体验 + +
+ 答案: + + BCD + +
+ + *** + +4. 一个正在运行的进程,当所分配的时间片用完后,不可能将其挂在( )。 + + A.等待队列 + + B.运行队列 + + C.就绪队列 + + D.无法确定 + +
+ 答案: + + AB + +
+ + *** + +5. 以下那个操作会使得一个进程从运行(running)状态转换为就绪(ready)状态:( ) + + A. 进程提交I/O请求 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用yield(),主动放弃使用CPU + +
+ 答案: + + BD + +
+ +*** + +### 三、辨析题(30分,每小题6分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +2. P原语和V原语 + +
+ 答案: + + P原语为阻塞原语,负责把当前进程由运行状态转换为阻塞状态或者忙等状态,直到另外一个进程唤醒它或者跳出忙等。操作为:申请一个空闲资源,把信号量减1,若成功,则退出;若失败,则该进程被阻塞或忙等; + + V原语为唤醒原语,负责把一个被阻塞的进程唤醒或者跳出忙等,在唤醒的机制中有一个参数表,存放着等待被唤醒的进程信息。操作为:释放一个被占用的资源,把信号量加1,如果发现有被阻塞的进程,则选择一个唤醒之;或者跳出忙等状态。 + + P原语和V原语是操作信号量的两个重要方法,它们对信号量施行相反的操作,但是在解决互斥和同步时又需要他们配合完成。 + +
+ + *** + +3. 不安全状态和死锁 + +
+ 答案: + + 不安全状态:指在当前的系统状态下,找不到一个安全序列使得当前所有的进程能够运行结束。 + + 死锁:多个进程循环等待对方,都无法继续执行 + + 区别:死锁一定处于不安全状态,但是不安全状态不一定死锁。 + +
+ + *** + +4. 进程调度和进程通讯 + +
+ 答案: + + 进程调度:是指协调、分配进程占用系统CPU资源的算法。 + + 进程通讯:是操作系统负责不同进程间共享内存、磁盘文件、打印机等硬件的方法。 + + 区别:进程调度只负责进程间CPU资源的共享,而进程间通讯主要负责非CPU资源的共享。 + +
+ + *** + +5. 线程与进程 + +
+ 答案: + + 线程:线程是轻量级的进程,是资源调度的最小单位。 + + 进程:是执行中的程序,是资源分配的最小单位。 + + 区别:从定义、调度、并发性、系统开销和拥有资源角度说明即可。 + +
+ +*** + +### 四、综合题(25分) + +1. (10分)假设生产者-消费者问题中,buffer大小为n。已知运用信号量解决该问题的代码如下。请将这段代码补充完整。 + +
+ 答案: + + ```c + Semaphore full = 0; + Semaphore empty = n; + Semaphore mutex = 1; + + 生产者: + Producer () { + while (true) { + /* produce an item and put in nextProduced */ + wait (empty); + wait (mutex); + buffer [in] = nextProduced; + in = (in + 1) % BUF_SIZE; + count ++; + signal (mutex); + signal (full); + } + } + + 消费者: + Consumer () { + while (true) { + wait (full); + wait (mutex); + nextConsumed = buffer[out]; + out = (out + 1) % BUF_SIZE; + count --; + signal (mutex); + signal (empty); + /* consume the item in nextConsumed */ + } + } + ``` + +
+ + *** + +2. (8分)四个进程需要运行的时间(单位:毫秒)和到达顺序如下: + + | 进程 | 需要CPU时间 | 优先级 | + | --- | --- | --- | + | P1 | 9 | 3 | + | P2 | 2 | 1 | + | P3 | 3 | 2 | + | P4 | 2 | 4 | + + a) 请利用甘特图展示四个进程分别在FCFS、SJF、RR(时间片大小为1ms)和非抢占优先级(数值越小优先级越高)四种调度算法下的执行过程。 + + b) 请计算每个进程在a) 中提到的四种调度算法下的等待时间。 + + c) 请问a) 中哪种调度算法使得平均等待时间最少? + +
+ 答案: + + a) 甘特图略 + + b) + + | 进程 | FCFS | SJF | RR | 优先级调度 | + | --- | --- | --- | --- | --- | + | P1 | 0 | 7 | 6 | 5 | + | P2 | 9 | 0 | 4 | 0 | + | P3 | 11 | 4 | 7 | 2 | + | P4 | 14 | 2 | 6 | 14 | + | 平均 | 8.5 | 3.25 | 5.6 | 5.2 | + + c) SJF 调度算法使得平均等待时间最少。 + +
+ + *** + +3. (7分)现有四个进程P0, P1, P2, P3,三类资源A, B, C,各有7、5、5个。最大资源需求和资源分配矩阵如图所示。 + + ![资源分配矩阵](./images/2016-2017学年上学期期中_综合题_第3题_资源分配矩阵.png) + + a) 请问当前系统可用资源数量和每个进程需要的资源数量分别是多少?(2分) + + b) 请问:目前是否存在死锁?如果不存在死锁,请给出一个能够让所有进程执行完的序列(3分) + + c) 假设此时又来一个进程P4,申请资源(2, 2, 0),请问如果把2个资源B的实例分配给P4,假设除已经获得和正在请求的资源外,所有进程不再请求其它资源,是否处于安全状态(为什么)?(2分) + +
+ 答案: + + a) 答:可用资源数量为(0 2 0),need矩阵为 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 0 | 0 | + | P1 | 2 | 0 | 2 | + | P2 | 0 | 0 | 0 | + | P3 | 1 | 0 | 0 | + + b) 答:不存在死锁 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P0 | 0 | 3 | 0 | + | P2 | 3 | 3 | 3 | + | P1 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + + c) 答:安全 + + 此时可用资源向量为:0 0 0 + + | 进程 | A | B | C | + | --- | --- | --- | --- | + | P2 | 3 | 0 | 3 | + | P1 | 5 | 0 | 3 | + | P4 | 5 | 2 | 3 | + | P0 | 5 | 3 | 3 | + | P3 | 7 | 5 | 5 | + + 仍然都能执行完. + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..21db5d7 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,541 @@ +--- +title: 2016-2017学年上学期期末 +--- + +## 2016-2017学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(每题 2 分,共 20 分) + +1. 操作系统的基本职能是( ) + + A. 提供用户界面,方便用户使用 + + B. 提供方便的可视化 + + C. 控制和管理系统内各种资源,有效地组织多道程序的运行 + + D. 提供功能强大的网络管理工具 + +
+ 答案: + + C + +
+ + *** + +2. 在操作系统中,进程的最基本特征是( )。 + + A. 动态性和并发性 + + B. 顺序性和可再现性 + + C. 与程序的对应性 + + D. 执行过程的封闭性 + +
+ 答案: + + A + +
+ + *** + +3. 当进程因时间片用完而让出处理机时,该进程应转变为( )状态。 + + A. 等待 + + B. 就绪 + + C. 运行 + + D. 完成 + +
+ 答案: + + B + +
+ + *** + +4. 运行的进程在信号量 $S$ 上做 P 操作后,当 $S<0$ 时,进程进入信号量的( ) + + A. 等待队列 + + B. 提交队列 + + C. 后备队列 + + D. 就绪队列 + +
+ 答案: + + A + +
+ + *** + +5. 在有 $n$ 个进程共享一个互斥段,如果最多允许 $m$ 个进程($m + 答案: + + A + + + + *** + +6. 在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( )进行排列。 + + A. 地址从大到小 + + B. 地址从小到大 + + C. 尺寸从小到大 + + D. 尺寸从大到小 + +
+ 答案: + + C + +
+ + *** + +7. 解决“碎片”问题最好的存储管理方法是( ) + + A. 页面存储管理 + + B. 段式存储管理 + + C. 多重分区管理 + + D. 可变分区管理 + +
+ 答案: + + A + +
+ + *** + +8. 在以下的文件物理存储组织形式中,( )常用于存放大型的系统文件。 + + A. 连续文件 + + B. 串连文件 + + C. 索引文件 + + D. 多重索引文件 + +
+ 答案: + + D + +
+ + *** + +9. 当每类资源只有一个个体时,下列说法中不正确的是( )。 + + A. 有环必死锁 + + B. 死锁必有环 + + C. 有环不一定死锁 + + D. 被锁者一定全在环中 + +
+ 答案: + + C + +
+ + *** + +10. 为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用( )。 + + A. 重名翻译 + + B. 多级目录 + + C. 约定 + + D. 文件名 + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(每题 2 分,共 10 分) + +1. 通常,线程的定义是 $\underline{\qquad}$。在现代操作系统中,资源的分配单位是 $\underline{\qquad}$,而处理机的调度单位是 $\underline{\qquad}$。 + +
+ 答案: + + 进程中可执行单元;进程;线程 + +
+ + *** + +2. 进程控制的功能是负责进程状态的变化,当执行了一条进程等待原语后,该进程的状态将由 $\underline{\qquad}$ 状态转变为 $\underline{\qquad}$ 状态。 + +
+ 答案: + + 运行;阻塞 + +
+ + *** + +3. 磁盘访问时间包含:$\underline{\qquad}$、$\underline{\qquad}$、和 $\underline{\qquad}$。 + +
+ 答案: + + 寻道时间、旋转延迟时间、存取时间 + +
+ + *** + +4. 死锁的四个必要条件是 $\underline{\qquad}$,$\underline{\qquad}$,$\underline{\qquad}$、$\underline{\qquad}$。 + +
+ 答案: + + 持有并等待,互斥操作,不可抢夺资源、循环等待资源。 + +
+ + *** + +5. 在段页式存储管理中,用 $\underline{\qquad}$ 方法来管理逻辑存储空间,用 $\underline{\qquad}$ 方法来管理物理存储空间。 + +
+ 答案: + + 段式;页式 + +
+ +*** + +### 三、判断题(每小题 2 分,共 20 分) + +1. 采用多道程序设计的系统中,系统的程序道数越多,系统的效率就越高。( ) + +
+ 答案: + + × + +
+ + *** + +2. 采用资源静态分配算法可以预防死锁的发生。( ) + +
+ 答案: + + √ + +
+ + *** + +3. 一个作业由若干作业步组成,在多道程序系统中这些作业步可以并发执行。( ) + +
+ 答案: + + √ + +
+ + *** + +4. 分段存储管理的特点是按逻辑关系将作业划分为若干段,以段为单位装入内存。( ) + +
+ 答案: + + √ + +
+ + *** + +5. 磁盘调度的目标是使磁盘旋转周数最少。( ) + +
+ 答案: + + × + +
+ + *** + +6. 作业调度是处理机的高级调度,进程调度是处理机的低级调度。( ) + +
+ 答案: + + √ + +
+ + *** + +7. 并发是并行的不同表述,其原理是相同的。( ) + +
+ 答案: + + × + +
+ + *** + +8. 临界区是指进程中用于实现进程互斥的那段代码。( ) + +
+ 答案: + + × + +
+ + *** + +9. 在内存的可变分区管理中,最佳配置算法的性能最好,所以现代操作系统中多采用该算法。( )。 + +
+ 答案: + + × + +
+ + *** + +10. LRU 算法可能会导致 Belady 异常。( ) + +
+ 答案: + + × + +
+ +*** + +### 四、简答题(每小题 5 分,共 20 分) + +1. 什么是进程?什么是线程?简述线程与进程间的区别。 + +
+ 答案: + + 线程:也叫轻量级的进程,它是一个基于进程的运行单位,它可以不占有资源,一个进程可以有一个线程或者多个线程(至少一个),这些线程共享此进程的代码、Data 和部分管理信息,但是每个线程都有它自己的 PC、Stack 和其他。 + + 线程与进程的区别主要表现在以下几个方面: + + (1)地址空间和资源不同:进程间相互独立;同一进程的各个线程之间却共享它们。 + + (2)通信不同:进程间可以使用 IPC 通信,线程之间可以直接读写进程数据段来进行通信;但是需要进程同步和互斥手段的辅助,以保证数据的一致性。 + + (3)调度和切换不同:线程上下文切换比进程上下文的切换要快得多。 + +
+ + *** + +2. 请画出进程的三个基本状态的转换图,并举例说明引起进程状态之间变迁的原因。 + +
+ 答案: + + 状态转换图如下: + + ![A卷简答题第2题进程状态转换图](./images/2016-2017学年上学期期末_简答题_第2题_进程状态转换图.jpg) + + 1)就绪到执行:处于就绪状态的进程,在调度程序为之分配了处理器之后,该进程就进入执行状态。 + + 2)执行到就绪:正在执行的进程,如果分配给它的时间片用完,则暂停执行,该进程就由执行状态转变为就绪状态。 + + 3)执行到阻塞:如果正在执行的进程因为发生某事件(例如:请求 I/O,申请缓冲空间等)而使进程的执行受阻,则该进程将停止执行,由执行状态转变为阻塞状态。 + + 4)阻塞到就绪:处于阻塞状态的进程,如果引起其阻塞的事件发生了,则该进程将解除阻塞状态而进入就绪状态。 + +
+ + *** + +3. 请简单比较分页和分段存储管理方式的区别。 + +
+ 答案: + + (1)页是信息的物理单位,段则是信息的逻辑单位。 + + (2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。 + + (3)分页的作业地址空间是一维的,即单一的线性地址空间,而分段的作业地址空间则是二维的。 + +
+ + *** + +4. 请比较 Valid/invalid bit 与 dirty bit 的不同。 + +
+ 答案: + + Valid/ invalid bit 是页表项中指示页表项是否在内存中的标识位,如果是 valid 表示页表项在内存中,否则该页表项被换出到磁盘上; + + Dirty bit 是页表项中指示页表项是否被修改,如果 dirty bit 为 1 表示页表项被修改,在该页表项被页面算法选中换出到磁盘时,需要先将该页表项的内容刷到磁盘上,再将该页面放入虚存中,否则直接换出到虚存中。 + +
+ +*** + +### 五、问答题(每题 10 分,共 30 分) + +1. 有一个桥如图所示,桥上的车流如箭头所示。桥上不允许两车交会,但允许同方向多辆车依次通行(即桥上可以有多个同方向的车)。请用 P、V 操作实现交通管理以防止桥上拥塞的程序。 + + ![A卷问答题第1题桥梁示意图](./images/2016-2017学年上学期期末_问答题_第1题_桥梁示意图.png) + +
+ 答案: + + 由于桥上不允许两车相会,故桥应该被互斥访问,而同一方向上允许多辆车依次通过,即临界区允许多个实例访问。用一个信号量来互斥访问临界区。由于不能允许某一个方向的车完全“控制”桥,应保证最多某一个方向上连续通过一定数量的车后,必须让另外一个方向的车通过。用另外两个信号量来实现这个。 + + 故: + + 设 smutex 用来控制从南向北车辆数量 s 的互斥信号量 + + nmutex 用来控制从南向北车辆数量 n 的互斥信号量 + + wait 用来控制会车的互斥访问 + + ```text + semaphore smutex = 1; + semaphore nmutex = 1; + semaphore wait = 1; + int s = 0; + int n = 0; + + main(){ + begin + south(); + north(); + end + } + + south(){ + P(smutex); + if s = 0 then P(wait); + s++; + V(smutex); + pass the bridge; + P(smutex); + s--; + if s = 0 then V(wait); + V(smutex); + } + + north(){ + P(nmutex); + if n = 0 then P(wait); + n++; + V(nmutex); + pass the bridge; + P(nmutex); + n--; + if n = 0 then V(wait); + V(nmutex); + } + ``` + +
+ + *** + +2. 某计算机系统主存采用请求分页管理技术,主存容量为 $1\ \text{MB}$,被划分为 256 块,每块大小为 $4\ \text{KB}$。假设某个作业共有 5 个页面,其中 0,1,2 三个页面已分别装入到主存 4,9,11 三个物理块中,另外两个页面没有装入主存。该作业的页面变换表(PMT)如下表所示。表中的状态为 0 表示页面已经装入到内存中,为 1 表示没有装入内存。 + + | 页号 | 块号 | 状态 | + | --- | --- | --- | + | 0 | 4 | 0 | + | 1 | 9 | 0 | + | 2 | 11 | 0 | + | 3 | - | 1 | + | 4 | - | 1 | + + 问题: + + ① 若给定一个逻辑地址为 9016,其物理地址是多少?给出其物理地址的计算过程。 + +
+ 答案: + + 在请求分页的存储管理系统中,系统是通过查页表来进行地址转换的。对于本题中采用的页面大小为 $4\ \text{KB}$,即页内相对地址为 12 位。首先从虚拟地址中分离出页号和页内地址。$[9016/4096]=2$,所以页号为 2,页内地址为 824。查页表知道 2 号页对应的物理块号为 11,即物理地址为:$11*4096=45056$,再加上页内地址后其真正的物理地址为:45880。 + +
+ + ② 若给定一个逻辑地址为 12388,其物理地址是多少?地址变换过程中会出现什么问题? + +
+ 答案: + + $[12388/4096]=3$,所以页号为 3,页内地址为 100。查页表可知 3 号页状态为 1,说明该页尚未装入内存,地址变换过程中会发生缺页中断,不能直接得到物理地址。 + +
+ + *** + +3. 在分页虚拟存储管理系统中,假定系统为某个进程分配了 4 个页帧,页的访问顺序为 7,1,2,0,3,0,4,2,3,0,3,2,7,0,1,若采用 FIFO 调度算法、OPT、LRU 调度算法时,分别产生多少次缺页中断?写出过程. + +
+ 答案: + + 答案:都是 8 次缺页中断 + + ![A卷问答题第3题页面置换过程](./images/2016-2017学年上学期期末_问答题_第3题_页面置换过程.png) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..eb9c5d5 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,381 @@ +--- +title: 2017-2018学年上学期月考 +--- + +## 2017-2018学年上学期月考试卷(含答案) + +### 说明 + +- 日期:2017.12 + +### 一、判断题(30 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 在页式存储管理中,用户应将自己的程序划分成若干相等的页。 + +
+ 答案: + + 错。不是将用户程序分成相等的页,是将物理空间分成若干相等的页。 + + 【陈闻杰】我认为理由应该是:分页是系统分的而不是用户自己分的。(用户(逻辑、虚拟)空间分成页的说法也可以,物理空间分成 frame(框或帧,或叫物理页)) + +
+ + *** + +2. 快表 TLB 采用了哈希散列的方式,将物理帧号与逻辑页号相连,实现页表的快速查找。 + +
+ 答案: + + 错,本质上是使用关联存储技术。 + +
+ + *** + +3. 操作系统的所有程序都必须常驻内存。 + +
+ 答案: + + 错。只有 kernel 部分常驻内存。 + +
+ + *** + +4. 在段式存储管理中,段的大小是根据用户程序的模块进行划分的,将内存区域划分为长度不相等的区域。 + +
+ 答案: + + 对 + +
+ + *** + +5. 页式存储分配,会产生内碎片,而无外碎片,段式存储管理中,则只有外碎片。 + +
+ 答案: + + 对 + +
+ + *** + +6. 段式存储中,可以使用段表中的标识位,实现地址保护。而在分页环境下,无法实现地址保护 + +
+ 答案: + + 错。在分页环境下的内存保护由关联到每个帧的保护位完成。这些位通常保存在页表中。一个位可以定义一个页是读写还是只读属性。可以检查保护位来确定有没有对一个只读页进行写操作。 + +
+ + *** + +7. 动态重定位技术,使得程序占用的内存空间动态可变,不必连续存放在一处。 + +
+ 答案: + + 对。 + +
+ + *** + +8. 采用反向页表的系统,整个系统只有一个页表。 + +
+ 答案: + + 对。 + +
+ + *** + +9. 逻辑地址空间是由 CPU 生成的,也被称为虚拟地址,而物理地址是指内存存储单元所管理的内容。 + +
+ 答案: + + 对 + +
+ + *** + +10. MMU 存储管理单元的主要任务是实现将逻辑地址映射为物理地址,实现了动态重定位。 + +
+ 答案: + + 对 + +
+ +*** + +### 二、不定项选择题(15 分,每空 3 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $120\ \text{ns}$,一次 TLB 访问代价为 $8\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是( ) + + A. $248\ \text{ns}$ + + B. $260\ \text{ns}$ + + C. $180\ \text{ns}$ + + D. $308\ \text{ns}$ + +
+ 答案: + + D + +
+ + *** + +2. 一个 32 位物理地址的计算机系统,如果采用页式存储管理方式,一个页的大小为 $4\ \text{K}$,程序代码及数据均采用按字节编址,那么在页内进行寻址需要( )位物理地址。 + + A. 2 + + B. 12 + + C. 8 + + D. 1 + +
+ 答案: + + B + +
+ + *** + +3. 上题中,该计算机的物理内存容量为( ) + + A. 2G + + B. 4G + + C. 1M + + D. 1G + +
+ 答案: + + B + +
+ + *** + +4. 在利用资源分配图进行单实例的资源分配时,下图所示的状态为( )。 + + ![2017.12 月考不定项选择题第 4 题资源分配图](./images/2017-2018学年上学期月考_不定项选择题_第4题_资源分配图.png) + + 图 1 资源分配图 + + A. 安全状态 + + B. 不安全状态 + + C. 死锁状态 + + D. 不能确定 + +
+ 答案: + + B + +
+ + *** + +5. 利用多级反馈队列进行调度时,以下描述正确的是( ) + + A. 如果一个进程需要使用过多的 CPU 时间,那么它可能在调度过程中被移到更低级的优先级队列中 + + B. 任何一个进程在进入待调度的队列等待时,首先进入优先级最高的队列 + + C. 一般情况下,各个队列的时间片是随着优先级的增加而减少的 + + D. 多级反馈队列调度算法不能使大作业得到及时响应 + +
+ 答案: + + A B C + +
+ +*** + +### 三、简单回答以下问题(15 分,每小题 5 分) + +1. 请说明段页式存储管理和分段存储管理的区别,要求从原理、地址变换和优缺点进行比较。 + +
+ 答案: + + (1)原理及地址变换 + + 段页式存储管理是将用户程序分成若干个段,并为每一个段赋予一个段名;再把每个段分成若干个页。在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段表长。进行地址变换时,首先利用段号 S,将它与段表长 TL 进行比较。若 S + + *** + +2. 安全状态、不安全状态和死锁的区别和联系。 + +
+ 答案: + + 安全状态:如果存在一个序列,其对所有进程分配资源,以便完成其对应的任务,并且确保系统不会有死锁发生,这个系统则是处于安全状态。 + + (安全状态:指系统能按某种进程顺序(P1, P2, ...,Pn)(称〈P1, P2, ..., Pn〉序列为安全序列)来为每个进程 Pi 分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成) + + 不安全状态:如果系统无法找到这样一个安全序列,其对所有进程分配资源,以便完成其对应的任务。 + + 死锁:是一种进程之间的僵持状态,一些进程中每个持有一定数量的资源,同时他们又同时请求等待另一些被占有的资源。 + + 关系:对进程分配单实例资源时,利用资源分配图来判断,如果是安全状态,一定不会产生死锁,予以分配资源,如果是不安全状态,会导致死锁发生,不能进行该次资源请求的分配。 + +
+ + *** + +3. API 与系统调用的区别和联系。 + +
+ 答案: + + API 是函数的定义,规定了这个函数的功能,跟内核无直接关系。API 是一个提供给应用程序的接口函数,供与程序员直接使用的。 + + 系统调用是通过中断向内核发请求,实现内核提供的某些服务。系统调用则不与程序员进行交互的,它根据 API 函数要求,通过一个软中断机制向内核提交请求,以获取内核服务的接口。 + + API 需要一个或多个系统调用来完成特定功能。并不是所有的 API 函数都和系统调用一一对应;有时,一个 API 函数会需要几个系统调用来共同完成其功能。 + +
+ +*** + +### 四、综合题(40 分) + +1. 假设有三个进程 A,B 和 C。A 和 B 只使用 CPU,各需要 800 毫秒,进程 C 使用 10 毫秒 CPU 然后进行 90 毫秒 I/O,然后再使用 100 毫秒 CPU 接着 100 毫秒 I/O,按照这样的规律进行下去, 总共进行 900 毫秒。假设三个进程的到达次序是 ABC,同时到达。 + + (1)请计算使用 FIFO 调度,三个进程的平均等待时间和平均周转时间(10 分)。 + + (2)请计算使用 100 毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均周转时间(10 分)。 + +
+ 答案: + + 答案:(蓝色表示 IO) + + (1) A800,B800, C10,C90,C100,C100, + + C10,C90,C100,C100 C10,C90,C100,C100 C3 个周期 + + A 等待时间:0ms; + + B 等待时间:800ms; + + C 等待时间:800 + 800 = 1600ms; + + 平均等待时间:(0 + 800 + 1600)/3 = 800ms; + + A 周转时间:800ms; + + B 周转时间:800 + 800 = 1600ms; + + C 周转时间:800 + 800 + 900 = 2500ms; + + 平均周转时间:(800 + 1600 + 2500)/3 = 1633.33ms + + (2) A100,B100,C10, A100(C90),B100,C100, + + A100(C100),B100,C10, A100(C90),B100,C100 + + A100(C100),B100,C10, A100(C90),B100,C100 + + A100(C100), + + C 做完了 900 毫秒,只剩 A 和 B + + A 做了 7*100,还剩 100ms,B 做了 6*100,还剩 200ms,故之后: + + B100,A100,B100 + + A 等待时间:6*100 + 3*10 + 3*100 + 100 = 1030ms; + + B 等待时间:7*100 + 3*10 + 3*100 + 100 = 1130ms; + + C 等待时间:200 +(10 + 100)*3 + 100*2 = 730 + + 平均等待时间:(1030 + 1130 + 730)/3 = 963.33ms; + + A 周转时间:3*210 + 3*300 + 100 + 2*100 = 1830ms; + + B 周转时间:3*210 + 3*300 + 100 + 3*100 = 1930ms; + + C 周转时间:3*210 + 300*3+100(I/0) = 1630 + + 平均周转时间:(1830 + 1930 +1630)/3 = 1796.67ms + +
+ + *** + +2. (1)请画出分页内存管理(无 TLB)的硬件结构图。 (10 分) + + ![2017.12 月考综合题第 2 题分页硬件结构图](./images/2017-2018学年上学期月考_综合题_第2题_分页硬件结构图.png) + + (2)假设某进程的页表内容如下表所示。页面大小为 4KB。有效位为 0 表示页面不在内存。请问虚地址 0x2362、0x1565 对应的物理地址是多少。(10 分) + + | 页号(page number) | 框号(frame number) | 有效位(valid bit) | + | --- | --- | --- | + | 0 | 0x101 | 1 | + | 1 | 0x838 | 0 | + | 2 | 0x254 | 1 | + +
+ 答案: + + 页面大小为 4KB,即 $2^{12}$,即页内偏移占 12 位,页号占剩余高位。可得以上虚地址的页号分别如下: + + 0x2362:页号=2。 框号:0x254,物理地址:0x254362。 + + 0x1565H:页号=1,框无效,将产生缺页中断。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..3f7ddce --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,558 @@ +--- +title: 2017-2018学年上学期期中 +--- + +## 2017-2018学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院期中试卷(2017—2018学年第一学期) + +### 一、判断题(30分,每小题3分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 时间片轮转调度算法的关键点是设置时间片的大小,该算法本质上是支持抢占式及FCFS调度方式。 + +
+ 答案: + + 对 + +
+ + *** + +2. 进程是CPU调度的基本单位,而线程是系统资源分配的单位。 + +
+ 答案: + + 错,线程是CPU调度的基本单位,而进程是系统资源分配的单位 + +
+ + *** + +3. 操作系统的主要功能包括:进程管理、内存管理、文件管理、存储管理、安全设置等,其中进程管理主要涉及进程调度管理、进程控制块PCB。 + +
+ 答案: + + 对 + +
+ + *** + +4. 线程的实现机制主要是通过多线程模型实现,多线程模型包括:多对一模型、一对一模型、多对多模型,Java线程模型属于多对一模型。 + +
+ 答案: + + 错,java线程应该属于多对多的线程模型。 + +
+ + *** + +5. 资源分配图中存在环时,系统中某些进程可能处于死锁状态。 + + :::tip + 题干使用“可能”,而参考答案判为“错”。参考答案的解释只能说明资源分配图中有环时“不一定”发生死锁,并不能否定“可能”发生死锁,题干与参考答案之间存在表述冲突。 + ::: + +
+ 答案: + + 错。当每种资源实例个数为1时,在环中的每个进程处于死锁状态。但是当资源实例数量不唯一时,不一定处于死锁状态。 + +
+ + *** + +6. 如果信号量S的当前值为 -6 时,则表示系统中共有6 个等待的进程。 + +
+ 答案: + + 错。S=-6表示当前有6个进程等待进入该信号量所对应的临界区。 + +
+ + *** + +7. 对称多处理技术SMP是最为普通的多处理器设计技术,其所有的处理器是对等的,且彼此独立运行。而集群系统是通过局域网连接的多个计算机系统。 + +
+ 答案: + + 对 + +
+ + *** + +8. 虚拟机的设计采用了分层方法,将操作系统的内核和硬件都作为硬件来考虑。例如JVM,其为java程序抽象化了底层系统,以提供平台无关的。 + +
+ 答案: + + 对 + +
+ + *** + +9. 进程控制块是描述进程状态和特性的数据结构,一个进程可以和其它进程共用一个进程控制块。 + +
+ 答案: + + 错,不可以共用PCB,其是进程的唯一标识。 + +
+ + *** + +10. 进程的就绪队列,可以使用链表来实现,其头节点指向链表的第一个和最后一个PCB块的指针,PCB之间是通过索引连接的。 + +
+ 答案: + + 错,每个PCB包括一个指向就绪队列的下一个PCB的指针域。 + +
+ +*** + +### 二、不定项选择题(15分,每小题3分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 下面有关进程的描述,正确的有( )。 + + A. 正在运行的进程调用yield( )时,可以主动放弃使用CPU。 + + B. 进程P和Q的并发执行是指P和Q同时使用CPU。 + + C. 线程是进程的一个实体。 + + D. 进程是具有一定独立功能的程序在某个数据集合上的一次运行。 + +
+ 答案: + + A C D + +
+ + *** + +2. 关于线程,以下说法错误的是( )。 + + A. 用户态线程(无核心态线程或LWP)阻塞,可能会阻塞线程。 + + B. 多处理器环境下,线程间同步不能使用关中断实现。 + + C. 线程控制块中包含CPU寄存器状态。 + + D. 在支持核心态线程的系统中,CPU调度的单位仍然是进程。 + +
+ 答案: + + D + +
+ + *** + +3. 下对操作系统内核的运行方式的描述,正确的是( )。 + + A. 操作系统是一个以内核态运行的独立进程; + + B. 操作系统内核运行时不能访问其它进程的地址空间; + + C. 只有在硬件中断发生时,操作系统内核才会运行; + + D. 操作系统内核可以以内核态在用户进程上下文中运行。 + +
+ 答案: + + D + +
+ + *** + +4. 以下( )仍然可能会发生死锁。 + + A. 资源都是可共享的; + + B. 每一种资源的数量都超过单个进程所需这类资源的最大值; + + C. 空闲资源能够满足任意一个进程还需要的资源需求; + + D. 每个进程必须一次申请、获得所需的所有资源 + +
+ 答案: + + B + +
+ + *** + +5. 下面关于进程同步、互斥的说法,错误的是( )。 + + A. 由于进程间的合作和资源共享产生了同步的问题。 + + B. 由于系统中资源使用的排他性,需要进程对临界资源的互斥访问。 + + C.P、V操作都是原语操作,利用信号量的P、V操作可以交换大量信息。 + + D.并发进程在访问共享资源时,与访问的顺序无关。 + +
+ 答案: + + C D + +
+ +*** + +### 三、简单回答以下问题(15分,每小题5分) + +1. 请说明分时系统的时间片轮转法和多级反馈队列调度算法的区别和联系,并阐述各自有哪些优缺点。 + +
+ 答案: + + 多级反馈队列调度算法:设置多个就绪队列,并为各个队列赋予不同的优先级别和不同的时间片;第一个队列优先级最高,进程执行的时间片最少,新创建的进程挂到第一个优先级的队列后,然后按照FCFS排队等待。当轮转到其执行时,如果在其时间片内完成,便可以撤离系统;如果不能完成,便别挂入第二级队列尾部;仅当第一个队列为空闲时,调度程序才调度第二级队列中的进程运行,依次类推。新进程可以抢占低优先级进程占有的处理机。 + + 优点:小作业响应快,大作业也能快速得到响应。例如: + + ![多级反馈队列图](./images/2017-2018学年上学期期中_简答题_第1题_多级反馈队列图.png) + + 时间片轮转法主要思想:时间片轮转调度是一种最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应变差。 + + 联系:时间片轮转法可以作为多级反馈队列调度算法组成的一个部分,即对多级反馈队列中某个队列采用时间片轮转的方法。 + +
+ + *** + +2. 简述管程和进程概念之间的区别和联系。 + +
+ 答案: + + 管程:是一种并发性的构造,它包括用于分配一个共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。 + + 管程(Monitor)采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。 + + 由于临界区是访问共享资源的代码段,因而建立一个管程来管理进程提出的访问请求。采用这种方式对共享资源的管理就可以借助数据结构及其上实施操作的若干过程来进行;对共享资源的申请和释放可以通过管程在数据结构上的操作来实现。 + + 进程:进程是计算机中的程序关于某数据集的一次运行活动。在传统操作系统中,它是资源拥有的基本单元。进程之间可以并发执行。进程虽然拥有自己的系统资源,但也因此导致创建或撤销进程开销都很大,切换、通信、同步也会比线程之间的实现更加复杂。进程存在的标志是进程控制块. + + 进程可以通过管程对临界资源进行排它使用. + +
+ + *** + +3. 请举例说明进程同步和互斥的含义,并说明它们之间区别和联系。并说明它们与信号量的关系。 + +
+ 答案: + + 进程同步:并发进程之间相互合作,完成一项工作,它们之间有一定的时序关系。互相约束(其表现例如:一个进程等待另一个进程的变量结果. 采用私用信号量协同处理。 + + 例:并发进程的同步关系。(需要展开说明:略) + + ![同步关系图](./images/2017-2018学年上学期期中_简答题_第3题_同步关系图.png) + + 进程间的互斥:并发进程之间相互竞争临界资源的排他性关系。使用公用信号量mutex互斥处理 + + 例如: 过独木桥(互斥关系)。(举例不唯一,要展开说明) + + ![互斥关系图](./images/2017-2018学年上学期期中_简答题_第3题_互斥关系图.png) + + 例如:P1 和P2进行共享打印机等。 + + 进程之间协同工作,既需要同步控制也需要对临界资源互斥访问。 + +
+ +*** + +### 四、综合题(40分) + +1. (15分)某单处理机系统的部分进程状态转换图如下,请说明: + + ![进程状态转换图](./images/2017-2018学年上学期期中_综合题_第1题_进程状态转换图.png) + + a) A,B,C的状态分别是什么?(3分) + +
+ 答案: + + A:Ready,B:Running C:Waiting + +
+ + b) 引起状态转换1,2,3,4的典型事件分别是什么?(4分) + +
+ 答案: + + 1:当进程调度程序从就绪队列中选取一个进程投入运行; + + 2:正在执行的进程如因时间片用完而被暂停执行; + + 3:正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O) + + 4:当进程等待的事件发生时(如I/O完成)。 + +
+ + c) 当我们观察系统中某些进程时,能够看到某个进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换l?(2分) + +
+ 答案: + + (要点即可) + + 如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。 + +
+ + d) 试说明是否会发生下述因果转换:(6分) + + (a) 2->1; (b) 3->2; (c) 4->1 + +
+ 答案: + + (a) 2->1:发生转换2时,就必然引起另一进程的转换1。因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。 + + (b) 3->2:某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执行进程从执行状态变为阻塞状态.不可能又从执行状态变为就绪状态。 + + (c) 4->1:当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1。因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。 + +
+ + *** + +2. (15分)桌子上有一只盘子,每次只能放入一只水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘中的桔子,一个女儿专等吃盘中的苹果。请利用wait(), signal() 操作实现他们之间的同步。 + + ```c + main ( ) + { + #CO_BEGIN //以下并发执行 + father ( ); + mother(); + son ( ); + daughter ( ); + #CO_END + } + ``` + +
+ 答案: + + (写出主体框架即可) + + ```c + Mutex mutex=1; // 访问盘子的互斥量,避免冲突 + Semaphore apple=0; // 盘中苹果个数(本题只能放一个,也可以用mutex) + Semaphore orange=0; + Semaphore plate=1; // 空盘数 + + Father() + { + While(1) + { + wait(plate); + wait(mutex) + put_apple(); + Signal(mutex); + Signal(apple); + } + } + + Mother() + { + While(1) + { + wait(plate); + wait(mutex) + put_orange(); + Signal(mutex); + Signal(orange); + } + } + + Son() + { + While(1) + { + wait(orange); + wait(mutex) + get_orange(); + Signal(mutex); + Signal(plate); + } + } + + Daughter() + { + While(1) + { + wait(apple); + wait(mutex) + get_apple(); + Signal(mutex); + Signal(plate); + } + } + ``` + +
+ + *** + +3. (10分)假设有三个进程A,B和C。A和B只使用CPU,各需要1000毫秒,进程C使用10毫秒CPU然后进行90毫秒I/O,然后再使用100毫秒CPU接着100毫秒I/O,总共也是1000毫秒。假设三个进程的到达次序是ABC。 + + :::tip + 题干只描述了进程C的一次“10毫秒CPU、90毫秒I/O、100毫秒CPU、100毫秒I/O”过程,并称其总共也是1000毫秒,但没有说明该模式如何重复至1000毫秒。参考答案在后两问中按周期重复计算,因此相应的轮转序列和计算结果无法由题干唯一推出。 + ::: + + a) 请计算使用FIFO调度,三个进程的平均等待时间和平均周转时间(2分) + +
+ 答案: + + 答:A,B,C + + 平均等待时间:$(0+1000+2000)/3=1000$ + + 平均周转时间:$(1000+2000+3000)/3=2000$ + +
+ + b) 请计算使用100毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均周转时间(4分) + +
+ 答案: + + 答: + + A100,B100,C10, A100,B100,C100, A100,B100,C10, A100,B100,C100…… + + 过程: + + A100,B100,C10, A100,B100,C100 + + A100,B100,C10, A100,B100,C100 + + A100,B100,C10, A100,B100,C100 + + A100,B100,C10, A100,B100 + + A100,B100, A100,B100 + + 平均等待时间: + + $$ + \begin{aligned} + (&0+110+200+110+200+110+200+110+100+100+\\ + &100+110+200+110+200+110+200+110+100+100+\\ + &200+200+200+200+200+200+200)/3=1326.67 + \end{aligned} + $$ + + 平均周转时间: + + $$ + \begin{aligned} + (&210\times4+300\times3+200\times2+100+\\ + &210\times4+300\times3+200\times2+100+100+\\ + &210\times4+300\times3)/3=2106.67 + \end{aligned} + $$ + +
+ + c) 请计算使用10毫秒为时间片长度,使用轮询(round-robin)调度时,三个进程的平均等待时间和平均周转时间(4分) + +
+ 答案: + + 答: + + A10,B10,C10(C的10ms CPU), A10,B10,A10,B10,A10,B10,A10,B10 A10,B10 + + (C的90ms I/O) + + C10,A10,B10, C10,A10,B10 + + C10,A10,B10, C10,A10,B10 + + C10,A10,B10, C10,A10,B10 + + C10,A10,B10, C10,A10,B10 + + C10,A10,B10, C10,A10,B10 + + (C的100ms CPU) + + (C的100msI/O) + + A10,B10, A10,B10 + + A10,B10, A10,B10 + + A10,B10, + + 三个周期以后: + + C还剩10毫秒,B还剩($1000-21\times10\times3=370$) + + A还剩($1000-21\times10\times3=370$) + + 以下($370/10=37$)个周期 + + C10 + + A10,B10, + + A10,B10, + + …… + + 平均等待时间: + + A等待时间:$32\times10\times3+10+36\times10=1330$ + + B等待时间:$32\times10\times3+10+37\times10=1340$ + + C等待时间:$23\times3\times10=690$ + + 平均等待时间:$(1330+1340+690)/3=1120$ + + 平均周转时间: + + A的周转时间:$53\times3\times10+10+36\times2\times10+10=2330$ + + B的周转时间:$53\times3\times10+10+37\times2\times10=2340$ + + C的周转时间:$53\times3\times10+10+90=1660$ + + 平均周转时间:$(2330+2340+1660)/3=2110$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..c7936fc --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,565 @@ +--- +title: 2017-2018学年上学期期末 +--- + +## 2017-2018学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(20 分,每题 2 分) + +1. 在进程两种状态的转换中,( )是不可能的。 + + A. 运行状态→就绪状态 + + B. 运行状态→阻塞状态 + + C. 就绪状态→运行状态 + + D. 阻塞状态→运行状态 + +
+ 答案: + + D + +
+ + *** + +2. 在下列问题中,( )不是操作系统关心的主要问题。 + + A. 管理计算机裸机 + + B. 设计、提供用户程序与计算机硬件系统的界面 + + C. 管理计算机系统资源 + + D. 高级程序设计语言的编译器 + +
+ 答案: + + D + +
+ + *** + +3. 发生中断以后进入的中断处理程序属于( )。 + + A. 用户程序 + + B. 可能是用户程序,也可能是操作系统程序 + + C. 操作系统程序 + + D. 单独的程序,既不是用户程序,也不是操作系统程序 + +
+ 答案: + + C + +
+ + *** + +4. 设两个进程共用一个临界资源,其互斥信号量为 `mutex`,当 `mutex=1` 时表示( )。 + + A. 一个进程进入了临界区,另一个进程等待 + + B. 没有一个进程进入临界区 + + C. 两个进程都进入了临界区 + + D. 两个进程都在等待 + +
+ 答案: + + B + +
+ + *** + +5. 系统中有 4 个用户进程,且当前 CPU 在用户态下运行,那么最多可能有( )个用户进程处于就绪状态。 + + A. 5 + + B. 4 + + C. 3 + + D. 2 + +
+ 答案: + + C + +
+ + *** + +6. 资源的按序分配策略可以破坏( )。 + + A. 互斥使用资源 + + B. 占有且等待资源 + + C. 非剥夺资源 + + D. 循环等待资源 + +
+ 答案: + + D + +
+ + *** + +7. 在采用段式存储管理中,每当 CPU 要从内存中取数据时,需要访问内存( )次。 + + A. 1 + + B. 2 + + C. 3 + + D. 4 + +
+ 答案: + + B + +
+ + *** + +8. 以下页面置换算法中,( )不是基于程序执行的局部性理论。 + + A. 先进先出调度算法 + + B. LRU + + C. LFU + + D. 第二次机会算法 + +
+ 答案: + + A + +
+ + *** + +9. 文件目录项中不包含的信息是( )。 + + A. 文件控制块的物理位置 + + B. 文件名 + + C. 文件访问权限说明 + + D. 文件所在的物理位置 + +
+ 答案: + + A + +
+ + *** + +10. Spooling 系统为用户提供虚拟的( )。 + + A. 独占设备 + + B. 共享设备 + + C. 主存储器 + + D. 处理机 + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(10 分,每题 2 分) + +1. 并发性是指两个或者多个事件在同一时间间隔内发生。具体地,在单处理器系统中,多道程序的并发是指在一段时间内,宏观上有多个程序在同时运行,但微观上这些程序只能是交替执行,并发执行的单位是( )或者( )。 + +
+ 答案: + + 进程;线程 + +
+ + *** + +2. 产生死锁的原因可能是进程之间的( ),例如系统中的打印机的数量不足,无法同时满足多个进程对打印机的需求;另一个主要原因可能是进程之间的( ),例如多个进程在运行中请求和释放资源的先后不合理。 + +
+ 答案: + + 竞争资源;推进顺序不合理 + +
+ + *** + +3. 在基本分页的管理方式中,进程的每个页面可以离散装入内存的物理块中。为了方便在内存中找到每个页面对应的物理位置,系统为每个进程建立一张表,称为( )。 + +
+ 答案: + + 页表 + +
+ + *** + +4. 内存管理的主要工作包括以下内容:第一是( ),其是将逻辑地址转换为物理地址;第二是内存容量的扩充;第三是( ),其为了保证内存中各个作业互不干扰,在各自的存储空间中运行。 + +
+ 答案: + + 地址变换;内存保护 + +
+ + *** + +5. 磁盘是一种被多个进程共享的设备,对多个进程请求访问磁盘时,应采用一种适当的调度算法,减少进程对磁盘的平均访问时间,常见的磁盘调度算法有( )。 + +
+ 答案: + + FCFS 算法、SSTF 算法、SCAN 算法、C-SCAN 算法、LOOK 算法、C-LOOK 算法 + +
+ +*** + +### 三、判断题(20 分,每题 2 分,请划√或×) + +1. 在页式存储管理中,采用反向页表进行管理时,整个系统只有一个页表。( ) + +
+ 答案: + + √ + +
+ + *** + +2. 抖动是由于缺页调度算法的某些问题而引起的。( ) + +
+ 答案: + + √ + +
+ + *** + +3. 磁盘调度的目标是使磁盘旋转周数最少。( ) + +
+ 答案: + + × + +
+ + *** + +4. 任何两个并发进程之间一定存在同步或互斥关系。( ) + +
+ 答案: + + × + +
+ + *** + +5. 进程控制块中的所有信息必须常驻内存。( ) + +
+ 答案: + + × + +
+ + *** + +6. 原语是一种不可分割的操作。( ) + +
+ 答案: + + √ + +
+ + *** + +7. 一旦出现死锁,所有进程都处于僵持状态。( ) + +
+ 答案: + + × + +
+ + *** + +8. 引入缓冲的主要目的是提高 I/O 设备的利用率。( ) + +
+ 答案: + + × + +
+ + *** + +9. 磁盘上的文件都是以记录为单位进行读写的。( ) + +
+ 答案: + + × + +
+ + *** + +10. 在分时操作系统中,经常采用时间片轮转算法(Round Robin)调度进程。( ) + +
+ 答案: + + √ + +
+ +*** + +### 四、简答题(20 分,每小题 5 分) + +1. 什么是虚拟存储技术,使用虚拟存储技术有什么优点? + +
+ 答案: + + 虚拟存储技术是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲 CPU 工作时间以及内、外存交换时间为代价的。 + + 使用虚拟存储技术的好处是:小空间执行大程序,可在较小的可用内存中执行较大的用户程序;提供较大的用户空间,提供给用户可用的虚拟内存空间通常大于物理内存;内存可容纳更多的并发程序,可在内存中容纳更多程序并发执行。 + +
+ + *** + +2. 避免死锁和检测死锁是死锁两个主要问题。(1)银行家算法可以有效地避免死锁,请简述银行家算法的主要思想。(2)对于单实例和多实例的情况,分别阐述如何检测死锁,其主要思想是什么? + +
+ 答案: + + 银行家算法是一种避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但银行家算法在进行资源分配之前,应先计算此次分配资源的安全性,若分配资源后,进入安全状态,则分配;否则不予以分配,进程必须等待。为实现银行家算法,系统必须设置若干数据结构。 + + 对于单实例的情况,采用等待图进行检测,即系统需要维护等待图并周期性地检查图中是否有环,通过等待图中存在环的事实,判断系统死锁发生的情况。 + + 对于多实例情况,一般采用死锁检测算法,对于系统中设置一个 Finish 的向量,每个进程对应的 Finish 分量初值为 false,如果对于任何进程申请的资源得到了满足,其对应的 Finish 分量置为 true。在操作系统动态运行时,无论怎样给运行的进程进行分配资源,总有一些进程的 Finish 的值仍为 false,此时,可以判断系统有死锁发生;如果所有进程的 Finish 分量都为 true,则系统无死锁发生。 + +
+ + *** + +3. 试简述什么是 SPOOLing 技术,并以打印机设备为例说明 SPOOLing 系统的特点及功能实现。 + +
+ 答案: + + SPOOLing 技术是在通道技术和多道程序设计基础上产生的一种技术,SPOOLing 技术通常称为“假脱机技术”,是处理关于慢速字符设备如何与计算机主机交换信息的技术,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。 + + 以打印机为例,SPOOLing 系统将独占设备打印机改造为共享设备,实现了虚拟设备功能,提高了 I/O 处理的效率,缓和了 CPU 与低速 I/O 设备速度不匹配的矛盾。具体地,对于共享打印机的各个进程,它们的打印输出文件形成了一个输出队列,由输出 SPOOLing 系统控制这些进程的文档进行打印,依次将队列中的文件实际打印输出。 + + 在 SPOOLing 系统中,实际上并没有为任何进程分配物理设备,而只是在输入井和输出井中,为各个进程分配一块存储区、建立一张 I/O 请求表。这样,便把独占设备改造为共享设备。 + + 如果有进程要求打印输出时,SPOOLing 系统并不是将这台打印机直接分配给进程,对于每个进程实现了虚拟打印机设备的功能,每一进程都认为自己独占这一设备,不过该设备(打印机)是逻辑上的共享设备,实际上并没有为任何进程分配实际的物理(打印机)设备。总之,利用 SPOOLing 实现了多个进行共享使用设备的功能。 + +
+ + *** + +4. 简单说明分段存储管理的地址变换过程,要求考虑无 TLB(Translation Lookaside Buffer)的情况。 + +
+ 答案: + + 在不考虑 TLB 情况下,分段存储管理中从进程的逻辑地址到物理地址的变换过程为:在系统中设置了段表寄存器,用于存放段表始址和段表长度 TL。在进行地址变换时,系统将逻辑地址中的段号 S 与段表长度 TL 进行比较。若 S>TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址 d 是否超过该段的段长 SL。若超过,即 d>SL,同样发出越界中断信号;若未越界,则将该段的基址 d 与段内地址相加,即可得到要访问的内存物理地址。 + +
+ +*** + +### 五、问答题(30 分,每题 10 分) + +1. 生产围棋的工人不小心将相等数量的黑子和白子混合装在一个盒子里。现要用自动分拣系统将黑子和白子分开,该系统由两个并发执行的进程 Pa 和 Pb 组成。系统功能如下:Pa 专拣黑子,Pb 专拣白子;每次都只能拣一个子,当一个进程拣子时,不允许另一个进程去拣子;当一个进程拣子后,必须让另一个进程进行拣子。试解答以下问题,实现对两个拣子并发进程进行描述: + + (1)写出对信号量的定义及其初值的设置。(3 分) + + (2)利用所定义的信号量,采用 P、V 操作,描述两个进程拣子的并发过程。(7 分) + +
+ 答案: + + (仅供参考) + + (1)信号量及其初值: + + 同步信号量 int S1;初值为 1,允许拣黑子,如果为 0,表示不允许拣黑子。 + + int S2;初值为 1,允许拣白子,如果为 0,表示不允许拣白子。 + + 互斥信号量 int mutex;初值为 1,允许进入盒子临界空间进行拣子,如果为 0,表示不允许进入盒子临界区。 + + (2)并发过程描述: + + ```text + main() + { + Semaphore S1,mutex,S2; + S1=1; mutex=1; S2=0; + Cobegin + processPa(); + processPb(); + Coend + } + + processPa() + { + while (1) + { + P(S1); + P(mutex); + 拣黑子; + V(mutex); + V(S2); + } + } + + processPb() + { + while (1) + { + P(S2); + P(mutex); + 拣白子; + V(mutex); + V(S1); + } + } + ``` + +
+ + *** + +2. 一个多道批处理系统中仅有 P1 和 P2 两个作业,以非抢占方式运行。P2 比 P1 晚到达 $5\ \text{ms}$。它们的计算和 I/O 操作的顺序如下: + + P1:计算 $60\ \text{ms}$,I/O $80\ \text{ms}$,计算 $20\ \text{ms}$; + + P2:计算 $120\ \text{ms}$,I/O $40\ \text{ms}$,计算 $40\ \text{ms}$。 + + 请解答以下问题: + + (1)如果不考虑调度和切换时间,则完成两个作业需要的时间最少是多少?请给出具体分析过程和结果,可以画图加以说明。(5 分) + + (2)请计算两个作业的平均等待时间和平均周转时间。(5 分) + +
+ 答案: + + (1)为了使得完成两个作业需要的时间最少,就要使 CPU 等待时间最少。所以并发过程如图所示: + + ![A卷问答题第2题调度示意图](./images/2017-2018学年上学期期末_A_问答题_第2题_调度示意图.png) + + 时间:$60+120+40+40=260\ \text{ms}$ + + 分析并发的过程(略) + + (2)P1 等待时间:$120-80=40$ + + P2 等待时间:$60-5=55$ + + 两个作业的平均等待时间:$(55+40)/2=47.5\ \text{ms}$ + + P1 周转时间:$60+120+20=200\ \text{ms}$ + + P2 周转时间:$260-5=255\ \text{ms}$ + + 平均周转时间为:$(200+255)/2=227.5\ \text{ms}$ + +
+ + *** + +3. 某操作系统的文件管理采用直接索引和多级索引混合方式,文件索引表共有 10 项,其中前 8 项是直接索引项,第 9 项是一次间接索引项,第 10 项是二次间接索引项,假设物理块的大小是 $2\ \text{K}$,并且每个索引项占 4 字节。请解答以下问题。 + + (1)计算并说明该文件系统中的最大文件可以达到多大。(4 分) + + (2)假定一个文件是 $128\ \text{M}$ 字节,包括间接索引块的情况下,该文件占用磁盘空间多大?(6 分) + +
+ 答案: + + (1)混合索引包括 8 个直接索引和 1 个一级间接索引,和一个二级间接索引项。 + + 直接索引对应的空间:$8*2\text{KB}=16\text{K}$ + + 一级间接索引对应的空间:$2*1024/4*2\text{KB}=1\text{MB}$ + + 二级间接索引对应的空间:$(2*1024/4)*(2*1024/4)*2\text{KB}=512\text{M}$ + + 所以 $16\text{K}+1\text{M}+512\text{M}$ 约为 $513\text{M}$ + + (2)解法 1: + + 设每块可以存储的索引项个数为 k,那么 $k=2*1024/4=512$ + + 计算文件数据部分需要多少块:$128\text{MB}/2\text{KB}=65536$ 块 + + 直接索引不产生索引块:直接索引以外的数据块数:$65536-8=65528$ + + 一个一级间接索引以外的数据块:$65528-512=65016$ + + 需要一个二级间接索引,索引需要 $(1+[65016/512])=128$ 个索引块 + + 文件实际占磁盘空间: + + $(65536+1+128)*2\text{K}$ 约为 $128.25\text{M}$ + + 解法 2:$(126*4+512*126*4+8*4)/1024/1014+128=128.25\text{M}$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..28ed0fd --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,695 @@ +--- +title: 2018-2019学年上学期月考 +--- + +## 2018-2019学年上学期月考试卷(含答案) + +### 说明 + +- 日期:2018.10 + +### 一、判断题(20 分,每小题 4 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 开关中断以及读时钟数据都属于特权指令。 + +
+ 答案: + + 错。读时钟数据不属于特权指令。 + +
+ + *** + +2. 用于控制生产流水线、进行工业处理控制的操作系统是实时系统。 + +
+ 答案: + + 对。 + +
+ + *** + +3. 从“新建”状态进入“就绪”状态的进程增多时,CPU 利用率一定不会受到影响。 + +
+ 答案: + + 错。CPU 利用率可能会下降。 + +
+ + *** + +4. Google’s Chrome 浏览器,每次打开一个新页面时,无需建立新的 PCB。 + +
+ 答案: + + 错。每次打开一个新页面时,创建新的进程,因此需要建立新的 PCB。 + +
+ + *** + +5. 微内核的设计中,将文件管理的模块放置在用户空间来实现。 + +
+ 答案: + + 对。 + +
+ +*** + +### 二、不定项选择题(20 分,每小题 4 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 当 CPU 执行系统调用时,一般处于( )。 + + A. 执行态 + + B. 用户态 + + C. 就绪态 + + D. 内核态 + +
+ 答案: + + D + +
+ + *** + +2. 以下哪些对于微内核操作系统的描述是正确的?( ) + + A. 微内核具有较高移植性,可以对微内核部分进行移植修改; + + B. 进程间通信必须在微内核内实现; + + C. 微内核是一个完整操作系统; + + D. 操作系统设计时采用微内核结构可以提高操作系统执行的效率。 + +
+ 答案: + + A、B + +
+ + *** + +3. 下列说法正确的是( ) + + A. 虚拟机允许同一物理设备上安装任意多个操作系统; + + B. OpenStack 是一个开源的云计算管理平台项目; + + C. VMware 可以提供虚拟化服务; + + D. Java 虚拟机有自己设置的硬件。如,处理器、堆栈、寄存器等,还具有相应的指令系统; + +
+ 答案: + + B、C、D + +
+ + *** + +4. UNIX 操作系统是典型的( )。 + + A. 多道批处理系统; + + B. 分时系统; + + C. 实时系统; + + D. 分布式系统。 + +
+ 答案: + + B + +
+ + *** + +5. 以下对操作系统内核的运行方式的描述,正确的是:( ) + + A. 操作系统是一个在内核态运行独立的进程; + + B. 操作系统内核运行时能访问其它进程的地址空间;(这句话是不是少了“不”字) + + C. 只有在硬件中断发生时,操作系统内核才会运行; + + D. 操作系统内核可以以内核态在用户进程上下文中运行。 + +
+ 答案: + + D + +
+ +*** + +### 三、辨析题(20 分,每小题 5 分) + +分别解释以下每组的两个名词,并列举他们的区别。 + +1. 中断(Interrupt)和陷阱(Trap) + +
+ 答案: + + An interrupt is a hardware-generated change of flow within the system. An interrupt handler is summoned to deal with the cause of the interrupt; control is then returned to the interrupted context and instruction. + + A trap is a software-generated interrupt. An interrupt can be used to signal the completion of an I/O to obviate the need for device polling. A trap can be used to call operating system routines or to catch arithmetic errors. + +
+ + *** + +2. 长程调度(long-term scheduling)与中程调度(mid-term scheduling) + +
+ 答案: + + 长程调度:操作系统决定到底有多少进程能够从“new”状态进入就绪状态的调度。 + + 中程调度:操作系统决定哪些进程的地址空间能够保留在内存中,哪些进程的地址空间需要被交换到外存的调度。 + + 区别:长程调度被用于平衡系统资源利用率与并发进程个数;中程调度被用于控制运行与就绪进程有足够的内存、较低的缺页率能够运行。 + +
+ + *** + +3. 用户程序(user program)和进程(process) + +
+ 答案: + + (1)用户程序可以由进程构成,一个用户程序可以包括一个或者几个进程。 + + (2)进程是动态的,程序是静态的:程序是有序代码的集合,进程是程序的执行。进程有核心态/用户态。 + + (3)进程是暂时的,程序是永久的;进程是一个状态变化的过程,程序可以长久保存。 + + (4)进程和程序的组成不同,进程的组成包括程序段、数据和进程控制块(即进程状态信息)。 + +
+ + *** + +4. API 和系统调用 + +
+ 答案: + + API 是函数的定义,规定了函数的功能,跟内核无直接关系。系统调用是通过中断向内核发请求,实现内核提供的某些服务。API 需要一个或多个系统调用来完成特定功能。 + + API 是一个提供给应用程序的接口函数,与程序员进行直接交互的;系统调用则不与程序员进行交互的,它根据 API 函数,通过一个软中断机制向内核提交请求,以获取内核服务的接口。 + + 并不是所有的 API 函数都对应一个系统调用,有的 API 函数需要几个系统调用来共同完成其功能。 + +
+ +*** + +### 四、综合题(40 分) + +1. 结合下面的图示,请论述 CPU 和 I/O 的并行过程。进程之间上下文切换发生在哪一处?为什么有延迟?(10 分) + + ![综合题第1题CPU与IO并行过程图](./images/2018-2019学年上学期月考_综合题_第1题_CPU与IO并行过程图.png) + +
+ 答案: + + (1)CPU 与 I/O 的并行过程: + + 首先 I/O 发出请求,传输数据,此时 CPU 仍正常执行自己的计算工作,I/O 设备与 CPU 并行工作。数据传输完成后,CPU 先保存当下的数据和信息即上下文切换(B 与 C 之间),然后 CPU 对 I/O 中断进行处理。处理完成后 CPU 返回刚才的进程。 + + (2)上下文切换发生在 BC 和 FG 之间。 + + (3)BC 和 FG 段的延迟是因为进程的上下文保存耗时,包括进程有关地各种寄存器的值,例如通用寄存器、程序计数器 PC、程序状态字寄存器 PS,以及机器指令代码集(或称正文段)、数据集、各种堆栈值及 PCB 结构;同时也要载入中断处理程序。 + +
+ + *** + +2. 结合图 2 的实例,请说明引入进程概念后,程序并发执行的过程,并进一步说明程序并发执行的优点。(10 分) + + ![综合题第2题程序并发执行图](./images/2018-2019学年上学期月考_综合题_第2题_程序并发执行图.png) + +
+ 答案: + + (简要答案)进程是计算机中的程序的一次动态执行,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 + + 进程是操作系统中最基本、重要的概念。 + + 为了实现程序的并发执行,实现系统资源共享,把计算机中的程序分成进程,然后系统的各种设备在可以实现分时共享,提高程序和任务的并发度,进一步提高资源的利用率。 + +
+ + *** + +3. 假设某操作系统进程有 5 个状态,请结合图 3 说明进程的从创建到终止的生命期内各种状态转换及引起转换的事件。(10 分) + + ![综合题第3题进程五状态图](./images/2018-2019学年上学期月考_综合题_第3题_进程五状态图.png) + +
+ 答案: + + 上图主要分为五个状态: + + new(创建):为一个新进程创建必要的信息,让该进程进入就绪状态,此时进程处于新建态。 + + terminated(终止):当一个进程结束后,它将进入终止状态。 + + ready:进程已经就绪,等待分配处理器(CPU) + + running:进程获得 CPU,该进程处于运行状态 + + running-ready:进程时间片用完 + + running-waiting:正在执行的进程发生某事件(如 I/O 请求、申请缓冲区失败),暂时无法继续执行,即进程受到阻塞。 + + waiting-ready:I/O 事件完成,阻塞状态转换为就绪状态 + + running-terminated:进程结束 + +
+ + *** + +4. 结合图 4 说明进程之间上下文切换的过程,具体说明涉及进程 PCB 的哪些信息,并指明代价高与低。(10 分) + + ![综合题第4题上下文切换图](./images/2018-2019学年上学期月考_综合题_第4题_上下文切换图.png) + +
+ 答案: + + 保存与重新调入上下文信息,操作系统需要对以下内容进行保存与重新调入: + + (1)计算机系统中执行该进程有关的各种寄存器的值(代价较低) + + 例如通用寄存器、程序状态字寄存器 PS、程序计数器 PC 等 + + (2)程序段在经过编译之后形成的机器指令代码集(或称正文段)、数据集(代价较高) + + (3)各种堆栈值(代价较低) + + (4)PCB 结构。(代价较低) + +
+ +*** + +## 2018-2019学年上学期月考试卷(含答案) + +### 说明 + +- 考察内容:文件与 I/O + +### 一、判断题(30 分,每小题 3 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 在页式存储管理中,用户应将自己的程序划分成若干相等的页。 + +
+ 答案: + + 错。分页是系统分的而不是用户自己分的。 + +
+ + *** + +2. 快表 TLB 采用了哈希散列的方式,将物理帧号与逻辑页号相连,实现页表的快速查找。 + +
+ 答案: + + 错。本质上是使用关联存储技术。 + +
+ + *** + +3. 操作系统的所有程序都必须常驻内存。 + +
+ 答案: + + 错。只有 kernel 部分常驻内存。 + +
+ + *** + +4. 在段式存储管理中,段的大小是根据用户程序的模块进行划分的,将内存区域划分为长度不相等的区域。 + +
+ 答案: + + 对。 + +
+ + *** + +5. 在虚存系统中只要磁盘空间无限大,作业就能拥有任意大的编址空间。 + +
+ 答案: + + 对。 + +
+ + *** + +6. 段式存储中,可以使用段表中的标识位,实现地址保护。而在分页环境下,无法实现地址保护。 + +
+ 答案: + + 错。在分页环境下的内存保护由关联到每个帧的保护位完成。这些位通常保存在页表中。一个位可以定义一个页是读写还是只读属性。可以检查保护位来确定有没有对一个只读页进行写操作。 + +
+ + *** + +7. 对磁盘进行移臂调度优化的目的是为了缩短启动时间。 + +
+ 答案: + + 错。应该是缩短寻道时间。 + +
+ + *** + +8. 采用反向页表的系统,整个系统只有一个页表。 + +
+ 答案: + + 对。 + +
+ + *** + +9. 逻辑地址空间是由 CPU 生成的,也被称为虚拟地址,而物理地址是指内存存储单元所管理的内容。 + +
+ 答案: + + 对。 + +
+ + *** + +10. MMU 存储管理单元的主要任务是实现将逻辑地址映射为物理地址,实现了动态重定位,并提供硬件机制的内存访问权限检查。 + +
+ 答案: + + 对。 + +
+ +*** + +### 二、不定项选择题(15 分,每空 3 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 使用段页式内存管理,段表和页表都存放在主存中,所有要访问的页面都在主存中。页表项可以缓存在转换表缓冲区(TLB)中。一次内存访问的代价为 $120\ \text{ns}$,一次 TLB 访问代价为 $8\ \text{ns}$。假设 TLB 的命中率为 50%,请问进程对内存的有效访问时间(effective access time)是( )。 + + A. $248\ \text{ns}$ + + B. $260\ \text{ns}$ + + C. $180\ \text{ns}$ + + D. $308\ \text{ns}$ + +
+ 答案: + + D + + $120+50\%*8+50\%*(120+8)+120=308\ \text{ns}$ + +
+ + *** + +2. 一个 32 位物理地址的计算机系统,如果采用页式存储管理方式,一个页的大小为 $4\ \text{K}$,程序代码及数据均采用按字节编址,那么在页内进行寻址需要( )位物理地址。 + + A. 2 + + B. 12 + + C. 8 + + D. 1 + +
+ 答案: + + B + +
+ + *** + +3. 上题中,该计算机的物理内存容量为( ) + + A. 2G + + B. 4G + + C. 1M + + D. 1G + +
+ 答案: + + B + +
+ + *** + +4. 以下存储管理方式中,会产生内部碎片的是( ) + + A. 分段虚拟存储管理 + + B. 分页虚拟存储管理 + + C. 段页式分区管理 + + D. 固定式分区管理 + +
+ 答案: + + B、C、D + +
+ + *** + +5. 既可以随机访问又可顺序访问的有( ) + + A. 光盘 + + B. 磁带 + + C. U 盘 + + D. 磁盘 + +
+ 答案: + + A、C、D + +
+ +*** + +### 三、简单回答以下问题(15 分,每小题 5 分) + +1. 请说明段页式存储管理和分段存储管理的区别,要求从原理、地址变换和优缺点进行比较。 + +
+ 答案: + + (1)原理及地址变换 + + 段页式存储管理是将用户程序分成若干个段,并为每一个段赋予一个段名;再把每个段分成若干个页。在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段表长。进行地址变换时,首先利用段号 S,将它与段表长 TL 进行比较。若 S + + *** + +2. 请说明什么是抖动以及产生抖动的原因。 + +
+ 答案: + + (1)如果多道程序过高,页面在内存和外存之间频繁调度,以至于调度页面所需要的时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃,这种现象叫抖动。 + + (2)原因是同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存,于是系统中排队等待页面调进调出的进程数增加,从而导致抖动。 + +
+ + *** + +3. 交换技术与虚拟存储技术中的调入调出技术的区别与联系。 + +
+ 答案: + + 相同点:都要在内存与外存之间交换信息。 + + 区别:交换技术调入、调出整个进程,因此一个进程的大小要受到内存容量大小的限制;而虚存中使用的调入、调出技术在整个内存和外存之间来回传递的是页面或分段,而不是整个进程,而使得进程的地址映射具有了更大的灵活性,且允许进程的大小比可用的内存空间大。 + +
+ +*** + +### 四、综合题(40 分) + +1. 假设一个磁盘驱动器有 5000 个柱面,从 0 到 4999。该驱动器目前正在处理请求柱面 2150,以前请求柱面为 1805。按 FIFO 顺序等待请求队列是: + + 2069, 1212, 2296, 2800, 544, 1618, 356, 1523, 4965, 3681 + + 问题:从当前磁头位置开始,针对以下每个磁盘调度算法,磁臂移动以满足所有等待请求的磁道访问序列及总的移动距离。(10 分) + + a. FCFS + + b. SSTF + + c. SCAN + + d. C-LOOK + +
+ 答案: + + a. FCFS 顺序是 2150, 2069, 1212, 2296, 2800, 544, 1618, 356, 1523, 4965, 3681。 + + 磁头移动的距离为:$81+857+1084+504+2256+1074+1262+1167+3442+1284=13011$ + + b. SSTF 顺序是 2150, 2069, 2296, 2800, 3681, 4965, 1618, 1523, 1212, 544, 356。 + + 磁头移动的距离:$81+227+504+881+1284+3347+95+311+668+188=7586$ + + c. SCAN 顺序是 2150, 2296, 2800, 3681, 4965, (4999), 2069, 1618, 1523, 1212, 544, 356 + + 磁头移动的距离:$146+504+881+1284+34+2930+451+95+311+668+188=7492$。 + + d. C-LOOK 顺序是:2150, 2296, 2800, 3681, 4965, 356, 544, 1212, 1523, 1618, 2069。 + + 磁头移动的距离:$146+504+881+1284+4609+188+668+311+95+451=9137$ + +
+ + *** + +2. 假定磁盘转速为 $20\ \text{ms}$/圈,磁盘格式化时每个磁道被分成 10 扇区,今有 10 个逻辑记录(每个记录的大小刚好与扇区大小相等)存放在同一磁道上,处理程序每次从磁盘读出一个记录后要花 $4\ \text{ms}$ 进行处理,现在要求顺序处理这 10 个记录,若磁头现在正处于首个逻辑记录的始点位置。按逆时针方向安排 10 个逻辑记录(磁盘顺时针方向转),处理程序处理完这 10 个记录所花费的时间是多少?(10 分) + + ![综合题第2题磁盘扇区示意图](./images/2018-2019学年上学期月考_文件和IO_综合题_第2题_磁盘扇区示意图.png) + +
+ 答案: + + 读一个逻辑记录需 $2\ \text{ms}$ 时间,读出记录后还需要 $4\ \text{ms}$ 时间进行处理,故当磁头处于某记录的始点时,处理它共需 $6\ \text{ms}$ 时间。逻辑记录是按逆时针方向安排的,因此系统处理完一个逻辑记录后将磁头转到下一个逻辑记录的始点需要 $16\ \text{ms}$ 时间。 + + ![综合题第2题磁盘旋转过程图](./images/2018-2019学年上学期月考_文件和IO_综合题_第2题_磁盘旋转过程图.png) + + 注意:磁盘结果如下,因为磁盘顺时针旋转,所以当先访问 1 时,在访问 2,磁盘需要顺时针旋转 8 个扇区,才能到达 2,故处理完一个逻辑记录后将磁头转到下一个逻辑记录的初始点需要 $2\ \text{ms}*8=16\ \text{ms}$ 的时间。 + + 从而可以计算出处理程序处理完这 10 个逻辑记录所需的时间为:$6+9*(16+6)=204\ \text{ms}$ + +
+ + *** + +3. 请画出分页内存管理(无 TLB)的硬件结构图,并进行简单的解释说明。(10 分) + + ![综合题第3题分页硬件结构图](./images/2018-2019学年上学期月考_文件和IO_综合题_第3题_分页硬件结构图.png) + +
+ 答案: + + 1)物理地址:内存单元的真正地址。 + + 逻辑地址:CPU 所生成的地址。逻辑地址是不唯一的。 + + 2)分页使得进程的物理地址空间可以是非连续的。 + + 物理内存被划分为小块,每块被称为帧(Frame)。分配内存时,帧是分配时的最小单位。在逻辑内存中,与帧对应的是页(Page)。逻辑地址的表示方式是:前部分是页码,后部分是页内位移量。 + + 3)每个操作系统都有自己的方法来保存页表。绝大多数都会为每个进程分配一个页表。现在由于页表都比较大,所以放在内存中(以往是放在一组专用寄存器里),其指针存在进程控制块(PCB)里,当进程被调度程序选中投入运行时,系统将其页表指针从进程控制块中取出并送入用户寄存器中。随后可以根据此首地址访问页表。 + + 页表的存储方式是 TLB 和内存。若没有 TLB,操作系统需要两次内存访问,来完成逻辑地址到物理地址的转换,访问页表是第一次访问内存,目的是通过逻辑页号查找出对应的物理页框号,然后根据页框号和页内位移量构成物理地址,进一步根据这一物理地址进行第二次访问内存,获取数据或者代码。 + +
+ + *** + +4. 假设某进程的页表内容如下表所示,页面大小为 $4\ \text{KB}$,有效位为 0 表示页面不在内存。请问虚地址 0x2362、0x1565 对应的物理地址是多少。(10 分) + + | 页号(page number) | 框号(frame number) | 有效位(valid bit) | + | --- | --- | --- | + | 0 | 0x101 | 1 | + | 1 | 0x838 | 0 | + | 2 | 0x254 | 1 | + +
+ 答案: + + 页面大小为 $4\ \text{KB}$,即 $2^{12}$,即页内偏移占 12 位,页号占剩余高位。可得以上虚地址的页号分别如下: + + 0x2362:页号 = 2。框号:0x254,物理地址:0x254362。 + + 0x1565H:页号 = 1,框无效,将产生缺页中断。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..271d5ee --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,374 @@ +--- +title: 2018-2019学年上学期期中 +--- + +## 2018-2019学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学软件学院操作系统期中试卷(2018—2019学年第一学期) + +### 一、判断题(20分,每小题4分) + +正确的打√,错误的打×,如错误请说明理由。 + +1. 作业调度是高级调度,而进程调度是低级调度。 + +
+ 答案: + + √ + +
+ + *** + +2. 时间片越小,系统的响应时间就越小,系统的效率就越高。 + +
+ 答案: + + × 时间片减小可以降低响应时间。但是进程切换开销占比增大,会降低系统效率。 + +
+ + *** + +3. 资源分配图中存在环时,系统进程处于死锁状态。 + +
+ 答案: + + ×。当每种资源实例个数为1时,在环中的每个进程处于死锁状态。但是当资源实例数量不唯一时,不一定处于死锁状态。 + +
+ + *** + +4. 进程A与进程B共享变量S1,需要互斥:进程B与进程C共享变量S2,需要互斥。从而,进程A与进程C也必须互斥。 + +
+ 答案: + + × 互斥没有传递性。 + +
+ + *** + +5. 进程执行的相对速度不能由进程自己来控制 + +
+ 答案: + + √ + +
+ +*** + +### 二、不定项选择题(20分,每小题4分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 操作系统提供给程序员的接口是( )。 + + A. 进程 + + B. 系统调用 + + C. 库函数 + + D. SHELL + +
+ 答案: + + B + +
+ + *** + +2. 下列的进程状态变化中,不可能发生的变化是( )。 + + A.运行一就绪 + + B.运行一等待 + + C.等待一运行 + + D.等待一就绪 + +
+ 答案: + + C + +
+ + *** + +3. 下列描述正确的是( ) + + A. 中断优先级是由硬件规定的 + + B. 进程间通信机制是微内核的一部分; + + C. 只有在硬件中断发生时,操作系统内核才会运行; + + D. 中断技术是多道程序并发处理的必要条件。 + +
+ 答案: + + A, B, D + +
+ + *** + +4. 在单处理机系统中,操作的“原子”性可以通过( )来实现。 + + A. 特权指令 + + B. 访管指令 + + C. 屏蔽中断 + + D. 系统调用 + +
+ 答案: + + C + +
+ + *** + +5. 在多级队列调度和多级反馈队列的调度的叙述中,正确的是( )。 + + A.多级反馈队列的调度中就绪队列的设置不是像多级队列调度一样按作业性质划分,而是按时间片的大小划分 + + B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权 + + C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定 + + D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法 + +
+ 答案: + + A + + :::tip + 原参考答案只给出A,疑似不完整。C描述了进程能否在不同队列间移动,D描述了各队列所采用的调度算法,也符合多级队列调度与多级反馈队列调度的典型区别。 + ::: + +
+ +*** + +### 三、辨析简答题(20分,每小题5分) + +1. 比较核心态和用户态 + +
+ 答案: + + 核心态:操作系统内核执行的受保护的状态 + + 用户态:用户进程执行所在的状态 + + 区别:处于用户态只能访问进程的地址空间,用户态需要通过中断或系统调用才能进入核心态。 + +
+ + *** + +2. 描述进程与线程的关系。 + +
+ 答案: + + 对于单线程的进程(或者没有线程概念的进程),进程及时资源管理的单位,也是任务调度的单位。 + + 对于多线程的进程,线程是任务调度单位,进程是资源管理单位。 + + 线程相关的硬件资源包括:CPU的寄存器以及堆栈,进程相关的资源包括除堆栈外的其他内存,打开文件列表等。 + +
+ + *** + +3. 比较并发(concurrent)与并行(parallel)。 + +
+ 答案: + + 并发:一个时间间隔内有多个任务在执行。(宏观上“同时”运行) + + 并行:同一个时刻内有多个任务在执行。(微观上同时运行,必须有多个执行硬件的支持) + + (下图仅作参考说明,不作为答案一部分) + + ![并发与并行参考图](./images/2018-2019学年上学期期中_辨析简答题_第3题_并发与并行参考图.png) + +
+ + *** + +4. 比较死锁预防措施与死锁避免措施。(5分) + +
+ 答案: + + (1)预防死锁:主要是破坏产生死锁的必要条件之一:(1)互斥(2)占有与等待(3)不抢占(4)循环等待。该方法是最容易实现的,是一种粗粒度的解决方法,但系统资源利用率较低。 + + (2)避免死锁:通过资源分配图(单实例资源),银行家算法(多实例资源)等,在执行的过程中小心的计算资源需求与供应关系,避免死锁的发生。该算法需要较多的数据结构,实现起来比较困难,但资源利用率最高。 + +
+ +*** + +### 四、综合题(40分) + +1. (15分)有5个任务A,B,C,D,E。它们几乎同时到达,预计它们的运行时间为10,6,2,4,8ms。其优先级分别为3,5,2,1和4(这里5为最高优先级)。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。 + + a) 先来先服务(按A,B,C,D,E顺序)算法。(5分) + +
+ 答案: + + 采用FCFS的调度算法时,各任务在系统中的执行情况如下表所示: + + | 执行次序 | 运行时间 | 优先数 | 等待时间 | 周转时间 | + | --- | --- | --- | --- | --- | + | A | 10 | 3 | 0 | 10 | + | B | 6 | 5 | 10 | 16 | + | C | 2 | 2 | 16 | 18 | + | D | 4 | 1 | 18 | 22 | + | E | 8 | 4 | 22 | 30 | + + 所以,进程的平均周转时间为: + + $T=(10+16+18+22+30)/5=19.2\ \text{ms}$ + +
+ + b) 优先级调度算法。(5分) + +
+ 答案: + + 采用优先级调度算法时,各任务在系统中的执行情况如下表所示: + + | 执行次序 | 运行时间 | 优先数 | 等待时间 | 周转时间 | + | --- | --- | --- | --- | --- | + | B | 6 | 5 | 0 | 6 | + | E | 8 | 4 | 6 | 14 | + | A | 10 | 3 | 14 | 24 | + | C | 2 | 2 | 24 | 26 | + | D | 4 | 1 | 26 | 30 | + + 所以,进程的平均周转时间为: + + $T=(6+14+24+26+30)/5=20\ \text{ms}$ + +
+ + c) 时间片轮转算法(时间片2ms)。(5分) + +
+ 答案: + + 采用时间片轮转算法时,假定时间片为2min,各任务的执行情况是:(A,B,C,D,E),(A,B,D,E),(A,B,E),(A,E),(A)。设A~E五个进程的周转时间依次为T1~T5,显然, + + $T1=30\text{ms},\ T2=22\text{ms},\ T3=6\text{ms},\ T4=16\text{ms},\ T5=28\text{ms}$ + + 所以,进程的平均周转时间为: + + $T=(30+22+6+16+28)/5=20.4\text{ms}$ + + :::tip + 题干规定时间片为2ms,而原参考答案写成“2min”,此处疑似单位笔误。 + ::: + +
+ + *** + +2. (15分)某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: + + a)(5分)用P、V操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以及信号量各种取值的含义。 + +
+ 答案: + + (1)定义一信号量S,初始值为20。 + + $S>0$ S的值表示可继续进入售票厅的人数; + + $S=0$ 表示售票厅中已有20名购票者; + + $S<0$ $|S|$的值为等待进入售票厅中的人数。 + +
+ + b)(5分)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。 + + ```text + Cobegin PROCESS Pi(i=1,2,…) + Begin + 进入售票厅; + 购票; + 退出; + End; + Coend + ``` + +
+ 答案: + + (2) + + ```text + P(S); + 进入售票厅; + 购票; + 退出; + V(S); + ``` + +
+ + c)(5分)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。 + +
+ 答案: + + (3)S的最大值为20,S的最小值为20-N,N为某一时刻需要进入售票厅的最多人数。 + +
+ + *** + +3. (10分)某时刻进程的资源使用情况如下所示。 + + ![资源使用表](./images/2018-2019学年上学期期中_综合题_第3题_资源使用表.jpg) + + 此时的安全序列是什么? + +
+ 答案: + + 无。 + + $[0,2,1] \ge \mathrm{Need}_{P1}\ [0,0,1]$ + + P1: $[0,2,1]+[2,0,0]=[2,2,1]\ge \mathrm{Need}_{P4}: [2,0,0]$ + + P4:$[2,2,1]+[0,0,1]=[2,2,2]$ 剩下进程(P2,P3)不能完成 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..28b65ed --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,488 @@ +--- +title: 2018-2019学年上学期期末 +--- + +## 2018-2019学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(30分,每题3分) + +1. 操作系统的目标是( ) + + A. 执行用户程序更容易 + + B. 使计算机系统更便于使用 + + C. 计算机硬件利用效率更高 + + D. 以上均是 + +
+ 答案: + + D + +
+ + *** + +2. 系统上电后,下面程序中哪个最先运行?( ) + + A. 内核程序 + + B. 引导程序 + + C. 登录程序 + + D. 自启动程序 + +
+ 答案: + + B + +
+ + *** + +3. 下面那项不在 PCB 中?( ) + + A. 进程状态 + + B. 进程号 + + C. 进程名 + + D. 打开文件列表 + +
+ 答案: + + C + +
+ + *** + +4. 降低进程优先级的合理时机是( )。 + + A. 进程的时间片用完 + + B. 进程刚完成 I/O,进入就绪队列 + + C. 进程长期处于就绪队列中 + + D. 进程从就绪状态转为运行态 + +
+ 答案: + + A + +
+ + *** + +5. 同一个进程的不同线程,具有独立的( ) + + A. 文件 + + B. 栈 + + C. 数据段 + + D. 代码段 + +
+ 答案: + + B + +
+ + *** + +6. 一般而言,下列哪种调度算法响应时间最短?( ) + + A. FCFS + + B. SJF + + C. SRTF + + D. RR + +
+ 答案: + + D + +
+ + *** + +7. 下面哪个 bit 不在页表里?( ) + + A. Mode bit + + B. valid-invalid bit + + C. Dirty bit + + D. reference bit + +
+ 答案: + + A + +
+ + *** + +8. 下面哪个控制块只存在于内存中?( ) + + A. PCB + + B. FCB + + C. BCB + + D. VCB + +
+ 答案: + + A + +
+ + *** + +9. 菊花链(daisy chain)是一种( ) + + A. 总线结构 + + B. 星型结构 + + C. 并行结构 + + D. 分布式结构 + +
+ 答案: + + A + +
+ + *** + +10. 以下哪种存储设备通常只支持顺序访问?( ) + + A. 软盘 + + B. 固态硬盘 + + C. 磁带 + + D. 光盘 + +
+ 答案: + + C + +
+ +*** + +### 二、判断题(20分,每题2分,请划√或×) + +1. 现代操作系统都是中断驱动的。陷阱、异常、轮询是软中断的几种形式,通过类似中断处理的方式进行处理。( ) + +
+ 答案: + + ×。错在“轮询”。 + +
+ + *** + +2. 系统调用是操作系统提供的服务的编程接口。( ) + +
+ 答案: + + √ + +
+ + *** + +3. 微内核架构中 CPU 调度、内存管理、文件系统等模块运行在内核模式。( ) + +
+ 答案: + + X。错在“文件系统”。 + +
+ + *** + +4. 磁盘上的文件是以页面为单位读写的。( ) + +
+ 答案: + + ×。错在“页面”。 + +
+ + *** + +5. 目录是文件的集合,是一种逻辑概念,可以用文件实现。( ) + +
+ 答案: + + √ + +
+ + *** + +6. 银行家算法破坏了死锁必要条件中的“请求和保持”条件( ) + +
+ 答案: + + X(预防 vs. 避免) + +
+ + *** + +7. 逻辑地址空间的容量取决于逻辑地址位数( )。 + +
+ 答案: + + √ + +
+ + *** + +8. 磁盘划分扇区和磁道称为格式化。( ) + +
+ 答案: + + X。错在“格式化”。 + +
+ + *** + +9. 索引结构的文件物理结构适合随机访问且易于文件扩展( )。 + +
+ 答案: + + √ + +
+ + *** + +10. 文件指针(fp)存在于系统的打开文件列表中( ) + +
+ 答案: + + X。错在“系统的”。 + +
+ +*** + +### 三、简答题(20分,每题5分) + +1. (5分)请简述 DMA 的过程,说明为什么 DMA 对于高速 I/O 访问效率较高。 + +
+ 答案: + + (过程参见英文教材第九版 P596 图 13.6,如下图,图不需要画出来) + + 程序控制 I/O(PIO)时,CPU 需要介入每一次数据交换;DMA 方式时,CPU 只在数据交换开始/结束时介入,其它时候,由 DMA 控制器协调 I/O 设备和内存利用总线进行数据交换。由于此时 CPU 和 I/O 设备几乎并行,因此与 PIO 方式相比,节省了大量中断、CPU 介入时间。 + +
+ + *** + +2. (5分)简要比较短程调度和长程调度。 + +
+ 答案: + + P113. + +
+ + *** + +3. (5分)简要比较静态链接和动态链接。 + +
+ 答案: + + P357 + + Static linking -- system libraries and program code combined by the loader into the binary program image + + Dynamic linking --linking postponed until execution time + + Dynamic linking is particularly useful for libraries + +
+ + *** + +4. (5分)简要说明目录结构、FCB 及相互的关系。 + +
+ 答案: + + P546 + +
+ +*** + +### 四、应用题(30分,每题10分) + +1. (10分)某页式内存管理系统中,页面大小为 $4KB$,一次内存的访问时间是 $100ns$,一次快表(TLB)的访问时间是 $10ns$,处理一次缺页的平均时间为 $0.1s$(已含更新 TLB 和页表的时间),进程占用物理内存框数固定为 2,采用最近最少使用置换算法(LRU)和局部淘汰策略。某时刻某进程的页表内容如下表所示,此时 TLB 内容无效。 + + | 页号 | 框号 | 有效位(0无效) | + | --- | --- | --- | + | 0 | 0x163 | 1 | + | 1 | 0x138 | 0 | + | 2 | 0x551 | 1 | + + 设有逻辑地址访问序列 0x2345、0x1357、0x26AE,请问: + + 依次访问上述三个逻辑地址,其物理地址各是多少?各需多少时间?(给出计算过程。) + + 补充说明:地址转换时先访问 TLB,若 TLB 未命中,再访问页表(忽略访问页表之后的 TLB 更新时间)。 + +
+ 答案: + + 因为页大小为 $4KB$,所以逻辑地址中的低 12 位表示页内地址,剩余高位表示页号。则用十六进制表示,低三位数字为页内地址,最高位数字为页号。 + + (1)0x2345:页号为 2,页内地址为 0x345。 + + 先访问快表(需时 $10ns$), + + 未命中,再访问内存中的页表($100ns$), + + 页表项中的有效位指示该页在内存,根据该页对应的框号形成**物理地址(0x551345)**再次访问内存($100ns$), + + 【共计】$10ns+100ns*2=210ns$。(3分) + + (2)0x1357:页号为 1,页内地址为 0x357。 + + 先访问快表 $10ns$, + + 未命中,再访问内存中的页表 $100ns$, + + 页表项中的有效位指示页 1 不在内存,访问时发生缺页。目前页 0、页 2 在内存,根据 LRU 置换算法和局部淘汰策略,将页 0 换出页 1 换入,因此页 1 对应的框号为 0x163,则逻辑地址 0x1357 的**物理地址为 0x163357**。处理缺页 $0.1s=10^8ns$, + + 再次访问快表 $10ns$ + + 命中,根据该页对应的框号形成物理地址再次访问内存 $100ns$, + + 【共计】$10ns+100ns+10^8ns+100ns+10ns \approx 10^8ns$。(4分) + + (3)0x26AE:页号为 2,页内地址为 6AEH。 + + 由于访问 0x2345 时已将页 2 的表项写入 TLB,因此访问快表 $10ns$, + + 命中,根据该页对应的框号形成**物理地址(0x5516AE)**访问内存 $100ns$, + + 【共计】共计 $10ns+100ns=110ns$。(3分) + +
+ + *** + +2. (10分)某学校计算机教室有 50 台计算机,全天开放供学生自主上机实验,坐满后须在教室外排队等候。第一个进教室的学生需要开灯,最后一个出教室的需要关灯。请用信号量的方法,使用 `wait` 和 `signal` 等操作来描述学生(Student)进程的并发过程。须包含对信号量的定义及其初值的设置。 + +
+ 答案: + + ```c + int stu_count=0; //学生人数 + Semaphore mutex=1; //互斥量,对临界段进行操作,处理stu_count及开关灯 + Semaphore sem_seats=50; //同步信号量,剩余座位,初值为50,负数表示等候人数 + + Student() + { + do { + wait(mutex); + wait(sem_seats); + stu_count++; + if (stu_count == 1) + { + /* 开灯 */ + } + signal(mutex); + + /* 进教室自习 */ + wait(mutex); + stu_count--; + if (stu_count == 0) + { + /* 关灯 */ + } + signal(sem_seats); + signal(mutex); + } while (true); + } + ``` + +
+ + *** + +3. (10分)假定磁盘的磁臂现在处于第 10 柱面,由外向内运动(柱面号由小到大)。现有一组磁盘请求以 60、8、15、4、20、40 柱面的次序到达磁盘驱动器,磁臂移动一个柱面需要 $6ms$,请完成下面的问题: + + (1)访问磁盘所需的时间由哪几部分构成?(3分) + + (2)采用 SSTF 算法和 SCAN 算法进行磁盘调度,请分别给出柱面访问序列,计算平均寻道时间。(4分) + + (3)如果把磁盘换成固态盘,用什么算法比较合适,说明理由。(3分)) + +
+ 答案: + + 磁盘访问时间由:寻道时间、旋转延迟时间和数据传输时间三部分构成。**(3分)** + + SSTF算法:**(2分)** + + 柱面访问序列为:8、4、15、20、40、60 + + 平均寻道时间为:$(2+4+5+5+20+20)\times6/6=56ms$ + + SCAN算法:**(2分)** + + 柱面访问序列为:15、20、40、60、8、4 + + 平均寻道时间为:$(5+5+20+20+52+4)\times6/6=106ms$ + + (3)用 FCFS 即可。固态盘没有寻道时间、旋转延迟时间,支持随机访问,按先来先服务即可。(3分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..40e124f --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,351 @@ +--- +title: 2019-2020学年上学期期中 +--- + +## 2019-2020学年上学期期中试卷(含答案) + +### 说明 + +- 日期:2019.10 +- 原卷中第一题判断题的2、6小题被划掉,原因未知 + +### 一、判断题(20 分,每小题 4 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 时间片轮转调度算法、短进程优先调度算法、先来先服务调度算法,及高响应比优先调度算法都没有综合考虑进程等待时间和执行时间。 + +
+ 答案: + + 错。高响应比优先调度算法综合考虑进程等待时间和执行时间 + +
+ + *** + +2. 多级反馈队列的调度中就绪队列按时间片的大小划分。 + +
+ 答案: + + 对 + +
+ + *** + +2. 多级反馈队列中,进程可以在不同队列中移动 + +
+ 答案: + + √ + +
+ + *** + +3. 在生产者-消费者问题中,生产者进程和消费者进程只要解决互斥访问的问题即可。 + +
+ 答案: + + 错。当 buffer 为空时,只有等待生产者进程完成一个产品生成后,消费者才可以消费。因此,还要解决进程间同步的问题。 + +
+ + *** + +4. 进程执行的相对速度与资源无关。 + +
+ 答案: + + 错。进程执行的相对速度与资源有关,例如一个进程执行时需要的资源不能满足要求时,只好等待该资源。 + +
+ + *** + +5. 在多处理器系统中,通过关中断的方式可以解决进程间互斥访问的问题。 + +
+ 答案: + + 错。在多处理器系统中,关中断不能保证临界区的互斥访问。 + +
+ + *** + +5. 在微内核(micro-kernel)结构的操作系统中,虚拟内存(virtual memory)管理是在微内核内部的。 + +
+ 答案: + + 错。只有 CPU 调度和进程间通信是必须在微内核内部。 + +
+ +*** + +### 二、不定项选择题(20 分,每小题 4 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 当 CPU 执行操作系统代码时,处理器处于( ) + + A. 执行态 + + B. 用户态 + + C. 就绪态 + + D. 内核态 + +
+ 答案: + + D + +
+ + *** + +2. UNIX 操作系统是典型的( ) + + A. 多道批处理系统 + + B. 分时系统 + + C. 实时系统 + + D. 分布式系统 + +
+ 答案: + + B + +
+ + *** + +3. 以关于线程,以下说法正确的是( ) + + A. 用户态线程(无核心态线程或 LWP)阻塞,可能会阻塞线程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含 CPU 寄存器状态 + + D. 在支持核心态线程的系统中,CPU 调度的单位仍然是进程 + +
+ 答案: + + A, B, C + +
+ + *** + +4. 一个正在运行的进程,当所分配的时间片用完后,将其挂在( )。 + + A. 等待队列 + + B. 运行队列 + + C. 就绪队列 + + D. 任意一个队列 + +
+ 答案: + + C + +
+ + *** + +5. 若 P、V 操作的信号量 S 初值为 2,当前值为-1,则表示有( )等待进程。 + + A. 0 个 + + B. 1 个 + + C. 2 个 + + D. 3 个 + +
+ 答案: + + B + +
+ +*** + +### 三、辨析题(20 分,每小题 5 分) + +分别解释以下每组的两个名词,并列举它们的区别和联系 + +1. 进程和管程 + + *** + +2. 多级反馈队列调度与 FCFS + + *** + +3. 死锁(deadlock)与饥饿(starvation) + +
+ 答案: + + 死锁:多个进程循环等待对方,都无法继续执行 + + 饥饿:某个或某些进程由于无法得到资源长时间无法执行 + + 死锁必然发生饥饿,但是饥饿不一定发生死锁 + +
+ + *** + +4. 互斥量和信号量 + +
+ 答案: + + 1) 互斥量用于线程的互斥,信号量用于线程的同步。 + + 这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。 + + 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 + + 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源 + + 2) 互斥量值只能为 0/1,信号量值可以为非负整数。 + + 也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程互斥和同步。当信号量为单值信号量时,也可以完成一个资源的互斥访问。 + + 3)互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。 + +
+ +*** + +### 四、综合题(40 分) + +1. 四个进程需要运行的时间(单位:毫秒)和到达顺序如下:(10 分) + + | 进程 | 需要 CPU 时间 | 优先级 | + | --- | --- | --- | + | P1 | 9 | 3 | + | P2 | 2 | 1 | + | P3 | 3 | 2 | + | P4 | 2 | 4 | + + a) 请利用甘特图展示四个进程分别在 FCFS、SJF、RR 和非抢占优先级四种调度算法下的执行过程。 + + b) 请计算每个进程在 a) 中提到的四种调度算法下的等待时间。 + + c) 请问 a) 中哪种调度算法使得平均等待时间最少? + +
+ 答案: + + (b) + + | 进程 | FCFS | SJF | RR | 优先级调度 | + | --- | --- | --- | --- | --- | + | P1 | 0 | 7 | 6 | 5 | + | P2 | 9 | 0 | 4 | 0 | + | P3 | 11 | 4 | 7 | 2 | + | P4 | 14 | 2 | 6 | 14 | + | 平均 | 8.5 | 3.25 | 5.6 | 5.2 | + + (c) SJF 调度算法使得平均等待时间最少。 + +
+ + *** + +2. 请举例详细说明什么是进程之间的同步和互斥,为什么中断不适合在多处理器系统中实现原语的同步?(10 分) + +
+ 答案: + + 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 + + 同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源 + + 在实际的多道程序系统中,这种连续循环浪费了 CPU 时间。操作中信号量整数值的修改应当不可被分割地执行,且不能被中断,运行在处理器上的是内核级线程而用户级程序所对应的内核线程是需要进行调度的,所以不确保禁止中断实现同步原语的方法有效。 + +
+ + *** + +3. “生产者-消费者”问题演变 2(既有同步,也有互斥):一个缓冲区,多个生产者,多个消费者,生产者不断地生产,消费者不断地消费。只有缓冲区为空时生产者才能放产品,只有缓冲区有数据,消费者才能取产品。用 PV 操作写出相应的代码段。(10 分) + +
+ 答案: + + 缓冲区变成临界资源,不允许多个进程同时操作缓冲区,既不允许多个生产者同时放产品,也不允许多个消费者同时取产品。那么需要增加信号量 mutex 实现对缓冲区的互斥访问,初值为 1. + + full 和 empty 范围分别变成[-n,1]和[-m,1],其中 n 是消费者进程数量,m 是生产者进程数量。 + + ```c + Semaphore mutex = 1, empty = 1, full = 0; + + main() + { + // begin + Producer(); + Consumer(); + // end + } + ``` + + ```c + Producer() + { + While(true) + { + wait(empty); + wait(mutex) + putdata; + signal (mutex) + signal(full); + } + } + + Consumer() + { + While(true) + { + wait(full); + wait(mutex) + getdata; + signal (mutex) + signal(empty); + } + } + ``` + +
+ + *** + +4. 举例说明什么是多级反馈队列调度算法,其有哪些优点,根据例子具体详细说明。(10 分) + +
+ 答案: + + 多级反馈队列调度算法是一种性能较好的作业低级调度策略,能够满足各类用户的需要。对于分时交互型短作业,系统通常可在第一队列(高优先级队列)规定的时间片内让其完成工作,使终端型用户都感到满意;对短的批处理作业,通常,只需在第一或第一、第二队列(中优先级队列)中各执行一个时间片就能完成工作,周转时间仍然很短;对长的批处理作业,它将依次在第一、第二、……,各个队列中获得时间片并运行,决不会出现得不到处理的情况。此系统模拟了多级反馈队列调度算法及其实现。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..27dfe99 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2019-2020\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,175 @@ +--- +title: 2019-2020学年上学期期末 +--- + +## 2019-2020学年上学期期末试卷(A) + +### 一、判断题(20 分,每小题 4 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 当一个操作系统采用连续内存分配方案时,只可能产生外部碎片。( ) + + *** + +2. 当从“新建(new)”状态进入“就绪(ready)”状态的进程增多时,进程的平均响应时间不会减少。( ) + + *** + +3. 微内核不是一个完整操作系统,只是为构建通用操作系统提供基础。( ) + + *** + +4. 文件系统的 inode 的初始化是在磁盘分区操作中进行的。( ) + + *** + +5. 假脱机(spooling)方式常用于处理字符设备(character device),如终端的 I/O 操作。( ) + +*** + +### 二、不定项选择题(24 分,每小题 3 分) + +选择一个或多个正确答案。 + +1. 以下( )对降低缺页率没有直接帮助。 + + A. 增加页框 + + B. 插入不必要的 I/O 指令 + + C. 减少系统中同时运行的进程数目 + + D. 预取页面 + + *** + +2. 以下哪个操作不会使一个进程从运行(running)状态转换为就绪(ready)状态。 + + A. 在可占先(preemptive)系统中,高优先级进程被创建 + + B. 分时系统中,时间片到 + + C. 当前运行进程发生缺页中断 + + D. 当前运行进程调用 yield(),主动放弃使用 CPU + + *** + +3. 关于死锁,以下说法正确的是( )。 + + A. 死锁避免(deadlock avoidance)中,不安全的状态必然发生死锁 + + B. 死锁避免(deadlock avoidance)中,发生死锁必然处于不安全状态 + + C. 资源分配图中有环(以资源类型和进程为节点),必然发生死锁 + + D. 如果要求每个进程必须一次申请所有需要的资源,如果不能满足其需要,则不分配任何资源,那么死锁不可能发生 + + *** + +4. 关于线程,以下说法正确的是( )。 + + A. 用户态线程(无核心态线程或 LWP)阻塞,可能会阻塞进程 + + B. 多处理器环境下,线程间同步不能使用关中断实现 + + C. 线程控制块中包含 CPU 寄存器状态 + + D. 在支持核心态线程的系统中,CPU 调度的单位仍然是进程 + + *** + +5. 下面关于操作系统的叙述中正确的是( )。 + + A. 从响应时间的角度来看,实时系统与分时系统无本质差别 + + B. 多道运行是现代操作系统的特征之一,它是指宏观和微观上都并行 + + C. 操作系统的特征是并行性、共享性、虚拟性和不确定性 + + D. 在分时系统中,响应时间 $\approx$ 时间片 $\times$ 用户数,因此只要时间片足够小其响应时间一定能改善 + + *** + +6. 下面的叙述中,( )不是设备管理中引入缓冲机制的主要原因。 + + A. 缓和 CPU 和 I/O 设备间的速度不匹配问题 + + B. 减少对 CPU 的中断频率和放宽对 CPU 响应时间的限制 + + C. 提高 CPU 和 I/O 设备间的并行性 + + D. 节省系统内存 + + *** + +7. 在可变分区管理方案中,若采用“最佳适应”分配算法,通常将空闲区按( )排列。 + + A. 容量递增 + + B. 容量递减 + + C. 地址递增 + + D. 地址递减 + + *** + +8. 某作业访问页面的顺序为 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2,分配给该作业三个内存块,则采用 LRU 页面置换算法会产生( )次缺页中断? + + A. 7 + + B. 8 + + C. 9 + + D. 10 + +*** + +### 三、简答题(20 分,每题 5 分) + +1. 什么是管程?什么是进程?请说明两者之间的关系。 + + *** + +2. 什么是系统调用,它的作用有哪些? + + *** + +3. 微内核结构的优缺点是什么? + + *** + +4. 举例说明什么是同步和异步通信?它们的优缺点分别是什么? + +*** + +### 四、问答题(36 分,每题 18 分) + +1. 采用银行家算法实现死锁避免策略。假设系统中有 3 种资源类型(A, B, C)和 5 个进程 P1、P2、P3、P4 和 P5。A 资源的数量是 17,B 资源的数量是 5,C 资源的数量是 20,在 T0 时刻系统状态如下表所示。 + + | 进程 | 最大资源需求量 A | 最大资源需求量 B | 最大资源需求量 C | 已分配资源数量 A | 已分配资源数量 B | 已分配资源数量 C | + | --- | --- | --- | --- | --- | --- | --- | + | P1 | 5 | 5 | 9 | 2 | 1 | 2 | + | P2 | 5 | 3 | 6 | 4 | 0 | 2 | + | P3 | 4 | 0 | 11 | 4 | 0 | 5 | + | P4 | 4 | 2 | 5 | 2 | 0 | 4 | + | P5 | 4 | 2 | 4 | 3 | 1 | 4 | + + 解答下列问题: + + (1)T0 时刻是否为安全状态?若是,请给出安全序列。 + + (2)在 T0 时刻,若进程 P2 请求资源(0,3,4),是否能够实施资源分配?为什么? + + (3)在(2)的基础上,若进程 P4 请求资源(2,0,1),是否能够实施资源分配?为什么? + + *** + +2. 一个文件系统中有一个 20MB 大文件和一个 20KB 小文件,当分别采用连续、链接、链接索引、二级索引和 UNIX System V 分配方案时(每块大小为 4096B,每块地址用 4B 表示),问: + + (1)各文件系统管理的最大的文件是多少? + + (2)每种方案对大、小两文件各需要多少专用块来记录文件的物理地址(说明各块的用途)? diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..2687807 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,575 @@ +--- +title: 2020-2021学年上学期期中 +--- + +## 2020-2021学年上学期期中试卷(含答案) + +### 说明 + +- 原卷标题:华东师范大学期中考试试卷2020—2019学年第一学期,应为误写 + +### 一、判断题(20 分,每小题 2 分) + +判断下列每句话是否正确,如错误请说明理由。 + +1. 如果信号量 S 的当前值为 -6 时,则表示系统中共有 6 个等待的进程。 + +
+ 答案: + + 错。S=-6 表示当前有 6 个进程等待进入该信号量所对应的临界区。 + +
+ + *** + +2. 取值为 0 或者 1 的信号量只能实现互斥访问。 + +
+ 答案: + + 错。信号量可以实现互斥和同步。 + +
+ + *** + +3. 线程都保存有各自的栈信息、CPU 状态(寄存器、指令计数器等)、堆信息,以及打开文件列表等。 + +
+ 答案: + + 错。线程保存栈信息、CPU 状态;而堆信息,以及打开文件列表等是进程保存的。 + + (线程实现了资源和调度单位相分离) + +
+ + *** + +4. 资源分配图中存在环时,系统中某些进程处于死锁状态。 + +
+ 答案: + + 错。当每种资源实例个数为一时,在环中的每个进程处于死锁状态。但是当资源实例数量不唯一时,不一定处于死锁状态。 + +
+ + *** + +5. 在微内核结构的操作系统中,进程间通讯可以不在微内核内。 + +
+ 答案: + + 错。进程通讯是内核的核心功能,对微内核系统,也在微内核内实现。 + +
+ + *** + +6. 在多处理器系统中,通过关中断的方式可以解决进程间互斥访问的问题。 + +
+ 答案: + + 错。在多处理器系统中,关中断不能保证临界区的互斥访问。 + +
+ + *** + +7. 进程所请求打开的文件打开后,将使进程状态从运行态变为就绪态。 + +
+ 答案: + + 错。等待态变为就绪态。 + +
+ + *** + +8. 在生产者-消费者问题中,生产者进程和消费者进程只要解决互斥访问的问题即可。 + +
+ 答案: + + 错。当 buffer 为空时,只有等待生成者进程完成一个产品生成后,消费者才可以消费。因此,还要解决进程间同步的问题。 + +
+ + *** + +9. 时间片轮转算法,核心思想是限定任务每次执行的时间,SJF 策略和 STCF 策略,RR 策略不仅无需预知任务的运行时间,且不会出现长任务饥饿的情况。 + +
+ 答案: + + 对 + +
+ + *** + +10. 管程中对条件变量的 signal()和信号量中的 signal()操作具有相同的效果。 + +
+ 答案: + + 错。管程中对条件变量的 signal()可以什么都不做,而信号量中的 signal()操作必然改变信号量的值。 + +
+ +*** + +### 二、不定项选择题(30 分,每小题 3 分) + +每题有一个或多个答案,答错、少选、多选均不给分。 + +1. 下列哪个计算机系统的组件定义了使用系统资源解决计算问题的方法?( ) + + A. 应用程序 + + B. 操作系统 + + C. 计算机硬件 + + D. 计算机 logo + +
+ 答案: + + B + +
+ + *** + +2. 以下哪种进程间通信在微内核中使用?( ) + + A. 消息传递 + + B. 共享内存 + + C. 套接字通信 + + D. 全部都是 + +
+ 答案: + + A + +
+ + *** + +3. 下面哪一个包含可执行代码?( ) + + A. 文本(text)部分 + + B. 数据(data)部分 + + C. 堆(heap)部分 + + D. 栈(stack)部分 + +
+ 答案: + + A + +
+ + *** + +4. 以下哪种情况可能会导致进程从 CPU 中移出?( ) + + A. I/O 请求 + + B. 创建一个子进程 + + C. 中断或者时间片到期 + + D. 全部都会 + +
+ 答案: + + ABCD + +
+ + *** + +5. 多线程编程具有以下哪些好处?( ) + + A. 反应性 + + B. 资源共享 + + C. 经济 + + D. 可扩展性 + + E. 全部都是 + +
+ 答案: + + ABCDE + +
+ + *** + +6. ( )是一个用于计算通过向具有并行和串行组件的应用程序中添加其他计算内核而可能获得的性能提升的方法。 + + A. 任务并行 + + B. 数据并行 + + C. 数据分割 + + D. 阿姆达尔(Amdahl)定律 + +
+ 答案: + + D + +
+ + *** + +7. 可以在以下哪种情况下进行抢占式调度?( ) + + A. 当进程从运行状态切换到等待状态时 + + B. 当进程从等待状态切换到就绪状态时 + + C. 进程终止时 + + D. 以上都不是 + +
+ 答案: + + B + +
+ + *** + +8. 以下哪种调度算法可能会出现护航效应(convoy effect)?( ) + + A. SJF + + B. FCFS + + C. RR + + D. Multilevel queue + +
+ 答案: + + B + +
+ + *** + +9. 假设 count 是一个变量名,以下哪个操作是原子的?( ) + + A. count++ + + B. count-- + + C. 两者都是 + + D. 两者都不是 + +
+ 答案: + + D + +
+ + *** + +10. 通常认为 OpenMP 中的临界区编译器指令比标准互斥锁更易于使用,因为( ) + + A. 进入和退出代码由 OpenMP 库管理,从而减少了编程错误的可能性。 + + B. 程序员不必担心竞争条件。 + + C. 线程不能在临界区内部阻塞。 + + D. 不会发生死锁。 + +
+ 答案: + + A + +
+ +*** + +### 三、简答题(15 分,每小题 5 分) + +1. 列举 3 种减少上下文切换(context switch)开销的方法。 + +
+ 答案: + + - 使用较少的内核线程(例如,事件驱动编程或有界线程池)。 + - 减少模式切换的次数(例如,用户级调度)。 + - 使用较少切换线程的调度算法(例如,FIFO 而不是 RR)。 + + (每个要点包含多个可能的答案。列出部分即可) + +
+ + *** + +2. SRTF 在什么指标上是最优的;在什么指标上 FCFS 优于 RR? + +
+ 答案: + + SRTF(最短剩余时间调度)具有最佳平均响应时间的调度。 + + FCFS 在吞吐量指标上优于 RR,也节省了上下文切换的开销。 + +
+ + *** + +3. 某系统的线程有 3 个状态分别是 Ready,Running 和 Waiting,请列出所有可能的转化情况和典型条件。 + +
+ 答案: + + 1. Ready->Running:当进程调度程序从就绪队列中选取一个进程投入运行; + + 2. Running->Ready:正在执行的进程如因时间片用完而被暂停执行; + + 3. Running->Waiting:正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成 I/O); + + 4. Waiting->Ready:当进程等待的事件发生时(如 I/O 完成)。 + +
+ +*** + +### 四、综合题(35 分) + +1. (10 分)下面有三段程序,对每段程序,判断在程序的所有进程结束后,file.txt 可能的内容是?(多选) + + A. (空) + + B. a + + C. b + + D. aa + + E. ab + + F. ba + + G. bb + + 提示: + + - open、fopen、fork、pthread_create、malloc、realloc 调用默认成功。 + - read、write、dup、dup2 调用默认成功(如果文件描述符参数合法)。 + - 必要的头文件已包含。 + - file.txt 初始为空。 + - 所有进程都能进展,但对调度先后没有预设。 + + **程序一:** + + ```c + int main(int argc, char** argv) + { + if (fork() == 0) { + int fd1 = open("file.txt", O_WRONLY); + write(fd1, "a", 1); + } else { + int fd2 = open("file.txt", O_WRONLY); + write(fd2, "b", 1); + } + } + ``` + +
+ 答案: + + BC + +
+ + **程序二:** + + ```c + char buffer; + + int main(int argc, char** argv) + { + int fd = open("file.txt", O_WRONLY); + if (fork() == 0) { + buffer = 'a'; + } else { + buffer = 'b'; + } + write(fd, &buffer, 1); + } + ``` + +
+ 答案: + + EF + +
+ + **程序三:** + + ```c + int fd; + + void* helper(void* arg) + { + write(fd, "a", 1); + } + + int main(int argc, char** argv) + { + fd = open("file.txt", O_WRONLY); + pthread_t thread; + pthread_create(&thread, NULL, helper, NULL); + write(fd, "b", 1); + } + ``` + +
+ 答案: + + CEF + +
+ + *** + +2. (25 分,每小题 5 分)阅读以下 C 程序,回答相应死锁与调度的问题。 + + ```c + pthread_mutex_t x, y, z; + + void* a(void* arg) + { + pthread_mutex_lock(&y); + pthread_mutex_lock(&z); + pthread_mutex_unlock(&y); + pthread_mutex_unlock(&z); + return NULL; + } + + void* b(void* arg) + { + pthread_mutex_lock(&z); + pthread_mutex_lock(&x); + pthread_mutex_unlock(&z); + pthread_mutex_unlock(&x); + return NULL; + } + + void* c(void* arg) + { + pthread_mutex_lock(&x); + pthread_mutex_lock(&y); + pthread_mutex_unlock(&x); + pthread_mutex_unlock(&y); + return NULL; + } + + int main(int argc, char** argv) + { + pthread_mutex_init(&x, NULL); + pthread_mutex_init(&y, NULL); + pthread_mutex_init(&z, NULL); + + pthread_t a_thread, b_thread, c_thread; + + pthread_create(&a_thread, NULL, a, NULL); + pthread_create(&b_thread, NULL, b, NULL); + pthread_create(&c_thread, NULL, c, NULL); + + pthread_join(&a_thread, NULL); + pthread_join(&b_thread, NULL); + pthread_join(&c_thread, NULL); + + return 0; + } + ``` + + (1)写出一种导致死锁的执行顺序。执行顺序是指线程获取和释放锁的序列。以类似以下语句序列的形式写出,例如“THREAD 调用 lock_acquire(LOCK)”或“THREAD 调用 lock_release(LOCK)”,其中 THREAD 指 a, b, c 之一,LOCK 指 x, y, z 之一。 + +
+ 答案: + + a 调用 lock_acquire(&y), + + b 调用 lock_acquire(&z), + + c 调用 lock_acquire(&x), + + a 调用 lock_acquire(&z), + + b 调用 lock_acquire(&x), + + c 调用 lock_acquire(&y) + +
+ + (2)在以上你提供的执行顺序中,第一个不安全(unsafe)的状态是什么,它在序列中发生的位置? + +
+ 答案: + + 上述执行顺序中的第一个不安全状态是 a 持有 y、b 持有 z、c 持有 x。它出现在前三个语句之后。 + +
+ + (3)是否可以通过改变每个线程解锁互斥锁的顺序来解决死锁?(如是请写出;如否请解释) + +
+ 答案: + + 不,因为死锁发生在任何线程解锁互斥锁之前。 + +
+ + (4)假设底层操作系统使用 FCFS 调度程序。对于这个特定的调度程序,程序容易死锁吗?(如是请写出;如否请解释) + +
+ 答案: + + 不。FCFS 调度程序会运行每个线程直到结束。因此,锁没有竞争问题(所有锁操作都不会阻塞)。 + +
+ + (5)使用抢占式线程调度程序会消除死锁的可能性吗? + +
+ 答案: + + 不,不会消除死锁的可能性。虽然抢占式调度程序会从线程抢占 CPU,但它不会抢占他们持有的锁。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..931af94 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1438 @@ +--- +title: 2021-2022学年下学期期末 +--- + +## 2021-2022学年下学期期末试卷(A) + +### 一、选择题 + +1. ( )不是操作系统的功能。 + + A. CPU 管理 + + B. 存储管理 + + C. 网络管理 + + D. 数据管理 + +
+ 答案: + + C + +
+ + *** + +2. 计算机开机后,操作系统最终被加载到( )。 + + A. BIOS + + B. ROM + + C. EPROM + + D. RAM + +
+ 答案: + + D + +
+ + *** + +3. 要实现两个进程互斥,设一个互斥信号量 `mutex`,当 `mutex` 为 0 时,表示( )。 + + A. 没有进程进入临界区 + + B. 有一个进程进入临界区 + + C. 有一个进程进入临界区,另外一个进程在等候 + + D. 两个进程都进入临界区 + +
+ 答案: + + B + +
+ + *** + +4. 与单道程序相比,多道程序系统的优点是( ) + + I. CPU 利用率高 + + II. 系统开销小 + + III. 系统吞吐量大 + + IV. I/O 设备利用率高 + + A. 仅 I、III + + B. 仅 I、IV + + C. 仅 II、III + + D. 仅 I、III、IV + +
+ 答案: + + D + +
+ + *** + +5. 为多道程序提供的共享资源不足时,可能会产生死锁,但是,不当的( )也可能产生死锁。 + + A. 进程调度顺序 + + B. 进程的优先级 + + C. 时间片大小 + + D. 进程推进顺序 + +
+ 答案: + + D + +
+ + *** + +6. 下列关于 SPOOLing 技术的叙述中,错误的是( ) + + A. 需要外存的支持 + + B. 需要多道程序设计技术的支持 + + C. 可以让多个作业共享一台独占设备 + + D. 由用户作业控制设备与输入/输出之间的数据传送 + +
+ 答案: + + D + +
+ + *** + +7. 用户程序发出磁盘 I/O 请求后,系统的正确处理流程是( ) + + A. 用户程序→系统调用处理程序→中断处理程序→设备驱动程序 + + B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序 + + C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序 + + D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序 + +
+ 答案: + + B + +
+ + *** + +8. 已知某磁盘的平均转速为 $r$ 秒/转,平均寻找时间为 $T$ 秒,每个磁道可以存储的字节数为 $N$,现向该磁盘读写 $b$ 字节的数据,采用随机寻道的方法,每道的所有扇区组成一个簇,其平均访问时间是( )。 + + A. $(r+T)b/N$ + + B. $b/NT$ + + C. $r(b/N+T)$ + + D. $bT/N+r$ + +
+ 答案: + + A + +
+ + *** + +9. 某文件系统的簇和磁盘块大小分别为 $1KB$ 和 $512B$,若一个文件的大小为 $1026B$,则系统分配给该文件的磁盘空间大小是( )。 + + A. $1026B$ + + B. $1536B$ + + C. $1538B$ + + D. $2048B$ + +
+ 答案: + + D + +
+ + *** + +10. 当系统发生抖动(Trashing)时,可以采取的有效措施是( )。 + + I. 撤销部分进程 + + II. 增大磁盘交换区的容量 + + III. 提高用户进程的优先级 + + A. 仅 I + + B. 仅 II + + C. 仅 III + + D. 仅 I、II + +
+ 答案: + + A + +
+ + *** + +11. 系统为某进程分配了 4 个页框,该进程已访问的页号序列为 2,0,2,9,3,4,2,8,2,4,8,4,5,若进程要访问的下页的页号为 7,依据 LRU 算法,应淘汰的页号是( )。 + + A. 2 + + B. 3 + + C. 4 + + D. 8 + +
+ 答案: + + A + +
+ + *** + +12. 要保证一个程序在主存中被改变了存放位置后仍能正确地执行,则对主存空间应采用( )技术。 + + A. 静态重定位 + + B. 动态重定位 + + C. 动态分配 + + D. 静态分配 + +
+ 答案: + + B + +
+ + *** + +### 二、填空题 + +13. 当多个线程协作完成一项任务时,线程间必须通过 $\underline{\qquad}$ 来实现协作工作。 + +
+ 答案: + + PV 操作 + +
+ + *** + +14. 在 $\underline{\qquad}$ 和 $\underline{\qquad}$ 存储管理中,页式存储管理提供的逻辑地址是连续的。 + +
+ 答案: + + 页式、段式 + +
+ + *** + +15. 可靠的信箱通信规则是:若发送信件时信箱已满,则发送进程被置成等信箱状态,直到信箱不满时才被释放。若取信件时信箱中无信,则接收进程被置成 $\underline{\qquad}$ 状态,直到有信件时才被释放。 + +
+ 答案: + + 等信件 + +
+ + *** + +16. UNIX 系统规定用户使用文件的权限是读、$\underline{\qquad}$ 和 $\underline{\qquad}$ 三种。 + +
+ 答案: + + 写、执行 + +
+ + *** + +17. 死锁的形成,除了与资源的 $\underline{\qquad}$ 有关外,也与并发进程的 $\underline{\qquad}$ 有关。 + +
+ 答案: + + 分配策略(或管理方法)、执行速度(或调度策略) + +
+ + *** + +18. 对于移动臂磁盘,磁头在移动臂的带动下,移动到指定柱面的时间称 $\underline{\qquad}$ 时间,而指定扇区旋转到磁头位置的时间称 $\underline{\qquad}$ 时间。 + +
+ 答案: + + 寻找、延迟 + +
+ + *** + +19. 操作系统中,进程调度通常有先来先服务、$\underline{\qquad}$、$\underline{\qquad}$ 和分级调度算法等调度算法。 + +
+ 答案: + + 优先数调度算法、时间片轮转调度算法 + +
+ + *** + +20. 主存储器与外围设备之间的 $\underline{\qquad}$ 操作称为输入输出操作。 + +
+ 答案: + + 信息传送 + +
+ + *** + +### 三、判断题 + +21. 所谓最近最少使用( ) + +
+ 答案: + + 对 + +
+ + *** + +22. 优先级是进程调度的重要依据,优先数大的进程首先被调度运行。( ) + +
+ 答案: + + 错 + +
+ + *** + +23. 存储保护的目的是限制内存的分配。( ) + +
+ 答案: + + 错 + +
+ + *** + +24. 优先数是进程调度的重要依据,一旦确定不能改变。( ) + +
+ 答案: + + 错 + +
+ + *** + +25. 操作系统的所有程序都必须常驻内存。( ) + +
+ 答案: + + 错 + +
+ + *** + +26. 同一文件系统中不允许文件同名,否则会引起混乱。( ) + +
+ 答案: + + 对 + +
+ + *** + +27. 在页式虚拟存储系统中,页面长度是根据程序长度动态性分配的。( ) + +
+ 答案: + + 错 + +
+ + *** + +28. 不可抢占式动态优先数法一定会引起进程长时间得不到运行。( ) + +
+ 答案: + + 错 + +
+ + *** + +29. 所有进程都挂起时,系统陷入死锁。( ) + +
+ 答案: + + 错 + +
+ + *** + +30. 在请求页式存储管理中,页面淘汰所花费的时间不属于系统开销。( ) + +
+ 答案: + + 错 + +
+ + *** + +31. 用户程序有时也可以在核心态下运行。( ) + +
+ 答案: + + 错 + +
+ + *** + +32. 当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。( ) + +
+ 答案: + + 错 + +
+ + *** + +### 四、名词解释题 + +33. 管程: + +
+ 答案: + + 管程是一种高级同步机制。一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。 + +
+ + *** + +34. 存储设备: + +
+ 答案: + + 它们是指计算机用来存储信息的设备,如磁盘(硬盘和软盘)、磁带等。 + +
+ + *** + +35. 中断响应: + +
+ 答案: + + 发生中断时,CPU 暂停执行当前的程序,转去处理中断这个由硬件对中断请求做出反应的过程,称为中断响应。 + +
+ + *** + +36. 当前目录: + +
+ 答案: + + 为节省文件检索的时间,每个用户可以指定一个目录作为当前工作目录,以后访问文件时,就从这个目录开始向下顺序检索,这个目录就称作“当前目录”。 + +
+ + *** + +37. 路径: + +
+ 答案: + + 在树形目录结构中,从根目录出发经由所需子目录到达指定文件的通路。 + +
+ + *** + +38. 响应时间: + +
+ 答案: + + 是分时系统的一个技术指标,指从用户输入命令到系统对命令开始执行和显示所需要的时间。 + +
+ + *** + +### 五、简答题 + +39. 虚拟存储器的基本特征是什么?虚拟存储器给用户主要受哪两方面的限制? + +
+ 答案: + + 虚拟存储器的基本特征是:①虚拟扩充,即不是物理上而是逻辑上扩充了内存容量;②部分装入,即每个作业不是全部一次性地装入内存,而是只装入一部分;③离散分配,即不必占用连续的内存空间,而是“见缝插针”;多次对换,即所需的全部程序和数据要分成多次调入内存;虚拟存储器的容量主要受到指令中表示地址的字长和外存的容量的限制。 + +
+ + *** + +40. 什么是虚拟存储器,它有什么特点? + +
+ 答案: + + 虚拟存储器是一种存储管理技术,用以完成用小的内存实现大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存中的扩大是以牺牲 CPU 工作时间以及内、外存交换时间为代价的。 + +
+ + *** + +41. 主存空间信息保护有哪些措施? + +
+ 答案: + + ①程序自己不存取该区的信息,允许它既可读,又可写;②共享区域中的信息只可读,不可修改;③非共享区域或非自己的主存区域中的信息既不可读,也不可写。 + +
+ + *** + +42. 处理机调度分为哪三级?各自的主要任务是什么? + +
+ 答案: + + 作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。 + + 进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用 CPU。 + + 交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区。 + +
+ + *** + +43. 系统调用的执行过程分为哪几步? + +
+ 答案: + + 系统调用的执行过程分成以下几步:(1)设置系统调用号和参数;(2)系统调用命令的一般性处理;(3)系统调用命令处理程序完成具体处理。 + +
+ + *** + +44. 一个具有分时兼批处理功能的操作系统应怎样调度和管理作业。 + +
+ 答案: + + 1)优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业。 + + 2)允许终端作业和批处理作业混合同时执行。 + + 3)把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中。 + + 4)让终端作业进程响应时间优先,以保证其按“时间片轮转”法运行。没有终端作业时按响应算法选批处理作业就绪进程运行。 + +
+ + *** + +### 六、综合题 + +45. 假定某计算机系统有 R1 设备 3 台、R2 设备 4 台,它们被 P1、P2、P3 和 P4 这 4 个进程所共享,且已知这 4 个进程均以下面所示的顺序使用现有设备: + + →申请 R1→申请 R2→申请 R1→释放 R1→释放 R2→释放 R1→ + + 1)系统运行过程中是否有产生死锁的可能?为什么? + + 2)如果有可能产生死锁,请列举一种情况,并画出表示该死锁状态的进程-资源图。 + +
+ 答案: + + 1)系统运行过程中有可能产生死锁。根据题意,系统中只有 3 台 R1 设备,它们受被 4 个进程共享,且每个进程对 R1 设备的最大需求为 2,由于 R1 设备数量不足,而且它又是一个互斥、不可剥夺的资源,而系统又没采取任何措施破坏死锁产生的剩余两个必要条件,请求与保持条件和环路等待条件,因此,在系统运行过程中可能会发生死锁。 + + 2)P1、P2、P3 进程各得到一个 R1 设备时,它们可继续运行,并均可顺利地申请到一个 R2 设备;当第一次申请 R1 设备时,因为系统已无空闲的 R1 设备,故它们全部阻塞,并进入循环等待的死锁状态。这种死锁状态下的进程-资源图如下所示。 + + ![第45题资源分配图答案](./images/2021-2022学年下学期期末_A_综合题_第45题_资源分配图_答案.png) + +
+ + *** + +46. 设有 P1、P2、P3,三个进程共享某一资源 F,P1 对 F 只读不写,P2 对 F 只写不读,P3 对 F 先读后写。当一个进程写 F 时,其他进程对 F 不能进行读写,但多个进程同时读 F 是允许的。使用 PV 操作正确实现 P1、P2、P3 三个进程的同步互斥。要求:并发性从大到小对上述 3 种办法进行排序。 + +
+ 答案: + + :::tip + 原参考答案未给出排序内容,仅给出 PV 实现。 + ::: + + 本题实质是“一个读者-写者问题”。P1 是一个读者,P2 是个写者,为了使 F 的并发度较高,将 P3 先看成读者,当其完成读操作后,再将其看成写者。算法中需要用到如下的变量定义: + + ```c + int readcount=0; + + semaphore rmutex=1; + + semaphore mutex=1; + ``` + + 响应进程可描述为:P1() + + ```c + while (1) + + P(rmutex); + + if(readcount==0)P(mutex); + + readcount++ + + V(rmutex); + + READF P(rmutex): + + readcount--; + + if(readcount==0)V(mutex); + + V(rmutex): + + } + + ``` + + P2(): + + ```c + while(1){ + + P(mutex): + + WRITE F + + V(mutex): + + } + + ``` + + P3(){ + + ```c + while(1){ + + P(rmutex) + + if(readcount==0) + + P(mutex); + + readcount++; + + V(rmutex): + + READ FP(rmutex); + + readcount--; + + if(readcount==0)V(mutex): + + V(rmutex); + + P(mutex); + + WRITE F + + V(mutex); + + } + + } + ``` + +
+ + *** + +47. 在 UNIX 操作系统中,给文件分配外存空间采用的是混合索引分配方式,如图所示,UNIX 系统中的某个文件的索引节点指出了为该文件分配的外存的物理块的寻找方法。在该索引节点中,有 10 个直接块(每个直接块都直接指向一个数据块),有一个一级间接块,一个二级间接块以及一个三级间接块,间接块指向的是一个索引块,每个索引块和数据块的大小均为 $4KB$,而 UNIX 系统中地址所占空间为 $4B$(指针大小为 $4B$)。假设以下问题都建立在该索引节点已经在内存中的前提下。 + + 1)文件的大小为多大时可以只用到索引节点的直接块? + + 2)该索引节点能访问到的地址空间大小总共为多大?要求小数点后保留 2 位。 + + 3)若要读取一个文件的第 $10000B$ 的内容,需要访问磁盘多少次? + + 4)若要读取一个文件的第 $10MB$ 的内容,需要访问磁盘多少次? + +
+ 答案: + + 本题考查的是对索引分配方式的理解,只需明白索引分配方式组织外存分配的原理即可。计算其实并不难,其中要牢牢抓住的一点是:索引块其实也是物理块,也需要存储在外存上。 + + 1)对于只用到索引节点的直接块,这个文件应该能全部在 10 个直接块指向的数据块中放下,而数据块的大小为 $4KB$,所以该文件大小应该 $<4KBx10=40KB$,即文件的大小小于或,等于 $40KB$ 时,可以只用到索引节点的直接块。 + + 2)只需要算出索引节点指向的所有数据块的块数,再乘以数据块的大小即可。直接块指向的数据块数 = 10 块。一级间接块指向的索引块里的指针数 = $4KB/4B=1024$ 个,所以一级间接块指向的数据块数为 1024 块。二级间接块指向的索引块里的指针数 = $4KB/4B=1024$ 个,指向的索引块里再拥有 $4KB/4B=1024$ 个指针数。所以二级间接块指向的数据块数 = $(4KB/4B)^2=1024^3$ 块。三级间接块指向的数据块数 = $(4KB/4B)^3=1024^3$ 块。所以,该索引节点能访问到的地址空间大小为 + + $$ + \left(10 + 1 \times \frac{4KB}{4B} + 1 \times \left(\frac{4KB}{4B}\right)^2 + 1 \times \left(\frac{4KB}{4B}\right)^3\right) \times 4KB = 4100GB = 4.00TB + $$ + + 3)因为 $10000B/4KB=2.44$,所以第 $10000B$ 的内容存放在第 3 个直接块中,所以若要读取一个文件的第 $10000B$ 的内容,需要访问磁盘 1 次。 + + 4)因为 $10MB$ 的内容需要数据块数 = $10MB/4KB=2.5K$ 块。直接块和一级间接块指向的数据块数 = $10+(4KB/4B)=1034$ 块 $<2.5K$ 块。直接块和一级间接块以及二级间接块的数据块数,$=10+(4KB/4B)+(4KB/4B)^2>1M$ 块 $>2.5K$ 块。所以第 $10MB$ 的数据应该在二级间接块下属的某个数据块中,所以若要读取一个文件的第 $10MB$ 的内容,需要访问磁盘 3 次。 + +
+ + +*** + +## 2021-2022学年下学期期末试卷(B)(含答案) + +### 一、选择题 + +1. 采用 SPOOLing 技术将磁盘的一部分作为公共缓冲区以代替打印机,用户对打印机的操作实际上是对磁盘的存储操作,用以代替打印机的部分是( )。 + + A. 独占设备 + + B. 共享设备 + + C. 虚拟设备 + + D. 一般物理设备 + +
+ 答案: + + B + +
+ + *** + +2. 操作系统的 I/O 子系统通常由 4 个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是( )。 + + A. 用户级 I/O 软件、设备无关软件、设备驱动程序、中断处理程序 + + B. 用户级 I/O 软件、设备无关软件、中断处理程序、设备驱动程序 + + C. 用户级 I/O 软件、设备驱动程序、设备无关软件、中断处理程序 + + D. 用户级 I/O 软件、中断处理程序、设备无关软件、设备驱动程序 + +
+ 答案: + + A + +
+ + *** + +3. 作业在执行中发生缺页中断,经操作系统处理后应让其执行( )指令。 + + A. 被中断的前一条 + + B. 被中断的那一条 + + C. 被中断的后一条 + + D. 启动时的第一条 + +
+ 答案: + + B + +
+ + *** + +4. 假定某页式管理系统中,主存为 $128\ \text{KB}$,分成 32 块,块号为 0,1,2,3,……,31;某作业有 5 块,其页号为 0,1,2,3,4,被分别装入主存的 3,8,4,6,9 块中。有一逻辑地址为 [3,70]。试求出相应的物理地址(其中方括号中的第一个元素为页号,第二个元素为页内地址,按十进制计算)( )。 + + A. 14646 + + B. 24646 + + C. 24576 + + D. 34576 + +
+ 答案: + + B + +
+ + *** + +5. 在一个操作系统中对内存采用页式存储管理方法,则所划分的页面大小( )。 + + A. 要依据内存大小而定 + + B. 必须相同 + + C. 要依据 CPU 的地址结构而定 + + D. 要依据内存和外存而定 + +
+ 答案: + + B + +
+ + *** + +6. 在下列选项中,( )不属于操作系统提供给用户的可使用资源。 + + A. 中断机制 + + B. 处理机 + + C. 存储器 + + D. I/O 设备 + +
+ 答案: + + A + +
+ + *** + +7. 假设 5 个进程 P0、P1、P2、P3、P4 共享 3 类资源 R1、R2、R3。这些资源总数分别为 18、6、22。$T_0$ 时刻的资源分配情况(见表),此时存在的一个安全序列是( )。 + + ![B卷第7题资源分配表](./images/2021-2022学年下学期期末_B_选择题_第7题_资源分配表.png) + + A. P0, P2, P4, P1, P3 + + B. P1, P0, P3, P4, P2 + + C. P2, P1, P0, P3, P4 + + D. P3, P4, P2, P1, P0 + +
+ 答案: + + D + +
+ + *** + +8. 文件的顺序存取是( )。 + + A. 按终端号依次存取 + + B. 按文件的逻辑号逐一存取 + + C. 按物理块号依次存取 + + D. 按文件逻辑记录大小逐存取 + +
+ 答案: + + B + +
+ + *** + +9. 如果文件采用直接存取方法,且文件大小不固定,则应采用( )物理结构。 + + A. 直接 + + B. 索引 + + C. 随机 + + D. 顺序 + +
+ 答案: + + B + +
+ + *** + +10. 可以被多个进程在任意时刻共享的代码必须是( )。 + + A. 顺序代码 + + B. 机器语言代码 + + C. 不能自身修改的代码 + + D. 无转移指令代码 + +
+ 答案: + + C + +
+ + *** + +11. 有 5 个批处理任务 A、B、C、D、E 几乎同时到达一计算中心。它们预计运行的时间分别是 $10\ \text{min}$,$6\ \text{min}$,$2\ \text{min}$、$4\ \text{min}$ 和 $8\ \text{min}$。其优先级(由外部设定)分别为 3,5,2,1 和 4,这里 5 为最高优先级。下列各种调度算法中,其平均进程周转时间为 $14\ \text{min}$ 的是( )。 + + A. 时间片轮转调度算法 + + B. 优先级调度算法 + + C. 先来先服务调度算法 + + D. 最短作业优先调度算法 + +
+ 答案: + + D + +
+ + *** + +12. 某计算机系统中有 8 台打印机,有 K 个进程竞争使用,每个进程最多需要 3 台打印机,该系统可能会发生死锁的 K 的最小值是( )。 + + A. 2 + + B. 3 + + C. 4 + + D. 5 + +
+ 答案: + + C + +
+ +*** + +### 二、填空题 + +13. 在设备管理中,对磁带机、输入机及打印机等独占设备总是采用 $\underline{\qquad}$ 策略进行分配。 + +
+ 答案: + + 静态分配 + +
+ + *** + +14. 同一进程中的各线程 $\underline{\qquad}$ 进程所占用的资源。 + +
+ 答案: + + 共享 + +
+ + *** + +15. MS-DOS 启动的方式有两种:$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 冷启动、热启动 + +
+ + *** + +16. 操作系统能保证所有的进程 $\underline{\qquad}$,则称系统处于“安全状态”,不会产生 $\underline{\qquad}$。 + +
+ 答案: + + 在有限时间内得到所需全部资源、死锁 + +
+ + *** + +17. 计算机系统中引导程序的作用是 $\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 进行系统初始化工作、把 OS 的核心程序装入主存 + +
+ + *** + +18. 通道把通道程序执行情况记录在 $\underline{\qquad}$ 中;通道完成一次输入输出操作后,以 $\underline{\qquad}$ 方式请求中央处理器进行干预。 + +
+ 答案: + + 通道状态字(或 CSW)、中断(或 I/O 中断) + +
+ + *** + +19. 引起死锁的四个必要条件是 $\underline{\qquad}$、保持和等待、$\underline{\qquad}$、$\underline{\qquad}$。 + +
+ 答案: + + 互斥使用、非剥夺性、循环等待 + +
+ + *** + +20. 对于移动臂磁盘,磁头在移动臂的带动下,移动到指定柱面的时间称 $\underline{\qquad}$ 时间,而指定扇区旋转到磁头位置的时间称 $\underline{\qquad}$ 时间。 + +
+ 答案: + + 寻找、延迟 + +
+ +*** + +### 三、判断题 + +21. 文件系统的主要目的是存储系统文档。( ) + +
+ 答案: + + 错 + +
+ + *** + +22. 引入缓冲的主要目的是提高 I/O 设备的利用率。( ) + +
+ 答案: + + 错 + +
+ + *** + +23. 进程申请 CPU 得不到满足时,其状态变为等待态。( ) + +
+ 答案: + + 错 + +
+ + *** + +24. 存储保护的功能是限制内存存取。( ) + +
+ 答案: + + 对 + +
+ + *** + +25. 由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序。( ) + +
+ 答案: + + 对 + +
+ + *** + +26. 一旦出现死锁,所有进程都不能运行。( ) + +
+ 答案: + + 错 + +
+ + *** + +27. 在文件系统中,打开文件是指创建一个文件控制块。( ) + +
+ 答案: + + 错 + +
+ + *** + +28. 在页式虚拟存储系统中,页面长度是根据程序长度动态地分配的。( ) + +
+ 答案: + + 错 + +
+ + *** + +29. 系统处于不安全状态不一定是死锁状态。( ) + +
+ 答案: + + 对 + +
+ + *** + +30. 不可抢占式动态优先数法一定会引起进程长时间得不到运行。( ) + +
+ 答案: + + 错 + +
+ + *** + +31. 清内存指令只能在管态下执行。( ) + +
+ 答案: + + 对 + +
+ + *** + +32. 如果信号量 S 的当前值为 -5,则表示系统中共有 5 个等待进程。( ) + +
+ 答案: + + 错 + +
+ +*** + +### 四、名词解释题 + +33. 原语: + +
+ 答案: + + 指操作系统中实现一些具有特定功能的程序段,这些程序段的执行过程是不可分割的,即其执行过程不允许被中断。 + +
+ + *** + +34. 断点: + +
+ 答案: + + 发生中断时,被打断程序的暂停点称为断点。 + +
+ + *** + +35. 虚拟设备: + +
+ 答案: + + 它是利用共享设备上的一部分空间来模拟独占设备的一种 I/O 技术。 + +
+ + *** + +36. 物理地址: + +
+ 答案: + + 内存中各存储单元的地址由统一的基地址顺序编址,这种地址称为物理地址。 + +
+ + *** + +37. 当前目录: + +
+ 答案: + + 为节省文件检索的时间,每个用户可以指定一个目录作为当前工作目录,以后访问文件时,就从这个目录开始向下顺序检索。这个目录就称作当前目录。 + +
+ + *** + +38. 死锁防止: + +
+ 答案: + + 要求进程申请资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态。 + +
+ +*** + +### 五、简答题 + +39. 试简述页式存储管理的优缺点。 + +
+ 答案: + + 优点:有效地解决了碎片问题;缺点:程序的最后一页会有浪费空间的现象并且不能应用在分段编写的、非连续存放的大型程序中。 + +
+ + *** + +40. 虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到哪两方面的限制? + +
+ 答案: + + 虚拟存储器的基本特征是:① 虚拟扩充,即不是物理上而是逻辑上扩充了内存容量;② 部分装入,即每个作业不是全部一次性地装入内存,而是只装入一部分;③ 离散分配,即不必占用连续的内存空间,而是“见缝插针”;多次对换,即所需的全部程序和数据要分成多次调入内存;虚拟存储器的容量主要受到指令中表示地址的字长和外存的容量的限制. + +
+ + *** + +41. 系统调用的执行过程分可分为哪几步? + +
+ 答案: + + 系统调用的执行过程分成以下几步:(1)设置系统调用号和参数;(2)系统调用命令的一般性处理;(3)系统调用命令处理程序做具体处理。 + +
+ + *** + +42. 一个具有分时兼批处理功能的操作系统应怎样调度和管理作业。 + +
+ 答案: + + 1)优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业,2)允许终端作业和批处理作业混合同时执行.3)把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中.4)有终端作业进程就绪时,优先让其按“时间片轮转”法先运行.没有终端作业时再按确定算法选批处理作业就绪进程运行 + +
+ + *** + +43. 试述分区管理方案的优缺点。 + +
+ 答案: + + 优点:算法较简单,容易实现,内存开销少,存储保护措施简单.缺点:内存使用不充分,存在较严重的碎片问题, + +
+ + *** + +44. 主存空间信息保护有哪些措施? + +
+ 答案: + + ① 程序自己主存区域的信息,允许它既可读,又可写;② 共享区域中的信息只可读,不可修改;③ 非共享区域或非自己的主存区域中的信息既不可读,也不可写。 + +
+ +*** + +### 六、综合题 + +45. 当前磁盘读写位于柱面号 20,此时有多个磁盘请求以下列柱面号顺序送到磁盘驱动器:10、22、2、40、6、38。在寻道时,移动一个柱面需要 $6\ \text{ms}$,按照先来先服务算法和电梯算法(方向从 0 到 40)计算所需的总寻道时间。 + +
+ 答案: + + 1)先来先服务算法:寻道的次序为 20、10、22、2、40、6、38。总的寻道时间为 $(10+12+20+38+34+32)\times6\ \text{ms}=876\ \text{ms}$. + + 2)电梯算法(方向从 0 到 40):寻道的次序为 20、22、38、40、10、6、2。总的寻道时间为 $(2+16+2+30+4+4)\times6\ \text{ms}=348\ \text{ms}$. + +
+ + *** + +46. 某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。 + + 1)若使用一级页表的分页存储管理方式,逻辑地址结构为: + + ![B卷第46题一级页表地址结构](./images/2021-2022学年下学期期末_B_综合题_第46题_一级页表地址结构.png) + + 2)若使用二级页表的分页存储管理方式,逻辑地址结构为: + + ![B卷第46题二级页表地址结构](./images/2021-2022学年下学期期末_B_综合题_第46题_二级页表地址结构.png) + + 设逻辑地址为 LA. 请分别给出其对应的页目录号和页表索引的表达式。 + + 3)采用 1)中的分页存储管理方式,一个代码段起始逻辑地址为 00008000H,其长度为 $8\ \text{KB}$,被装载到从物理地址 00900000H 开始的连续主存空间中。页表从主存 0020 0000H 开始的物理地址处连续存放,如图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面 2 的起始物理地址。 + + ![B卷第46题页表与代码页面图](./images/2021-2022学年下学期期末_B_综合题_第46题_页表与代码页面图.png) + +
+ 答案: + + 1)因为页内偏移量是 12 位,按字节编址,所以页大小为 $2^{12}\ \text{B}=4\ \text{KB}$,页表项数为 $2^{32}/4K=2^{20}$,又页表项大小为 4 字节,因此一级页表最大为 $2^{20}\times4\ \text{B}=4\ \text{MB}$。 + + 2)页目录号可表示为 `(((unsigned int)(LA)) >> 22) & 0x3FF`。页表索引可表示为 `(((unsigned int)(LA)) >> 12) & 0x3FF`。`&0x3FF` 操作的作用是取后 10 位,页目录号可以不用,因为其右移 22 位后,前面已都为零。页目录号也可以写成 `((unsigned int)(LA)) >> 22`;但页表索引不可,如果两个表达式没有对 LA 进行类型转换,也是可以的。 + + 3)代码页面 1 的逻辑地址为 0000 8000H,写成二进制位 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 前 20 位为页号(对应十六进制的前 5 位,页框号也是如此),即表明其位于第 8 个页处,对应页表中的第 8 个页表项,所以第 8 个页表项的物理地址=页表起始地址+8×页表项的字节数=0 0 2 0 0 0 0 0H+8×4=0020 0020H。由此可得图所示的答案。 + + 即两个页表项的物理地址分别为 0020 0020H 和 0020 0024H。 + + 这两个页表项中的页框号分别为 00900H 和 00901H. + + ![B卷第46题答案图](./images/2021-2022学年下学期期末_B_综合题_第46题_答案图.png) + + 代码页面 2 的起始物理地址为 0090 1000H。 + +
+ + *** + +47. 某系统采用页式存储管理策略,拥有逻辑空间 32 页,每页为 $2\ \text{KB}$,拥有物理空间 $1\ \text{MB}$。 + + 1)写出逻辑地址的格式。 + + 2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? + + 3)如果物理空间减少一半,页表结构应做怎样的改变? + +
+ 答案: + + 1)该系统拥有逻辑空间 32 页,故逻辑地址中页号必须用 5 位来描述,而每页为 $2\ \text{KB}$,因此页内位移必须用 11 位来描述。这样,可得到逻辑地址格式如图所示。 + + ![B卷第47题逻辑地址格式答案图](./images/2021-2022学年下学期期末_B_综合题_第47题_逻辑地址格式答案图.png) + + 2)每个进程最多有 32 个页面,因此进程的页表项最多有 32 项;若不考虑访问权限等,则页表项中需要给出页所对应的物理块号。$1\ \text{MB}$ 的物理空间可分成 $2^9$ 个内存块,故每个页表项至少有 9 位。 + + 3)若物理空间减少一半,则页表中页表项数保持不变,但每项的长度减少 1 位。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index 1d11132..736d982 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -206,12 +206,7 @@ title: 2022-2023学年上学期期末 (3) 若采用时钟(CLOCK)置换算法(第二次机会算法),该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向 2 号页框,示意图如下)。 - 页框示意图: - - - 2 号页框:2 号页 - - 4 号页框:1 号页 - - 7 号页框:0 号页 - - 9 号页框:3 号页 + ![页框示意图](./images/2022-2023学年上学期期末_计算题_第2题_页框示意图.jpg) *** diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.MD" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.MD" index 3fb4308..7700c01 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.MD" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/README.MD" @@ -3,6 +3,123 @@ title: 操作系统 course_code: SE2216 --- +## 2007-2008学年下学期 + +### 试卷 + +- [2007-2008学年下学期期中试卷](./2007-2008学年下学期期中) +- [2007-2008学年下学期期末试卷](./2007-2008学年下学期期末) + +## 2008-2009学年下学期 + +### 试卷 + +- [2008-2009学年下学期期中试卷](./2008-2009学年下学期期中) +- [2008-2009学年下学期期末试卷](./2008-2009学年下学期期末) + +## 2009-2010学年下学期 + +### 试卷 + +- [2009-2010学年下学期期末试卷](./2009-2010学年下学期期末) + +## 2010-2011学年下学期 + +### 试卷 + +- [2010-2011学年下学期期中试卷](./2010-2011学年下学期期中) + +## 2011-2012学年下学期 + +### 试卷 + +- [2011-2012学年下学期期中试卷](./2011-2012学年下学期期中) +- [2011-2012学年下学期期末试卷](./2011-2012学年下学期期末) + +## 2012-2013学年下学期 + +### 试卷 + +- [2012-2013学年下学期期中试卷](./2012-2013学年下学期期中) +- [2012-2013学年下学期期末试卷](./2012-2013学年下学期期末) + +## 2013-2014学年上学期 + +### 试卷 + +- [2013-2014学年上学期期中试卷](./2013-2014学年上学期期中) + +## 2013-2014学年下学期 + +### 试卷 + +- [2013-2014学年下学期期中试卷](./2013-2014学年下学期期中) +- [2013-2014学年下学期期末试卷](./2013-2014学年下学期期末) +- [2013-2014学年下学期月考试卷](./2013-2014学年下学期月考) + +## 2014-2015学年下学期 + +### 试卷 + +- [2014-2015学年下学期期中试卷](./2014-2015学年下学期期中) +- [2014-2015学年下学期月考试卷](./2014-2015学年下学期月考) + +## 2015-2016学年上学期 + +### 试卷 + +- [2015-2016学年上学期期中试卷](./2015-2016学年上学期期中) +- [2015-2016学年上学期期末试卷](./2015-2016学年上学期期末) + +## 2015-2016学年下学期 + +### 试卷 + +- [2015-2016学年下学期月考试卷](./2015-2016学年下学期月考) + +## 2016-2017学年上学期 + +### 试卷 + +- [2016-2017学年上学期期中试卷](./2016-2017学年上学期期中) +- [2016-2017学年上学期月考试卷](./2016-2017学年上学期月考) +- [2016-2017学年上学期期末试卷](./2016-2017学年上学期期末) + +## 2017-2018学年上学期 + +### 试卷 + +- [2017-2018学年上学期期中试卷](./2017-2018学年上学期期中) +- [2017-2018学年上学期月考试卷](./2017-2018学年上学期月考) +- [2017-2018学年上学期期末试卷](./2017-2018学年上学期期末) + +## 2018-2019学年上学期 + +### 试卷 + +- [2018-2019学年上学期期中试卷](./2018-2019学年上学期期中) +- [2018-2019学年上学期月考试卷](./2018-2019学年上学期月考) +- [2018-2019学年上学期期末试卷](./2018-2019学年上学期期末) + +## 2019-2020学年上学期 + +### 试卷 + +- [2019-2020学年上学期期中试卷](./2019-2020学年上学期期中) +- [2019-2020学年上学期期末试卷](./2019-2020学年上学期期末) + +## 2020-2021学年上学期 + +### 试卷 + +- [2020-2021学年上学期期中试卷](./2020-2021学年上学期期中) + +## 2021-2022学年下学期 + +### 试卷 + +- [2021-2022学年下学期期末试卷](./2021-2022学年下学期期末) + ## 2022-2023学年上学期 ### 试卷 @@ -14,10 +131,6 @@ course_code: SE2216 - 很严格的老师 - 实验报告记得认真写 -#### 教学资源 - -- [实践作业报告](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/操作系统/实践作业报告) - ## 推荐教材与参考资料 -- [操作系统资料](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/操作系统/参考资料) +- [推荐教材与参考资料](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2216/推荐教材与参考资料) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2542\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2542\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" new file mode 100644 index 0000000..f6349e6 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2542\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2544\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2544\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" new file mode 100644 index 0000000..93b7ea7 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2544\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_TLB\345\234\260\345\235\200\350\275\254\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_TLB\345\234\260\345\235\200\350\275\254\346\215\242\345\233\276.png" new file mode 100644 index 0000000..4222b1b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2007-2008\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_TLB\345\234\260\345\235\200\350\275\254\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" new file mode 100644 index 0000000..c6fda29 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" new file mode 100644 index 0000000..c6fda29 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2008-2009\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_b_\347\255\224\346\241\210.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_b_\347\255\224\346\241\210.png" new file mode 100644 index 0000000..e9842db Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2009-2010\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_b_\347\255\224\346\241\210.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2545\351\242\230_\345\215\225\350\275\246\351\201\223\346\241\245\345\234\272\346\231\257\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2545\351\242\230_\345\215\225\350\275\246\351\201\223\346\241\245\345\234\272\346\231\257\345\233\276.png" new file mode 100644 index 0000000..47242e5 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2545\351\242\230_\345\215\225\350\275\246\351\201\223\346\241\245\345\234\272\346\231\257\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" new file mode 100644 index 0000000..4856e21 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2546\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\227\256\347\255\224\351\242\230_\347\254\2544\351\242\230_\347\255\224\346\241\210.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\227\256\347\255\224\351\242\230_\347\254\2544\351\242\230_\347\255\224\346\241\210.png" new file mode 100644 index 0000000..090428a Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2011-2012\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\350\256\241\347\256\227\351\227\256\347\255\224\351\242\230_\347\254\2544\351\242\230_\347\255\224\346\241\210.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_i-node\347\273\223\346\236\204\345\233\276_\345\216\237\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_i-node\347\273\223\346\236\204\345\233\276_\345\216\237\345\233\276.png" new file mode 100644 index 0000000..4025af3 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2012-2013\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_i-node\347\273\223\346\236\204\345\233\276_\345\216\237\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" new file mode 100644 index 0000000..9740195 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2014.3_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2014.3_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" new file mode 100644 index 0000000..dd6fb6a Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2014.3_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_\350\247\243\347\255\224\351\242\230_\347\254\2543\351\242\230_i-node\347\273\223\346\236\204\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_\350\247\243\347\255\224\351\242\230_\347\254\2543\351\242\230_i-node\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000..fb915f6 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_\350\247\243\347\255\224\351\242\230_\347\254\2543\351\242\230_i-node\347\273\223\346\236\204\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\255\211\345\276\205\345\233\276_\347\255\224\346\241\210.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\255\211\345\276\205\345\233\276_\347\255\224\346\241\210.png" new file mode 100644 index 0000000..33d9252 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\255\211\345\276\205\345\233\276_\347\255\224\346\241\210.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" new file mode 100644 index 0000000..208b6a2 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_IO\350\277\207\347\250\213\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_IO\350\277\207\347\250\213\345\233\276.png" new file mode 100644 index 0000000..2d428c0 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2013-2014\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_IO\350\277\207\347\250\213\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.3_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276_\347\255\224\346\241\210.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.3_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276_\347\255\224\346\241\210.png" new file mode 100644 index 0000000..65afa1f Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.3_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276_\347\255\224\346\241\210.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.5_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_a_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.5_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_a_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" new file mode 100644 index 0000000..6991af8 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203_2015.5_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_a_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" new file mode 100644 index 0000000..8774563 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" new file mode 100644 index 0000000..591b7c3 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2545\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\347\237\251\351\230\265.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\347\237\251\351\230\265.png" new file mode 100644 index 0000000..5753f98 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\347\237\251\351\230\265.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.jpg" new file mode 100644 index 0000000..dd67f05 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\241\245\346\242\201\347\244\272\346\204\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\241\245\346\242\201\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000..c23e60e Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\241\245\346\242\201\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2543\351\242\230_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2543\351\242\230_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" new file mode 100644 index 0000000..da42280 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\351\227\256\347\255\224\351\242\230_\347\254\2543\351\242\230_\351\241\265\351\235\242\347\275\256\346\215\242\350\277\207\347\250\213.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\344\270\215\345\256\232\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\344\270\215\345\256\232\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" new file mode 100644 index 0000000..04bdbbe Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\344\270\215\345\256\232\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000..e44f7dd Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\345\244\232\347\272\247\345\217\215\351\246\210\351\230\237\345\210\227\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\345\244\232\347\272\247\345\217\215\351\246\210\351\230\237\345\210\227\345\233\276.png" new file mode 100644 index 0000000..b5a0802 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\345\244\232\347\272\247\345\217\215\351\246\210\351\230\237\345\210\227\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\344\272\222\346\226\245\345\205\263\347\263\273\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\344\272\222\346\226\245\345\205\263\347\263\273\345\233\276.png" new file mode 100644 index 0000000..a62667d Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\344\272\222\346\226\245\345\205\263\347\263\273\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\220\214\346\255\245\345\205\263\347\263\273\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\220\214\346\255\245\345\205\263\347\263\273\345\233\276.png" new file mode 100644 index 0000000..6f77dbb Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\220\214\346\255\245\345\205\263\347\263\273\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" new file mode 100644 index 0000000..a1832fb Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_\350\277\233\347\250\213\347\212\266\346\200\201\350\275\254\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\351\227\256\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\260\203\345\272\246\347\244\272\346\204\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\351\227\256\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\260\203\345\272\246\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000..528ceb0 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\351\227\256\347\255\224\351\242\230_\347\254\2542\351\242\230_\350\260\203\345\272\246\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\211\207\345\214\272\347\244\272\346\204\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\211\207\345\214\272\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000..344f8c1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\211\207\345\214\272\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\227\213\350\275\254\350\277\207\347\250\213\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\227\213\350\275\254\350\277\207\347\250\213\345\233\276.png" new file mode 100644 index 0000000..ac75a6b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\243\201\347\233\230\346\227\213\350\275\254\350\277\207\347\250\213\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000..e91c46c Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\226\207\344\273\266\345\222\214IO_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\345\210\206\351\241\265\347\241\254\344\273\266\347\273\223\346\236\204\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" new file mode 100644 index 0000000..264406b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_CPU\344\270\216IO\345\271\266\350\241\214\350\277\207\347\250\213\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\250\213\345\272\217\345\271\266\345\217\221\346\211\247\350\241\214\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\250\213\345\272\217\345\271\266\345\217\221\346\211\247\350\241\214\345\233\276.png" new file mode 100644 index 0000000..0507d19 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2542\351\242\230_\347\250\213\345\272\217\345\271\266\345\217\221\346\211\247\350\241\214\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\344\272\224\347\212\266\346\200\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\344\272\224\347\212\266\346\200\201\345\233\276.png" new file mode 100644 index 0000000..57b7e6b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\277\233\347\250\213\344\272\224\347\212\266\346\200\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\344\270\212\344\270\213\346\226\207\345\210\207\346\215\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\344\270\212\344\270\213\346\226\207\345\210\207\346\215\242\345\233\276.png" new file mode 100644 index 0000000..529f349 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\344\270\212\344\270\213\346\226\207\345\210\207\346\215\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\344\275\277\347\224\250\350\241\250.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\344\275\277\347\224\250\350\241\250.jpg" new file mode 100644 index 0000000..bb828a1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\350\265\204\346\272\220\344\275\277\347\224\250\350\241\250.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\276\250\346\236\220\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\271\266\345\217\221\344\270\216\345\271\266\350\241\214\345\217\202\350\200\203\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\276\250\346\236\220\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\271\266\345\217\221\344\270\216\345\271\266\350\241\214\345\217\202\350\200\203\345\233\276.png" new file mode 100644 index 0000000..7673d0b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\276\250\346\236\220\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230_\345\271\266\345\217\221\344\270\216\345\271\266\350\241\214\345\217\202\350\200\203\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\25445\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276_\347\255\224\346\241\210.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\25445\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276_\347\255\224\346\241\210.png" new file mode 100644 index 0000000..309e25e Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_A_\347\273\274\345\220\210\351\242\230_\347\254\25445\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\345\233\276_\347\255\224\346\241\210.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\270\200\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\270\200\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" new file mode 100644 index 0000000..b1bb788 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\270\200\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\272\214\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\272\214\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" new file mode 100644 index 0000000..3e85106 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\344\272\214\347\272\247\351\241\265\350\241\250\345\234\260\345\235\200\347\273\223\346\236\204.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\347\255\224\346\241\210\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\347\255\224\346\241\210\345\233\276.png" new file mode 100644 index 0000000..17cde11 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\347\255\224\346\241\210\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\351\241\265\350\241\250\344\270\216\344\273\243\347\240\201\351\241\265\351\235\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\351\241\265\350\241\250\344\270\216\344\273\243\347\240\201\351\241\265\351\235\242\345\233\276.png" new file mode 100644 index 0000000..7dbc3e8 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25446\351\242\230_\351\241\265\350\241\250\344\270\216\344\273\243\347\240\201\351\241\265\351\235\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25447\351\242\230_\351\200\273\350\276\221\345\234\260\345\235\200\346\240\274\345\274\217\347\255\224\346\241\210\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25447\351\242\230_\351\200\273\350\276\221\345\234\260\345\235\200\346\240\274\345\274\217\347\255\224\346\241\210\345\233\276.png" new file mode 100644 index 0000000..750e053 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\347\273\274\345\220\210\351\242\230_\347\254\25447\351\242\230_\351\200\273\350\276\221\345\234\260\345\235\200\346\240\274\345\274\217\347\255\224\346\241\210\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" new file mode 100644 index 0000000..3e86769 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_B_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230_\350\265\204\346\272\220\345\210\206\351\205\215\350\241\250.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\351\241\265\346\241\206\347\244\272\346\204\217\345\233\276.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\351\241\265\346\241\206\347\244\272\346\204\217\345\233\276.jpg" new file mode 100644 index 0000000..c6976b1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\351\241\265\346\241\206\347\244\272\346\204\217\345\233\276.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237\345\256\236\350\267\265/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237\345\256\236\350\267\265/README.md" new file mode 100644 index 0000000..b62cd65 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\223\215\344\275\234\347\263\273\347\273\237\345\256\236\350\267\265/README.md" @@ -0,0 +1,19 @@ +--- +title: 操作系统实践 +course_code: SE2213 +--- + +## 2022-2023学年上学期 + +### 郭建 + +- 很严格的老师 +- 实验报告记得认真写 + +#### 教学资源 + +- [实践作业报告](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2213/2022-2023学年上学期/郭建/实践作业报告) + +## 推荐教材与参考资料 + +- [推荐教材与参考资料](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2213/推荐教材与参考资料) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..f2752d4 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,341 @@ +--- +title: 2024-2025学年上学期期中 +--- + +## 2024-2025学年上学期期中试卷(含答案) + +### 一、填空题(20 分,每空 2 分) + +1. $(-126.125)_{10}=(\underline{\qquad})_2=(\underline{\qquad})_{16}=(\underline{\qquad})_{BCD}$。 + +2. $(-56)_{10}$ 用 8 位二进制表示的原码是 $\underline{\qquad}$,补码是 $\underline{\qquad}$。 + +3. 非门可用与非门代替,与非门 $\underline{\qquad}$(能,不能)用非门代替。 + +4. 数字电路中三极管工作在截止或 $\underline{\qquad}$ 状态。 + +5. OC 门称为集电极开路门,多个 OC 门输出端并联到一起可实现 $\underline{\qquad}$ 功能。 + +6. 74LS00 是 $\underline{\qquad}$ 类型的门电路,CC4069 是 $\underline{\qquad}$ 类型的门电路。(填 TTL 或 CMOS) + +
+答案: + +1. $(1111\ 1110.0010)_2$;$(FE.2)_{16}$;$(1\ 0001\ 0010\ 0110.0001\ 0010\ 0101)_{BCD}$ +2. 原码:$10111000$;补码:$11001000$ +3. 能;不能 +4. 饱和 +5. 线与 +6. TTL;CMOS + +常见错误:二进制和十六进制转换时漏写符号位;BCD 码容易写错;原码转补码取反时符号位不变;OC 门常被误填为“与门”或“与非门”。 + +
+ +*** + +### 二、选择题(16 分,每题 2 分) + +1. 欲对 80 个图书馆电脑以二进制编码表示,最少需要二进制的位数是( )。 + + A. 5 + B. 6 + C. 7 + D. 10 + +
+ 答案: + + C + +
+ + *** + +2. 数字电路中除具有高电平、低电平两种状态外,还具有第三态即( )。 + + A. 高阻态 + B. 低阻态 + C. 1 态 + D. 混合态 + +
+ 答案: + + A + +
+ + *** + +3. 与最小项 $ABCD$ 逻辑相邻的最小项有( )个。 + + A. 4 + B. 5 + C. 6 + D. 7 + +
+ 答案: + + A + +
+ + *** + +4. 对于图 1 所示波形,所代表的逻辑关系为( )。 + + ![选择题第4题图](./images/2024-2025学年上学期期中_选择题_第4题.jpg) + + A. 同或关系 + B. 异或关系 + C. 与关系 + D. 与或关系 + +
+ 答案: + + B + +
+ + *** + +5. 图 2 中输出 $F=A'$ 的电路是( )。 + + ![选择题第5题图](./images/2024-2025学年上学期期中_选择题_第5题.jpg) + +
+ 答案: + + D + +
+ + *** + +6. 如右图(图 3)所示的 CMOS 电路的功能是( )。 + + ![选择题第6题图](./images/2024-2025学年上学期期中_选择题_第6题.jpg) + + A. $A+B'$ + B. $AB'$ + C. $A'+B$ + D. $A'B$ + +
+ 答案: + + A + +
+ + *** + +7. 图 4 为某数据选择器构成的函数发生器,其输出逻辑 $Y$ 等于( )。 + + ![选择题第7题图](./images/2024-2025学年上学期期中_选择题_第7题.jpg) + + A. $Y=A+B$ + B. $Y=B$ + C. $Y=AB$ + D. $Y=A$ + +
+ 答案: + + B + +
+ + *** + +8. 逻辑函数 $F_1=\sum m(2,4,5,6)$ 同 $F_2=A\overline{B}+B\overline{C}$ 之间关系为( )。 + + A. 相等 + B. 取反 + C. 对偶 + D. 不确定 + +
+ 答案: + + A + +
+ +*** + +### 三、计算与简答题(24 分,每题 8 分) + +1. 写出下列函数的对偶函数,并化简。 + + $$ + F=((AB)'(CB')'(DA'B')')' + $$ + +
+ 答案: + + 对偶函数为 + + $$ + \begin{aligned} + F^* + &= \left((A+B)' + (C+B')' + (D+A'+B')'\right)' \\ + &= (A+B)(C+\overline{B})(D+\overline{A}+\overline{B}). + \end{aligned} + $$ + + 化简得 + + $$ + \begin{aligned} + F^* + &= ACD+A\overline{B}C+\overline{A}BD+A\overline{B}+BCD+\overline{A}BC \\ + &= ACD+A\overline{B}+BCD+\overline{A}BC \\ + &= A\overline{B}+BCD+\overline{A}BC. + \end{aligned} + $$ + +
+ + *** + +2. 用卡诺图将下列具有约束项的函数化为最简“与或”式。 + + $$ + F(A,B,C,D)=\sum m(0,2,3,5,7,8,10,11)+\sum d(14,15) + $$ + +
+ 答案: + + 卡诺图化简参考: + + ![计算与简答题第2题答案图](./images/2024-2025学年上学期期中_计算与简答题_第2题_答案.jpg) + + $$ + F=\overline{B}\overline{D}+CD+\overline{A}BD + $$ + +
+ + *** + +3. 逻辑函数 $F_1$、$F_2$ 的逻辑图如图 5 所示,试证明 $F_1=F_2$。 + + ![计算与简答题第3题图](./images/2024-2025学年上学期期中_计算与简答题_第3题.jpg) + +
+ 答案: + + 由图可得: + + $$ + F_1=((AB)'(CD)'E')'=AB+CD+E=F_2 + $$ + +
+ +*** + +### 四、分析与设计题(40 分) + +1. (20 分)分析图 6 所示电路,写出 $F$ 的逻辑函数式,并列真值表。其中 74LS151 的外部引脚图和功能表如图 7 所示;2-4 译码器功能类似于图 9 中 3-8 译码器功能。 + + ![分析与设计题第1题图](./images/2024-2025学年上学期期中_分析与设计题_第1题.jpg) + +
+ 答案: + + 图 6 电路分析时需注意:2-4 译码器输出端有圆圈,输出有效时为 0。 + + $$ + \begin{aligned} + D_0&=(A'B')', & D_1&=(A'B)', & D_2&=(AB')', & D_3&=(AB)',\\ + D_4&=(C'B')', & D_5&=(C'B)', & D_6&=(CB')', & D_7&=(CB)'. + \end{aligned} + $$ + + 由 74LS151 功能表可得 + + $$ + \begin{aligned} + F + &=(A'B'C')D_0+(A'B'C)D_1+(A'BC')D_2+(AB'C')D_4\\ + &\quad +(AB'C)D_5+(ABC')D_6+(ABC)D_7\\ + &=A'B'C+A'BC'+A'BC+AB'C+ABC'. + \end{aligned} + $$ + + 真值表为: + + | $A$ | $B$ | $C$ | $F$ | + | --- | --- | --- | --- | + | 0 | 0 | 0 | 0 | + | 0 | 0 | 1 | 1 | + | 0 | 1 | 0 | 1 | + | 0 | 1 | 1 | 1 | + | 1 | 0 | 0 | 0 | + | 1 | 0 | 1 | 1 | + | 1 | 1 | 0 | 1 | + | 1 | 1 | 1 | 0 | + + $$ + F=A'B'C+A'BC'+A'BC+AB'C+ABC' + $$ + + 常见错误:没有读懂图,导致真值表和逻辑表达式写错。 + +
+ + *** + +2. (20 分)某水仓装有大小两台水泵排水,如图 8 所示。试设计一个水泵启动、停止逻辑控制电路。具体要求是:当水位在 H 以上时,大小水泵 $M_L$ 和 $M_S$ 同时开动;水位在 H、M 之间时,只开大泵 $M_L$;水位在 M、L 之间时,只开小泵 $M_S$;水位在 L 以下时,停止排水。 + + 要求: + + 1. 用基本逻辑门电路实现。 + 2. 用 74LS138 和与非门电路实现。已知 74LS138 的功能表和管脚图如图 9 所示。 + + ![分析与设计题第2题图](./images/2024-2025学年上学期期中_分析与设计题_第2题.jpg) + +
+ 答案: + + 设 $H,M,L$ 为 1 表示水位在对应传感器以上,为 0 表示水位在对应传感器以下;$M_L,M_S$ 表示大小水泵,1 表示水泵开,0 表示水泵关。 + + 真值表为: + + | $H$ | $M$ | $L$ | $M_L$ | $M_S$ | + | --- | --- | --- | --- | --- | + | 0 | 0 | 0 | 0 | 0 | + | 0 | 0 | 1 | 0 | 1 | + | 0 | 1 | 0 | x | x | + | 0 | 1 | 1 | 1 | 0 | + | 1 | 0 | 0 | x | x | + | 1 | 0 | 1 | x | x | + | 1 | 1 | 0 | x | x | + | 1 | 1 | 1 | 1 | 1 | + + 基本门电路实现的卡诺图: + + ![分析与设计题第2题答案图1](./images/2024-2025学年上学期期中_分析与设计题_第2题_答案_1.jpg) + + 由卡诺图得: + + $$ + M_L=M,\qquad M_S=H+M'L. + $$ + + 用 74LS138 和与非门实现: + + ![分析与设计题第2题答案图2](./images/2024-2025学年上学期期中_分析与设计题_第2题_答案_2.jpg) + + $$ + M_L=m_3+m_7=(Y_3Y_7)',\qquad M_S=m_1+m_7=(Y_1Y_7)' + $$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/README.md" index 1b0276c..8eb95ed 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/README.md" @@ -3,10 +3,8 @@ title: 数字逻辑 course_code: SE1203 --- +## 2024-2025学年上学期 +### 试卷 -## 真题卷 - -[2024-2025学年上学期期中](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数字逻辑/2024-2025学年上学期期中.pdf) - -[2024-2025学年上学期期中总结_课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数字逻辑/2024-2025学年上学期期中总结_课件.pdf) +- [2024-2025学年上学期期中试卷](./2024-2025学年上学期期中) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2541\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2541\351\242\230.jpg" new file mode 100644 index 0000000..8896d2a Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2541\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230.jpg" new file mode 100644 index 0000000..709717b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_1.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_1.jpg" new file mode 100644 index 0000000..3f28221 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_1.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_2.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_2.jpg" new file mode 100644 index 0000000..9e426b8 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\210\206\346\236\220\344\270\216\350\256\276\350\256\241\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210_2.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210.jpg" new file mode 100644 index 0000000..aa71e88 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2542\351\242\230_\347\255\224\346\241\210.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230.jpg" new file mode 100644 index 0000000..3ed9e62 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\344\270\216\347\256\200\347\255\224\351\242\230_\347\254\2543\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230.jpg" new file mode 100644 index 0000000..fd6a792 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2544\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" new file mode 100644 index 0000000..48632f1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230.jpg" new file mode 100644 index 0000000..363d542 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230.jpg" new file mode 100644 index 0000000..69ddcd2 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\345\255\227\351\200\273\350\276\221/images/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\351\200\211\346\213\251\351\242\230_\347\254\2547\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\345\272\223\347\263\273\347\273\237\345\217\212\345\205\266\345\272\224\347\224\250/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\345\272\223\347\263\273\347\273\237\345\217\212\345\205\266\345\272\224\347\224\250/README.md" index 210bc2d..08460e9 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\345\272\223\347\263\273\347\273\237\345\217\212\345\205\266\345\272\224\347\224\250/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\345\272\223\347\263\273\347\273\237\345\217\212\345\205\266\345\272\224\347\224\250/README.md" @@ -11,4 +11,4 @@ course_code: SE2220 #### 教学资源 -- [部分 PPT](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2220/slides) +- [Slides(部分)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2220/2023-2024学年下学期/姚俊杰/Slides(部分)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\247\221\345\255\246/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\247\221\345\255\246/README.md" index 66ca78f..59a020b 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\247\221\345\255\246/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\247\221\345\255\246/README.md" @@ -5,7 +5,7 @@ course_code: SE3435 ## 2024-2025学年下学期 -### Jeff +### Jeffrey W Sanders - 老师人很好, 讲的也还可以 - 平时每两周有一个课后辅导, 时间段自选, 但是必须去, 要不然没有平时分, 讲的内容大概是他觉得你作业哪里没做好啊啥的会问你的思路, 会给你纠正, 然后问你有没有没弄懂的地方 @@ -14,5 +14,5 @@ course_code: SE3435 #### 教学资源 -- [课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数据科学/2024-2025学年下学期/Jeff/课件) -- [作业(正确性不保证)](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数据科学/2024-2025学年下学期/Jeff/作业) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3435/2024-2025学年下学期/Jeffrey%20W%20Sanders/Slides) +- [Homework(正确性不保证)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3435/2024-2025学年下学期/Jeffrey%20W%20Sanders/Homework(正确性不保证)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..f7b5ec7 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,486 @@ +--- +title: 2024-2025学年下学期期中 +--- + +## 2024-2025学年下学期期中试卷(A)——杜育根 + +### 一、单选题(共 20 题,20 分) + +1. 在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( )。(1.0) + + A. 逻辑结构 + + B. 顺序存储结构 + + C. 链表存储结构 + + D. 以上都不对 + + *** + +2. 数据结构中,在逻辑上可以把数据结构分成( )。(1.0) + + A. 动态结构和静态结构 + + B. 紧凑结构和非紧凑结构 + + C. 线性结构和非线性结构 + + D. 内部结构和外部结构 + + *** + +3. 一个正确的算法应该具有 5 个特性,除输入、输出特性外,另外 3 个特性是( )。(1.0) + + A. 确定性、可行性、有穷性 + + B. 易读性、确定性、有效性 + + C. 有穷性、稳定性、确定性 + + D. 可行性、易读性、有穷性 + + *** + +4. 以下关于数据的逻辑结构的叙述中正确的是( )。(1.0) + + A. 数据的逻辑结构是数据间关系的描述 + + B. 数据的逻辑结构反映了数据在计算机中的存储方式 + + C. 数据的逻辑结构分为顺序结构和链式结构 + + D. 数据的逻辑结构分为静态结构和动态结构 + + *** + +5. 以下数据结构中不属于线性数据结构的是( )。(1.0) + + A. 队列 + + B. 线性表 + + C. 二叉树 + + D. 栈 + + *** + +6. 数据的存储结构是指( )。(1.0) + + A. 数据所占的存储空间量 + + B. 数据的逻辑结构在计算机中的表示 + + C. 数据在计算机中的顺序存储方式 + + D. 存储在外存中的数据 + + *** + +7. 在 $n$ 个结点的顺序表中,算法的时间复杂度是 $O(1)$ 的操作是( )。(1.0) + + A. 访问第 $i$ 个结点($1\le i\le n$)和求第 $i$ 个结点的直接前驱($2\le i\le n$) + + B. 在第 $i$ 个结点后插入一个新结点($1\le i\le n$) + + C. 删除第 $i$ 个结点($1\le i\le n$) + + D. 将 $n$ 个结点从小到大排序 + + *** + +8. 向一个有 127 个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( )。(1.0) + + A. 8 + + B. 63.5 + + C. 63 + + D. 7 + + *** + +9. 若让元素 1, 2, 3, 4, 5 依次进栈,则出栈次序不可能出现在( )种情况。(1.0) + + A. 5, 4, 3, 2, 1 + + B. 2, 1, 5, 4, 3 + + C. 4, 3, 1, 2, 5 + + D. 2, 3, 5, 4, 1 + + *** + +10. 设有一个递归算法如下: + + ```c + int fact(int n) { // n 大于等于 0 + if (n <= 0) return 1; + else return n * fact(n - 1); + } + ``` + + 则计算 `fact(n)` 需要调用该函数的次数为( )。(1.0) + + A. $n+1$ + + B. $n-1$ + + C. $n$ + + D. $n+2$ + + *** + +11. 设栈 $S$ 和队列 $Q$ 的初始状态为空,元素 $e1$、$e2$、$e3$、$e4$、$e5$ 和 $e6$ 依次进入栈 $S$,一个元素出栈后即进入 $Q$,若 6 个元素出队的序列是 $e2$、$e4$、$e3$、$e6$、$e5$ 和 $e1$,则栈 $S$ 的容量至少应该是( )。(1.0) + + A. 2 + + B. 3 + + C. 4 + + D. 6 + + *** + +12. 下述几种排序方法中,要求内存最大的是( )。(1.0) + + A. 希尔排序 + + B. 快速排序 + + C. 归并排序 + + D. 堆排序 + + *** + +13. 下述几种排序方法中,( )是稳定的排序方法。(1.0) + + A. 希尔排序 + + B. 快速排序 + + C. 归并排序 + + D. 堆排序 + + *** + +14. 在寻找 $n$ 个元素中第 $k$ 小元素问题中,如快速排序算法思想,运用分治算法对 $n$ 个元素进行划分,如何选择划分基准?下面( )答案解释最合理。(1.0) + + A. 随机选择一个元素作为划分基准 + + B. 取子序列的第一个元素作为划分基准 + + C. 用中位数的中位数方法寻找划分基准 + + D. 以上皆可行,但不同方法,算法复杂度上界可能不同 + + *** + +15. 使用分治法求解不需要满足的条件是( )。(1.0) + + A. 子问题必须是一样的 + + B. 子问题不能够重复 + + C. 子问题的解可以合并 + + D. 原问题和子问题使用相同的方法解 + + *** + +16. ( )是贪心算法的基本要素。(1.0) + + A. 重叠子问题 + + B. 构造最优解 + + C. 贪心选择性质 + + D. 定义最优解 + + *** + +17. 有一批集装箱要装上一艘载重量为 $C$ 的轮船,其中集装箱 $i$ 的重量为 $W_i$。要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。采用贪心算法的最优装载问题的主要计算量在于将集装箱依其重量从小到大排序,故算法的时间复杂度为( )。(1.0) + + A. $O(n)$ + + B. $O(\log_2 n)$ + + C. $O(n^3)$ + + D. $O(n\log_2 n)$ + + *** + +18. 一棵哈夫曼树共有 215 个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。(1.0) + + A. 107 + + B. 108 + + C. 214 + + D. 215 + + *** + +19. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( )。(1.0) + + A. 贪心选择性质 + + B. 重叠子问题 + + C. 最优子结构性质 + + D. 定义最优解 + + *** + +20. 回溯法在问题的解空间树中,按( )策略,从根结点出发搜索解空间树。(1.0) + + A. 广度优先 + + B. 活结点优先 + + C. 扩展结点优先 + + D. 深度优先 + +*** + +### 二、多选题(共 5 题,10 分) + +21. 数据结构是指互相之间存在着一种或多种关系的数据元素的集合,基本的数据结构通常是( )。(2.0) + + A. 集合结构 + + B. 线性结构 + + C. 树型结构 + + D. 图形结构 + + *** + +22. 算法的基本结构有( )。(2.0) + + A. 顺序结构 + + B. 分支结构 + + C. 循环结构 + + D. 跳跃结构 + + *** + +23. 递归方法一般用来解决哪些类型的问题?( )(2.0) + + A. 数据的定义是按递归定义的 + + B. 问题解法按递归算法实现 + + C. 数据的结构形式是按递归定义的 + + D. 问题的复杂程度超过一般算法能够解决的 + + *** + +24. 用链表表示线性表的优点是( )。(2.0) + + A. 便于插入和删除操作 + + B. 数据元素的物理顺序与逻辑顺序相同 + + C. 花费的存储空间较顺序存储少 + + D. 便于随机存取 + + *** + +25. 算法的实现方式有( )。(2.0) + + A. 子程序 + + B. 函数 + + C. 模块 + + D. 过程 + +*** + +### 三、判断题(共 10 题,10 分) + +26. 数据项是数据的最小单位。( )(1.0) + + *** + +27. 设置数据结构的基本操作的最重要准则是,实现应用程序与存储结构的独立。( )(1.0) + + *** + +28. 数据的逻辑结构与数据元素本身的内容和形式无关。( )(1.0) + + *** + +29. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。( )(1.0) + + *** + +30. 一个算法的语句频度之和为 $T(n)=1024n+4n\log n$,则算法的时间复杂度为 $O(n\log n)$。( )(1.0) + + *** + +31. 顺序存储结构要求连续的存储区域,在存储管理上不够灵活,因此不常用。( )(1.0) + + *** + +32. 抽象数据类型与计算机内部表示和实现无关。( )(1.0) + + *** + +33. 根据算法的时间复杂性,人们常常把算法分成两类:多项式阶算法和指数阶算法。当 $n$ 很大时,可以证明有关系 + $$ + O(1) 1 + y = 0; + while (x >= (y + 1) * (y + 1)) + y++; + ``` + +*** + +### 五、填空题(共 3 题,27 分) + +38. 设计一个顺序存储结构解决约瑟夫问题,有 $n$ 个人($n>0$),编号 $1,2,\ldots,n$,报到 $m$ 的人出圈。要求按出圈顺序输出人员编号。设计的算法是:用 `count` 来计数,`s` 记录报数人编号,当 `count` 数到 $m$ 时,对应报数人出圈,顺序表当前长度 `length` 值减 1,即从表中删除对应元素,后面前移。请填写空缺的语句。(12.0) + + ```cpp + void Josephus(int a[], int n, int m) + { + int s = 0; + for (int length = n; length >= 2; length--) + { + for (int count = 0; count < m - 1; count++) + s = __________1__________; + cout << __________2__________ << endl; + for (int i = s + 1; i < length; i++) + __________3__________; + } + cout << __________4__________; + } + ``` + + *** + +39. 下面程序用递归算法实现一个整数按逆序存到一个字符数组里。如 123 存放成 `"321"` 字符数组。(6.0) + + ```c + #include + + void convert(char *s, int n) + { + int i; + if (i = n / 10) convert(__________1__________, i); + *s = __________2__________; + } + + int main() + { + int number; + char str[10] = ""; + scanf("%d", &number); + convert(str, number); + puts(str); + } + ``` + + *** + +40. 已知二叉树的结构体在 C++ 语言中被定义为: + + ```cpp + struct ListNode { + ListNode* left; + ListNode* right; + int val; + ListNode(int v) : val(v), left(NULL), right(NULL) {} + }; + ``` + + 填写以下函数,该函数完成二叉树的非递归的中序遍历。其中,`stack s` 为标准模板库中的栈。(9.0) + + ```cpp + int visit(ListNode* node) { + stack s; + s.push(node); + while (__________1__________) { + while (NULL != s.top()) { + s.push(__________2__________); + } + ListNode* p = s.top(); + s.pop(); + if (!s.empty()) { + p = s.top(); + s.pop(); + cout << p->val; + s.push(__________3__________); + } + } + return 0; + } + ``` + +*** + +### 六、编程题(2 题,13 分) + +41. 【代码】给定一个二叉树,统计二叉树的叶结点个数。对于没有左儿子或者右儿子的节点,`left` 或者 `right` 为空指针。(5.0) + + *** + +42. 【代码】设线性表 $L=(a_1,a_2,a_3,\ldots,a_{n-2},a_{n-1},a_n)$。采用带头结点的单链表保存,链表中的节点定义如下: + + ```c + typedef struct node { + int data; + struct node *next; + } NODE; + ``` + + 请设计一个空间复杂度为 $O(1)$ 且时间上尽可能高效的算法,重新排列 $L$ 中的各结点,得到线性表 $L'=(a_1,a_n,a_2,a_{n-1},a_3,a_{n-2},\ldots)$。 + + 要求: + + (1) 给出算法的基本设计思想。根据设计思想,采用 C 或 C++ 语言描述算法,关键之处给出注释。(6.0) + + (3) 说明你所设计的算法的时间复杂度。(2.0) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/README.md" index aeddcad..34aa149 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225/README.md" @@ -3,6 +3,13 @@ title: 数据结构与算法 course_code: SE1209 --- +## 2021-2022学年下学期 + +### 杜育根 + +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1209/2021-2022学年下学期/杜育根/Slides) ## 2022-2023学年下学期 @@ -25,14 +32,10 @@ course_code: SE1209 ### 试卷 -- [2024-2025学年下学期期中试卷](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数据结构与算法/2024-2025学年下学期_期中_A_杜育根.pdf) +- [2024-2025学年下学期期中试卷](./2024-2025学年下学期期中) ## 2025-2026学年下学期 ### 试卷 - [2025-2026学年下学期期中试卷](./2025-2026学年下学期期中) - -## 推荐教材与参考资料 - -[2022春课件更新-杜育根](https://drive.vanillaaaa.org/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95-2022-%E6%9D%9C%E8%82%B2%E6%A0%B9) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237/\346\235\234\350\202\262\346\240\271/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237VOJ\347\255\224\346\241\210.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237/\346\235\234\350\202\262\346\240\271/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237VOJ\347\255\224\346\241\210.md" new file mode 100644 index 0000000..5e7c785 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237/\346\235\234\350\202\262\346\240\271/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237VOJ\347\255\224\346\241\210.md" @@ -0,0 +1,5856 @@ +--- +title: 2024-2025学年下学期VOJ答案 +--- + +## [Week 1](https://voj.mobi/contest/333) 20250221 + +### A 两个整数a,b之和 + +```cpp +// 这题用C,CPP会超时 +// https://blog.csdn.net/OOFFrankDura/article/details/79093578 + +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + + int a, b; + for (int i = 0; i < n; i++) { + cin >> a >> b; + cout << a + b << endl; + } +} +``` + +### B 斐波那契数列 + +```cpp +#include + +using namespace std; + +int num(int n); + +int main(void) { + int n; + cin >> n; + cout << num(n); +} + +int num(int n) { + if (n == 1) { + return 1; + } + if (n == 2) { + return 1; + } + + int mod = 1000000007; + int a = 1, b = 1, c; + for (int i = 3; i <= n; i++) { + c = (a + b) % mod; + a = b; + b = c; + } // 防超时 + + return c; +} +``` + +### C 矩阵旋转 + +```cpp +#include + +using namespace std; + +int main(void) { + int n, m; + cin >> n >> m; + + int v[n][m]; + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + cin >> v[i][j]; + } + } + + for (int i = 0; i < m; i++) { + for (int j = n - 1; j >= 0; j--) { + if (j == n - 1) { + cout << v[j][i]; + continue; + } + cout << " " << v[j][i]; + } + cout << endl; + } +} +``` + +### D 最大子阵 + +```cpp +#include + +using namespace std; + +int main(void) { + int m, n; + cin >> m >> n; + + vector> v(m, vector(n)); + for (int i = 0; i < m; i++) { + for (int j = 0; j < n; j++) { + cin >> v[i][j]; + } + } + + for (int i = 0; i < m; i++) { + for (int j = 1; j < n; j++) { + v[i][j] += v[i][j - 1]; + } + } + + long long b[m]; + long long ans = INT_MIN; + for (int i = 0; i < n; i++) { + for (int j = i; j < n; j++) { + for (int k = 0; k < m; k++) { + if (j == 0) { + b[k] = v[k][0]; + } else if (i != 0) { + b[k] = v[k][j] - v[k][i - 1]; + } else if (i == 0){ + b[k] = v[k][j]; + } + } + + vector dp(m, b[0]); + long long mmax = dp[0]; + for (int k = 1; k < m; k++) { + dp[k] = max(dp[k - 1] + b[k], b[k]); + mmax = max(mmax, dp[k]); + } + + ans = max(mmax, ans); + } + } + + cout << ans << endl; +} +``` + +### E 四平方和 + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + for (int a = 0; a * a <= n; a++) { // 没什么好说的,暴力枚举 + for (int b = a; b * b <= n - a * a; b++) { + for (int c = b; c * c <= n - a * a - b * b; c++) { + double d = sqrt(n - a * a - b * b - c * c); + if (!(d - (int)d)) { + cout << a << " " << b << " " << c << " " << (int)d << " " << endl; + return 0; + } + } + } + } +} +``` + +### F A*B问题 + +```cpp +#include + +using namespace std; + +vector multi(vector A, vector B) { + vector C(A.size() + B.size(), 0); + for (int i = 0; i < A.size(); i++) { + for (int j = 0; j < B.size(); j++) { + C[i + j] += A[i] * B[j]; + } + } + + int t = 0; + for (int i = 0; i < C.size(); i++) { + t += C[i]; + C[i] = t % 10; + t /= 10; + } + + while (C.size() > 1 && C.back() == 0) { + C.pop_back(); + } + + return C; +} + +int main(void) { + string a, b; + cin >> a >> b; + + vector A, B; + for (int i = a.size() - 1; i >= 0; i--) { + A.push_back(a[i] - '0'); + } + for (int i = b.size() - 1; i >= 0; i--) { + B.push_back(b[i] - '0'); + } + + vector C = multi(A, B); + + for (int i = C.size() - 1; i >= 0; i--) { + cout << C[i]; + } + cout << endl; +} +``` + +### G 得到整数 X + +```cpp +// 二进制枚举? +// 实际上也是动态规划 +#include + +using namespace std; + +int main(void) { + int n, x; + cin >> n >> x; + vector v(n); + + for (int i = 0; i < n; i++) { + cin >> v[i]; + } + + vector dp(x + 1, 0); + dp[0] = 1; + for (int i = 0; i < n; i++) { + for (int j = x; j >= v[i]; j--) { + dp[j] += dp[j - v[i]]; + } + } + + cout << dp[x]; +} +``` + +--- + +## [Week 2](https://voj.mobi/contest/335) 20250228 + +### A 打印锯齿矩阵(STL) + +```cpp +#include + +using namespace std; + +int main(void) { + int n, m; + cin >> n >> m; + vector> v(n); + for (int i = 0; i < m; i++) { + int a, b; + cin >> a >> b; + v[a - 1].push_back(b); + } + + for (int i = 0; i < n; i++) { + if (v[i].size() == 0) { + cout << " " << endl; + continue; + } + + for (int j = 0; j < v[i].size(); j++) { + cout << v[i][j] << " "; + } + cout << endl; + } +} +``` + +### C 计算集合的并集(STL) + +```cpp +#include + +using namespace std; + +bool search(vector v, int target) { + for (int i = 0; i < v.size(); i++) { + if (v[i] == target) { + return true; + } + } + + return false; +} + +int main(void) { + int n, m; + cin >> n >> m; + vector v1(n); + vector v2(m); + + for (int i = 0; i < n; i++) { + cin >> v1[i]; + } + for (int i = 0; i < m; i++) { + cin >> v2[i]; + } + + for (int i = 0; i < m; i++) { + if (search(v1, v2[i])) { + continue; + } else { + v1.push_back(v2[i]); + } + } + + sort(v1.begin(), v1.end()); + for (int i = 0; i < v1.size(); i++) { + cout << v1[i] << " "; + } + cout << endl; +} +``` + +### D 小明学英语(STL) + +```cpp +#include + +using namespace std; + +bool search(vector v, string target) { + for (int i = 0; i < v.size(); i++) { + if (v[i] == target) { + return true; + } + } + return false; +} + +int main(void) { + int n; + cin >> n; + vector v1; + + for (int i = 0; i < n; i++) { + int status; + cin >> status; + if (status == 0) { + string name; + cin >> name; + transform(name.begin(), name.end(), name.begin(), ::tolower); // 转为小写 + v1.push_back(name); + } else { + string name; + cin >> name; + transform(name.begin(), name.end(), name.begin(), ::tolower); + if (search(v1, name)) { + cout << "Yes" << endl; + } else { + cout << "No" << endl; + } + } + } +} +``` + +### J islands 打炉石传说(二进制枚举) + +```cpp +#include + +using namespace std; + +struct Card { + int cost; + bool d; + int w; +}; + +int main(void) { + int n; + cin >> n; + + Card cards[n]; + for (int i = 0; i < n; i++) { + cin >> cards[i].cost >> cards[i].d >> cards[i].w; + } + + vector dp(11, 0); // i点法力值时的最大攻击力 + for (int i = 0; i < n; i++) { + if (!cards[i].d) { + for (int j = 10; j >= cards[i].cost; j--) { + dp[j] = max(dp[j], dp[j - cards[i].cost] + cards[i].w); + } + } + } + + for (int i = 0; i < n; i++) { + if (cards[i].d) { + for (int j = 10; j >= cards[i].cost; j--) { + dp[j] = max(dp[j], dp[j - cards[i].cost] + cards[i].w); + } + } + } + + int max = INT_MIN; + for (int i = 0; i < 11; i++) { + if (dp[i] > max) { + max = dp[i]; + } + } + + cout << max << endl; +} +``` + +### Q 算法提高 选择排序 + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + vector v(n); + for (int i = 0; i < n; i++) { + cin >> v[i]; + } + + bool sorted = false; + int index = 0; + while (!sorted) { + int a = v[index]; + int minNum = INT_MAX; + int minIndex; + for (int i = index; i < n; i++) { + if (v[i] < minNum) { + minNum = v[i]; + minIndex = i; + } + } + if (minNum == a) { + cout << "swap(a[" << index << "], a[" << index << "]):"; + for (int i = 0; i < n; i++) { + cout << v[i] << " "; + } + cout << endl; + index++; + } else { + swap(v[index], v[minIndex]); + cout << "swap(a[" << index << "], a[" << minIndex << "]):"; + for (int i = 0; i < n; i++) { + cout << v[i] << " "; + } + cout << endl; + index++; + } + if (index == n) { + sorted = true; + } + } +} +``` + +### R 得到整数 X + +```cpp +#include + +using namespace std; + +int main(void) { + int n, m; + cin >> n >> m; + vector v(n); + for (int i = 0; i < n; i++) { + cin >> v[i]; + } + + vector dp(m + 1, 0); + dp[0] = 1; + for (int i = 0; i < n; i++) { + for (int j = m; j >= v[i]; j--) { + dp[j] += dp[j - v[i]]; + } + } + + cout << dp[m] << endl; +} +``` + +--- + +## [Week 3](https://voj.mobi/contest/338) 20250308 + +### A 汉诺塔 + +```cpp +#include +using namespace std; + +long long moveCount(int n) { + if (n == 1) { + return 1; + } + return 1 + 2 * moveCount(n - 1); +} + +long long strengthCost(int n) { + if (n == 1) { + return 1; + } + return n + 2 * strengthCost(n - 1); +} + +int main() { + int n; + cin >> n; + cout << moveCount(n) << " " << strengthCost(n); + return 0; +} +``` + +### B 踏青 + +```cpp +#include +using namespace std; + +int px[4] = {-1, 1, 0, 0}; +int py[4] = {0, 0, -1, 1}; +char map[100][100]; +int vst[100][100] = { 0 }; +int n, m; + +void grass(int x, int y) { + vst[x][y] = 1; + for (int i = 0; i < 4; i++) { + int nx = x + px[i]; + int ny = y + py[i]; + + if (nx >= 0 && nx < n && ny >= 0 && ny < m && vst[nx][ny] == 0 && map[nx][ny] == '#') { + grass(nx, ny); + } + } +} + +int main() { + cin >> n >> m; + int count = 0; + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + cin >> map[i][j]; + } + } + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + if (map[i][j] == '#' && vst[i][j] == 0) { + grass(i, j); + count++; + } + } + } + cout << count; + return 0; +} +``` + +### C 金字塔数独 + +```cpp +#include +using namespace std; + +const int N = 9; +int grid[N][N]; +int scores[N][N] = { + {6, 6, 6, 6, 6, 6, 6, 6, 6}, + {6, 7, 7, 7, 7, 7, 7, 7, 6}, + {6, 7, 8, 8, 8, 8, 8, 7, 6}, + {6, 7, 8, 9, 9, 9, 8, 7, 6}, + {6, 7, 8, 9, 10, 9, 8, 7, 6}, + {6, 7, 8, 9, 9, 9, 8, 7, 6}, + {6, 7, 8, 8, 8, 8, 8, 7, 6}, + {6, 7, 7, 7, 7, 7, 7, 7, 6}, + {6, 6, 6, 6, 6, 6, 6, 6, 6} +}; +int maxScore = -1; + +bool isValid(int x, int y, int num) { + for (int i = 0; i < N; i++) { + if (grid[i][y] == num || grid[x][i] == num) { + return false; + } + } + + int rowStart = 3 * (x / 3); + int colStart = 3 * (y / 3); + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + if (grid[rowStart + i][colStart + j] == num) { + return false; + } + } + } + + return true; +} + +void solve(int x, int y, int totalScore) { + if (x == N) { + maxScore = max(maxScore, totalScore); + return; + } + + int nx = y == N - 1 ? x + 1 : x; + int ny = y == N - 1 ? 0 : y + 1; + if (grid[x][y] == 0) { + for (int i = 1; i < 10; i++) { + if (!isValid(x, y, i)) { + continue; + } + grid[x][y] = i; + solve(nx, ny, totalScore + i * scores[x][y]); + } + grid[x][y] = 0; + } + else { + solve(nx, ny, totalScore + grid[x][y] * scores[x][y]); + } +} + +int main() { + for (int i = 0; i < N; i++) { + for (int j = 0; j < N; j++) { + cin >> grid[i][j]; + } + } + solve(0, 0, 0); + if (maxScore == 0) { + cout << -1 << endl; + } + else { + cout << maxScore << endl; + } + return 0; +} + +``` + +### D 水果店(STL) + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + map> m; + for (int i = 0; i < n; i++) { + string origin; + string fruit; + int sales; + cin >> fruit >> origin >> sales; + m[origin][fruit] += sales; + } + + for (auto& p1 : m) { + cout << p1.first << endl; + for (auto& p2 : p1.second) { + cout << " |----" << p2.first << '(' << p2.second << ')' << endl; + } + } +} +``` + +### E 小明面试(STL) + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + unordered_map m; + for (int i = 0; i < n; i++) { + int a; + cin >> a; + if (m.find(a) != m.end()) { + m[a]++; + } else { + m.insert({a, 1}); + } + } + + int imax = INT_MIN; + for (auto& [key, value] : m) { // 注意迭代器 + imax = max(value, imax); + } + + int mmax = INT_MIN; + for (auto& [key, value] : m) { + if (value == imax) { + mmax = max(mmax, key); + } + } + cout << mmax << ' ' << imax << endl; +} +``` + +### F 网页跳转 + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + stack backStack, forwardStack; + string current = "Ignore"; + for (int i = 0; i < n; i++) { + string action; + cin >> action; + if (action == "VISIT") { + string url; + cin >> url; + cout << url << endl; + if (current != "Ignore") { + backStack.push(current); + } + current = url; + while (!forwardStack.empty()) { + forwardStack.pop(); + } + } else if (action == "BACK") { + if (backStack.empty()) { + cout << "Ignore" << endl; + } else { + forwardStack.push(current); + current = backStack.top(); + backStack.pop(); + cout << current << endl; + + } + } else if (action == "FORWARD") { + if (forwardStack.empty()) { + cout << "Ignore" << endl; + } else { + backStack.push(current); + current = forwardStack.top(); + forwardStack.pop(); + cout << current << endl; + } + } + } +} +``` + +### G 幼儿园买玩具(二进制枚举) + +```cpp +#include +using namespace std; + +int main() { + int n, m, k; + int result = 0; + int list[101][16]; + cin >> n >> m >> k; + + for (int i = 0; i < n; i++) { + cin >> list[i][0]; + for (int j = 1; j <= list[i][0]; j++) { + cin >> list[i][j]; + } + } + + for (int i = 0; i < (1 << k); i++) { + int flag[16] = {0}; + int count = 0; + int num = 0; + for (int j = 0; j < k; j++) { + if (i & (1 << j)) { + num++; + flag[j + 1] = 1; + } + } + for (int x = 0; x < n; x++) { + bool a = true; + for (int y = 1; y <= list[x][0]; y++) { + if (flag[list[x][y]] == 0) { + a = false; + } + } + if (a) + count++; + } + if (count > result && num <= m) { + result = count; + } + } + + cout << result; + return 0; +} +``` + +### H 约瑟夫环问题(循环链表) + +```cpp +#include + +using namespace std; + +int main(void) { + int n, m; + cin >> n >> m; + list l; + for (int i = 1; i <= n; i++) { + l.push_back(i); + } + + auto it = l.begin(); + while (l.size() > 1) { + for (int i = 1; i < m; i++) { + it++; + if (it == l.end()) { + it = l.begin(); + } + } + + cout << *it << " "; + it = l.erase(it); + if (it == l.end()) { + it = l.begin(); + } + } + cout << *l.begin() << endl; +} +``` + +### I n个最小和(STL) + +```cpp +#include + +using namespace std; + +struct Node { + int sum, i, j; + bool operator>(const Node &other) const { + return sum > other.sum; + } +}; + +vector kSmallestSums(vector &A, vector &B, int n) { + sort(A.begin(), A.end()); + sort(B.begin(), B.end()); + + priority_queue, greater> minHeap; + set> visited; + + minHeap.push({A[0] + B[0], 0, 0}); + visited.insert({0, 0}); + + vector result; + + while (n--) { + Node cur = minHeap.top(); + minHeap.pop(); + result.push_back(cur.sum); + + int i = cur.i, j = cur.j; + + if (i + 1 < A.size() && !visited.count({i + 1, j})) { + minHeap.push({A[i + 1] + B[j], i + 1, j}); + visited.insert({i + 1, j}); + } + + if (j + 1 < B.size() && !visited.count({i, j + 1})) { + minHeap.push({A[i] + B[j + 1], i, j + 1}); + visited.insert({i, j + 1}); + } + } + + return result; +} + +int main() { + int n; + cin >> n; + vector A(n), B(n); + + for (int i = 0; i < n; i++) cin >> A[i]; + for (int i = 0; i < n; i++) cin >> B[i]; + + vector result = kSmallestSums(A, B, n); + + for (int i = 0; i < result.size(); i++) { + if (i > 0) cout << " "; + cout << result[i]; + } + cout << endl; + + return 0; +} +``` + +### J 字符串的冒泡排序 + +```cpp +#include +using namespace std; + +vector bubbleSortTransform(string sh, const string &ch) { + int n = sh.size(); + vector steps; + + unordered_map countSh, countCh; + for (char c : sh) { + countSh[c]++; + } + for (char c : ch) { + countCh[c]++; + } + if (countSh != countCh) { + return {-1}; + } + + for (int i = 0; i < n; i++) { + if (sh[i] == ch[i]) { + continue; + } + + int pos = i; + while (sh[pos] != ch[i]) pos++; + + for (int j = pos; j > i; j--) { + swap(sh[j], sh[j - 1]); + steps.push_back(j); + } + } + + steps.insert(steps.begin(), steps.size()); + return steps; +} + +int main() { + int n; + string sh, ch; + cin >> n >> sh >> ch; + + vector result = bubbleSortTransform(sh, ch); + + if (result[0] == -1) { + cout << -1 << endl; + } else { + for (int i = 0; i < result.size(); i++) { + if (i > 0) cout << " "; + cout << result[i]; + } + cout << endl; + } + return 0; +} +``` + +### K 插入排序 + +```cpp +#include +#define MAXN 8010 +using namespace std; + +struct node { + int val; + int num; + bool operator>(const node b) const { + if (this->val != b.val) return this->val > b.val; + return this->num > b.num; + } + bool operator<(const node b) const { + if (this->val != b.val) return this->val < b.val; + return this->num < b.num; + } +}; + +node a[MAXN]; +int n, q, type, x, v; +int order[MAXN]; + +void get_order() { + for (int i = 1; i <= n; i++) { + order[a[i].num] = i; + } +} + +void update(int x, int v) { + a[order[x]].val = v; + for (int i = order[x]; i < n; i++) { + if (a[i] > a[i + 1]) { + swap(a[i], a[i + 1]); + } + } + for (int i = order[x]; i > 1; i--) { + if (a[i] < a[i - 1]) { + swap(a[i], a[i - 1]); + } + } + get_order(); +} + +int main() { + freopen("sort.in", "r", stdin); + freopen("sort.out", "w", stdout); + scanf("%d%d", &n, &q); + for (int i = 1; i <= n; i++) { + scanf("%d", &a[i].val); + a[i].num = i; + } + sort(a + 1, a + n + 1); + get_order(); + while (q--) { + scanf("%d", &type); + if (type == 1) { + scanf("%d%d", &x, &v); + update(x, v); + } else { + scanf("%d", &x); + printf("%d\n", order[x]); + } + } + return 0; +} +``` + +--- + +## [Week 4](https://voj.mobi/contest/345) 20250314 + +### A 一维坐标的移动 + +```cpp +#include + +using namespace std; + +int minSteps(int n, int start, int end) { + if (start == end) + return 0; + + vector visited(n + 1, false); + queue> q; + q.push({start, 0}); + + while (!q.empty()) { + int pos = q.front().first; + int steps = q.front().second; + q.pop(); + + if (pos == end) return steps; + + if (pos + 1 <= n && !visited[pos + 1]) { + q.push({pos + 1, steps + 1}); + visited[pos + 1] = true; + } + if (pos - 1 >= 0 && !visited[pos - 1]) { + q.push({pos - 1, steps + 1}); + visited[pos - 1] = true; + } + if (pos * 2 <= n && !visited[pos * 2]) { + q.push({pos * 2, steps + 1}); + visited[pos * 2] = true; + } + } + + return -1; +} + +int main() { + int n, start, end; + cin >> n >> start >> end; + + int result = minSteps(n, start, end); + cout << result << endl; + + return 0; +} +``` + +### B 多机调度问题 + +```cpp +#include + +using namespace std; + +int main() { + int n, m; + vector taxt; + cin >> n >> m; + vector dp(m); + + for (int i = 0; i < n; i++) { + int tmp; + cin >> tmp; + taxt.push_back(tmp); + } + sort(taxt.begin(), taxt.end(), greater()); + if (n <= m) { + cout << taxt[n - 1]; + return 0; + } + else { + for (int j = 0; j < m; j++) { + dp[j] = taxt[j]; + } + for (int j = m; j < n; j++) { + sort(dp.begin(), dp.end()); + dp[0] += taxt[j]; + } + } + + sort(dp.begin(), dp.end(), greater()); + cout << dp[0]; + return 0; +} +``` + +### C 迷瘴 + +```cpp +#include +#include +using namespace std; + +int main() { + int v, n, i; + double w, sum = 0, p = 0, an[105] = {0}; + scanf("%d%d%lf", &n, &v, &w); + for (i = 0; i < n; i++) { + scanf("%lf", &an[i]); + } + sort(an, an + n); + for (i = 0; i < n; i++) { + sum += an[i]; + if (sum / (i + 1) <= w) { + p = sum / (i + 1); + } else { + break; + } + } + if (i == 0) + printf("0 0.00\n"); + else + printf("%d %.2f\n", i * v, p / 100); + return 0; +} +``` + +### D 活动安排 + +```cpp +#include + +using namespace std; + +struct Program { + int start; + int end; +}; + +bool cmp(Program a, Program b) { + return a.end < b.end; +} + +int main() { + int n; + cin >> n; + vector programs(n); + + for (int i = 0; i < n; i++) { + cin >> programs[i].start >> programs[i].end; + } + sort(programs.begin(), programs.end(), cmp); + + int count = 1; + int tmp = programs[0].end; + for (int i = 1; i < n; i++) { + if (programs[i].start >= tmp) { + tmp = programs[i].end; + count++; + } + } + + cout << count; + return 0; +} +``` + +### E 逆序对 + +```cpp +#include +using namespace std; + +int nums[100000]; +long long reverseCount = 0; + +void merge(int sta, int mid, int end) { + int tmp[100000]; + int i = sta; + int j = mid + 1; + int k = sta; + + while (i <= mid && j <= end) { + if (nums[i] > nums[j]) { + reverseCount += mid + 1 - i; + tmp[k++] = nums[j++]; + } + else { + tmp[k++] = nums[i++]; + } + } + while (i <= mid) { + tmp[k++] = nums[i++]; + } + while (j <= end) { + tmp[k++] = nums[j++]; + } + + for (int i = sta; i <= end; i++) { + nums[i] = tmp[i]; + } +} + +void mergeSort(int sta, int end) { + if (sta < end) { + int mid = sta + (end - sta) / 2; + mergeSort(sta, mid); + mergeSort(mid + 1, end); + merge(sta, mid, end); + } +} + +int main() { + int n, k; + cin >> n >> k; + for (int i = 0; i < n; i++) { + cin >> nums[i]; + } + + mergeSort(0, n - 1); + cout << max((long long)0, reverseCount - k); + return 0; +} +``` + +### G Intervals + +```cpp +#include +#include +#include +using namespace std; + +struct Interval { + int start; + int end; +}; + +bool cmp(Interval a, Interval b) { + return a.start < b.start; +} + +int main() { + int n; + int count = 0; + cin >> n; + vector intervals(n); + vector result; + + for (int i = 0; i < n; i++) { + cin >> intervals[i].start >> intervals[i].end; + } + sort(intervals.begin(), intervals.end(), cmp); + + result.push_back(intervals[0]); + for (int i = 1; i < n; i++) { + if (intervals[i].start <= result[count].end) { + result[count].end = max(intervals[i].end, result[count].end); + } + else { + result.push_back(intervals[i]); + count++; + } + } + + for (int i = 0; i <= count; i++) { + cout << result[i].start << " " << result[i].end << endl; + } + return 0; +} +``` + +### H 逃跑 + +```cpp +#include +#include +#include +#include +using namespace std; + +const int N = 110; +int dx[] = { 0, 0, 1, -1, 0 }; +int dy[] = { 1, -1, 0, 0, 0 }; +int pretime = -1; +int n, m, k, d; +bitset vis[N]; +bitset sold[N]; +bitset go[N][N]; + +struct Role { + int x; + int y; + int time; + int d; +}; + +struct Soldier { + char c; + int t; + int v; + int x; + int y; +}soldiers[N]; + +struct Bullet { + int x; + int y; + int v; + char c; +}; + +queue roles; +vector bullets; + +bool isValid(int x, int y) { + return x >= 0 && x <= n && y >= 0 && y <= m; +} + +void bulletUpdate(Bullet& bullet) { + switch (bullet.c) { + case 'N': + bullet.x -= bullet.v; + break; + case 'W': + bullet.y -= bullet.v; + break; + case 'E': + bullet.y += bullet.v; + break; + case 'S': + bullet.x += bullet.v; + break; + } +} + +void update(int time) { + if (pretime == time) { + return; + } + else { + pretime = time; + for (Bullet& bullet : bullets) { + if (!isValid(bullet.x, bullet.y)) { + continue; + } + vis[bullet.x][bullet.y] = 0; + bulletUpdate(bullet); + if (!isValid(bullet.x, bullet.y)) { + continue; + } + vis[bullet.x][bullet.y] = 1; + } + for (int i = 1; i <= k; i++) + { + if (time % soldiers[i].t == 0) { + bullets.push_back({ soldiers[i].x, soldiers[i].y, soldiers[i].v, soldiers[i].c }); + vis[soldiers[i].x][soldiers[i].y] = 1; + } + } + } +} + +void bfs(int x, int y, int time, int d) { + bool flag = false; + roles.push({ x, y, time, d }); + go[x][y] = true; + + while (roles.size()) { + Role role = roles.front(); + roles.pop(); + + if (role.d < m + n - role.x - role.y) { + continue; + } + if (go[n][m][role.time] == 1) { + cout << roles.back().time; + flag = true; + return; + } + for (int i = 0; i < 5; i++) { + int tx = role.x + dx[i]; + int ty = role.y + dy[i]; + update(role.time + 1); + if ((!isValid(tx, ty)) || vis[tx][ty] == 1 || go[tx][ty][role.time] || sold[tx][ty] == 1) { + continue; + } + if (!vis[tx][ty]) { + go[tx][ty][role.time] = 1; + } + roles.push({ tx, ty, role.time + 1, role.d - 1 }); + } + } + + if (!flag) { + cout << "Bad luck!"; + } +} + +void solve() { + cin >> n >> m >> k >> d; + for (int i = 1; i <= k; i++) { + char c; + int t, v, x, y; + cin >> c >> t >> v >> x >> y; + soldiers[i] = { c, t, v, x, y }; + sold[x][y] = 1; + } + for (int i = 1; i <= k; i++) { + bullets.push_back({ soldiers[i].x, soldiers[i].y, soldiers[i].v, soldiers[i].c }); + vis[soldiers[i].x][soldiers[i].y] = 1; + } + + bfs(0, 0, 0, d); +} + +int main() { + int q = 1; + for (int i = 0; i < q; i++) { + solve(); + } + return 0; +} +``` + +### I 小明回家 + +```cpp +#include +#include +#include +using namespace std; + +struct Point { + int x; + int y; + int step; +}; + +char map[2000][2000]; +int px[4] = {-1, 1, 0, 0}; +int py[4] = {0, 0, -1, 1}; +int n, m; + +int stepCount(Point start, Point end) { + int vst[2000][2000] = { 0 }; + queue points; + points.push(start); + vst[start.x][start.y] = 1; + + while (!points.empty()) { + Point tmp = points.front(); + int x = tmp.x; + int y = tmp.y; + int step = tmp.step; + points.pop(); + + if (x == end.x && y == end.y) { + return step; + } + + for (int i = 0; i < 4; i++) { + int nx = x + px[i]; + int ny = y + py[i]; + + if (nx >= 0 && nx < n && ny >= 0 && ny < m && vst[nx][ny] == 0 && map[nx][ny] != '#') { + Point next; + next.x = nx; + next.y = ny; + next.step = step + 1; + points.push(next); + vst[nx][ny] = 1; + } + } + } + + return -1; +} + +int main() { + Point start, key, end; + vector keys; + int keyCount = 0; + int minStep = -1; + cin >> n >> m; + for (int i = 0; i < n; i++) { + for (int j = 0; j < m; j++) { + cin >> map[i][j]; + if (map[i][j] == 'S') { + start.x = i; + start.y = j; + start.step = 0; + } + if (map[i][j] == 'P') { + key.x = i; + key.y = j; + keyCount++; + keys.push_back(key); + } + if (map[i][j] == 'T') { + end.x = i; + end.y = j; + } + } + } + + for (int i = 0; i < keyCount; i++) { + if (stepCount(start, keys[i]) == -1) + continue; + keys[i].step = stepCount(start, keys[i]); + if (stepCount(keys[i], end) == -1) + continue; + minStep = minStep == -1 ? stepCount(keys[i], end) : min(stepCount(keys[i], end), minStep); + } + cout << minStep; + return 0; +} +``` + +--- + +## [Week 5](https://voj.mobi/contest/349) 20250321 + +### A 一元三次方程求解 + +```cpp +#include +#include +using namespace std; + +double A, B, C, D; + +double f(double x) { + return A*x*x*x + B*x*x + C*x + D; +} + +int main() { + cin >> A >> B >> C >> D; + for (int i = -10000; i <= 10000; i++) { + if (f((i - 0.5) / 100) * f((i + 0.5) / 100) < 0 || f((i - 0.5) / 100) == 0) + printf("%.2lf ", i / 100.0); + } + return 0; +} +``` + +### B 循环比赛日程表 + +```cpp +#include +#include +#include +using namespace std; + +int main() { + int M; + cin >> M; + int N = 1 << M; + vector> table(N, vector(N, 0)); + + table[0][0] = 1; + int half = 1; + + for (int k = 0; k < M; k++) { + for (int i = 0; i < (1 << k); i++) { + for (int j = 0; j < (1 << k); j++) { + table[i][j + half] = table[i][j] + half; + table[i + half][j] = table[i][j] + half; + table[i + half][j + half] = table[i][j]; + } + } + half *= 2; + } + + for (int i = 0; i < N; i++) { + for (int j = 0; j < N; j++) { + cout << setw(3) << table[i][j]; + } + cout << endl; + } + + return 0; +} +``` + +### C Entropy + +```cpp +#include +using namespace std; + +int main() +{ + int freq_arr[27]; + string s; + while (cin >> s && s != "END") + { + int total = 0; + int sum = 0; + priority_queue, greater > q; + memset(freq_arr, 0, sizeof(freq_arr)); + int n = s.size(); + for (int i = 0; i < n; i++) + { + if (s[i] == '_') + { + freq_arr[26]++; + } + else + { + freq_arr[s[i] - 'A']++; + } + } + for (int i = 0; i < 27; i++) + { + if (freq_arr[i]) + { + q.push(freq_arr[i]); + } + } + if (q.size() == 1) + { + total = q.top(); + printf("%d %d %.1lf\n", n * 8, n * 1, (double)8/1); + } + else + { + while (q.size() > 1) + { + sum = 0; + sum += q.top(); + q.pop(); + sum += q.top(); + q.pop(); + q.push(sum); + total += sum; + } + printf("%d %d %.1lf\n", n * 8, total, (double)n * 8 / total); + } + } + + return 0; +} +``` + +### D 小明的购物袋1 + +```cpp +#include + +using namespace std; + +int main(void) { + int V; + int n; + cin >> V >> n; + + vector v(n); + for (int i = 0; i < n; i++) { + cin >> v[i]; + } + + vector> dp(n + 1, vector(V + 1, 0)); + for (int i = 1; i < n + 1; i++) { + for (int j = 0; j <= V; j++) { + if (v[i - 1] <= j) { + dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i - 1]] + v[i - 1]); + } else { + dp[i][j] = dp[i - 1][j]; + } + } + } + cout << V - dp[n][V] << endl; +} +``` + +### E 小明的购物袋2 + +```cpp +#include + +using namespace std; + +int main(void) { + int V, n; + cin >> V >> n; + vector> v(n); + for (int i = 0; i < n; i++) { + cin >> v[i].first >> v[i].second; + } + + vector> dp(n + 1, vector(V + 1, 0)); + + for (int i = 1; i < n + 1; i++) { + for (int j = 0; j < V + 1; j++) { + if (j < v[i - 1].first) { + dp[i][j] = dp[i - 1][j]; + } else { + dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i - 1].first] + v[i - 1].second); + } + } + } + + cout << dp[n][V] << endl; +} +``` + +### F 小明的购物袋3 + +```cpp +#include + +using namespace std; + +int main(void) { + int V, n; + cin >> n >> V; + vector> v(n); + for (int i = 0; i < n; i++) { + cin >> v[i].first >> v[i].second; + } + + vector dp(V + 1, 0); + + for (int i = 0; i < n; i++) { + for (int j = v[i].first; j <= V; j++) { + dp[j] = max(dp[j], dp[j - v[i].first] + v[i].second); + } + } + + cout << dp[V] << endl; +} +``` + +--- + +## [Week 6](https://voj.mobi/contest/359) 20250328 + +### A 小明跳木桩 + +```cpp +#include + +using namespace std; + +int main(void) { + int n; + cin >> n; + vector h(n); + for (int i = 0; i < n; i++) { + cin >> h[i]; + } + + vector dp(n, 1); + for (int i = 0; i < n; i++) { + for (int j = 0; j < i; j++) { + if (h[j] >= h[i]) { + dp[i] = max(dp[i], dp[j] + 1); + } + } + } + + int mmax = INT_MIN; + for (int i = 0; i < n; i++) { + mmax = max(mmax, dp[i]); + } + + cout << mmax << endl; +} +``` + +### B 删除最少的元素 + +```cpp +#include +using namespace std; + +int main(){ + int n; + cin >> n; + int dp1[1009]; + int dp2[1009]; + int a[1009]; + int ans = 0; + + for(int i = 0; i < n; i++){ + cin >> a[i]; + } + + for(int i = 0; i < n; i++){ + dp1[i] = 1; + dp2[i] = 1; + } + + for(int i = 1; i < n; i++){ + for(int j = 0; j < i; j++){ + if(a[i] <= a[j]){ + dp1[i] = max(dp1[i], dp1[j] + 1); + } + } + } + + for(int i = n - 2; i >= 0; i--){ + for(int j = n - 1; j > i; j--){ + if(a[i] <= a[j]){ + dp2[i] = max(dp2[i], dp2[j] + 1); + } + } + } + + for(int i = 0; i < n; i++){ + ans = max(ans, dp1[i] + dp2[i] - 1); + } + + cout << n - ans; + + return 0; +} +``` + +### C 最长公共子序列 + +```cpp +#include + +using namespace std; + +int main(void) { + string a, b; + cin >> a >> b; + vector> dp(a.length() + 1, vector(b.length() + 1, 0)); + + for (int i = 1; i <= a.size(); i++) { + for (int j = 1; j <= b.size(); j++) { + if (a[i - 1] == b[j - 1]) { + dp[i][j] = dp[i - 1][j - 1] + 1; + } else { + dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); + } + } + } + + + int mmax = INT_MIN; + for (int i = 0; i < a.size() + 1; i++) { + for (int j = 0; j < b.size() + 1; j++) { + mmax = max(mmax, dp[i][j]); + } + } + + cout << mmax << endl; +} +``` + +### D 回文串 + +```cpp +#include + +using namespace std; + +int main(void) { + string s; + cin >> s; + string s2 = s; + reverse(s2.begin(), s2.end()); + + vector> dp(s.size() + 1, vector(s.size() + 1)); + for (int i = 1; i <= s.size(); i++) { + for (int j = 1; j <= s.size(); j++) { + if (s[i - 1] == s2[j - 1]) { + dp[i][j] = dp[i - 1][j - 1] + 1; + } else { + dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); + } + } + } + + // l = len - lcs + cout << s.length() - dp[s.size()][s.size()] << endl; +} +``` + +### E 灌溉机器人 + +```cpp +#include +using namespace std; +#define max_Heap(x) priority_queue, less> +#define min_Heap(x) priority_queue, greater> +typedef long long ll; +typedef unsigned long long ull; +typedef pair PII; +typedef pair PLL; +const double PI = acos(-1); + +int n, m; +char field[106][16]; +vector s[106]; +int dp[106][106][106]; + +int main() +{ + ios::sync_with_stdio(0); + cin.tie(0); + cout.tie(0); + + unordered_map mp; + + cin >> n >> m; + for (int i = 1; i <= n; i++) + { + for (int j = 0; j < m; j++) + { + cin >> field[i][j]; + } + } + + for (int i = 1; i <= n; i++) + { + for (int j = 0; j < (1 << m); j++) + { + bool ok = 1; + for (int k = 0; k < m; k++) + { + if (((j >> k) & 1) && (field[i][k] == 'H')) + { + ok = 0; + break; + } + } + if ((j & (j << 1)) || (j & (j << 2)) || (j & (j >> 1)) || (j & (j >> 2))) + { + ok = 0; + } + if (ok) + s[i].push_back(j); + } + } + + for (int i = 0; i < (1 << m); i++) + { + int cnt = 0; + for (int j = 0; j < m; j++) + { + if ((i >> j) & 1) + cnt++; + } + mp[i] = cnt; + } + + for (int i = 0; i < s[1].size(); i++) + { + dp[1][i][0] = mp[s[1][i]]; + } + + s[0].push_back(0); + + for (int i = 1; i <= n; i++) + { + for (int num3 = 0; num3 < s[i].size(); num3++) + { + int s3 = s[i][num3]; + for (int num2 = 0; num2 < s[i - 1].size(); num2++) + { + int s2 = s[i - 1][num2]; + for (int num1 = 0; num1 < s[i - 2].size(); num1++) + { + int s1 = s[i - 2][num1]; + if (!(s1 & s2) && !(s1 & s3) && !(s2 & s3)) + dp[i][num3][num2] = max(dp[i][num3][num2], dp[i - 1][num2][num1] + mp[s3]); + } + } + } + } + + int ans = 0; + for (int i = 0; i < s[n].size(); i++) + { + for (int j = 0; j < s[n - 1].size(); j++) + { + ans = max(ans, dp[n][i][j]); + } + } + cout << ans; + + return 0; +} +``` + +### F 小明的积木 + +```cpp +#include +using namespace std; +#define max_Heap(x) priority_queue, less> +#define min_Heap(x) priority_queue, greater> +typedef long long ll; +typedef unsigned long long ull; +typedef pair PII; +typedef pair PLL; +const double PI = acos(-1); + +int main() +{ + ios::sync_with_stdio(0); + cin.tie(0); + cout.tie(0); + + int capacity, n; + cin >> capacity >> n; + int dp[(1 << n)]; + memset(dp, 0x3f, sizeof(dp)); + vector s(n); + vector w(n); + for (int i = 0; i < n; i++) + { + cin >> s[i] >> w[i]; + } + for (int i = 0; i < (1 << n); i++) + { + int max_s = 0; + int sum_w = 0; + for (int j = 0; j < n; j++) + { + if ((i >> j) & 1) + { + max_s = max(max_s, s[j]); + sum_w += w[j]; + } + } + if (sum_w <= capacity) + { + dp[i] = max_s; + } + else + { + for (int j = ((i - 1) & i); j > 0; j = ((j - 1) & i)) + { + dp[i] = min(dp[i], dp[j] + dp[j ^ i]); + } + } + } + cout << dp[(1 << n) - 1]; + + return 0; +} +``` + +### G 消除字符串 + +```cpp +#include +using namespace std; + +string str; + +bool isReverse(int i) { + string str1; + string str2; + + for (int j = 0; j < 16; j++) { + if ((i >> j) & 1) { + str1 += str[j]; + } + } + str2 = str1; + reverse(str1.begin(), str1.end()); + + return str1 == str2; +} + +int main() { + cin >> str; + int length = str.size(); + vector dp(1 << length, 0); + + for (int i = 1; i < (1 << length); i++) { + dp[i] = isReverse(i) ? 1 : 16; + for (int j = i; j; j = (j - 1) & i) { + dp[i] = min(dp[i], dp[j] + dp[j ^ i]); + } + } + cout << dp[(1 << length) - 1]; + return 0; +} +``` + +--- + +## [Week 8](https://voj.mobi/contest/361) 20250411 + +### A 二叉树中的最低公共祖先 + +```cpp +#include + +using namespace std; +struct Node { + int val; + Node* lchild; + Node* rchild; + Node(int val) : val(val), lchild(NULL), rchild(NULL) {} +}; + +vector inorder; +vector preorder; +map record; + +Node* createTree(vector preorder, vector inorder, int preL, int preR, int inL, int inR) { + if (preL > preR) { + return NULL; + } + + Node* root = new Node(preorder[preL]); + record[preorder[preL]] = root; + int k = inL; + while (inorder[k] != preorder[preL]) { + k++; + } + int numLeft = k - inL; + + root->lchild = createTree(preorder, inorder, preL + 1, preL + numLeft, inL, k - 1); + root->rchild = createTree(preorder, inorder, preL + numLeft + 1, preR, k + 1, inR); + return root; +} + +Node* LCA(Node* root, Node* first, Node* second) { + if (root == NULL || root == first || root == second) { + return root; + } + + Node* left = LCA(root->lchild, first, second); + Node* right = LCA(root->rchild, first, second); + if (left && right) return root; + else if (left) return left; + else return right; +} + +int main() { + int M, N; + cin >> M >> N; + for (int i = 0; i < N; i++) { + int order; + cin >> order; + inorder.push_back(order); + } + for (int i = 0; i < N; i++) { + int order; + cin >> order; + preorder.push_back(order); + } + + Node* root = createTree(preorder, inorder, 0, N - 1, 0, N - 1); + while (M--) { + int u, v; + cin >> u >> v; + if (record.count(u) && record.count(v)) { + Node* lca = LCA(root, record[u], record[v]); + if (lca->val == u) { + cout << u << " is an ancestor of " << v << "." << endl; + } + else if (lca->val == v) { + cout << v << " is an ancestor of " << u << "." << endl; + } + else { + cout << "LCA of " << u << " and " << v << " is " << lca->val << "." << endl; + } + } + else if (record.count(u)) { + cout << "ERROR: " << v << " is not found." << endl; + } + else if (record.count(v)) { + cout << "ERROR: " << u << " is not found." << endl; + } + else { + cout << "ERROR: " << u << " and " << v << " are not found." << endl; + } + } + return 0; +} +``` + +### B FBI 树 + +```cpp +#include + +using namespace std; + +struct Node { + char val; + Node* lchild; + Node* rchild; + Node(char val) : val(val), lchild(NULL), rchild(NULL) {} +}; + +char classify(string str) { + bool contain1 = false; + bool contain0 = false; + + for (int i = 0; i < str.size(); i++) { + if (str[i] == '0') { + contain0 = true; + } + else { + contain1 = true; + } + } + if (contain0 && contain1) { + return 'F'; + } + else if (contain0){ + return 'B'; + } + else { + return 'I'; + } +} + +Node* creatTree(string str) { + char val = classify(str); + int len = str.size(); + + if (len == 0) { + return NULL; + } + + Node* node = new Node(val); + if (len >= 2) { + node->lchild = creatTree(str.substr(0, len / 2)); + node->rchild = creatTree(str.substr(len / 2, len / 2)); + } + return node; +} + +void postorder(Node* node) { + if (node) { + postorder(node->lchild); + postorder(node->rchild); + cout << node->val; + } +} + +int main() { + int N; + string str; + cin >> N >> str; + + Node* root = creatTree(str); + postorder(root); + + return 0; +} +``` + +### C 食物链 + +```cpp +#include + +using namespace std; + +class FoodUnion { +private: + int parent[50000]; + int relation[50000]; + int fakeCount; + int total; + +public: + FoodUnion(int n) { + for (int i = 1; i <= n; ++i) { + parent[i] = i; + relation[i] = 0; + } + fakeCount = 0; + total = n; + } + + int find(int x) { + if (x != parent[x]) { + int root = find(parent[x]); + relation[x] += relation[parent[x]]; + parent[x] = root; + } + return parent[x]; + } + + void unite(int x, int y, int relType) { + relType--; + if (x > total || y > total) { + fakeCount++; + return; + } + if (relType == 1 && x == y) { + fakeCount++; + return; + } + + int rootX = find(x); + int rootY = find(y); + + if (rootX == rootY) { + int delta = ((relation[x] - relation[y]) % 3 + 3) % 3; + if (delta != relType) { + fakeCount++; + } + } else { + parent[rootX] = rootY; + relation[rootX] = relation[y] - relation[x] + relType; + } + } + + int getFakeCount() const { + return fakeCount; + } +}; + +int main() { + int n, k; + cin >> n >> k; + FoodUnion uf(n); + + for (int i = 0; i < k; ++i) { + int type, a, b; + cin >> type >> a >> b; + uf.unite(a, b, type); + } + + cout << uf.getFakeCount() << endl; + return 0; +} +``` + +### D 求二叉树高度 + +```cpp +#include +#include +#include +#include +#include +using namespace std; + +struct TreeNode { + int val; + TreeNode *lchild; + TreeNode *rchild; + TreeNode(int x) : val(x), lchild(NULL), rchild(NULL) {} + }; + +class Solution { +public: + int maxDepth(TreeNode* p) { + int lh,rh,hi; + lh = rh = hi = 0; + if(p != nullptr){ + if(p ->lchild == NULL) lh = 0 ; else lh= maxDepth(p->lchild); + if(p->rchild == NULL) rh= 0 ; else rh= maxDepth(p->rchild); + if (lh > rh) hi = lh + 1; else hi = rh + 1; + } + else hi = 0; + return hi; + } +}; + +void trimLeftTrailingSpaces(string &input) { + input.erase(input.begin(), find_if(input.begin(), input.end(), [](int ch) { + return !isspace(ch); + })); +} + +void trimRightTrailingSpaces(string &input) { + input.erase(find_if(input.rbegin(), input.rend(), [](int ch) { + return !isspace(ch); + }).base(), input.end()); +} + +TreeNode* stringToTreeNode(string input) { + trimLeftTrailingSpaces(input); + trimRightTrailingSpaces(input); + input = input.substr(1, input.length() - 2); + if (!input.size()) { + return nullptr; + } + + string item; + stringstream ss; + ss.str(input); + + getline(ss, item, ','); + TreeNode* root = new TreeNode(stoi(item)); + queue nodeQueue; + nodeQueue.push(root); + + while (true) { + TreeNode* node = nodeQueue.front(); + nodeQueue.pop(); + + if (!getline(ss, item, ',')) { + break; + } + + trimLeftTrailingSpaces(item); + if (item != "null") { + int leftNumber = stoi(item); + node->lchild = new TreeNode(leftNumber); + nodeQueue.push(node->lchild); + } + + if (!getline(ss, item, ',')) { + break; + } + + trimLeftTrailingSpaces(item); + if (item != "null") { + int rightNumber = stoi(item); + node->rchild = new TreeNode(rightNumber); + nodeQueue.push(node->rchild); + } + } + return root; +} + +int main() { + string line; + getline(cin, line); + TreeNode* root = stringToTreeNode(line); + int ret = Solution().maxDepth(root); + string out = to_string(ret); + cout << out << endl; + return 0; +} +``` + +### E 新二叉树 + +```cpp +#include + +using namespace std; + +struct TreeNode { + char val; + TreeNode *left; + TreeNode *right; + TreeNode(char val) : val(val), left(nullptr), right(nullptr) {} +}; + +TreeNode *traversal(TreeNode *node, char val) { + if (node == nullptr) { + return nullptr; + } + if (node->val == val) { + return node; + } + + TreeNode *p = traversal(node->left, val); + if (p == nullptr) { + return traversal(node->right, val); + } + return p; +} + +void traversal2(TreeNode *node) { + if (node == nullptr) { + return; + } + cout << node->val; + traversal2(node->left); + traversal2(node->right); +} + +int main(void) { + int n; + cin >> n; + + TreeNode *root = nullptr; + TreeNode *p = root; + for (int i = 0; i < n; i++) { + char a, b, c; + cin >> a >> b >> c; + if (i == 0) { + root = new TreeNode(a); + } + p = traversal(root, a); + if (b != '*') { + p->left = new TreeNode(b); + } + if (c != '*') { + p->right = new TreeNode(c); + } + } + traversal2(root); + cout << endl; +} +``` + +### F 二叉树遍历 + +```cpp +#include + +using namespace std; + +struct TreeNode { + int val; + TreeNode *left; + TreeNode *right; + TreeNode(int val) : val(val), left(nullptr), right(nullptr) {} +}; + +TreeNode* traversal(vector& pre, vector& middle) { + if (pre.size() == 0) { + return nullptr; + } + int rootVal = pre[0]; + TreeNode *root = new TreeNode(rootVal); + + if (pre.size() == 1) { + return root; + } + + int index = -1; + for (int i = 0; i < middle.size(); i++) { + if (middle[i] == rootVal) { + index = i; + break; + } + } + + vector leftMiddle(middle.begin(), middle.begin() + index); + vector rightMiddle(middle.begin() + index + 1, middle.end()); + + vector leftPre(pre.begin() + 1, pre.begin() + leftMiddle.size() + 1); + vector rightPre(pre.begin() + leftMiddle.size() + 1, pre.end()); + + root->left = traversal(leftPre, leftMiddle); + root->right = traversal(rightPre, rightMiddle); + + return root; +} + +void traversal2(TreeNode *root) { + if (root == nullptr) { + return; + } + + traversal2(root->left); + traversal2(root->right); + cout << root->val << ' '; +} + +int main(void) { + int n; + cin >> n; + vector pre(n); + vector middle(n); + + for (int i = 0; i < n; i++) { + cin >> pre[i]; + } + + for (int i = 0; i < n ; i++) { + cin >> middle[i]; + } + + TreeNode *root = traversal(pre, middle); + + traversal2(root); + cout << endl; +} +``` + +### G 朋友 + +```cpp +#include + +using namespace std; + +class UnionFind { +private: + int father[5000]; + int height[5000]; + +public: + UnionFind(int n) { + for (int i = 1; i <= n; i++) { + father[i] = i; + height[i] = 1; + } + } + + int get(int x) { + if (x == father[x]) { + return x; + } + return father[x] = get(father[x]); + } + + void merge(int x, int y) { + x = get(x); + y = get(y); + + if (x == y) { + return; + } + else { + if (height[x] == height[y]) { + height[x]++; + father[y] = x; + } + else if (height[x] > height[y]) { + father[y] = x; + } + else { + father[x] = y; + } + } + } +}; + +int main() { + int n, m, p; + cin >> n >> m >> p; + UnionFind friends(n); + + for (int i = 0; i < m; i++) { + int x, y; + cin >> x >> y; + friends.merge(x, y); + } + for (int i = 0; i < p; i++) { + int x, y; + cin >> x >> y; + if (friends.get(x) == friends.get(y)) { + cout << "Yes" << endl; + } + else { + cout << "No" << endl; + } + } + + return 0; +} +``` + +### H 网络交友 + +```cpp +#include + +using namespace std; + +class DisjointSet { +private: + unordered_map parent; + unordered_map size; + unordered_map depth; + +public: + void insert(const string& person) { + if (parent.count(person)) return; + parent[person] = person; + size[person] = 1; + depth[person] = 1; + } + + string find(const string& person) { + if (parent[person] != person) { + parent[person] = find(parent[person]); + } + return parent[person]; + } + + void unite(const string& a, const string& b) { + string rootA = find(a); + string rootB = find(b); + + if (rootA == rootB) return; + + if (depth[rootA] < depth[rootB]) { + parent[rootA] = rootB; + size[rootB] += size[rootA]; + } else { + parent[rootB] = rootA; + size[rootA] += size[rootB]; + if (depth[rootA] == depth[rootB]) { + depth[rootA]++; + } + } + } + + int getSize(const string& person) { + return size[find(person)]; + } +}; + +int main() { + int relationCount; + cin >> relationCount; + + DisjointSet network; + + while (relationCount--) { + string person1, person2; + cin >> person1 >> person2; + network.insert(person1); + network.insert(person2); + network.unite(person1, person2); + cout << network.getSize(person1) << endl; + } + + return 0; +} +``` + +--- + +## [Week 9](https://voj.mobi/contest/372/) + +### A 找出所有谎言 + +```cpp +#include +using namespace std; + +const int MAXN = 50010; +int parent[MAXN], rel[MAXN]; + +int findf(int x) { + if (parent[x] != x) { + int p = parent[x]; + parent[x] = findf(p); + rel[x] = (rel[x] + rel[p]) % 3; + } + return parent[x]; +} + +int main() { + ios::sync_with_stdio(false); + cin.tie(NULL); + + int n, k; + cin >> n >> k; + for (int i = 1; i <= n; i++) { + parent[i] = i; + rel[i] = 0; + } + int ans = 0; + while (k--) { + int d, x, y; + cin >> d >> x >> y; + if (x < 1 || x > n || y < 1 || y > n || (d == 2 && x == y)) { + ans++; + continue; + } + int fx = findf(x), fy = findf(y); + if (fx == fy) { + if (d == 1) { + if ((rel[x] - rel[y] + 3) % 3 != 0) ans++; + } else { + if ((rel[x] - rel[y] + 3) % 3 != 1) ans++; + } + } else { + if (d == 1) { + parent[fx] = fy; + rel[fx] = (rel[y] - rel[x] + 3) % 3; + } else { + parent[fx] = fy; + rel[fx] = (rel[y] + 1 - rel[x] + 3) % 3; + } + } + } + cout << ans << endl; + return 0; +} +``` + +### B 接龙 + +```cpp +#include +#include +#include +using namespace std; + +const int MAXN = 30001; + +int parent[MAXN]; +int distance_[MAXN]; +int size_[MAXN]; + +void init() { + for (int i = 1; i <= 30000; ++i) { + parent[i] = i; + distance_[i] = 0; + size_[i] = 1; + } +} + +int find(int x) { + if (parent[x] != x) { + int old_parent = parent[x]; + find(old_parent); + distance_[x] += distance_[old_parent]; + parent[x] = parent[old_parent]; + } + return parent[x]; +} + +void merge(int i, int j) { + int x = find(i); + int y = find(j); + if (x != y) { + parent[x] = y; + distance_[x] = size_[y]; + size_[y] += size_[x]; + } +} + +int main() { + init(); + int T; + scanf("%d", &T); + char op; + int a, b; + while (T--) { + scanf(" %c %d %d", &op, &a, &b); + if (op == 'M') { + merge(a, b); + } else { + int x_root = find(a); + int y_root = find(b); + if (x_root != y_root) { + printf("-1\n"); + } else { + int diff = abs(distance_[a] - distance_[b]); + printf("%d\n", diff - 1); + } + } + } + return 0; +} +``` + +### C 在二叉树上移动 + +```cpp +#include + +using namespace std; + +string handle(string &s) { + string result; + int i = 0; + while (i < s.size()) { + if (i == 0) { + result.push_back(s[i]); + i++; + continue; + } + if (s[i] == 'U') { + if (result.back() == 'L' || result.back() == 'R') { + result.pop_back(); + i++; + continue; + } + } + + result.push_back(s[i]); + i++; + } + + return result; +} + +int main(void) { + ios::sync_with_stdio(false); + cin.tie(0); + unsigned long long N, X; + cin >> N >> X; + string s; + cin >> s; + s = handle(s); + for (char c : s) { + if (c == 'U'){ + X /= 2; + } else if (c == 'L') { + X *= 2; + } else { + X = X * 2 + 1; + } + } + cout << X << endl; +} +``` + +### D 二叉搜索树 + +```cpp +#include +using namespace std; + +struct Node { + int value; + Node* left; + Node* right; + Node(int v) : value(v), left(nullptr), right(nullptr) {} +}; + +Node* createBST(const string& sequence) { + if (sequence.empty()) return nullptr; + + Node* root = new Node(sequence[0] - '0'); + + for (int i = 1; i < sequence.size(); ++i) { + int num = sequence[i] - '0'; + Node* current = root; + Node* previous = nullptr; + + while (current != nullptr) { + previous = current; + if (num < current->value) + current = current->left; + else + current = current->right; + } + + Node* newNode = new Node(num); + if (num < previous->value) + previous->left = newNode; + else + previous->right = newNode; + } + + return root; +} + +bool areIdentical(Node* a, Node* b) { + if (!a && !b) return true; + if (!a || !b) return false; + + return (a->value == b->value) && + areIdentical(a->left, b->left) && + areIdentical(a->right, b->right); +} + +int main() { + int m; + string baseSequence; + cin >> m >> baseSequence; + + Node* referenceTree = createBST(baseSequence); + + while (m--) { + string testSequence; + cin >> testSequence; + + Node* testTree = createBST(testSequence); + cout << (areIdentical(referenceTree, testTree) ? "YES" : "NO") << endl; + } + + return 0; +} +``` + +### E The order of a Tree + +```cpp +#include +#include +using namespace std; + +const int N = 100010; + +int value[N], leftChild[N], rightChild[N], preorderResult[N]; +int nodeCount, totalNodes; + +void insertNode(int rootIndex, int val) { + if (val <= value[rootIndex]) { + if (leftChild[rootIndex]) + insertNode(leftChild[rootIndex], val); + else + leftChild[rootIndex] = totalNodes; + } else { + if (rightChild[rootIndex]) + insertNode(rightChild[rootIndex], val); + else + rightChild[rootIndex] = totalNodes; + } +} + +void preorderTraversal(int index) { + preorderResult[nodeCount++] = value[index]; + if (leftChild[index]) preorderTraversal(leftChild[index]); + if (rightChild[index]) preorderTraversal(rightChild[index]); +} + +int main() { + int n; + while (cin >> n) { + memset(leftChild, 0, sizeof leftChild); + memset(rightChild, 0, sizeof rightChild); + int rootIndex = -1, x; + totalNodes = 0; + + for (int i = 0; i < n; ++i) { + cin >> x; + if (rootIndex == -1) { + value[++rootIndex] = x; + } else { + value[++totalNodes] = x; + insertNode(rootIndex, x); + } + } + + nodeCount = 0; + preorderTraversal(rootIndex); + + cout << preorderResult[0]; + for (int i = 1; i < nodeCount; ++i) + cout << " " << preorderResult[i]; + cout << endl; + } + + return 0; +} +``` + +### F 二叉树 + +```cpp +#include + +using namespace std; + +struct TreeNode { + int val; + TreeNode *left; + TreeNode *right; + TreeNode(int val) : val(val), left(nullptr), right(nullptr) {} +}; + +TreeNode *traversal(vector& in, vector& pre, int inLeft, int inRight, int preLeft, int preRight) { + if (inLeft >= inRight) { + return nullptr; + } + int rootVal = pre[preLeft]; + TreeNode *root = new TreeNode(rootVal); + if (inRight - inLeft == 1) { + return root; + } + int i = 0; + for (i = inLeft; i < inRight; i++) { + if (in[i] == rootVal) { + break; + } + } + + root->left = traversal(in, pre, inLeft, i, preLeft + 1, preLeft + i - inLeft); + root->right = traversal(in, pre, i + 1, inRight, preLeft + i - inLeft + 1, preRight); + return root; +} + +vector v; + +void traversal2(TreeNode *node) { + if (node == nullptr) { + return; + } + traversal2(node->left); + traversal2(node->right); + v.push_back(node->val); +} + +int main(void) { + ios::sync_with_stdio(false); + cin.tie(0); + + int n; + while (cin >> n) { + v.clear(); + vector pre(n); + for (int i = 0; i < n; i++) { + cin >> pre[i]; + } + vector in(n); + for (int i = 0; i < n; i++) { + cin >> in[i]; + } + + TreeNode *root = traversal(in, pre, 0, in.size(), 0, pre.size()); + traversal2(root); + for (int i = 0; i < n - 1; i++) { + cout << v[i] << " "; + } + + cout << v[n - 1] << endl; + } +} +``` + +### G 线索二叉树的中序遍历 + +```cpp +#include +#include +#include +#include +#include +using namespace std; + +struct TreeNode { + int val; + TreeNode *lchild; + TreeNode *rchild; + int ltag; + int rtag; + TreeNode(int x) : val(x),ltag(0),rtag(0), lchild(NULL), rchild(NULL) {} + }; + + +class Solution { +public: + void inorderthread(TreeNode * thr) { + TreeNode * p = thr; + while (p) { + while(p->ltag == 0 && p->lchild) p = p->lchild; + cout << p->val << endl; + while (p->rtag == 1 && p->rchild) { + p = p->rchild; + cout << p->val << endl; + } + p = p->rchild; + } + } +}; + + + + +void trimLeftTrailingSpaces(string &input) { + input.erase(input.begin(), find_if(input.begin(), input.end(), [](int ch) { + return !isspace(ch); + })); +} + +void trimRightTrailingSpaces(string &input) { + input.erase(find_if(input.rbegin(), input.rend(), [](int ch) { + return !isspace(ch); + }).base(), input.end()); +} + + +void inThread(TreeNode *p, TreeNode *&pre){ + if(p){ + inThread(p->lchild, pre); //线索化左子树 + if(p->lchild == NULL){ + p->lchild = pre; + p->ltag = 1; + } + if(pre != NULL && pre->rchild == NULL){ + pre->rchild = p; + pre->rtag = 1; + } + pre = p; + inThread(p->rchild, pre); + } +} + +void createThreadTree(TreeNode * root){ + TreeNode * pre = NULL; + if(root){ + inThread(root, pre); + } +} + + +TreeNode* stringToTreeNode(string input) { + trimLeftTrailingSpaces(input); + trimRightTrailingSpaces(input); + input = input.substr(1, input.length() - 2); + if (!input.size()) { + return nullptr; + } + + string item; + stringstream ss; + ss.str(input); + + getline(ss, item, ','); + TreeNode* root = new TreeNode(stoi(item)); + queue nodeQueue; + nodeQueue.push(root); + + while (true) { + TreeNode* node = nodeQueue.front(); + nodeQueue.pop(); + + if (!getline(ss, item, ',')) { + break; + } + + trimLeftTrailingSpaces(item); + if (item != "null") { + int leftNumber = stoi(item); + node->lchild = new TreeNode(leftNumber); + nodeQueue.push(node->lchild); + } + + if (!getline(ss, item, ',')) { + break; + } + + trimLeftTrailingSpaces(item); + if (item != "null") { + int rightNumber = stoi(item); + node->rchild = new TreeNode(rightNumber); + nodeQueue.push(node->rchild); + } + } + return root; +} + +int main() { + string line; + getline(cin, line); + TreeNode* root = stringToTreeNode(line); + createThreadTree(root); + Solution().inorderthread(root); + //TravIn_Thread_BT(root); + return 0; +} +``` + +--- + +## [Week 10 课上](https://voj.mobi/contest/373/) + +### A Trees on the level + +```cpp +#include +#include +#include +#include +#include +using namespace std; +#define maxn 300 + +struct node { + int val; + bool haveVal; + int l,r; +} tree[300]; +int root,len; +bool ok; + +bool read_input() { + string s; + ok = true; + root = 0,len=1,tree[0].l=-1,tree[0].r=-1,tree[0].haveVal=false; + for (;;) { + if (!(cin>>s))return false; + if (s=="()")return true; + int v,now=root; + sscanf(&s[1], "%d", &v); + int i=s.find(',')+1; + while (s[i] != ')') { + if (s[i] == 'L') { + if (tree[now].l == -1) { + tree[now].l = len++; + tree[tree[now].l].l=-1,tree[tree[now].l].r=-1,tree[tree[now].l].haveVal=false; + } + now = tree[now].l; + } + else{ + if (tree[now].r == -1){ + tree[now].r = len++; + tree[tree[now].r].l=-1,tree[tree[now].r].r=-1,tree[tree[now].r].haveVal=false; + } + now = tree[now].r; + } + i++; + } + if (tree[now].haveVal) { + ok = false; + } + tree[now].val = v; + tree[now].haveVal = true; + } +} + +int main() { + while (read_input()) { + if (!ok) { + cout << "not complete" << endl; + continue; + } + string s=""; + queue q; + q.push(root); + int now; + while (q.size()) { + now = q.front(); q.pop(); + if (!tree[now].haveVal) { + s= "not complete"; + break; + } + else { + if (s == "") + s += to_string(tree[now].val); + else + s += " "+to_string(tree[now].val); + } + if(tree[now].l!=-1)q.push(tree[now].l); + if(tree[now].r!=-1)q.push(tree[now].r); + } + cout << s << endl; + } + return 0; +} +``` + +### C Shaolin + +```cpp +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +#define MAX_N 100006 +int n; +map distanceMap; +map::iterator lowerIt, prevIt; + +int main() { + while (scanf("%d", &n) == 1 && n) { + distanceMap.clear(); + distanceMap[1000000000] = 1; + + for (int i = 0; i < n; i++) { + int x, y; + scanf("%d %d", &x, &y); + + lowerIt = distanceMap.lower_bound(y); + + if (lowerIt == distanceMap.begin()) { + printf("%d %d\n", x, lowerIt->second); + } else { + prevIt = lowerIt; + prevIt--; + + if (abs(y - prevIt->first) <= abs(y - lowerIt->first)) { + printf("%d %d\n", x, prevIt->second); + } else { + printf("%d %d\n", x, lowerIt->second); + } + } + + distanceMap[y] = x; + } + } + return 0; +} +``` + +### D Robotic Sort + +```cpp +#include +#include +#include +using namespace std; +#define N 500006 +#define lc (tr[id].c[0]) +#define rc (tr[id].c[1]) +#define key (tr[tr[root].c[1]].c[0]) +struct tree +{ + int fa,sum,c[2],lz,v; +}tr[N]; +struct point +{ + int v,id; + bool operator<(const point a)const + { + if(a.v==v)return id>1; + int ro=newpoint(mid,v); + xia[mid]=ro; + tr[ro].c[0]=build(l,mid-1,ro); + tr[ro].c[1]=build(mid+1,r,ro); + push(ro); + return ro; +} +void lazy(int id) +{ + if(tr[id].lz) + { + swap(lc,rc); + tr[lc].lz^=1; + tr[rc].lz^=1; + tr[id].lz=0; + } +} + +void xuanzhuan(int x,int k) +{ + if(tr[x].fa==-1)return ; + int fa=tr[x].fa; + int w; + lazy(fa); + lazy(x); + tr[fa].c[!k]=tr[x].c[k]; + if(tr[x].c[k]!=-1)tr[tr[x].c[k]].fa=fa; + tr[x].fa=tr[fa].fa; + tr[x].c[k]=fa; + if(tr[fa].fa!=-1) + { + w=tr[tr[fa].fa].c[1]==fa; + tr[tr[fa].fa].c[w]=x; + } + tr[fa].fa=x; + push(fa); + push(x); +} + +void splay(int x,int goal) +{ + if(x==-1)return ; + lazy(x); + while(tr[x].fa!=goal) + { + int y=tr[x].fa; + lazy(tr[y].fa); + lazy(y); + lazy(x); + bool w=(x==tr[y].c[1]); + if(tr[y].fa!=goal&&w==(y==tr[tr[y].fa].c[1]))xuanzhuan(y,!w); + xuanzhuan(x,!w); + } + if(goal==-1)root=x; + push(x); +} +int next(int id) +{ + lazy(id); + int p=tr[id].c[1]; + if(p==-1)return id; + lazy(p); + while(tr[p].c[0]!=-1) + { + p=tr[p].c[0]; + lazy(p); + } + return p; +} +int main() +{ + while(scanf("%d",&n),n) + { + for(int i=1;i<=n;i++) + { + scanf("%d",&so[i].v); + so[i].id=i; + } + sort(so+1,so+n+1); + so[0].id=0; + tot=0; + int d,l; + root=build(0,n+1,-1); + for(int i=1;i<=n;i++) + { + int ro=xia[so[i].id]; + int ne; + splay(ro,-1); + d=tr[tr[root].c[0]].sum; + l=xia[so[i-1].id]; + ne=next(ro); + splay(l,-1); + splay(ne,root); + lazy(root); + lazy(tr[root].c[1]); + tr[key].lz^=1; + if(i!=1)printf(" "); + printf("%d",d); + } + printf("\n"); + } + return 0; +} +``` + +### E Looploop 可能过不了 + +```cpp +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; +typedef long long ll; +typedef long double ld; +#define key_value ch[ch[root][1]][0] +const int maxn = 200010; + +int ch[maxn][2]; +int pre[maxn],siz[maxn],num[maxn]; +int rev[maxn],key[maxn]; +int add[maxn]; +int Min[maxn],a[maxn]; +int tot,tp; +int root,n; +void push_up(int r) +{ + int lson = ch[r][0],rson = ch[r][1]; + siz[r] = siz[lson] + siz[rson] + 1; + Min[r] = min(key[r],min(Min[lson],Min[rson])); +} + +void update_add(int r,int val) +{ + if(!r) return; + key[r] += val; + add[r] += val; + Min[r] += val; +} + +void inOrder(int r) +{ + if(!r) + return; + inOrder(ch[r][0]); + printf("%d ",key[r]); + inOrder(ch[r][1]); +} + +void debug() +{ + inOrder(root); + cout < r) return ; + int mid = (l+r) >>1; + NewNode(x,far,a[mid]); + build(ch[x][0],l,mid-1,x); + build(ch[x][1],mid+1,r,x); + push_up(x); +} + +void splay(int r,int goal) +{ + push_down(r); + while(pre[r] != goal) + { + if(pre[pre[r]] == goal) + { + push_down(pre[r]); + push_down(r); + rotat(r,ch[pre[r]][0] == r); + } + else + { + push_down(pre[pre[r]]); + push_down(pre[r]); + push_down(r); + int y = pre[r]; + int kind = ch[pre[y]][0] == y; + if(ch[y][kind] == r) + { + rotat(r,!kind); + rotat(r,kind); + } + else + { + rotat(y,kind); + rotat(r,kind); + } + } + } + push_up(r); + if(goal == 0) + root = r; +} + + +int get_kth(int r,int k) +{ + push_down(r); + int t = siz[ch[r][0]] + 1; + if(k == t)return r; + if(t > k) return get_kth(ch[r][0],k); + else return get_kth(ch[r][1],k-t); +} + +int get_next(int r) +{ + push_down(r); + if(ch[r][1] == 0)return -1; + r = ch[r][1]; + while(ch[r][0]) + { + r = ch[r][0]; + push_down(r); + } + return r; +} + +void Reverse(int l,int r) +{ + splay(get_kth(root,l),0); + splay(get_kth(root,r+2),root); + update_rev(key_value); + push_up(ch[root][1]); + push_up(root); +} + +void Add(int l,int r,int val) +{ + splay(get_kth(root,l),0); + splay(get_kth(root,r+2),root); + update_add(key_value,val); + push_up(ch[root][1]); + push_up(root); +} + +void ini(int n) +{ + tot = root = 0; + ch[root][0] = ch[root][1] = pre[root] = siz[root] = num[root] = 0; + Min[root] = 0x3f3f3f3f; + rev[root] = add[root] = 0; + NewNode(root,0,-1); + NewNode(ch[root][1],root,-1); + for(int i=1; i <= n; i++) + { + scanf("%d",&a[i]); + } + build(key_value,1,n,ch[root][1]); + + push_up(ch[root][1]); + push_up(root); +} + +int get_min(int r) +{ + push_down(r); + while(ch[r][0]) + { + r = ch[r][0]; + push_down(r); + } + return r; +} + +int Delete(int r) +{ + int t = get_kth(root,r+1); + splay(t,0); + if(ch[root][0] == 0 || ch[root][1] == 0) + { + root = ch[root][0] + ch[root][1]; + pre[root] = 0; + return key[t]; + } + int k = get_min(ch[root][1]); + splay(k,root); + ch[ch[root][1]][0] = ch[root][0]; + root = ch[root][1]; + pre[ch[root][0]] = root; + pre[root] = 0; + push_up(root); + n--; + return key[t]; +} + +void Insert(int x,int y) +{ + splay(get_kth(root,x),0); + splay(get_kth(root,x+1),root); + NewNode(key_value,ch[root][1],y); + push_up(ch[root][1]); + push_up(root); + n++; +} + +void Move(int x) +{ + if(x == 1) + { + int t = Delete(n); + Insert(1,t); +// debug(); + } + else + { + int t = Delete(1); + Insert(n+1,t); + } +} + + +int main() +{ + int p,k1,k2; + int cas = 1; + while(scanf("%d%d%d%d",&n,&p,&k1,&k2) != EOF) + { + if(!n && !p && !k1 && !k2) + break; + printf("Case #%d:\n",cas++); + ini(n); + char opr[10]; + int x; + for(int i =1; i <= p; i++) + { + scanf("%s",opr); + if(opr[0] == 'a') + { + scanf("%d",&x); + Add(1,k2,x); + } + else if(opr[0] == 'm') + { + scanf("%d",&x); + Move(x); + } + else if(opr[0] == 'r') + { + Reverse(1,k1); + } + else if(opr[0] == 'q') + { + printf("%d\n",key[get_kth(root,2)]); + } + else if(opr[0] == 'i') + { + scanf("%d",&x); + Insert(2,x); + } + else if(opr[0] == 'd') + { + Delete(1); + } + } + } + return 0; +} +``` + +--- + +## [Week 10 课下](https://voj.mobi/contest/374/) + +### B 普通平衡树 + +```cpp +#include +#include +using namespace std; + +const int N = 1e5 + 10, INF = 1e8; +struct Node { + int son[2]; + int key, val; + int cnt, size; +} tr[N]; +int n, root, idx; + +int get_node(int key) { + tr[++idx].key = key; + tr[idx].val = rand(); + tr[idx].cnt = tr[idx].size = 1; + return idx; +} + +void pushup(int p) { + tr[p].size = tr[tr[p].son[0]].size + tr[tr[p].son[1]].size + tr[p].cnt; +} + +void rotate(int& p, int d) { + int q = tr[p].son[d ^ 1]; + tr[p].son[d ^ 1] = tr[q].son[d], tr[q].son[d] = p, p = q; + pushup(tr[p].son[d]); +} + +void insert(int& p, int key) { + if (!p) p = get_node(key); + else if (key < tr[p].key) { + insert(tr[p].son[0], key); + if (tr[tr[p].son[0]].val > tr[p].val) rotate(p, 1); + } else if (key > tr[p].key) { + insert(tr[p].son[1], key); + if (tr[tr[p].son[1]].val > tr[p].val) rotate(p, 0); + } else tr[p].cnt++; + + pushup(p); +} + +void remove(int& p, int key) { + if (!p) return; + if (key < tr[p].key) remove(tr[p].son[0], key); + else if (key > tr[p].key) remove(tr[p].son[1], key); + else if (tr[p].cnt > 1) tr[p].cnt--; + else if (!tr[p].son[0] && !tr[p].son[1]) p = 0; + else if (!tr[p].son[1] || (tr[p].son[0] && tr[tr[p].son[0]].val > tr[tr[p].son[1]].val)) { + rotate(p, 1); + remove(tr[p].son[1], key); + } else { + rotate(p, 0); + remove(tr[p].son[0], key); + } + + pushup(p); +} + +int get_rank_by_key(int p, int key) { + if (!p) return 0; + if (key < tr[p].key) return get_rank_by_key(tr[p].son[0], key); + else if (key > tr[p].key) return tr[tr[p].son[0]].size + tr[p].cnt + get_rank_by_key(tr[p].son[1], key); + else return tr[tr[p].son[0]].size + 1; +} + +int get_key_by_rank(int p, int rank) { + if (!p) return INF; + else if (rank <= tr[tr[p].son[0]].size) return get_key_by_rank(tr[p].son[0], rank); + else if (rank > tr[tr[p].son[0]].size + tr[p].cnt) return get_key_by_rank(tr[p].son[1], rank - tr[tr[p].son[0]].size - tr[p].cnt); + else return tr[p].key; +} + +int get_prev(int p, int key) { + if (!p) return -INF; + if (key <= tr[p].key) return get_prev(tr[p].son[0], key); + else return max(tr[p].key, get_prev(tr[p].son[1], key)); +} + +int get_next(int p, int key) { + if (!p) return INF; + if (key >= tr[p].key) return get_next(tr[p].son[1], key); + else return min(tr[p].key, get_next(tr[p].son[0], key)); +} + +int main() { + scanf("%d", &n); + while (n--) { + int op, x; + scanf("%d%d", &op, &x); + if (op == 1) insert(root, x); + else if (op == 2) remove(root, x); + else if (op == 3) printf("%d\n", get_rank_by_key(root, x)); + else if (op == 4) printf("%d\n", get_key_by_rank(root, x)); + else if (op == 5) printf("%d\n", get_prev(root, x)); + else if (op == 6) printf("%d\n", get_next(root, x)); + } + + return 0; +} +``` + +### D 对称二叉树 + +```cpp +#include +using namespace std; +const int N=1000010; +long long a[N],l[N],r[N],n,ans=0; +inline bool dfs(long long l2,long long r2){ + if(l2==-1&&r2==-1) + return true; + if(l2==-1||r2==-1||a[l2]!=a[r2]) + return false; + return dfs(l[l2],r[r2])&&dfs(l[r2],r[l2]); +} +inline long long get(long long x){ + if(x==-1) + return 0; + else + return get(l[x])+get(r[x])+1; +} +int main(){ + cin>>n; + for(long long i=1;i<=n;i++) + cin>>a[i]; + for(long long i=1;i<=n;i++) + cin>>l[i]>>r[i]; + for(long long i=1;i<=n;i++) + if(dfs(i,i)) + ans=max(ans,get(i)); + cout< +#include +#include +#include + +using namespace std; + +typedef long long LL; + +const int N = 1e5 + 5; + +LL tr[N]; +LL cnt[50]; + +int main() +{ + int n, k = 1;scanf("%d", &n); + for(int i = 1; i <= n; ++ i) scanf("%lld", &tr[i]); + + for(int i = 1, j = 1; i <= n; ++ i) + { + cnt[k] += tr[i]; + + if(i - j >= (1 << (k - 1)) - 1) + { + j = i + 1; + k ++; + } + } + + int ans = 0, maxx = 1-1e6; + for(int i = 1; i <= k ; ++ i) + if(cnt[i] > maxx) + { + maxx = cnt[i]; + ans = i; + } + cout << ans < +using namespace std; + +struct Node { + int key; + Node *left, *right; + int height; + Node(int k) : key(k), left(nullptr), right(nullptr), height(1) {} +}; + +int height(Node* n) { + return n ? n->height : 0; +} + +void updateHeight(Node* n) { + n->height = max(height(n->left), height(n->right)) + 1; +} + +int balanceFactor(Node* n) { + return height(n->left) - height(n->right); +} + +Node* rightRotate(Node* y) { + Node* x = y->left; + Node* T2 = x->right; + x->right = y; + y->left = T2; + updateHeight(y); + updateHeight(x); + return x; +} + +Node* leftRotate(Node* x) { + Node* y = x->right; + Node* T2 = y->left; + y->left = x; + x->right = T2; + updateHeight(x); + updateHeight(y); + return y; +} + +Node* insert(Node* node, int key) { + if (!node) + return new Node(key); + if (key < node->key) + node->left = insert(node->left, key); + else + node->right = insert(node->right, key); + + updateHeight(node); + + int bf = balanceFactor(node); + + if (bf > 1 && key < node->left->key) + return rightRotate(node); + if (bf < -1 && key > node->right->key) + return leftRotate(node); + if (bf > 1 && key > node->left->key) { + node->left = leftRotate(node->left); + return rightRotate(node); + } + if (bf < -1 && key < node->right->key) { + node->right = rightRotate(node->right); + return leftRotate(node); + } + + return node; +} + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + + int N; + cin >> N; + Node* root = nullptr; + for (int i = 0; i < N; i++) { + int x; + cin >> x; + root = insert(root, x); + } + if (root) + cout << root->key << "\n"; + return 0; +} +``` + +### B B树的插入遍历和查找 + +```cpp +#include +#include +using namespace std; + +struct BTreeNode +{ + int *keys; // 元素数组 + int t; // 最小度t + BTreeNode **C; // 子节点数组 + int n; // 当前节点元素个数 + bool leaf; // 是否是叶子节点 + + BTreeNode(int _t, bool _leaf); // 构造函数 + void insertNonFull(int k); // 当前节点未满,插入 + void splitChild(int i, BTreeNode *y); // 分裂节点 + void traverse(); // 遍历 + BTreeNode *search(int k); // 查找 +}; + +class BTree +{ + BTreeNode *root; // B树根节点 + int t; // 最小度t +public: + BTree(int _t) + { root = NULL; t = _t; } + + void traverse() + { if (root != NULL) root->traverse(); } + + BTreeNode* search(int k) + { return (root == NULL)? NULL : root->search(k); } + + void insert(int k); +}; + +BTreeNode::BTreeNode(int t1, bool leaf1) +{ + t = t1; + leaf = leaf1; + + keys = new int[2*t-1]; + C = new BTreeNode *[2*t]; + + n = 0; +} + +void BTreeNode::traverse() +{ + int i; + for (i = 0; i < n; i++) + { + if (leaf == false) + C[i]->traverse(); + cout << keys[i] << endl; + } + if (leaf == false) + C[i]->traverse(); +} + +BTreeNode *BTreeNode::search(int k) +{ + int i = 0; + while (i < n && k > keys[i]) + i++; + if (i < n && keys[i] == k) + return this; + if (leaf) + return NULL; + return C[i]->search(k); +} + +void BTree::insert(int k) +{ + if (root == NULL) + { + root = new BTreeNode(t, true); + root->keys[0] = k; + root->n = 1; + } + else + { + if (root->n == 2*t-1) + { + BTreeNode *s = new BTreeNode(t, false); + s->C[0] = root; + s->splitChild(0, root); + int i = 0; + if (s->keys[0] < k) + i++; + s->C[i]->insertNonFull(k); + root = s; + } + else + root->insertNonFull(k); + } +} + +void BTreeNode::insertNonFull(int k) +{ + int i = n-1; + + if (leaf == true) + { + while (i >= 0 && keys[i] > k) + { + keys[i+1] = keys[i]; + i--; + } + + keys[i+1] = k; + n = n+1; + } + else + { + while (i >= 0 && keys[i] > k) + i--; + + if (C[i+1]->n == 2*t-1) + { + splitChild(i+1, C[i+1]); + + if (keys[i+1] < k) + i++; + } + C[i+1]->insertNonFull(k); + } +} + +void BTreeNode::splitChild(int i, BTreeNode *y) +{ + BTreeNode *z = new BTreeNode(y->t, y->leaf); + z->n = t - 1; + + for (int j = 0; j < t-1; j++) + z->keys[j] = y->keys[j+t]; + + if (y->leaf == false) + { + for (int j = 0; j < t; j++) + z->C[j] = y->C[j+t]; + } + + y->n = t - 1; + for (int j = n; j >= i+1; j--) + C[j+1] = C[j]; + + C[i+1] = z; + + for (int j = n-1; j >= i; j--) + keys[j+1] = keys[j]; + + keys[i] = y->keys[t-1]; + + n = n + 1; +} + +int main() +{ + int t, n, m; + cin>>t>>n>>m; + BTree tree(t); + vector a(n); + for (int i = 0; i < n; i++) + { + cin>>a[i]; + tree.insert(a[i]); + } + + tree.traverse(); + + for (int i = 0; i < m; i++) + { + int q; + cin>>q; + BTreeNode *res = tree.search(q); + if (res) + { + for (int j = 0; j < res->n; j++) + { + cout << res->keys[j]; + if (j < res->n - 1) cout << ' '; + } + cout << endl; + } + } + return 0; +} +``` + +### C 邻接矩阵的使用 + +```cpp +#include + +using namespace std; + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + int n, m; + cin >> n >> m; + + vector> adj_matrix(n, vector(n, 0)); + + for (int k = 0; k < m; ++k) { + int type, u, v; + cin >> type >> u >> v; + if (type == 0) { + adj_matrix[u][v] = 1; + } else { + adj_matrix[u][v] = 1; + adj_matrix[v][u] = 1; + } + } + + for (int i = 0; i < n; ++i) { + for (int j = 0; j < n; ++j) { + cout << adj_matrix[i][j] << (j == n - 1 ? "" : " "); + } + cout << "\n"; + } + + return 0; +} +``` + +### D 邻接表的使用 + +```cpp +#include +using namespace std; + +const int MAXN = 100 + 5; +vector G[MAXN]; + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + + int n, m; + cin >> n >> m; + int a, x, y; + for (int i = 0; i < m; i++) { + cin >> a >> x >> y; + if (a == 0) { + G[x].push_back(y); + } else { + G[x].push_back(y); + G[y].push_back(x); + } + } + + for (int i = 0; i < n; i++) { + cout << i << ":"; + for (int j = (int)G[i].size() - 1; j >= 0; j--) { + cout << " " << G[i][j]; + } + cout << "\n"; + } + + return 0; +} +``` + +### E 画图游戏 + +```cpp +#include +using namespace std; +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + int n; + cin >> n; + vector deg(n); + long long sum = 0; + for (int i = 0; i < n; i++) { + cin >> deg[i]; + sum += deg[i]; + } + if (sum % 2) { + cout << "None\n"; + return 0; + } + vector> adj(n, vector(n, 0)); + vector> v(n); + for (int i = 0; i < n; i++) { + v[i] = {deg[i], i}; + } + for (int round = 0; round < n; round++) { + sort(v.begin() + round, v.end(), [&](auto &a, auto &b) { + return a.first > b.first; + }); + int d = v[round].first; + int u = v[round].second; + if (d < 0 || d > n - 1 - round) { + cout << "None\n"; + return 0; + } + for (int k = 1; k <= d; k++) { + int vi = v[round + k].second; + if (v[round + k].first <= 0) { + cout << "None\n"; + return 0; + } + adj[u][vi] = adj[vi][u] = 1; + v[round + k].first--; + } + v[round].first = 0; + } + for (int i = 0; i < n; i++) { + if (v[i].first != 0) { + cout << "None\n"; + return 0; + } + } + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + cout << adj[i][j] << (j + 1 < n ? ' ' : '\n'); + } + } + return 0; +} +``` + +--- + +## [Week 12 课下](https://voj.mobi/contest/378/) + +也就多了一题 + +### A AVL Tree + +```cpp +#include +using namespace std; + +int a[46], n; + +int main() { + a[0] = 1; + a[1] = 2; + for (int i = 2; i <= 45; i++) + a[i] = a[i - 1] + a[i - 2] + 1; + while (~scanf("%d", &n), n) { + int ans = 0; + while (a[ans] <= n) ans++; + printf("%d\n", --ans); + } + return 0; +} +``` + +--- + +## [Week 13 课上](https://voj.mobi/contest/381/) + +### A 找出星型图的中心节点 + +```cpp +#include + +using namespace std; + +int main(void) { + int n, m; + int count[100055] = {0}; + cin >> n >> m; + + for (int i = 0; i < m; i++) { + int a, b; + cin >> a >> b; + count[a]++; + count[b]++; + if (count[a] == m) { + cout << a; + return 0; + } + if (count[b] == m) { + cout << b; + return 0; + } + } + for (int i = 1; i <= n; i++) { + if (count[i] == n - 1) { + cout << i; + return 0; + } + } +} +``` + +### B 修建大桥 + +```cpp +#include + +using namespace std; + +vector graph[1000]; +bool vst[1000]; + +void dfs(int node) { + vst[node] = true; + + for (int i = 0; i < graph[node].size(); i++) { + int nextNode = graph[node][i]; + + if (!vst[nextNode]) { + dfs(nextNode); + } + } +} + +int main() { + int n, m; + memset(vst, false, sizeof(vst)); + cin >> n >> m; + + for (int i = 0; i < m; i++) { + int a, b; + cin >> a >> b; + graph[a].push_back(b); + graph[b].push_back(a); + } + + int components = 0; + for (int i = 1; i <= n; i++) { + if (!vst[i]) { + components++; + dfs(i); + } + } + cout << components - 1; + + return 0; +} +``` + +### C 闯关游戏 + +```cpp +#include +using namespace std; + +struct Node { + int ki; + vector adj; +}; + +int main() { + int n; + cin >> n; + vector nodes(n); + for (int i = 0; i < n; ++i) { + int ki, m; + cin >> ki >> m; + vector adj(m); + for (int j = 0; j < m; ++j) { + cin >> adj[j]; + } + nodes[i] = {ki, adj}; + } + + if (n == 1) { + cout << "Yes" << endl; + return 0; + } + + vector> adj_forward(n + 1); + for (int u = 1; u <= n; ++u) { + for (int v : nodes[u - 1].adj) { + adj_forward[u].push_back(v); + } + } + + vector> adj_backward(n + 1); + for (int u = 1; u <= n; ++u) { + for (int v : adj_forward[u]) { + adj_backward[v].push_back(u); + } + } + + bool in_reachable_from_start[101] = {false}; + queue q; + q.push(1); + in_reachable_from_start[1] = true; + while (!q.empty()) { + int u = q.front(); + q.pop(); + for (int v : adj_forward[u]) { + if (!in_reachable_from_start[v]) { + in_reachable_from_start[v] = true; + q.push(v); + } + } + } + + bool in_can_reach_end[101] = {false}; + queue q2; + q2.push(n); + in_can_reach_end[n] = true; + while (!q2.empty()) { + int v = q2.front(); + q2.pop(); + for (int u : adj_backward[v]) { + if (!in_can_reach_end[u]) { + in_can_reach_end[u] = true; + q2.push(u); + } + } + } + + vector> edges; + for (int u = 1; u <= n; ++u) { + if (in_reachable_from_start[u] && in_can_reach_end[u]) { + for (int v : nodes[u - 1].adj) { + if (in_can_reach_end[v]) { + edges.emplace_back(u, v); + } + } + } + } + + int initial = 100 + nodes[0].ki; + if (initial <= 0) { + cout << "No" << endl; + return 0; + } + + vector max_energy(n + 1, INT_MIN); + max_energy[1] = initial; + + for (int i = 0; i < n; ++i) { + bool updated = false; + for (auto& e : edges) { + int u = e.first, v = e.second; + if (max_energy[u] > 0) { + int new_energy = max_energy[u] + nodes[v - 1].ki; + if (new_energy > max_energy[v] && new_energy > 0) { + max_energy[v] = new_energy; + updated = true; + } + } + } + if (!updated) break; + } + + bool has_positive_cycle = false; + for (auto& e : edges) { + int u = e.first, v = e.second; + if (max_energy[u] > 0) { + int new_energy = max_energy[u] + nodes[v - 1].ki; + if (new_energy > max_energy[v] && new_energy > 0) { + has_positive_cycle = true; + break; + } + } + } + + if (has_positive_cycle) { + cout << "Yes" << endl; + return 0; + } + + if (max_energy[n] > 0) { + cout << "Yes" << endl; + } else { + cout << "No" << endl; + } + + return 0; +} +``` + +### D 圣诞树 + +```cpp +#include + +using namespace std; + +using i64 = long long; +typedef long long ll; + +const int maxn = 5e4 + 6; +const int maxm = 5e4 + 6; + +struct edge { + int to, len; +}; + +vector e[maxn]; + +struct node { + i64 dis; + int num; + bool operator>(const node &a) const { + return dis > a.dis; + } +}; + +i64 minDis[maxn]; +bool vis[maxn]; +priority_queue, greater> pq; + +void dijkstra(int n, int s) { + for (int i = 1; i <= n; i++) { + minDis[i] = 1e10; + } + minDis[s] = 0; + pq.push({0, s}); + while (!pq.empty()) { + int u = pq.top().num; + pq.pop(); + if (vis[u]) continue; + vis[u] = 1; + for (edge eg : e[u]) { + int v = eg.to; + int w = eg.len; + if (minDis[v] > minDis[u] + w) { + minDis[v] = minDis[u] + w; + pq.push({minDis[v], v}); + } + } + } +} + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + + int n, m, s; + cin >> n >> m; + vector a(n + 1); + for (int i = 1; i <= n; i++) { + cin >> a[i]; + } + s = 1; + int u, v, w; + while (m--) { + cin >> u >> v >> w; + e[u].push_back({v, w}); + e[v].push_back({u, w}); + } + dijkstra(n, s); + i64 ans = 0; + bool ok = 1; + for (int i = 1; i <= n; i++) { + if (minDis[i] == 1e10) { + ok = 0; + break; + } + ans += a[i] * minDis[i]; + } + if (ok) + cout << ans << '\n'; + else + cout << "No Answer\n"; + + return 0; +} +``` + +### E 网络延时 + +```cpp +#include + +using namespace std; + +vector graph[1000]; +int dist[1000]; + +void shortestPath(int start) { + memset(dist, -1, sizeof(dist)); + queue nodes; + nodes.push(start); + dist[start] = 0; + + while (!nodes.empty()) { + int cur = nodes.front(); + nodes.pop(); + + for (int i = 0; i < graph[cur].size(); i++) { + int next = graph[cur][i]; + + if (dist[next] == -1) { + nodes.push(next); + dist[next] = dist[cur] + 1; + } + } + } +} + +int main() { + int N; + int maxNode; + int maxPath = 0; + cin >> N; + + for (int i = 0; i < N - 1; i++) { + int a, b; + cin >> a >> b; + graph[a].push_back(b); + graph[b].push_back(a); + } + + shortestPath(1); + for (int i = 1; i <= N; i++) { + if (dist[i] > maxPath) { + maxPath = dist[i]; + maxNode = i; + } + } + shortestPath(maxNode); + for (int i = 1; i <= N; i++) { + if (dist[i] > maxPath) { + maxPath = dist[i]; + } + } + + cout << maxPath << endl; + + return 0; +} +``` + +--- + +## [Week 13 课下](https://voj.mobi/contest/382/) + +--- + +## [Week 14 课上](https://voj.mobi/contest/385/) + +### A 小明的训练室 + +```cpp +#include +#include +#include +#include +using namespace std; + +const int INF = numeric_limits::max(); + +struct Edge { + int to; + int h; +}; + +void dijkstra(int s, int v, const vector>& g, vector& mh) { + priority_queue, vector>, greater>> pq; + pq.push({0, s}); + mh[s] = 0; + + while (!pq.empty()) { + int u = pq.top().second; + int curr_h = pq.top().first; + pq.pop(); + + if (curr_h > mh[u]) continue; + + for (const auto& e : g[u]) { + int next_v = e.to; + int next_h = e.h; + + if (mh[next_v] > max(mh[u], next_h)) { + mh[next_v] = max(mh[u], next_h); + pq.push({mh[next_v], next_v}); + } + } + } +} + +int main() { + int n, m, t; + cin >> n >> m >> t; + + vector> g(n + 1); + + for (int i = 0; i < m; ++i) { + int s, e, h; + cin >> s >> e >> h; + g[s].push_back({e, h}); + } + + while (t--) { + int a, b; + cin >> a >> b; + + vector mh(n + 1, INF); + + dijkstra(a, n, g, mh); + + int res = mh[b]; + if (res == INF) cout << "-1" << endl; + else cout << res << endl; + } + + return 0; +} +``` + +### B 节点的最近公共祖先 + +```cpp +#include +#include +#include +using namespace std; + +const int MAXN = 10001; +const int MAXLOG = 15; + +vector adj[MAXN]; +int parent[MAXN]; +int depth[MAXN]; +int ancestor[MAXN][MAXLOG]; + +void dfs(int node, int par, int dep) { + parent[node] = par; + depth[node] = dep; + for (int i = 0; i < adj[node].size(); ++i) { + int child = adj[node][i]; + if (child != par) { + dfs(child, node, dep + 1); + } + } +} + +void binaryLift(int N) { + for (int i = 1; i <= N; ++i) { + ancestor[i][0] = parent[i]; + } + + for (int j = 1; (1 << j) <= N; ++j) { + for (int i = 1; i <= N; ++i) { + if (ancestor[i][j - 1] != -1) { + ancestor[i][j] = ancestor[ancestor[i][j - 1]][j - 1]; + } + } + } +} + +int findLCA(int u, int v) { + if (depth[u] < depth[v]) swap(u, v); + + int log; + for (log = 1; (1 << log) <= depth[u]; ++log); + log--; + + for (int i = log; i >= 0; --i) { + if (depth[u] - (1 << i) >= depth[v]) { + u = ancestor[u][i]; + } + } + + if (u == v) return u; + + for (int i = log; i >= 0; --i) { + if (ancestor[u][i] != -1 && ancestor[u][i] != ancestor[v][i]) { + u = ancestor[u][i]; + v = ancestor[v][i]; + } + } + + return parent[u]; +} + +int main() { + int N, M, S; + cin >> N >> M >> S; + + for (int i = 1; i <= N; ++i) { + adj[i].clear(); + parent[i] = -1; + depth[i] = 0; + for (int j = 0; j < MAXLOG; ++j) { + ancestor[i][j] = -1; + } + } + + for (int i = 1; i < N; ++i) { + int x, y; + cin >> x >> y; + adj[x].push_back(y); + adj[y].push_back(x); + } + + dfs(S, -1, 0); + binaryLift(N); + + for (int i = 0; i < M; ++i) { + int a, b; + cin >> a >> b; + int lca = findLCA(a, b); + cout << lca << endl; + } + + return 0; +} +``` + +### C 布设光纤 + +```cpp +#include +#include +#include + +using namespace std; + +int main() { + int n; + cin >> n; + vector> adj(n, vector(n)); + for (int i = 0; i < n; ++i) { + for (int j = 0; j < n; ++j) { + cin >> adj[i][j]; + } + } + + vector lowcost(n); + vector visited(n, false); + for (int i = 0; i < n; ++i) { + lowcost[i] = adj[0][i]; + } + visited[0] = true; + int sum = 0; + + for (int cnt = 1; cnt < n; ++cnt) { + int min_val = INT_MAX; + int min_idx = -1; + for (int j = 0; j < n; ++j) { + if (!visited[j] && lowcost[j] < min_val) { + min_val = lowcost[j]; + min_idx = j; + } + } + if (min_idx == -1) { + break; + } + sum += min_val; + visited[min_idx] = true; + for (int j = 0; j < n; ++j) { + if (!visited[j] && adj[min_idx][j] < lowcost[j]) { + lowcost[j] = adj[min_idx][j]; + } + } + } + + cout << sum << endl; + + return 0; +} +``` + +### D 丁香之路 + +```cpp +#include +#define ll long long +using namespace std; +const int MAXN = 2505; +struct Edge { int u, v, w; }; +vector G; +int f[MAXN], degree[MAXN], n, m, s, u, v, sum; +int ff[MAXN]; + +void init(int n) { + for (int i = 1; i <= n; ++i) f[i] = i; +} + +int findf(int i) { + return f[i] == i ? f[i] : f[i] = findf(f[i]); +} + +void merge(int i, int j) { + f[findf(i)] = findf(j); +} + +bool cmp(const Edge &a, const Edge &b) { + return a.w < b.w; +} + +int main() { + ios::sync_with_stdio(0); + cin.tie(0), cout.tie(0); + cin >> n >> m >> s; + init(n); + for (int i = 1; i <= m; ++i) { + cin >> u >> v; + degree[u]++, degree[v]++; + sum += abs(u - v); + merge(u, v); + } + degree[s]++; + for (int i = 1; i <= n; ++i) ff[i] = f[i]; + for (int i = 1; i <= n; ++i) { + for (int j = 1; j <= n; ++j) f[j] = ff[j]; + degree[i]++; + int ans = sum, pre = 0; + vector V; + for (int j = 1; j <= n; ++j) { + if (degree[j]) V.push_back(j); + } + for (int j = 1; j <= n; ++j) { + if (degree[j] & 1) { + if (!pre) pre = j; + else { + ans += (j - pre); + for (int k = pre + 1; k <= j; ++k) merge(k, k - 1); + pre = 0; + } + } + } + G.clear(); + for (int j = 0; j + 1 < V.size(); ++j) { + if (findf(V[j]) != findf(V[j + 1])) { + G.push_back({V[j], V[j + 1], V[j + 1] - V[j]}); + } + } + sort(G.begin(), G.end(), cmp); + for (const auto &e : G) { + if (findf(e.u) != findf(e.v)) { + merge(e.u, e.v); ans += 2 * e.w; + } + } + degree[i]--; + cout << ans << " "; + } + return 0; +} +``` + +### E 威虎山上的分配 + +```cpp +#include +using namespace std; + +const int MAXN = 10001; +const int MAXM = 20001; + +int cnt, money[MAXN]; +bool vis[MAXN]; +struct Edge { + int v, next; + int len; +} E[MAXM]; + +int p[MAXN], eid = 1; + +void insert(int u, int v) { + E[eid].v = v; + E[eid].next = p[u]; + p[u] = eid++; +} + +int n, m; +int indegree[MAXN]; + +void topo() { + queue q; + for (int i = 1; i <= n; i++) { + if (indegree[i] == 0) { + q.push(i); + vis[i] = true; + } + } + while (!q.empty()) { + int now = q.front(); + q.pop(); + cnt++; + for (int i = p[now]; i; i = E[i].next) { + int v = E[i].v; + if (--indegree[v] == 0) { + q.push(v); + vis[v] = true; + money[v] = money[now] + 1; + } + } + } +} + +int main() { + memset(indegree, 0, sizeof(indegree)); + memset(money, 0, sizeof(money)); + cin >> n >> m; + for (int i = 1; i <= m; i++) { + int u, v; + cin >> u >> v; + insert(v, u); + indegree[u]++; + } + + topo(); + int ans = 0; + for (int i = 1; i <= n; i++) { + if (!vis[i]) { + cout << "Unhappy!" << endl; + return 0; + } + ans += money[i]; + } + + cout << ans + n * 100 << endl; + return 0; +} +``` + +### F 判定欧拉回路 + +```cpp +#include +using namespace std; + +const int MAXN = 1001; + +vector adj[MAXN]; +int degree[MAXN]; +bool visited[MAXN]; + +void dfs(int v) { + visited[v] = true; + for (int u : adj[v]) { + if (!visited[u]) { + dfs(u); + } + } +} + +bool isConnected(int N) { + memset(visited, false, sizeof(visited)); + int start = -1; + for (int i = 1; i <= N; ++i) { + if (degree[i] > 0) { + start = i; + break; + } + } + if (start == -1) return true; + dfs(start); + + for (int i = 1; i <= N; ++i) { + if (degree[i] > 0 && !visited[i]) { + return false; + } + } + return true; +} + +int main() { + int N, M; + cin >> N >> M; + + for (int i = 0; i < M; ++i) { + int u, v; + cin >> u >> v; + adj[u].push_back(v); + adj[v].push_back(u); + degree[u]++; + degree[v]++; + } + + if (!isConnected(N)) { + cout << 0 << endl; + return 0; + } + + for (int i = 1; i <= N; ++i) { + if (degree[i] % 2 != 0) { + cout << 0 << endl; + return 0; + } + } + + cout << 1 << endl; + + return 0; +} +``` + +### G 商业信息共享 + +```cpp +#include +using namespace std; + +int main() { + int n; + cin >> n; + vector> adj(n), adj_t(n); + for (int i = 0; i < n; ++i) { + int j; + while (cin >> j && j != 0) { + j--; // 转换为0-based索引 + adj[i].push_back(j); + adj_t[j].push_back(i); + } + } + + vector visited(n, false); + vector order; + function dfs1 = [&](int u) { + visited[u] = true; + for (int v : adj[u]) { + if (!visited[v]) { + dfs1(v); + } + } + order.push_back(u); + }; + + for (int i = 0; i < n; ++i) { + if (!visited[i]) { + dfs1(i); + } + } + + reverse(order.begin(), order.end()); + + vector component(n, -1); + int current_component = 0; + visited.assign(n, false); + function dfs2 = [&](int u) { + visited[u] = true; + component[u] = current_component; + for (int v : adj_t[u]) { + if (!visited[v]) { + dfs2(v); + } + } + }; + + for (int u : order) { + if (!visited[u]) { + dfs2(u); + current_component++; + } + } + + int k = current_component; + vector indegree(k, 0), outdegree(k, 0); + vector> added(k, vector(k, false)); + + for (int u = 0; u < n; ++u) { + for (int v : adj[u]) { + if (component[u] != component[v]) { + int cu = component[u]; + int cv = component[v]; + if (!added[cu][cv]) { + added[cu][cv] = true; + outdegree[cu]++; + indegree[cv]++; + } + } + } + } + + int c1 = 0, c2 = 0; + for (int i = 0; i < k; ++i) { + if (indegree[i] == 0) c1++; + if (outdegree[i] == 0) c2++; + } + + int ans1 = c1; + int ans2 = (k == 1) ? 0 : max(c1, c2); + + cout << ans1 << endl; + cout << ans2 << endl; + + return 0; +} +``` + +--- + +## [Week 14 课下](https://voj.mobi/contest/386/) + +--- + +## [Week 15 课上](https://voj.mobi/contest/390/) + +### A 阿里天池的新任务 + +```cpp +#include +using namespace std; +const int MAXN = 1000005; +int w[MAXN], nextArr[MAXN]; +char s[MAXN], pattern[MAXN]; +int total = 0; + +void computeLPS(const char *pat, int m, int *lps) { + int len = 0; + lps[0] = 0; + int i = 1; + while (i < m) { + if (pat[i] == pat[len]) { + len++; + lps[i] = len; + i++; + } else { + if (len != 0) { + len = lps[len - 1]; + } else { + lps[i] = 0; + i++; + } + } + } +} + +void kmpSearch(const char *text, const char *pat) { + int n = strlen(text); + int m = strlen(pat); + computeLPS(pat, m, nextArr); + int i = 0, j = 0; + while (i < n) { + if (pat[j] == text[i]) { + i++; + j++; + } + if (j == m) { + total++; + j = nextArr[j - 1]; + } else if (i < n && pat[j] != text[i]) { + if (j != 0) { + j = nextArr[j - 1]; + } else { + i++; + } + } + } +} + +int main() { + int n, a, b, l, r; + cin >> n >> a >> b >> l >> r; + cin >> pattern; + for (int i = 0; i < n; ++i) { + if (i == 0) { + w[i] = b; + } else { + w[i] = (w[i - 1] + a) % n; + } + if (w[i] >= l && w[i] <= r) { + s[i] = (w[i] % 2 == 0) ? 'A' : 'T'; + } else { + s[i] = (w[i] % 2 == 0) ? 'G' : 'C'; + } + } + kmpSearch(s, pattern); + cout << total; + return 0; +} +``` + +### B 猴子打字 + +```cpp +#include +using namespace std; + +const int ALPHABET_SIZE = 26; + +struct Node { + Node *children[ALPHABET_SIZE]; + Node *fail; + int cnt; + Node() { + for (int i = 0; i < ALPHABET_SIZE; i++) { + children[i] = nullptr; + } + fail = nullptr; + cnt = 0; + } +}; + +Node *root; + +void insert(string word) { + Node *p = root; + for (char c : word) { + int idx = c - 'a'; + if (p->children[idx] == nullptr) { + p->children[idx] = new Node(); + } + p = p->children[idx]; + } + p->cnt++; +} + +void build() { + queue q; + root->fail = root; + for (int i = 0; i < ALPHABET_SIZE; i++) { + if (root->children[i] != nullptr) { + root->children[i]->fail = root; + q.push(root->children[i]); + } else { + root->children[i] = root; + } + } + + while (!q.empty()) { + Node *u = q.front(); + q.pop(); + for (int i = 0; i < ALPHABET_SIZE; i++) { + if (u->children[i] != nullptr) { + Node *v = u->children[i]; + v->fail = u->fail->children[i]; + q.push(v); + } else { + u->children[i] = u->fail->children[i]; + } + } + } +} + +long long query(string article) { + long long ans = 0; + Node *p = root; + for (char c : article) { + int idx = c - 'a'; + p = p->children[idx]; + Node *temp = p; + while (temp != root) { + ans += temp->cnt; + temp = temp->fail; + } + } + return ans; +} + +int main() { + int n; + cin >> n; + root = new Node(); + string word; + for (int i = 0; i < n; i++) { + cin >> word; + insert(word); + } + build(); + string article; + cin >> article; + cout << query(article) << endl; + return 0; +} +``` + +### C 糟糕的 Bug + +```cpp +#include +#include +#include + +using namespace std; + +#define MAX_N 2333430 +#define MAX_C 26 + +struct Trie { + int *ch[MAX_N]; + int tot; + int cnt[MAX_N]; + + Trie() { + tot = 0; + memset(ch, 0, sizeof(ch)); + memset(cnt, 0, sizeof(cnt)); + } + + void insert(const char *str) { + int p = 0; + for (int i = 0; str[i]; ++i) { + if (ch[p] == NULL) { + ch[p] = new int[MAX_C]; + memset(ch[p], -1, sizeof(int) * MAX_C); + } + if (ch[p][str[i] - 'a'] == -1) { + ch[p][str[i] - 'a'] = ++tot; + } + p = ch[p][str[i] - 'a']; + } + cnt[p]++; + } + + bool find(const char *str) { + int p = 0; + for (int i = 0; str[i]; ++i) { + if (cnt[p] != 0) return true; + if (ch[p] == NULL) return false; + if (ch[p][str[i] - 'a'] == -1) return false; + p = ch[p][str[i] - 'a']; + } + return false; + } +}; + +char s[MAX_N][15]; +Trie trie; + +int main() { + int n; + scanf("%d", &n); + getchar(); + bool ans = false; + for (int i = 0; i < n; ++i) { + scanf("%s", s[i]); + getchar(); + trie.insert(s[i]); + } + for (int i = 0; i < n; ++i) { + if (trie.find(s[i])) { + ans = true; + break; + } + } + if (ans) { + puts("Bug!"); + } else { + puts("Good Luck!"); + } + return 0; +} +``` + +### D 首尾相接 + +```cpp +#include +using namespace std; + +vector getNext(const string& p) { + int m = p.size(); + vector next(m + 1, -1); + int i = 0, j = -1; + while (i < m) { + if (j == -1 || p[i] == p[j]) { + i++; + j++; + next[i] = j; + } else { + j = next[j]; + } + } + return next; +} + +int main() { + string s1, s2; + getline(cin, s1); + getline(cin, s2); + + int n = s2.size(); + int m = s1.size(); + if (m == 0 || n == 0) { + cout << 0 << endl; + return 0; + } + + vector next = getNext(s1); + int j = 0, i = 0; + int overlap = 0; + + while (i < n) { + if (j == m) { + j = next[j]; + } + if (j == -1 || s2[i] == s1[j]) { + j++; + i++; + if (i == n) { + overlap = j; + } + } else { + j = next[j]; + } + } + + if (overlap > 0) { + cout << s1.substr(0, overlap) << " " << overlap << endl; + } else { + cout << 0 << endl; + } + + return 0; +} +``` + +--- + +## [Week 15 课下](https://voj.mobi/contest/391/) + +### E 旋转数字 + +```cpp +#include + +using namespace std; + +int main() { + string s; + cin >> s; + int n = s.size(); + + vector next(n, 0); + for (int i = 1; i < n; i++) { + int j = next[i-1]; + while (j > 0 && s[i] != s[j]) { + j = next[j-1]; + } + if (s[i] == s[j]) { + j++; + } + next[i] = j; + } + + int T = n; + if (next[n-1] != 0 && n % (n - next[n-1]) == 0) { + T = n - next[n-1]; + } + + string ss = s + s; + int n2 = 2 * n; + vector Z(n2, 0); + if (n2 > 0) { + Z[0] = n2; + int l = 0, r = 0; + for (int i = 1; i < n2; i++) { + if (i <= r) { + Z[i] = min(r - i + 1, Z[i - l]); + } + while (i + Z[i] < n2 && ss[Z[i]] == ss[i + Z[i]]) { + Z[i]++; + } + if (i + Z[i] - 1 > r) { + l = i; + r = i + Z[i] - 1; + } + } + } + + int cnt_less = 0, cnt_equal = 0, cnt_greater = 0; + for (int k = 0; k < T; k++) { + int start = (n - k) % n; + if (start == 0) { + cnt_equal++; + } else { + if (Z[start] >= n) { + cnt_equal++; + } else { + if (ss[start + Z[start]] < ss[Z[start]]) { + cnt_less++; + } else { + cnt_greater++; + } + } + } + } + + cout << cnt_less << " " << cnt_equal << " " << cnt_greater << endl; + return 0; +} +``` + +--- diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/README.md" index d7c0978..f283dd0 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\225\260\346\215\256\347\273\223\346\236\204\344\270\216\347\256\227\346\263\225\345\256\236\350\267\265/README.md" @@ -3,6 +3,13 @@ title: 数据结构与算法实践 course_code: SE1208 --- +## 2021-2022学年下学期 + +### 杜育根 + +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1208/2021-2022学年下学期/杜育根/Slides) ## 2022-2023学年下学期 @@ -14,4 +21,19 @@ course_code: SE1208 - 实践课作业是一些 ACM 真题, 课堂上会给出来, 截止到下次上课 - 实践课 **不要** 漏交、不交作业!!占比很高很高 -[2024-2025学年下学期VOJ答案](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/数据结构与算法实践/杜育根) +## 2024-2025学年下学期 + +### 杜育根 + +#### 教学资源 + +- [VOJ答案](./2024-2025学年下学期/杜育根/2024-2025学年下学期VOJ答案) +- [VOJ答案PDF版](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE1208/2024-2025学年下学期/杜育根/VOJ答案.pdf) + +## 2024-2025学年下学期 + +### 杜育根 + +#### 教学资源 + +- [VOJ答案PDF版](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE1208/2025-2026学年下学期/杜育根/VOJ答案) \ No newline at end of file diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\227\240\347\272\277\347\275\221\347\273\234\345\256\211\345\205\250/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\227\240\347\272\277\347\275\221\347\273\234\345\256\211\345\205\250/README.md" index df961b3..809c17e 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\227\240\347\272\277\347\275\221\347\273\234\345\256\211\345\205\250/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\227\240\347\272\277\347\275\221\347\273\234\345\256\211\345\205\250/README.md" @@ -7,5 +7,7 @@ course_code: SE3335 ### 张磊 -- [课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/无线网络安全/2023-2024学年上学期/课件) -- [作业](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/无线网络安全/2023-2024学年上学期/作业) +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3335/2023-2024学年上学期/张磊/Slides) +- [Homework](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3335/2023-2024学年上学期/张磊/Homework) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\246\202\347\216\207\350\256\272\344\270\216\346\225\260\347\220\206\347\273\237\350\256\241/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\246\202\347\216\207\350\256\272\344\270\216\346\225\260\347\220\206\347\273\237\350\256\241/README.md" index 482c9a1..7272da5 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\246\202\347\216\207\350\256\272\344\270\216\346\225\260\347\220\206\347\273\237\350\256\241/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\346\246\202\347\216\207\350\256\272\344\270\216\346\225\260\347\220\206\347\273\237\350\256\241/README.md" @@ -38,9 +38,9 @@ course_code: SE2104 ## 2022-2023学年上学期 -哪个老师上的课也忘了,学院不给毕业老登看公共数据库了,公共数据库现在也查不了全校开课情况 +- 哪个老师上的课也忘了,学院不给毕业老登看公共数据库了,公共数据库现在也查不了全校开课情况 -总之很容易挂科的一门数学课,我有个舍友挂了两次了,记得认真学 +- 总之很容易挂科的一门数学课,我有个舍友挂了两次了,记得认真学 ## 2023-2024学年上学期 @@ -50,10 +50,16 @@ course_code: SE2104 ## 2025-2026学年上学期 +### 吴敏 + +- 几乎不点名,看雨课堂签到(在宿舍也能签到),但是有一次抽查了一次到课情况 +- 会布置课后习题、编程作业和小作文,但是最终都没有批改,只要交了作业平时分都给了 +- 平时分几乎取决于期中,考勤实际不占分,但是计算比例很迷,会出现理论计算出来的平时分比实际要低不少 + ### 试卷 - [2025-2026学年上学期期中试卷](./2025-2026学年上学期期中) ## 推荐教材与参考资料 -[教材和答案](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/概率论与数理统计) +- [教材及其答案](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2104/推荐教材与参考资料/教材及其答案) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\351\202\254\346\265\267\347\220\264.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\351\202\254\346\265\267\347\220\264.md" deleted file mode 100644 index 5325a15..0000000 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\351\202\254\346\265\267\347\220\264.md" +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: 2025-2026学年春季期期中(邬海琴) ---- - -## 一、选择(20 分) 10道 - -函数可以没有返回值 - -实参形参必须完全一致 - -函数里不允许嵌套定义函数 - -## 二、填空(20 分) - -1. 静态变量关键词\_\_\_\_,常态变量关键词\_\_\_\_ - -2. \_\_\_\_ - - ```c - #include - int main() { - int a = 3, b = 2; - float c = 3 * 5 / b; - printf("%.2f",c); - } - ``` - -3. `a = 9, b = 2`,`!(a * 2 % 4) && (c = 2) || (7 - 2 * b > 2)` 输出\_\_\_\_ - -4. `unsigned int` 取值多少 \_\_\_\_ - -5. `short arr[11];` 占用\_\_\_\_ bit(s) - -## 三、判断输出(20 分) - -1. ```c - #include - int main() { - int row = 3, col = 4, i, j; - for(i = 0; i < row; i++) { - printf("#"); - for(j = 0; j < col; j ++) { - if(i == j) break; - if(i == col - j) continue; - printf("*"); - } - printf("\n"); - } - return 0; - } - ``` - -2. ```c - #include - #define SQUARE(x) x*x - int main() { - int a = 5; - int b = SQUARE(a + 1); - printf("SQUARE(a+1):%d",b); - return 0; - } - ``` - -## 四、手写代码(40 分) - -1. 求五个数中的中位数 - - **Input** - - > `5 2 4 3 1` - - **Output** - - > `3` - -2. 求 `100~999` 的素数水仙花数,如果没有,输出`No Such Number.` - - **Input** - - > 无 - - **Output** - - > `No Such Number.` diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\345\274\240\346\263\211.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" similarity index 51% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\345\274\240\346\263\211.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" index f572895..0e8abf9 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026-1_\346\234\237\344\270\255_\345\274\240\346\263\211.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -1,8 +1,10 @@ --- -title: 2025-2026学年春季期期中(张泉) +title: 2025-2026学年上学期期中 --- -## 一、判断(16 分) +## 2025-2026学年上学期期中试卷——张泉 + +### 一、判断(16 分) 1. 变量定义可以数字开头 2. C 语言是面向过程的语言 @@ -10,7 +12,7 @@ title: 2025-2026学年春季期期中(张泉) 4. 不符合逻辑顺序的代码如果代码紧凑,则符合书写规范(大意如此) 5. 假定 `a, b` 是 `double` 类型。`printf("%lf", (a = 2, b = a + 3 / 2))` 输出是 `3.000000` -## 二、读代码(25 分) +### 二、读代码(25 分) 1. a=\_\_\_\_ @@ -76,13 +78,13 @@ title: 2025-2026学年春季期期中(张泉) } ``` -## 三、选择题(25分)(注:题面暂缺) +### 三、选择题(25分)(注:题面暂缺) -函数不允许嵌套定义函数(函数里不可以定义函数) +- 函数不允许嵌套定义函数(函数里不可以定义函数) -编译成功一定运行一定成功 +- 编译成功一定运行一定成功 -变量定义是下划线、字母、数字随意组合 +- 变量定义是下划线、字母、数字随意组合 3. 正确的是() A. `char` 可以取余 @@ -90,7 +92,7 @@ title: 2025-2026学年春季期期中(张泉) C. `i++` 和 `++i` 任何情况下都一样 D. 赋值运算符优先级高于所有基本运算符 -## 四、手写代码(35 分) +### 四、手写代码(35 分) 1. 定义一个常量 $E=2.71828$, 输出 $E^3$ (保留五位小数) @@ -126,3 +128,86 @@ title: 2025-2026学年春季期期中(张泉) **Output** > `A` + +## 2025-2026学年上学期期中试卷——邬海琴 + +### 一、选择(20 分) 10道 + +- 函数可以没有返回值 + +- 实参形参必须完全一致 + +- 函数里不允许嵌套定义函数 + +### 二、填空(20 分) + +1. 静态变量关键词\_\_\_\_,常态变量关键词\_\_\_\_ + +2. \_\_\_\_ + + ```c + #include + int main() { + int a = 3, b = 2; + float c = 3 * 5 / b; + printf("%.2f",c); + } + ``` + +3. `a = 9, b = 2`,`!(a * 2 % 4) && (c = 2) || (7 - 2 * b > 2)` 输出\_\_\_\_ + +4. `unsigned int` 取值多少 \_\_\_\_ + +5. `short arr[11];` 占用\_\_\_\_ bit(s) + +### 三、判断输出(20 分) + +1. ```c + #include + int main() { + int row = 3, col = 4, i, j; + for(i = 0; i < row; i++) { + printf("#"); + for(j = 0; j < col; j ++) { + if(i == j) break; + if(i == col - j) continue; + printf("*"); + } + printf("\n"); + } + return 0; + } + ``` + +2. ```c + #include + #define SQUARE(x) x*x + int main() { + int a = 5; + int b = SQUARE(a + 1); + printf("SQUARE(a+1):%d",b); + return 0; + } + ``` + +### 四、手写代码(40 分) + +1. 求五个数中的中位数 + + **Input** + + > `5 2 4 3 1` + + **Output** + + > `3` + +2. 求 `100~999` 的素数水仙花数,如果没有,输出`No Such Number.` + + **Input** + + > 无 + + **Output** + + > `No Such Number.` diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/README.md" index faad087..3d91c11 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\250\213\345\272\217\350\256\276\350\256\241\345\237\272\347\241\200/README.md" @@ -3,5 +3,8 @@ title: 程序设计基础 course_code: SE1201 --- +## 2025-2026学年上学期 -!!! warning "施工中" +### 试卷 + +- [2025-2026学年上学期期中试卷](./2025-2026学年上学期期中) \ No newline at end of file diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..2377b20 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,219 @@ +--- +title: 2023-2024学年上学期期中 +--- + +## 2023-2024学年上学期期中试卷(A) + +### 一、(本题满分 10 分) + +计算行列式 + +1. + + $$ + D= + \begin{vmatrix} + a & b & c & d \\ + a & a+b & a+b+c & a+b+c+d \\ + a & 2a+b & 3a+2b+c & 4a+3b+2c+d \\ + a & 3a+b & 6a+3b+c & 10a+6b+3c+d + \end{vmatrix} + $$ + + *** + +2. + + $$ + \begin{vmatrix} + 1 & 2 & 3 & x \\ + 2 & 3 & x & 1 \\ + 3 & x & 1 & 2 \\ + x & 1 & 2 & 3 + \end{vmatrix} + $$ + +*** + +### 二、(本题满分 15 分) + +计算行列式 + +1. + + $$ + \begin{vmatrix} + x_1-a_1 & x_2 & x_3 & \cdots & x_n \\ + x_1 & x_2-a_2 & x_3 & \cdots & x_n \\ + x_1 & x_2 & x_3-a_3 & \cdots & x_n \\ + \cdots & \cdots & \cdots & \cdots & \cdots \\ + x_1 & x_2 & x_3 & \cdots & x_n-a_n + \end{vmatrix} + $$ + + *** + +2. + + $$ + D= + \begin{vmatrix} + 1 & 2 & 3 & \cdots & n-1 & n \\ + 2 & 2 & 3 & \cdots & n-1 & n \\ + 3 & 3 & 3 & \cdots & n-1 & n \\ + \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + n-1 & n-1 & n-1 & \cdots & n-1 & n \\ + n & n & n & \cdots & n & n + \end{vmatrix} + $$ + +*** + +### 三、(本题满分 10 分) + +已知行列式 + +$$ +D= +\begin{vmatrix} +3 & 1 & 0 & 4 \\ +0 & 2 & -1 & 1 \\ +1 & 1 & 2 & 1 \\ +3 & 5 & 2 & 7 +\end{vmatrix}, +$$ + +$M_{ij},A_{ij}$ 分别是 $D$ 中元素 $a_{ij}$ 的余子式和代数余子式,试求: + +1. $4M_{42}+2M_{43}+2M_{44}$ + + *** + +2. $A_{41}+A_{42}+A_{43}+A_{44}$ + +*** + +### 四、(本题满分 8 分) + +已知 $a^2\ne b^2$,证明方程组: + +$$ +\left\{ +\begin{aligned} +ax_1+bx_{2n} &= 1,\\ +ax_2+bx_{2n-1} &= 1,\\ +&\cdots\\ +ax_n+bx_{n+1} &= 1,\\ +bx_n+ax_{n+1} &= 1,\\ +&\cdots\\ +bx_2+ax_{2n-1} &= 1,\\ +bx_1+ax_{2n} &= 1 +\end{aligned} +\right. +$$ + +有唯一解,并求解。 + +*** + +### 五、(本题满分 7 分) + +问 $\lambda,\mu$ 取何值时,齐次线性方程组 + +$$ +\left\{ +\begin{aligned} +\lambda x_1+x_2+x_3 &= 0,\\ +x_1+\mu x_2+x_3 &= 0,\\ +x_1+2\mu x_2+x_3 &= 0 +\end{aligned} +\right. +$$ + +有非零解? + +*** + +### 六、(本题满分 15 分) + +设 $n$ 阶方阵 + +$$ +A= +\begin{pmatrix} +2a & 1 & 0 & \cdots & 0 \\ +a^2 & 2a & 1 & \ddots & \vdots \\ +0 & a^2 & 2a & \ddots & 0 \\ +\vdots & \ddots & \ddots & \ddots & 1 \\ +0 & \cdots & 0 & a^2 & 2a +\end{pmatrix}. +$$ + +1. 求 $\det(A)$。 + + *** + +2. 若方程组 $Ax=b$ 有唯一解,$a$ 应该如何取值,其中 $b=(1,0,\cdots,0)^T$。 + + *** + +3. 求方程组的解。 + +*** + +### 七、(本题满分 10 分) + +设 $\alpha=(-1,0,1)^T$,矩阵 $A=3I-\alpha\alpha^T$。 + +1. 求矩阵 $A$; + + *** + +2. $A$ 是否可逆?若可逆,求 $A^{-1}$。 + +*** + +### 八、(本题满分 10 分) + +设 $n$ 阶方阵 $A,B$ 和 $A+B$ 均可逆,证明: + +1. $A^{-1}+B^{-1}$ 也可逆,且 + + $$ + (A^{-1}+B^{-1})^{-1}=A(A+B)^{-1}B=B(A+B)^{-1}A; + $$ + + *** + +2. + + $$ + (A+B)^{-1}=A^{-1}-A^{-1}(A^{-1}+B^{-1})^{-1}A^{-1} + $$ + +*** + +### 九、(本题满分 15 分) + +设 $n$ 阶方阵 $A,B$ 满足 $A+B=AB$。 + +1. 证明:$A-I$ 可逆。 + + *** + +2. 证明:$AB=BA$。 + + *** + +3. 若 + + $$ + B= + \begin{pmatrix} + 1 & 2 & 0 \\ + 3 & 4 & 0 \\ + 0 & 0 & 5 + \end{pmatrix}, + $$ + + 求 $A$。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..1d528ad --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,981 @@ +--- +title: 2024-2025学年上学期期中 +--- + +## 2024-2025学年上学期期中试卷(A)(含答案) + +### 一、(7 分) + +计算 $n$ 阶行列式 + +$$ +D_n = +\begin{vmatrix} +1+a_1 & 1 & \cdots & 1 \\ +1 & 1+a_2 & \cdots & 1 \\ +\vdots & \vdots & \ddots & \vdots \\ +1 & 1 & \cdots & 1+a_n +\end{vmatrix}, +$$ + +其中 $a_1a_2\cdots a_n \ne 0$。 + +
+解: + +利用行列式性质直接将它化成“爪”型行列式。第 2 行,第 3 行,$\cdots$,第 $n$ 行分别减去第 1 行,得 + +$$ +D_n = +\begin{vmatrix} +1+a_1 & 1 & 1 & \cdots & 1 \\ +-a_1 & a_2 & 0 & \cdots & 0 \\ +-a_1 & 0 & a_3 & \cdots & 0 \\ +\vdots & \vdots & \vdots & \ddots & \vdots \\ +-a_1 & 0 & 0 & \cdots & a_n +\end{vmatrix}. +$$ + +将第 $i$ 行分别提出因子 $a_i(i=2,\cdots,n)$,得 + +$$ +D_n = a_2a_3\cdots a_n +\begin{vmatrix} +1+a_1 & 1 & 1 & \cdots & 1 \\ +-\dfrac{a_1}{a_2} & 1 & 0 & \cdots & 0 \\ +-\dfrac{a_1}{a_3} & 0 & 1 & \cdots & 0 \\ +\vdots & \vdots & \vdots & \ddots & \vdots \\ +-\dfrac{a_1}{a_n} & 0 & 0 & \cdots & 1 +\end{vmatrix}. +$$ + +将第 1 行分别减去第 2 行、第 3 行、$\cdots$、第 $n$ 行,得 + +$$ +\begin{aligned} +D_n +&= a_2a_3\cdots a_n +\begin{vmatrix} +1+a_1+\displaystyle\sum_{i=2}^{n}\frac{a_1}{a_i} & 0 & 0 & \cdots & 0 \\ +-\dfrac{a_1}{a_2} & 1 & 0 & \cdots & 0 \\ +-\dfrac{a_1}{a_3} & 0 & 1 & \cdots & 0 \\ +\vdots & \vdots & \vdots & \ddots & \vdots \\ +-\dfrac{a_1}{a_n} & 0 & 0 & \cdots & 1 +\end{vmatrix} \\ +&= a_2a_3\cdots a_n +\left(1+a_1+\sum_{i=2}^{n}\frac{a_1}{a_i}\right) \\ +&= a_1a_2\cdots a_n +\left(1+\sum_{i=1}^{n}\frac{1}{a_i}\right). +\end{aligned} +$$ + +
+ +*** + +### 二、(14 分) + +(1)(7 分)计算 $n$ 阶行列式 + +$$ +D_n = +\begin{vmatrix} +x & -1 & 0 & \cdots & 0 & 0 & 0 \\ +0 & x & -1 & \cdots & 0 & 0 & 0 \\ +0 & 0 & x & \cdots & 0 & 0 & 0 \\ +\vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ +0 & 0 & 0 & \cdots & x & -1 & 0 \\ +0 & 0 & 0 & \cdots & 0 & x & -1 \\ +a_n & a_{n-1} & a_{n-2} & \cdots & a_3 & a_2 & a_1 +\end{vmatrix}. +$$ + +(2)(7 分)计算 $n$ 阶三对角行列式 + +$$ +D_n = +\begin{vmatrix} +a+b & ab & 0 & \cdots & 0 & 0 & 0 \\ +1 & a+b & ab & \cdots & 0 & 0 & 0 \\ +0 & 1 & a+b & \cdots & 0 & 0 & 0 \\ +\vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ +0 & 0 & 0 & \cdots & 1 & a+b & ab \\ +0 & 0 & 0 & \cdots & 0 & 1 & a+b +\end{vmatrix}. +$$ + +
+解: + +(1)由第 1 列展开: + +$$ +D_n = xD_{n-1}+(-1)^{n+1}a_n +\begin{vmatrix} +-1 & 0 & \cdots & 0 & 0 \\ +x & -1 & \cdots & 0 & 0 \\ +\vdots & \vdots & \ddots & \vdots & \vdots \\ +0 & 0 & \cdots & x & -1 +\end{vmatrix}. +$$ + +于是 + +$$ +\begin{aligned} +D_n +&= xD_{n-1}+(-1)^{n+1}a_n\cdot(-1)^{n-1} \\ +&= a_n+xD_{n-1} \\ +&= a_n+x(xD_{n-2}+a_{n-1}) \\ +&= \cdots \\ +&= a_n+a_{n-1}x+\cdots+a_2x^{n-2}+x^{n-1}D_1 \\ +&= a_n+a_{n-1}x+\cdots+a_1x^{n-1}. +\end{aligned} +$$ + +(2)按第一行展开得 + +$$ +D_n=(a+b)D_{n-1}-abD_{n-2}. +$$ + +则 + +$$ +D_n-aD_{n-1}=b(D_{n-1}-aD_{n-2}). +$$ + +又 + +$$ +D_1=a+b,\qquad +D_2= +\begin{vmatrix} +a+b & ab \\ +1 & a+b +\end{vmatrix} +=a^2+ab+b^2, +$$ + +所以 + +$$ +D_n-aD_{n-1}=b^{n-2}(D_2-aD_1)=b^n. +$$ + +因此 + +$$ +D_n=aD_{n-1}+b^n=\cdots=a^n+a^{n-1}b+\cdots+ab^{n-1}+b^n. +$$ + +
+ +*** + +### 三、(7 分) + +设 + +$$ +D = +\begin{vmatrix} +1 & 2 & 3 & 4 \\ +5 & 6 & 7 & 8 \\ +2 & 3 & 4 & 5 \\ +6 & 7 & 8 & 9 +\end{vmatrix}, +$$ + +求 $3A_{12}+7A_{22}+4A_{32}+8A_{42}$,其中 $A_{i2}(i=1,2,3,4)$ 为 $D$ 中元素 $a_{i2}$ 的代数余子式。 + +
+解: + +解法一:因为 $A_{i2}$ 为 $D$ 中元素 $a_{i2}$ 的代数余子式 $(i=1,2,3,4)$,故将 $D$ 中第 2 列的元素依次换为 $3,7,4,8$,即得 + +$$ +3A_{12}+7A_{22}+4A_{32}+8A_{42} += +\begin{vmatrix} +1 & 3 & 3 & 4 \\ +5 & 7 & 7 & 8 \\ +2 & 4 & 4 & 5 \\ +6 & 8 & 8 & 9 +\end{vmatrix} +=0. +$$ + +解法二:因 $3,7,4,8$ 恰为 $D$ 中第 3 列元素,而 $A_{12},A_{22},A_{32},A_{42}$ 为 $D$ 中第 2 列元素的代数余子式,故 $3A_{12}+7A_{22}+4A_{32}+8A_{42}$ 表示 $D$ 中第 3 列元素与第 2 列的对应元素的代数余子式乘积的和,则 + +$$ +3A_{12}+7A_{22}+4A_{32}+8A_{42}=0. +$$ + +
+ +*** + +### 四、(14 分) + +证明: + +(1)(6 分) + +$$ +\begin{vmatrix} +a^2 & ab & b^2 \\ +2a & a+b & 2b \\ +1 & 1 & 1 +\end{vmatrix} +=(a-b)^3. +$$ + +(2)(8 分) + +$$ +\begin{vmatrix} +ax+by & ay+bz & az+bx \\ +ay+bz & az+bx & ax+by \\ +az+bx & ax+by & ay+bz +\end{vmatrix} +=(a^3+b^3) +\begin{vmatrix} +x & y & z \\ +y & z & x \\ +z & x & y +\end{vmatrix}. +$$ + +
+解: + +(1)证明: + +$$ +\begin{aligned} +\text{左} +&=a^2(a+b)+2ab^2+2ab^2-b^2(a+b)-2a^2b-2ba^2 \\ +&=a^3+3ab^2-3a^2b-b^3 \\ +&=(a-b)^3=\text{右}. +\end{aligned} +$$ + +故原式成立。 + +(2)思路分析:基本思路是拆分行列式,将左边的行列式拆分为 8 个行列式,由左往右证。 + +$$ +\begin{aligned} +\text{左} +&= +\begin{vmatrix} +ax & ay & az \\ +ay & az & ax \\ +az & ax & ay +\end{vmatrix} ++ +\begin{vmatrix} +ax & ay & bx \\ +ay & az & by \\ +az & ax & bz +\end{vmatrix} ++ +\begin{vmatrix} +ax & bz & az \\ +ay & bx & ax \\ +az & by & ay +\end{vmatrix} ++ +\begin{vmatrix} +ax & bz & bx \\ +ay & bx & by \\ +az & by & bz +\end{vmatrix} \\ +&\quad+ +\begin{vmatrix} +by & ay & az \\ +bz & az & ax \\ +bx & ax & ay +\end{vmatrix} ++ +\begin{vmatrix} +by & ay & bx \\ +bz & az & by \\ +bx & ax & bz +\end{vmatrix} ++ +\begin{vmatrix} +by & bz & az \\ +bz & bx & ax \\ +bx & by & ay +\end{vmatrix} ++ +\begin{vmatrix} +by & bz & bx \\ +bz & bx & by \\ +bx & by & bz +\end{vmatrix} \\ +&=a^3 +\begin{vmatrix} +x & y & z \\ +y & z & x \\ +z & x & y +\end{vmatrix} ++b^3 +\begin{vmatrix} +y & z & x \\ +z & x & y \\ +x & y & z +\end{vmatrix}. +\end{aligned} +$$ + +将上式右边第二个行列式 $c_1\leftrightarrow c_3,\ c_2\leftrightarrow c_3$,得 + +$$ +\text{左} +=(a^3+b^3) +\begin{vmatrix} +x & y & z \\ +y & z & x \\ +z & x & y +\end{vmatrix}. +$$ + +
+ +*** + +### 五、(7 分) + +设 $J$ 是元素全为 $1$ 的 $n(n\ge 2)$ 阶方阵,证明 $E-J$ 是可逆方阵,且 + +$$ +(E-J)^{-1}=E-\frac{1}{n-1}J, +$$ + +其中 $E$ 是与 $J$ 同阶的单位矩阵。 + +
+解: + +证明:$E-J$ 对应的行列式为 + +$$ +|E-J|= +\begin{vmatrix} +0 & -1 & \cdots & -1 \\ +-1 & 0 & \cdots & -1 \\ +\vdots & \vdots & \ddots & \vdots \\ +-1 & -1 & \cdots & 0 +\end{vmatrix} +=-(n-1) +\begin{vmatrix} +1 & 1 & \cdots & 1 \\ +0 & 1 & \cdots & 0 \\ +\vdots & \vdots & \ddots & \vdots \\ +0 & 0 & \cdots & 1 +\end{vmatrix} +=-(n-1)\ne 0, +$$ + +故 $E-J$ 可逆。 + +又 + +$$ +J^2=nJ. +$$ + +由 + +$$ +\begin{aligned} +(E-J)\left(E-\frac{1}{n-1}J\right) +&=E-\frac{1}{n-1}J-J+\frac{1}{n-1}J^2 \\ +&=E-\frac{n}{n-1}J+\frac{n}{n-1}J \\ +&=E, +\end{aligned} +$$ + +故 + +$$ +(E-J)^{-1}=E-\frac{1}{n-1}J. +$$ + +
+ +*** + +### 六、(6 分) + +设 $n$ 阶矩阵 $A$ 可逆,证明其伴随矩阵 $A^*$ 也可逆,且 + +$$ +(A^*)^{-1}=(A^{-1})^*. +$$ + +
+解: + +证明:因为 $AA^*=|A|E$,$A$ 可逆,$|A|\ne 0$,有 + +$$ +|A||A^*|=\left||A|E\right|. +$$ + +即 + +$$ +|A|\cdot |A^*|=|A|^n,\qquad |A^*|=|A|^{n-1}\ne 0. +$$ + +所以 $A^*$ 可逆,且 + +$$ +A^*=|A|A^{-1}. +$$ + +则 + +$$ +(A^*)^{-1}=(|A|A^{-1})^{-1}=\frac{1}{|A|}A. +$$ + +而 + +$$ +(A^{-1})^*=|A^{-1}|(A^{-1})^{-1}=\frac{1}{|A|}A. +$$ + +故 + +$$ +(A^*)^{-1}=(A^{-1})^*. +$$ + +
+ +*** + +### 七、(10 分) + +设矩阵 + +$$ +A= +\begin{pmatrix} +a & 1 & 0 \\ +1 & a & -1 \\ +0 & 1 & a +\end{pmatrix}, +$$ + +且 $A^3=0$。 + +(1)(4 分)求 $a$ 的值; + +(2)(6 分)若矩阵 $X$ 满足 $X-XA^2-AX+AXA^2=E$,$E$ 为 3 阶单位阵,求 $X$。 + +
+解: + +(1)$A^3=O$,$|A|=0$,即 + +$$ +\begin{vmatrix} +a & 1 & 0 \\ +1 & a & -1 \\ +0 & 1 & a +\end{vmatrix} += +\begin{vmatrix} +0 & 1 & 0 \\ +1-a^2 & a & -1 \\ +-a & 1 & a +\end{vmatrix} +=a^3=0. +$$ + +故 $a=0$。 + +(2)由题意知 + +$$ +X-XA^2-AX+AXA^2=E, +$$ + +即 + +$$ +X(E-A^2)-AX(E-A^2)=E, +$$ + +所以 + +$$ +(E-A)X(E-A^2)=E. +$$ + +则 + +$$ +X=(E-A)^{-1}(E-A^2)^{-1}=[(E-A^2)(E-A)]^{-1}=(E-A^2-A)^{-1}. +$$ + +故 + +$$ +X= +\begin{pmatrix} +0 & -1 & 1 \\ +-1 & 1 & 1 \\ +-1 & -1 & 2 +\end{pmatrix}^{-1} += +\begin{pmatrix} +3 & 1 & -2 \\ +1 & 1 & -1 \\ +2 & 1 & -1 +\end{pmatrix}. +$$ + +
+ +*** + +### 八、(10 分) + +设 + +$$ +\begin{cases} +(2-\lambda)x_1+2x_2-2x_3=1,\\ +2x_1+(5-\lambda)x_2-4x_3=2,\\ +-2x_1-4x_2+(5-\lambda)x_3=-\lambda-1, +\end{cases} +$$ + +求 $\lambda$ 为何值时此方程组有唯一解、无解或无限多解,并在无限多解时求其通解。 + +
+解: + +系数行列式 + +$$ +|A|= +\begin{vmatrix} +2-\lambda & 2 & -2 \\ +2 & 5-\lambda & -4 \\ +-2 & -4 & 5-\lambda +\end{vmatrix} +=-(\lambda-1)^2(\lambda-10). +$$ + +(1)当 $\lambda\ne 1$ 且 $\lambda\ne 10$ 时,$|A|\ne 0$,方程组有唯一解。 + +(2)当 $\lambda=10$ 时, + +$$ +\begin{pmatrix} +-8 & 2 & -2 & 1 \\ +2 & -5 & -4 & 2 \\ +-2 & -4 & -5 & -11 +\end{pmatrix} +\to +\begin{pmatrix} +2 & -5 & -4 & 2 \\ +0 & -18 & -18 & 9 \\ +0 & -9 & -9 & -9 +\end{pmatrix} +\to +\begin{pmatrix} +2 & -5 & -4 & 2 \\ +0 & 1 & 1 & 1 \\ +0 & 0 & 0 & 1 +\end{pmatrix}. +$$ + +此时 $R(A)=2\ne 3=R(B)$,方程组无解。 + +(3)当 $\lambda=1$ 时, + +$$ +\begin{pmatrix} +1 & 2 & -2 & 1 \\ +2 & 4 & -4 & 2 \\ +-2 & -4 & 4 & -2 +\end{pmatrix} +\to +\begin{pmatrix} +1 & 2 & -2 & 1 \\ +0 & 0 & 0 & 0 \\ +0 & 0 & 0 & 0 +\end{pmatrix}. +$$ + +此时 $R(A)=R(B)=1<3$,方程组有无限多解,通解为 + +$$ +\begin{pmatrix} +x_1\\ +x_2\\ +x_3 +\end{pmatrix} +=k_1 +\begin{pmatrix} +-2\\ +1\\ +0 +\end{pmatrix} ++k_2 +\begin{pmatrix} +2\\ +0\\ +1 +\end{pmatrix} ++ +\begin{pmatrix} +1\\ +0\\ +0 +\end{pmatrix}, +$$ + +其中 $k_1,k_2$ 为任意常数。 + +
+ +*** + +### 九、(8 分) + +设 $n$ 阶矩阵 $A$ 和 $B$ 满足条件 $A+B=AB$。 + +(1)(3 分)证明:$A-E$ 为可逆矩阵,其中 $E$ 为 $n$ 阶单位矩阵; + +(2)(5 分)已知 + +$$ +B= +\begin{pmatrix} +1 & -3 & 0 \\ +2 & 1 & 0 \\ +0 & 0 & 2 +\end{pmatrix}, +$$ + +求矩阵 $A$。 + +
+解: + +(1)证明:由 $A+B=AB$,则 + +$$ +AB-A-B+E=(A-E)(B-E)=E. +$$ + +故 $A-E$ 可逆。 + +(2)由(1)知 + +$$ +A-E=(B-E)^{-1}. +$$ + +故 + +$$ +\begin{aligned} +A +&=E+(B-E)^{-1} \\ +&= +\begin{pmatrix} +1 & 0 & 0 \\ +0 & 1 & 0 \\ +0 & 0 & 1 +\end{pmatrix} ++ +\begin{pmatrix} +0 & -3 & 0 \\ +2 & 0 & 0 \\ +0 & 0 & 1 +\end{pmatrix}^{-1} \\ +&= +\begin{pmatrix} +1 & 0 & 0 \\ +0 & 1 & 0 \\ +0 & 0 & 1 +\end{pmatrix} ++ +\begin{pmatrix} +0 & \dfrac{1}{2} & 0 \\ +-\dfrac{1}{3} & 0 & 0 \\ +0 & 0 & 1 +\end{pmatrix} \\ +&= +\begin{pmatrix} +1 & \dfrac{1}{2} & 0 \\ +-\dfrac{1}{3} & 1 & 0 \\ +0 & 0 & 2 +\end{pmatrix}. +\end{aligned} +$$ + +
+ +*** + +### 十、(7 分) + +证明 $R(A)=1$ 的充要条件是存在非零列向量 $\alpha$ 及非零行向量 $\beta^T$,使 + +$$ +A=\alpha\beta^T. +$$ + +
+解: + +充分性:令 + +$$ +\alpha=(a_1,a_2,\cdots,a_m)^T,\qquad +\beta=(b_1,b_2,\cdots,b_n)^T. +$$ + +由于 $\alpha,\beta^T$ 非零,故 + +$$ +A=\alpha\beta^T=(a_ib_j)\ne O +$$ + +且 $R(\alpha)=R(\beta^T)=1$,从而 + +$$ +1\le R(A)=R(\alpha\beta^T)\le \min(R(\alpha),R(\beta^T))=1. +$$ + +所以 $R(A)=1$。 + +必要性:设 $A$ 为 $m\times n$ 矩阵,因 $R(A)=1$,故存在 $m,n$ 阶可逆矩阵 $P$ 和 $Q$,使得 + +$$ +A=P +\begin{pmatrix} +1\\ +0\\ +\vdots\\ +0 +\end{pmatrix} +(1,0,\cdots,0)Q. +$$ + +记 + +$$ +P=(p_1,p_2,\cdots,p_m),\qquad +Q= +\begin{pmatrix} +q_1^T\\ +q_2^T\\ +\vdots\\ +q_n^T +\end{pmatrix}, +$$ + +则 + +$$ +A=p_1q_1^T. +$$ + +令 $\alpha=p_1,\ \beta=q_1$,因此存在非零列向量 $\alpha$ 及非零行向量 $\beta^T$,使得 + +$$ +A=\alpha\beta^T. +$$ + +
+ +*** + +### 十一、(10 分) + +设 + +$$ +A= +\begin{pmatrix} +1 & a \\ +1 & 0 +\end{pmatrix}, +\qquad +B= +\begin{pmatrix} +0 & 1 \\ +1 & b +\end{pmatrix}, +$$ + +当 $a,b$ 为何值时,存在矩阵 $C$ 使得 $AC-CA=B$,并求所有矩阵 $C$。 + +
+解: + +设矩阵 + +$$ +C= +\begin{pmatrix} +x_1 & x_2 \\ +x_3 & x_4 +\end{pmatrix}. +$$ + +则 + +$$ +AC= +\begin{pmatrix} +1 & a \\ +1 & 0 +\end{pmatrix} +\begin{pmatrix} +x_1 & x_2 \\ +x_3 & x_4 +\end{pmatrix} += +\begin{pmatrix} +x_1+ax_3 & x_2+ax_4 \\ +x_1 & x_2 +\end{pmatrix}, +$$ + +$$ +CA= +\begin{pmatrix} +x_1 & x_2 \\ +x_3 & x_4 +\end{pmatrix} +\begin{pmatrix} +1 & a \\ +1 & 0 +\end{pmatrix} += +\begin{pmatrix} +x_1+x_2 & ax_1 \\ +x_3+x_4 & ax_3 +\end{pmatrix}. +$$ + +于是 + +$$ +AC-CA= +\begin{pmatrix} +ax_3-x_2 & ax_4-ax_1+x_2 \\ +x_1-x_3-x_4 & x_2-ax_3 +\end{pmatrix}. +$$ + +由 $AC-CA=B$,得 + +$$ +\begin{cases} +-x_2+ax_3=0,\\ +-ax_1+x_2+ax_4=1,\\ +x_1-x_3-x_4=1,\\ +x_2-ax_3=b. +\end{cases} +$$ + +此为四元非齐次线性方程组,欲使得矩阵 $C$ 存在,则此非齐次线性方程组必有解,而该非齐次线性方程对应的增广矩阵为 + +$$ +\overline{A}= +\begin{pmatrix} +0 & -1 & a & 0 & 0 \\ +-a & 1 & 0 & a & 1 \\ +1 & 0 & -1 & -1 & 1 \\ +0 & 1 & -a & 0 & b +\end{pmatrix} +\to +\begin{pmatrix} +1 & 0 & -1 & -1 & 1 \\ +0 & 1 & -a & 0 & 0 \\ +0 & 0 & 0 & 0 & b \\ +0 & 0 & 0 & 0 & 1+a +\end{pmatrix}. +$$ + +所以当 $1+a=0,\ b=0$,即 $a=-1,\ b=0$ 时,非齐次线性方程组有解,存在矩阵 $C$,使得 $AC-CA=B$。 + +又 + +$$ +\overline{A}\to +\begin{pmatrix} +1 & 0 & -1 & -1 & 1 \\ +0 & 1 & 1 & 0 & 0 \\ +0 & 0 & 0 & 0 & 0 \\ +0 & 0 & 0 & 0 & 0 +\end{pmatrix}. +$$ + +所以 + +$$ +\begin{pmatrix} +x_1\\ +x_2\\ +x_3\\ +x_4 +\end{pmatrix} +=c_1 +\begin{pmatrix} +1\\ +-1\\ +1\\ +0 +\end{pmatrix} ++c_2 +\begin{pmatrix} +1\\ +0\\ +0\\ +1 +\end{pmatrix} ++ +\begin{pmatrix} +1\\ +0\\ +0\\ +0 +\end{pmatrix} += +\begin{pmatrix} +c_1+c_2+1\\ +-c_1\\ +c_1\\ +c_2 +\end{pmatrix}. +$$ + +所以 + +$$ +C= +\begin{pmatrix} +c_1+c_2+1 & -c_1 \\ +c_1 & c_2 +\end{pmatrix}, +$$ + +其中 $c_1,c_2$ 为任意实数。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" index a1383b4..a155147 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -1,185 +1,1303 @@ --- -title: 2025-2026学年上学期期中试卷 +title: 2025-2026学年上学期期中 --- +## 2025-2026学年上学期期中试卷(含答案) + ### 一、 -1. 计算四阶行列式 $D = -\begin{vmatrix} -1 & 2 & 3 & 2 \\ -1 & 2 & 0 & -5 \\ -1 & 0 & 1 & 2 \\ -4 & 3 & 1 & 2 -\end{vmatrix} -$ -2. 证明$ -\begin{vmatrix} -a & b & c & d \\ -a & a + b & a + b + c & a + b + c + d \\ -a & 2a + b & 3a + 2b + c & 4a + 3b + 2c + d \\ -a & 3a + b & 6a + 3b + c & 10a + 6b + 3c + d \\ -\end{vmatrix} = a^4 -$ - -### 二 - -1. 计算四阶行列式 $D_4 = -\begin{vmatrix} -a_1^3 & a_2^3 & a_3^3 & a_4^3 \\ -a_1^2b_1 & a_2^2b_2 & a_3^2b_3 & a_4^2b_4 \\ -a_1b_1^2 & a_2b_2^2 & a_3b_3^2 & a_4b_4^2 \\ -b_1^3 & b_2^3 & b_3^3 & b_4^3 -\end{vmatrix}, a_i \not= 0,(i = 1,2,3,4) -$ +1. 计算四阶行列式 $D$: + + $$ + D = + \begin{vmatrix} + 1 & 2 & 3 & 2 \\ + 1 & 2 & 0 & -5 \\ + 1 & 0 & 1 & 2 \\ + 4 & 3 & 1 & 2 + \end{vmatrix} + $$ + +
+ 解: + + $$ + D = + \left| + \begin{matrix} + 1 & 2 & 3 & 2 \\ + 1 & 2 & 0 & -5 \\ + 1 & 0 & 1 & 2 \\ + 4 & 3 & 1 & 2 + \end{matrix} + \right|. + $$ + + 作行变换: + + $$ + \begin{aligned} + R_2 &\leftarrow R_2 - R_1, \\ + R_3 &\leftarrow R_3 - R_1, \\ + R_4 &\leftarrow R_4 - 4R_1. + \end{aligned} + $$ + + 得到: + + $$ + D = + \left| + \begin{matrix} + 1 & 2 & 3 & 2 \\ + 0 & 0 & -3 & -7 \\ + 0 & -2 & -2 & 0 \\ + 0 & -5 & -11 & -6 + \end{matrix} + \right|. + $$ + + 沿第一列展开: + + $$ + D = + \left| + \begin{matrix} + 0 & -3 & -7 \\ + -2 & -2 & 0 \\ + -5 & -11 & -6 + \end{matrix} + \right|. + $$ + + 继续计算三阶行列式: + + $$ + \begin{aligned} + D + &= 0 \cdot + \left| + \begin{matrix} + -2 & 0 \\ + -11 & -6 + \end{matrix} + \right| + - (-3) + \left| + \begin{matrix} + -2 & 0 \\ + -5 & -6 + \end{matrix} + \right| + + (-7) + \left| + \begin{matrix} + -2 & -2 \\ + -5 & -11 + \end{matrix} + \right| \\ + &= 3 \bigl( (-2)(-6) - 0 \cdot (-5) \bigr) + - 7 \bigl( (-2)(-11) - (-2)(-5) \bigr) \\ + &= 3 \cdot 12 - 7 \cdot (22 - 10) \\ + &= 36 - 84 \\ + &= -48. + \end{aligned} + $$ + + 因此, + + $$ + \boxed{D = -48}. + $$ + +
+ + *** + +2. 证明 + + $$ + \begin{vmatrix} + a & b & c & d \\ + a & a + b & a + b + c & a + b + c + d \\ + a & 2a + b & 3a + 2b + c & 4a + 3b + 2c + d \\ + a & 3a + b & 6a + 3b + c & 10a + 6b + 3c + d \\ + \end{vmatrix} = a^4 + $$ + +
+ 解: + + 设 + + $$ + D = + \left| + \begin{matrix} + a & b & c & d \\ + a & a+b & a+b+c & a+b+c+d \\ + a & 2a+b & 3a+2b+c & 4a+3b+2c+d \\ + a & 3a+b & 6a+3b+c & 10a+6b+3c+d + \end{matrix} + \right| + $$ + + 对行列式作初等行变换: + + $$ + \begin{aligned} + R_2 &\leftarrow R_2 - R_1, \\ + R_3 &\leftarrow R_3 - R_1, \\ + R_4 &\leftarrow R_4 - R_1. + \end{aligned} + $$ + + 得: + + $$ + D = + \left| + \begin{matrix} + a & b & c & d \\ + 0 & a & a+b & a+b+c \\ + 0 & 2a & 3a+2b & 4a+3b+2c \\ + 0 & 3a & 6a+3b & 10a+6b+3c + \end{matrix} + \right|. + $$ + + 沿第一列展开: + + $$ + D = + a \cdot + \left| + \begin{matrix} + a & a+b & a+b+c \\ + 2a & 3a+2b & 4a+3b+2c \\ + 3a & 6a+3b & 10a+6b+3c + \end{matrix} + \right|. + $$ + + 继续作行变换: + + $$ + \begin{aligned} + R_2 &\leftarrow R_2 - 2R_1,\\ + R_3 &\leftarrow R_3 - 3R_1. + \end{aligned} + $$ + + 得: + + $$ + D = + a \cdot + \left| + \begin{matrix} + a & a+b & a+b+c \\ + 0 & a & 2a+b \\ + 0 & 3a & 7a+3b + \end{matrix} + \right|. + $$ + + 再作: + + $$ + R_3 \leftarrow R_3 - 3R_2. + $$ + + 得到: + + $$ + D = + a \cdot + \left| + \begin{matrix} + a & a+b & a+b+c \\ + 0 & a & 2a+b \\ + 0 & 0 & a + \end{matrix} + \right|. + $$ + + 因此: + + $$ + D = a \cdot a \cdot a \cdot a = a^4. + $$ + +
+ +*** + +### 二、 + +1. 计算四阶行列式 + + $$ + D_4 = + \begin{vmatrix} + a_1^3 & a_2^3 & a_3^3 & a_4^3 \\ + a_1^2b_1 & a_2^2b_2 & a_3^2b_3 & a_4^2b_4 \\ + a_1b_1^2 & a_2b_2^2 & a_3b_3^2 & a_4b_4^2 \\ + b_1^3 & b_2^3 & b_3^3 & b_4^3 + \end{vmatrix}, a_i \not= 0,(i = 1,2,3,4) + $$ + +
+ 解: + + 由齐次特征想到范德蒙德行列式:由于 $a_i \neq 0$,从第 $j$ 列 ($j=1,2,3,4$) 分别提出公因子 $a_j^3$: + + $$ + \begin{aligned} + D_4 + &= a_1^3 a_2^3 a_3^3 a_4^3 + \left| + \begin{matrix} + 1 & 1 & 1 & 1 \\ + \frac{b_1}{a_1} & \frac{b_2}{a_2} & \frac{b_3}{a_3} & \frac{b_4}{a_4} \\ + (\frac{b_1}{a_1})^2 & (\frac{b_2}{a_2})^2 & (\frac{b_3}{a_3})^2 & (\frac{b_4}{a_4})^2 \\ + (\frac{b_1}{a_1})^3 & (\frac{b_2}{a_2})^3 & (\frac{b_3}{a_3})^3 & (\frac{b_4}{a_4})^3 + \end{matrix} + \right| \\ + \end{aligned} + $$ + + 得到标准形式。令 $x_i = \frac{b_i}{a_i}$,根据范德蒙德行列式公式 $\prod_{1 \le j < i \le n} (x_i - x_j)$,有: + + $$ + \begin{aligned} + D_4 + &= \left( \prod_{k=1}^4 a_k^3 \right) \cdot \prod_{1 \le j < i \le 4} \left( \frac{b_i}{a_i} - \frac{b_j}{a_j} \right) \\ + &= \left( \prod_{k=1}^4 a_k^3 \right) \cdot \prod_{1 \le j < i \le 4} \frac{a_j b_i - a_i b_j}{a_i a_j}. + \end{aligned} + $$ + + 在上述乘积中,分母部分的所有 $a_i a_j$ 乘积恰好等于 $\prod_{k=1}^4 a_k^3$(因为在 $n=4$ 的组合中,每个下标出现 3 次)。约分得: + + $$ + \boxed{D_4 = \prod_{1 \le j < i \le 4} (a_j b_i - a_i b_j)}. + $$ + +
+ + *** + 2. 计算 $f(x+1) - f(x)$, 其中 -$$ -f(x) = \begin{vmatrix} -1 & 0 & 0 & 0 & \cdots & 0 & x \\ -1 & 2 & 0 & 0 & \cdots & 0 & x^2 \\ -1 & 3 & 3 & 0 & \cdots & 0 & x^3 \\ -\vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ -1 & n & C_n^2 & C_n^3 & \cdots & C_n^{n-1} & x^n \\ -1 & n + 1 & C_{n+1}^2 & C_{n+1}^3 & \cdots & C_{n+1}^{n-1} & n^{n+1} -\end{vmatrix} -$$ + $$ + f(x) = \begin{vmatrix} + 1 & 0 & 0 & 0 & \cdots & 0 & x \\ + 1 & 2 & 0 & 0 & \cdots & 0 & x^2 \\ + 1 & 3 & 3 & 0 & \cdots & 0 & x^3 \\ + \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + 1 & n & C_n^2 & C_n^3 & \cdots & C_n^{n-1} & x^n \\ + 1 & n + 1 & C_{n+1}^2 & C_{n+1}^3 & \cdots & C_{n+1}^{n-1} & x^{n+1} + \end{vmatrix} + $$ + +
+ 解: + + 根据行列式的性质,利用线性性质对最后一列进行运算: + $$ + f(x+1) - f(x) = + \begin{vmatrix} + 1 & 0 & 0 & \cdots & 0 & (x+1) - x \\ + 1 & 2 & 0 & \cdots & 0 & (x+1)^2 - x^2 \\ + 1 & 3 & 3 & \cdots & 0 & (x+1)^3 - x^3 \\ + \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + 1 & n & C_n^2 & \cdots & C_n^{n-1} & (x+1)^n - x^n \\ + 1 & n + 1 & C_{n+1}^2 & \cdots & C_{n+1}^{n-1} & (x+1)^{n+1} - x^{n+1} + \end{vmatrix} + $$ + + 利用二项式展开公式 $(x+1)^k - x^k = kx^{k-1} + C_k^2 x^{k-2} + \cdots + 1$,最后一列的第 $k$ 行元素为一个关于 $x$ 的 $k-1$ 次多项式。 + + 观察前 $n$ 列构成的子矩阵是一个下三角矩阵,主对角线元素分别为 $1, 2, 3, \cdots, n$。我们可以通过**列变换**将最后一列的大部分项消去: + + 1. 利用第 1 列消去最后一列中的常数项。 + 2. 利用第 2 列消去最后一列中的一次项。 + 3. 以此类推,利用第 $j$ 列消去最后一列中的 $j-1$ 次项。 + + 经过上述列变换整理后,行列式变为下三角行列式: + + $$ + \begin{vmatrix} + 1 & 0 & 0 & \cdots & 0 & 0 \\ + 1 & 2 & 0 & \cdots & 0 & 0 \\ + 1 & 3 & 3 & \cdots & 0 & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + 1 & n & C_n^2 & \cdots & n & 0 \\ + 1 & n + 1 & C_{n+1}^2 & \cdots & C_{n+1}^{n-1} & (n+1)x^n + \end{vmatrix} + $$ + + 直接计算主对角线元素的乘积: + + $$ + \begin{aligned} + f(x+1) - f(x) &= 1 \times 2 \times 3 \times \cdots \times n \times (n+1)x^n \\ + &= (n+1)! x^n + \end{aligned} + $$ + + 因此, + + $$ + \boxed{f(x+1) - f(x) = (n+1)! \cdot x^n}. + $$ + +
+ + *** 3. 计算以下 $n+1$ 阶行列式: -$$ -D_{n+1} = \begin{vmatrix} -a & ax & ax^2 & \cdots & ax^{n-1} & ax^n \\ --1 & a & ax & \cdots & ax^{n-2} & ax^{n-1} \\ -0 & -1 & a & \cdots & ax^{n-1} & ax^{n-2} \\ -\vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ -0 & 0 & 0 & \cdots & a & ax \\ -0 & 0 & 0 & \cdots & -1 & a -\end{vmatrix} -$$ + $$ + D_{n+1} = \begin{vmatrix} + a & ax & ax^2 & \cdots & ax^{n-1} & ax^n \\ + -1 & a & ax & \cdots & ax^{n-2} & ax^{n-1} \\ + 0 & -1 & a & \cdots & ax^{n-1} & ax^{n-2} \\ + \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + 0 & 0 & 0 & \cdots & a & ax \\ + 0 & 0 & 0 & \cdots & -1 & a + \end{vmatrix} + $$ + +
+ 解: + + 观察行列式中第 1 行元素的规律,后一列元素是前一列元素乘以 $x$;同时观察主对角线下方元素为 $-1$,其余为 $a$ 或 $ax$ 的幂次形式。 + + 为了消去第 1 行中除 $a_{11}$ 以外的元素,我们可以从最后一列开始,依次向前作**列变换**: + + $$ + C_j \leftarrow C_j - x C_{j-1}, \quad (j = n+1, n, \cdots, 2). + $$ + + 经过上述变换,原行列式变为下三角行列式: + + $$ + D_{n+1} = + \begin{vmatrix} + a & 0 & 0 & \cdots & 0 & 0 \\ + -1 & a+x & 0 & \cdots & 0 & 0 \\ + 0 & -1 & a+x & \cdots & 0 & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ + 0 & 0 & 0 & \cdots & a+x & 0 \\ + 0 & 0 & 0 & \cdots & -1 & a+x + \end{vmatrix} + $$ -### 三 + 主对角线上第 1 个元素为 $a$,从第 2 个到第 $n+1$ 个元素均为 $a+x$,共 $n$ 个 $a+x$。 + + $$ + D_{n+1} = a \cdot \underbrace{(a+x) \cdot (a+x) \cdots (a+x)}_{n \text{个}} = a(a+x)^n. + $$ + + 因此, + + $$ + \boxed{D_{n+1} = a(a+x)^n}. + $$ + +
+ +*** + +### 三、 1. 设行列式 -$$ -D = \begin{vmatrix} -3 & 0 & 4 & 0 \\ -2 & 2 & 2 & 2 \\ -0 & -7 & 0 & 0 \\ -5 & 3 & -2 & 2 -\end{vmatrix} -$$ + $$ + D = \begin{vmatrix} + 3 & 0 & 4 & 0 \\ + 2 & 2 & 2 & 2 \\ + 0 & -7 & 0 & 0 \\ + 5 & 3 & -2 & 2 + \end{vmatrix} + $$ -求 $D$ 的第 $4$ 行元素的余子式之和 $M_{41}+M_{42}+M_{43}+M_{44}的值。$ + 求 $D$ 的第 $4$ 行元素的余子式之和 $M_{41}+M_{42}+M_{43}+M_{44}的值。$ -2.设$a_1a_2\cdots a_{n-1} \not= 0, n > 1$。试求行列式 +
+ 解: -$$ -D = -\begin{vmatrix} -x & b_1 & b_2 & \cdots & b_{n-1} \\ -1 & a_1 & 0 & \cdots & 0 \\ -1 & 0 & a_2 & \cdots & 0 \\ -\vdots & \vdots & \vdots & \ddots & \vdots \\ -1 & 0 & 0 & \cdots & a_{n-1} -\end{vmatrix} -$$ + 简单计算即可: + + 1. **计算 $M_{41}$** + $$ + M_{41} = \begin{vmatrix} + 0 & 4 & 0 \\ + 2 & 2 & 2 \\ + -7 & 0 & 0 + \end{vmatrix} + $$ + 按第 3 行展开: + $$ + M_{41} = (-7) \times (-1)^{3+1} \begin{vmatrix} 4 & 0 \\ 2 & 2 \end{vmatrix} = -7 \times (8 - 0) = -56. + $$ + + 2. **计算 $M_{42}$** + $$ + M_{42} = \begin{vmatrix} + 3 & 4 & 0 \\ + 2 & 2 & 2 \\ + 0 & 0 & 0 + \end{vmatrix} + $$ + 第 3 行全为 0,故 $M_{42} = 0$。 + + 3. **计算 $M_{43}$** + $$ + M_{43} = \begin{vmatrix} + 3 & 0 & 0 \\ + 2 & 2 & 2 \\ + 0 & -7 & 0 + \end{vmatrix} + $$ + 按第 1 行展开: + $$ + M_{43} = 3 \times (-1)^{1+1} \begin{vmatrix} 2 & 2 \\ -7 & 0 \end{vmatrix} = 3 \times (0 - (-14)) = 42. + $$ + + 4. **计算 $M_{44}$** + $$ + M_{44} = \begin{vmatrix} + 3 & 0 & 4 \\ + 2 & 2 & 2 \\ + 0 & -7 & 0 + \end{vmatrix} + $$ + 按第 3 行展开: + $$ + M_{44} = (-7) \times (-1)^{3+2} \begin{vmatrix} 3 & 4 \\ 2 & 2 \end{vmatrix} = (-7) \times (-1) \times (6 - 8) = -14. + $$ + + 求和: + $$ + \boxed{\sum_{j=1}^4 M_{4j} = -56 + 0 + 42 + (-14) = -28} + $$ + +
+ + *** + +2. 设 $a_1a_2\cdots a_{n-1} \not= 0, n > 1$ 。试求行列式 + + $$ + D = + \begin{vmatrix} + x & b_1 & b_2 & \cdots & b_{n-1} \\ + 1 & a_1 & 0 & \cdots & 0 \\ + 1 & 0 & a_2 & \cdots & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 1 & 0 & 0 & \cdots & a_{n-1} + \end{vmatrix} + $$ + + 的第一行中诸元素的代数余子式之和 $A_{11} + A_{12} + \cdots +A_{1n}$。 + +
+ 解: + + 行列式某一行(列)元素代数余子式之和,等于将该行列式中该行(列)的所有元素替换为 1 后所得的行列式的值。 + 因此,所求之和 $S$ 等于将 $D$ 的第 1 行全部换成 1 后的行列式 $D_1$: + + $$ + S = D_1 = + \begin{vmatrix} + 1 & 1 & 1 & \cdots & 1 \\ + 1 & a_1 & 0 & \cdots & 0 \\ + 1 & 0 & a_2 & \cdots & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 1 & 0 & 0 & \cdots & a_{n-1} + \end{vmatrix} + $$ + + 这是箭头型行列式,按公式变形得: -的第一行中诸元素的代数余子式之和 $A_{11} + A_{12} + \cdots +A_{1n}$。 + $$ + D_1 = + \begin{vmatrix} + 1 - \sum_{i=1}^{n-1} \frac{1}{a_i} & 1 & 1 & \cdots & 1 \\ + 0 & a_1 & 0 & \cdots & 0 \\ + 0 & 0 & a_2 & \cdots & 0 \\ + \vdots & \vdots & \vdots & \ddots & \vdots \\ + 0 & 0 & 0 & \cdots & a_{n-1} + \end{vmatrix} + $$ -### 四 + 其值等于主对角线元素的乘积: + + $$ + \begin{aligned} + S &= \boxed{\left( 1 - \sum_{i=1}^{n-1} \frac{1}{a_i} \right) \cdot \prod_{i=1}^{n-1} a_i} \\ + &= \prod_{i=1}^{n-1} a_i - \sum_{i=1}^{n-1} \left( \frac{1}{a_i} \prod_{j=1}^{n-1} a_j \right) \\ + &= \prod_{i=1}^{n-1} a_i - \sum_{i=1}^{n-1} \prod_{j \neq i} a_j. + \end{aligned} + $$ + +
+ +*** + +### 四、 1. 已知齐次线性方程组 -$$ -\left \{ -\begin{aligned} -(3-\lambda)x_1 + x_2 + x_3 &= 0, \\ -(2-\lambda)x_2 - x_3 &= 0, \\ -4x_1 - 2x_2 + (1-\lambda)x_3 &= 0 -\end{aligned} -\right . -$$ + $$ + \begin{cases} + (3-\lambda)x_1 + x_2 + x_3 = 0 \\ + (2-\lambda)x_2 - x_3 = 0 \\ + 4x_1 - 2x_2 + (1-\lambda)x_3 = 0 + \end{cases} + $$ + + 有非零解,求 $\lambda$ 的值。 + +
+ 解: + + 齐次线性方程组有非零解的充要条件是其系数行列式 $D = 0$。 + 系数行列式为: + + $$ + D = + \begin{vmatrix} + 3-\lambda & 1 & 1 \\ + 0 & 2-\lambda & -1 \\ + 4 & -2 & 1-\lambda + \end{vmatrix}. + $$ + + 按第一列展开: + + $$ + \begin{aligned} + D &= (3-\lambda) \begin{vmatrix} 2-\lambda & -1 \\ -2 & 1-\lambda \end{vmatrix} + 4 \begin{vmatrix} 1 & 1 \\ 2-\lambda & -1 \end{vmatrix} \\ + &= (3-\lambda) [ (2-\lambda)(1-\lambda) - (-1)(-2) ] + 4 [ -1 - (2-\lambda) ] \\ + &= (3-\lambda) [ (\lambda^2 - 3\lambda + 2) - 2 ] + 4 [ \lambda - 3 ] \\ + &= (3-\lambda) (\lambda^2 - 3\lambda) - 4(3-\lambda) \\ + &= (3-\lambda) (\lambda^2 - 3\lambda - 4). + \end{aligned} + $$ + + 令 $D = 0$,得: + + $$ + (3-\lambda)(\lambda-4)(\lambda+1) = 0. + $$ + + 解得: + $$ + \lambda_1 = 3, \quad \lambda_2 = 4, \quad \lambda_3 = -1. + $$ -有非零解,求$\lambda$的值。 + 因此, + $$ + \boxed{\lambda = -1, 3, 4}. + $$ + +
+ + *** 2. 已知 $a^2 \not = b^2$,试证方程组 -$$ -\left \{ -\begin{aligned} -ax_1 + bx_{2n} &= 1, \\ -ax_2 + bx_{2n-1} &= 1, \\ -\vdots \\ -ax_n + bx_{n+1} &= 1, \\ -bx_n+ax_{n+1} &= 1, \\ -bx_{n-1} + ax_{n+2} &= 1, \\ -\vdots \\ -bx_1+ax_{2n} &= 1 \\ -\end{aligned} -\right . -$$ + $$ + \begin{cases} + ax_1 + bx_{2n} = 1 \\ + ax_2 + bx_{2n-1} = 1 \\ + \quad \quad \vdots \\ + ax_n + bx_{n+1} = 1 \\ + bx_n+ax_{n+1} = 1 \\ + bx_{n-1}+ax_{n+2} = 1 \\ + \quad \quad \vdots \\ + bx_1+ax_{2n} = 1 + \end{cases} + $$ + + 有唯一解,并求解。 + +
+ 解: + + **证明唯一性:** + + 观察方程组结构,可以将方程两两分组。 + 第 $k$ 个方程 ($1 \le k \le n$) 与第 $2n+1-k$ 个方程涉及相同的变量对 $x_k$ 和 $x_{2n+1-k}$。 + 具体地,对于任意 $k \in \{1, 2, \dots, n\}$,我们有如下两个方程: + + 1. 第 $k$ 行:$a x_k + b x_{2n+1-k} = 1$ + 2. 第 $2n+1-k$ 行(倒数第 $k$ 行):$b x_k + a x_{2n+1-k} = 1$ + + 这构成了 $n$ 个独立的二元一次方程组。对于每一组,其系数行列式为: + + $$ + D_k = \begin{vmatrix} a & b \\ b & a \end{vmatrix} = a^2 - b^2. + $$ + + 已知 $a^2 \neq b^2$,即 $D_k \neq 0$。 + 由于整个方程组的系数矩阵是一个分块对角矩阵(经过适当行列交换后),且每个子块的行列式均不为零,故原方程组系数行列式 $D = (a^2 - b^2)^n \neq 0$。 + 根据克拉默法则,方程组有唯一解。 + + **求解:** + + 对于第 $k$ 组方程: + $$ + \begin{cases} + a x_k + b x_{2n+1-k} = 1 \quad \cdots ① \\ + b x_k + a x_{2n+1-k} = 1 \quad \cdots ② + \end{cases} + $$ -有唯一解,并求解。 + $① + ②$ 得: + $$ + (a+b)(x_k + x_{2n+1-k}) = 2. + $$ -### 五 + $① - ②$ 得: + $$ + (a-b)(x_k - x_{2n+1-k}) = 0. + $$ -设 $A = -\begin{bmatrix} + 因为 $a^2 \neq b^2$,所以 $a \neq b$ 且 $a \neq -b$。 + 由 $(a-b)(x_k - x_{2n+1-k}) = 0$ 且 $a-b \neq 0$,得 $x_k = x_{2n+1-k}$。 + 代入和式: + $$ + (a+b)(2x_k) = 2 \implies x_k = \frac{1}{a+b}. + $$ + + 该结果对所有 $k=1, \dots, n$ 成立,且 $x_{2n+1-k}$ 也为同值。 + 故方程组的解为: + + $$ + \boxed{x_i = \frac{1}{a+b} \quad (i = 1, 2, \dots, 2n)}. + $$ + +
+ +*** + +### 五、 + +设 + +$$ +A = +\begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & 1 & -1 \\ 1 & -1 & -1 & 1 -\end{bmatrix}$ +\end{pmatrix} +$$ 1. 求 $A^2$ 2. 证 $A$ 可逆,且求 $A^{-1}$ 3. 求 $(A^*)^{-1}$ -### 六 +
+ 解: -1. 设 $ABA=C$, 其中 $A = -\begin{bmatrix} -1 & 0 & 0 \\ -1 & 1 & 3 \\ -0 & 1 & -1 -\end{bmatrix},C = -\begin{bmatrix} -1 & 0 & 1 \\ -0 & 1 & 0 \\ -0 & 0 & 1 -\end{bmatrix}$, 求 $B$ 的伴随矩阵 $B^*$。 + **1. 求 $A^2$** -2. 已知矩阵 $A = \begin{pmatrix}1 & 0 & 1 \\ 0 & 1 & 4 \\ 2 & 0 & 5\end{pmatrix}, B = \begin{pmatrix}2 & 1 \\1 & 2\end{pmatrix}, C = \begin{pmatrix}1 & 0 \\ 3 & 1 \\ 0 & 2\end{pmatrix}$, 且 $AXB = C$, 求矩阵 $X$ + 直接计算矩阵乘法: -### 七 + $$ + \begin{aligned} + A^2 &= + \begin{pmatrix} + 1 & 1 & 1 & 1 \\ + 1 & 1 & -1 & -1 \\ + 1 & -1 & 1 & -1 \\ + 1 & -1 & -1 & 1 + \end{pmatrix} + \begin{pmatrix} + 1 & 1 & 1 & 1 \\ + 1 & 1 & -1 & -1 \\ + 1 & -1 & 1 & -1 \\ + 1 & -1 & -1 & 1 + \end{pmatrix} \\ + &= + \begin{pmatrix} + 1+1+1+1 & 1+1-1-1 & 1-1+1-1 & 1-1-1+1 \\ + 1+1-1-1 & 1+1+1+1 & 1-1-1+1 & 1-1+1-1 \\ + 1-1+1-1 & 1-1-1+1 & 1+1+1+1 & 1+1-1-1 \\ + 1-1-1+1 & 1-1+1-1 & 1+1-1-1 & 1+1+1+1 + \end{pmatrix} \\ + &= + \begin{pmatrix} + 4 & 0 & 0 & 0 \\ + 0 & 4 & 0 & 0 \\ + 0 & 0 & 4 & 0 \\ + 0 & 0 & 0 & 4 + \end{pmatrix} \\ + &= \boxed{4E}. + \end{aligned} + $$ -已知 $A$ 为三阶可逆矩阵,$B$ 为三阶矩阵,且满足 $2A^{-1}B=B-4E$。 + **2. 证 $A$ 可逆,且求 $A^{-1}$** -1. 证明:$(A-2E)$ 为可逆矩阵,且写出 $(A-2E)^{-1}$。 -2. 若 $B = \begin{pmatrix}1 & -2 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 2\end{pmatrix}$, 求矩阵 $A$。 + 由 $A^2 = 4E$ 可知,行列式 $|A^2| = |4E| = 4^4 = 256 \neq 0$,故 $|A| \neq 0$,即 $A$ 可逆。 -### 八 + 对等式 $A^2 = 4E$ 两边同乘 $A^{-1}$,得: + $$ + A = 4 A^{-1} \implies A^{-1} = \frac{1}{4} A. + $$ + + 代入 $A$ 的值: + $$ + \boxed{ + A^{-1} = \frac{1}{4} + \begin{pmatrix} + 1 & 1 & 1 & 1 \\ + 1 & 1 & -1 & -1 \\ + 1 & -1 & 1 & -1 \\ + 1 & -1 & -1 & 1 + \end{pmatrix} + }. + $$ + + **3. 求 $(A^*)^{-1}$** + + 根据伴随矩阵的性质 $A^* = |A|A^{-1}$,对其求逆: + + $$ + (A^*)^{-1} = (|A|A^{-1})^{-1} = \frac{1}{|A|} (A^{-1})^{-1} = \frac{1}{|A|} A. + $$ + + 首先需要计算 $|A|$。 + 利用行变换,$r_2-r_1, r_3-r_1, r_4-r_1$: + + $$ + |A| = \begin{vmatrix} + 1 & 1 & 1 & 1 \\ + 1 & 1 & -1 & -1 \\ + 1 & -1 & 1 & -1 \\ + 1 & -1 & -1 & 1 + \end{vmatrix} = + \begin{vmatrix} + 1 & 1 & 1 & 1 \\ + 0 & 0 & -2 & -2 \\ + 0 & -2 & 0 & -2 \\ + 0 & -2 & -2 & 0 + \end{vmatrix} + $$ + + 按第一列展开: + $$ + |A| = 1 \cdot (-1)^{1+1} + \begin{vmatrix} + 0 & -2 & -2 \\ + -2 & 0 & -2 \\ + -2 & -2 & 0 + \end{vmatrix} + $$ + + 直接计算三阶行列式: + + $$ + \begin{aligned} + |A| &= [0 + (-2)(-2)(-2) + (-2)(-2)(-2)] - [0 + 0 + 0] \\ + &= -8 - 8 = -16. + \end{aligned} + $$ + + 将 $|A| = -16$ 代入公式 $(A^*)^{-1} = \frac{1}{|A|} A$: + + $$ + (A^*)^{-1} = -\frac{1}{16} A = -\frac{1}{16} + \begin{pmatrix} + 1 & 1 & 1 & 1 \\ + 1 & 1 & -1 & -1 \\ + 1 & -1 & 1 & -1 \\ + 1 & -1 & -1 & 1 + \end{pmatrix}. + $$ + + 因此, + $$ + \boxed{(A^*)^{-1} = -\frac{1}{16} A}. + $$ + +
+ +*** + +### 六、 + +1. 设 $ABA=C$, 其中 + + $$ + A = + \begin{pmatrix} + 1 & 0 & 0 \\ + 1 & 1 & 3 \\ + 0 & 1 & -1 + \end{pmatrix}, + C = + \begin{pmatrix} + 1 & 0 & 1 \\ + 0 & 1 & 0 \\ + 0 & 0 & 1 + \end{pmatrix} + $$ + + 求 $B$ 的伴随矩阵 $B^*$。 + +
+ 解: + + 由公式 $B^* = |B| B^{-1}$,我们需要先求 $|B|$ 和 $B^{-1}$。 + + **1. 求 $|B|$** + 由 $ABA = C$,两边取行列式: + $$ + |A| \cdot |B| \cdot |A| = |C| \implies |B| = \frac{|C|}{|A|^2}. + $$ + + 计算 $|A|$ 和 $|C|$: + $$ + \begin{aligned} + |A| &= 1 \times (1 \times (-1) - 3 \times 1) = -4, \\ + |C| &= 1. + \end{aligned} + $$ + + 所以, + $$ + |B| = \frac{1}{(-4)^2} = \frac{1}{16}. + $$ + + **2. 求 $B^{-1}$** + 由 $ABA = C$ 可得 $B = A^{-1} C A^{-1}$,故: + $$ + B^{-1} = (A^{-1} C A^{-1})^{-1} = (A^{-1})^{-1} C^{-1} (A^{-1})^{-1} = A C^{-1} A. + $$ + + 首先求 $C^{-1}$。显然有: + $$ + C^{-1} = + \begin{pmatrix} + 1 & 0 & -1 \\ + 0 & 1 & 0 \\ + 0 & 0 & 1 + \end{pmatrix}. + $$ + + 计算 $A C^{-1}$: + $$ + A C^{-1} = + \begin{pmatrix} + 1 & 0 & 0 \\ + 1 & 1 & 3 \\ + 0 & 1 & -1 + \end{pmatrix} + \begin{pmatrix} + 1 & 0 & -1 \\ + 0 & 1 & 0 \\ + 0 & 0 & 1 + \end{pmatrix} = + \begin{pmatrix} + 1 & 0 & -1 \\ + 1 & 1 & 2 \\ + 0 & 1 & -1 + \end{pmatrix}. + $$ + + 计算 $B^{-1} = (A C^{-1}) A$: + $$ + \begin{aligned} + B^{-1} &= + \begin{pmatrix} + 1 & 0 & -1 \\ + 1 & 1 & 2 \\ + 0 & 1 & -1 + \end{pmatrix} + \begin{pmatrix} + 1 & 0 & 0 \\ + 1 & 1 & 3 \\ + 0 & 1 & -1 + \end{pmatrix} \\ + &= + \begin{pmatrix} + 1 & -1 & 1 \\ + 2 & 3 & 1 \\ + 1 & 0 & 4 + \end{pmatrix}. + \end{aligned} + $$ + + **3. 求 $B^*$** + $$ + B^* = |B| B^{-1} = \frac{1}{16} + \begin{pmatrix} + 1 & -1 & 1 \\ + 2 & 3 & 1 \\ + 1 & 0 & 4 + \end{pmatrix}. + $$ + + 因此, + $$ + \boxed{B^* = \frac{1}{16} \begin{pmatrix} 1 & -1 & 1 \\ 2 & 3 & 1 \\ 1 & 0 & 4 \end{pmatrix}}. + $$ + +
+ + *** + +2. 已知矩阵 + + $$ + A = + \begin{pmatrix} + 1 & 0 & 1 \\ + 0 & 1 & 4 \\ + 2 & 0 & 5 + \end{pmatrix}, + B = + \begin{pmatrix} + 2 & 1 \\ + 1 & 2 + \end{pmatrix}, + C = + \begin{pmatrix} + 1 & 0 \\ + 3 & 1 \\ + 0 & 2 + \end{pmatrix} + $$ + + 且 $AXB = C$, 求矩阵 $X$ + +
+ 解: + + 暴力计算即可,这里直接给出答案: + + $$ + \boxed{X = \frac{1}{3} \begin{pmatrix} 4 & -3 \\ 13 & -9 \\ -2 & 2 \end{pmatrix}}. + $$ + +
+ +*** + +### 七、 + +已知 $A$ 为三阶可逆矩阵, $B$ 为三阶矩阵,且满足 $2A^{-1}B=B-4E$。 + +1. 证明: $(A-2E)$ 为可逆矩阵,且写出 $(A-2E)^{-1}$ +2. 若 + + $$ + B = \begin{pmatrix} + 1 & -2 & 0 \\ + 1 & 2 & 0 \\ + 0 & 0 & 2 + \end{pmatrix} + $$ + + 求矩阵 $A$。 + +
+ 解: + + **1. 证明 $(A-2E)$ 可逆并求逆** + 将原式 $2A^{-1}B = B - 4E$ 变形: + $$ + \begin{aligned} + 4E &= B - 2A^{-1}B \\ + 4E &= (E - 2A^{-1})B \\ + 4E &= (A A^{-1} - 2A^{-1})B \\ + 4E &= (A - 2E)A^{-1}B. + \end{aligned} + $$ + + 由此可得: + $$ + (A - 2E) \cdot \left( \frac{1}{4} A^{-1} B \right) = E. + $$ + + 因为 $(A-2E)$ 乘以一个矩阵得到了单位矩阵 $E$,所以 $(A-2E)$ 是可逆的,且其逆矩阵为: + $$ + \boxed{(A-2E)^{-1} = \frac{1}{4} A^{-1} B}. + $$ + + **2. 求矩阵 $A$** + + 可以由题设推导出 $(A - 2E)B = 4A$,下面解 $A$。 + 整理该式: + $$ + \begin{aligned} + AB - 2B &= 4A \\ + AB - 4A &= 2B \\ + A(B - 4E) &= 2B \\ + A &= 2B(B - 4E)^{-1}. + \end{aligned} + $$ + (这里需假设 $B-4E$ 可逆,通过后续计算可验证)。 + + 已知 $B = \begin{pmatrix} 1 & -2 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 2 \end{pmatrix}$,计算 $B - 4E$: + + $$ + B - 4E = + \begin{pmatrix} + 1-4 & -2 & 0 \\ + 1 & 2-4 & 0 \\ + 0 & 0 & 2-4 + \end{pmatrix} = + \begin{pmatrix} + -3 & -2 & 0 \\ + 1 & -2 & 0 \\ + 0 & 0 & -2 + \end{pmatrix}. + $$ + + 计算 $(B - 4E)^{-1}$。 + 行列式 $|B - 4E| = -16 \neq 0$,可逆。 + 求值:(可以利用分块对角矩阵性质) + $$ + (B - 4E)^{-1} = \frac{1}{8} + \begin{pmatrix} + -2 & 2 & 0 \\ + -1 & -3 & 0 \\ + 0 & 0 & -4 + \end{pmatrix}. + $$ + + 最后计算 $A = 2B(B - 4E)^{-1}$: + $$ + \begin{aligned} + A &= 2 \begin{pmatrix} 1 & -2 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 2 \end{pmatrix} \cdot \frac{1}{8} \begin{pmatrix} -2 & 2 & 0 \\ -1 & -3 & 0 \\ 0 & 0 & -4 \end{pmatrix} \\ + &= \frac{1}{4} + \begin{pmatrix} + -2+2 & 2+6 & 0 \\ + -2-2 & 2-6 & 0 \\ + 0 & 0 & -8 + \end{pmatrix} \\ + &= \frac{1}{4} + \begin{pmatrix} + 0 & 8 & 0 \\ + -4 & -4 & 0 \\ + 0 & 0 & -8 + \end{pmatrix} \\ + &= + \begin{pmatrix} + 0 & 2 & 0 \\ + -1 & -1 & 0 \\ + 0 & 0 & -2 + \end{pmatrix}. + \end{aligned} + $$ + + 因此, + $$ + \boxed{A = \begin{pmatrix} 0 & 2 & 0 \\ -1 & -1 & 0 \\ 0 & 0 & -2 \end{pmatrix}}. + $$ + +
+ +*** + +### 八、 + +设 + +$$ +\begin{cases} +(2-\lambda)x_1+2x_2-2x_3 = 1 \\ +2x_1+(5-\lambda)x_2-4x_3 = 2 \\ +-2x_1-4x_2+(5-\lambda)x_3 = -\lambda - 1 +\end{cases} +$$ -设$ -\left \{ -\begin{aligned} -(2-\lambda)x_1+2x_2-2x_3 &= 1 \\ -2x_1+(5-\lambda)x_2-4x_3 &= 2 \\ --2x_1-4x_2+(5-\lambda)x_3 &= -\lambda - 1 -\end{aligned} -\right . -$ 问 $\lambda$ 为何值时,此方程组有唯一解,无解或有无穷多解?并在有无穷多解时求其解。 -### 九 +
+解: + +对方程组的增广矩阵 $\bar{A}$ 进行初等行变换: + +$$ +\bar{A} = +\left( +\begin{array}{ccc|c} +2-\lambda & 2 & -2 & 1 \\ +2 & 5-\lambda & -4 & 2 \\ +-2 & -4 & 5-\lambda & -\lambda - 1 +\end{array} +\right) +\xrightarrow{r_3+r_2} +\left( +\begin{array}{ccc|c} +2-\lambda & 2 & -2 & 1 \\ +2 & 5-\lambda & -4 & 2 \\ +0 & 1-\lambda & 1-\lambda & 1-\lambda +\end{array} +\right) +$$ + +交换 $r_1, r_2$ 并整理,最终化为阶梯型(过程略): + +$$ +\bar{A} \sim +\left( +\begin{array}{ccc|c} +2 & 5-\lambda & -4 & 2 \\ +0 & 1-\lambda & 1-\lambda & 1-\lambda \\ +0 & 0 & (\lambda-1)(\lambda-10) & (\lambda-1)(\lambda-4) +\end{array} +\right) +$$ + + 1. **唯一解**: + 当主对角元均不为 0 时,即 $\lambda \neq 1$ 且 $\lambda \neq 10$ 时,方程组有唯一解。 + + 2. **无解**: + 当 $\lambda = 10$ 时,第 3 行变为 $0x_1+0x_2+0x_3 = 9 \times 6 = 54$,出现 $0=54$ 的矛盾,方程组无解。 -已知矩阵 $A = \begin{pmatrix} + 3. **无穷多解**: + 当 $\lambda = 1$ 时,矩阵变为: + $$ + \left( + \begin{array}{ccc|c} + 2 & 4 & -4 & 2 \\ + 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 + \end{array} + \right) + $$ + 秩为 1,小于未知数个数 3,故有无穷多解。 + 化简得 $x_1 + 2x_2 - 2x_3 = 1$。 + 令 $x_2=k_1, x_3=k_2$,得通解: + $$ + \begin{cases} + x_1 = 1 - 2k_1 + 2k_2 \\ + x_2 = k_1 \\ + x_3 = k_2 + \end{cases} + \quad (k_1, k_2 \in \mathbb{R}) + $$ + +
+ +*** + +### 九、 + +已知矩阵 + +$$ +A = \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & 1 & -1 \\ 1 & -1 & -1 & 1 -\end{pmatrix}$ +\end{pmatrix} +$$ 1. 求 $A^n(n=2,3,\cdots)$ -2. 若方阵$B$满足$A^3+A^2+AB-3A-2E=0$,求$B$ +2. 若方阵 $B$ 满足 $A^3+A^2+AB-3A-2E=0$ ,求 $B$ + +
+解: + +**1. 求 $A^n$** + +由第五题得 $A^2 = 4E$: + +由此可推导 $A^n$ 的规律,分 $n$ 为偶数和奇数讨论: + +* 当 $n$ 为偶数时,设 $n=2k$ ($k \in \mathbb{N}^*$): + $$ + A^{2k} = (A^2)^k = (4E)^k = 4^k E = (2^2)^k E = 2^{2k} E = 2^n E. + $$ +* 当 $n$ 为奇数时,设 $n=2k+1$ ($k \in \mathbb{N}^*$): + $$ + A^{2k+1} = A^{2k} \cdot A = 2^{2k} E \cdot A = 2^{n-1} A. + $$ + +综上所述: + +$$ +\boxed{ +A^n = \begin{cases} +2^n E, & n \text{ 为偶数} \\ +2^{n-1} A, & n \text{ 为奇数} +\end{cases} +} +$$ + +**2. 求 $B$** + +利用第 1 问的结论,可知: +$$ +A^2 = 4E, \quad A^3 = A^2 \cdot A = 4A. +$$ + +将这些结果代入已知方程 $A^3+A^2+AB-3A-2E=0$: + +$$ +\begin{aligned} +(4A) + (4E) + AB - 3A - 2E &= 0 \\ +(4A - 3A) + (4E - 2E) + AB &= 0 \\ +A + 2E + AB &= 0. +\end{aligned} +$$ + +移项得: +$$ +AB = -A - 2E. +$$ + +由于 $A^2 = 4E$,可知 $|A^2| = |4E| = 4^4 \neq 0$,故 $|A| \neq 0$,即 $A$ 可逆。 +且由 $A \cdot A = 4E$ 可得: +$$ +A^{-1} = \frac{1}{4} A. +$$ + +方程 $AB = -A - 2E$ 两边左乘 $A^{-1}$: + +$$ +\begin{aligned} +B &= A^{-1}(-A - 2E) \\ + &= -A^{-1}A - 2A^{-1}E \\ + &= -E - 2A^{-1} \\ + &= -E - 2\left(\frac{1}{4}A\right) \\ + &= -E - \frac{1}{2}A \\ + &= -\frac{1}{2}(2E + A). +\end{aligned} +$$ + +代入具体数值计算: + +$$ +\begin{aligned} +2E + A &= \begin{pmatrix} 2 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 2 \end{pmatrix} + \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & 1 & -1 \\ 1 & -1 & -1 & 1 \end{pmatrix} \\ +&= \begin{pmatrix} 3 & 1 & 1 & 1 \\ 1 & 3 & -1 & -1 \\ 1 & -1 & 3 & -1 \\ 1 & -1 & -1 & 3 \end{pmatrix}. +\end{aligned} +$$ + +因此, + +$$ +\boxed{ +B = -\frac{1}{2} \begin{pmatrix} +3 & 1 & 1 & 1 \\ +1 & 3 & -1 & -1 \\ +1 & -1 & 3 & -1 \\ +1 & -1 & -1 & 3 +\end{pmatrix} +}. +$$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\253\347\255\224\346\241\210.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\253\347\255\224\346\241\210.md" deleted file mode 100644 index fa65159..0000000 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\253\347\255\224\346\241\210.md" +++ /dev/null @@ -1,1273 +0,0 @@ ---- -title: 2025-2026学年上学期期中试卷 ---- - -## 一、 - -1. 计算四阶行列式 $D$: - - $$ - D = - \begin{vmatrix} - 1 & 2 & 3 & 2 \\ - 1 & 2 & 0 & -5 \\ - 1 & 0 & 1 & 2 \\ - 4 & 3 & 1 & 2 - \end{vmatrix} - $$ - -
- 解: - - $$ - D = - \left| - \begin{matrix} - 1 & 2 & 3 & 2 \\ - 1 & 2 & 0 & -5 \\ - 1 & 0 & 1 & 2 \\ - 4 & 3 & 1 & 2 - \end{matrix} - \right|. - $$ - - 作行变换: - - $$ - \begin{aligned} - R_2 &\leftarrow R_2 - R_1, \\ - R_3 &\leftarrow R_3 - R_1, \\ - R_4 &\leftarrow R_4 - 4R_1. - \end{aligned} - $$ - - 得到: - - $$ - D = - \left| - \begin{matrix} - 1 & 2 & 3 & 2 \\ - 0 & 0 & -3 & -7 \\ - 0 & -2 & -2 & 0 \\ - 0 & -5 & -11 & -6 - \end{matrix} - \right|. - $$ - - 沿第一列展开: - - $$ - D = - \left| - \begin{matrix} - 0 & -3 & -7 \\ - -2 & -2 & 0 \\ - -5 & -11 & -6 - \end{matrix} - \right|. - $$ - - 继续计算三阶行列式: - - $$ - \begin{aligned} - D - &= 0 \cdot - \left| - \begin{matrix} - -2 & 0 \\ - -11 & -6 - \end{matrix} - \right| - - (-3) - \left| - \begin{matrix} - -2 & 0 \\ - -5 & -6 - \end{matrix} - \right| - + (-7) - \left| - \begin{matrix} - -2 & -2 \\ - -5 & -11 - \end{matrix} - \right| \\ - &= 3 \bigl( (-2)(-6) - 0 \cdot (-5) \bigr) - - 7 \bigl( (-2)(-11) - (-2)(-5) \bigr) \\ - &= 3 \cdot 12 - 7 \cdot (22 - 10) \\ - &= 36 - 84 \\ - &= -48. - \end{aligned} - $$ - - 因此, - - $$ - \boxed{D = -48}. - $$ - -
- -2. 证明 - - $$ - \begin{vmatrix} - a & b & c & d \\ - a & a + b & a + b + c & a + b + c + d \\ - a & 2a + b & 3a + 2b + c & 4a + 3b + 2c + d \\ - a & 3a + b & 6a + 3b + c & 10a + 6b + 3c + d \\ - \end{vmatrix} = a^4 - $$ - -
- 解: - - 设 - - $$ - D = - \left| - \begin{matrix} - a & b & c & d \\ - a & a+b & a+b+c & a+b+c+d \\ - a & 2a+b & 3a+2b+c & 4a+3b+2c+d \\ - a & 3a+b & 6a+3b+c & 10a+6b+3c+d - \end{matrix} - \right| - $$ - - 对行列式作初等行变换: - - $$ - \begin{aligned} - R_2 &\leftarrow R_2 - R_1, \\ - R_3 &\leftarrow R_3 - R_1, \\ - R_4 &\leftarrow R_4 - R_1. - \end{aligned} - $$ - - 得: - - $$ - D = - \left| - \begin{matrix} - a & b & c & d \\ - 0 & a & a+b & a+b+c \\ - 0 & 2a & 3a+2b & 4a+3b+2c \\ - 0 & 3a & 6a+3b & 10a+6b+3c - \end{matrix} - \right|. - $$ - - 沿第一列展开: - - $$ - D = - a \cdot - \left| - \begin{matrix} - a & a+b & a+b+c \\ - 2a & 3a+2b & 4a+3b+2c \\ - 3a & 6a+3b & 10a+6b+3c - \end{matrix} - \right|. - $$ - - 继续作行变换: - - $$ - \begin{aligned} - R_2 &\leftarrow R_2 - 2R_1,\\ - R_3 &\leftarrow R_3 - 3R_1. - \end{aligned} - $$ - - 得: - - $$ - D = - a \cdot - \left| - \begin{matrix} - a & a+b & a+b+c \\ - 0 & a & 2a+b \\ - 0 & 3a & 7a+3b - \end{matrix} - \right|. - $$ - - 再作: - - $$ - R_3 \leftarrow R_3 - 3R_2. - $$ - - 得到: - - $$ - D = - a \cdot - \left| - \begin{matrix} - a & a+b & a+b+c \\ - 0 & a & 2a+b \\ - 0 & 0 & a - \end{matrix} - \right|. - $$ - - 因此: - - $$ - D = a \cdot a \cdot a \cdot a = a^4. - $$ - -
- -## 二 - -1. 计算四阶行列式 - - $$ - D_4 = - \begin{vmatrix} - a_1^3 & a_2^3 & a_3^3 & a_4^3 \\ - a_1^2b_1 & a_2^2b_2 & a_3^2b_3 & a_4^2b_4 \\ - a_1b_1^2 & a_2b_2^2 & a_3b_3^2 & a_4b_4^2 \\ - b_1^3 & b_2^3 & b_3^3 & b_4^3 - \end{vmatrix}, a_i \not= 0,(i = 1,2,3,4) - $$ - -
- 解: - - 由齐次特征想到范德蒙德行列式:由于 $a_i \neq 0$,从第 $j$ 列 ($j=1,2,3,4$) 分别提出公因子 $a_j^3$: - - $$ - \begin{aligned} - D_4 - &= a_1^3 a_2^3 a_3^3 a_4^3 - \left| - \begin{matrix} - 1 & 1 & 1 & 1 \\ - \frac{b_1}{a_1} & \frac{b_2}{a_2} & \frac{b_3}{a_3} & \frac{b_4}{a_4} \\ - (\frac{b_1}{a_1})^2 & (\frac{b_2}{a_2})^2 & (\frac{b_3}{a_3})^2 & (\frac{b_4}{a_4})^2 \\ - (\frac{b_1}{a_1})^3 & \frac{b_2}{a_2})^3 & (\frac{b_3}{a_3})^3 & (\frac{b_4}{a_4})^3 - \end{matrix} - \right| \\ - \end{aligned} - $$ - - 得到标准形式。令 $x_i = \frac{b_i}{a_i}$,根据范德蒙德行列式公式 $\prod_{1 \le j < i \le n} (x_i - x_j)$,有: - - $$ - \begin{aligned} - D_4 - &= \left( \prod_{k=1}^4 a_k^3 \right) \cdot \prod_{1 \le j < i \le 4} \left( \frac{b_i}{a_i} - \frac{b_j}{a_j} \right) \\ - &= \left( \prod_{k=1}^4 a_k^3 \right) \cdot \prod_{1 \le j < i \le 4} \frac{a_j b_i - a_i b_j}{a_i a_j}. - \end{aligned} - $$ - - 在上述乘积中,分母部分的所有 $a_i a_j$ 乘积恰好等于 $\prod_{k=1}^4 a_k^3$(因为在 $n=4$ 的组合中,每个下标出现 3 次)。约分得: - - $$ - \boxed{D_4 = \prod_{1 \le j < i \le 4} (a_j b_i - a_i b_j)}. - $$ - -
- -2. 计算 $f(x+1) - f(x)$, 其中 - - $$ - f(x) = \begin{vmatrix} - 1 & 0 & 0 & 0 & \cdots & 0 & x \\ - 1 & 2 & 0 & 0 & \cdots & 0 & x^2 \\ - 1 & 3 & 3 & 0 & \cdots & 0 & x^3 \\ - \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ - 1 & n & C_n^2 & C_n^3 & \cdots & C_n^{n-1} & x^n \\ - 1 & n + 1 & C_{n+1}^2 & C_{n+1}^3 & \cdots & C_{n+1}^{n-1} & x^{n+1} - \end{vmatrix} - $$ - -
- 解: - - 根据行列式的性质,利用线性性质对最后一列进行运算: - $$ - f(x+1) - f(x) = - \begin{vmatrix} - 1 & 0 & 0 & \cdots & 0 & (x+1) - x \\ - 1 & 2 & 0 & \cdots & 0 & (x+1)^2 - x^2 \\ - 1 & 3 & 3 & \cdots & 0 & (x+1)^3 - x^3 \\ - \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ - 1 & n & C_n^2 & \cdots & C_n^{n-1} & (x+1)^n - x^n \\ - 1 & n + 1 & C_{n+1}^2 & \cdots & C_{n+1}^{n-1} & (x+1)^{n+1} - x^{n+1} - \end{vmatrix} - $$ - - 利用二项式展开公式 $(x+1)^k - x^k = kx^{k-1} + C_k^2 x^{k-2} + \cdots + 1$,最后一列的第 $k$ 行元素为一个关于 $x$ 的 $k-1$ 次多项式。 - - 观察前 $n$ 列构成的子矩阵是一个下三角矩阵,主对角线元素分别为 $1, 2, 3, \cdots, n$。我们可以通过**列变换**将最后一列的大部分项消去: - - 1. 利用第 1 列消去最后一列中的常数项。 - 2. 利用第 2 列消去最后一列中的一次项。 - 3. 以此类推,利用第 $j$ 列消去最后一列中的 $j-1$ 次项。 - - 经过上述列变换整理后,行列式变为下三角行列式: - - $$ - \begin{vmatrix} - 1 & 0 & 0 & \cdots & 0 & 0 \\ - 1 & 2 & 0 & \cdots & 0 & 0 \\ - 1 & 3 & 3 & \cdots & 0 & 0 \\ - \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ - 1 & n & C_n^2 & \cdots & n & 0 \\ - 1 & n + 1 & C_{n+1}^2 & \cdots & C_{n+1}^{n-1} & (n+1)x^n - \end{vmatrix} - $$ - - 直接计算主对角线元素的乘积: - - $$ - \begin{aligned} - f(x+1) - f(x) = &= 1 \times 2 \times 3 \times \cdots \times n \times (n+1)x^n \\ - &= (n+1)! x^n - \end{aligned} - $$ - - 因此, - - $$ - \boxed{f(x+1) - f(x) = (n+1)! \cdot x^n}. - $$ - -
- -3. 计算以下 $n+1$ 阶行列式: - - $$ - D_{n+1} = \begin{vmatrix} - a & ax & ax^2 & \cdots & ax^{n-1} & ax^n \\ - -1 & a & ax & \cdots & ax^{n-2} & ax^{n-1} \\ - 0 & -1 & a & \cdots & ax^{n-1} & ax^{n-2} \\ - \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ - 0 & 0 & 0 & \cdots & a & ax \\ - 0 & 0 & 0 & \cdots & -1 & a - \end{vmatrix} - $$ - -
- 解: - - 观察行列式中第 1 行元素的规律,后一列元素是前一列元素乘以 $x$;同时观察主对角线下方元素为 $-1$,其余为 $a$ 或 $ax$ 的幂次形式。 - - 为了消去第 1 行中除 $a_{11}$ 以外的元素,我们可以从最后一列开始,依次向前作**列变换**: - - $$ - C_j \leftarrow C_j - x C_{j-1}, \quad (j = n+1, n, \cdots, 2). - $$ - - 经过上述变换,原行列式变为下三角行列式: - - $$ - D_{n+1} = - \begin{vmatrix} - a & 0 & 0 & \cdots & 0 & 0 \\ - -1 & a+x & 0 & \cdots & 0 & 0 \\ - 0 & -1 & a+x & \cdots & 0 & 0 \\ - \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ - 0 & 0 & 0 & \cdots & a+x & 0 \\ - 0 & 0 & 0 & \cdots & -1 & a+x - \end{vmatrix} - $$ - - 主对角线上第 1 个元素为 $a$,从第 2 个到第 $n+1$ 个元素均为 $a+x$,共 $n$ 个 $a+x$。 - - $$ - D_{n+1} = a \cdot \underbrace{(a+x) \cdot (a+x) \cdots (a+x)}_{n \text{个}} = a(a+x)^n. - $$ - - 因此, - - $$ - \boxed{D_{n+1} = a(a+x)^n}. - $$ - -
- -## 三 - -1. 设行列式 - - $$ - D = \begin{vmatrix} - 3 & 0 & 4 & 0 \\ - 2 & 2 & 2 & 2 \\ - 0 & -7 & 0 & 0 \\ - 5 & 3 & -2 & 2 - \end{vmatrix} - $$ - - 求 $D$ 的第 $4$ 行元素的余子式之和 $M_{41}+M_{42}+M_{43}+M_{44}的值。$ - -
- 解: - - 简单计算即可: - - 1. **计算 $M_{41}$** - $$ - M_{41} = \begin{vmatrix} - 0 & 4 & 0 \\ - 2 & 2 & 2 \\ - -7 & 0 & 0 - \end{vmatrix} - $$ - 按第 3 行展开: - $$ - M_{41} = (-7) \times (-1)^{3+1} \begin{vmatrix} 4 & 0 \\ 2 & 2 \end{vmatrix} = -7 \times (8 - 0) = -56. - $$ - - 2. **计算 $M_{42}$** - $$ - M_{42} = \begin{vmatrix} - 3 & 4 & 0 \\ - 2 & 2 & 2 \\ - 0 & 0 & 0 - \end{vmatrix} - $$ - 第 3 行全为 0,故 $M_{42} = 0$。 - - 3. **计算 $M_{43}$** - $$ - M_{43} = \begin{vmatrix} - 3 & 0 & 0 \\ - 2 & 2 & 2 \\ - 0 & -7 & 0 - \end{vmatrix} - $$ - 按第 1 行展开: - $$ - M_{43} = 3 \times (-1)^{1+1} \begin{vmatrix} 2 & 2 \\ -7 & 0 \end{vmatrix} = 3 \times (0 - (-14)) = 42. - $$ - - 4. **计算 $M_{44}$** - $$ - M_{44} = \begin{vmatrix} - 3 & 0 & 4 \\ - 2 & 2 & 2 \\ - 0 & -7 & 0 - \end{vmatrix} - $$ - 按第 3 行展开: - $$ - M_{44} = (-7) \times (-1)^{3+2} \begin{vmatrix} 3 & 4 \\ 2 & 2 \end{vmatrix} = (-7) \times (-1) \times (6 - 8) = -14. - $$ - - 求和: - $$ - \boxed{\sum_{j=1}^4 M_{4j} = -56 + 0 + 42 + (-14) = -28} - $$ - -
- -2. 设 $a_1a_2\cdots a_{n-1} \not= 0, n > 1$ 。试求行列式 - - $$ - D = - \begin{vmatrix} - x & b_1 & b_2 & \cdots & b_{n-1} \\ - 1 & a_1 & 0 & \cdots & 0 \\ - 1 & 0 & a_2 & \cdots & 0 \\ - \vdots & \vdots & \vdots & \ddots & \vdots \\ - 1 & 0 & 0 & \cdots & a_{n-1} - \end{vmatrix} - $$ - - 的第一行中诸元素的代数余子式之和 $A_{11} + A_{12} + \cdots +A_{1n}$。 - -
- 解: - - 行列式某一行(列)元素代数余子式之和,等于将该行列式中该行(列)的所有元素替换为 1 后所得的行列式的值。 - 因此,所求之和 $S$ 等于将 $D$ 的第 1 行全部换成 1 后的行列式 $D_1$: - - $$ - S = D_1 = - \begin{vmatrix} - 1 & 1 & 1 & \cdots & 1 \\ - 1 & a_1 & 0 & \cdots & 0 \\ - 1 & 0 & a_2 & \cdots & 0 \\ - \vdots & \vdots & \vdots & \ddots & \vdots \\ - 1 & 0 & 0 & \cdots & a_{n-1} - \end{vmatrix} - $$ - - 这是箭头型行列式,按公式变形得: - - $$ - D_1 = - \begin{vmatrix} - 1 - \sum_{i=1}^{n-1} \frac{1}{a_i} & 1 & 1 & \cdots & 1 \\ - 0 & a_1 & 0 & \cdots & 0 \\ - 0 & 0 & a_2 & \cdots & 0 \\ - \vdots & \vdots & \vdots & \ddots & \vdots \\ - 0 & 0 & 0 & \cdots & a_{n-1} - \end{vmatrix} - $$ - - 其值等于主对角线元素的乘积: - - $$ - \begin{aligned} - S &= \boxed{\left( 1 - \sum_{i=1}^{n-1} \frac{1}{a_i} \right) \cdot \prod_{i=1}^{n-1} a_i} \\ - &= \prod_{i=1}^{n-1} a_i - \sum_{i=1}^{n-1} \left( \frac{1}{a_i} \prod_{j=1}^{n-1} a_j \right) \\ - &= \prod_{i=1}^{n-1} a_i - \sum_{i=1}^{n-1} \prod_{j \neq i} a_j. - \end{aligned} - $$ - -
- -## 四 - -1. 已知齐次线性方程组 - - $$ - \begin{cases} - (3-\lambda)x_1 + x_2 + x_3 = 0 \\ - (2-\lambda)x_2 - x_3 = 0 \\ - 4x_1 - 2x_2 + (1-\lambda)x_3 = 0 - \end{cases} - $$ - - 有非零解,求 $\lambda$ 的值。 - -
- 解: - - 齐次线性方程组有非零解的充要条件是其系数行列式 $D = 0$。 - 系数行列式为: - - $$ - D = - \begin{vmatrix} - 3-\lambda & 1 & 1 \\ - 0 & 2-\lambda & -1 \\ - 4 & -2 & 1-\lambda - \end{vmatrix}. - $$ - - 按第一列展开: - - $$ - \begin{aligned} - D &= (3-\lambda) \begin{vmatrix} 2-\lambda & -1 \\ -2 & 1-\lambda \end{vmatrix} + 4 \begin{vmatrix} 1 & 1 \\ 2-\lambda & -1 \end{vmatrix} \\ - &= (3-\lambda) [ (2-\lambda)(1-\lambda) - (-1)(-2) ] + 4 [ -1 - (2-\lambda) ] \\ - &= (3-\lambda) [ (\lambda^2 - 3\lambda + 2) - 2 ] + 4 [ \lambda - 3 ] \\ - &= (3-\lambda) (\lambda^2 - 3\lambda) - 4(3-\lambda) \\ - &= (3-\lambda) (\lambda^2 - 3\lambda - 4). - \end{aligned} - $$ - - 令 $D = 0$,得: - - $$ - (3-\lambda)(\lambda-4)(\lambda+1) = 0. - $$ - - 解得: - $$ - \lambda_1 = 3, \quad \lambda_2 = 4, \quad \lambda_3 = -1. - $$ - - 因此, - $$ - \boxed{\lambda = -1, 3, 4}. - $$ - -
- -2. 已知 $a^2 \not = b^2$,试证方程组 - - $$ - \begin{cases} - ax_1 + bx_{2n} = 1 \\ - ax_2 + bx_{2n-1} = 1 \\ - \quad \quad \vdots \\ - ax_n + bx_{n+1} = 1 \\ - bx_n+ax_{n+1} = 1 \\ - bx_{n-1}+ax_{n+2} = 1 \\ - \quad \quad \vdots \\ - bx_1+ax_{2n} = 1 - \end{cases} - $$ - - 有唯一解,并求解。 - -
- 解: - - **证明唯一性:** - - 观察方程组结构,可以将方程两两分组。 - 第 $k$ 个方程 ($1 \le k \le n$) 与第 $2n+1-k$ 个方程涉及相同的变量对 $x_k$ 和 $x_{2n+1-k}$。 - 具体地,对于任意 $k \in \{1, 2, \dots, n\}$,我们有如下两个方程: - - 1. 第 $k$ 行:$a x_k + b x_{2n+1-k} = 1$ - 2. 第 $2n+1-k$ 行(倒数第 $k$ 行):$b x_k + a x_{2n+1-k} = 1$ - - 这构成了 $n$ 个独立的二元一次方程组。对于每一组,其系数行列式为: - - $$ - D_k = \begin{vmatrix} a & b \\ b & a \end{vmatrix} = a^2 - b^2. - $$ - - 已知 $a^2 \neq b^2$,即 $D_k \neq 0$。 - 由于整个方程组的系数矩阵是一个分块对角矩阵(经过适当行列交换后),且每个子块的行列式均不为零,故原方程组系数行列式 $D = (a^2 - b^2)^n \neq 0$。 - 根据克拉默法则,方程组有唯一解。 - - **求解:** - - 对于第 $k$ 组方程: - $$ - \begin{cases} - a x_k + b x_{2n+1-k} = 1 \quad \cdots ① \\ - b x_k + a x_{2n+1-k} = 1 \quad \cdots ② - \end{cases} - $$ - - $① + ②$ 得: - $$ - (a+b)(x_k + x_{2n+1-k}) = 2. - $$ - - $① - ②$ 得: - $$ - (a-b)(x_k - x_{2n+1-k}) = 0. - $$ - - 因为 $a^2 \neq b^2$,所以 $a \neq b$ 且 $a \neq -b$。 - 由 $(a-b)(x_k - x_{2n+1-k}) = 0$ 且 $a-b \neq 0$,得 $x_k = x_{2n+1-k}$。 - 代入和式: - $$ - (a+b)(2x_k) = 2 \implies x_k = \frac{1}{a+b}. - $$ - - 该结果对所有 $k=1, \dots, n$ 成立,且 $x_{2n+1-k}$ 也为同值。 - 故方程组的解为: - - $$ - \boxed{x_i = \frac{1}{a+b} \quad (i = 1, 2, \dots, 2n)}. - $$ - -
- -## 五 - -设 - -$$ -A = -\begin{pmatrix} -1 & 1 & 1 & 1 \\ -1 & 1 & -1 & -1 \\ -1 & -1 & 1 & -1 \\ -1 & -1 & -1 & 1 -\end{pmatrix} -$$ - -1. 求 $A^2$ -2. 证 $A$ 可逆,且求 $A^{-1}$ -3. 求 $(A^*)^{-1}$ - -
- 解: - - **1. 求 $A^2$** - - 直接计算矩阵乘法: - - $$ - \begin{aligned} - A^2 &= - \begin{pmatrix} - 1 & 1 & 1 & 1 \\ - 1 & 1 & -1 & -1 \\ - 1 & -1 & 1 & -1 \\ - 1 & -1 & -1 & 1 - \end{pmatrix} - \begin{pmatrix} - 1 & 1 & 1 & 1 \\ - 1 & 1 & -1 & -1 \\ - 1 & -1 & 1 & -1 \\ - 1 & -1 & -1 & 1 - \end{pmatrix} \\ - &= - \begin{pmatrix} - 1+1+1+1 & 1+1-1-1 & 1-1+1-1 & 1-1-1+1 \\ - 1+1-1-1 & 1+1+1+1 & 1-1-1+1 & 1-1+1-1 \\ - 1-1+1-1 & 1-1-1+1 & 1+1+1+1 & 1+1-1-1 \\ - 1-1-1+1 & 1-1+1-1 & 1+1-1-1 & 1+1+1+1 - \end{pmatrix} \\ - &= - \begin{pmatrix} - 4 & 0 & 0 & 0 \\ - 0 & 4 & 0 & 0 \\ - 0 & 0 & 4 & 0 \\ - 0 & 0 & 0 & 4 - \end{pmatrix} \\ - &= \boxed{4E}. - \end{aligned} - $$ - - **2. 证 $A$ 可逆,且求 $A^{-1}$** - - 由 $A^2 = 4E$ 可知,行列式 $|A^2| = |4E| = 4^4 = 256 \neq 0$,故 $|A| \neq 0$,即 $A$ 可逆。 - - 对等式 $A^2 = 4E$ 两边同乘 $A^{-1}$,得: - $$ - A = 4 A^{-1} \implies A^{-1} = \frac{1}{4} A. - $$ - - 代入 $A$ 的值: - $$ - \boxed{ - A^{-1} = \frac{1}{4} - \begin{pmatrix} - 1 & 1 & 1 & 1 \\ - 1 & 1 & -1 & -1 \\ - 1 & -1 & 1 & -1 \\ - 1 & -1 & -1 & 1 - \end{pmatrix} - }. - $$ - - **3. 求 $(A^*)^{-1}$** - - 根据伴随矩阵的性质 $A^* = |A|A^{-1}$,对其求逆: - - $$ - (A^*)^{-1} = (|A|A^{-1})^{-1} = \frac{1}{|A|} (A^{-1})^{-1} = \frac{1}{|A|} A. - $$ - - 首先需要计算 $|A|$。 - 利用行变换,$r_2-r_1, r_3-r_1, r_4-r_1$: - - $$ - |A| = \begin{vmatrix} - 1 & 1 & 1 & 1 \\ - 1 & 1 & -1 & -1 \\ - 1 & -1 & 1 & -1 \\ - 1 & -1 & -1 & 1 - \end{vmatrix} = - \begin{vmatrix} - 1 & 1 & 1 & 1 \\ - 0 & 0 & -2 & -2 \\ - 0 & -2 & 0 & -2 \\ - 0 & -2 & -2 & 0 - \end{vmatrix} - $$ - - 按第一列展开: - $$ - |A| = 1 \cdot (-1)^{1+1} - \begin{vmatrix} - 0 & -2 & -2 \\ - -2 & 0 & -2 \\ - -2 & -2 & 0 - \end{vmatrix} - $$ - - 直接计算三阶行列式: - - $$ - \begin{aligned} - |A| &= [0 + (-2)(-2)(-2) + (-2)(-2)(-2)] - [0 + 0 + 0] \\ - &= -8 - 8 = -16. - \end{aligned} - $$ - - 将 $|A| = -16$ 代入公式 $(A^*)^{-1} = \frac{1}{|A|} A$: - - $$ - (A^*)^{-1} = -\frac{1}{16} A = -\frac{1}{16} - \begin{pmatrix} - 1 & 1 & 1 & 1 \\ - 1 & 1 & -1 & -1 \\ - 1 & -1 & 1 & -1 \\ - 1 & -1 & -1 & 1 - \end{pmatrix}. - $$ - - 因此, - $$ - \boxed{(A^*)^{-1} = -\frac{1}{16} A}. - $$ - -
- -## 六 - -1. 设 $ABA=C$, 其中 - - $$ - A = - \begin{pmatrix} - 1 & 0 & 0 \\ - 1 & 1 & 3 \\ - 0 & 1 & -1 - \end{pmatrix}, - C = - \begin{pmatrix} - 1 & 0 & 1 \\ - 0 & 1 & 0 \\ - 0 & 0 & 1 - \end{pmatrix} - $$ - - 求 $B$ 的伴随矩阵 $B^*$。 - -
- 解: - - 由公式 $B^* = |B| B^{-1}$,我们需要先求 $|B|$ 和 $B^{-1}$。 - - **1. 求 $|B|$** - 由 $ABA = C$,两边取行列式: - $$ - |A| \cdot |B| \cdot |A| = |C| \implies |B| = \frac{|C|}{|A|^2}. - $$ - - 计算 $|A|$ 和 $|C|$: - $$ - \begin{aligned} - |A| &= 1 \times (1 \times (-1) - 3 \times 1) = -4, \\ - |C| &= 1. - \end{aligned} - $$ - - 所以, - $$ - |B| = \frac{1}{(-4)^2} = \frac{1}{16}. - $$ - - **2. 求 $B^{-1}$** - 由 $ABA = C$ 可得 $B = A^{-1} C A^{-1}$,故: - $$ - B^{-1} = (A^{-1} C A^{-1})^{-1} = (A^{-1})^{-1} C^{-1} (A^{-1})^{-1} = A C^{-1} A. - $$ - - 首先求 $C^{-1}$。显然有: - $$ - C^{-1} = - \begin{pmatrix} - 1 & 0 & -1 \\ - 0 & 1 & 0 \\ - 0 & 0 & 1 - \end{pmatrix}. - $$ - - 计算 $A C^{-1}$: - $$ - A C^{-1} = - \begin{pmatrix} - 1 & 0 & 0 \\ - 1 & 1 & 3 \\ - 0 & 1 & -1 - \end{pmatrix} - \begin{pmatrix} - 1 & 0 & -1 \\ - 0 & 1 & 0 \\ - 0 & 0 & 1 - \end{pmatrix} = - \begin{pmatrix} - 1 & 0 & -1 \\ - 1 & 1 & 2 \\ - 0 & 1 & -1 - \end{pmatrix}. - $$ - - 计算 $B^{-1} = (A C^{-1}) A$: - $$ - \begin{aligned} - B^{-1} &= - \begin{pmatrix} - 1 & 0 & -1 \\ - 1 & 1 & 2 \\ - 0 & 1 & -1 - \end{pmatrix} - \begin{pmatrix} - 1 & 0 & 0 \\ - 1 & 1 & 3 \\ - 0 & 1 & -1 - \end{pmatrix} \\ - &= - \begin{pmatrix} - 1 & -1 & 1 \\ - 2 & 3 & 1 \\ - 1 & 0 & 4 - \end{pmatrix}. - \end{aligned} - $$ - - **3. 求 $B^*$** - $$ - B^* = |B| B^{-1} = \frac{1}{16} - \begin{pmatrix} - 1 & -1 & 1 \\ - 2 & 3 & 1 \\ - 1 & 0 & 4 - \end{pmatrix}. - $$ - - 因此, - $$ - \boxed{B^* = \frac{1}{16} \begin{pmatrix} 1 & -1 & 1 \\ 2 & 3 & 1 \\ 1 & 0 & 4 \end{pmatrix}}. - $$ - -
- -2. 已知矩阵 - - $$ - A = - \begin{pmatrix} - 1 & 0 & 1 \\ - 0 & 1 & 4 \\ - 2 & 0 & 5 - \end{pmatrix}, - B = - \begin{pmatrix} - 2 & 1 \\ - 1 & 2 - \end{pmatrix}, - C = - \begin{pmatrix} - 1 & 0 \\ - 3 & 1 \\ - 0 & 2 - \end{pmatrix} - $$ - - 且 $AXB = C$, 求矩阵 $X$ - -
- 解: - - 暴力计算即可,这里直接给出答案: - - $$ - \boxed{X = \frac{1}{3} \begin{pmatrix} 4 & -3 \\ 13 & -9 \\ -2 & 2 \end{pmatrix}}. - $$ - -
- -## 七 - -已知 $A$ 为三阶可逆矩阵, $B$ 为三阶矩阵,且满足 $2A^{-1}B=B-4E$。 - -1. 证明: $(A-2E)$ 为可逆矩阵,且写出 $(A-2E)^{-1}$ -2. 若 - - $$ - B = \begin{pmatrix} - 1 & -2 & 0 \\ - 1 & 2 & 0 \\ - 0 & 0 & 2 - \end{pmatrix} - $$ - - 求矩阵 $A$。 - -
- 解: - - **1. 证明 $(A-2E)$ 可逆并求逆** - 将原式 $2A^{-1}B = B - 4E$ 变形: - $$ - \begin{aligned} - 4E &= B - 2A^{-1}B \\ - 4E &= (E - 2A^{-1})B \\ - 4E &= (A A^{-1} - 2A^{-1})B \\ - 4E &= (A - 2E)A^{-1}B. - \end{aligned} - $$ - - 由此可得: - $$ - (A - 2E) \cdot \left( \frac{1}{4} A^{-1} B \right) = E. - $$ - - 因为 $(A-2E)$ 乘以一个矩阵得到了单位矩阵 $E$,所以 $(A-2E)$ 是可逆的,且其逆矩阵为: - $$ - \boxed{(A-2E)^{-1} = \frac{1}{4} A^{-1} B}. - $$ - - **2. 求矩阵 $A$** - - 可以由题设推导出 $(A - 2E)B = 4A$,下面解 $A$。 - 整理该式: - $$ - \begin{aligned} - AB - 2B &= 4A \\ - AB - 4A &= 2B \\ - A(B - 4E) &= 2B \\ - A &= 2B(B - 4E)^{-1}. - \end{aligned} - $$ - (这里需假设 $B-4E$ 可逆,通过后续计算可验证)。 - - 已知 $B = \begin{pmatrix} 1 & -2 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 2 \end{pmatrix}$,计算 $B - 4E$: - - $$ - B - 4E = - \begin{pmatrix} - 1-4 & -2 & 0 \\ - 1 & 2-4 & 0 \\ - 0 & 0 & 2-4 - \end{pmatrix} = - \begin{pmatrix} - -3 & -2 & 0 \\ - 1 & -2 & 0 \\ - 0 & 0 & -2 - \end{pmatrix}. - $$ - - 计算 $(B - 4E)^{-1}$。 - 行列式 $|B - 4E| = -16 \neq 0$,可逆。 - 求值:(可以利用分块对角矩阵性质) - $$ - (B - 4E)^{-1} = \frac{1}{8} - \begin{pmatrix} - -2 & 2 & 0 \\ - -1 & -3 & 0 \\ - 0 & 0 & -4 - \end{pmatrix}. - $$ - - 最后计算 $A = 2B(B - 4E)^{-1}$: - $$ - \begin{aligned} - A &= 2 \begin{pmatrix} 1 & -2 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 2 \end{pmatrix} \cdot \frac{1}{8} \begin{pmatrix} -2 & 2 & 0 \\ -1 & -3 & 0 \\ 0 & 0 & -4 \end{pmatrix} \\ - &= \frac{1}{4} - \begin{pmatrix} - -2+2 & 2+6 & 0 \\ - -2-2 & 2-6 & 0 \\ - 0 & 0 & -8 - \end{pmatrix} \\ - &= \frac{1}{4} - \begin{pmatrix} - 0 & 8 & 0 \\ - -4 & -4 & 0 \\ - 0 & 0 & -8 - \end{pmatrix} \\ - &= - \begin{pmatrix} - 0 & 2 & 0 \\ - -1 & -1 & 0 \\ - 0 & 0 & -2 - \end{pmatrix}. - \end{aligned} - $$ - - 因此, - $$ - \boxed{A = \begin{pmatrix} 0 & 2 & 0 \\ -1 & -1 & 0 \\ 0 & 0 & -2 \end{pmatrix}}. - $$ - -
- -## 八 - -设 - -$$ -\begin{cases} -(2-\lambda)x_1+2x_2-2x_3 = 1 \\ -2x_1+(5-\lambda)x_2-4x_3 = 2 \\ --2x_1-4x_2+(5-\lambda)x_3 = -\lambda - 1 -\end{cases} -$$ - -问 $\lambda$ 为何值时,此方程组有唯一解,无解或有无穷多解?并在有无穷多解时求其解。 - -
-解: - -对方程组的增广矩阵 $\bar{A}$ 进行初等行变换: - -$$ -\bar{A} = -\left( -\begin{array}{ccc|c} -2-\lambda & 2 & -2 & 1 \\ -2 & 5-\lambda & -4 & 2 \\ --2 & -4 & 5-\lambda & -\lambda - 1 -\end{array} -\right) -\xrightarrow{r_3+r_2} -\left( -\begin{array}{ccc|c} -2-\lambda & 2 & -2 & 1 \\ -2 & 5-\lambda & -4 & 2 \\ -0 & 1-\lambda & 1-\lambda & 1-\lambda -\end{array} -\right) -$$ - -交换 $r_1, r_2$ 并整理,最终化为阶梯型(过程略): - -$$ -\bar{A} \sim -\left( -\begin{array}{ccc|c} -2 & 5-\lambda & -4 & 2 \\ -0 & 1-\lambda & 1-\lambda & 1-\lambda \\ -0 & 0 & (\lambda-1)(\lambda-10) & (\lambda-1)(\lambda-4) -\end{array} -\right) -$$ - - 1. **唯一解**: - 当主对角元均不为 0 时,即 $\lambda \neq 1$ 且 $\lambda \neq 10$ 时,方程组有唯一解。 - - 2. **无解**: - 当 $\lambda = 10$ 时,第 3 行变为 $0x_1+0x_2+0x_3 = 9 \times 6 = 54$,出现 $0=54$ 的矛盾,方程组无解。 - - 3. **无穷多解**: - 当 $\lambda = 1$ 时,矩阵变为: - $$ - \left( - \begin{array}{ccc|c} - 2 & 4 & -4 & 2 \\ - 0 & 0 & 0 & 0 \\ - 0 & 0 & 0 & 0 - \end{array} - \right) - $$ - 秩为 1,小于未知数个数 3,故有无穷多解。 - 化简得 $x_1 + 2x_2 - 2x_3 = 1$。 - 令 $x_2=k_1, x_3=k_2$,得通解: - $$ - \begin{cases} - x_1 = 1 - 2k_1 + 2k_2 \\ - x_2 = k_1 \\ - x_3 = k_2 - \end{cases} - \quad (k_1, k_2 \in \mathbb{R}) - $$ - -
- -## 九 - -已知矩阵 - -$$ -A = \begin{pmatrix} -1 & 1 & 1 & 1 \\ -1 & 1 & -1 & -1 \\ -1 & -1 & 1 & -1 \\ -1 & -1 & -1 & 1 -\end{pmatrix} -$$ - -1. 求 $A^n(n=2,3,\cdots)$ -2. 若方阵 $B$ 满足 $A^3+A^2+AB-3A-2E=0$ ,求 $B$ - -
-解: - -**1. 求 $A^n$** - -由第五题得 $A^2 = 4E$: - -由此可推导 $A^n$ 的规律,分 $n$ 为偶数和奇数讨论: - -* 当 $n$ 为偶数时,设 $n=2k$ ($k \in \mathbb{N}^*$): - $$ - A^{2k} = (A^2)^k = (4E)^k = 4^k E = (2^2)^k E = 2^{2k} E = 2^n E. - $$ -* 当 $n$ 为奇数时,设 $n=2k+1$ ($k \in \mathbb{N}^*$): - $$ - A^{2k+1} = A^{2k} \cdot A = 2^{2k} E \cdot A = 2^{n-1} A. - $$ - -综上所述: - -$$ -\boxed{ -A^n = \begin{cases} -2^n E, & n \text{ 为偶数} \\ -2^{n-1} A, & n \text{ 为奇数} -\end{cases} -} -$$ - -**2. 求 $B$** - -利用第 1 问的结论,可知: -$$ -A^2 = 4E, \quad A^3 = A^2 \cdot A = 4A. -$$ - -将这些结果代入已知方程 $A^3+A^2+AB-3A-2E=0$: - -$$ -\begin{aligned} -(4A) + (4E) + AB - 3A - 2E &= 0 \\ -(4A - 3A) + (4E - 2E) + AB &= 0 \\ -A + 2E + AB &= 0. -\end{aligned} -$$ - -移项得: -$$ -AB = -A - 2E. -$$ - -由于 $A^2 = 4E$,可知 $|A^2| = |4E| = 4^4 \neq 0$,故 $|A| \neq 0$,即 $A$ 可逆。 -且由 $A \cdot A = 4E$ 可得: -$$ -A^{-1} = \frac{1}{4} A. -$$ - -方程 $AB = -A - 2E$ 两边左乘 $A^{-1}$: - -$$ -\begin{aligned} -B &= A^{-1}(-A - 2E) \\ - &= -A^{-1}A - 2A^{-1}E \\ - &= -E - 2A^{-1} \\ - &= -E - 2\left(\frac{1}{4}A\right) \\ - &= -E - \frac{1}{2}A \\ - &= -\frac{1}{2}(2E + A). -\end{aligned} -$$ - -代入具体数值计算: - -$$ -\begin{aligned} -2E + A &= \begin{pmatrix} 2 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 2 \end{pmatrix} + \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & 1 & -1 \\ 1 & -1 & -1 & 1 \end{pmatrix} \\ -&= \begin{pmatrix} 3 & 1 & 1 & 1 \\ 1 & 3 & -1 & -1 \\ 1 & -1 & 3 & -1 \\ 1 & -1 & -1 & 3 \end{pmatrix}. -\end{aligned} -$$ - -因此, - -$$ -\boxed{ -B = -\frac{1}{2} \begin{pmatrix} -3 & 1 & 1 & 1 \\ -1 & 3 & -1 & -1 \\ -1 & -1 & 3 & -1 \\ -1 & -1 & -1 & 3 -\end{pmatrix} -}. -$$ - -
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\345\220\253\347\255\224\346\241\210.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" similarity index 98% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\345\220\253\347\255\224\346\241\210.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index afd01af..6d4cd6f 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\345\220\253\347\255\224\346\241\210.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -1,8 +1,10 @@ --- -title: 2025-2026学年上学期期中试卷 +title: 2025-2026学年上学期期末 --- -## 一、 +## 2025-2026学年上学期期末试卷(A)(含答案) + +### 一、 求行列式 $|D|$: @@ -57,7 +59,9 @@ $$
-## 二、 +*** + +### 二、 已知矩阵 $A = \begin{pmatrix} 3 & 4 & 0 & 0 \\ 4 & -3 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 2 \end{pmatrix}$ @@ -161,7 +165,9 @@ $$
-## 三、 +*** + +### 三、 已知 $A^2=A$,证 $3E-A$ 可逆 @@ -195,7 +201,9 @@ $$ -## 四、 +*** + +### 四、 已知: @@ -341,7 +349,9 @@ $$ -## 五、 +*** + +### 五、 证:所有三阶反对称实矩阵构成集合 $V$ 是实线性空间 $R^{3 \times 3}$ 的子空间。 求 $V$ 的维数,并求 $V$ 的一组基 @@ -413,7 +423,9 @@ $$ -## 六、 +*** + +### 六、 $$ \alpha_1=\begin{pmatrix} 1 \\ 3 \\ 2 \\ 0 \end{pmatrix}, \quad @@ -500,7 +512,9 @@ $$ -## 七、 +*** + +### 七、 已知 $$ @@ -609,7 +623,9 @@ $$ -## 八、 +*** + +### 八、 $$ \alpha_1 = (1, 1, -2, 1)^T, \quad \alpha_2 = (2, 1, 1, 6)^T diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/README.md" index 9777123..d5b3e54 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\272\277\346\200\247\344\273\243\346\225\260/README.md" @@ -7,12 +7,27 @@ course_code: SE1101 > >因此可以同时参考[数据科学与工程-线性代数(计算机拔尖基地)](../../数据科学与工程学院/线性代数(计算机拔尖基地))中 2023Fall 和 2024Fall 的卷子. -## 真题卷 +## 2023-2024学年上学期 -[2023-2024学年上学期期中_A](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/线性代数/2023-2024学年上学期期中_A.pdf) -[2024-2025学年上学期期中_A](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/线性代数/2024-2025学年上学期期中_A.pdf) -[2024-2025学年上学期期中_A_答案](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/线性代数/2024-2025学年上学期期中_A_答案.pdf) +### 试卷 -## 课件 +- [2023-2024学年上学期期中试卷](./2023-2024学年上学期期中) -[wm老师](https://pan.baidu.com/s/1o1yVQD_mnfTY1gakUTCrDg?pwd=ECNU)(上传时截至教材第二章) +## 2024-2025学年上学期 + +### 试卷 + +- [2024-2025学年上学期期中试卷](./2024-2025学年上学期期中) + +## 2025-2026学年上学期 + +### 试卷 + +- [2025-2026学年上学期期中试卷](./2025-2026学年上学期期中) +- [2025-2026学年上学期期末试卷](./2025-2026学年上学期期末) + +### 吴敏 + +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1101/2025-2026学年上学期/吴敏/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" index 1fca219..55fc4cf 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -2,9 +2,15 @@ title: 2025-2026学年上学期期中 --- -## 华东师范大学过程型测试 2025-2026 学年第 一 学期 +## 2025-2026学年上学期期中试卷 -一、给定下面正则定义给出: +### 说明 + +- 原卷标题:华东师范大学过程型测试 2025-2026 学年第 一 学期 + +### 一、 + +给定下面正则定义给出: $$ (a|b)^*abb @@ -20,7 +26,9 @@ $$ 3. 对上述 DFA 进行最小化。 -二、考虑如下描述简单赋值语句与算数表达式的文法: +### 二、 + +考虑如下描述简单赋值语句与算数表达式的文法: $$ 1) S \rightarrow id := E ; \\ @@ -36,15 +44,19 @@ $$ id := id + id * id ; $ - > 原文此处 $ - > - > 为 $\mathbb{S}$ + :::tip + 原文此处 $ + + 为 $\mathbb{S}$ + ::: 给出对应的 LL(1) 分析程序的分析过程(最左推导),要求: 1. 采用“栈内容 / 当前输入符号 / 所用产生式或动作”三列形式逐步写出推导过程; 2. 直到栈与输入都只剩下 $ 为止。 - > 原文此处 $ 为 # + :::tip + 原文此处 $ 为 # + ::: 提示:可按课堂 LL(1) 实例的格式直接书写推导步骤。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index 58d9e9c..f72cbb4 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\274\226\350\257\221\345\216\237\347\220\206\344\270\216\346\212\200\346\234\257/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,77 +2,84 @@ title: 2025-2026学年上学期期末 --- -## 华东师范大学期末试卷A卷 2025-2026 学年第 一 学期 +## 2025-2026学年上学期期末试卷(A) + +### 说明 + +- 原卷标题:华东师范大学期末试卷A卷 2025-2026 学年第 一 学期 ### 一、选择题 1. 设正规式 (regular expression) -$$ -r = (a\mid b)(c\mid d\mid e)(x\mid y) -$$ -则 $L(r)$ 中元素个数(the number of elements in $L(r)$)为()。 + $$ + r = (a\mid b)(c\mid d\mid e)(x\mid y) + $$ + 则 $L(r)$ 中元素个数(the number of elements in $L(r)$)为()。 -A. 6 + A. 6 -B. 12 + B. 12 -C. 18 + C. 18 + + D. 24 -D. 24 2. 文法 $G[S]$: -$$ -S \to aSb\,\mid\,ab -$$ -所识别的语言是(the language recognized by the grammar)是()。 + $$ + S \to aSb\,\mid\,ab + $$ + 所识别的语言是(the language recognized by the grammar)是()。 -A. $\{a^nb^n\,\mid\,n \geq 0\}$ + A. $\{a^nb^n\,\mid\,n \geq 0\}$ -B. $\{a^nb^n\,\mid\,n \geq 1\}$ + B. $\{a^nb^n\,\mid\,n \geq 1\}$ -C. $\{a^nb^m\,\mid\,n,m \geq 1\}$ + C. $\{a^nb^m\,\mid\,n,m \geq 1\}$ -D. $\{(ab)^n\,\mid\,n \geq 1\}$ + D. $\{(ab)^n\,\mid\,n \geq 1\}$ 3. -**!!!warning 原题遗失,但原题是错题** + :::tip + 原题遗失,但原题是错题 + ::: 4. 给定文法 $G$($S$为开始符号): -$$ -S \to aS\,\mid\,B \\ -B \to bBc\,\mid\,ε -$$ -下列哪些符号串是 $L(G)$ 中的元素(which string is in $L(G)$)。 + $$ + S \to aS\,\mid\,B \\ + B \to bBc\,\mid\,ε + $$ + 下列哪些符号串是 $L(G)$ 中的元素(which string is in $L(G)$)。 -A. $a^2b^3c^3$ + A. $a^2b^3c^3$ -B. $a^2b^3c^2$ + B. $a^2b^3c^2$ -C. $ab$ + C. $ab$ -D. $a^3c$ + D. $a^3c$ 5. 一个 **$LR(1)$** 文法(an LR(1) grammer)一定是()。 -A. 二义性文法 + A. 二义性文法 -B. 无二义性文法 + B. 无二义性文法 -C. 左递归文法 + C. 左递归文法 -D. LL(1) 文法 + D. LL(1) 文法 ### 二、填空题 6. 已知文法 $G[E]$: -$$ -\begin{aligned} -E &\to E-T\,\mid\,T \\ -T &\to T/F\,\mid\,F \\ -F &\to (E)\,\mid\,id -\end{aligned} -$$ -则终结符集合(terminal set)为\_\_\_\_\_\_,非终结符集合(non-terminal set)为)\_\_\_\_\_\_。 + $$ + \begin{aligned} + E &\to E-T\,\mid\,T \\ + T &\to T/F\,\mid\,F \\ + F &\to (E)\,\mid\,id + \end{aligned} + $$ + 则终结符集合(terminal set)为\_\_\_\_\_\_,非终结符集合(non-terminal set)为)\_\_\_\_\_\_。 7. 编译程序的工作过程一般可分为(the phases of a compile):\_\_\_\_\_\_、\_\_\_\_\_\_、\_\_\_\_\_\_、\_\_\_\_\_\_、\_\_\_\_\_\_、\_\_\_\_\_\_等基本阶段,同时还会伴有(also with)\_\_\_\_\_\_和\_\_\_\_\_\_。 @@ -86,68 +93,69 @@ $$ 2. 为文法 $L = \{a^nb^mc^n\},n \geq 1,m \geq 0\}$ 设计CFG。 3. 对于属性文法 -$S \to pAq$ `{print 1}`; + $S \to pAq$ `{print 1}`; -$S \to p$ `{print 2}`; + $S \to p$ `{print 2}`; -$A \to AS$ `{print 3}`; + $A \to AS$ `{print 3}`; -$A \to r$ `{print 4}`; + $A \to r$ `{print 4}`; -输入串为 `prpq`,输出为什么 + 输入串为 `prpq`,输出为什么 4. 对于文法: -$$ -\begin{aligned} -S &\to Ad\\ -A &\to aAb \mid c -\end{aligned} -$$ -a. 给出 $aAbd$ 与 $acbd$ 的句柄 + $$ + \begin{aligned} + S &\to Ad\\ + A &\to aAb \mid c + \end{aligned} + $$ + a. 给出 $aAbd$ 与 $acbd$ 的句柄 -b. 分别给出 $aacbbd$ 的最左和最右推导 + b. 分别给出 $aacbbd$ 的最左和最右推导 5. 消除下列文法的左递归 -$$ -\begin{aligned} -E &\to E - T \mid T\\ -T &\to T / F \mid F\\ -F &\to (E) \mid id -\end{aligned} -$$ + $$ + \begin{aligned} + E &\to E - T \mid T\\ + T &\to T / F \mid F\\ + F &\to (E) \mid id + \end{aligned} + $$ ### 四、计算 1. 对于正则表达式 $r = (a\mid b)^*(aba\mid bab)$ -a. 使用直接构造法构造 DFA,给出状态表 + a. 使用直接构造法构造 DFA,给出状态表 -b. 最小化上一问的 DFA ,给出状态表或说明合并结果 + b. 最小化上一问的 DFA ,给出状态表或说明合并结果 2. 对于文法 -$$ -\begin{aligned} -S &\to AB\\ -A &\to aA\mid ε\\ -B &\to bB\mid C\\ -C &\to cC\mid d -\end{aligned} -$$ + $$ + \begin{aligned} + S &\to AB\\ + A &\to aA\mid ε\\ + B &\to bB\mid C\\ + C &\to cC\mid d + \end{aligned} + $$ -a. 构造 LR(0) 规范集组 + a. 构造 LR(0) 规范集组 -b. 给出 follow 集 + b. 给出 follow 集 -c. 构造 SLR(1) 状态表,说明是否为 SLR(1) 文法 + c. 构造 SLR(1) 状态表,说明是否为 SLR(1) 文法 -d. 对于 $aabbccdd\$$,给出文法分析过程 + d. 对于 $aabbccdd\$$,给出文法分析过程 3. 给出下列代码的三地址码形式 -```python -while(m*2 < n+k OR m != k) - while(n - m >= 3 AND k < 8>) - { - n = n - 1; - k = k + m; - } -``` + + ```python + while(m*2 < n+k OR m != k) + while(n - m >= 3 AND k < 8>) + { + n = n - 1; + k = k + m; + } + ``` diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\345\215\217\350\256\256\345\217\212\345\210\206\346\236\220/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\345\215\217\350\256\256\345\217\212\345\210\206\346\236\220/README.md" index 9322975..b5b2eaa 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\345\215\217\350\256\256\345\217\212\345\210\206\346\236\220/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\345\215\217\350\256\256\345\217\212\345\210\206\346\236\220/README.md" @@ -5,6 +5,10 @@ course_code: SE3338 ## 2024-2025学年下学期 +### 试卷 + +- [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) + ### 刘虹 - 老师人很好很好,教的也很认真 @@ -12,5 +16,4 @@ course_code: SE3338 #### 教学资源 -- [课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/网络安全协议分析/2024-2025学年下学期) -- [期末试题](./2024-2025学年下学期期末) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3338/2024-2025学年下学期/刘虹/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\270\200\357\274\211/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\270\200\357\274\211/README.md" index d7427ad..244e10d 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\270\200\357\274\211/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\270\200\357\274\211/README.md" @@ -2,6 +2,7 @@ title: 网络安全数学基础(一) course_code: SE2317 --- + ## 2023-2024学年下学期 ### 试卷 @@ -15,4 +16,4 @@ course_code: SE2317 #### 教学资源 -- [课件 2022级更新 (3-1 到 5)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2317/slides/2024Spring) +- [Slides(3-1到5)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2317/2023-2024学年下学期/沈佳辰/Slides(3-1到5)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index 7409e51..4023f59 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -6,113 +6,128 @@ title: 2024-2025学年上学期期末 ### 说明 -本学期(2024年秋季学期)的期末试卷难度**相当**低,本人评价为有手就行,故没有特意记忆所有题目,而是挑出一些有代表性的题目以供参考 +- 本学期(2024年秋季学期)的期末试卷难度**相当**低,本人评价为有手就行,故没有特意记忆所有题目,而是挑出一些有代表性的题目以供参考 -我们这里再提供一道填空题,一道选择题,以显示这张卷子的**诚意** -
    -
  1. +- 我们这里再提供一道填空题,一道选择题,以显示这张卷子的**诚意** +
      +
    1. - 设 $G$ 是一个群,对于 $\forall a,b \in G$, $a*b=b*a$, 则 $G$ 是 ____ 群 -
    2. -
    3. + 设 $G$ 是一个群,对于 $\forall a,b \in G$, $a*b=b*a$, 则 $G$ 是 ____ 群 +
    4. +
    5. - 设 $R$ 是一个环,对于 $\forall a,b \in R$, $a+b=b+a$, 则 $R$ 是? - A. 整环 B. 交换环 C. 含幺环 D. 环 -
    6. -
    + 设 $R$ 是一个环,对于 $\forall a,b \in R$, $a+b=b+a$, 则 $R$ 是? + A. 整环 B. 交换环 C. 含幺环 D. 环 +
  2. +
-很大程度上,老师的出题和给分是十分宽容的,请大家好好学习这门课程,**数学并不是妖魔鬼怪!** +- 很大程度上,老师的出题和给分是十分宽容的,请大家好好学习这门课程,**数学并不是妖魔鬼怪!** -### 题目 +### 一、 -1. 设 $G=\{a,b,c,e\}$ 是一个群, $H=\{a,e\}$ 是 $G$ 的子群,写出 $H$ 的所有左陪集 +设 $G=\{a,b,c,e\}$ 是一个群, $H=\{a,e\}$ 是 $G$ 的子群,写出 $H$ 的所有左陪集 -
+
- 解: +解: - 将 $G$ 中元素 $g$ 各个代入,计算 $gH$ +将 $G$ 中元素 $g$ 各个代入,计算 $gH$ - - $g = e$: - $eH = H$ +- $g = e$: + $eH = H$ - - $g = a$: - $aH = \{ a \cdot a, a \cdot e \} = \{ a^2, a \}$,由于 $G$ 是群,且 $H$ 是子群,所以 $a^2$ 必须是 $G$ 中元素。 - 故 $a^2 = e$,则: $aH = \{ e, a \} = H$ +- $g = a$: + $aH = \{ a \cdot a, a \cdot e \} = \{ a^2, a \}$,由于 $G$ 是群,且 $H$ 是子群,所以 $a^2$ 必须是 $G$ 中元素。 + 故 $a^2 = e$,则: $aH = \{ e, a \} = H$ - - $g = b$: - $bH = \{ b \cdot a, b \cdot e \} = \{ ba, b \}$, - 假设 $ba = c$ ,则: - $bH = \{ c, b \}$ +- $g = b$: + $bH = \{ b \cdot a, b \cdot e \} = \{ ba, b \}$, + 假设 $ba = c$ ,则: + $bH = \{ c, b \}$ - - $g = c$: - $cH = \{ c \cdot a, c \cdot e \} = \{ ca, c \}$, - 假设 $ca = b$ ,则: - $cH = \{ b, c \} = bH$ +- $g = c$: + $cH = \{ c \cdot a, c \cdot e \} = \{ ca, c \}$, + 假设 $ca = b$ ,则: + $cH = \{ b, c \} = bH$ - 综上所述,H的所有子陪集是 $\{ e, a \}, \{ b, c \}$ +综上所述,H的所有子陪集是 $\{ e, a \}, \{ b, c \}$ -
+
- *** +*** -2. 写出 $R=Z/6Z$ 的所有零因子 +### 二、 -
+写出 $R=Z/6Z$ 的所有零因子 - 解: +
- $R=Z/6Z \cong Z_6$,我们只要考虑 $Z_6$ 上的性质: - 显然有 $2\times3 \equiv 0 \pmod{6}, 4\times3 \equiv 0 \pmod{6}$,所以零因子是2,3,4 +解: -
+$R=Z/6Z \cong Z_6$,我们只要考虑 $Z_6$ 上的性质: +显然有 $2\times3 \equiv 0 \pmod{6}, 4\times3 \equiv 0 \pmod{6}$,所以零因子是2,3,4 - *** +
-3. 定义在有限域 $F_{17}$ 上的椭圆曲线 $E: x^3 + 2x + 3 = y^2$ 上有点 $P(2, 7), Q(11, 8)$ , 计算 $P+Q$ , $2P$ +*** -
+### 三、 - 解: +定义在有限域 $F_{17}$ 上的椭圆曲线 $E: x^3 + 2x + 3 = y^2$ 上有点 $P(2, 7), Q(11, 8)$ , 计算 $P+Q$ , $2P$ - 直接计算即可,我们这里直接给出答案: $P+Q = (8, 15)$ , $2P = (14, 15)$ +
-
+解: - *** +直接计算即可,我们这里直接给出答案: $P+Q = (8, 15)$ , $2P = (14, 15)$ -4. 求域 $F_{16}=F_2[x]/(x^4+x^3+1)$的一个生成元 $g(x)$,并用 $g(x)$ 的幂表示 $F_{16}$ 中的所有非零元 +
-
+*** - 解: +### 四、 - 这时候有同学要问了,生成元怎么找啊?其实很简单,直接验证就可以了,(出于强大的直觉和观察力)我们在这里直接验证 $x$ : +求域 $F_{16}=F_2[x]/(x^4+x^3+1)$的一个生成元 $g(x)$,并用 $g(x)$ 的幂表示 $F_{16}$ 中的所有非零元 - | $x^n$ | $x^n\pmod{x^4+x^3+1}$ | - | -------- | --------------------- | - | $x^0$ | $1$ | - | $x^1$ | $x$ | - | $x^2$ | $x^2$ | - | $x^3$ | $x^3$ | - | $x^4$ | $x^3 + 1$ | - | $x^5$ | $x^3 + x + 1$ | - | $x^6$ | $x^3 + x^2 + x + 1$ | - | $x^7$ | $1 + x^2 + x$ | - | $x^8$ | $x^2 + x + 1$ | - | $x^9$ | $x^3 + x^2 + x$ | - | $x^{10}$ | $x^3 + x^2 + x + 1$ | - | $x^{11}$ | $x^3 + x + 1$ | - | $x^{12}$ | $x^3 + 1$ | - | $x^{13}$ | $x^3$ | - | $x^{14}$ | $x^2$ | +
- 如上表,由 $x$ 生成的15个非零元素互不相等,所以 $x$ 确实是生成元,非零元的表示如表中所示 +解: -
+这时候有同学要问了,生成元怎么找啊?其实很简单,直接验证就可以了,(出于强大的直觉和观察力)我们在这里直接验证 $x$ : - *** +| $x^n$ | $x^n\pmod{x^4+x^3+1}$ | +| -------- | --------------------- | +| $x^0$ | $1$ | +| $x^1$ | $x$ | +| $x^2$ | $x^2$ | +| $x^3$ | $x^3$ | +| $x^4$ | $x^3 + 1$ | +| $x^5$ | $x^3 + x + 1$ | +| $x^6$ | $x^3 + x^2 + x + 1$ | +| $x^7$ | $1 + x^2 + x$ | +| $x^8$ | $x^2 + x + 1$ | +| $x^9$ | $x^3 + x^2 + x$ | +| $x^{10}$ | $x^3 + x^2 + x + 1$ | +| $x^{11}$ | $x^3 + x + 1$ | +| $x^{12}$ | $x^3 + 1$ | +| $x^{13}$ | $x^3$ | +| $x^{14}$ | $x^2$ | -5. 证明:有限环的特征一定不为0 +如上表,由 $x$ 生成的15个非零元素互不相等,所以 $x$ 确实是生成元,非零元的表示如表中所示 + +
+ +*** + +### 五、 + +证明:有限环的特征一定不为0 + +
+ +证明: + +请参考课件Chap7.pdf中27-28页 + +
- 请参考课件Chap7.pdf中27-28页 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/README.md" index 8f8e404..64652e4 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\347\275\221\347\273\234\345\256\211\345\205\250\346\225\260\345\255\246\345\237\272\347\241\200\357\274\210\344\272\214\357\274\211/README.md" @@ -2,6 +2,7 @@ title: 网络安全数学基础(二) course_code: SE3319 --- + ## 2024-2025学年上学期 ### 试卷 @@ -15,4 +16,4 @@ course_code: SE3319 #### 教学资源 -- [课件 2022级更新 (6-1 到 9, 商密介绍)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3319/slides/2024Fall) +- [Slides(6-1 到 9, 商密介绍)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3319/2024-2025学年上学期/沈佳辰/Slides(6-1%20到%209,%20商密介绍)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 62b242b..21b0bdd 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,7 +2,7 @@ title: 2023-2024学年下学期期末 --- -## 2023-2024学年下学期期末试卷(回忆版) +## 2023-2024学年下学期期末试卷(含答案) ### 分析题 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index eba1bd5..d2bbd2d 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,7 +2,11 @@ title: 2024-2025学年下学期期末 --- -## 2024-2025学年下学期期末试卷(不全) +## 2024-2025学年下学期期末试卷(含答案) + +### 说明 + +- 试题不全 ### 分析题 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/README.md" index 8039f3d..dfc89bf 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\345\256\211\345\205\250/README.md" @@ -4,21 +4,25 @@ course_code: SE2318 --- ## 2023-2024学年下学期 +### 试卷 + +- [2023-2024学年下学期期末试卷](./2023-2024学年下学期期末) + ### 陈志立 - 事情很少, 也没什么作业 - 老师人挺好 - 期末是背板一样的考试 - 如果是专业选修课, 那么推荐选, 毕竟是白拿的 2 学分 -- 资源列表 - - [课件](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8_%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2_2024Spring_%E8%AF%BE%E4%BB%B6.zip?sign=kVE1IZ9V7TH9vo4nZkCXxvvHOVRVdkwmmEfvMSa8T6E=:0) - - [教材](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8_%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2_2024Spring_%E6%95%99%E6%9D%90.pdf?sign=DHcTLmtXrf7BAQSA0iYV-YS1vJAZ5ueFnwWbzIfdj-8=:0) - - [习题答案](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AE%89%E5%85%A8_%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2_2024Spring_%E4%B9%A0%E9%A2%98%E7%AD%94%E6%A1%88.pdf?sign=qFT1OTkrB31qw7MI59YB9g1y0qMYi9LB9rL9QtYcpjk=:0) - - [2023-2024学年下学期期末试卷](./2023-2024学年下学期期末) - + +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2318/2023-2024学年下学期/陈志立/Slides) +- [教材](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE2318/2023-2024学年下学期/陈志立/教材.pdf) +- [习题答案](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE2318/2023-2024学年下学期/陈志立/习题答案.pdf) + ## 2024-2025学年下学期 -### 陈志立 +### 试卷 -- 资源列表 - - [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) +- [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" index ccfc5e5..420472a 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -219,7 +219,9 @@ title: 2017-2018学年下学期期中 *** -### 二、(8 分)假设一种整数为 6 位字长,根据第一列的描述,填写其对应的值。 +### 二、(8 分) + +假设一种整数为 6 位字长,根据第一列的描述,填写其对应的值。 | 描述 | 值 | | --- | --- | @@ -250,7 +252,9 @@ title: 2017-2018学年下学期期中 *** -### 三、(8 分)考虑基于 IEEE 浮点格式标准的 5 位浮点表示,这种格式没有符号位,只表示非负数(阶码 3 位,尾数 2 位)。 +### 三、(8 分) + +考虑基于 IEEE 浮点格式标准的 5 位浮点表示,这种格式没有符号位,只表示非负数(阶码 3 位,尾数 2 位)。 该 5 位浮点数数值为 $V=1.M\times2^E$,其中 $E$ 是偏置后的阶码值,$M$ 是尾数值。 @@ -279,7 +283,9 @@ title: 2017-2018学年下学期期中 *** -### 四、(10 分)在 X86-64 机型上,产生整型变量 `x`、`y`、`z` 的随机数,试判断下列 C 表达式是否恒为真。 +### 四、(10 分) + +在 X86-64 机型上,产生整型变量 `x`、`y`、`z` 的随机数,试判断下列 C 表达式是否恒为真。 ```c /* Create some arbitrary values */ @@ -326,7 +332,9 @@ double dz = (double)z; *** -### 五、(8 分)考虑如下 C 函数,请根据对应的汇编代码,填写 C 代码中缺失的表达式。 +### 五、(8 分) + +考虑如下 C 函数,请根据对应的汇编代码,填写 C 代码中缺失的表达式。 ```c long mystery1(unsigned long x) { @@ -374,7 +382,9 @@ long mystery1(unsigned long x) { *** -### 六、(8 分)考虑如下 C 程序。 +### 六、(8 分) + +考虑如下 C 程序。 ```c #include @@ -439,7 +449,9 @@ B. 程序的输出结果是什么? *** -### 七、(18 分)考虑 x86-64 机型下的如下结构: +### 七、(18 分) + +考虑 x86-64 机型下的如下结构: ```c struct my_struct { @@ -544,7 +556,9 @@ C. A *** -### 八、(10 points)某程序中包含 `switch` 语句,采用跳转表实现。其跳转表如下: +### 八、(10 points) + +某程序中包含 `switch` 语句,采用跳转表实现。其跳转表如下: ```asm 0x4004b7: jmpq *0x400600(,%rax,8) @@ -639,7 +653,9 @@ int test(int x, int y, int z) *** -### 九、(10 分)考虑如下 C 语言代码,其中 `M` 和 `N` 是由 `#define` 声明的常量。 +### 九、(10 分) + +考虑如下 C 语言代码,其中 `M` 和 `N` 是由 `#define` 声明的常量。 ```c int array1[M][N]; diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 03de5de..44bea6b 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -254,7 +254,9 @@ title: 2017-2018学年下学期期末 *** -### 二、(12 分)考虑下面基于 IEEE 浮点格式的 8 位浮点表示:1 位符号位、3 位阶码位和 4 位尾数位。请回答下列问题: +### 二、(12 分) + +考虑下面基于 IEEE 浮点格式的 8 位浮点表示:1 位符号位、3 位阶码位和 4 位尾数位。请回答下列问题: 1. 偏置量是多少? 2. 请写出最小的正浮点数表示。 @@ -290,7 +292,9 @@ title: 2017-2018学年下学期期末 *** -### 三、(10 分)某 C 程序中定义了结构类型 `st1_t` 和 `st2_t`。 +### 三、(10 分) + +某 C 程序中定义了结构类型 `st1_t` 和 `st2_t`。 ```c struct st1_t { @@ -362,7 +366,9 @@ struct st2_t { *** -### 四、(8 分)请分析 `foo()` 函数的汇编代码,并填写其中的缺失部分。 +### 四、(8 分) + +请分析 `foo()` 函数的汇编代码,并填写其中的缺失部分。 ```asm int foo(unsigned int x) @@ -440,7 +446,9 @@ int foo(unsigned int x) *** -### 六、(7 分)针对下列 C 语言程序,试分析其输出是什么? +### 六、(7 分) + +针对下列 C 语言程序,试分析其输出是什么? ```c #include "caspp.h" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" index b667458..9dd6239 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/2018-2019\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -204,7 +204,9 @@ title: 2018-2019学年下学期期中 *** -### 二、(6 分)假设一种整数为 8 位字长,根据第一列的描述,填写其对应的值。 +### 二、(6 分) + +假设一种整数为 8 位字长,根据第一列的描述,填写其对应的值。 | 描述 | 值(十进制表示) | | --- | --- | @@ -231,7 +233,9 @@ title: 2018-2019学年下学期期中 *** -### 三、(20 分)考虑基于 IEEE 浮点格式标准的 8 位浮点表示(符号位 1 位,阶码 3 位,尾数 4 位)。 +### 三、(20 分) + +考虑基于 IEEE 浮点格式标准的 8 位浮点表示(符号位 1 位,阶码 3 位,尾数 4 位)。 该 8 位浮点数数值为 $V=(-1)^S\times1.M\times2^E$,其中 $E$ 是偏置后的阶码值,$M$ 是尾数值,$S$ 为符号位。 @@ -262,7 +266,9 @@ title: 2018-2019学年下学期期中 *** -### 四、(12 分)`a`,`b` 为整型变量,将左侧的每个描述与右侧的一行代码匹配。 +### 四、(12 分) + +`a`,`b` 为整型变量,将左侧的每个描述与右侧的一行代码匹配。 | 描述 | 匹配代码 | | --- | --- | @@ -307,7 +313,9 @@ I. `a >> 2` *** -### 五、(12 分)考虑如下 C 函数,请根据对应的汇编代码,填写 C 代码中缺失的表达式。 +### 五、(12 分) + +考虑如下 C 函数,请根据对应的汇编代码,填写 C 代码中缺失的表达式。 ```c int looper(int n, int *a) { @@ -369,7 +377,9 @@ int looper(int n, int *a) { *** -### 六、(8 分)考虑如下 C 程序。 +### 六、(8 分) + +考虑如下 C 程序。 ```c #include @@ -434,7 +444,9 @@ B. 程序的输出结果是什么? *** -### 七、(12 分)考虑 x86-64 机型下定义的如下结构: +### 七、(12 分) + +考虑 x86-64 机型下定义的如下结构: ```c struct my_struct { @@ -512,7 +524,9 @@ struct my_struct { *** -### 八、(10 points)某程序中包含 `switch` 语句,采用跳转表实现。其跳转表如下: +### 八、(10 points) + +某程序中包含 `switch` 语句,采用跳转表实现。其跳转表如下: ```asm 0x4004b7: jmpq *0x400600(,%rax,8) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/README.md" index 857ed17..1700e46 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\263\273\347\273\237/README.md" @@ -29,8 +29,22 @@ course_code: SE1210 - 建议无脑选 - 老师人很好很好, 会捞, 会告诉重点 -## 推荐教材与参考资料 +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1210/2022-2023学年下学期/肖波/Slides) + +## 2024-2025学年下学期 + +### 肖波 -[计算机系统](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/计算机系统) +- ~~老师的朋友圈很好看~~ + +#### 教学资源 + +- [最后一节课重点](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE1210/2024-2025学年下学期/肖波/2024-2025学年下学期最后一节课重点.pdf) +- [模拟测试卷](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1210/2024-2025学年下学期/肖波/模拟测试卷) +- [作业及实验参考](https://github.com/Niazye/CSAPP-in-ECNU) + +## 推荐教材与参考资料 -[24-25学年春学期肖波班作业及实验参考](https://github.com/Niazye/CSAPP-in-ECNU) +- [练习(网络资源)](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1210/推荐教材与参考资料/练习(网络资源)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..c8e9ad0 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,821 @@ +--- +title: 2005-2006学年上学期期末 +--- + +## 2005-2006学年上学期期末试卷(A)(含答案) + +### 一、选择题(20 分,每题 2 分) + +1. Internet 的核心协议是( )。 + + A. X.25 + + B. TCP/IP + + C. ICMP + + D. UDP + +
+ 答案: + + B + +
+ + *** + +2. 通过改变载波信号的相位值来表示数字信号“1”和“0”的方法叫做( )。 + + A. ASK + + B. FSK + + C. PSK + + D. ATM + +
+ 答案: + + C + +
+ + *** + +3. 下列哪个 MAC 地址是正确的( )。 + + A. `00-06-5B-4F-45-BA` + + B. `192.168.1.55` + + C. `65-10-96-58-16` + + D. `00-16-5B-4A-34-2H` + +
+ 答案: + + A + +
+ + *** + +4. 在 WINDOW 2000 中,查看本机 IP 地址的命令是( )。 + + A. `ping` + + B. `tracert` + + C. `net` + + D. `ipconfig` + +
+ 答案: + + D + +
+ + *** + +5. 采用异步传输方式,设数据位为 8 位,1 位停止位,无校验位,则其通信效率为( )。 + + A. 70% + + B. 80% + + C. 30% + + D. 20% + +
+ 答案: + + B + +
+ + *** + +6. E1 载波的数据传输率为( )。 + + A. 1 Mbps + + B. 10 Mbps + + C. 2.048 Mbps + + D. 1.544 Mbps + +
+ 答案: + + C + +
+ + *** + +7. 下列哪种交换方法实时性最好?( ) + + A. 分组交换 + + B. 报文交换 + + C. 电路交换 + + D. 各种方法都一样 + +
+ 答案: + + A + +
+ + *** + +8. 若 HDLC 帧的数据段中出现比特串 `0101111101`,则比特填充后的输出为( )。 + + A. `01001111101` + + B. `01011111001` + + C. `01011110101` + + D. `01011111010` + +
+ 答案: + + B + +
+ + *** + +9. TCP/IP 体系结构中的 TCP 和 IP 所提供的服务分别为( )。 + + A. 链路层服务和网络层服务 + + B. 网络层服务和运输层服务 + + C. 运输层服务和应用层服务 + + D. 运输层服务和网络层服务 + +
+ 答案: + + D + +
+ + *** + +10. 对于基带 CSMA/CD 而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的( )。 + + A. 1 倍 + + B. 2 倍 + + C. 4 倍 + + D. 2.5 倍 + +
+ 答案: + + B + +
+ +*** + +### 二、填空(20 分,每空 1 分) + +1. 根据网络的地理覆盖范围进行分类,计算机网络可以分为以下四大类型:$\underline{\qquad}$,$\underline{\qquad}$,$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 局域网、城域网、广域网、因特网 + +
+ + *** + +2. 网络的传输方式按信号传送方向和时间关系分类,信道可分为三种:$\underline{\qquad}$,$\underline{\qquad}$,$\underline{\qquad}$。 + +
+ 答案: + + 单工、半双工、全双工 + +
+ + *** + +3. 光纤的规格分为 $\underline{\qquad}$ 和 $\underline{\qquad}$ 两种。 + +
+ 答案: + + 单模光纤、多模光纤 + +
+ + *** + +4. 最常用的两种多路复用技术为 $\underline{\qquad}$ 和 $\underline{\qquad}$,其中,前者是同一时间同时传送多路信号,而后者是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + FDM、TDM + +
+ + *** + +5. 数据链路层的成帧技术主要有:$\underline{\qquad}$,$\underline{\qquad}$,$\underline{\qquad}$ 和 $\underline{\qquad}$ 四种。 + +
+ 答案: + + 字符记数法、字符填充法、位填充法、物理层违例编码法 + +
+ + *** + +6. DHCP 的中文名称为 $\underline{\qquad}$。 + +
+ 答案: + + 动态主机控制协议 + +
+ + *** + +7. 在 HDLC 协议中,经过位填充后的比特流序列 `01111101011111001` 在接收方将还原成 $\underline{\qquad}$。 + +
+ 答案: + + `011111101111101` + +
+ + *** + +8. 路由器属于 $\underline{\qquad}$ 层的互连设备。 + +
+ 答案: + + 网络层 + +
+ + *** + +9. 传输层释放连接的主要方式有 $\underline{\qquad}$ 和 $\underline{\qquad}$ 两种。 + +
+ 答案: + + 对称方式、非对称方式 + +
+ +*** + +### 三、名词解释(12 分,每小题 3 分) + +1. TCP + +
+ 答案: + + TCP:传输控制协议 TCP 是 TCP/IP 协议栈中的传输层协议,TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。与 IP 协议相结合,TCP/IP 组成了因特网协议的核心。 + +
+ + *** + +2. VLAN + +
+ 答案: + + VLAN:即虚拟局域网,是指处于不同物理位置的节点根据需要组成不同的逻辑子网,即一个 VLAN 就是一个逻辑广播域,它可以覆盖多个网络设备。VLAN 允许处于不同地理位置的网络用户加入到一个逻辑子网中,共享一个广播域。通过对 VLAN 的创建可以控制广播风暴的产生,从而提高交换式网络的整体性能和安全性。 + +
+ + *** + +3. 载荷脱落(Load Shedding) + +
+ 答案: + + 载荷脱落(Load Shedding):当采用其他办法都不能消除拥塞时,路由器就使用载荷脱落。载荷脱落(load shedding)是一种极端的方法,即当路由器被它所不能控制的分组所淹没时,它只好将这些分组扔掉。 + +
+ + *** + +4. 泛洪路由算法(Flooding Routing) + +
+ 答案: + + 泛洪路由算法(Flooding Routing):一种路由算法,在泛洪路由算法中,路由器从输入线接收到分组后,向除输入线之外的其他所有输出线转发该分组。 + +
+ +*** + +### 四、简答题(20 分,每小题 10 分) + +1. 论述三种交换技术(电路交换、报文交换和分组交换)的主要特点。 + +
+ 答案: + + 电路交换就是计算机终端之间通信时,一方发起呼叫,独占一条物理线路。当交换机完成接续,对方收到发起端的信号,双方即可进行通信。在整个通信过程中双方一直占用该电路。它的特点是实时性强,时延小,交换设备成本较低。但同时也带来线路利用率低,电路接续时间长,通信效率低,不同类型终端用户之间不能通信等缺点。电路交换比较适用于信息量大、长报文,经常使用的固定用户之间的通信。 + + 报文交换:将用户的报文存储在交换机的存储器中。当所需要的输出电路空闲时,再将该报文发向接收交换机或终端,它以“存储--转发”方式在网内传输数据。报文交换的优点是中继电路利用率高,可以多个用户同时在一条线路上传送,可实现不同速率、不同规程的终端间互通。但它的缺点也是显而易见的。以报文为单位进行存储转发,网络传输时延大,且占用大量的交换机内存和外存,不能满足对实时性要求高的用户。报文交换适用于传输的报文较短、实时性要求较低的网络用户之间的通信,如公用电报网。 + + 分组交换实质上是在“存储--转发”基础上发展起来的。它兼有电路交换和报文交换的优点。分组交换在线路上采用动态复用技术传送按一定长度分割为许多小段的数据--分组。每个分组标识后,在一条物理线路上采用动态复用的技术,同时传送多个数据分组。把来自用户发端的数据暂存在交换机的存储器内,接着在网内转发。到达接收端,再去掉分组头将各数据字段按顺序重新装配成完整的报文。分组交换比电路交换的电路利用率高,比报文交换的传输时延小,交互性好。 + + 评分标准:主要意思答对,即可得分。每小题 10 分。 + +
+ + *** + +2. 简述距离矢量路由选择算法基本思想。 + +
+ 答案: + + 在距离矢量路由选择算法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。距离矢量路由选择算法要求每一个路由器把它的整个路由表发送给与它直接连接的其他路由器。路由表中的每一条记录都包括目标逻辑地址、相应的输出线和该条路由的向量距离。当一个路由器从它的邻居那儿收到更新信息时,它将更新信息与本身的路由表相比较,如果它能从邻居那儿找到一条它以前不曾知道的新的路由或是找到一条比当前路由更好的路由时,路由器会对路由表进行更新:将从该路由器到邻居之间的向量距离与更新信息中的向量距离相加作为新路由的向量距离。距离矢量路由选择算法存在无穷计算问题。 + + 评分标准:主要意思答对,即可得分。每小题 10 分。 + +
+ +*** + +### 五、综合题(28 分) + +1. 设信道带宽为 4 KHz,信噪比为 20 db,若传输二进制信号,则可达到的最大数据速率是多少?(5 分) + +
+ 答案: + + $10\log_{10}(S/N)=20$,故:$S/N=100$。(1 分) + + Shannon:$H\log_2(1+S/N)=4\log_2 101=26.64\text{ kbps}$。(1 分) + + Nyquist:$2H\log_2V=8\text{ kbps}$。(1 分) + + 故:信道的最大数据传输率为 8 kbps。(2 分) + +
+ + *** + +2. 现有一批从 `195.168.16.0` 开始的 IP 地址,要求为 A、B、C、D 四个校园网络分配 IP 地址。A 包含 600 台计算机,B 包含 200 台计算机,C 包含 2000 台计算机,D 包含 1000 台计算机。请写出 IP 地址分配方案。(10 分) + + | 校园网 | 起始 IP 地址 | 结束 IP 地址 | 基地址/子网掩码 | + | --- | --- | --- | --- | + | A | | | | + | B | | | | + | C | | | | + | D | | | | + +
+ 答案: + + | 校园网 | 起始 IP 地址 | 结束 IP 地址 | 基地址/子网掩码 | 评分标准 | + | --- | --- | --- | --- | --- | + | A | `195.168.16.0` | `195.168.18.87` | `195.168.16.0/22` | 3 分 | + | B | `195.168.19.0` | `195.168.19.199` | `195.168.19.0/24` | 3 分 | + | C | `195.168.20.0` | `195.168.27.207` | `195.168.20.0/20` | 2 分 | + | D | `195.168.28.0` | `195.168.31.231` | `195.168.28.0/22` | 2 分 | + +
+ + *** + +3. 长度为 2000 位的数据帧,在数据传输速率为 1 Mbps、最大长度为 1 km 的物理线路上传输。假设线路的单向传输延迟时间为 199 ms,试计算下列协议中的物理通信线路可达到的最大利用率?(数据帧的序列号为 4 位,确认帧的发送时间忽略不计)(7 分) + + a)停--等协议 + + b)回退-n 帧的滑动窗口协议 + + c)选择性重传的滑动窗口协议。 + +
+ 答案: + + a)$2/400=0.5\%$。(2 分) + + b)$2\times7/400=3.5\%$。(2 分) + + c)$2\times4/400=2\%$。(3 分) + +
+ + *** + +4. 对如下所示的子网拓扑结构中,采用链路状态路由算法,试分析路由器 E 的路由表。(6 分) + + ![子网拓扑图](./images/2005-2006学年上学期期末_试卷A_综合题_第4题_子网拓扑图.png) + +
+ 答案: + + | 目的端 | 开销 | 输出线 | 评分标准 | + | --- | --- | --- | --- | + | A | 5 | G | 1 分 | + | B | 1 | B | 0.5 分 | + | C | 3 | B/F | 1 分 | + | D | 4 | F | 1 分 | + | E | 0 | - | 0.5 分 | + | F | 1 | F | 0.5 分 | + | G | 2 | G | 1 分 | + | H | 2 | F | 0.5 分 | + +
+ +## 2005-2006学年上学期期末试卷(B)(含答案) + +### 一、选择题(20 分,每题 2 分) + +1. 采用半双工通信方式,数据传输的方向性结构为( )。 + + A. 可以在两个方向上同时传输 + + B. 只能在一个方向上传输 + + C. 可以在两个方向上传输,但不能同时进行 + + D. 以上均不对 + +
+ 答案: + + C + +
+ + *** + +2. 在 WINDOW 2000 中,查看本机网卡物理地址的命令是( )。 + + A. ping + + B. ipconfig + + C. net + + D. ipconfig/all + +
+ 答案: + + D + +
+ + *** + +3. 报文分组交换技术有两种实现方法。( ) + + A. 虚电路、线路交换 + + B. 数据报、交叉开关 + + C. 虚电路、数据报 + + D. 线路交换、数据报 + +
+ 答案: + + C + +
+ + *** + +4. T1 载波的数据传输率为( )。 + + A. $1\ \text{Mbps}$ + + B. $10\ \text{Mbps}$ + + C. $2.048\ \text{Mbps}$ + + D. $1.544\ \text{Mbps}$ + +
+ 答案: + + D + +
+ + *** + +5. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 2 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 2 位 + + B. 8 位 + + C. 16 位 + + D. 4 位 + +
+ 答案: + + A + +
+ + *** + +6. 采用海明码纠正一位差错,若信息位为 8 位,则冗余位至少应为( )。 + + A. 2 位 + + B. 3 位 + + C. 5 位 + + D. 4 位 + +
+ 答案: + + D + +
+ + *** + +7. 根据采样定理,如果声音数据限于 $4\ \text{KHz}$ 以下的频率,那么,要能满足完整地表示声音信号的特征要求,每秒最少采样多次。( ) + + A. 8000 + + B. 4000 + + C. 2000 + + D. 16000 + +
+ 答案: + + A + +
+ + *** + +8. 对于回退 n 帧的滑动窗口协议,若序号位数为 n,则发送窗口最大尺寸为( )。 + + A. $2^n - 1$ + + B. $2^n$ + + C. $2^{n-1}$ + + D. $2^{n+1} - 1$ + +
+ 答案: + + A + +
+ + *** + +9. 若数据帧的有效载荷中出现字符串:A ESC ESC FLAG,则字符填充后的输出为( )。 + + A. A ESC ESC FLAG + + B. A ESC ESC ESC ESC ESC FLAG + + C. A ESC ESC ESC FLAG + + D. A ESC ESC ESC FLAG FLAG + +
+ 答案: + + B + +
+ + *** + +10. 采用曼彻斯特编码,$100\ \text{Mbps}$ 传输速率所需要的调制速率为( )。 + + A. $200\ \text{M Baud}$ + + B. $400\ \text{M Baud}$ + + C. $50\ \text{M Baud}$ + + D. $100\ \text{M Baud}$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空(20 分,每空 1 分) + +1. 串行数据通信的方向性结构有三种,即 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 单工、半双工、全双工 + +
+ + *** + +2. 数字数据可以针对载波的不同要素或它们的组合进行调制,有三种基本的数字调制形式,即 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + ASK、FSK、PSK + +
+ + *** + +3. IPv4 的网络地址由 $\underline{\qquad}$ 个二进制位构成,IPv6 的网络地址由 $\underline{\qquad}$ 个二进制位构成。 + +
+ 答案: + + 32、128 + +
+ + *** + +4. 到达通信子网中某一部分的分组数量过多,使得该部分乃至整个网络性能下降的现象,称为 $\underline{\qquad}$ 现象。 + +
+ 答案: + + 拥塞 + +
+ + *** + +5. OSI 的网络层处于 $\underline{\qquad}$ 层提供的服务之上,为 $\underline{\qquad}$ 层提供服务。 + +
+ 答案: + + 数据链路层、传输层 + +
+ + *** + +6. 载波监听多路访问(CSMA)技术,需要一种退避算法来决定避让的时间,常用的退避算法有 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$ 三种。 + +
+ 答案: + + 1-持续、p-持续、非持续 + +
+ + *** + +7. HTTP 的中文名称为 $\underline{\qquad}$,DNS 的中文名称为 $\underline{\qquad}$。 + +
+ 答案: + + 超文本传输服务、域名解析 + +
+ + *** + +8. 以太网利用 $\underline{\qquad}$ 协议获得目标主机 IP 地址与 MAC 地址的映射关系。 + +
+ 答案: + + ARP + +
+ + *** + +9. 在 TCP/IP 网络中,传输层协议主要有 $\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + TCP、UDP + +
+ + *** + +10. 非屏蔽双绞线由 $\underline{\qquad}$ 对导线组成。 + +
+ 答案: + + 4 + +
+ +*** + +### 三、名词解释(12 分,每小题 3 分) + +1. UDP + + *** + +2. 三次握手(Three-way handshake) + + *** + +3. CSMA/CD + + *** + +4. 流量控制(Flow control) + +*** + +### 四、简答题(20 分,每小题 10 分) + +1. 比较分析虚电路子网和数据报子网。 + + *** + +2. 简述二进制指数后退算法的基本思想。 + +*** + +### 五、综合题(28 分) + +1. 在基带网络中,请用曼彻斯特编码和差分曼彻斯特编码对二进制数据流 10011101 进行编码(画出波形图)。(5 分) + + *** + +2. 某 CDMA 接收方收到一条如下芯片系列:$(-1, +1, -3, +1, -1, -3, +1, +1)$,假设芯片序列为:A:00101110;B:01011100;C:00011011;D:01000010。试分析哪些站点发送了数据?发送了何种数据。(10 分) + + *** + +3. 某 LAN 中线缆的最长距离为 $1\ \text{km}$(线路中无中继器),采用 CSMA/CD 共享信道分配算法。经测算,信号在线缆上的传输延迟为 $200000\ \text{km/sec}$,试分析在该 LAN 中传输的数据帧的最短长度为多少?(写出分析过程)(7 分) + + *** + +4. 如下所示的子网中,采用距离向量路由选择算法,路由器 C 刚收到如下向量: + + 来自 B:$(5, 0, 8, 12, 10, 8)$; + + 来自 D:$(16, 12, 6, 0, 7, 9)$; + + 来自 E:$(5, 11, 6, 10, 4, 0)$。 + + 路由器 C 新测量的到 B、D、E 的延迟分别为 3、5、6。 + + 试分析 C 的新路由选择表。(要求给出采用的输出线路和预计延迟)(6 分) + + ![2005-2006学年上学期期末_试卷B_综合题_第4题_子网拓扑图](./images/2005-2006学年上学期期末_试卷B_综合题_第4题_子网拓扑图.png) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..21f993d --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1119 @@ +--- +title: 2006-2007学年上学期期末 +--- + +## 2006-2007学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 + +1. 将一条物理信道按时间分成若干时间片轮换地给多个信号使用,每一时间片由复用的一个信号占用,这可以在一条物理信道上传输多个数字信号,这就是( )。 + + A. 频分多路复用 + + B. 时分多路复用 + + C. 空分多路复用 + + D. 频分与时分混合多路复用 + +
+ 答案: + + B + +
+ + *** + +2. Internet 的网络层含有四个重要的协议,分别为( )。 + + A. IP,ICMP,ARP,UDP + + B. TCP,ICMP,UDP,ARP + + C. IP,ICMP,ARP,RARP + + D. UDP,IP,ICMP,RARP + +
+ 答案: + + C + +
+ + *** + +3. 一座大楼内的一个计算机网络系统,属于( )。 + + A. PAN + + B. LAN + + C. MAN + + D. WAN + +
+ 答案: + + B + +
+ + *** + +4. UTP 与计算机连接,最常用的连接器为( )。 + + A. RJ-45 + + B. AUI + + C. BNC-T + + D. NNI + +
+ 答案: + + A + +
+ + *** + +5. 在中继系统中,中继器处于( )。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 应用层 + +
+ 答案: + + A + +
+ + *** + +6. 数据链路层可以通过( )标识不同的主机。 + + A. 物理地址 + + B. 端口号 + + C. IP 地址 + + D. 逻辑地址 + +
+ 答案: + + A + +
+ + *** + +7. 交换机能够识别( )地址。 + + A. DNS + + B. TCP + + C. 网络层 + + D. MAC + +
+ 答案: + + D + +
+ + *** + +8. 一个以太网帧的最小和最大尺寸是( )。 + + A. 46 和 64 字节 + + B. 64 和 1518 字节 + + C. 64 和 1600 字节 + + D. 46 和 28 字节 + +
+ 答案: + + B + +
+ + *** + +9. 以太网采用下面哪个标准( )。 + + A. IEEE802.3 + + B. IEEE802.4 + + C. IEEE802.5 + + D. Token Ring + +
+ 答案: + + A + +
+ + *** + +10. T1 载波的数据传输率为( )。 + + A. 1 Mbps + + B. 10 Mbps + + C. 2.048 Mbps + + D. 1.544 Mbps + +
+ 答案: + + D + +
+ + *** + +11. 用十六进制表示法为 `0xC0290614` 的 IP 地址若采用点分十进制表示为( )。 + + A. 192.41.6.21 + + B. 192.41.6.20 + + C. C0.29.6.14 + + D. C0.29.6.20 + +
+ 答案: + + B + +
+ + *** + +12. LAN 参考模型可分为物理层( )。 + + A. MAC,LLC 等三层 + + B. LLC,MHS 等三层 + + C. MAC,FTAM 等三层 + + D. LLC,VT 等三层 + +
+ 答案: + + A + +
+ + *** + +13. 以下关于 100BASE-T 的描述中错误的是( )。 + + A. 数据传输速率为 100 Mbit/s + + B. 信号类型为基带信号 + + C. 采用 5 类 UTP,其最大传输距离为 185 M + + D. 支持共享式和交换式两种组网方式 + +
+ 答案: + + C + +
+ + *** + +14. 在 TCP/IP 协议模型中,UDP 协议工作在( )。 + + A. 应用层 + + B. 传输层 + + C. 网络互联层 + + D. 网络接口层 + +
+ 答案: + + B + +
+ + *** + +15. 对于回退 n 帧的滑动窗口协议,若序号位数为 n,则发送窗口最大尺寸为( )。 + + A. $2^n - 1$ + + B. $2^n$ + + C. $2^{n-1}$ + + D. $2n - 1$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(本大题共 10 小题,每空 1 分,共 20 分) + +1. 局域网可采用多种通信介质,如 $\underline{\qquad}$,$\underline{\qquad}$ 或 $\underline{\qquad}$ 等。 + +
+ 答案: + + 双绞线、同轴电缆、光纤 + +
+ + *** + +2. 在 TCP/IP 协议模型中,传输层的 $\underline{\qquad}$ 提供了一种可靠的数据流服务。 + +
+ 答案: + + TCP + +
+ + *** + +3. 串行数据通信的方向性结构有三种,即 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 单工、半双工、全双工 + +
+ + *** + +4. 光纤的规格分为 $\underline{\qquad}$ 和 $\underline{\qquad}$ 两种。 + +
+ 答案: + + 单模光纤、多模光纤 + +
+ + *** + +5. 按 IP 地址分类,地址:`160.201.68.108` 属于 $\underline{\qquad}$ 类地址。 + +
+ 答案: + + B + +
+ + *** + +6. 常用的信道复用技术有 $\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + TDM、FDM + +
+ + *** + +7. 传输层的传输服务有两大类:$\underline{\qquad}$ 服务和 $\underline{\qquad}$ 的服务。 + +
+ 答案: + + 面向连接、无连接 + +
+ + *** + +8. 将模拟信号变换成数字信号的常用方法是脉冲编码调制 PCM,脉冲编码调制 PCM 由 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$ 三步构成。 + +
+ 答案: + + 采样、量化、编码 + +
+ + *** + +9. 通信系统中,称调制前的电信号为 $\underline{\qquad}$ 信号,调制后的电信号为 $\underline{\qquad}$ 信号。 + +
+ 答案: + + 模拟、数字 + +
+ + *** + +10. FLOODING(泛洪扩散)路由算法属于 $\underline{\qquad}$(动/静态)路由算法。 + +
+ 答案: + + 静态 + +
+ +*** + +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. 信道容量 + +
+ 答案: + + 通信信道在单位时间里传输的数据位数,以 bps 为单位表示。 + +
+ + *** + +2. CDMA + +
+ 答案: + + 码分多址访问,一种新的信道复用技术,主要用于无线移动通信。 + +
+ + *** + +3. 多路复用(Multiplexing) + +
+ 答案: + + 在数据通信或计算机网络系统中,传输媒体的带宽或容量往往超过传输单一信号的需求,为了有效地利用通信线路,可以利用一条信道传输多路信号,这种方法称为信道的多路利用,简称多路复用。 + +
+ + *** + +4. 奇偶校验码 + +
+ 答案: + + 在被效验的数据位后增加 1 位检测位,使得被效验的数据位和检测位中“1”的个数为奇数或偶数。 + +
+ + *** + +5. TCP + +
+ 答案: + + 传输控制协议,它是 TCP/IP 协议模型传输层的重要协议。TCP 协议实现面向连接服务。 + +
+ +*** + +### 四、计算题(本大题共 4 小题,共 20 分) + +1. (4 分)找出下列不能分配给主机的 IP 地址,并说明原因。 + + A. `131.107.256.80` + + B. `231.222.0.11` + +
+ 答案: + + A. 第三个数 256 是非法值,每个数字都不能大于 255。(2 分) + + B. 第一个数 231 是保留给组播的地址,不能用于主机地址。(2 分) + +
+ + *** + +2. (6 分)某公司采用一条租用专线(Leased line)与在外地的分公司相连,使用的 Modem 的数据传输率为 2400 bps,现有数据 $12 \times 10^6$ 字节,若以异步方式传送,不加校验位,1 位停止位,则最少需要多少时间(以秒为单位)才能传输完毕?(设数据信号在线路上的传播延迟时间忽略不计)。 + +
+ 答案: + + 以异步方式传输一个字节数据,需加 1 位起始位,一位停止位,实际需传送 10 位。(2 分) + + $12 \times 10^6 \times 10 / 2400 = 5 \times 10^4$(秒) + + 即最少需 $5 \times 10^4$ 秒才能传输完毕。(4 分) + +
+ + *** + +3. (5 分)试分析 8 位二进制码 `10110101` 的偶校验海明码。 + +
+ 答案: + + 按照偶校验海明码的生成规则得: + + 偶校验海明码:`001101100101`(5 分) + + 评分标准:每错一个冗余位,扣 1 分;全错扣 5 分。 + +
+ + *** + +4. (5 分)采用生成多项式 $x^6 + x^4 + x + 1$ 发送的报文到达接收方为 `101011000110`,所接收的报文是否正确?试说明理由。 + +
+ 答案: + + 多项式 $x^6 + x^4 + x + 1$ 对应的位串是 `1010011`,用它来除接收到的报文,若能整除则所接收报文正确。(2 分) + + 能够整除,所以收到的报文是正确的。(3 分) + +
+ +*** + +### 五、应用题(本大题共 1 小题,共 10 分) + +1. (10 分)对如下所示的子网拓扑结构中,采用链路状态路由算法,试分析路由器 A 的路由表。 + + ![子网拓扑图](./images/2006-2007学年上学期期末_试卷A_应用题_第1题_子网拓扑图.png) + +
+ 答案: + + 路由器 A 的路由表: + + | 目的路由器 | 延迟 | 输出线 | 评分标准 | + | :---: | :---: | :---: | :---: | + | A | 0 | — | 1 分 | + | B | 12 | B | 1 分 | + | C | 8 | E | 1 分 | + | D | 16 | E | 2 分 | + | E | 5 | E | 1 分 | + | F | 8 | F | 1 分 | + | G | 10 | F | 1 分 | + | H | 13 | F | 2 分 | + +
+ +*** + +## 2006-2007学年上学期期末试卷(B)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 + +1. 对于带宽为 6 MHz 的信道,若用 8 种不同的状态来表示数据,在不考虑热噪声的情况下,该信道每秒最多能传送的位数为( )。 + + A. $36 \times 10^6$ + + B. $18 \times 10^6$ + + C. $48 \times 10^6$ + + D. $96 \times 10^6$ + +
+ 答案: + + A + +
+ + *** + +2. E1 载波的数据传输为( )。 + + A. 1.544 Mbps + + B. 1 Mbps + + C. 2.048 Mbps + + D. 10 Mbps + +
+ 答案: + + C + +
+ + *** + +3. 采用 8 种相位,每种相位各有两种幅度的 PAM 调制方法,在 1200 Baud 的信号传输速率下能达到的数据传输速率为( )。 + + A. 2400 b/s + + B. 3600 b/s + + C. 9600 b/s + + D. 4800 b/s + +
+ 答案: + + D + +
+ + *** + +4. 采用曼彻斯特编码的数字信道,其数据传输速率为波特率的( )。 + + A. 2 倍 + + B. 4 倍 + + C. 1/2 倍 + + D. 1 倍 + +
+ 答案: + + C + +
+ + *** + +5. 采用海明码纠正一位差错,若信息位为 16 位,则冗余位至少应为( )。 + + A. 5 位 + + B. 3 位 + + C. 4 位 + + D. 2 位 + +
+ 答案: + + A + +
+ + *** + +6. 在 CRC 码计算中,可以将一个二进制位串与一个只含有 0 或 1 两个系数的一元多项式建立对应关系。例如,与位串 `101101` 对应的多项式为( )。 + + A. $x^6 + x^4 + x^3 + 1$ + + B. $x^5 + x^3 + x^2 + 1$ + + C. $x^5 + x^3 + x^2 + x$ + + D. $x^6 + x^5 + x^4 + 1$ + +
+ 答案: + + B + +
+ + *** + +7. 采用有序接收的滑动窗口协议,设序号位数为 n,则发送窗口最大尺寸为( )。 + + A. $2n - 1$ + + B. $2^n - 1$ + + C. $2^n$ + + D. $2n$ + +
+ 答案: + + B + +
+ + *** + +8. 标准 10 Mbps 802.3LAN 的波特率为( )。 + + A. 20 M 波特 + + B. 10 M 波特 + + C. 5 M 波特 + + D. 40 M 波特 + +
+ 答案: + + A + +
+ + *** + +9. IEEE802.3 采用的媒体访问控制方法为( )。 + + A. 1-坚持算法的 CSMA/CD + + B. 非坚持算法的 CSMA/CD + + C. P-坚持算法的 CSMA/CD + + D. 以上均不对 + +
+ 答案: + + A + +
+ + *** + +10. 交换技术而言,局域网中的以太网采用的是( )。 + + A. 分组交换技术 + + B. 电路交换技术 + + C. 报文交换技术 + + D. 分组交换与电路交换结合技术 + +
+ 答案: + + A + +
+ + *** + +11. 若两台主机在同一子网中,则两台主机的 IP 地址分别与它们的子网掩码相“与”的结果一定( )。 + + A. 为全 0 + + B. 为全 1 + + C. 相同 + + D. 不同 + +
+ 答案: + + C + +
+ + *** + +12. 三次握手方法用于( )。 + + A. 传输层连接的建立 + + B. 数据链路层的流量控制 + + C. 传输层的重复检测 + + D. 传输层的流量控制 + +
+ 答案: + + A + +
+ + *** + +13. IP 的协议数据单元被称为( )。 + + A. 比特 + + B. 帧 + + C. 分段 + + D. 分组 + +
+ 答案: + + D + +
+ + *** + +14. 报文交换技术说法不正确的是( )。 + + A. 报文交换采用的传送方式是“存储一转发”方式 + + B. 报文交换方式中数据传输的数据块其长度不限且可变 + + C. 报文交换可以把一个报文发送到多个目的地 + + D. 报文交换方式适用于语言连接或交互式终端到计算机的连接 + +
+ 答案: + + C + +
+ + *** + +15. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络上的传输速度。 + + B. 增加区域网络的数据复制速度。 + + C. 连接各电脑线路间的媒介。 + + D. 以上皆是。 + +
+ 答案: + + C + +
+ +*** + +### 二、填空题(本大题共 10 小题,每空 1 分,共 20 分) + +1. 按交换方式来分类,计算机网络可以分为电路交换网,$\underline{\qquad}$ 和 $\underline{\qquad}$ 三种。 + +
+ 答案: + + 报文交换网、分组交换网 + +
+ + *** + +2. 有两种基本的差错控制编码,即检错码和 $\underline{\qquad}$,在计算机网络和数据通信中广泛使用的一种检错码为 $\underline{\qquad}$。 + +
+ 答案: + + 纠错码、CRC + +
+ + *** + +3. 通信双方对等进程或同层实体通过协议进行的通信称为 $\underline{\qquad}$ 通信,通过物理介质进行的通信称为 $\underline{\qquad}$ 通信。 + +
+ 答案: + + 虚、实 + +
+ + *** + +4. 若 HDLC 帧数据段中出现比特串 `01011111110`,则比特填充后的输出为 $\underline{\qquad}$。 + +
+ 答案: + + `010111110110` + +
+ + *** + +5. 局域网常用的拓扑结构有总线、星形和 $\underline{\qquad}$ 三种。著名的以太网(Ethernet)就是采用其中的 $\underline{\qquad}$ 结构。 + +
+ 答案: + + 环型、总线 + +
+ + *** + +6. 由于帧中继可以不用网络层而使用链路层来实现复用和转接,所以帧中继通信节点的层次结构中只有 $\underline{\qquad}$ 和 $\underline{\qquad}$。 + +
+ 答案: + + 物理层、数据链路层 + +
+ + *** + +7. IEEE802.3 规定了一个数据帧的长度为 $\underline{\qquad}$ 字节到 $\underline{\qquad}$ 字节之间。 + +
+ 答案: + + 64、1518 + +
+ + *** + +8. 在 TCP/IP 中,负责将 IP 地址映像成所对应的物理地址的协议是 $\underline{\qquad}$。 + +
+ 答案: + + ARP + +
+ + *** + +9. OSI 模型有 $\underline{\qquad}$、$\underline{\qquad}$、$\underline{\qquad}$、运输层、会话层、表示层和应用层七个层次。 + +
+ 答案: + + 物理层、数据链路层、网络层 + +
+ + *** + +10. 常用的 IP 地址有 A、B、C 三类,`128.11.3.31` 是一个 $\underline{\qquad}$ 类 IP 地址,其网络标识(netid)为 $\underline{\qquad}$,主机标识(hosted)为 $\underline{\qquad}$。 + +
+ 答案: + + B、128.11、3.31 + +
+ +*** + +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. 流量控制 + +
+ 答案: + + 为了避免由于发送端发送数据帧速度过快,而使得接收端来不及接收,出现信息淹没的现象。 + +
+ + *** + +2. 带宽 + +
+ 答案: + + 带宽通常指通过给定线路发送的数据量,从技术角度看,带宽是通信信道的宽度(或传输信道的最高频率与最低频率之差),单位是赫兹。 + +
+ + *** + +3. 三次握手 + +
+ 答案: + + 在传输层 TCP 协议利用三次握手实现面向连接服务。例如 A 和 B 采用 TCP 进行数据传输,那么在传输之前的三次握手建立如下: + + 第一次握手:A 向 B 发送连接请求。 + + 第二次握手:B 接收到 A 的连接请求后,向 A 发回一个连接确认。 + + 第三次握手:A 接收到 B 的连接确认后,再向 B 发送一次确认。 + + 当 B 接收到 A 的这个确认后,这个三次握手也就成功建立了,不过数据传输完毕后连接自动关闭,不过当 A 和 B 还需要再次传输数据的话,须再次建立三次握手。 + +
+ + *** + +4. 子网掩码 + +
+ 答案: + + 是 32 位二进制数,它的子网主机标识部分为全“0”。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的 IP 地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。 + +
+ + *** + +5. 网络协议 + +
+ 答案: + + 为进行计算机网络中的数据交换而建立的规则、标准或约定的集合称为网络协议(Protocol)。 + +
+ +*** + +### 四、计算题(本大题共 2 小题,共 15 分) + +1. (7 分)在一个传输速率为 1 Gbps 的 CSMA/CD 网络中,假设两站点间电缆的最长距离为 1 km,信号在电缆上的传输速度为 400000 km/sec,试分析该网络中的数据帧最短长度? + +
+ 答案: + + 最短帧长 $= 2 \times (1\ \text{km} / 400000\ \text{km/s}) \times 1\ \text{Gbps} = 5000\ \text{bit}$。(7 分) + +
+ + *** + +2. (8 分)画出对位流 `1010010101` 进行差分曼彻斯特编码后的波形图(初始电平为低)。 + +
+ 答案: + + ```text + 1 0 1 0 0 1 0 1 0 1 + ___|▔▔▔|_______|▔▔▔|___|▔▔▔▔▔▔▔|_______|▔▔▔|___|▔▔▔▔▔▔▔|___|▔▔▔|_______|▔▔▔|___|▔▔▔ + ``` + + 评分标准:共 8 分,每错一个位的波形扣 1 分,扣到 0 分为止。 + +
+ +*** + +### 五、应用题(本大题共 2 小题,共 15 分) + +1. (7 分)若窗口序号位数为 3,发送窗口尺寸为 2,采用 Go-back-N 法,试画出由初始状态出发相继发生下列事件时的发送及接收窗口图示: + + 发送 0 号帧;发送 1 号帧;接收 0 号帧;接收确认 0 号帧;发送 2 号帧;接收 1 号帧;接收确认 1 号帧。 + +
+ 答案: + + ![窗口图](./images/2006-2007学年上学期期末_试卷B_应用题_第1题_答案_窗口图.png) + + 评分标准:每步 1 分。 + +
+ + *** + +2. (8 分)如下所示协议中: + + ```c + void protocol4 (void) { + seq_nr next_frame_to_send, frame_expected; + frame r, s; + packet buffer; + event_type event; + + next_frame_to_send = 0; frame_expected = 0; + from_network_layer(&buffer); + s.info = buffer; + s.seq = next_frame_to_send; + s.ack = 1 - frame_expected; + to_physical_layer(&s); start_timer(s.seq); + + while (true) { + wait_for_event(&event); + if (event == frame_arrival) { + from_physical_layer(&r); + if (r.seq == frame_expected) { + to_network_layer(&r.info); + inc(frame_expected); + } + if (r.ack == next_frame_to_send) { + from_network_layer(&buffer); + inc(next_frame_to_send); + } + } + s.info = buffer; + s.seq = next_frame_to_send; + s.ack = 1 - frame_expected; + to_physical_layer(&s); start_timer(s.seq); + } + } + ``` + + (1)当发送方在第 12 行语句中发送的一个数据帧丢失了,接收方执行何种动作? + + (2)当发送方在第 12 行语句中发送的一个数据帧丢失了,发送方执行何种动作? + + (3)当接收方正确收到发送方在第 12 行语句中发送的一个数据帧,并发送了该数据帧的确认,但该确认帧丢失了,发送方执行何种动作? + +
+ 答案: + + 1. 接收方不做任何动作,等待事件发生。(2 分) + + 2. 定时器超时,重发该数据帧。(3 分) + + 3. 定时器超时,重发该数据帧。(3 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..0d04188 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1072 @@ +--- +title: 2007-2008学年上学期期末 +--- + +## 2007-2008学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 路由选择协议位于( )。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 应用层 + +
+ 答案: + + C + +
+ + *** + +2. 有关光缆陈述正确的是( )。 + + A. 光缆的光纤通常是偶数,一进一出 + + B. 光缆不安全 + + C. 光缆传输慢 + + D. 光缆较电缆传输距离近 + +
+ 答案: + + A + +
+ + *** + +3. 在局域网中,MAC 指的是( )。 + + A. 逻辑链路控制子层 + + B. 介质访问控制子层 + + C. 物理层 + + D. 数据链路层 + +
+ 答案: + + B + +
+ + *** + +4. E1 系统的速率为( )。 + + A. 1.544 Mbps + + B. 155 Mbps + + C. 2.048 Mbps + + D. 64 kbps + +
+ 答案: + + C + +
+ + *** + +5. `255.255.255.224` 可能代表的是( )。 + + A. 一个 B 类网络号 + + B. 一个 C 类网络中的广播 + + C. 一个具有子网的网络掩码 + + D. 以上都不是 + +
+ 答案: + + C + +
+ + *** + +6. HDLC 的帧格式中,帧校验序列字段占( )。 + + A. 1 个比特 + + B. 8 个比特 + + C. 16 个比特 + + D. 24 个比特 + +
+ 答案: + + C + +
+ + *** + +7. 以下哪一个不是关于千兆位以太网的正确描述( )。 + + A. 数据传输速率为 1000 MBit/s + + B. 支持全双工传送方式 + + C. 只能基于光纤实现 + + D. 帧格式与以太网帧格式相同 + +
+ 答案: + + C + +
+ + *** + +8. IP 地址为 `140.111.0.0` 的 B 类网络,若要切割为 9 个子网,而且都要连上 Internet,请问子网掩码设为( )。 + + A. `255.0.0.0` + + B. `255.255.0.0` + + C. `255.255.128.0` + + D. `255.255.240.0` + +
+ 答案: + + D + +
+ + *** + +9. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络的上传输速度。 + + B. 增加区域网络的数据复制速度。 + + C. 连接各电脑线路间的媒介。 + + D. 以上皆是。 + +
+ 答案: + + C + +
+ + *** + +10. 根据报文交换方式的基本原理,可以将其交换系统的功能概括为( )。 + + A. 存储系统 + + B. 转发系统 + + C. 存储-转发系统 + + D. 传输-控制系统 + +
+ 答案: + + C + +
+ + *** + +11. 具有 24 个 10M 端口的交换机的总带宽可以达到( )。 + + A. 10M + + B. 100M + + C. 240M + + D. 10/24M + +
+ 答案: + + C + +
+ + *** + +12. 若 HDLC 帧的数据段中出现比特串 `01011111101`,则比特填充后的输出为( )。 + + A. `010011111101` + + B. `010111110101` + + C. `010111101101` + + D. `010111111010` + +
+ 答案: + + B + +
+ + *** + +13. 采用异步传输方式,设数据位为 8 位,无校验位,1 位停止位,则其通信效率为( )。 + + A. 30% + + B. 70% + + C. 80% + + D. 20% + +
+ 答案: + + C + +
+ + *** + +14. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 4 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 2 位 + + B. 4 位 + + C. 8 位 + + D. 3 位 + +
+ 答案: + + D + +
+ + *** + +15. 三次握手方法用于( )。 + + A. 传输层连接的建立 + + B. 数据链路层的流量控制 + + C. 传输层的重复检测 + + D. 传输层的流量控制 + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(本大题共 5 小题,每空 1 分,共 10 分) + +1. 按交换方式来分类,计算机网络可以分为电路交换网,$\underline{\qquad(1)\qquad}$ 和 $\underline{\qquad(2)\qquad}$ 三种。 + +
+ 答案: + + (1)报文交换网 + + (2)分组交换网 + +
+ + *** + +2. 有两种基本的差错控制编码,即检错码和 $\underline{\qquad(3)\qquad}$,在计算机网络和数据通信中广泛使用的一种检错码为 $\underline{\qquad(4)\qquad}$。 + +
+ 答案: + + (3)纠错码 + + (4)CRC 码 + +
+ + *** + +3. 在分组交换方式中,通信子网向端系统提供虚电路和 $\underline{\qquad(5)\qquad}$ 两类不同性质的网络服务,其中 $\underline{\qquad(6)\qquad}$ 是无连接的网络服务。 + +
+ 答案: + + (5)数据报 + + (6)数据报子网 + +
+ + *** + +4. 常用的 IP 地址有 A、B、C 三类,`128.11.3.31` 是一个 $\underline{\qquad(7)\qquad}$ 类 IP 地址,其网络标识(netid)为 $\underline{\qquad(8)\qquad}$,主机标识(hosted)为 $\underline{\qquad(9)\qquad}$。 + +
+ 答案: + + (7)B + + (8)128.11 + + (9)3.31 + +
+ + *** + +5. 在 TCP/TP 网络模型的网络层中,实现私网 IP 地址和公网 IP 地址之间转换的协议是 $\underline{\qquad(10)\qquad}$。 + + :::tip + 原文此处写为 `TCP/TP 网络模型`,结合上下文这里疑似应为 `TCP/IP 网络模型`。此处按原文保留。 + ::: + +
+ 答案: + + (10)NAT + +
+ +*** + +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. 多路复用 + +
+ 答案: + + 在数据通信或计算机网络系统中,传输媒体的带宽或容量往往超过传输单一信号的需求,为了有效地利用通信线路,可以利用一条信道传输多路信号,这种方法称为信道的多路利用,简称多路复用。 + +
+ + *** + +2. 带宽 + +
+ 答案: + + 带宽通常指通过给定线路发送的数据量,从技术角度看,带宽是通信信道的宽度(或传输信道的最高频率与最低频率之差),单位是赫兹。 + +
+ + *** + +3. 网络协议 + +
+ 答案: + + 为进行计算机网络中的数据交换而建立的规则、标准或约定的集合称为网络协议(Protocol)。网络协议主要由语义、语法和定时三个要素组成。 + +
+ + *** + +4. 地址解析协议(ARP) + +
+ 答案: + + 在 TCP/IP 环境下,网络层有一组将 IP 地址转换为相应物理网络地址的协议,这组协议即为地址转换协议 ARP。 + +
+ + *** + +5. 海明码(Hamming Code) + +
+ 答案: + + 海明码是一种可以纠正一位差错的编码。它是利用在信息位为 k 位,增加 r 位冗余位,构成一个 n = k + r 位的码字(n 位码字从左自右编号,所有 $2^i$ 位置为冗余位)。 + +
+ +*** + +### 四、计算题(本大题共 3 小题,共 20 分) + +1. (4 分)找出下列不能分配给主机的 IP 地址,并说明原因。 + + A. `131.127.256.80` + + B. `231.202.0.11` + +
+ 答案: + + A. 第三个数 256 是非法值,每个数字都不能大于 255。(2 分) + + B. 第一个数 231 是保留给组播的地址,不能用于主机地址。(2 分) + +
+ + *** + +2. (6 分)画出比特流 `1100010101` 的差分曼彻斯特编码的波形图(初始电平为低)。 + +
+ 答案: + + 有相变——表示 0;无相变——表示 1。 + + 评分标准:共 6 分,每错一个位的波形扣 1 分,扣到 0 分为止。 + +
+ + *** + +3. (10 分)长度为 1000 位的数据帧,在数据传输速率为 1 Mbps、最大长度为 2 km 的物理线路上传输。假设线路的传输延迟时间为 5 ms/km,试计算下列协议中的物理通信线路可达到的最大利用率?(数据帧的序列号为 3 位,确认帧的发送时间忽略不计) + + (1)停—等协议 + + (2)回退-n 帧的滑动窗口协议 + + (3)选择性重传的滑动窗口协议。 + +
+ 答案: + + 设 $t = 0$ 表示开始传输,当 $t = 1\ \text{ms}$ 时,第一个数据帧发送完成,当 $t = 11\ \text{ms}$,第一个数据帧完全到达,当 $t = 21\ \text{ms}$ 时,数据帧的确认完全到达发送端。周期是 21 ms。 + + (1)利用率为:$1 / 21 = 4.8\%$ + + (2)利用率为:$7 / 21 = 33.3\%$ + + (3)利用率为:$4 / 21 = 19.0\%$ + + 评分标准:共 10 分,周期分析正确得 4 分;每小题计算正确得 2 分。 + +
+ +*** + +### 五、应用题(本大题共 2 小题,共 20 分) + +1. (10 分)考虑如下子网,A、B、C、D 为路由器。采用距离矢量路由算法。 + + (1)分析 A 路由器的路由表中存储的 A 到路由器 B 的距离及形成过程。(3 分) + + (2)假设链路 BD 断开,分析 A 路由器的路由表中存储的 A 到路由器 B 的距离的变化过程。 + + (3)在链路 BD 断开一段时间后,进一步假设链路 AB 也断开,分析 A 路由器在构造路由表,生成 A 到路由器 B 的距离时会出现什么问题?(4 分) + + ![子网拓扑图](./images/2007-2008学年上学期期末_试卷A_应用题_第1题_子网拓扑图.png) + +
+ 答案: + + (1)A 初始时记录到 B 的距离为 11。当 A 收到 D 发来的申明:“到 B 的距离为 3”,A 修改自己的路由表项:“到 B 的距离为 10,通过 D”;同时 C 申明:“到 B 的距离为 4,通过 D”,故 A 修改其路由表:“到 A 的距离为 6,通过 C”。 + + :::tip + 原参考答案此处写为“到 A 的距离为 6,通过 C”,但结合题意和前文语境,这里疑似应为“到 B 的距离为 6,通过 C”。此处按原参考答案保留。 + ::: + + (2)所有路由器重新查找到 B 的路径。所有路由器通过 A 到 B。路由器 A 到 B 的距离为 11。 + + (3)会出现“无穷计算问题”。 + +
+ + *** + +2. (10 分)现需要对三个校园网 A、B、C 进行 IP 地址分配,其中,A 校园网需要 600 个 IP 地址,B 校园网需要 200 个 IP 地址,C 校园网需要 54 个 IP 地址。现有一批从 `192.168.16.0` 开始的 IP 地址,请写出 IP 地址分配方案,并填写下表。 + + | 校园网 | 起始 IP 地址 | 结束 IP 地址 | 基地址/子网掩码 | + | --- | --- | --- | --- | + | A | | | | + | B | | | | + | C | | | | + +
+ 答案: + + | 校园网 | 起始 IP 地址 | 结束 IP 地址 | 基地址/子网掩码 | 评分标准 | + | --- | --- | --- | --- | --- | + | A | `192.168.16.0` | `192.168.18.87` | `192.168.16.0/22` | 3 分,错一处扣 1 分 | + | B | `192.168.19.0` | `192.168.19.199` | `192.168.19.0/24` | 3 分,错一处扣 1 分 | + | C | `192.168.20.0` | `192.168.20.53` | `192.168.20.0/26` | 4 分,错一处扣 1 分 | + +
+ +*** + +## 2007-2008学年上学期期末试卷(B)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 网络体系结构的含义是( )。 + + A. 网络的物理组成 + + B. 网络协议 + + C. 网络软件 + + D. 网络分层及协议集合 + +
+ 答案: + + D + +
+ + *** + +2. $\underline{\qquad}$ 多用于同类局域网之间的互联。 + + A. 中继器 + + B. 网桥 + + C. 路由器 + + D. 网关 + +
+ 答案: + + B + +
+ + *** + +3. 调制解调器(Modem)的功能是实现( )。 + + A. 数字信号的编码 + + B. 数字信号的整形 + + C. 模拟信号的放大 + + D. 数字信号与模拟信号的转换 + +
+ 答案: + + D + +
+ + *** + +4. 分组交换比电路交换( )。 + + A. 实时性好、线路利用率高 + + B. 实时性好但线路利用率低 + + C. 实时性差但线路利用率高 + + D. 实时性和线路利用率都低 + +
+ 答案: + + C + + 题 4 分析:分组交换不建立直接电路连接,它将信息分组然后在网上传输,到达目的地后再重新将分组组装。由于要经过信息的分组及组装,路由的选择,所以它的传输速度没有电路交换快。但多个用户可以同时通过信道传递信息,所以提高了效率。 + +
+ + *** + +5. 下列叙述中,错误的是( )。 + + A. 发送电子函件时,一次发送操作只能发送给一个接收者 + + B. 发送邮件时接收方无须了解对方的电子函件地址就能够发函 + + C. 向对方发送电子函件时,并不要求对方一定处于开机状态 + + D. 使用电子函件的首要条件是必须拥有一个电子信箱 + +
+ 答案: + + A + +
+ + *** + +6. 所谓互连网是指( )。 + + A. 大型主机与远程终端相互连接 + + B. 若干台大型主机相互连接 + + C. 同种类型的网络极其产品相互连接起来 + + D. 同种或者异种网络及其产品相互连接 + +
+ 答案: + + D + +
+ + *** + +7. 在计算机网络中,TCP/IP 是一组( )。 + + A. 支持同类型的计算机(网络)互连的通信协议 + + B. 支持异种类型的计算机(网络)互连的通信协议 + + C. 局域网技术 + + D. 广域网技术 + +
+ 答案: + + B + +
+ + *** + +8. 对于选择性重传的滑动窗口协议,若数据帧序号位数为 n,则发送窗口最大尺寸为( )。 + + A. $2^n - 1$ + + B. $2^n$ + + C. $2^{n-1}$ + + D. $2n - 1$ + +
+ 答案: + + C + +
+ + *** + +9. 局域网常用的网络拓扑结构是( )。 + + A. 星型和环型 + + B. 总线型、星型和树型 + + C. 总线型和树型 + + D. 总线型、星型和环型 + +
+ 答案: + + D + +
+ + *** + +10. 以下各项中,不是数据报操作特点的是( )。 + + A. 每个分组自身携带有足够的信息,它的传送是被单独处理的 + + B. 在整个传送过程中,不需建立虚电路 + + C. 使所有分组按顺序到达目的端系统 + + D. 网络节点要为每个分组做出路由选择 + +
+ 答案: + + C + +
+ + *** + +11. TCP/IP 体系结构中的 TCP 和 IP 所提供的服务分别为( )。 + + A. 链路层服务和网络层服务 + + B. 网络层服务和运输层服务 + + C. 运输层服务和应用层服务 + + D. 运输层服务和网络层服务 + +
+ 答案: + + D + +
+ + *** + +12. 对于基带 CSMA/CD 而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的( )。 + + A. 1 倍 + + B. 2 倍 + + C. 4 倍 + + D. 2.5 倍 + +
+ 答案: + + B + +
+ + *** + +13. 采用曼彻斯特编码,100 Mbps 传输速率所需要的调制速率为( )。 + + A. 200 MBaud + + B. 400 MBaud + + C. 50 MBaud + + D. 100 MBaud + +
+ 答案: + + A + +
+ + *** + +14. 由于帧中继可以使用链路层来实现复用和转接,所以帧中继网中间节点中只有( )。 + + A. 物理层和链路层 + + B. 链路层和网络层 + + C. 物理层和网络 + + D. 网络层和运输层 + +
+ 答案: + + A + +
+ + *** + +15. 若数据链路的发送窗口尺寸 WT = 4,在发送 3 号帧、并接到 2 号帧的确认帧后,发送方还可连续发送( )。 + + A. 2 帧 + + B. 3 帧 + + C. 4 帧 + + D. 1 帧 + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(本大题共 7 小题,共 13 空,每空 1 分,共 13 分) + +1. 计算机网络就是用通信线路和 $\underline{\qquad}$ 将分布在不同地点的具有独立功能的多个计算机系统相互连接起来,在网络软件的支持下实现彼此之间的数据通信和资源共享的系统。 + +
+ 答案: + + 通信设备 + +
+ + *** + +2. 局域网中以太网采用的 MAC 协议是 $\underline{\qquad}$。 + +
+ 答案: + + CSMA/CD + +
+ + *** + +3. 在计算机通信中,常采用 $\underline{\qquad}$ 方式进行差错控制。 + +
+ 答案: + + 检错重传 + +
+ + *** + +4. Internet 中使用得最广泛的数据链路层协议是 $\underline{\qquad}$ 协议和 $\underline{\qquad}$ 协议。 + +
+ 答案: + + HDLC、PPP + +
+ + *** + +5. 模拟信号传输的基础是载波,载波具有三个要素,即 $\underline{\qquad}$、$\underline{\qquad}$ 和 $\underline{\qquad}$,数字数据可以针对载波的不同要素或它们的组合进行调制。 + +
+ 答案: + + 幅度、频率、相位 + +
+ + *** + +6. 最常用的两种多路复用技术为 $\underline{\qquad}$ 和 $\underline{\qquad}$,其中,前者是同一时间同时传送多路信号,而后者是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + 频分多路复用(FDM)、时分多路复用(TDM) + +
+ + *** + +7. 在 TCP/IP 层次模型的第三层(网络层)中包括的协议主要有 IP、ICMP、$\underline{\qquad}$ 及 $\underline{\qquad}$。 + +
+ 答案: + + ARP、RARP + +
+ + *** + +8. 采用海明码纠正一位差错,若信息位为 10 位,则冗余位至少应为 $\underline{\qquad}$。 + +
+ 答案: + + 4 + +
+ +*** + +### 三、名词解释(本大题共 4 小题,每小题 3 分,共 12 分) + +:::tip +原参考答案页此处写为“本大题共 5 小题,每小题 2 分,共 10 分”,与题面不一致。此处按题面保留为“4 小题,每小题 3 分,共 12 分”。 +::: + +1. 子网掩码 + +
+ 答案: + + 为了实现对子网的支持,主路由器需要一个子网掩码,它代表了“网络号 + 子网号”与主机号之间的分割方案。 + +
+ + *** + +2. 奇偶校验码 + +
+ 答案: + + 奇偶校验码是一种通过增加 1 位冗余位使得码字中“1”的个数恒为奇数或偶数的编码方法。这是一种检错码。 + + :::tip + 原参考答案注明后一句可不答。 + ::: + +
+ + *** + +3. 拥塞控制 + +
+ 答案: + + 当一个子网或者子网的一部分中出现太多分组的时候,网络的性能下降。这种情况称为网络拥塞。 + +
+ + *** + +4. 载波侦听 + +
+ 答案: + + 一个站在使用信道之前,它通过对信道进行监听的方式辨别该信道当前是否正在被使用。如果信道被检测出来是忙的,则不使用该信道。 + +
+ +*** + +### 四、简答题(本大题共 2 小题,共 10 分) + +1. IP 地址空间不足是当前计算机网络所面临的一个越来越紧迫的问题,列举能够缓解或解决 IP 地址空间不足可以采用的一些方法措施。(6 分) + +
+ 答案: + + NAT,CIDR,IPV6(答对每个得 2 分) + +
+ + *** + +2. 分层分级是网络领域避免单个设备计算存储开销过多、解决算法的可扩展性所采用的一种方法,列举出两个应用分级方法的协议例子。(4 分) + +
+ 答案: + + 分级路由,DNS(答对每个得 2 分) + +
+ +*** + +### 五、计算题(本大题共 4 小题,共 35 分) + +1. (7 分)某单位申请到一个 B 类 IP 地址,现进行子网划分,若选用的子网掩码为 `255.255.224.0`,则可划分为多少个子网?每个子网中的主机数最多为多少台? + +
+ 答案: + + 对于一个 B 类网络,高端 16 位形成网络号,低端 16 位是子网或主机域。在子网掩码的低端 16 位中,最高有效 3 位为 `111`,因此剩下 13 位用于主机号。因此,每个子网存在 8192 个 IP 地址。但由于全 0 和全 1 是特别地址,因此最大的主机数目为 8190。 + +
+ + *** + +2. (7 分)考虑在一条 1 km 长的电缆(无中继器)上建立一个 1 Gbps 速率的 CSMA/CD 网络。信号在电缆中的速度为 200000 km/s。请问最小的帧长是多少? + +
+ 答案: + + 对于 1 km 电缆,单程传播时间为 $1 / 200000 = 5 \times 10^{-6}\ \text{s}$,即 $5\ \mu s$,来回路程传播时间为 $2t = 10\ \mu s$。为了能够按照 CSMA/CD 工作,最小帧的发射时间不能小于 $10\ \mu s$。以 1 Gb/s 速率工作,$10\ \mu s$ 可以发送的比特数等于: + + $$ + \frac{10 \times 10^{-6}}{1 \times 10^{-9}} = 10000 + $$ + + 因此,最小帧是 10 000 bit 或 1250 字节长。 + +
+ + *** + +3. (7 分)接收方收到了一个 12 位的海明码,其 16 进制为 `0xE4F`。请问原来的值是多少(用 16 进制表示)?假设至多只有 1 位发生了错误。(位数从左到右分别是第 1 位,第 2 位,…) + +
+ 答案: + + 我们命名收到的海明码从左到右分别是 $P_1, P_2, \ldots, P_{12}$。收方需对 4 个集合进行校验,来校验是否出错以及定位出错的比特。 + + 集合 1(校验码 1 参与的集合):$P_1 \oplus P_3 \oplus P_5 \oplus P_7 \oplus P_9 \oplus P_{11} = 0$ + + 集合 2(校验码 2 参与的集合):$P_2 \oplus P_3 \oplus P_6 \oplus P_7 \oplus P_{10} \oplus P_{11} = 1$ + + 集合 3(校验码 4 参与的集合):$P_4 \oplus P_5 \oplus P_6 \oplus P_7 \oplus P_{12} = 0$ + + 集合 4(校验码 8 参与的集合):$P_8 \oplus P_9 \oplus P_{10} \oplus P_{11} \oplus P_{12} = 0$ + + 根据以上计算可以判断 $P_2$ 发生错误,所以原来正确的值应该是 `0xA4F`。 + +
+ + *** + +4. (14 分)一个数据报子网允许路由器在必要的时候丢弃分组。一台路由器丢弃一个分组的概率为 $p$。请考虑这样的情形:源主机连接到源路由器,源路由器连接到目标路由器,然后目标路由器连接到目标主机。如果任一台路由器丢掉了一个分组,则源主机最终会超时,然后再重试发送。如果主机至路由器以及路由器至路由器之间的线路都计为一跳,那么: + + (a) 一个分组每次传输中的平均跳数是多少?(5 分) + + (b) 一个分组的平均传输次数是多少?(5 分) + + (c) 每个接收到的分组平均要走多少跳?(4 分) + +
+ 答案: + + (1)由源主机发送的每个分组可能行走 1 个跳段、2 个跳段或 3 个跳段。走 1 个跳段的概率为 $p$,走 2 个跳段的概率为 $(1-p)p$,走 3 个跳段的概率为 $(1-p)^2p$。那么,一个分组平均通路长度的期望值为: + + $$ + L = 1 \cdot p + 2 \cdot (1-p)p + 3 \cdot (1-p)^2 = p^2 - 3p + 3 + $$ + + 即每次发送一个分组的平均跳段数是 $p^2 - 3p + 3$。 + + (2)一次发送成功(走完整个通路)的概率为 $(1-p)^2$,令 $\alpha = (1-p)^2$,两次发射成功的概率等于 $(1-\alpha)\alpha$,三次发射成功的概率等于 $(1-\alpha)^2\alpha$,……,因此一个分组平均发送次数为: + + $$ + T = \sum_{n=1}^{\infty} n\alpha(1-\alpha)^{n-1} = \frac{1}{\alpha} = \frac{1}{(1-p)^2} + $$ + + 即一个分组平均要发送 $\frac{1}{(1-p)^2}$ 次。 + + (3)最后,每一个接收到的分组行走的平均跳段数等于: + + $$ + H = L \times T = \frac{p^2 - 3p + 3}{(1-p)^2} + $$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..087c9b3 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,947 @@ +--- +title: 2008-2009学年上学期期末 +--- + +## 2008-2009学年上学期期末试卷(A) + +### 说明 + +- 原卷参考答案从第四大题计算题开始就出现对不上的情况,因此后半部分答案暂缺 + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. OSI 参考模型的三个主要概念是( )。 + + A. architecture, model, switch + + B. subnet, layer, primitives + + C. service, interface, protocol + + D. WAN, MAN, LAN + +
+ 答案: + + C + +
+ + *** + +2. 在下列传输介质中,哪种传输介质的抗电磁干扰性最好( )。 + + A. 双绞线 + + B. 同轴电缆 + + C. 光纤 + + D. 无线电磁介质 + +
+ 答案: + + C + +
+ + *** + +3. 数据链路层中的数据传输基本单位是( )。 + + A. 比特 + + B. 数据帧 + + C. 分组 + + D. 报文 + +
+ 答案: + + B + +
+ + *** + +4. PPP 协议是( )的协议。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 传输层 + +
+ 答案: + + B + +
+ + *** + +5. 在 OSI 模型中,一个层 N 与它的上层(第 N+1 层)的关系是( )。 + + A. 第 N 层为第 N+1 层提供服务 + + B. 第 N+1 层把从第 N 层接收到的信息添加一个报头 + + C. 第 N 层使用第 N+1 层提供的服务 + + D. 第 N 层与第 N+1 层相互没有关系 + +
+ 答案: + + A + +
+ + *** + +6. 下列哪种说法正确( )。 + + A. 虚电路与电路交换中的电路没有实质不同 + + B. 在通信的两站点间只能建立一条虚电路 + + C. 虚电路也有连接建立、数据传输、连接释放三阶段 + + D. 虚电路的各个结点需要为每个分组单独进行路径选择判定 + +
+ 答案: + + C + +
+ + *** + +7. 两台计算机利用电话线路传输数据信号时,必备的设备是( )。 + + A. 网卡 + + B. 调制解调器 + + C. 中继器 + + D. 交换机 + +
+ 答案: + + B + +
+ + *** + +8. IP 地址为 `139.121.0.0` 的 B 类网络,若要切割为 8 个子网,而且都要连上 Internet,请问子网掩码设为( )。 + + A. `255.0.0.0` + + B. `255.255.0.0` + + C. `255.255.255.0` + + D. `255.255.224.0` + +
+ 答案: + + D + +
+ + *** + +9. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络的上传输速度 + + B. 增加区域网络的数据复制速度 + + C. 连接各电脑线路间的媒介 + + D. 以上皆是 + +
+ 答案: + + C + +
+ + *** + +10. HDLC 是( )。 + + A. 面向比特型的同步协议 + + B. 面向字符型的同步协议 + + C. 同步协议 + + D. 面向字符计数的同步协议 + +
+ 答案: + + A + +
+ + *** + +11. 具有 12 个 10M 端口的交换机的总带宽可以达到( )bps。 + + A. 10M + + B. 100M + + C. 120M + + D. 10/12M + +
+ 答案: + + C + +
+ + *** + +12. 若循环冗余码字中信息位为 `L` 位,编码时外加冗余位 `r` 位,则编码效率为( )。 + + A. `r / (r + L)` + + B. `(r + L) / L` + + C. `L / (r + L)` + + D. `(r + L) / r` + +
+ 答案: + + C + +
+ + *** + +13. `100BASE-Tx` 标准网络采用( )作为传输介质。 + + A. 光纤 + + B. 双绞线 + + C. 同轴电缆 + + D. 电磁介质 + +
+ 答案: + + B + +
+ + *** + +14. 实现计算机 IP 地址与物理地址映射的协议是( )。 + + A. IP 协议 + + B. ARP 协议 + + C. CIDR 协议 + + D. NAT 协议 + +
+ 答案: + + B + +
+ + *** + +15. 三次握手方法用于( )。 + + A. 传输层连接的建立 + + B. 数据链路层的流量控制 + + C. 传输层的差错检测 + + D. 传输层的流量控制 + +
+ 答案: + + A + +
+ +### 二、填空题(本大题共 6 小题,每空 1 分,共 10 分) + +1. 光纤是现代计算机网络中常用的传输介质,根据光信号在光纤中传输的特性不同,可将光纤分为 $\underline{\qquad(1)\qquad}$ 和 $\underline{\qquad(2)\qquad}$ 两大类。 + +
+ 答案: + + 单模光纤、多模光纤 + +
+ + *** + +2. 有两种基本的差错控制编码,即检错码和纠错码,在计算机网络和数据通信中广泛使用的一种检错码为 $\underline{\qquad(3)\qquad}$。 + +
+ 答案: + + CRC 码 + +
+ + *** + +3. 常用的 IP 地址有 A、B、C 三类,`192.168.3.31` 是一个 $\underline{\qquad(4)\qquad}$ 类 IP 地址,其网络标识(`netid`)为 $\underline{\qquad(5)\qquad}$,主机标识(`hosted`)为 $\underline{\qquad(6)\qquad}$。 + +
+ 答案: + + C、`192.168.3`、`31` + +
+ + *** + +4. 常用的多路复用技术为 FDM(WDM)、TDM 和 $\underline{\qquad(7)\qquad}$,其中 FDM 是同一时间同时传送多路信号,而 TDM 是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + CDMA + +
+ + *** + +5. TCP 协议实现面向连接服务,利用三次握手协议实现连接的建立。在建立连接过程中发送的 TCP 包中包头的 SYN 标识位为 $\underline{\qquad(8)\qquad}$(0/1),FIN 标识位为 $\underline{\qquad(9)\qquad}$(0/1)。 + +
+ 答案: + + 1、0 + +
+ + *** + +6. `S1924F+` 交换机中有 `Port VALN` 和 `Tag VALN` 两种工作模式,当要求实现跨交换机划分 VALN 时,交换机应工作在 $\underline{\qquad(10)\qquad}$ 模式。 + +
+ 答案: + + Tag VALN + +
+ +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. CSMA/CD + +
+ 答案: + + CSMA/CD 的要点就是:监听到信道空闲就发送数据帧,并继续监听下去。如监听到发生了冲突,则立即放弃此数据帧的发送。 + +
+ + *** + +2. 拥塞控制 + +
+ 答案: + + 一般来说,当通信子网中有太多的分组时,网络性能降低,这种情况就叫拥塞。根据控制论,拥塞控制方法分为两类: + + (1)开环控制:通过好的设计来解决问题,避免拥塞发生。拥塞控制时,不考虑网络当前状态。 + + (2)闭环控制:基于反馈机制。其工作过程:(一)监控系统,发现何时何地发生拥塞;(二)把发生拥塞的消息传给能采取动作的站点;(三)调整系统操作,解决问题。 + +
+ + *** + +3. 成帧 + +
+ 答案: + + 成帧是在 OSI 模型物理和数据链路层中的一个过程,通过成帧方法标记帧的开始和结束,使得接收方能从物理层的比特流中分离出数据帧。成帧方法有:字符计数法、字符填充法、位填充法和物理层违例编码法。 + +
+ + *** + +4. 网络地址转换协议(NAT) + +
+ 答案: + + NAT(Network Address Translation)就是指在一个网络内部,根据需要可以随意自定义的 IP 地址,而不需要经过申请。在网络内部,各计算机间通过内部的 IP 地址进行通讯。而当内部的计算机要与外部 Internet 网络进行通讯时,具有 NAT 功能的设备(比如:路由器)负责将其内部的 IP 地址转换为合法的外部 IP 地址(即经过申请的 IP 地址)进行通信。 + +
+ + *** + +5. CRC + +
+ 答案: + + CRC 码即循环冗余校验码,它是数据通信中应用最广的一种检验差错方法。发送方将一个数据块看成一个很长的二进制数,然后用一个特定的数(产生式)去除它,将余数作为校验码附在数据块后一起发送;在接收到该数据块和校验码后,对它们进行同样的运算,所得余数应为零,如果不为零表示数据传送出错,并要求发送端再传输。 + +
+ +### 四、计算题(本大题共 3 小题,共 20 分) + +1. (4 分)找出下列不能分配给主机的 IP 地址,并说明原因。 + + A. `131.127.256.80` + + B. `231.202.0.11` + + *** + +2. (6 分)画出比特流 `1100010101` 的差分曼彻斯特编码的波形图(初始电平为低)。 + + *** + +3. (10 分)长度为 1000 位的数据帧,在数据传输速率为 1 Mbps、最大长度为 2 km 的物理线路上传输。假设线路的传输延迟时间为 $5\ \text{ms/km}$,试计算下列协议中的物理通信线路可达到的最大利用率?(数据帧的序列号为 3 位,确认帧的发送时间忽略不计) + + a) 停—等协议 + + b) 回退-n 帧的滑动窗口协议 + + c) 选择性重传的滑动窗口协议。 + +### 五、应用题(本大题共 2 小题,共 20 分) + +1. (10 分)考虑如下子网,A、B、C、D 为路由器。采用距离矢量路由算法。 + + ![2008-2009学年上学期期末A卷应用题第1题子网拓扑图](./images/2008-2009学年上学期期末_A_应用题_第1题_子网拓扑图.png) + + (1)分析 A 路由器的路由表中存储的 A 到路由器 B 的距离及形成过程。(3 分) + + (2)假设链路 BD 断开,分析 A 路由器的路由表中存储的 A 到路由器 B 的距离的变化过程。(3 分) + + (3)在链路 BD 断开一段时间后,进一步假设链路 AB 也断开,分析 A 路由器在构造路由表,生成 A 到路由器 B 的距离时会出现什么问题?(4 分) + + *** + +2. 现需要对三个校园网 A、B、C 进行 IP 地址分配,其中,A 校园网需要 600 个 IP 地址,B 校园网需要 200 个 IP 地址,C 校园网需要 54 个 IP 地址。现有一批从 `192.168.16.0` 开始的 IP 地址,请写出 IP 地址分配方案,并填写下表。(10 分) + + | 校园网 | 起始 IP 地址 | 结束 IP 地址 | 基地址/子网掩码 | + | --- | --- | --- | --- | + | A | | | | + | B | | | | + | C | | | | + +*** + +## 2008-2009学年上学期期末试卷(B)(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. 若无噪声信道的线路带宽为 3kHz,每个码元可能取的离散值的个数为 8 个,则信道的最大数据传输率可达( )。 + + A. 24kbps + + B. 48kbps + + C. 12kbps + + D. 18kbps + +
+ 答案: + + D + +
+ + *** + +2. 以下 IP 地址中为 C 类地址是( )。 + + A. `123.213.12.23` + + B. `213.123.23.12` + + C. `23.123.213.23` + + D. `132.123.32.12` + +
+ 答案: + + B + +
+ + *** + +3. `10Base-T` 以太网中,以下说法不对的是: + + A. 10 指的是传输速率为 10MBPS + + B. Base 指的是基带传输 + + C. T 指的是以太网 + + D. `10Base-T` 是以太网的一种配置 + +
+ 答案: + + C + +
+ + *** + +4. NAT 的用途是( )。 + + A. 通过 IP 地址解析为 MAC 地址 + + B. 通过 MAC 地址解析为 IP 地址 + + C. 将网络域名解析为 IP 地址 + + D. 公网地址与私网地址之间的转换 + +
+ 答案: + + D + +
+ + *** + +5. 警告位算法是用作网络的( )。 + + A. 流量控制 + + B. 拥塞控制 + + C. 路由 + + D. 以上都不是 + +
+ 答案: + + B + +
+ + *** + +6. 一台路由器的路由表中有以下的(CIDR)表项: + + | 地址/掩码 | 下一跳 | + | --- | --- | + | `134.52.48.0/20` | 路由器1 | + | `134.52.56.0/21` | 路由器2 | + | `134.52.60.0/22` | 路由器3 | + | `134.52.62.0/23` | 路由器4 | + + 对于一个目的 IP 地址为 `134.52.57.33` 的到达分组,该路由器该转发给哪个路由器? + + A. 路由器1 + + B. 路由器2 + + C. 路由器3 + + D. 路由器4 + +
+ 答案: + + B + +
+ + *** + +7. IP 地址为 `211.111.202.0` 的 C 类网络,若要切割为 6 个子网,而且都要连上 Internet,请问子网掩码设为( )。 + + A. `255.255.255.0` + + B. `255.255.0.0` + + C. `255.255.255.192` + + D. `255.255.255.224` + +
+ 答案: + + D + +
+ + *** + +8. 若数据链路的发送窗口尺寸 `WT = 7`,在发送 4 号帧、并接到 2 号帧的确认帧后,发送方还可连续发送 $\underline{\qquad}$。 + + A. 4 帧 + + B. 5 帧 + + C. 6 帧 + + D. 3 帧 + +
+ 答案: + + B + +
+ + *** + +9. 使用载波信号的两种不同幅度来表示二进制值的两种状态的数据编码方式称为( )。 + + A. 移幅键控法 + + B. 移频键控法 + + C. 移相键控法 + + D. 幅度相位调制 + +
+ 答案: + + A + +
+ + *** + +10. 调制解调器(MODEM)的主要功能是( )。 + + A. 模拟信号的放大 + + B. 数字信号的整形 + + C. 模拟信号与数字信号的转换 + + D. 数字信号的编码 + +
+ 答案: + + C + +
+ +### 二、判断题(本大题共 5 小题,每小题 2 分,共 10 分) + +1. 基带同轴电缆的阻抗为 75 欧姆,具有极好的电磁干扰屏蔽性能。( ) + +
+ 答案: + + 错 + +
+ + *** + +2. 所有的帧都必须以标志字段开头和结尾。( ) + +
+ 答案: + + 对 + +
+ + *** + +3. 如果要实现双向同时通信就必须要有两条数据传输线路。( ) + +
+ 答案: + + 错 + +
+ + *** + +4. 网络中通常使用电路交换、报文交换和分组交换技术。( ) + +
+ 答案: + + 对 + +
+ + *** + +5. 网桥是属于 OSI 模型中网络层的互联设备。( ) + +
+ 答案: + + 错 + +
+ +### 三、填空题(本大题共 8 个空,每空 2 分,共 16 分) + +1. 采用海明码校验方法,若信息位为 15 位,则冗余位至少为 $\underline{\qquad}$ 位。 + +
+ 答案: + + 5 + +
+ + *** + +2. 网桥通过查询其内部的一张表来对一个待转发的帧做出转发决策,这张转发表最初是空的,是通过 $\underline{\qquad}$ 算法来建立起来。 + +
+ 答案: + + 逆向学习 + +
+ + *** + +3. IP 地址的主机部分如果全为 1,则表示 $\underline{\qquad}$ 地址,`127.0.0.1` 被称做 $\underline{\qquad}$ 地址。 + +
+ 答案: + + 广播,回环测试 + +
+ + *** + +4. 在数据报服务中,网络节点要为每个 $\underline{\qquad}$ 选择路由,在虚电路服务中,网络节点只在 $\underline{\qquad}$ 时为分组选择路由。 + +
+ 答案: + + 每个分组,连接建立 + +
+ + *** + +5. 中继器是工作在网络协议栈的 $\underline{\qquad}$ 层。 + +
+ 答案: + + 物理 + +
+ + *** + +6. 若 HDLC 帧数据段中出现比特串 `0101111101111110`,则比特填充后的输出为 $\underline{\qquad}$。 + +
+ 答案: + + `010111110011111010` + +
+ +### 四、名词解释(本大题共 4 小题,每小题 4 分,共 16 分) + +1. 频分多路复用(FDM) + +
+ 答案: + + 在物理信道的可用带宽超过单个原始信号所需带宽的情况下,可将该物理信道的总带宽分割成若干个与传输单个信号带宽相同(或略宽)的子信道,每个子信道传输一路信号,这就是频分多路复用。 + +
+ + *** + +2. 地址解析协议(ARP) + +
+ 答案: + + 在 TCP/IP 环境下,网络层有一组将 IP 地址转换为相应物理网络地址的协议,这组协议即为地址解析协议 ARP。 + +
+ + *** + +3. 网络协议(Protocol) + +
+ 答案: + + 为进行计算机网络中的数据交换而建立的规则、标准或约定的集合称为网络协议(Protocol)。网络协议主要由语义、语法和接口三个要素组成。 + +
+ + *** + +4. 网关(Gateway) + +
+ 答案: + + 能够提供运输层及运输层以上各层协议转换的网络互连设备。 + +
+ +### 五、简答题(本大题共 2 小题,共 12 分) + +1. 针对 OSI 参考模型和 TCP/IP 参考模型,请列举出两种相同的处理问题方法以及两种不相同的处理问题方法(6 分)。 + +
+ 答案: + + 相同点(2 分): + + 1)基于一系列独立的协议栈 + + 2)各个层的功能大体相似 + + 不同点: + + OSI(答对一个给 1 分,满分 2 分) + + 1)有很明确的服务、接口和协议区分 + + 2)很好的符合面向对象编程思想 + + 3)协议细节被很好的隐藏 + + 4)OSI 的网络层同时支持无连接和面向连接通信,传输层只支持面向连接通信 + + TCP/IP(答对一个给 1 分,满分 2 分) + + 1)协议先实现,模型仅是协议的描述。因此模型不适用于其它的协议 + + 2)TCP/IP 模型没有明确区分服务、接口、协议三者之间的差异 + + 3)在分层协议环境中,主机至网络层并不是常规意义上层的概念。它是一个接口(位于网络层和数据链路层之间) + + 4)TCP/IP 网络层只有无连接通信,传输层同时支持无连接、面向连接两种通信模式 + +
+ + *** + +2. 为什么有些网络会使用纠错码,而不使用检错+重传的机制?请给出两个理由。(6 分) + +
+ 答案: + + 在错误发生比较频繁的信道上,使用纠错码更好(2 分)。 + + 理由(答对每个理由得 2 分): + + 1)如果使用检错重传的方法,重传的概率很高;此外重传的数据发生错误的概率依然很大,可能会导致反复的重传,这些过多的重传使信道的吞吐率下降。 + + 2)使用纠错码还可减小出错重传造成的数据到达时延过高带来的服务质量的影响。 + +
+ +### 六、计算题(本大题共 4 小题,共 26 分) + +1. 考虑在一条 2km 长的电缆(无中继器)上建立一个 1Gps 速率的 CSMA/CD 网络。信号在电缆中的速度为 `200 000 km/s`。请问最小的帧长度为多少?(4 分) + +
+ 答案: + + 设帧长为 `L`,一帧数据往返时间为往返距离除以信号传播速度,根据最小帧长要求一帧数据的发送时间应大于一帧数据的往返时间,则可列出不等式: + + `L / 10^9 ≥ 2 × 2000 / (2 × 10^8)` + + 求得 `L` 最小为 20000 比特。 + +
+ + *** + +2. 对一个无限用户的纯 ALOHA 信道的测试表明,20% 的时槽是空闲的(6 分)。 + + (a)信道负载 `G` 是多少(3 分) + + (b)吞吐量是多少?(2 分) + + (c)该信道是负载不足还是过载了,并说明理由(1 分) + +
+ 答案: + + (a)(3 分),`P_0 = e^{-G}`,`G = ln(1 / P_0) = ln5 = 1.6` + + (b)(2 分)吞吐量:`S = G e^{-2G} = 0.064` + + (c)(1 分)`G > 0.5`(纯 ALOHA 最优负载时 `G` 为 0.5),过载了。 + +
+ + *** + +3. 在一个负载很重(双向流量)的 50kbps 的卫星信道上使用协议 6,数据帧包含 40 位的头和 3960 位的数据,请计算一下浪费在头部和重传的开销占多少比例。假设从地球到卫星的信号传输时间为 270ms。ACK 帧永远不会发生(捎带确认总是很及时)。NAK 帧为 40 位。数据帧的错误率为 1%,NAK 帧的错误率忽略不计。序列号为 8 位。(7 分) + +
+ 答案: + + 1% 的帧需要重传造成的浪费平均到每个帧上的开销为 `1% × 4000` 比特,每个正常的帧浪费 40 比特的头,NAK 平均到每个帧上的开销为 `40 × 1%`,总的每帧控制开销为 80.4 比特,开销比例为 `80.4 / (3960 + 80.4) = 1.99%`。 + +
+ + *** + +4. 网络拓扑结构如下图所示,图中每个节点代表一个路由器,节点之间连线代表一条通信线路,线路旁的数字对应这条线路上的通信距离,请根据最短路径路由(Dijkstra 算法)标出依据 Dijkstra 算法找到从 A 到 D 的最短路径的过程,即依次将图中的节点标记为永久的工作节点的顺序,答案只要依次列出按先后顺序选中的工作节点的序列(7 分),并指出最后计算出的最短路径(2 分)。(共 9 分) + + ![2008-2009学年上学期期末B卷计算题第4题网络拓扑图](./images/2008-2009学年上学期期末_B_计算题_第4题_网络拓扑图.png) + +
+ 答案: + + 依次标记为永久工作节点的顺序为:A,B,F,E,C,D(7 分) + + 最短路径为:A,B,E,D(2 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..76dc73f --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,548 @@ +--- +title: 2013-2014学年上学期月考 +--- + +## 2013-2014学年上学期月考试卷(含答案) + +### 说明 + +- 日期:2013.9 + +### 一、选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. 采用半双工通信方式,数据传输的方向性结构为( )。 + + A. 可以在两个方向上同时传输 + + B. 只能在一个方向上传输 + + C. 可以在两个方向上传输,但不能同时进行 + + D. 以上均不对 + +
+ 答案: + + C + +
+ + *** + +2. 采用异步传输方式,设数据位为 8 位,1 位停止位,无校验位,则其通信效率为( )。 + + A. 30% + + B. 70% + + C. 80% + + D. 20% + +
+ 答案: + + C + +
+ + *** + +3. E1 载波的数据传输率为( )。 + + A. $1\ \text{Mbps}$ + + B. $10\ \text{Mbps}$ + + C. $2.048\ \text{Mbps}$ + + D. $1.544\ \text{Mbps}$ + +
+ 答案: + + C + +
+ + *** + +4. 采用相位振幅组合调制技术,可以提高数据传输速率,例如采用 8 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 2 位 + + B. 8 位 + + C. 16 位 + + D. 4 位 + +
+ 答案: + + D + +
+ + *** + +5. 若网络形状是由站点和连接站点的链路组成的一个闭合环,则称这种拓扑结构为( )。 + + A. 星形拓扑 + + B. 总线拓扑 + + C. 环形拓扑 + + D. 树形拓扑 + +
+ 答案: + + C + +
+ + *** + +6. 下面的技术中,( )不是多路复用技术。 + + A. FDM + + B. TDM + + C. PCM + + D. CDMA + +
+ 答案: + + C + +
+ + *** + +7. 下列哪种交换方法被 Internet 所采用?( ) + + A. 分组交换 + + B. 报文交换 + + C. 电路交换 + + D. 各种方法都一样 + +
+ 答案: + + C + +
+ + *** + +8. 网络层的主要协议有( )。 + + A. IP 协议 + + B. TCP 协议 + + C. UDP 协议 + + D. IEEE 802.3 协议 + +
+ 答案: + + A + +
+ + *** + +9. 利用有线电视网络实现 Internet 访问服务过程中,同轴电缆的上行信道中 Cable Modem 的调制技术采用( )。 + + A. QPSK + + B. QAM-16 + + C. QAM-64 + + D. QAM-32 + +
+ 答案: + + C + +
+ + *** + +10. 以下各项中,不是数据报操作特点的是( )。 + + A. 每个分组自身携带有足够的信息,它的传送是被单独处理的 + + B. 在整个传送过程中,不需建立虚电路 + + C. 使所有分组按顺序到达目的端系统 + + D. 网络节点要为每个分组做出路由选择 + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(本大题共 5 小题,每空 1 分,共 10 分) + +11. 串行数据通信的方向性结构有三种,即单工、      。 + +
+ 答案: + + 半双工;全双工 + +
+ + *** + +12. 模拟信号传输的基础是载波,载波具有三个要素,即频率、      。数字数据可以针对载波的不同要素或它们的组合进行调制。 + +
+ 答案: + + 振幅;波长 + +
+ + *** + +13. 最常用的两种多路复用技术为       ,其中,前者是同一时间同时传送多路信号,而后者是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + 频分复用;时分复用 + +
+ + *** + +14. 网络协议就是为实现网络中的数据交换建立的规则标准或约定。协议由           三部分组成,即协议的三要素。 + +
+ 答案: + + 语法;语义;时序 + +
+ + *** + +15. 在 TCP/IP 层次模型中与 OSI 参考模型第四层(传输层)相对应的主要协议有       ,其中后者提供无连接的不可靠传输服务。 + +
+ 答案: + + TCP;UDP + +
+ +*** + +### 三、名词解释(本大题共 4 小题,每小题 5 分,共 20 分) + +16. 多路复用(Multiplexing) + +
+ 答案: + + 数据通信系统或计算机网络系统中,传输媒体的带宽或容量往往会大于传输单一信号的需求,为了有效地利用通信线路,希望一个信道同时传输多路信号,这就是所谓的多路复用技术(Multiplexing)。 + +
+ + *** + +17. 带宽 + +
+ 答案: + + 是指在固定的时间可传输的资料数量,亦即在传输管道中可以传递数据的能力。 + +
+ + *** + +18. 网络协议 + +
+ 答案: + + 为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 + +
+ + *** + +19. TCP + +
+ 答案: + + Transmission Control Protocol,传输控制协议。TCP 是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由 IETF 的 RFC 793 说明(specified)。在简化的计算机网络 OSI 模型中,它完成第四层传输层所指定的功能,UDP 是同一层内另一个重要的传输协议。 + +
+ +*** + +### 四、简答题(本大题共 2 小题,每小题 5 分,共 10 分) + +20. 简述光纤网络中无源星型网络和有源中继器网络的不同点。 + +
+ 答案: + + 耦合器使用的是有源中继器。 + + 如果同时有两台设备发送,不会产生冲突。 + + 比起无源星型拓扑结构,有源星型结构成本很高。 + +
+ + *** + +21. 用原语 Listen、Connect、Send、Receive、Disconnect 说明面向连接服务的具体过程。 + +
+ 答案: + + 服务器执行 Listen 原语,等待连接请求。 + + 客户端执行 Connect 原语,请求建立连接。 + + 连接建立后,通信双方使用 Send 和 Receive 原语发送、接收数据。 + + 数据传输结束后,使用 Disconnect 原语释放连接。 + +
+ +## 2013-2014学年上学期月考试卷 + +### 说明 + +- 该部分来源仅有图片,且试卷内容不完整。 +- 源文件文件名标注为“月考1”。 + +### 一、选择题(本大题共 20 小题,每小题 2 分,共 40 分) + +8. 下列以太网中,采用双绞线作为传输介质的是( )。 + + A. 10BASE-2 + + B. 10BASE-5 + + C. 10BASE-T + + D. 10BASE-F + + *** + +9. IEEE802.3 标准规定,若采用同轴电缆作为传输介质,在无中继的情况下,传输介质的最大长度不能超过( )。 + + A. $500\ \text{m}$ + + B. $200\ \text{m}$ + + C. $100\ \text{m}$ + + D. $50\ \text{m}$ + + *** + +10. 下面四种以太网中,只能工作在全双工模式下的是( )。 + + A. 10BASE-T 以太网 + + B. 100BASE-T 以太网 + + C. 吉比特以太网 + + D. 10G 比特以太网 + + *** + +11. 在传统以太网中有 A、B、C、D 四台主机,若 A 向 B 发送信息,则( )。 + + A. 只有 B 能收到 + + B. 4 台主机都能收到 + + C. 距离 A 最近的一台主机可以收到 + + D. 除 A 外的所有主机都能收到 + + *** + +12. 在以太网中,大量的广播信息会降低整个网络性能的原因是( )。 + + A. 网络中的每台计算机都必须为每个广播信息发送一个确认信息 + + B. 网络中的每台计算机都必须处理每个广播信息,而且会占用大部分网络带宽 + + C. 广播信息要被路由器路由到每个网段 + + D. 广播信息不能自动直接传送到目的计算机 + + *** + +13. 快速以太网仍然使用 CSMA/CD 协议,它采用( )而将最大电缆长度减少到 $100\ \text{m}$ 的方法,使以太网的数据传输速率提高至 $100\ \text{Mbps}$。 + + A. 改变最短帧长 + + B. 改变最长帧长 + + C. 保持最短帧长不变 + + D. 保持最长帧长不变 + + *** + +18. 根据报文交换方式的基本原理,可以将其交换系统的功能概括为( )。 + + A. 存储系统 + + B. 转发系统 + + C. 存储-转发系统 + + D. 传输控制系统 + + *** + +19. 在距离矢量路由协议中,导致无穷计算问题的主要原因是( )。 + + A. 由于网络带宽的限制,某些路由更新数据报被丢弃 + + B. 由于路由器不知道整个网络的拓扑结构信息,当收到一个路由更新信息时,又将该更新信息发回自己发送该路由信息的路由器 + + C. 当一个路由器发现自己的某条直接相连链路断开时,没能将这个变化报告给其它路由器 + + D. 慢收敛导致路由器接收了无效的路由信息 + + *** + +20. 关于链路状态路由协议的描述,( )是错误的。 + + A. 仅相邻路由器需要交换自己的路由表 + + B. 全网路由器的拓扑数据库是一致的 + + C. 采用泛洪技术更新链路状态变化信息 + + D. 具有快速收敛的优点 + +### 二、计算题(本大题共 6 小题,每小题 10 分,共 60 分) + +1. 若构造一个 CSMA/CD 总线网,速率是 $100\ \text{Mbps}$,信号在电缆中的传播速度是 $2 \times 10^5\ \text{km/s}$,数据帧的最小长度是 $125\ \text{B}$。试求总线电缆的最大长度(假设总线电缆中无中继器)。 + + *** + +2. 假定在透明网桥上的一台计算机把一个数据帧发给网络上不存在的一个设备,网桥将如何处理这个帧? + + *** + +3. 什么是 CSMA/CD 协议?使用 CSMA/CD 协议,采用什么算法解决碰撞冲突? + + *** + +4. 在下图所示网络中,采用最短路径路由算法求 D 点到 A 点的信源树和结点 D 的路由表。(信源树是指以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。由于隐源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树) + + (路由器 D 的端口 1 连接 C 路由器,端口 2 连接 H 路由器) + + ![2013-2014学年上学期月考_月考1_计算题_第4题_网络拓扑图](./images/2013-2014学年上学期月考_月考1_计算题_第4题_网络拓扑图.png) + + *** + +5. 对于下图所示的通信子网,采用距离矢量路由选择算法。当以下矢量刚进入路由器 C: + + 来自 B:$(5, 0, 8, 12, 6, 2)$ 表示 B 到 A、B、C、D、E、F 的延迟分别为 5、0、8、12、6、2 + + 来自 D:$(16, 12, 6, 0, 9, 10)$ 表示 D 到 A、B、C、D、E、F 的延迟分别为 16、12、6、0、9、10 + + 来自 E:$(7, 6, 3, 9, 0, 4)$ 表示 E 到 A、B、C、D、E、F 的延迟分别为 7、6、3、9、0、4 + + C 到 B、D、E 的延迟分别为 6、3、5。请问 C 的路由表是什么?即给出采用的输出线路和预计延迟。 + + ![2013-2014学年上学期月考_月考1_计算题_第5题_通信子网拓扑图](./images/2013-2014学年上学期月考_月考1_计算题_第5题_通信子网拓扑图.png) + + *** + +6. 下图是一个子网的拓扑结构及其相邻结点之间的传输延迟,请采用链路状态路由算法进行路由计算。假设报文的 TTL 为 60 秒,给出各结点的初始链路状态报文。 + + ![2013-2014学年上学期月考_月考1_计算题_第6题_子网拓扑图](./images/2013-2014学年上学期月考_月考1_计算题_第6题_子网拓扑图.png) + +## 2013-2014学年上学期月考试卷 + +### 说明 + +- 该部分来源仅有图片,且试卷内容不完整。 +- 源文件文件名标注为“月考2”。 + +### 一、选择题(本大题共 20 小题,每小题 2 分,共 40 分) + +19. The most common protocol for point-to-point access is the Point-to-Point Protocol (PPP), which is a ______ protocol. + + A. bit-oriented + + B. byte-oriented + + C. character-oriented + + D. none of the above + + *** + +20. Both Go-Back-N and Selective-Repeat Protocols use a ______. + + A. sliding frame + + B. sliding window + + C. sliding packet + + D. none of the above + +### 二、计算题(本大题共 6 小题,每小题 10 分,共 60 分) + +1. Television channels are $6\ \text{MHz}$ wide. How many bits/sec can be sent if four-level digital signals are used? + + Assume a noiseless channel. + + *** + +2. A CDMA receiver gets the following chips: $(-1, +1, -3, +1, -1, -3, +1, +1)$. Assuming the chip sequences defined as following, which stations transmitted, and which bits did each one send? + + $A = (-1, -1, -1, +1, +1, -1, +1, +1)$ + + $B = (-1, -1, +1, -1, +1, +1, +1, -1)$ + + $C = (-1, +1, -1, +1, +1, +1, -1, -1)$ + + $D = (-1, +1, -1, -1, -1, -1, +1, +1)$ + + *** + +3. A bit string, 01111011111011111110, needs to be transmitted at the data link layer. What is the string actually transmitted after bit stuffing? + + *** + +4. What is the remainder obtained by dividing $x^7 + x^5 + 1$ by the generator polynomial $x^3 + 1$? diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\271\263\346\227\266\346\265\213\350\257\225.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\271\263\346\227\266\346\265\213\350\257\225.md" new file mode 100644 index 0000000..8edc15c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\345\271\263\346\227\266\346\265\213\350\257\225.md" @@ -0,0 +1,561 @@ +--- +title: 2014-2015学年上学期平时测试 +--- + +## 2014-2015学年上学期平时测试试卷(含答案) + +### 说明 + +- 日期:2014.11 + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. OSI 参考模型的三个主要概念是( )。 + + A. architecture, model, switch + + B. subnet, layer, primitives + + C. service, interface, protocol + + D. WAN, MAN, LAN + +
+ 答案: + + C + +
+ + *** + +2. 在下列传输介质中,哪种传输介质的抗电磁干扰性最好( )。 + + A. 双绞线 + + B. 同轴电缆 + + C. 光纤 + + D. 无线电磁介质 + +
+ 答案: + + C + +
+ + *** + +3. 数据链路层中的数据传输基本单位是( )。 + + A. 比特 + + B. 数据帧 + + C. 分组 + + D. 报文 + +
+ 答案: + + B + +
+ + *** + +4. PPP 协议是( )的协议。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 传输层 + +
+ 答案: + + B + +
+ + *** + +5. 在 OSI 模型中,一个层 N 与它的上层(第 N+1 层)的关系是( )。 + + A. 第 N 层为第 N+1 层提供服务 + + B. 第 N+1 层把从第 N 层接收到的信息添加一个报头 + + C. 第 N 层使用第 N+1 层提供的服务 + + D. 第 N 层与第 N+1 层相互没有关系 + +
+ 答案: + + A + +
+ + *** + +6. 下列哪种说法正确( )。 + + A. 虚电路与电路交换中的电路没有实质不同 + + B. 在通信的两站点间只能建立一条虚电路 + + C. 虚电路也有连接建立、数据传输、连接释放三阶段 + + D. 虚电路的各个结点需要为每个分组单独进行路径选择判定 + +
+ 答案: + + C + +
+ + *** + +7. 两台计算机利用电话线路传输数据信号时,必备的设备是( )。 + + A. 网卡 + + B. 调制解调器 + + C. 中继器 + + D. 交换机 + +
+ 答案: + + B + +
+ + *** + +8. IP 地址为 139.121.0.0 的 B 类网络,若要切割为 8 个子网,而且都要连上 Internet,请问子网掩码设为( )。 + + A. 255.0.0.0 + + B. 255.255.0.0 + + C. 255.255.255.0 + + D. 255.255.224.0 + +
+ 答案: + + D + +
+ + *** + +9. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络的上传输速度 + + B. 增加区域网络的数据复制速度 + + C. 连接各电脑线路间的媒介 + + D. 以上皆是 + +
+ 答案: + + C + +
+ + *** + +10. HDLC 是( )。 + + A. 面向比特型的同步协议 + + B. 面向字符型的同步协议 + + C. 同步协议 + + D. 面向字符计数的同步协议 + +
+ 答案: + + A + +
+ + *** + +11. 具有 12 个 10M 端口的交换机的总带宽可以达到( )bps。 + + A. 10M + + B. 100M + + C. 120M + + D. 10/12M + +
+ 答案: + + C + +
+ + *** + +12. 若循环冗余码字中信息位为 $L$ 位,编码时外加冗余位 $r$ 位,则编码效率为( )。 + + A. $\dfrac{r}{r+L}$ + + B. $\dfrac{r+L}{L}$ + + C. $\dfrac{L}{r+L}$ + + D. $\dfrac{r+L}{r}$ + +
+ 答案: + + C + +
+ + *** + +13. 100BASE-Tx 标准网络采用( )作为传输介质。 + + A. 光纤 + + B. 双绞线 + + C. 同轴电缆 + + D. 电磁介质 + +
+ 答案: + + B + +
+ + *** + +14. 实现计算机 IP 地址与物理地址映射的协议是( )。 + + A. IP 协议 + + B. ARP 协议 + + C. CIDR 协议 + + D. NAT 协议 + +
+ 答案: + + B + +
+ + *** + +15. 调制解调器(MODEM)的主要功能是( )。 + + A. 模拟信号的放大 + + B. 数字信号的整形 + + C. 模拟信号与数字信号的转换 + + D. 数字信号的编码 + +
+ 答案: + + C + +
+ +### 二、填空题(本大题共 6 小题,每空 1 分,共 10 分) + +1. 光纤是现代计算机网络中常用的传输介质,根据光信号在光纤中传输的特性不同,可将光纤分为 $\underline{\qquad(1)\qquad}$ 和 $\underline{\qquad(2)\qquad}$ 两大类。 + +
+ 答案: + + 单模光纤、多模光纤 + +
+ + *** + +2. 有两种基本的差错控制编码,即检错码和纠错码,在计算机网络和数据通信中广泛使用的一种检错码为 $\underline{\qquad(3)\qquad}$。 + +
+ 答案: + + CRC 码 + +
+ + *** + +3. 常用的 IP 地址有 A、B、C 三类,192.168.3.31 是一个 $\underline{\qquad(4)\qquad}$ 类 IP 地址,其网络标识(netid)为 $\underline{\qquad(5)\qquad}$,主机标识(hosted)为 $\underline{\qquad(6)\qquad}$。 + +
+ 答案: + + C、192.168.3、31 + +
+ + *** + +4. 常用的多路复用技术为 FDM(WDM)、TDM 和 $\underline{\qquad(7)\qquad}$,其中 FDM 是同一时间同时传送多路信号,而 TDM 是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + CDMA + +
+ + *** + +5. IP 地址的主机部分如果全为 1,则表示 $\underline{\qquad(8)\qquad}$ 地址,127.0.0.1 被称做 $\underline{\qquad(9)\qquad}$ 地址。 + +
+ 答案: + + 广播、回环测试 + +
+ + *** + +6. S1924F+ 交换机中有 Port VALN 和 Tag VALN 两种工作模式,当要求实现跨交换机划分 VALN 时,交换机应工作在 $\underline{\qquad(10)\qquad}$ 模式。 + +
+ 答案: + + Tag VALN + +
+ +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. CSMA/CD + +
+ 答案: + + CSMA/CD 的要点就是:监听到信道空闲就发送数据帧,并继续监听下去。如监听到发生了冲突,则立即放弃此数据帧的发送。 + +
+ + *** + +2. 拥塞控制 + +
+ 答案: + + 一般来说,当通信子网中有太多的分组时,网络性能降低,这种情况就叫拥塞。根据控制论,拥塞控制方法分为两类: + + (1)开环控制:通过好的设计来解决问题,避免拥塞发生。拥塞控制时,不考虑网络当前状态。 + + (2)闭环控制:基于反馈机制。其工作过程:(一)监控系统,发现何时何地发生拥塞;(二)把发生拥塞的消息传给能采取动作的站点;(三)调整系统操作,解决问题。 + +
+ + *** + +3. 成帧 + +
+ 答案: + + 成帧是在 OSI 模型物理和数据链路层中的一个过程,通过成帧方法标记帧的开始和结束,使得接收方能从物理层的比特流中分离出数据帧。成帧方法有:字符计数法、字符填充法、位填充法和物理层违例编码法。 + +
+ + *** + +4. 分段(Fragmentation) + +
+ 答案: + + 如果源子网的信息包太长,目的子网无法接受,路由器就把它分成更小的包,TCP/IP 协议中把这个过程叫“分段”。 + +
+ + *** + +5. CRC + +
+ 答案: + + CRC 码即循环冗余校验码,它是数据通信中应用最广的一种检验差错方法。发送方将一个数据块看成一个很长的二进制数,然后用一个特定的数(产生式)去除它,将余数作为校验码附在数据块后一起发送;在接收到该数据块和校验码后,对它们进行同样的运算,所得余数应为零,如果不为零表示数据传送出错,并要求发送端再传输。 + +
+ +### 四、计算题(本大题共 4 小题,共 20 分) + +1. (5 分)通信的双方采用循环冗余码进行错误检测,假设双方协商的产生式为 $G(x)=x^3+x+1$。当接收方收到如下带循环冗余码的数据帧:$(1702)_{16}$,试分析接收方收到的数据帧是否正确,并说明理由。 + +
+ 答案: + + (1)$(1702)_{16} = (1,0111,0000,0010)_2$(1 分) + + (2)$G(x)=x^3+x+1$ 对应的产生式(二进制表示):1011(1 分) + + (3)$(1,0111,0000,0010)_2$ 除以 1011(逻辑除法)得到的余数为 0(2 分) + + (4)因此,接收方收到的数据帧是正确的。(1 分) + +
+ + *** + +2. (5 分)画出比特流 1010100101 的差分曼彻斯特编码的波形图(初始电平为低)。 + +
+ 答案: + + ![2014-2015学年上学期月考2014.11计算题第2题差分曼彻斯特编码图](./images/2014-2015学年上学期月考_2014.11_计算题_第2题_差分曼彻斯特编码图.png) + + 评分标准:共 5 分,每错一个位的波形扣 0.5 分,扣到 0 分为止。 + +
+ + *** + +3. (5 分)考虑建立一个 CSMA/CD 网,电缆长度 $1000\ \text{m}$,不使用重发器,运行速率为 $1\ \text{Mbps}$。电缆中的信号速度是 $100\ \text{m/ms}$。问最小帧长度是多少? + +
+ 答案: + + 假设数据帧的长度为 $L$ 位。 + + $t = 1000\ \text{m} / (100\ \text{m/ms}) = 10\ \text{ms} = 10 \times 10^{-3}\ \text{s}$(1 分) + + $T_s = L / 1\ \text{Mbps}$(1 分) + + $T_s \ge 2t$(2 分) + + 故数据帧长度 $L \ge 20\ \text{kb}$(1 分) + +
+ + *** + +4. (5 分)对于下图所示的通信子网,采用距离矢量路由选择算法。当以下矢量刚到进入路由器 C: + + 来自 B:(5, 0, 8, 12, 6, 2)表示 B 到 A、B、C、D、E、F 的延迟分别为 5,0,8,12,6,2 + + 来自 D:(16, 12, 6, 0, 9, 10)表示 D 到 A、B、C、D、E、F 的延迟分别为 16,12,6,0,9,10 + + 来自 E:(7, 6, 3, 9, 0, 4)表示 E 到 A、B、C、D、E、F 的延迟分别为 7,6,3,9,0,4 + + C 到 B、D、E 的延迟分别为 6,3,5。请问 C 的路由表是什么?即给出采用的输出线路和预计延迟。 + + ![2014-2015学年上学期月考2014.11计算题第4题路由拓扑图](./images/2014-2015学年上学期月考_2014.11_计算题_第4题_路由拓扑图.png) + +
+ 答案: + + | 目的地 | 预计延迟 | 输出线路 | + | --- | --- | --- | + | A | 11 | B | + | B | 6 | B | + | C | 0 | - | + | D | 3 | D | + | E | 5 | E | + | F | 8 | B | + + 评分标准:共 5 分,每错一处扣 0.5 分,扣到 0 分为止。 + +
+ +### 五、应用题(本大题共 2 小题,共 20 分) + +1. (10 分)一台路由器的路由表中有以下的(CIDR)表项: + + | 地址/掩码 | 下一跳 | + | --- | --- | + | 161.40.60.0/22 | 接口 1 | + | 161.40.56.0/22 | 接口 2 | + | 192.53.40.0/23 | 路由器 1 | + | 0.0.0.0/0 | 路由器 2 | + + (1)如果到达分组的目标 IP 地址分别为 161.40.63.10、161.40.52.2 和 192.53.56.7,路由器会执行什么操作? + + (2)若该路由器去往网络 191.7.96.0/21、191.7.104.0/21、191.7.112.0/21 用同一输出线路,都向“接口 3”转发。则如何增加路由表项? + +
+ 答案: + + (1)分组的目标地址 / 路由器执行的动作 + + 161.40.63.10:向“接口 1”转发(2 分) + + 161.40.52.2:向“路由器 2”转发(2 分) + + 192.53.56.7:向“路由器 2”转发(2 分) + + (2)在 CIDR 表项中缺省路由前增加一项: + + | 地址/掩码 | 下一跳 | + | --- | --- | + | 191.7.96.0/19 | 接口 3 | + + (4 分) + + 评分标准:共 10 分,每步分析正确得相应分值。 + +
+ + *** + +2. (10 分)若窗口序号位数为 3,发送窗口尺寸为 4,采用 Go-back-N 法,试根据发送及接收窗口变化图示分析各图中相继发生了哪些事件? + + ![2014-2015学年上学期月考2014.11应用题第2题GBN窗口图](./images/2014-2015学年上学期月考_2014.11_应用题_第2题_GBN窗口图.png) + +
+ 答案: + + (a)发送 0 号帧(2 分) + + (b)发送 1 号帧(1 分) + + (c)接收 0 号帧(1 分) + + (d)接收 0 号帧的确认(2 分) + + (e)发送 2 号帧(1 分) + + (f)接收 1 号帧(1 分) + + (g)接收 1 号帧的确认(2 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..5712b2c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,689 @@ +--- +title: 2014-2015学年上学期月考 +--- + +## 2014-2015学年上学期月考试卷(含答案) + +### 说明 + +- 日期:2014.10 + +### 一、选择题(50 分,每题 2 分) + +1. 在 OSI 参考模型中,自下而上第一个提供端到端服务的层次是( )。 + + A. 数据链路层 + + B. 传输层 + + C. 会话层 + + D. 应用层 + +
+ 答案: + + B + +
+ + *** + +2. 下列选项中,不属于网络体系结构所描述的内容是( )。 + + A. 网络的层次 + + B. 每一层使用的协议 + + C. 协议的内部实现细节 + + D. 每一层必须完成的功能 + +
+ 答案: + + C + +
+ + *** + +3. 在不同网络节点的对等层之间的通信需要下列哪一项( )。 + + A. 模块接口 + + B. 对等层协议 + + C. 电信号 + + D. 传输介质 + +
+ 答案: + + B + +
+ + *** + +4. 在 OSI 参考模型的物理层负责下列哪一种功能( )。 + + A. 格式化报文 + + B. 为数据选择通过网络的路由 + + C. 定义连接到介质的特征 + + D. 提供远程文件访问能力 + +
+ 答案: + + C + +
+ + *** + +5. 在下列功能中,哪一个可能属于 OSI 模型的数据链路层( )。 + + A. 保证数据正确的顺序、无错和完整 + + B. 处理信号通过介质的传输 + + C. 提供用户与网络的接口 + + D. 控制报文通过网络的路由选择 + +
+ 答案: + + A + +
+ + *** + +6. 在 OSI 参考模型中,( )。 + + A. 相邻层之间的联系通过协议进行 + + B. 相邻层之间的联系通过会话进行 + + C. 对等层之间的联系通过协议进行 + + D. 对等层之间的联系通过接口进行 + +
+ 答案: + + C + +
+ + *** + +7. 网络协议的三要素是( )。 + + A. 数据格式、编码、信号电平 + + B. 数据格式、流量控制、拥塞控制 + + C. 语法、语义、交换规则 + + D. 编码、控制信息、同步 + +
+ 答案: + + C + +
+ + *** + +8. 通信子网为网络源结点与目的结点之间提供了多条传输路径的可能性,路由选择指的是( )。 + + A. 建立并选择一条物理链路 + + B. 建立并选择一条逻辑链路 + + C. 网络中间结点收到一个分组后,确定转发分组的路径 + + D. 选择通信介质 + +
+ 答案: + + C + +
+ + *** + +9. 在 OSI 参考模型中,会话层是建立在( )提供的服务之上,又向( )提供服务。 + + A. 物理层、网络层 + + B. 数据链路层、传输层 + + C. 传输层、表示层 + + D. 表示层、应用层 + +
+ 答案: + + C + +
+ + *** + +10. 在下列协议中,属于传输层的无连接协议的是( )。 + + A. HTTP + + B. FTP + + C. TCP + + D. UDP + +
+ 答案: + + D + +
+ + *** + +11. 下列不属于数据链路层的功能是( )。 + + A. 使用滑动窗口协议进行流量控制 + + B. 提供数据的透明传输机制 + + C. 为应用进程之间提供端到端的可靠通信 + + D. 将 IP 分组封装成帧 + +
+ 答案: + + C + +
+ + *** + +12. 在无噪声情况下,若某通信链路的带宽为 3 KHz,采用 4 个相位,每个相位具有 4 种振幅的 QAM 调制技术,则该通信链路的最大数据传输速率是( )。 + + A. 12 kbps + + B. 24 kbps + + C. 48 kbps + + D. 96 kbps + +
+ 答案: + + B + +
+ + *** + +13. 在下图中所示的采用“存储—转发”方式的分组交换网络中,所有链路的数据传输速率为 100 Mbps,分组大小为 1000 B,其中分组头大小为 20 B。若主机 H1 向主机 H2 发送一个大小为 980000 B 的文件,则在不考虑分组拆装时间和传播延迟的情况下,从 H1 发送到 H2 接收完为止,需要的时间至少是( )。(提示:在两个路由器处的分组延迟各为 0.08 ms) + + ![分组交换网络图](./images/2014-2015学年上学期月考_选择题_第13题_分组交换网络图.png) + + A. 80 ms + + B. 80.08 ms + + C. 80.16 ms + + D. 80.24 ms + +
+ 答案: + + C + +
+ + *** + +14. 两个网段在物理层进行互联时要求( )。 + + A. 数据传输率和数据链路层协议都不相同 + + B. 数据传输率和数据链路层协议都相同 + + C. 数据传输率相同,数据链路层协议可不相同 + + D. 数据传输率可不同,数据链路层协议相同 + +
+ 答案: + + C + +
+ + *** + +15. 用 PCM 对语音进行数字化,如果将声音分为 128 个量化级,采样频率为 8000 次/s,那么一路语音需要的数据传输率为( )。 + + A. 56 kbps + + B. 64 kbps + + C. 128 kbps + + D. 1024 kbps + +
+ 答案: + + A + +
+ + *** + +16. 采样下列哪种传输方式,由网络负责差错控制和流量控制,分组按顺序被提交( )。 + + A. 电路交换 + + B. 报文交换 + + C. 虚电路分组交换 + + D. 数据报分组交换 + +
+ 答案: + + C + +
+ + *** + +17. 在网络中,将语音与计算机产生的数字、文字、图形与图像同时传输,必须把语音信号数字化。利用什么技术可以将语音信号数字化( )。 + + A. 曼彻施特编码 + + B. QAM + + C. 差分曼彻施特编码 + + D. PCM + +
+ 答案: + + D + +
+ + *** + +18. 信道容量是带宽与信噪比的函数,以下哪一个术语用来描述这种关系( )。 + + A. Shannon 原理 + + B. 带宽 + + C. Nyquist 原理 + + D. 傅里叶原理 + +
+ 答案: + + A + +
+ + *** + +19. 下列关于单模光纤的描述正确的是( )。 + + A. 单模光纤的成本比多模光纤的成本低 + + B. 单模光纤的传输距离比多模光纤短 + + C. 光在单模光纤中通过内部反射来传播 + + D. 单模光纤的直径比多模光纤小 + +
+ 答案: + + D + +
+ + *** + +20. 在下列传输介质中,错误率最低的是( )。 + + A. 同轴电缆 + + B. 光缆 + + C. 微波 + + D. 双绞线 + +
+ 答案: + + B + +
+ + *** + +21. 在串行传输中,所有的数据字符的比特( )。 + + A. 在多根导线上同时传输 + + B. 在同一根导线上同时传输 + + C. 在传输介质上一次传输一位 + + D. 以一组 16 位的形式在传输介质上传输 + +
+ 答案: + + C + +
+ + *** + +22. 波特率等于( )。 + + A. 每秒传输的比特 + + B. 每秒钟可能发生的信号变化的次数 + + C. 每秒传输的周期数 + + D. 每秒传输的字节数 + +
+ 答案: + + B + +
+ + *** + +23. 半双工支持哪种类型的数据流( )。 + + A. 一个方向 + + B. 同时在两个方向上 + + C. 两个方向,但每一时刻仅可以在一个方向上有数据流 + + D. 以上都不是 + +
+ 答案: + + C + +
+ + *** + +24. 在选择性重传协议中,当帧的序号字段为 3 位,且接收窗口与发送窗口尺寸相同时,发送窗口的最大尺寸为( )。 + + A. 2 + + B. 4 + + C. 6 + + D. 8 + +
+ 答案: + + B + +
+ + *** + +25. 若 HDLC 帧的数据段中出现比特串 `010111110101`,为解决透明传输,则比特填充后的输出是( )。 + + A. `0100111110101` + + B. `010111110101` + + C. `0101111010101` + + D. `0101111100101` + +
+ 答案: + + D + +
+ +*** + +### 二、填空(15 分,每空 1 分) + +1. 串行数据通信的方向性结构有三种,即( )、( )和( )。 + +
+ 答案: + + 单工、半双工、全双工 + +
+ + *** + +2. 数字数据可以针对载波的不同要素或它们的组合进行调制,有三种基本的数字调制形式,即( )、( )和( )。 + +
+ 答案: + + 频率调制、振幅调制、相位调制 + +
+ + *** + +3. 模拟信号变换为数字信号的常用方法是脉冲编码调制(PCM),其主要步骤为( )、( )和( )。 + +
+ 答案: + + 取样、量化、编码 + +
+ + *** + +4. OSI 的网络层处于( )层提供的服务之上,为( )层提供服务。 + +
+ 答案: + + 数据链路;传输 + +
+ + *** + +5. TCP/IP 体系结构中的 TCP 和 IP 协议分别位于( )层和( )层。 + +
+ 答案: + + 传输;网络 + +
+ + *** + +6. ATM 网络中的传输单位称为信元,信元长度为( )字节。 + +
+ 答案: + + 53 + +
+ + *** + +7. 超五类非屏蔽双绞线由( )对导线组成。 + +
+ 答案: + + 4 + +
+ +*** + +### 三、综合题(35 分) + +1. 在基带网络中,请用 NRZ(不归零)编码和 NRZI(反向不归零)编码对二进制数据流 `10011101` 进行编码(画出波形图)。(5 分) + +
+ 答案: + + NRZ:1 高 0 低 + + NRZI:1 跳变 0 不变 + + ![NRZ 和 NRZI 编码图](./images/2014-2015学年上学期月考_综合题_第1题_NRZ_NRZI编码图.png) + +
+ + *** + +2. 使用海明码发送 16 位长的报文,需要多少位检测位可以保证接收方能够检测并纠正单个位错?说明对于报文 `1101001100110101`,发送的海明码。假定在海明码中使用偶校验。(5 分) + +
+ 答案: + + $m+r+1 \leq 2^r$($m$:信息位位数,$r$:检测位位数),题中 $m=16$,故 $r=5$。 + + 报文:`1101001100110101`,对应的海明码为:`0 11 1101 10011001 110101` + +
+ + *** + +3. 试根据发送滑动窗口变化过程,在下图所示各发送窗口下标出“发送帧序号”或“接收确认帧序号”说明。(参照第一窗口说明)(5 分) + + ![滑动窗口变化图](./images/2014-2015学年上学期月考_综合题_第3题_滑动窗口变化图.png) + +
+ 答案: + + 发送了 4 号数据帧;5 号数据帧 + + 接收了 3 号数据帧的确认 + + 发送了 6 号数据帧 + + 接收了 4 号数据帧的确认 + + 接收了 5 号数据帧的确认;接收了 6 号数据帧的确认 + +
+ + *** + +4. 某 CDMA 接收方收到一条如下芯片系列:`(-1 +1 -3 +1 -1 -3 +1 +1)`,假设芯片序列为:A:`00101110`,B:`01011100`,C:`00011011`,D:`01000010`,试分析哪些站点发送了数据?发送了何种数据。(8 分) + +
+ 答案: + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1) \cdot A)/8 = -1 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1) \cdot B)/8 = 0 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1) \cdot C)/8 = +1 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1) \cdot D)/8 = +1 + $$ + + 说明:收到的芯片系列 `(-1 +1 -3 +1 -1 -3 +1 +1)` 中,A、C、D 发送了数据,B 没有发送数据。A 发送了数据 0,C、D 发送了数据 1。 + +
+ + *** + +5. 在一个数据链路层协议中,使用如下字符编码:A `01000111`;B `11100011`;FLAG `01111110`;ESC `11100000`。在使用下列成帧方法的情况下,说明为传送 4 个字符 A、B、ESC、FLAG 所组织的帧实际发送的二进制序列。(6 分) + + (1)字符计数法 + + (2)字符填充法 + + (3)位填充法 + +
+ 答案: + + 字符计数法:5 A B ESC FLAG + + ```text + 00000101,01000111,11100011,11100000,01111110 + ``` + + 字符填充法:FLAG A B ESC ESC ESC FLAG FLAG + + ```text + 01111110,01000111,11100011,11100000,11100000,11100000,01111110,01111110 + ``` + + 位填充法:5 个 1 后加 1 个 0,头尾不加(1111110 可识别,1111111 错误) + + ```text + 01111110,01000111,110100011,111000000,011111010,01111110 + ``` + +
+ + *** + +6. 通信过程中,使用 CRC 进行错误检测,双方采用生成多项式是 `11001`。假设接收方收到一个带 CRC 的数据帧:`111001101111`,试判断其收到的数据帧是否正确?(要求给出检验过程)(6 分) + +
+ 答案: + + 在接收端,收到的海明码用与发送端相同的产生式进行除法运算,如果传输中无错误发生,则余数为 0;余数不为零,则说明有传输错误。如图所示,除法运算后余数为 `1001`,表明传输过程有错误,收到的数据帧是错误的。 + + ![CRC 除法图](./images/2014-2015学年上学期月考_综合题_第6题_CRC除法图.png) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..ab9466f --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,583 @@ +--- +title: 2014-2015学年上学期期末 +--- + +## 2014-2015学年上学期期末试卷(A)(含答案) + +### 一、Single choice(30 score) + +1. The sixth version of IP protocol has the following characteristics ( ). + + A. the length of the address is 128-bit + + B. no fragmentation + + C. using single-header + + D. using connection orientation + +
+ 答案: + + A + +
+ + *** + +2. When users send e-mail, protocol they use is ( ). + + A. FTP + + B. POP + + C. SMTP + + D. MAIL + +
+ 答案: + + C + +
+ + *** + +3. Which of the following protocols directly encapsulate their packets in IP packets for transmission? ( ) + + A. ICMP + + B. 802.11 + + C. SNMP + + D. SMTP + +
+ 答案: + + A + +
+ + *** + +4. Which of the following addresses are valid Ethernet physical addresses? ( ) + + A. `08-00-33-4Y-12-DE` + + B. `00-1C-C4-7A-41-76` + + C. `10.60.40.23` + + D. `192.168.10.44` + +
+ 答案: + + B + +
+ + *** + +5. Which of the following transmission control mechanisms can be used in wide area network? ( ) + + A. CSMA/CD + + B. token mechanism + + C. store-and-forward + + D. ALOHA + +
+ 答案: + + C + +
+ + *** + +6. Which of the following protocols are application layer protocols in TCP/IP network model? ( ) + + A. TCP + + B. HTTP + + C. ARP + + D. ICMP + +
+ 答案: + + B + +
+ + *** + +7. Which of the following addresses is valid class B IP addresses? ( ) + + A. `202.168.0.56` + + B. `10.60.43.5` + + C. `162.45.34.57` + + D. `132.306.5.0` + +
+ 答案: + + C + +
+ + *** + +8. The network setting for each host is pointing to a local DNS server. If the host wants to resolve domain name `www.xxx.com`, its local DNS server doesn’t have this domain name record. So, the server which returns the result of domain name resolution to the host is ( ). + + A. `xxx.com` domain name server + + B. the root server + + C. the local DNS server + + D. `com` domain name server + +
+ 答案: + + C + +
+ + *** + +9. Byte stuffing means adding a special byte to the data section of the frame when there is a character with the same pattern as the ( ). + + A. header + + B. trailer + + C. flag + + D. none of the above + +
+ 答案: + + C + +
+ + *** + +10. Which of the following addresses may be valid IP host addresses? ( ) + + A. `40.2.7.21` + + B. `112.255.255.0` + + C. `201.216.232.0` + + D. `193.44.46.255` + +
+ 答案: + + A + +
+ + *** + +11. Twisted pair Ethernet belongs to ( ). + + A. bus network + + B. ring network + + C. token ring network + + D. wireless network + +
+ 答案: + + A + +
+ + *** + +12. The ( ) of errors is more difficult than the ( ). + + A. correction; detection + + B. detection; correction + + C. creation; correction + + D. creation; detection + +
+ 答案: + + A + +
+ + *** + +13. Which of the following addresses may be valid IP address masks? ( ) + + A. `255.255.255.16` + + B. `255.0.0.64` + + C. `255.255.255.192` + + D. `255.255.255.15` + +
+ 答案: + + C + +
+ + *** + +14. The usage of shield for communication cable can ( ). + + A. to reduce the signal attenuation + + B. to reduce the interference of electromagnetic radiation + + C. to improve the tensile strength(抗拉强度)of the cable + + D. to reduce the impedance(阻抗)of the cable + +
+ 答案: + + B + +
+ + *** + +15. ( ) in the data link layer separates a message from one source to a destination, or from other messages going from other sources to other destinations. + + A. Digitizing + + B. Controlling + + C. Framing + + D. none of the above + +
+ 答案: + + C + +
+ +*** + +### 二、Calculation questions(10 score) + +1. (4 score)Television channels are 6 MHz wide. How many bits/sec can be sent if four-level digital signals are used? Assume a noiseless channel. + +
+ 答案: + + Nyquist Themory: + + $$ + \text{最大数据传输速率}=2H\log_2V + $$ + + (2 分) + + $$ + =2\times 6\times \log_2 4=24\text{ Mbps} + $$ + + (2 分) + +
+ + *** + +2. (6 score)Sixteen-bit messages are transmitted using a Hamming code. How many check bits are needed to ensure that the receiver can detect and correct single-bit errors? Show the bit pattern transmitted for the message `1011001100110101`. Assume that even parity is used in the Hamming code. + +
+ 答案: + + $m+r+1 \leq 2^r$($m$:信息位,$r$:检测位),题中 $m=16$,故 $r=5$,即需要 5 位检测位。(2 分) + + 报文 `1011001100110101` 对应的海明码为:(3 分) + + ```text + 101101110011001110101 + ``` + + ![海明码校验表](./images/2014-2015学年上学期期末_试卷A_计算题_第2题_海明码校验表.jpg) + +
+ +*** + +### 三、Short answer(40 score) + +1. (10 score)In transport layer, the most common used flow control technique is sliding window, both OSI network model and TCP/IP network model use this technique, please answer the following question: + + (1)Please briefly describe the mechanism of sliding window, the process mechanism of the sending side and the receiving side considering the scene of large quantity packages, package lost and disorder packages. + + (2)Please give an example to illustrate the mechanism of sliding window. + +
+ 答案: + + (1)滑动窗口机制(6 分) + + 设定窗口大小为 $W$,需要发送多个数据段。 + + 发送端: + + 1)每当从会话层新收到一个包,将其发出,其顺序号就代表了当前最高值的顺序号,发送窗口减小,并启动记时时钟; + + 2)如果窗口达到最大尺寸,就必须停止发送。否则,转向 1),继续发送; + + 3)如果时钟结束前,没有收到确认包,说明包已经丢失,重新发送该包; + + 4)如果时钟结束前,收到了确认包,说明包已收到,窗口扩大;可以继续发送,转向 2)。 + + 接收端也维持一组顺序号,对应预料将要收到的帧的序号,防止乱序; + + 1)接收一个包。 + + 2)如果收到包的帧序号小于预料的顺序号,说明是个重复包,丢弃该包; + + 3)如果接收包的顺序号大于预料的顺序号,说明是乱序包,就加入到等候列表中; + + 4)如果收到包的帧序号恰好等于预料的顺序号,说明是需要接收的包,就将包内容提取并提交给应用层,生成并返回确认包,预料的顺序号增加; + + 5)检查等候列表中数据包,转向 4)。 + + (2)滑动窗口机制,试举一例(4 分) + + ![滑动窗口示意图](./images/2014-2015学年上学期期末_试卷A_简答题_第1题_滑动窗口示意图.png) + +
+ + *** + +2. (10 score)Modern computer networks generally use dynamic routing algorithms. Two dynamic algorithms in particular, distance vector routing and link state routing, are the most popular. Please answer the following question: + + (1)What is the difference between distance vector routing and link state routing? + + (2)Explain what the count-to-infinity problem is with distance vector routing. + +
+ 答案: + + (1)运行距离矢量路由协议的路由器只与其直连邻居路由器共享它知道的所有路由信息。距离是根据度量值来计算的,方向是根据下一跳路由来定义的。路由更新采用定期向所有直连邻居路由器发送全部路由表项实现。当一条链路发生故障时,意味着需通告多条涉及到的路由条目。容易产生无穷计算问题,必须采用防环机制,所以网络规模越大,其收敛速度也就越慢。(3 分) + + 运行链路状态路由协议的路由器,将它所直连的链路状态与一个域内或一个区域内的所有路由器共享,路由更新采用触发式更新。每台路由器的路由信息都是自己根据收到的其他路由器链路状态信息形成网络拓扑表,通过最短路径优先算法最终形成路由表。一条重要链路的变化,不必再发送所有被波及的路由条目,只需发送一条链路通告,告知其它路由器本链路发生故障即可。其它路由器会根据链路状态,改变自已的网络拓扑表,重新计算路由条目。加快了路由器的收敛速度。(3 分) + + (2)距离矢量路由协议直接传送各自的路由表信息。网络中的路由器从自己的直连邻居路由器得到路由信息,并将这些路由信息连同自己的本地路由信息发送给其他直连邻居,这样一级级的传递下去以达到全网同步。每个路由器都不了解整个网络拓扑,它们只知道与自己直接相连的网络情况,并根据从邻居得到的路由信息更新自己的路由。距离矢量路由协议收敛速度慢,当某个路由器从整个子网中脱离时,其他路由器到该路由器的路由信息计算时,会因为回路、收敛速度等因素产生无穷计算问题。(4 分) + +
+ + *** + +3. (10 score)The MAC sublayer is especially important in LANs, many of which use a multiaccess channel as the basis for communication. Please answer the following question: + + (1)How can a station detect a collision? + + (2)Ethernet is a popular CSMA/CD protocol. Explain how it works. + +
+ 答案: + + (1)当站点在发送数据时,也将该站设置成连续接收模式。通过比较其发送的数据与接收的数据是否相同来检测冲突。如果发送数据和接收数据不同,则表明其他站点也同时在发送数据,线路出现冲突。(5 分) + + (2) + + 1)站点发送数据之前,先侦测线路是否为空闲。若线路空闲,传输;否则,转 2)。 + + 2)若线路忙,一直监听直到信道空闲然后立即传输。 + + 3)若在传输中监听到冲突,发出一个短小的人为干扰信号让所有的站点都知道发生了冲突并停止传输。 + + 4)发完人为干扰信号,根据二进制指数后退算法等待一段随机的时间,再次试图传输。(从第 1 步开始重复)(5 分) + +
+ + *** + +4. (10 score)Explain the principle working of a virtual LAN (VLAN), assuming that only switches are used to connect hosts. + +
+ 答案: + + VLAN 是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了 VLAN 头,用 VLAN ID 把用户划分为更小的工作组,限制不同工作组间的用户二层互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。(2 分) + + VLAN 是基于 802.1Q 协议的 VLAN ID 来划分不同的 VLAN,当数据帧通过交换机的时候,交换机根据帧中 TAG 头的 VID 信息来识别它们所在的 VLAN,如果数据帧中无 TAG 头,则使用数据帧所通过交换机端口的缺省 VID 信息来识别它们所在的 VLAN,这使得所有属于该 VLAN 的数据帧,不管是单址帧、多址帧还是广播帧,都将限制在该逻辑 VLAN 中传播。这将使组中主机之间能够相互彼此通信,而不受其它主机的影响,就像它们存在于单独的物理网段当中一样。(8 分) + +
+ +*** + +### 四、Comprehensive title(20 score) + +There are three Ethernet LANs which are connected by three routers in the enterprise internal network. As shown below: + +![网络拓扑图](./images/2014-2015学年上学期期末_试卷A_综合题_网络拓扑图.png) + +Please structure the routing table for each above router in order that the network `192.168.1.0/24` and `192.168.3.0/24` could visit the network `192.168.2.0/24`, but they could not visit each other. Please answer the following questions: + +1. The structure of router A + + (1)Configure IP address and mask address + + `F01 = ( )` + + `S01 = ( )` + + (2)Configure route table + +2. The structure of router B + + (1)Configure IP address and mask address + + `F01 = ( )` + + `S00 = ( )` + + `S01 = ( )` + + (2)Configure route table + +3. The structure of router C + + (1)Configure IP address and mask address + + `F01 = ( )` + + `S01 = ( )` + + (2)Configure route table + +4. Now assume that there is a host which IP address is `192.168.1.12` in the network which IP address is `192.168.1.0/24`. This host type the command `ping 192.168.2.100` and receive a successful response. Please describe the frames and IP packages which are generated in this process and describe the changes of their heads in this process. + +
+答案: + +1. Router A(2 分) + + `F01 = 192.168.1.1 255.255.255.0`(0.5 分) + + `S01 = 202.1.1.1 255.255.255.0`(0.5 分) + + Route table(1 分): + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | `192.168.2.0` | `255.255.255.0` | `202.1.1.2` | + | `192.168.1.0` | `255.255.255.0` | Direct | + | `202.1.1.0` | `255.255.255.0` | Direct | + + *** + +2. Router B(3 分) + + `F01 = 192.168.2.1 255.255.255.0`(0.5 分) + + `S00 = 202.1.1.2 255.255.255.0`(0.5 分) + + `S01 = 202.1.2.2 255.255.255.0`(0.5 分) + + Route table(1.5 分): + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | `192.168.1.0` | `255.255.255.0` | `202.1.1.1` | + | `192.168.3.0` | `255.255.255.0` | `202.1.2.1` | + | `192.168.2.0` | `255.255.255.0` | Direct | + | `202.1.1.0` | `255.255.255.0` | Direct | + | `202.1.2.0` | `255.255.255.0` | Direct | + + *** + +3. Router C(2 分) + + `F01 = 192.168.3.1 255.255.255.0`(0.5 分) + + `S01 = 202.1.2.1 255.255.255.0`(0.5 分) + + Route table(1 分): + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | `192.168.2.0` | `255.255.255.0` | `202.1.2.2` | + | `192.168.3.0` | `255.255.255.0` | Direct | + | `202.1.2.0` | `255.255.255.0` | Direct | + + *** + +4. 报文头变化 + + :::info + 题目中主机执行的是 `ping 192.168.2.100`,因此按通信过程,请求报文的 IP 层目的地址通常应为 `192.168.2.100`,返回报文的 IP 层源地址通常应为 `192.168.2.100`。但参考答案在 IP Datagram Header 部分写为 `DST IP Address=192.168.2.1` 与 `SRC IP Address=192.168.2.1`,这里更像是将目的主机地址写成了 Router B 在 `192.168.2.0/24` 网段上的接口地址。后续 Frame Header 部分仍然围绕 `192.168.2.100` 展开,考查点仍是 IP 地址在端到端传输中保持不变、链路层 MAC 地址逐跳变化。 + ::: + + IP Datagram Header(3 分): + + `SRC IP Address = 192.168.1.12, DST IP Address = 192.168.2.1`,在各链路中保持不变。 + + `SRC IP Address = 192.168.2.1, DST IP Address = 192.168.1.12`,在各链路中保持不变。 + + Frame Header: + + `192.168.1.12 -> 192.168.1.1`(2 分): + + | Data Link | SRC Physical Address | DST Physical Address | + | --- | --- | --- | + | `(arp-request) 192.168.1.12 -> Broadcast` | MAC Address for `192.168.1.12` | `FF:FF:FF:FF:FF:FF` | + | `(arp-response) 192.168.1.1 -> 192.168.1.12` | MAC Address for `192.168.1.1` | MAC Address for `192.168.1.12` | + | `(ip) 192.168.1.12 -> 192.168.1.1` | MAC Address for `192.168.1.12` | MAC Address for `192.168.1.1` | + + `RouterA -> RouterB`(2 分): + + | Data Link | SRC Physical Address | DST Physical Address | + | --- | --- | --- | + | `(arp-request) 202.1.1.1 -> Broadcast` | MAC Address for `202.1.1.2` | `FF:FF:FF:FF:FF:FF` | + | `(arp-response) 202.1.1.2 -> 202.1.1.1` | MAC Address for `202.1.1.2` | MAC Address for `202.1.1.1` | + | `(ip) RouterA -> RouterB` | MAC Address for `202.1.1.1` | MAC Address for `202.1.1.2` | + + `RouterB -> 192.168.2.100`(3 分): + + | Data Link | SRC Physical Address | DST Physical Address | + | --- | --- | --- | + | `(arp-request) 192.168.2.1 -> Broadcast` | MAC Address for `192.168.2.100` | `FF:FF:FF:FF:FF:FF` | + | `(arp-response) 192.168.2.100 -> 192.168.2.1` | MAC Address for `192.168.2.100` | MAC Address for `192.168.2.1` | + | `(ip) 192.168.2.1 -> 192.168.2.100` | MAC Address for `192.168.2.1` | MAC Address for `192.168.2.100` | + + 返回(3 分): + + | Data Link | SRC Physical Address | DST Physical Address | + | --- | --- | --- | + | `(ip) 192.168.2.100 -> 192.168.2.1` | MAC Address for `192.168.2.100` | MAC Address for `192.168.2.1` | + | `(ip) RouterB -> RouterA` | MAC Address for `202.1.1.2` | MAC Address for `202.1.1.1` | + | `(ip) RouterA -> 192.168.1.12` | MAC Address for `192.168.1.1` | MAC Address for `192.168.1.12` | + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..18d366d --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,524 @@ +--- +title: 2015-2016学年下学期期中 +--- + +## 2015-2016学年下学期期中试卷(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. OSI 模型中的第二、第三、第四、第六层分别是( )。 + + A. 物理层、网络层、会话层、传输层 + + B. 数据链路层、网络层、传输层、会话层 + + C. 物理层、数据链路层、传输层、应用层 + + D. 数据链路层、网络层、传输层、表示层 + +
+ 答案: + + D + +
+ + *** + +2. 在下列传输介质中,哪种介质的典型传输速率最高?( ) + + A. 双绞线 + + B. 光缆 + + C. 同轴电缆 + + D. 无线介质 + +
+ 答案: + + B + +
+ + *** + +3. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络的上传输速度。 + + B. 增加区域网络的数据复制速度。 + + C. 连接各电脑线路间的媒介。 + + D. 以上皆是。 + +
+ 答案: + + C + +
+ + *** + +4. 下列哪种说法正确( )。 + + A. 虚电路与电路交换中的电路没有实质不同 + + B. 在通信的两站点间只能建立一条虚电路 + + C. 虚电路也有连接建立、数据传输、连接释放三阶段 + + D. 虚电路的各个结点需要为每个分组单独进行路径选择判定 + +
+ 答案: + + C + +
+ + *** + +5. 若数据链路的发送窗口尺寸 `WT = 15`,在发送 7 号帧、并接到 5 号帧的确认帧后,发送方还可连续发送( )。 + + A. 4 帧 + + B. 5 帧 + + C. 10 帧 + + D. 13 帧 + +
+ 答案: + + D + +
+ + *** + +6. 以下哪个解决信道竞争的方法在竞争期中有可能发生冲突?( ) + + A. 位图协议 + + B. 二进制倒计数 + + C. 自适应树遍历协议 + + D. 令牌传递 + +
+ 答案: + + C + +
+ + *** + +7. 以下各项中,不是数据报操作特点的是( ) + + A. 使所有分组按顺序到达目的端系统 + + B. 在整个传送过程中,不需建立虚电路 + + C. 每个分组自身携带有足够的信息,它的传送是被单独处理的 + + D. 网络节点要为每个分组做出路由选择 + +
+ 答案: + + A + +
+ + *** + +8. `N` 个站共享一个 200 kbps 的纯 ALOHA 信道。每个站平均每 10 秒输出一个 10000 位长的帧(即使前面的帧还没有被发送出去),`N` 最大可以为( )。 + + A. 16 + + B. 36 + + C. 64 + + D. 128 + +
+ 答案: + + B + +
+ + *** + +9. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 8 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 4 位 + + B. 8 位 + + C. 16 位 + + D. 32 位 + +
+ 答案: + + A + +
+ + *** + +10. 比特流 `00110101` 的曼彻斯特编码输出(用 H 表示高电平,L 表示低电平)为( )。 + + A. HHLLHLLHHL + + B. LHLHHLHLLHHLLHHL + + C. HLHLLHLHHLLHHLLH + + D. LLHHLHLH + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(本大题共 10 小题,每题 2 分,共 20 分) + +1. 物理层上所传数据的单位是( ),数据链路层上所传送的数据单元是( )。 + +
+ 答案: + + 比特;帧 / 数据帧 + +
+ + *** + +2. OSI 参考模型的三个主要概念是接口、( )和( )。 + +
+ 答案: + + 服务;协议 + +
+ + *** + +3. 采用海明码校验方法纠正单比特错误,若信息位为 6 位,则冗余位至少为( )位。 + +
+ 答案: + + 4 + +
+ + *** + +4. 对于基带 CSMA/CD 而言,为了确保发送站点在传输时能检测到可能存在的冲突,数据帧的传输时延至少要等于信号传播时延的( )倍。 + +
+ 答案: + + 2 + +
+ + *** + +5. 采用位填充法进行成帧,成帧标识为 `01111110`。如果需要传送的比特串为 `01111110111110`,则经位填充后,此比特串变为( )(不包括起始和结束标志)。 + +
+ 答案: + + `0111110101111100` + +
+ + *** + +6. 10BASE-T 电缆中的“BASE”表示电缆上的信号是( )。 + +
+ 答案: + + 基带信号 + +
+ + *** + +7. 802.11 协议栈中,802.11a 使用( )Hz 频段,而 802.11b 使用( )Hz 频段。 + +
+ 答案: + + 5G;2.4G + +
+ + *** + +8. 多个网桥间容易形成拓扑环路,可以采用( )算法来构造树以防止无限循环。 + +
+ 答案: + + 生成树 + +
+ + *** + +9. 传统以太网采用( )协议进行多路访问控制。 + +
+ 答案: + + CSMA/CD + +
+ + *** + +10. 接收方收到了一个 12 位的海明码,其 16 进制为 `0xE4F`,假设至多只有 1 位发生了错误。则原来的值用 16 进制表示是( )?(位数从左到右分别是第 1 位,第 2 位,...)。 + +
+ 答案: + + `0xA4F` + +
+ +*** + +### 三、名词解释(本大题共 5 小题,每小题 4 分,共 20 分) + +1. 单工通信、半双工通信和全双工通信 + +
+ 答案: + + 按照通信双方之间的信息交互方式,可以将通信大致归类为三种方式: + + 单工通信:即只有一个方向的通信而没有反方向的交互。 + + 半双工通信:即通信和双方都可以发送信息,但不能双方同时发送(当然也不能同时接收)。这种通信方式是一方发送另一方接收,过一段时间再反过来。 + + 全双工通信:即通信的双方可以同时发送和接收信息。 + +
+ + *** + +2. 隐藏终端问题 + +
+ 答案: + + 在无线局域网中,由于无线电的覆盖范围有限,导致一个无线站 B 的两个邻居 A 和 C 虽然彼此不在对方的范围内,但可能潜在地干扰彼此和共同邻居之间的通信,从而互相构成隐藏终端问题。在下图中,如果 A 开始发送,然后 C 立即进行侦听介质,它将不会听到 A 的传输,因为 A 在它的覆盖范围之外。因此 C 错误地得出结论:它可以向 B 传送数据。如果 C 传送数据,将在 B 处产生冲突,从而扰乱 A 发来的帧。 + + ![隐藏终端问题示意图](./images/2015-2016学年下学期期中_名词解释_第2题_隐藏终端图.jpg) + +
+ + *** + +3. FDM、TDM + +
+ 答案: + + FDM 和 TDM 是最常用的两种多路复用技术。其中,FDM 是指频分多路复用技术,它将频谱分为频段,每个用户可以单独拥有某个频段,因此同一时间内可以同时传送多路信号;TDM 是时分多路复用技术,它将一条物理信道按时间分成若干个时间片,用户轮流获得整个带宽,每次仅使用一小段时间。 + +
+ + *** + +4. 非持续的 CSMA + +
+ 答案: + + 非持续的 CSMA 是一个载波检测协议,CSMA 指载波检测多路访问。在这个协议中,每个基站在企图传送数据前要检测信道: + + (1)如果介质是空闲的,则可以发送。 + + (2)如果介质是忙的,则等待一段随机的时间,重复第一步。 + + 这种方法的优点是只要介质空闲就能立即发送,具有比较好的信道利用率;缺点是相比 1-持续 CSMA 的延迟更长。 + +
+ + *** + +5. 滑动窗口协议中的发送窗口和接收窗口 + +
+ 答案: + + 发送窗口用来对发送端进行流量控制,而发送窗口的大小代表在还没有收到对方确认的条件下发送端最多可以发送多少个数据帧。接收窗口是为了控制哪些数据帧可以接收而哪些帧不可以接收。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 + +
+ +*** + +### 四、简答题(本大题共 4 小题,共 20 分) + +1. (5 分)试问使用层次协议的两个理由是什么?使用层次协议的一个可能缺点是什么? + +
+ 答案: + + 优点是: + + 1. 模式分解,小模块,易实现易管理。 + + 2. 层次架构,层封装,易更换易拼接。 + + 可能缺点: + + 不同层次间设计与实现的割裂,相比整体化方案可能存在异构对接问题。 + +
+ + *** + +2. (5 分)试计算一个包括 5 段链路的运输连接的单程端到端时延。5 段链路程中有 2 段是卫星链路,有 3 段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成。可以取这两部分的传播时延之和为 250 ms。每一个广域网的范围为 1500 km,其传播时延可按 150000 km/s 来计算。各数据链路速率为 48 kb/s,帧长为 960 位。 + +
+ 答案: + + 5 段链路的传播时延: + + $$ + 250 \times 2 + \frac{1500}{150000} \times 3 \times 1000 = 530 \text{ ms} + $$ + + 5 段链路的发送时延: + + $$ + \frac{960}{48 \times 1000} \times 5 \times 1000 = 100 \text{ ms} + $$ + + 所以 5 段链路单程端到端时延: + + $$ + 530 + 100 = 630 \text{ ms} + $$ + +
+ + *** + +3. (5 分)设两站间信道速率为 15 kb/s,采用停止等待协议,传播时延 `t_p = 30 ms`,确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 40%。 + +
+ 答案: + + 在确认帧长度和处理时间均可忽略的情况下,要使信道利用率达到至少 40%,必须使数据帧的发送时间等于 $4/3$ 倍的单程传播时延。 + + 已知: + + $$ + t_f = \frac{l_f}{C} + $$ + + 其中 $C$ 为信道容量,或信道速率,$l_f$ 为帧长(以比特为单位)。 + + 所以得帧长: + + $$ + l_f = C t_f = 15000 \times 0.04 = 600 \text{ bits} + $$ + +
+ + *** + +4. (5 分)请解释为何选择重传协议中要设置以下语句? + + ```c + #define NR_BUFS ((MAX_SEQ + 1)/2) + ``` + +
+ 答案: + + 该协议将窗口的最大尺寸设置为不超过序号空间的一半。 + + 这么做是为了确保接收方向前移动窗口之后,新窗口与老窗口的序号没有重叠。 + + 如果不这么设置,当接收方向前移动它的窗口后,新的有效序号范围与老的序号范围有重叠。因此,后续的一批帧可能是重复的帧(如果所有的确认都丢失了),也可能是新的帧(如果所有的确认都接收到了),而接收方根本无法区分这两种情形,将会导致往网络层传递不正确的数据包。 + +
+ +*** + +### 五、应用题(本大题共 2 小题,共 20 分) + +1. (10 分)要发送的数据为 `1101011011`。采用 CRC 的生成多项式是 $P(x)=x^4+x+1$。试求应添加在数据后面的余数。数据在传输过程中最后一个 1 变成了 0,问接收端能否发现?若数据在传输过程中最后两个 1 都变成了 0,问接收端能否发现? + +
+ 答案: + + 添加的检验序列为 `1110`(`11010110110000` 除以 `10011`)。 + + 数据在传输过程中最后一个 1 变成了 0,`11010110101110` 除以 `10011`,余数为 `011`,不为 0,接收端可以发现差错。 + + 数据在传输过程中最后两个 1 都变成了 0,`11010110001110` 除以 `10011`,余数为 `101`,不为 0,接收端可以发现差错。 + +
+ + *** + +2. (10 分)一大群 ALOHA 用户每秒钟产生 30 个请求,包括原始的请求和重传的请求。时间槽单位为 100 毫秒。 + + (a)试问:首次发送成功的机会是多少? + + (b)试问:恰好 $k$ 次冲突之后成功的概率是多少? + + (c)试问:所需传输次数的期望值是多少? + +
+ 答案: + + 每个时槽为 100 msec,推知每秒有 10 个时槽,每秒有 30 个发送请求,每个时槽内的帧请求期望值为 $G=3$。 + + (a)在一个“帧时”内生成 $k$ 帧的概率服从泊松分布: + + 对于分槽 ALOHA,首次发送时别人不发送的概率是 + + $$ + \Pr[0]=e^{-3}=0.05 + $$ + + (b)由于 $\Pr[0]=e^{-3}$,所以有冲突的概率是 $1-e^{-3}$,故刚好发生 $k$ 次冲突然后一次成功的概率是 + + $$ + (1-e^{-3})^k e^{-3}=0.95^k \times 0.05 + $$ + + (c)设(b)情况的概率为 $p(k+1)$,则每帧所需传送次数 $k$ 的期望值为 + + $$ + E(k)=\sum_{k=1}^{\infty} kp(k)=\sum_{k=1}^{\infty} k(1-e^{-3})^{k-1}e^{-3}=e^3=20 + $$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..45167c5 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,526 @@ +--- +title: 2016-2017学年上学期月考 +--- + +## 2016-2017学年上学期月考试卷(含答案) + +### 一、选择题(每空 2 分,共 40 分) + +1. E 载波是 ITU-T 建议的传输标准,贝尔系统 T3 信道的数据速率大约是 (1)  Mb/s。 + + A. 1.5 + + B. 6.3 + + C. 44 + + D. 274 + +
+ 答案: + + (1)C + +
+ + *** + +2. 曼彻斯特编码的特点是 (2) ,它的编码效率是 (3) 。 + + (2) + + A. 在“0”比特的前沿有电平翻转,在“1”比特的前沿没有电平翻转 + + B. 在“1”比特的前沿有电平翻转,在“0”比特的前沿没有电平翻转 + + C. 在每个比特的前沿有电平翻转 + + D. 在每个比特的中间有电平翻转 + + (3) + + A. 50% + + B. 60% + + C. 80% + + D. 100% + +
+ 答案: + + (2)D + + (3)A + +
+ + *** + +3. 设信道带宽为 3400 Hz,采用 PCM 编码,采样周期为 125 μs,每个样本量化为 128 个等级,则信道的数据率为 (4) 。 + + A. 10 Kb/s + + B. 16 Kb/s + + C. 56 Kb/s + + D. 64 Kb/s + +
+ 答案: + + (4)C + +
+ + *** + +4. E1 载波的基本帧由 32 个子信道组成。其中 30 个子信道用于传送语音数据,2 个子信道用于传送控制信令。该基本帧的传送时间为 (5) 。 + + A. 100 ms + + B. 200 μs + + C. 125 μs + + D. 150 μs + +
+ 答案: + + (5)C + +
+ + *** + +5. 4B/5B 编码是一种两级编码方案,首先要把数据变成 (6)  编码,再把 4 位分为一组的代码变换成 5 单位的代码,这种编码的效率是 (7) 。 + + (6) + + A. NRZ-I + + B. AMI + + C. QAM + + D. PCM + + (7) + + A. 0.4 + + B. 0.5 + + C. 0.8 + + D. 1.0 + +
+ 答案: + + (6)A + + (7)C + +
+ + *** + +6. 下图所示的调制方式中,若载波频率为 2400 Hz,则码元速率为 (8) 。 + + ![第6题调制方式图](./images/2016-2017学年上学期月考_选择题_第6题_调制方式图.png) + + (8) + + A. 100 Baud + + B. 200 Baud + + C. 1200 Baud + + D. 2400 Baud + +
+ 答案: + + (8)C + +
+ + *** + +7. 光纤分为单模光纤和多模光纤,这两种光纤的区别是 (9) 。 + + A. 单模光纤的数据速率比多模光纤低 + + B. 多模光纤比单模光纤传输距离更远 + + C. 单模光纤比多模光纤的价格更便宜 + + D. 多模光纤比单模光纤的纤芯直径粗 + +
+ 答案: + + (9)D + +
+ + *** + +8. 假设模拟信号的最高频率为 6 MHz,采样频率必须大于 (10)  时,才能使得到的样本信号不失真。 + + A. 6 MHz + + B. 12 MHz + + C. 18 MHz + + D. 20 MHz + +
+ 答案: + + (10)B + +
+ + *** + +9. 在异步通信中,每个字符包含 1 位起始位、7 位数据位、1 位奇偶位和 2 位终止位,每秒钟传送 100 个字符,则有效数据速率为 (11) 。 + + A. 500 b/s + + B. 700 b/s + + C. 770 b/s + + D. 1100 b/s + +
+ 答案: + + (11)B + +
+ + *** + +10. 10BASE-T 以太网使用曼彻斯特编码,其编码效率为 (12) %。 + + A. 30 + + B. 50 + + C. 80 + + D. 90 + +
+ 答案: + + (12)B + +
+ + *** + +11. T1 信道的速率是 (13) ,其中每个话音信道的数据速率是 (14) 。 + + (13) + + A. 1.544 Mb/s + + B. 2.048 Mb/s + + C. 6.312 Mb/s + + D. 44.736 Mb/s + + (14) + + A. 56 Kb/s + + B. 64 Kb/s + + C. 128 Kb/s + + D. 2048 Kb/s + +
+ 答案: + + (13)A + + (14)A + +
+ + *** + +12. 下列对 ADSL 网络的描述哪些是错误的? (15) 。 + + A. 采用普通电话线作为传输介质 + + B. 当语音通话时,不能使用网络通信 + + C. 上行线和下行线通信带宽不同 + + D. ADSL 是一种异步传输模式 + +
+ 答案: + + (15)B + +
+ + *** + +13. 若网络形状是由站点和连接站点的链路组成的一个闭合环,则称这种拓扑结构为 (16) 。 + + A. 星形拓扑 + + B. 总线拓扑 + + C. 环形拓扑 + + D. 树形拓扑 + +
+ 答案: + + (16)C + +
+ + *** + +14. 采用全双工通信方式,数据传输的方向性结构为 (17) 。 + + A. 可以在两个方向上同时传输 + + B. 只能在一个方向上传输 + + C. 可以在两个方向上传输,但不能同时进行 + + D. 以上均不对 + +
+ 答案: + + (17)A + +
+ + *** + +15. Internet 的网络层含有四个重要的协议,分别为 (18) 。 + + A. IP,ICMP,ARP,UDP + + B. TCP,ICMP,UDP,ARP + + C. IP,ICMP,ARP,RARP + + D. UDP,IP,ICMP,RARP + +
+ 答案: + + (18)C + +
+ + *** + +16. 一座大楼内的一个计算机网络系统,属于 (19) 。 + + A. PAN + + B. LAN + + C. MAN + + D. WAN + +
+ 答案: + + (19)B + +
+ + *** + +17. 网络协议的三要素是 (20) 。 + + A. 数据格式、编码、信号电平 + + B. 数据格式、流量控制、拥塞控制 + + C. 语法、语义、交换规则 + + D. 编码、控制信息、同步 + +
+ 答案: + + (20)C + +
+ +*** + +### 二、填空(15 分,每空 1 分) + +1. 串行数据通信的方向性结构有三种,即          。 + +
+ 答案: + + 单工、半双工、全双工 + +
+ + *** + +2. 数字数据可以针对载波的不同要素或它们的组合进行调制,有三种基本的数字调制形式,即          。 + +
+ 答案: + + 频率调制、振幅调制、相位调制 + +
+ + *** + +3. 模拟信号变换为数字信号的常用方法是脉冲编码调制(PCM),其主要步骤为          。 + +
+ 答案: + + 取样、量化、编码 + +
+ + *** + +4. OSI 的网络层处于     层提供的服务之上,为     层提供服务。 + +
+ 答案: + + 数据链路;传输 + +
+ + *** + +5. TCP/IP 体系结构中的 TCP 和 IP 协议分别位于     层和     层。 + +
+ 答案: + + 传输;网络 + +
+ + *** + +6. ATM 网络中的传输单位称为信元,信元长度为     字节。 + +
+ 答案: + + 53 + +
+ + *** + +7. 超五类非屏蔽双绞线由     对导线组成。 + +
+ 答案: + + 4 + +
+ +*** + +### 三、计算、综合题(15 分) + +1. 在基带网络中,请用 NRZ(不归零)编码和 NRZI(反向不归零)编码对二进制数据流 `10011101` 进行编码(画出波形图)。(5 分) + +
+ 答案: + + ![第1题NRZ和NRZI编码图](./images/2016-2017学年上学期月考_计算综合题_第1题_NRZ_NRZI编码图.png) + +
+ + *** + +2. 某 CDMA 接收方收到一条如下芯片系列:`(-1 +1 -3 +1 -1 -3 +1 +1)`,假设芯片序列为:A:`00101110`,B:`01011100`,C:`00011011`,D:`01000010`,试分析哪些站点发送了数据?发送了何种数据。(6 分) + +
+ 答案: + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1)\cdot A)/8=-1 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1)\cdot B)/8=0 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1)\cdot C)/8=+1 + $$ + + $$ + ((-1,+1,-3,+1,-1,-3,+1,+1)\cdot D)/8=+1 + $$ + + 收到的芯片系列 `(-1 +1 -3 +1 -1 -3 +1 +1)` 中,A、C、D 发送了数据,B 没有发送数据。A 发送了数据 0,C、D 发送了数据 1。 + +
+ + *** + +3. 设信道带宽为 4 KHz,信噪比为 20 db,若传输二进制信号,则可达到的最大数据速率是多少?(4 分) + +
+ 答案: + + $$ + 10\times\log_{10}(S/N)=20 + $$ + + 故: + + $$ + S/N=100 + $$ + + Shannon: + + $$ + H\times\log_2(1+S/N)=4\times\log_2 101=26.64\text{ kbps} + $$ + + Nyquist: + + $$ + 2\times H\log_2V=8\text{ kbps} + $$ + + 故:信道的最大数据传输率为 $8\text{ kbps}$。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..82d0f68 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,326 @@ +--- +title: 2016-2017学年上学期期末 +--- + +## 2016-2017学年上学期期末试卷(A)(含答案) + +### 一、Briefly explain the following jargons(3 points each,30 points in all) + +1. Slotted ALOHA + +
+ 答案: + + 时隙 ALOHA 协议,划分时隙,仅开始时刻可以发送,每个时隙结束时检测冲突,以随机方法在下一个时隙重传。 + +
+ + *** + +2. Link-state Routing Algorithm + +
+ 答案: + + 以 FLOODING(泛洪)方法传播链路状态,结点收集整个子网的链路状态,利用 Dijkstra 算法计算从自己出发到达其余各节点的最短路由,无慢收敛问题。 + +
+ + *** + +3. Manchester coding + +
+ 答案: + + 标准以太网物理层使用的信号编码方法,具有自同步特点,每个比特窗口的电平变化作为同步时钟信号,常见的编码为 L->H 表示“0”,H->L 表示“1”。 + +
+ + *** + +4. Flow Control + +
+ 答案: + + 防止发送方速度超过接收方处理能力。 + +
+ + *** + +5. Three-way Handshaking + +
+ 答案: + + 这是 TCP 建立连接的过程,分三个步骤:SYN->SYN/ACK->ACK,目的是防止建立错误的连接。 + +
+ + *** + +6. Pseudo Header (of TCP) + +
+ 答案: + + 伪头(或叫伪首部)包括源 IP、目的 IP、协议号和报文长度,仅用于计算 TCP 报文的校验和。作用是用于唯一确定一条连接。 + +
+ + *** + +7. Packet Switching + +
+ 答案: + + 分组交换技术,典型的例子是因特网。以存储-转发为基础,分数据报和虚电路两种操作方式。 + +
+ + *** + +8. OSI Reference Model + +
+ 答案: + + OSI RM 是 ISO 制定的计算机网络国际标准,7 层模型:应用、表示、会话、传输、网络、数据链路、物理层。 + +
+ + *** + +9. CIDR (Classless InterDomain Routing) + +
+ 答案: + + 解决路由器表项过大问题,将连续几块小地址合并为一个大地址项,与地址类别无关,可提高地址利用率。 + +
+ + *** + +10. Go-back-n Protocol + +
+ 答案: + + 是连续 ARQ 方法,可以在未收到接收方对先前发送的报文确认时连续发送多个报文,但必须严格按顺序接收。 + +
+ +*** + +### 二、Briefly answer the following questions(5 points each,30 points in all) + +1. Generally, hosts behind a NAT gateway will not be seen directly from Internet. Why? If you need to use one of these hosts to provide network services for the outside world, what measures should you take to configure the NAT gateway? + +
+ 答案: + + (1)位于 NAT 之后的内网主机使用的是专用的内部网 IP 地址,使用这种地址的 IP 分组在因特网中是不能被路由的,而且使用同一个地址的主机可能很多,因此从外部是无法直接访问这些主机的。(3 分) + + (2)在 NAT 网关上以人工方式设置一条静态映射表项即可实现外网客户机访问内网服务器。(2 分) + +
+ + *** + +2. Give the four methods the data link layer uses for framing. Which method does PPP use in order to meet the requirement of data transmission transparency? + +
+ 答案: + + 四种帧的构造方法(或帧定界方法):字符计数、字符填充、比特填充、物理层信号违法编码。(4 分) + + PPP 常用字符填充法。(1 分) + +
+ + *** + +3. “Path MTU” is the smallest MTU of any link on the current path (route) between two communicating hosts on Internet. Design an algorithm to discover the “path MTU” of a path in IPv4 environment. + +
+ 答案: + + 源主机从本子网(本地链路)的 MTU 开始作为数据区的数据长度向目的主机发送 IP 报文,同时将 IP 首部的 DF 标志设置为 1,表示不允许分片。如果收到目的主机的响应,则表示找到了 Path MTU,否则如果收到 Destination Unreachable 报文,则将数据区长度减少,再次构造 IP 报文发送到目的主机。(4 分) + + 减少数据长度可以使用线性法(每次减少 1)或二分法。(1 分) + +
+ + *** + +4. We use binary data to represent information and share information with each other by network. Suppose host A send a number to host B and B get the number with no error, does this mean that the semantics of the information transmitted remains unchanged? Briefly explain your answer. + +
+ 答案: + + 即使传输没有错误,也不能保证信息的语义不变。(2 分) + + 例如两个主机使用不同的字符集,那么发送方所传输的代表某个字符的数值在接收方一侧可能表示另一个不同的字符。(2 分) + + 解决方法是实现抽象语法与传送语法之间的相互转换。(1 分) + +
+ + *** + +5. We conclude that subnetting is a technique to improve the utilization(利用率)of IP addresses. Now let's take a look at this case. Company ABC has been assigned a class-C network address for its networking. If that address is not subnetted, then total 254($=2^8-2=256-2$)addresses can be used for hosts. If it is subnetted by using 3 bits as subnet id, then total addresses available for hosts become 180($=256-(32+32+2*6)=256-76$). We can see from the results that the no-subnetting scheme has much more addresses available for hosts than the subnetting one. Is the conclusion we have just made wrong? Explain your answer. + +
+ 答案: + + 子网划分是提高 IP 地址利用率的技术,此结论没有错。(2 分) + + 子网划分的前提就是有多余的主机地址空间可能被浪费。(1 分) + + 因此,在满足用户对主机地址空间需求的条件下,利用率是从可用的子网数量来衡量的。(1 分) + + 例如,ABC 公司有 6 个部门都要求独立建网,每个部门的主机数都少于 30 台,那么不划分子网时就需要 6 个 C 类网络地址,而划分子网时只要用 1 个 C 类网络地址即可满足需要。(1 分) + +
+ + *** + +6. Briefly describe the MAC protocol which Ethernet uses to allocate the shared channel. + +
+ 答案: + + 以太网使用 1-坚持 CSMA/CD(1-Persistent CSMA/CD)MAC 协议分配信道。(2 分) + + 站点在发送前先侦听信道状态是否为空闲,如果为空闲则立即发送,否则侦听至信道由忙变空为止,然后立即发送。发送过程中如果发现有碰撞,则立即停止传输,并发送一串干扰码。然后使用截断的二进制指数退避算法实施重传。(3 分) + +
+ +*** + +### 三、Computation and application(40 points in all) + +1. Consider a router interconnecting two Ethernet subnets, Sub1 and Sub2. Suppose we have changed the MTU of the router's interface which connects Sub2 from 1500 to 820. The MTU of the interface which connects Sub1 remains as default. If an ICMP echo request with 1000 data is sent from host A in Sub1 to host B in Sub2, the router needs to fragment this packet into some smaller pieces. Compute Fragment Offset and Total Length fields for each fragments.(10 points) + +
+ 答案: + + IP 碎片的最大数据长度为:$820-20=800$ 字节,$800/8=100$,因此最大分片包含的数据量为:$100*8=800$ 字节。(3 分) + + ICMP ECHO 报文的总长度为:$1000+8=1008$ 字节(其中 8 是 ECHO 首部长度)。(2 分) + + 按照 800 来分片,可以分成 2 片,第一片数据 800 字节,第二片数据 208 字节。(1 分) + + 片偏移从 0 开始计算,而总长度要加上 20 字节的 IP 首部长度,最终结果如下表:(4 分) + + | 字段 | 第一片 | 第二片 | + | --- | --- | --- | + | Fragment Offset | 0 | 100 | + | Total Length | 820 | 228 | + +
+ + *** + +2. Suppose for one newly established TCP connection, round-trip time is 20 msecs and no congestion occurs. The receive window is 18 KB, and the maximum segment size is 1 KB. How long does it take before the first full window can be sent? And now suppose triple duplicate ACK event happens rightly after that, how big will the window be if the next five transmission bursts are all successful?(10 points) + +
+ 答案: + + (1)拥塞窗口:1 KB,2 KB,4 KB,8 KB,16 KB,因此发送方在 $5\times20\text{ ms}=100\text{ ms}$ 后达到满窗口 18 KB。(5 分) + + (2)如果此时发生三次重复确认引起的重传,则新的阈值降为 9 KB,而拥塞窗口从新阈值开始线性增长。拥塞窗口:9 KB、10 KB、11 KB、12 KB、13 KB,因此经过 5 轮传输后拥塞窗口为 14 KB。(5 分) + +
+ + *** + +3. A 12-bit Hamming code whose hexadecimal value is `0xa7c` arrives at a receiver. What was the original value in hexadecimal? Assume that not more than 1 bit is in error.(5 points) + +
+ 答案: + + 海明码从左至右进行位的编号,第 8 位出错,接收端收到的 12 位海明码正确值应为 `0xa6c`。(4 分) + + 12 位海明码中的原始数据为 `0xbc`。(1 分) + +
+ + *** + +4. A CDMA receiver gets the following chips: `(-1 +1 -3 +1 -1 -3 +1 +1)`. Assuming the chip sequences defined: A `(-1 -1 -1 +1 +1 -1 +1 +1)`, B `(-1 -1 +1 -1 +1 +1 +1 -1)`, C `(-1 +1 -1 +1 +1 +1 -1 -1)`, D `(-1 +1 -1 -1 -1 -1 +1 -1)`, which stations transmitted, and which bits did each one send?(5 points) + +
+ 答案: + + 计算四个站点的归一化内积: + + $$ + (-1,+1,-3,+1,-1,-3,+1,+1)\cdot(-1,-1,-1,+1,+1,-1,+1,+1)/8=1 + $$ + + (1 分) + + $$ + (-1,+1,-3,+1,-1,-3,+1,+1)\cdot(-1,-1,+1,-1,+1,+1,+1,-1)/8=-1 + $$ + + (1 分) + + $$ + (-1,+1,-3,+1,-1,-3,+1,+1)\cdot(-1,+1,-1,+1,+1,+1,-1,-1)/8=0 + $$ + + (1 分) + + $$ + (-1,+1,-3,+1,-1,-3,+1,+1)\cdot(-1,+1,-1,-1,-1,-1,+1,-1)/8=1 + $$ + + (1 分) + + The result is that A and D sent 1 bits, B sent a 0 bit, and C was silent.(1 分) + +
+ + *** + +5. Below are the first 96 bytes of a TCP/IP packet captured using Wireshark on an Ethernet network. Decode the packet for the following fields:(10 points) + + (1)Ethernet MAC source and destination addresses (in hexadecimal) + + (2)IP source and destination addresses (in dotted-decimal format) + + (3)TCP source and destination port numbers (in decimal) + + (4)Type of TCP segment (e.g., SYN, FIN, ACK, etc.) + + (5)Application layer protocol and command (if applicable) + + ```text + 08 00 20 f7 88 7d 00 11 43 b7 92 43 08 00 45 00 .. ..}..C..C..E. + 02 4b 1f f8 40 00 80 06 ca 9b 83 f7 03 2a 83 f7 .K..@........*.. + 03 01 08 68 00 50 e0 5a 79 da 38 0b ef 53 50 18 ...h.P.Zy.8..SP. + ff ff 80 d7 00 00 47 45 54 20 2f 7e 63 68 72 69 ......GET /~chri + 73 74 65 6e 2f 63 68 72 69 73 74 65 6e 2e 68 74 sten/christen.ht + 6d 6c 20 48 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 ml HTTP/1.1..Hos + ``` + +
+ 答案: + + (1)目的 MAC 地址 = `080020f7887d`,源 MAC 地址 = `001143b79243`。(2 分) + + (2)源 IP 地址 = `131.247.3.42`,目的 IP 地址 = `131.247.3.1`。(2 分) + + (3)TCP 源端口 = `2152`,TCP 目的端口 = `80`。(2 分) + + (4)TCP 段类型 = PUSH, ACK。(2 分) + + (5)应用层协议 = HTTP,这是一个 HTTP/1.1 GET 命令。(2 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..1df100d --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,321 @@ +--- +title: 2017-2018学年上学期期末 +--- + +## 2017-2018学年上学期期末试卷(A)(含答案) + +### 一、Briefly explain the following jargons(3 points each,15 points in all) + +1. Piggybacking + +
+ 答案: + + 即捎带确认,是一种暂时延缓当前确认信息的发送,以便将确认信息搭载在下一个出境数据帧上的技术。 + +
+ + *** + +2. ARQ (Automatic Repeat reQuest) + +
+ 答案: + + 自动重发请求,是目前网络使用的一种主流 RDT(可靠数据传输)技术,使用检错码传输数据,如果接收方检测到所收的报文有错,则反馈一个信息给发送方,由发送方实施重传。 + +
+ + *** + +3. Three-way Handshaking for TCP + +
+ 答案: + + 说明三次握手过程的三个 TCP 段:SYN、SYN/ACK、ACK 即可。 + +
+ + *** + +4. VLAN + +
+ 答案: + + VLAN 即虚拟局域网(Virtual Local Area Network),是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。 + +
+ + *** + +5. CSMA/CA + +
+ 答案: + + 带有冲突避免机制的载波侦听多路访问协议,(只要提发送方即可)先监听信道,如果为空闲,等待 DIFS 再发送;否则采用二进制退避算法等待,如果倒计时到 0 仍为空闲则发送,如果未收到 ACK 则采用退避算法重新发送。 + +
+ +*** + +### 二、Briefly answer the following questions(5 points each,30 points in all) + +1. Consider an application that transmits data at a steady rate (for example, the sender generates an N-bit unit of data every k time units, where k is small and fixed). Also, when such an application starts, it will continue running for a relatively long period of time. Answer the following questions, briefly justifying your answer: + + (1)Would a packet-switched network or a circuit-switched network be more appropriate for this application? Why?(2 points) + + (2)Suppose that a packet-switched network is used and the only traffic in this network comes from such applications as described above. Furthermore, assume that the sum of the application data rates is less than the capacities of each and every link. Is some form of congestion control needed? Why?(3 points) + +
+ 答案: + + (1)电路交换网更适合所描述的应用,因为这个应用要求在可预测的平滑带宽上进行长期的会话。由于传输速率是已知,且波动不大,因此可以给各应用会话话路预留带宽而不会有太多的浪费。另外,我们不需要太过担心由长时间典型会话应用积累起来的,建立和拆除电路时耗费的开销时间。 + + (2)由于所给的带宽足够大,因此该网络中不需要拥塞控制机制。最坏的情况下(几乎可能拥塞),所有的应用分别从一条或多条特定的网络链路传输。而由于每条链路的带宽足够处理所有的应用数据,因此不会发生拥塞现象(只会有非常小的队列)。 + +
+ + *** + +2. What is the relationship between protocol and service? Describe their differences. + +
+ 答案: + + 协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供服务。 + + 协议和服务的概念的区分: + + 1. 协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。 + + 2. 协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在 OSI 中称为服务原语。 + +
+ + *** + +3. Consider the count-to-infinity problem in the distance vector routing. Will the count-to-infinity problem occur if we decrease the cost of a link? Why? How about if we connect two nodes which do not have a link? + +
+ 答案: + + 不会,因为链路费用降低不会造成路由环的出现。在两个不直接相连的节点之间新增一条直连链路等同于降低(至少不会增加)两点之间的链路费用,所以也不会出现无穷计数问题。 + +
+ + *** + +4. Suppose you purchase a wireless router and connect it to your cable modem. Also suppose that your ISP dynamically assigns your connected device (that is, your wireless router) one IP address. Also suppose that you have five PCs at home that use 802.11 to wirelessly connect to your wireless router. + + (1)How are IP addresses assigned to the five PCs?(2 points) + + (2)Does the wireless router use NAT? Why or why not?(3 points) + +
+ 答案: + + (1)通常,无线路由器包括一个 DHCP 服务器。DHCP 用于将 IP 地址分配给 5 个 PC 和路由器接口。 + + (2)是的,无线路由器也使用 NAT,因为它只从 ISP 获得了一个 IP 地址。 + +
+ + *** + +5. If all the links in the Internet were to provide reliable delivery service, would the TCP reliable delivery service be redundant? Why or why not? + +
+ 答案: + + 虽然每条链路都能保证数据包在端到端的传输中不发生差错,但它不能保证 IP 数据包是按照正确的顺序到达最终的目的地。IP 数据包可以使用不同的路由通过网络,到达接收端的顺序会不一致,因此,TCP 仍然需要使用 rdt 服务来保证到达接收端的字节流按照正确的序号向上层递交。 + +
+ + *** + +6. If a binary signal is sent over a 4-kHz channel whose signal-to-noise ratio is 20 dB, what is the maximum achievable data rate? + +
+ 答案: + + $$ + 10\log_{10}(S/N)=20 + $$ + + 故:$S/N=100$。 + + Shannon: + + $$ + H\log_2(1+S/N)=4\log_2 101=26.64\text{ kbps} + $$ + + Nyquist: + + $$ + 2H\log_2V=8\text{ kbps} + $$ + + 故:信道的最大数据传输率为 8 kbps。 + +
+ +*** + +### 三、Computations and applications(55 points in all) + +1. Consider sending a large file from a host to another over a TCP connection that has no loss. + + (1)Suppose TCP use AIMD(Additive Increase Multiplicative Decrease)for its congestion control without slow start. Assuming the congestion window CongWin increases by 1 MSS every time a batch of ACKs is received and assuming approximately constant round-trip times, how long does it take for CongWin to increase from 1 MSS to 10 MSS (assuming no loss events)?(4 points) + + (2)What is the average throughput (in terms of MSS per RTT) for this connection up through time = 9 RTT?(4 points) + +
+ 答案: + + (1)It takes 1 RTT to increase CongWin to 2 MSS; 2 RTTs to increase to 3 MSS; 3 RTTs to increase to 4 MSS; …, and 9 RTTs to increase to 10 MSS. + + (2)In the first RTT 1 MSS was sent; in the second RTT 2 MSS was sent; in the third RTT 3 MSS was sent; …, and in the ninth RTT, 9 MSS was sent. Thus, up to time 9 RTT, + + $$ + 1+2+3+4+5+6+7+8+9=45 + $$ + + MSS were sent (and acknowledged). Thus, one can say that the average throughput up to time 9 RTT was $(45\text{ MSS})/(9\text{ RTT})=5\text{ MSS/RTT}$. + +
+ + *** + +2. Consider a network topology shown in the figure below. Denote the three subnets with hosts as Networks A, B, and C. Denote the subnets without hosts as Networks D, E, and F. + + ![网络拓扑图](./images/2017-2018学年上学期期末_试卷A_计算题_第2题_网络拓扑图.png) + + (1)Re-assign network addresses to each of these six subnets, with the following constraints: All addresses must be allocated from `214.97.254.0/23`; Subnet A should have enough addresses to support 250 interfaces; Subnet B should have enough addresses to support 120 interfaces; and Subnet C should have enough addresses to support 120 interfaces. Of course, subnets D, E and F should each be able to support two interfaces. For each subnet, the assignment should take the form `a.b.c.d/x` or `a.b.c.d/x – e.f.g.h/y`.(6 points) + + (2)Using your above answer, provide the forwarding tables (using the longest prefix matching) for each of the three routers.(6 points) + +
+ 答案: + + (1)From `214.97.254.0/23`, possible assignments are: + + | Subnet | Assignment | + | --- | --- | + | Subnet A | `214.97.255.0/24`(256 addresses) | + | Subnet B | `214.97.254.0/25 - 214.97.254.0/29`(128 - 8 = 120 addresses) | + | Subnet C | `214.97.254.128/25`(128 addresses) | + | Subnet D | `214.97.254.0/31`(2 addresses) | + | Subnet E | `214.97.254.2/31`(2 addresses) | + | Subnet F | `214.97.254.4/30`(4 addresses) | + + (2)To simplify the solution, assume that no datagrams have router interfaces as ultimate destinations. Also, label D, E, F for the upper-right, bottom, and upper-left interior subnets, respectively. + + Router 1: + + | Longest Prefix Match | Outgoing Interface | + | --- | --- | + | `11010110 01100001 11111111` | Subnet A | + | `11010110 01100001 11111110 0000000` | Subnet D | + | `11010110 01100001 11111110 000001` | Subnet F | + + Router 2: + + | Longest Prefix Match | Outgoing Interface | + | --- | --- | + | `11010110 01100001 11111111 0000000` | Subnet D | + | `11010110 01100001 11111110 0` | Subnet B | + | `11010110 01100001 11111110 0000001` | Subnet E | + + Router 3: + + | Longest Prefix Match | Outgoing Interface | + | --- | --- | + | `11010110 01100001 11111111 000001` | Subnet F | + | `11010110 01100001 11111110 0000001` | Subnet E | + | `11010110 01100001 11111110 1` | Subnet C | + +
+ + *** + +3. Frames of 1000 bits are sent over a 1-Mbps channel using a geostationary satellite whose propagation time from the earth is 270 msec. Acknowledgements are always piggybacked onto data frames. The headers are very short. Three-bit sequence numbers are used. What is the maximum achievable channel utilization for: + + (1)Stop-and-wait?(3 points) + + (2)Go-back-N?(3 points) + + (3)Selective repeat?(3 points) + +
+ 答案: + + 对应三种协议的窗口大小值分别是 1、7 和 4。 + + 使用卫星信道端到端的典型传输延迟是 270 ms,以 1 Mb/s 发送,1000 bit 长的帧的发送时间为 1 ms。我们用 $t=0$ 表示传输开始的时间,那么在 $t=1\text{ ms}$ 时,第一帧发送完毕;$t=271\text{ ms}$ 时,第一帧完全到达接收方;$t=272\text{ ms}$,对第一帧的确认帧发送完毕;$t=542\text{ ms}$,带有确认的帧完全到达发送方。因此一个发送周期为 542 ms。如果在 542 ms 内可以发送 $k$ 个帧,由于每一个帧的发送时间为 1 ms,则信道利用率为 $k/542$,因此: + + (1)$k=1$,最大信道利用率 $=1/542=0.18\%$。 + + (2)$k=7$,最大信道利用率 $=7/542=1.29\%$。 + + (3)$k=4$,最大信道利用率 $=4/542=0.74\%$。 + +
+ + *** + +4. Suppose that host A is connected to a router R1, R1 is connected to another router R2, and R2 is connected to host B. Suppose that a TCP message that contains 900 bytes of data and 20 bytes of TCP header is passed to the IP code at host A for delivery to B. Show the Total length, Identification, DF, MF, and Fragment offset fields of the IP header in each packet transmitted over the three links. Assume that link A-R1 can support a maximum frame size of 1024 bytes including a 14-byte frame header, link R1-R2 can support a maximum frame size of 512 bytes, including an 8-byte frame header, and link R2-B can support a maximum frame size of 512 bytes including a 12-byte frame header.(10 points) + +
+ 答案: + + 开头的 IP 数据报会在 R1 被拆分成两个 IP 数据包,不会出现其他的拆分。 + + | Link | Packet | Length | ID | DF | MF | Offset | + | --- | --- | --- | --- | --- | --- | --- | + | A-R1 | | 940 | x | 0 | 0 | 0 | + | R1-R2 | (1) | 500 | x | 0 | 1 | 0 | + | R1-R2 | (2) | 460 | x | 0 | 0 | 60 | + | R2-B | (1) | 500 | x | 0 | 1 | 0 | + | R2-B | (2) | 460 | x | 0 | 0 | 60 | + +
+ + *** + +5. A CDMA receiver gets the following chips: `(-1 +3 -1 -1 -1 +1 -1 -3)`. Assuming there are four stations with the following chip sequences `{A:(-1-1-1+1+1-1+1+1), B:(-1-1+1-1+1+1+1-1), C:(-1+1-1+1+1+1-1-1), D:(-1+1-1-1-1-1+1-1)}`, which stations transmitted, and which bits did each one send?(6 points) + +
+ 答案: + + $S\cdot A=(+1-3+1-1-1-1-1-3)/8=-1$,A 发送 0。 + + $S\cdot B=(+1-3-1+1-1+1-1+3)/8=0$,B 无发送。 + + $S\cdot C=(+1+3+1-1-1+1+1+3)/8=1$,C 发送 1。 + + $S\cdot D=(+1+3+1+1+1-1-1+3)/8=1$,D 发送 1。 + + 每个站 1.5 points。 + +
+ + *** + +6. A 10-bit stream `1001001101` is transmitted using the standard CRC method. The generator polynomial is $x^3+x+1$. Show the actual bit string transmitted. Can the receiver detect any 2-bits errors? Give an example of bit errors in the bit string transmitted that will not be detected by the receiver.(10 points) + +
+ 答案: + + 生成多项式 $x^3+x+1$ 对应 `1011`。 + + `1001001101` 模 2 除 `1011` 的余数为 `10`,所以实际传送的是 `1001001101010`。(5 points) + + 接收方可以发现所有的 2 位错误,因为任何 `1***1` 形式的错误都不会被 `1011` 除尽。(3 points) + + 任何可以被 `1011` 除尽的错误都不能够检查出来,比如 `1000010101010`。(2 points) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..410b1f4 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2018-2019\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,398 @@ +--- +title: 2018-2019学年上学期期中 +--- + +## 2018-2019学年上学期期中试卷(含答案) + +### 说明 + +- 该试卷原卷标注为2018-2019学年第一学期,但答案标注为2017-2018学年第一学期 + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. OSI 模型中的第二、第三、第四、第五层分别是( )。 + + A. 物理层、网络层、会话层、传输层 + + B. 数据链路层、网络层、传输层、会话层 + + C. 物理层、数据链路层、传输层、应用层 + + D. 数据链路层、网络层、传输层、表示层 + +
+ 答案: + + B + +
+ + *** + +2. PCM 是( )转换的一个实例。 + + A. digital-to-digital + + B. digital-to-analog + + C. analog-to-analog + + D. analog-to-digital + +
+ 答案: + + D + +
+ + *** + +3. 以下( )是集线器(Hub)的功能。 + + A. 增加区域网络的上传输速度。 + + B. 增加区域网络的数据复制速度。 + + C. 连接各电脑线路间的媒介。 + + D. 以上皆是。 + +
+ 答案: + + C + +
+ + *** + +4. 若数据链路层的发送窗口尺寸 $W_T=15$,在发送 7 号帧、并接到 5 号帧的确认帧后,发送方还可连续发送( )。 + + A. 4 帧 + + B. 5 帧 + + C. 10 帧 + + D. 13 帧 + +
+ 答案: + + D + +
+ + *** + +5. 以下哪个解决信道竞争的方法在竞争期中有可能发生冲突?( ) + + A. 位图协议 + + B. 二进制倒计数 + + C. 自适应树遍历协议 + + D. 令牌传递 + +
+ 答案: + + C + +
+ + *** + +6. 以下各项中,不是数据报操作特点的是( ) + + A. 使所有分组按顺序到达目的端系统 + + B. 在整个传送过程中,不需建立虚电路 + + C. 每个分组自身携带有足够的信息,它的传送是被单独处理的 + + D. 网络节点要为每个分组做出路由选择 + +
+ 答案: + + A + +
+ + *** + +7. $N$ 个站共享一个 200kbps 的纯 ALOHA 信道。每个站平均每 10 秒输出一个 10000 位长的帧(即使前面的帧还没有被发送出去),$N$ 最大可以为( )。 + + A. 16 + + B. 36 + + C. 64 + + D. 128 + +
+ 答案: + + B + +
+ + *** + +8. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 8 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 4 位 + + B. 8 位 + + C. 16 位 + + D. 32 位 + +
+ 答案: + + A + +
+ + *** + +9. 设信道带宽为 4000HZ,采用 PCM 编码,采样周期为 $125\mu s$,每个样本量化为 128 个等级,则信道的数据率为( )。 + + A. 10Kb/s + + B. 16Kb/s + + C. 56Kb/s + + D. 64Kb/s + +
+ 答案: + + C + +
+ + *** + +10. 下列对 ADSL 网络的描述哪些是错误的?( ) + + A. 采用普通电话线作为传输介质 + + B. 当语音通话时,不能使用网络通信 + + C. 上行线和下行线通信带宽不同 + + D. ADSL 是一种异步传输模式 + +
+ 答案: + + B + +
+ +### 二、填空题(本大题共 10 小题,每空 2 分,共 20 分) + +1. 模拟信号传输的基础是载波,载波具有三个要素,即频率、( )和( )。数字数据可以针对载波的不同要素或它们的组合进行调制。 + +
+ 答案: + + 振幅;相位 + +
+ + *** + +2. OSI 参考模型的三个主要概念是接口、( )和( )。 + +
+ 答案: + + 服务;协议 + +
+ + *** + +3. 采用海明码校验方法纠正单比特错误,若信息位为 6 位,则校验位至少为( )位。 + +
+ 答案: + + 4 + +
+ + *** + +4. ( )定理定义了无噪声信道理论上的最大数据传输速率,( )定理定义了加性白噪声信道理论上的最大数据传输速率。 + +
+ 答案: + + 尼奎斯特;香农 + +
+ + *** + +5. 采用位填充法进行成帧,成帧标识为 `01111110`。如果需要传送的比特串为 `01111110111110`,则经位填充后其变为( )(不包括起始和结束标志)。 + +
+ 答案: + + `0111110101111100` + +
+ + *** + +6. 在回退 N 帧协议中,如果用 5 个 bit 序号对数据帧进行编号,发送窗口大小的最大值是( ),接收窗口大小的最大值是( )。 + +
+ 答案: + + 31;1 + +
+ +### 三、名词解释(本大题共 4 小题,每小题 5 分,共 20 分) + +1. 海明距离 + +
+ 答案: + + 两个等长码字的对应比特位取值不同的比特数称为这两个码字的海明距离。 + +
+ + *** + +2. 隐藏终端问题 + +
+ 答案: + + 在无线局域网中,由于无线电的覆盖范围有限,导致一个无线站 B 的两个邻居 A 和 C 虽然彼此不在对方的范围内,但可能潜在地干扰彼此和共同邻居之间的通信,从而互相构成隐藏终端问题。在下图中,如果 A 开始发送,然后 C 立即进行侦听介质,它将不会听到 A 的传输,因为 A 在它的覆盖范围之外。因此 C 错误地得出结论:它可以向 B 传送数据。如果 C 传送数据,将在 B 处产生冲突,从而扰乱 A 发来的帧。 + +
+ + *** + +3. FDM、TDM + +
+ 答案: + + FDM 和 TDM 是最常用的两种多路复用技术。其中,FDM 是指频分多路复用技术,它将频谱分为频段,每个用户可以单独拥有某个频段,因此同一时间内可以同时传送多路信号;TDM 是时分多路复用技术,它将一条物理信道按时间分成若干个时间片,用户轮流获得整个带宽,每次仅使用一小段时间。 + +
+ + *** + +4. CSMA/CA + +
+ 答案: + + CSMA/CA(Carrier Sense multiple Access/Collision Avoidance),即载波监听多路访问/冲突避免,是争用型的介质访问控制协议,位于数据链路层,主要用于无线网络。 + +
+ +### 四、简答题(本大题共 3 小题,共 18 分) + +1. (6 分)请问面向连接通信和无连接通信之间的差异是什么?各举一个通信协议例子。 + +
+ 答案: + + 其一:面向连接通信分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。而无连接通信没有这么多阶段,它直接进行数据传输。 + + 其二:面向连接的通信具有数据的保序性,而无连接的通信不能保证接收数据的顺序与发送数据的顺序一致。 + + (i)无连接:UDP; + + (ii)面向连接:TCP + +
+ + *** + +2. (6 分)设两站间信道速率为 20kb/s,采用停止等待协议,传播时延 $t_p=30ms$,确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 50%。 + +
+ 答案: + + 在确认帧长度和处理时间均可忽略的情况下,要使信道利用率达到至少 50% 必须使数据帧的发送时间等于往返传播时延,即两倍的单向传播时延。 + + 即: + + $$t_f\geq 2t_p$$ + + 已知: + + $$t_f=\frac{l_f}{C}$$ + + 其中 $C$ 为信道容量,或信道速率。$l_f$ 为帧长(以比特为单位)。 + + 所以得帧长: + + $$l_f=C\times t_f\geq C\times2t_p=20000\times0.06=1200\ bits$$ + +
+ + *** + +3. (6 分)请解释为何选择重传协议中要设置以下语句? + + ```c + #define NR_BUFS ((MAX_SEQ + 1)/2) + ``` + +
+ 答案: + + 该协议将窗口的最大尺寸设置为不超过序号空间的一半。 + + 这么做是为了确保接收方向前移动窗口之后,新窗口与老窗口的序号没有重叠。 + + 如果不这么设置,当接收方向前移动它的窗口后,新的有效序号范围与老的序号范围有重叠。因此,后续的一批帧可能是重复的帧(如果所有的确认都丢失了),也可能是新的帧(如果所有的确认都接收到了),而接收方根本无法区分这两种情形,将会导致往网络层传递不正确的数据包。 + +
+ +### 五、应用题(本大题共 2 小题,共 22 分) + +1. (10 分)要发送的数据为 `11011011011`。采用 CRC 的生成多项式是 $P(x)=x^4+x+1$。试求应添加在数据后面的余数。数据在传输过程中最后一个 1 变成了 0,问接收端能否发现?若数据在传输过程中最后两个 1 都变成了 0,问接收端能否发现? + +
+ 答案: + + 添加的检验序列为 `0110`(`110110110110000` 除以 `10011`) + + 数据在传输过程中最后一个 1 变成了 0,`11011011010 0110` 除以 `10011`,余数为 `011`,不为 0,接收端可以发现差错。 + + 数据在传输过程中最后两个 1 都变成了 0,`11011011000 0110` 除以 `10011`,余数为 `101`,不为 0,接收端可以发现差错。 + +
+ + *** + +2. (12 分)请计算二进制位串 `10100101` 的偶校验海明码。接收方收到了一个 12 位的海明码,其 16 进制为 `0xA0F`,假设至多只有 1 位发生了错误。则原来的值用 16 进制表示是多少?(位数从左到右分别是第 1 位,第 2 位,……)。 + +
+ 答案: + + (a)`10100101` 的偶校验海明码是 `111001000101`(6 分) + + (b)`0xA4F`。(6 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..f65d011 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,410 @@ +--- +title: 2020-2021学年上学期期中 +--- + +## 2020-2021学年上学期期中试卷(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. OSI 模型中的第二、第三、第四、第六层分别是( )。 + + A. 物理层、网络层、会话层、传输层 + + B. 数据链路层、网络层、传输层、会话层 + + C. 物理层、数据链路层、传输层、应用层 + + D. 数据链路层、网络层、传输层、表示层 + +
+ 答案: + + D + +
+ + *** + +2. PCM 是( )转换的一个实例。 + + A. 数字到数字 + + B. 模拟到数字 + + C. 模拟到模拟 + + D. 数字到模拟 + +
+ 答案: + + B + +
+ + *** + +3. 循环冗余校验 CRC 中的生成式包含( )因子时,可检测出所有的奇数位错误。 + + A. $x$ + + B. $x^2+x+1$ + + C. $x+1$ + + D. 以上均不是 + +
+ 答案: + + C + +
+ + *** + +4. 若数据链路层的发送窗口尺寸 $W_T=15$,在发送 7 号帧、并接到 5 号帧的确认帧后,发送方还可连续发送( )。 + + A. 4 帧 + + B. 5 帧 + + C. 10 帧 + + D. 13 帧 + +
+ 答案: + + D + +
+ + *** + +5. 以下哪个解决信道竞争的方法在竞争期中有可能发生冲突?( ) + + A. 位图协议 + + B. 二进制倒计数 + + C. 自适应树遍历协议 + + D. 令牌传递 + +
+ 答案: + + C + +
+ + *** + +6. IEEE 802.3 标准为第一代 10Mbps 以太网使用的访问方法是( )CSMA/CD。 + + A. 1-persistent + + B. p-persistent + + C. non-persistent + + D. 以上均不是 + +
+ 答案: + + A + +
+ + *** + +7. $N$ 个站分时 Aloha 协议的危险周期是帧传输时间(帧时)的( )倍。 + + A. 1 + + B. 2 + + C. 3 + + D. 以上均不正确 + +
+ 答案: + + A + +
+ + *** + +8. 采用相位振幅调制 PAM 技术,可以提高数据传输速率,例如采用 8 种相位,每种相位取 2 种幅度值,可使一个码元(Hz)表示的二进制数的位数为( )。 + + A. 4 位 + + B. 8 位 + + C. 16 位 + + D. 32 位 + +
+ 答案: + + A + +
+ + *** + +9. 设信道带宽为 4000HZ,采用 PCM 编码,采样周期为 $125\mu s$,每个样本量化为 128 个等级,则信道的数据率为( )。 + + A. 10Kb/s + + B. 16Kb/s + + C. 56Kb/s + + D. 64Kb/s + +
+ 答案: + + C + +
+ + *** + +10. 下列对 ADSL 网络的描述哪些是错误的?( ) + + A. 采用普通电话线作为传输介质 + + B. 当语音通话时,不能使用网络通信 + + C. 上行线和下行线通信带宽不同 + + D. ADSL 是一种异步传输模式 + +
+ 答案: + + B + +
+ +### 二、填空题(本大题共 10 小题,每空 2 分,共 20 分) + +1. 模拟信号传输的基础是载波,载波具有三个要素,即频率、( )和( )。数字数据可以针对载波的不同要素或它们的组合进行调制。 + +
+ 答案: + + 振幅;相位 + +
+ + *** + +2. OSI 参考模型的三个主要概念是接口、( )和( )。 + +
+ 答案: + + 服务;协议 + +
+ + *** + +3. 采用海明码校验方法纠正单比特错误,若信息位为 6 位,则冗余位至少为( )位。 + +
+ 答案: + + 4 + +
+ + *** + +4. ( )定理定义了无噪声信道理论上的最大数据传输速率,( )定理定义了加性白噪声信道理论上的最大数据传输速率。 + +
+ 答案: + + 尼奎斯特;香农 + +
+ + *** + +5. 采用位填充法进行成帧,成帧标识为 `01111110`。如果需要传送的比特串为 `01111110111110`,则经位填充后,此比特串变为( )(不包括起始和结束标志)。 + +
+ 答案: + + `0111110101111100` + +
+ + *** + +6. 在回退 N 帧协议中,如果用 5 个 bit 序号对数据帧进行编号,发送窗口大小的最大值是( ),接收窗口大小的最大值是( )。 + +
+ 答案: + + 31;1 + +
+ +### 三、名词解释(本大题共 4 小题,每小题 5 分,共 20 分) + +1. 循环冗余校验码 + +
+ 答案: + + CRC(Cyclic Redundancy Check)码,是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。基本思想是将要传送的信息 $M(X)$ 表示为一个多项式 $L$,用 $L$ 除以(模 2 除)一个预先确定的生成多项式 $G(X)$,得到的余式添加到 $M(X)$ 尾部,就构成所需的循环冗余校验码。有以下特点:①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于校验位长度的突发错。 + +
+ + *** + +2. 隐藏终端问题 + +
+ 答案: + + 在无线局域网中,由于无线电的覆盖范围有限,导致一个无线站 B 的两个邻居 A 和 C 虽然彼此不在对方的范围内,但可能潜在地干扰彼此和共同邻居之间的通信,从而互相构成隐藏终端问题。 + +
+ + *** + +3. CDMA + +
+ 答案: + + CDMA(Code Division Multiple Access)即码分多址访问,是一种多路复用技术,CDMA 系统是基于码分技术和多址技术的通信系统,系统为每个用户分配各自特定芯片码,芯片码之间具有相互正交,允许多路信号使用相同的带宽同时传输数据。 + +
+ + *** + +4. CSMA/CD + +
+ 答案: + + CSMA/CD(Carrier Sense multiple Access/Collision Detection),带冲突检测的载波侦听多路访问协议,是争用型的介质访问控制协议,位于数据链路层,工作原理为: + + (1)发送站发送时首先侦听载波(载波检测)。 + + (2)如果网络(总线)空闲,发送站开始发送它的帧。 + + (3)如果网络(总线)被占用,发送站继续侦听载波并推迟发送直至网络空闲。 + + (4)发送站在发送过程中侦听碰撞(碰撞检测)。 + + (5)如果检测到碰撞,发送站立即停止发送,这意味着所有卷入碰撞的站都停止发送。 + + (6)每个卷入碰撞的站都进入退避周期,即按照一定的退避算法等一段随机时间后进行重发,亦即重复上述 1-6 步骤,直至发送成功。 + +
+ +### 四、简答题(本大题共 3 小题,共 18 分) + +1. (6 分)请问面向连接通信和无连接通信之间的差异是什么?各举一个通信协议例子。 + +
+ 答案: + + 其一:面向连接通信分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。而无连接通信没有这么多阶段,它直接进行数据传输。 + + 其二:面向连接的通信具有数据的保序性,而无连接的通信不能保证接收数据的顺序与发送数据的顺序一致。 + + (i)无连接:UDP; + + (ii)面向连接:TCP + +
+ + *** + +2. (6 分)设两站间信道速率为 20kb/s,采用停止等待协议,传播时延 $t_p=30ms$,确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 50%。 + +
+ 答案: + + 在确认帧长度和处理时间均可忽略的情况下,要使信道利用率达到至少 50% 必须使数据帧的发送时间等于往返传播时延,即两倍的单向传播时延。 + + 即: + + $$t_t=2t_p$$ + + 已知: + + $$t_t=\frac{L}{C}$$ + + 其中 $C$ 为信道容量,或信道速率。$L$ 为帧长(以比特为单位)。 + + 所以得帧长 + + $$L=2t_pC=2\times30ms\times20kb/s=1200\ bits$$ + +
+ + *** + +3. (6 分)请解释为何选择重传协议中要设置以下语句? + + ```c + #define NR_BUFS ((MAX_SEQ + 1)/2) + ``` + +
+ 答案: + + 该协议将窗口的最大尺寸设置为不超过序号空间的一半。 + + 这么做是为了确保接收方向前移动窗口之后,新窗口与老窗口的序号没有重叠。 + + 如果不这么设置,当接收方向前移动它的窗口后,新的有效序号范围与老的序号范围有重叠。因此,后续的一批帧可能是重复的帧(如果所有的确认都丢失了),也可能是新的帧(如果所有的确认都接收到了),而接收方根本无法区分这两种情形,将会导致往网络层传递不正确的数据包。 + +
+ +### 五、应用题(本大题共 2 小题,共 22 分) + +1. (10 分)一大群 ALOHA 用户每秒钟产生 100 个请求,包括原始的请求和重传的请求。时间槽单位为 10 毫秒。请问第一次发送成功的机会是多少?恰好 $k$ 次冲突之后成功的又概率是多少? + +
+ 答案: + + 每个时槽为 10msec 推知每秒有 100 个时槽,由于每秒有 100 个发送请求,每个时槽内的帧请求期望值为 $G=1$,所以有: + + (a),在一个“帧时”内生成 $k$ 帧的概率服从泊松分布。 + + $$Pr[k]=\frac{G^k e^{-G}}{k!}$$ + + 对于分槽 Aloha,首次发送时别人不发送的概率是 $Pr[0]=e^{-1}=0.368$。 + + (b),由于 $Pr[0]=e^{-1}$,所以有冲突的概率是 $1-e^{-1}$,故刚好发生 $k$ 次冲突然后一次成功的概率是 $(1-e^{-1})^k\times e^{-1}=0.632^k\times0.368$。 + +
+ + *** + +2. (12 分)请计算二进制位串 `10100101` 的偶校验海明码。接收方收到了一个 12 位的海明码,其 16 进制为 `0xA0F`,假设至多只有 1 位发生了错误。则原来的值用 16 进制表示是多少?(位数从左到右分别是第 1 位,第 2 位,……)。 + +
+ 答案: + + (a)`10100101` 的偶校验海明码是 `111001000101`, + + (b)`0xA4F`。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..94fff34 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,431 @@ +--- +title: 2020-2021学年上学期期末 +--- + +## 2020-2021学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. TCP 首部的接收窗口字段用于( )。 + + A. 可靠传输 + + B. 窗口控制 + + C. 拥塞控制 + + D. 流量控制 + +
+ 答案: + + D + +
+ + *** + +2. 形式为 128.119.40.64/26 的地址块最多能拥有( )个主机。 + + A. 128 + + B. 64 + + C. 62 + + D. 126 + +
+ 答案: + + C + +
+ + *** + +3. 以下协议中( )能解决自治系统之间的路由选择。 + + A. RIP + + B. OSPF + + C. BGP + + D. IGP + +
+ 答案: + + C + +
+ + *** + +4. IP 地址空间和 MAC 地址空间分别有多大:( )。 + + A. $2^{32}$,$2^{64}$ + + B. $2^{32}$,$2^{48}$ + + C. $2^{48}$,$2^{64}$ + + D. $2^{32}$,$2^{128}$ + +
+ 答案: + + B + +
+ + *** + +5. 给定一个 5 比特生成多项式 10011,假设数据是 1010100100,则 CRC 的值为( )。 + + A. 0011 + + B. 0110 + + C. 0101 + + D. 1001 + +
+ 答案: + + C + +
+ + *** + +6. 网络地址端口转换(NAPT)协议中 NAT 路由器利用( )区分不同的私有网络主机。 + + A. IP 地址 + + B. MAC 地址 + + C. 端口号 + + D. 前缀 + +
+ 答案: + + C + +
+ + *** + +7. IPv6 地址 12AB:0000:0000:CD30:0000:0000:0000:0000/60,可以表示成简写形式。下面的选项中,写法正确的是( )。 + + A. 12AB::CD30::/60 + + B. 12AB:0:0:CD3 /60 + + C. 12AB:0:0:CD30::/60 + + D. 12AB::CD3 /60 + +
+ 答案: + + C + +
+ + *** + +8. Ethernet 采用的媒体访问控制方式是( )。 + + A. 令牌环 + + B. 令牌总线 + + C. CSMA/CA + + D. CSMA/CD + +
+ 答案: + + D + +
+ + *** + +9. 计算机网络中,数据自底向上解封装的过程是( )。 + + A. 数据-报文-分组-数据帧-比特流 + + B. 比特流-数据帧-分组-报文-数据 + + C. 数据-分组-报文-数据帧-比特流 + + D. 报文-分组-数据帧-比特流-数据 + +
+ 答案: + + B + +
+ + *** + +10. 数据链路层采用后退 N 帧(Go-Back-N)协议,假设发送窗口 Ws=7,若发送方已经发送了编号为 0~6 的帧,当计时器超时时,若发送方只收到 0、2、3 号帧的确认,则发送方需要重发的帧序号是哪些?( ) + + A. 1,4,5,6 + + B. 4,5,6 + + C. 1,2,3,4,5,6 + + D. 0,1,2,3 + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(本大题共 5 小题,每题 2 分,共 10 分) + +1. 假设主机 A 和主机 B 之间建立了一个 TCP 连接。当主机 A 向 B 发送数据时,其 TCP 报文头中的源端口号与目的端口号分别是 100 和 1203,则 B 向 A 发送数据时,其源端口号与目的端口号分别是( )和( )。 + +
+ 答案: + + 1203;100 + +
+ + *** + +2. 香农定理定义了有噪声信道的网络传输速率的理论极限值,假设 S 为信号功率,N 为噪声功率,带宽为 B(Hz),则根据香农定理,最大数据传输速率(信道容量)为:( ) + +
+ 答案: + + $B\log_2(1+S/N)$ bits/sec + +
+ + *** + +3. 最常见的传输层协议中,( )不支持可靠传输,( )能解决分组乱序到达的问题。 + +
+ 答案: + + UDP;TCP + +
+ + *** + +4. 动态路由协议主要包括两大类:距离矢量路由协议和( )。其中距离矢量路由生成算法的典型代表是 Bellman-Ford 算法,而链路状态路由协议主要通过( )来生成最佳路由路径。 + +
+ 答案: + + 链路状态路由协议;Dijkstra 算法/迪杰斯特拉算法 + +
+ + *** + +5. 数据链路层分为( )和( )两个子层。 + +
+ 答案: + + 逻辑链路控制子层;介质访问控制子层 + +
+ +*** + +### 三、分析计算题(本大题共 4 小题,每小题 10 分,共 40 分) + +1. 一个 TCP 连接经历了下图所示的拥塞窗口变化,请回答以下问题: + + ![第1题拥塞窗口变化图](./images/2020-2021学年上学期期末_试卷A_分析计算题_第1题_答案图.png) + + (1)指出该 TCP 连接属于拥塞避免阶段的时间间隔。(2 分) + + (2)分别指出第 9 个传输轮次之后拥塞窗口变化的原因,以及第 14 个传输轮次之后拥塞窗口变化的原因。(2 分) + + (3)第 1、10、15 个传输轮次里慢启动阈值(ssthresh)的值分别为多少,并说明具体理由?(3 分) + + (4)如果没有任何报文丢失,第 19 个传输轮次的拥塞窗口大小是多少?(3 分) + +
+ 答案: + + (1)[5, 9],[10, 14]。(每项 1 分,共 2 分) + + (2)第 9 个:通过三个冗余 ACK 检测到了报文的丢失。 + + 第 14 个:根据定时器超时检测到了报文的丢失。 + + (每项 1 分,共 2 分) + + (3)第 1 个:16,因为拥塞窗口超过 16 个报文段以后进入了拥塞避免阶段。 + + 第 10 个:10,因为遇到报文丢失时,ssthresh 由之前的拥塞窗口减半,$20/2=10$。 + + 第 15 个:7,因为遇到报文丢失时,ssthresh 由之前的拥塞窗口减半,$14/2=7$。 + + (每项 1 分,共 3 分) + + (4)第 18 个传输轮次窗口为 7,因为新的 ssthresh 为 7;第 19 个传输轮次窗口为 8,因为进入了拥塞避免阶段。(3 分) + +
+ + *** + +2. 长度为 2000 位的数据帧,在数据传输速率为 1Mbps、最大长度为 1km 的物理线路上传输。假设线路的单向传输延迟时间为 99ms/km,并分别采用 stop-and-wait 协议、Go-Back-N 帧的滑动窗口协议、Selective Repeat 的滑动窗口协议进行传输,假设数据帧的序列号为 4 位,确认帧的发送时间忽略不计。请回答以下两个问题: + + (1)计算上述三种协议中发送者的发送窗口大小?(3 分) + + (2)三种协议下物理通信线路可达到的最大利用率分别是多少?(7 分) + +
+ 答案: + + 对应三种协议的窗口大小值分别是 1、15(窗口大小为 $2^m-1$)和 8(窗口大小为 $2^{m-1}$)。(每个数值 1 分,共 3 分) + + 以 1Mb/s 发送,2000bit 长的帧的发送时间为 2ms。1km 的线路传输时延为 99ms。用 $t=0$ 表示传输开始的时间,那么在 $t=2ms$ 时,第一帧发送完毕;$t=2+99=101ms$ 时,第一帧完全到达接收方;$t=101+99=200ms$ 时,对第一帧的确认帧完全到达发送方。因此一个发送周期为 200ms。如果在 200ms 内可以发送 k 个帧,由于每一个帧的发送时间为 2ms,则信道利用率为 $2k/200$,因此: + + (1)$k=1$,最大信道利用率 = $2/200=1\%$。(2 分) + + (2)$k=15$,最大信道利用率 = $30/200=15\%$。(2 分) + + (3)$k=8$,最大信道利用率 = $16/200=8\%$。(2 分) + + 每项 2 分,共 6 分。另外,计算过程分析 1 分。 + +
+ + *** + +3. 如下图所示,假设网络 192.168.10.0 是一个 Ethernet,对应的 MTU 值为 1500 字节;而网络 192.168.20.0 是一个 PPP 网络,对应的 MTU 值为 512 字节。请回答以下两个问题。 + + ![第3题网络结构图](./images/2020-2021学年上学期期末_试卷A_分析计算题_第3题_网络结构图.png) + + (1)假设主机 A 发送一个报文给 Web Server,其报文头的各字段值如下图所示。请问,路由器是否会对该报文进行分片?如果需要分片,请计算出分片数量,并给出每个分片的属性(包括分片大小、序列号、offset 值、MF 值)?如果不需要分片,请给出原因?(5 分) + + ![第3题报文头1](./images/2020-2021学年上学期期末_试卷A_分析计算题_第3题_报文头1.png) + + (2)假设主机 A 又发送一个报文给 Web Server,其报文头的各字段值如下图所示。请问,路由器是否会对该报文进行分片?如果需要分片,请计算出分片数量,并给出每个分片的属性(包括分片大小、序列号、offset 值、MF 值)?如果不需要分片,请给出原因?(5 分) + + ![第3题报文头2](./images/2020-2021学年上学期期末_试卷A_分析计算题_第3题_报文头2.png) + +
+ 答案: + + (1)需要分片。(1 分) + + 512 字节 - 20 字节头 = 492 字节,但是 492 字节 mod 8 != 0,所以取 488 字节作为分片后的 IP 报文数据域长度。分片后的每个报文长度为 $488+20=508$ 字节。 + + 1480 字节/488 字节 ≈ 4,所以需要 4 个分片,每个分片大小及序列号如下: + + Fragment 1:分片大小为 508 字节(488 字节数据域 + 20 字节头),序列号为 12342,Offset 为 0,MF flag 为 1; + + Fragment 2:分片大小为 508 字节(488 字节数据域 + 20 字节头),序列号为 12342,Offset 为 61,MF flag 为 1; + + Fragment 3:分片大小为 508 字节(488 字节数据域 + 20 字节头),序列号为 12342,Offset 为 122,MF flag 为 1; + + Fragment 4:分片大小为 36 字节(16 字节数据域 + 20 字节头),序列号为 12342,Offset 为 183,MF flag 为 0; + + (每个 1 分,共 4 分) + + (2)不需要分片。(1 分) + + 理由:当 Router 1 收到该数据报文时,会对其 TTL 值减 1。该数据报文的 TTL 将会变为 0,所以,Router1 将会直接丢弃到该报文。不需要进行分片。 + + (理由 4 分) + +
+ + *** + +4. 某网络采用 CSMA/CD 协议,且链路速率为 5Mbps。假设其最大传播时延(Propagation Delay)为 $T_p=51.2μs$。为了能够实现冲突检测,请计算该网络数据帧的最小长度是多少? + +
+ 答案: + + CSMA/CD 为了实现冲突检测,要求最小发送时延(Transmission delay)为传播时延(Propagation Delay)的至少 2 倍,即发送时延 $\ge 2*T_p=2*51.2μs=102.4μs$。(5 分) + + 由此可得,最小帧长度为:$5Mbps * 102.4μs = 512bits$(或 64bytes)。(5 分) + +
+ +*** + +### 四、问答题(本大题共 3 小题,每题 10 分,共 30 分) + +1. 请列举四种常见的多路复用技术,并简要阐述其实现原理。 + +
+ 答案: + + 常见的多路复用技术包括:时分多路复用(TDM)、频分多路复用(FDM)、波分多路复用(WDM)和码分多路复用(CDM)。(4 分,每个 1 分) + + 时分多路复用是以信道传输时间作为分割对象,通过为多个信道分配互不重叠的时间片段的方法来实现多路复用。时分多路复用将用于传输的时间划分为若干个时间片段,每个用户分得一个时间片。 + + 频分多路复用的基本原理是:如果每路信号以不同的载波频率进行调制,而且各个载波频率是完全独立的,即各个信道所占用的频带不相互重叠,相邻信道之间用“警戒频带”隔离,那么每个信道就能独立地传输一路信号。 + + 波分复用:同一根光纤内传输多路不用波长的光信号,以提高单根光纤的传输能力。因为光通信的光源在光通信的“窗口”上只占用了很窄的一部分,还有很大的范围没有利用。 + + 码分多址是采用地址码和时间、频率共同区分信道的方式。CDMA 的特征是每个用户有特定的地址码,而地址码之间相互具有正交性,因此各用户信息的发射信号在频率、时间和空间上都可能重叠,从而使有限的频率资源得到利用。 + + (每个原理 1.5 分,共 6 分) + +
+ + *** + +2. TCP 进行链接建立时需要通过三次握手,请回答如下几个问题: + + (1)假设主机 B 收到一个从主机 A 发送过来的旧的 SYN 报文段,请求建立 TCP 连接。请说明三次握手过程中是如何识别该 SYN 是旧的,并拒绝此次建连请求的。(5 分) + + (2)假设主机 B 收到一个从主机 A 发送过来的旧的 SYN 报文段,并紧跟一个从主机 A 发送过来的旧的对主机 B 发送的 SYN 报文段的确认 ACK(即该 ACK 也是旧的)。该 TCP 连接请求是否会被拒绝?为什么?(5 分) + +
+ 答案: + + 在三次握手建立连接过程中,双方必须确保选用的初始序列号是唯一的。(2 分) + + 如果主机 B 收到了一个从主机 A 发送过来的旧的 SYN 报文,主机 B 将会基于该旧 SYN 报文里的旧序列号确认该连接请求,并发送 ACK。当主机 A 接收到 B 发过来的 ACK 报文后,主机 A 将会发现主机 B 收到了一个具有错误序列号的报文。主机 A 将会将该 ACK 丢弃并拒绝该连接请求。(3 分) + + 该连接请求也会被拒绝。(2 分) + + 当主机 B 收到一个旧的 SYN 报文请求建立连接时,B 会发送给 A 一个 SYN 报文并设置一个唯一的序列号。当 B 收到一个从 A 发送过来的旧 ACK 时,B 将会通知 A 该连接请求是无效的,因为旧 ACK 的序列号跟之前 B 设置的序列号不一致。所以,该连接请求将会被拒绝。(3 分) + +
+ + *** + +3. 简要描述流量控制和拥塞控制的区别?以及 TCP 拥塞控制的四种算法? + +
+ 答案: + + (1)流量控制和拥塞控制: + + 流量控制:是为了控制发送方的发送速率,让发送方的发送速率不要太快,确保接收方来得及接收。具体来说,TCP 是利用滑动窗口机制来实现对发送方的流量控制,接收方通过在发送的确认报文中填写窗口字段来控制发送方窗口大小,从而限制发送方的发送速率。(3 分) + + 拥塞控制:是防止过多的数据注入网络中,从而确保网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。(3 分) + + (2)TCP 拥塞控制主要有四种算法,包括慢开始(slow-start)、拥塞避免(Congestion Avoidance)、快重传(Fast Retransmit)、快恢复(Fast Recovery)。(4 分,每个 1 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..cb10a3b --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,389 @@ +--- +title: 2021-2022学年上学期期中 +--- + +## 2021-2022学年上学期期中试卷(含答案) + +### 一、选择题(每空 2 分,共 20 分) + +1. 在 OSI 参考模型中,下列各层中不属于通信子网的是( )。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 会话层 + +
+ 答案: + + D + +
+ + *** + +2. OSI 参考模型中,加密和解密是( )层的功能。 + + A. 传输 + + B. 会话 + + C. 表示 + + D. 应用 + +
+ 答案: + + C + +
+ + *** + +3. 循环冗余校验 CRC 中的生成式包含( )因子时,可检测出所有的奇数位错误。 + + A. $x$ + + B. $x+1$ + + C. 1 + + D. 以上均不是 + +
+ 答案: + + B + +
+ + *** + +4. 本地电话网络采用( )交换技术。 + + A. 电路 + + B. 分组 + + C. 报文 + + D. 以上均不是 + +
+ 答案: + + A + +
+ + *** + +5. 采用位填充法进行成帧,成帧标识为 `01111110`。如果需要传送的比特串为 `0111110111111110`,则经位填充后,此比特串变为( )(不包括起始和结束标志)。 + + A. `011111001111101110` + + B. `011111001111110110` + + C. `011111010111011110` + + D. `011111101111111110` + +
+ 答案: + + A + +
+ + *** + +6. 下列描述错误的是( )。 + + A. Telnet 协议的服务端口为 23 + + B. SMTP 协议的服务端口为 25 + + C. HTTP 协议的服务端口为 80 + + D. FTP 协议的服务端口为 31 + +
+ 答案: + + D + + FTP: 21 + +
+ + *** + +7. 数据链路层采用后退 N 帧(Go-Back-N)协议,假设发送窗口 $W_s=7$,若发送方已经发送了编号为 0~6 的帧,当计时器超时时,若发送方只收到 0、2、3 号帧的确认,则发送方需要重发的帧序号是哪些?( ) + + A. 1,4,5,6 + + B. 4,5,6 + + C. 1,2,3,4,5,6 + + D. 0,1,2,3 + +
+ 答案: + + B + +
+ + *** + +8. 在 OSI 模型中,一个层 N 与它的上层(第 N+1 层)的关系是( )。 + + A. 第 N 层为第 N+1 层提供服务 + + B. 第 N+1 层把从第 N 层接收到的信息添加一个报头 + + C. 第 N 层使用第 N+1 层提供的服务 + + D. 第 N 层与第 N+1 层相互没有关系 + +
+ 答案: + + A + +
+ + *** + +9. E1 载波的基本帧由 32 个子信道组成。其中 30 个子信道用于传送语音数据,2 个子信道用于传送控制信令。该基本帧的传送时间为( )。 + + A. 100ms + + B. 200μs + + C. 125μs + + D. 150μs + +
+ 答案: + + C + +
+ + *** + +10. 光纤分为单模光纤和多模光纤,这两种光纤的区别是( )。 + + A. 单模光纤的数据速率比多模光纤低 + + B. 多模光纤比单模光纤传输距离更远 + + C. 单模光纤比多模光纤的价格更便宜 + + D. 多模光纤比单模光纤的纤芯直径粗 + +
+ 答案: + + D + +
+ +### 二、填空题(每空 2 分,共 20 分) + +1. ( )定理定义了无噪声信道理论上的最大数据传输速率,( )定理定义了加性白噪声信道理论上的最大数据传输速率。 + +
+ 答案: + + Nyquist/奈奎斯特;Shannon/香农 + +
+ + *** + +2. 一个 64-QAM 信号的波特率是 2000,其比特率是( )。 + +
+ 答案: + + $2000\times\log_2 64=12000bps$ + +
+ + *** + +3. 在回退 N 帧协议中,如果用 5 个 bit 序号对数据帧进行编号,发送窗口大小的最大值是( ),接收窗口大小的最大值是( )。 + +
+ 答案: + + 31;1 + +
+ + *** + +4. 若码字包含 $m$ 个信息位和 $r$ 个校验位,为了纠正单比特错误,$m$ 与 $r$ 应满足的关系是( )。常见的纠正单比特错误的纠错码是( )。 + +
+ 答案: + + $(m+r+1)\leq 2^r$;海明码 + +
+ + *** + +5. 设信道带宽为 3400HZ,采用 PCM 编码,采样周期为 $125\mu s$,每个样本量化为 128 个等级,则信道的数据率为( )。 + +
+ 答案: + + 56Kbps + +
+ + *** + +6. 4B/5B 编码是一种两级编码方案,首先要把数据变成 NRZ-I 编码,再把 4 位分为一组的代码变换成 5 单位的代码,这种编码的效率是( )。 + +
+ 答案: + + 0.8 + +
+ + *** + +7. 在异步通信中,每个字符包含 1 位起始位、7 位数据位、1 位奇偶位和 2 位终止位,每秒钟传送 100 个字符,则有效数据速率为( )。 + +
+ 答案: + + 700bps + +
+ +### 三、名词解释题(每题 4 分,共 12 分) + +1. 海明距离 + + *** + +2. Piggybacking 首先写出中文含义。 + + *** + +3. ARQ + +### 四、简答题(每题 6 分,共 12 分) + +1. 假设站点的码片序列为:A:00101110 B:01011100 C:00011011 D:01000010,假设 A 发送了数据 0,C、D 发送了数据 1。试分析 CDMA 接收方收到的码片序列是什么。 + +
+ 答案: + + (1 分)A 发送数据 0,对应的码片序列为 $(+1,+1,-1,+1,-1,-1,-1,+1)$ + + (1 分)C 发送数据 1,对应的码片序列为 $(-1,-1,-1,+1,+1,-1,+1,+1)$ + + (1 分)D 发送数据 1,对应的码片序列为 $(-1,+1,-1,-1,-1,-1,+1,-1)$ + + (3 分)收到的码片序列 $(-1,+1,-3,+1,-1,-3,+1,+1)$ + +
+ + *** + +2. 设信道带宽为 4KHz,信噪比为 20db,若传输二进制信号,则可达到的最大数据速率是多少? + +
+ 答案: + + (1 分)$10\times\log_{10}(S/N)=20$,故:$S/N=100$ + + (1 分)Shannon:$H\times\log_2(1+S/N)=4\times\log_2 101=26.64kbps$ + + (2 分)Nyquist:$2\times H\log_2 V=8kbps$ + + (2 分)故:信道的最大数据传输率为 8kbps + +
+ +### 五、(本题 10 分) + +长度为 1000 位的数据帧,在数据传输速率为 1Mbps、最大长度为 2km 的物理线路上传输。假设线路的传输延迟时间为 5ms/km,试计算下列协议中的物理通信线路可达到的最大利用率?(数据帧的序列号为 3 位,确认帧的发送时间忽略不计) + +1. 停—等协议 + +2. 回退-n 帧的滑动窗口协议 + +3. 选择性重传的滑动窗口协议。 + +
+答案: + +设 $t=0$ 表示开始传输,当 $t=1ms$ 时,第一个数据帧发送完成,当 $t=11ms$,第一个数据帧完全到达,当 $t=21ms$ 时,数据帧的确认完全到达发送端。周期是 21ms。 + +1. 利用率为:$1/21=4.8\%$ + +2. 利用率为:$7/21=33.3\%$ + +3. 利用率为:$4/21=19.0\%$ + +评分标准:共 10 分,周期分析正确得 4 分;每小题计算正确得 2 分。 + +
+ +### 六、(本题 12 分) + +假设我们要传输消息 `11100011`,并用 CRC 多项式 $x^3+1$ 来保护它不出错。 + +1. (6 分)用多项式除法确定应传输的消息。 + +2. (6 分)假设由于传输链路上的噪声,消息的最左位被反转。接收机的 CRC 计算结果是什么?接收机如何知道发生了错误? + +
+答案: + +1. 根据所采用的 CRC 多项式的阶,我们将消息 `11100011` 扩展为 `11100011000`,其对应的多项式为 $X^{10}+X^9+X^8+X^4+X^3$,然后除以 $X^3+1$。余数为 `100`;我们传输的是原始消息,并附加了剩余部分 `1110 0011 100`,即 $X^{10}+X^9+X^8+X^4+X^3+X^2$。 + +2. 传输的第一位取反为 `01100011100`,即 $X^9+X^8+X^4+X^3+X^2$;除以 `1001`($x^3+1$)得到 `10` 的余数;余数非零告诉我们发生了错误。 + +
+ +### 七、(本题 14 分) + +若窗口序号位数为 3,发送窗口尺寸为 4,采用 Go-back-N 法,试根据发送及接收窗口变化图示分析各图中相继发生了哪些事件? + +![](./images/2021-2022学年上学期期中_第7题_GBN窗口变化图.png) + +
+答案: + +每个 2 分。 + +(a)发送 0 号帧; + +(b)发送 1 号帧; + +(c)接收 0 号帧; + +(d)接收 0 号帧的确认; + +(e)发送 2 号帧; + +(f)接收 1 号帧; + +(g)接收 1 号帧的确认。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..cf7c5ff --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,536 @@ +--- +title: 2021-2022学年上学期期末 +--- + +## 2021-2022学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. Ethernet 采用的媒体访问控制方式是( )。 + + A. ALOHA + + B. CSMA/CD + + C. CSMA/CA + + D. 令牌环 + +
+ 答案: + + B + +
+ + *** + +2. 下列属于合法 IPv6 地址的是( )。 + + A. `123A:BC00:0000:1111:2222:0000:G125` + + B. `123A:1111.2222.3211` + + C. `123A:BC00::1111:2222::` + + D. `123A:BC00::1111:2222:0` + +
+ 答案: + + D + +
+ + *** + +3. 两个主机之间的距离是 L 千米,帧长为 K 比特,传播时延为 t 秒/千米,它们之间的信道容量为 R 比特/秒,假设处理时延可以忽略,那么当使用滑动窗口协议时,使得传输效率最大化的窗口是( )。 + + A. $\frac{2LtR+K}{K}$ + + B. $\frac{2LtR}{K}$ + + C. $\frac{2LtR+2K}{K}$ + + D. $\frac{2LtR+K}{2K}$ + +
+ 答案: + + A + +
+ + *** + +4. 假设一个 IP 报文的头部长度字段 HLEN 值为 1100(二进制),那么该报文的 options 域携带的字节数是多少:( )。 + + A. 12 + + B. 24 + + C. 28 + + D. 32 + +
+ 答案: + + C + +
+ + *** + +5. 以下关于几种多路访问控制协议的说法错误的是( )。 + + A. 目的是为了解决局域网中共用信道产生竞争时,如何分配信道使用权的问题 + + B. ALOHA 的特点是只要有数据就发送,发送前不监听信道 + + C. Nonpersistent CSMA 协议在监听到信道忙时会随机等待一段时间再尝试 + + D. 采用 CSMA/CD 时,为了保证能够检测到冲突,每个站点必须满足发送时延小于等于两倍的传播时延(即 Transmission delay <= 2 * Propagation delay)。 + +
+ 答案: + + D + +
+ + *** + +6. 比特率 $R_b$ 和波特率 $R_B$ 的关系为( ),V 是信号电平级数。 + + A. $R_b=R_B\log_2V$ + + B. $R_b=2R_B\log_2V$ + + C. $R_B=R_b\log_2V$ + + D. $R_B=2R_b\log_2V$ + +
+ 答案: + + A + +
+ + *** + +7. 以下不属于无冲突协议的是( )。 + + A. Bitmap + + B. Token Ring + + C. Binary Countdown + + D. Adaptive Tree Walk + +
+ 答案: + + D + +
+ + *** + +8. 在 Stop-and-Wait 协议算法中,使用帧序号的目的是( )。 + + A. 处理数据帧的丢失 + + B. 处理确认帧的丢失 + + C. 处理重复帧 + + D. 处理差错 + +
+ 答案: + + C + +
+ + *** + +9. 下面有关虚电路分组交换和数据报分组交换的特性描述正确的是( )。 + + A. 虚电路方式和数据报方式都为无连接的服务 + + B. 数据报方式中,分组在网络中沿同一条路径传输,并且按出发顺序到达 + + C. 虚电路在建立连接后,分组中需要携带连接标识 + + D. 虚电路方式的故障容错性比数据报方式强 + +
+ 答案: + + C + +
+ + *** + +10. 关于流量控制和拥塞控制的说法错误的是( )。 + + A. 流量控制是为了控制发送方的发送速率,确保接收方来得及接收 + + B. 拥塞控制是防止过多的数据注入网络中,从而确保网络中的路由器或链路不致过载 + + C. TCP 是利用滑动窗口机制来实现对发送方的流量控制 + + D. 拥塞控制只需要发送端和接收端参与 + +
+ 答案: + + D + +
+ +*** + +### 二、填空题(每空 1 分,共 10 分) + +1. 集线器工作在 OSI 模型的 ________ 层,交换机工作在 ________ 层,路由器工作在网络层。 + +
+ 答案: + + 物理;数据链路 + +
+ + *** + +2. 给定一个 5 比特生成多项式 10011,假设数据是 1010100100,则 CRC 校验码的值(二进制)为 ________。 + +
+ 答案: + + 0101 + +
+ + *** + +3. 动态路由协议主要包括 ________ 和 ________ 两大类。其中,________ 使用 Dijkstra 算法构建路由表。 + +
+ 答案: + + 距离矢量路由协议;链路状态路由协议;链路状态路由协议 + +
+ + *** + +4. 假设数据帧的序列号共 4 位,那么 Stop-and-Wait、Go-Back-N、Selective Repeat 三种协议对应的发送窗口大小分别是 \_\_\_\_\_\_\_\_、\_\_\_\_\_\_\_\_、\_\_\_\_\_\_\_\_。 + +
+ 答案: + + 1;15;8 + +
+ + *** + +5. IP 数据报中的 ________ 字段规定了一个数据报在被丢弃之前所允许经过的路由器数量。 + +
+ 答案: + + TTL + +
+ +*** + +### 三、计算题(本大题共 6 小题,共 40 分) + +1. Go-Back-N 协议中,假设序列号位数为 m=3,如果发送者窗口 Ws=8 而不是 7,请找出一种情况,使得在此情况下协议不能工作。(4 分) + +
+ 答案: + + 如果发送窗口 Ws=8,接收窗口 Wr=1,且发送方发出的所有数据帧都被接收方正确接收,而接收方回送的应答帧均不能达到发送方时,由发送方超时重发的数据帧将被接收方视为新的数据帧,从而协议不能正确工作。 + +
+ + *** + +2. 假设某个网络有 4 个节点 A、B、C、D,通过 slotted ALOHA 算法竞争信道;假设每个节点一直有数据包需要发送,且每个节点在每个时隙发送数据包的概率为 p。时隙从 1 开始按顺序编号。请问: + + (1)节点 A 在某个时隙成功发送数据包的概率 $P(A)$ 是多少?(2 分) + + (2)若节点 A 从时隙 1 开始按顺序尝试发送某个数据包,则此数据包在时隙 5 成功发送数据包的概率是多少?(2 分) + + (3)若将此网络中的节点个数扩展为任意值 N,slotted ALOHA 的效率为 $Np(1-p)^{N-1}$。找到使效率最大化的 p 值。(2 分) + +
+ 答案: + + (1)$P(A)=p(1-p)^3$ + + (2)时隙 5 成功发送,则代表前 4 个时隙都没有发送成功,概率为 $(1-P(A))^4*P(A)$ + + (3)$p=\frac{1}{N}$ + +
+ + *** + +3. 某端口的 IP 地址为 185.18.7.162/26,请计算: + + 该 IP 地址所在网络的子网号是多少?(1 分) + + 该子网最多能容纳多少台主机?(2 分) + + 该子网的广播地址是多少?(2 分) + +
+ 答案: + + (1)10111001.00010010.00000111.1000000 或者 185.18.7.64/26。(2 分) + + (2)因为子网掩码为 /26,所以该网络地址末尾 6 位可以用于主机 IP,即有 $2^6=64$ 个 IP 地址,减去全 0 和全 1 的地址,因为该网络可以容纳 62 个主机。(2 分) + + (3)广播地址为 10111001.00010010.00000111.10111111 或者 185.18.7.191。(1 分) + + :::tip + 第(1)问参考答案有误:`185.18.7.162/26` 的最后 6 位为主机位,因此最后一段应按 64 为块大小划分。`162` 落在 `128-191` 这一段内,所以子网号应为 `185.18.7.128/26`。 + + 对应二进制应写为 `10111001.00010010.00000111.10000000`。原参考答案中的 `10111001.00010010.00000111.1000000` 少了一个 `0`,并且由此把十进制结果写成了 `185.18.7.64/26`;更正后应为 `185.18.7.128/26`。 + ::: + +
+ + *** + +4. 如下图所示,假设该网络的每个节点初始时知道其到每个邻居的距离。使用距离矢量路由算法,回答以下问题: + + ![第4题距离矢量拓扑图](./images/2021-2022学年上学期期末_试卷A_计算题_第4题_距离矢量拓扑图.png) + + 给出节点 v2,v3 和 v5 三个节点的初始距离矢量?(3 分) + + 当 v5 收到来自邻居节点 v2 和 v3 的距离矢量以后,请问 v5 如何更新自己的距离矢量和下一跳?(2 分) + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v2 | | | | | | + | v3 | | | | | | + | v5 | | | | | | + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v5 | | | | | | + | 下一跳节点 | | | | | | + +
+ 答案: + + 每行 1 分,共 3 分。 + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v2 | 1 | 0 | 3 | 无穷 | 6 | + | v3 | 无穷 | 3 | 0 | 3 | 2 | + | v5 | 无穷 | 6 | 2 | 无穷 | 0 | + + 每行 1 分,共 2 分。 + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v5 | 7 | 5 | 2 | 5 | 0 | + | 下一跳 | v2 | v3 | v3 | v3 | v5 | + +
+ + *** + +5. 无线网络中存在两个典型问题,即隐藏终端问题和暴露终端问题。下图的无线网络包含 9 个节点,每个节点周围的圆圈表示它们各自的传输范围。假定两个节点的传输在某处会产生干扰当且仅当它们同时传输并且传输区域有重叠,并假设丢包仅因为冲突造成。(6 分) + + ![第5题无线网络图](./images/2021-2022学年上学期期末_试卷A_计算题_第5题_无线网络图.png) + + 请找出以下几种场景的隐藏站点和暴露站点。 + + | 场景 | 隐藏站点 | 暴露站点 | + | --- | --- | --- | + | A 向 B 发送数据 | | | + | B 向 C 发送数据 | | | + | D 向 H 发送数据 | | | + +
+ 答案: + + 每个 1 分,共 6 分。 + + | 场景 | 隐藏站点 | 暴露站点 | + | --- | --- | --- | + | A 向 B 发送数据 | C、E、F | G、I | + | B 向 C 发送数据 | D、H | A、E、F | + | D 向 H 发送数据 | 无 | C | + + :::tip + 第二行“B 向 C 发送数据”的参考答案有误,应改为:隐藏站点为 `D`,暴露站点为 `A、F`。 + + 也就是说,原参考答案中把 `H` 列入隐藏站点、把 `E` 列入暴露站点不正确。按差集关系复核,`H` 不应出现在这一行;`E` 也不是暴露终端。原因是:当 `B` 向 `C` 发送数据后,`C` 需要向 `B` 返回确认帧,而 `E` 可以收到这个确认帧。如果 `B -> C` 传输的同时 `E` 再向其它站点发送数据,那么两个接收端返回的确认帧可能在 `E` 处发生冲突,因此不能简单把 `E` 作为暴露终端。 + ::: + +
+ + *** + +6. 一个 TCP 连接经历了下图所示的拥塞窗口变化,请回答以下问题: + + ![第6题拥塞窗口图](./images/2021-2022学年上学期期末_试卷A_计算题_第6题_拥塞窗口图.png) + + 该 TCP 采用的是哪种版本协议,Tahoe 还是 Reno?为什么?(2 分) + + 列出该 TCP 链接的慢启动时间段。(2 分) + + 列出该 TCP 链接拥塞避免阶段的时间段。(2 分) + + 在第 9 轮传输后,拥塞窗口减少是因为发送端收到了三个重复的 ACK,还是因为 timeout,为什么?(2 分) + + 在第 14 轮传输后,拥塞窗口减少是因为发送端收到了三个重复的 ACK,还是因为 timeout,为什么?(2 分) + + 第 1 轮传输时拥塞窗口的初始 Threshold 是多少?为什么?第 16 轮传输时拥塞窗口的 Threshold 是多少?为什么?(4 分) + +
+ 答案: + + Reno。因为在时刻 10 发生丢包后,并没有进入慢启动,而是采用了快重传和快恢复。 + + 协议 1 分,理由 1 分。 + + [1,5] 和 [15,17] + + [5,9] 和 [10,14] + + 因为发送端收到了三个重复 ACK。如果是 timeout,则拥塞窗口会降为 1。 + + 减少原因 1 分,解释 1 分。 + + timeout。因为窗口降为 1。 + + 减少原因 1 分,解释 1 分。 + + | | 拥塞窗口 Threshold 值 | 理由 | 计分标准 | + | --- | --- | --- | --- | + | 第 1 轮传输 | 16 | 因为在窗口为 16 时慢启动阶段结束同时拥塞避免阶段开始。 | 每空一分 | + | 第 16 轮传输 | 7 | 因为当丢包发生后,窗口 Threshold 减少至丢包发生前的一半,在丢包发生前,即第 14 轮的窗口大小为 14,所以新的窗口 threshold 为 7。 | 每空一分 | + +
+ +*** + +### 四、分析题(共 30 分) + +1. 现有如下一个网络拓扑,请回答以下几个问题。 + + ![第1题网络拓扑图](./images/2021-2022学年上学期期末_试卷A_分析题_第1题_网络拓扑图.png) + + (1)假设主机 A、B、C、D 所在网络的 MTU 值都为 1020 字节。现在主机 C 要发送一个数据报文到主机 A,报文的 IP 头部信息如下所示。请问,该 IP 分组需要切分为几个分片?并在下标中填写出每个分片的数据字段长度、ID、偏移字段和 MF 标志的具体值。(4 分) + + ![第1题IP头部图](./images/2021-2022学年上学期期末_试卷A_分析题_第1题_IP头部图.png) + + | 数据报分片 | 数据字段长度 | ID | Offset | MF 标志 | + | --- | --- | --- | --- | --- | + | 1st fragment | | | | | + | 2nd fragment | | | | | + | ... | | | | | + + (2)假设主机 A 的 ARP 表初始为空,现 A 想要发送一个 IP 分组给 B。请分析并填写以下几种数据帧的头部信息。(6 分) + + | 消息 | 源 MAC 地址 | 目的 MAC 地址 | 源 IP 地址 | 目的 IP 地址 | + | --- | --- | --- | --- | --- | + | ARP Request | | | | | + | ARP Reply | | | | | + | IP Frame | | | | | + + (3)主机 C 向 D 发送一个 IP 分组,该分组是否需要经过路由器进行转发?为什么?(3 分) + + (4)主机 C 向主机 B 发送一个 IP 分组,在交付给路由器的包含 IP 数据分组的以太网帧里,源和目的 IP,源和目的 MAC 地址分别是什么?假如源 IP 分组的 TTL 值为 25,经过路由器后,TTL 将变为多少?(5 分) + + | | | + | --- | --- | + | 源 IP 地址 | | + | 目的 IP 地址 | | + | 源 MAC 地址 | | + | 目的 MAC 地址 | | + | 经过路由器后的 TTL 值 | | + + (5)假设该路由器具有 NAT 功能。现在,主机 A 的一个应用程序(采用端口号 3345)要发送数据给外网主机 X,X 对应的公网 IP 地址为 128.119.40.186:80(80 为端口号)。NAT 设备在将主机 A 的报文发送到外网时,会将其私网地址转换为公网地址 138.76.29.7:5001。 + + a)请给出 NAT 设备上的 NAT 转换表。(4 分) + + | NAT 转换表 | NAT 转换表 | + | --- | --- | + | WAN 侧地址 | LAN 侧地址 | + | | | + + b)请分析 AX 以及 XA 数据发送过程中地址是如何进行转换的,并填写下表。(8 分) + + | 传输方向 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之后 | 经过 NAT 之后 | 经过 NAT 之后 | 经过 NAT 之后 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | 传输方向 | 源 IP | 源端口号 | 目的 IP | 目的端口号 | 源 IP | 源端口号 | 目的 IP | 目的端口号 | + | AX | | | | | | | | | + | XA | | | | | | | | | + +
+ 答案: + + (1)需要分为 3 个数据报片。(1 分) + + 具体信息如下:(每行 1 分,共 3 分) + + | 数据报分片 | 数据字段长度 | ID | Offset | MF 标志 | + | --- | --- | --- | --- | --- | + | 1st fragment | 1000 B | 12342 | 0 | 1 | + | 2nd fragment | 1000 B | 12342 | 125 | 1 | + | 3rd fragment | 980 B | 12342 | 250 | 0 | + + (2)每空 0.5 分,共 6 分。 + + | 消息 | 源 MAC 地址 | 目的 MAC 地址 | 源 IP 地址 | 目的 IP 地址 | + | --- | --- | --- | --- | --- | + | ARP Request | 11:11:11:11:11:11 | 00:00:00:00:00:00 | 192.168.1.1 | 192.168.1.2 | + | ARP Reply | 22:22:22:22:22:22 | 11:11:11:11:11:11 | 192.168.1.2 | 192.168.1.1 | + | IP Frame | 11:11:11:11:11:11 | 22:22:22:22:22:22 | 192.168.1.1 | 192.168.1.2 | + + (3)不需要。因为 C 和 D 同属于一个局域网。 + + (4)每空 1 分,共 5 分。 + + | | | + | --- | --- | + | 源 IP 地址 | 192.168.2.1 | + | 目的 IP 地址 | 192.168.1.2 | + | 源 MAC 地址 | 33:33:33:33:33:33 | + | 目的 MAC 地址 | 66:66:66:66:66:66 | + | 经过路由器后的 TTL 值 | 24 | + + (5)a)每空 2 分,共 4 分。 + + | NAT 转换表 | NAT 转换表 | + | --- | --- | + | WAN 侧地址 | LAN 侧地址 | + | 138.76.29.7, 5001 | 192.168.1.1, 3345 | + + b)每空 0.5 分,共 8 分。 + + | 传输方向 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之前 | 经过 NAT 之后 | 经过 NAT 之后 | 经过 NAT 之后 | 经过 NAT 之后 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | 传输方向 | 源 IP | 源端口号 | 目的 IP | 目的端口号 | 源 IP | 源端口号 | 目的 IP | 目的端口号 | + | AX | 192.168.1.1 | 3345 | 128.119.40.186 | 80 | 138.76.29.7 | 5001 | 128.119.40.186 | 80 | + | XA | 128.119.40.186 | 80 | 138.76.29.7 | 5001 | 128.119.40.186 | 80 | 192.168.1.1 | 3345 | + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..b25bde0 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,455 @@ +--- +title: 2022-2023学年上学期期中 +--- + +## 2022-2023学年上学期期中试卷(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. 点到点访问最常见的协议是点到点协议(PPP),它是一种( )协议。 + + A. 面向比特的 + + B. 面向字节的 + + C. 面向字符的 + + D. 以上均不正确 + +
+ 答案: + + B + +
+ + *** + +2. OSI 模型中的第二、第三、第四、第六层分别是( )。 + + A. 物理层、网络层、会话层、传输层 + + B. 数据链路层、网络层、传输层、会话层 + + C. 物理层、数据链路层、传输层、应用层 + + D. 数据链路层、网络层、传输层、表示层 + +
+ 答案: + + D + +
+ + *** + +3. PCM 是( )转换的一个实例。 + + A. 数字到数字 + + B. 模拟到数字 + + C. 模拟到模拟 + + D. 数字到模拟 + +
+ 答案: + + B + +
+ + *** + +4. 循环冗余校验 CRC 中的生成式包含( )因子时,可检测出所有的奇数位错误。 + + A. $x$ + + B. $x^2+x+1$ + + C. $x+1$ + + D. 以上均不是 + +
+ 答案: + + C + +
+ + *** + +5. 若数据链路层的发送窗口尺寸 $W_T=15$,在发送 7 号帧、并接到 5 号帧的确认帧后,发送方还可连续发送( )。 + + A. 4 帧 + + B. 5 帧 + + C. 10 帧 + + D. 13 帧 + +
+ 答案: + + D + +
+ + *** + +6. 设信道带宽为 4000HZ,采用 PCM 编码,采样周期为 $125\mu s$,每个样本量化为 128 个等级,则信道的数据率为( )。 + + A. 10Kb/s + + B. 16Kb/s + + C. 56Kb/s + + D. 64Kb/s + +
+ 答案: + + C + +
+ + *** + +7. 下列对 ADSL 网络的描述哪些是错误的?( ) + + A. 采用普通电话线作为传输介质 + + B. 当语音通话时,不能使用网络通信 + + C. 上行线和下行线通信带宽不同 + + D. ADSL 是一种异步传输模式 + +
+ 答案: + + B + +
+ + *** + +8. 在停止-等待协议中,当发送端所发送的数据帧出现丢失时,由于接收端收不到数据帧,也就不会给发送端发回相应的确认帧,则发送端会永远等待下去,解决这种死锁现象的办法是( )。 + + A. 检错码 + + B. 帧编号 + + C. NAK 机制 + + D. 超时重传 + +
+ 答案: + + D + +
+ + *** + +9. 在 OSI 模型中,一个层 N 与它的上层(第 N+1 层)的关系是( )。 + + A. 第 N 层为第 N+1 层提供服务 + + B. 第 N+1 层把从第 N 层接收到的信息添加一个报头 + + C. 第 N 层使用第 N+1 层提供的服务 + + D. 第 N 层与第 N+1 层相互没有关系 + +
+ 答案: + + A + +
+ + *** + +10. 以下关于海明码的说法正确的是( ) + + A. 海明码利用奇偶性进行检错和纠错 + + B. 海明码可以检测多个错误位 + + C. 海明码可以检错但不能纠错 + + D. 海明码中数据位的长度与校验位的长度必须相同 + +
+ 答案: + + A/B + +
+ +### 二、填空题(每空 2 分,共 16 分) + +1. OSI 参考模型的三个主要概念是接口、服务和( )。 + +
+ 答案: + + 协议 + +
+ + *** + +2. 在一个 3000Hz 带宽的信道上传输二进制信号,信道信噪比 20dB,则该信道的最大传输速率是( )。 + +
+ 答案: + + 6kbps + +
+ + *** + +3. 在回退 N 帧协议中,如果用 5 个 bit 序号对数据帧进行编号,发送窗口大小的最大值是( ),接收窗口大小的最大值是( )。 + +
+ 答案: + + 31;1 + +
+ + *** + +4. 一种编码的检错能力和纠错能力取决于它的海明距离。海明距离为 $d+1$ 的编码能检测出( )个比特错误;如果为了能纠正 $d$ 个比特错误,则需要使用海明距离为( )的编码。 + +
+ 答案: + + $d$;$2d+1$ + +
+ + *** + +5. 一个数据流中出现了这样的数据段:`A B ESC C ESC FLAG FLAG D`,假设采用字节填充法,那么填充之后的输出是( )。 + +
+ 答案: + + `A B ESC ESC C ESC ESC ESC FLAG ESC FLAG D` + +
+ + *** + +6. 若码字包含 $m$ 个信息位和 $r$ 个校验位,为了纠正单比特错误,$m$ 与 $r$ 应满足的关系是( )。 + +
+ 答案: + + $(m+r+1)\leq 2^r$ + +
+ +### 三、名词解释(本大题共 4 小题,每小题 4 分,共 16 分) + +1. 循环冗余校验码 CRC + +
+ 答案: + + 略 + +
+ + *** + +2. 海明距离 + +
+ 答案: + + 略 + +
+ + *** + +3. 半双工通信 + +
+ 答案: + + 略 + +
+ + *** + +4. Sliding Window + +
+ 答案: + + 略 + +
+ +### 四、简答题(本大题共 3 小题,每小题 6 分,共 18 分) + +1. 请描述不归零编码 NRZ 和归零编码 RZ 的基本原理,并简要介绍两者的优缺点。 + +
+ 答案: + + ![](./images/2022-2023学年上学期期中_简答题_第1题_NRZ_RZ编码图.png) + +
+ + *** + +2. 请列举四种多路复用的类型,并简要介绍其实现原理。 + +
+ 答案: + + 多路复用分为:时分多路复用,频分多路复用,波分多路复用和码分多路复用。 + + 时分多路复用是以信道传输时间作为分割对象,通过为多个信道分配互不重叠的时间片段的方法来实现多路复用。时分多路复用将用于传输的时间划分为若干个时间片段,每个用户分得一个时间片。时分多路复用通信,是各路信号在同一信道上占有不同时间片进行通信。 + + 频分多路复用的基本原理是:如果每路信号以不同的载波频率进行调制,而且各个载波频率是完全独立的,即各个信道所占用的频带不相互重叠,相邻信道之间用“警戒频带”隔离,那么每个信道就能独立地传输一路信号。 + + 波分复用用同一根光纤内传输多路不同波长的光信号,以提高单根光纤的传输能力。 + + 码分多址是采用地址码和时间、频率共同区分信道的方式。CDMA 的特征是每个用户有特定的地址码,而地址码之间相互具有正交性,因此各用户信息的发射信号在频率、时间和空间上都可能重叠,从而使用有限的频率资源得到利用。 + +
+ + *** + +3. 请解释为何选择重传协议中要设置以下语句? + + ```c + #define NR_BUFS ((MAX_SEQ + 1)/2) + ``` + +
+ 答案: + + 该协议将窗口的最大尺寸设置为不超过序号空间的一半。 + + 这么做是为了确保接收方向前移动窗口之后,新窗口与老窗口的序号没有重叠。 + + 如果不这么设置,当接收方向前移动它的窗口后,新的有效序号范围与老的序号范围有重叠。因此,后续的一批帧可能是重复的帧(如果所有的确认都丢失了),也可能是新的帧(如果所有的确认都接收到了),而接收方根本无法区分这两种情形,将会导致往网络层传递不正确的数据包。 + +
+ +### 五、计算题(本大题共 5 小题,每小题 6 分,共 30 分) + +1. 假设站点的码片序列为:A:00101110 B:01011100 C:00011011 D:01000010,假设 A 发送了数据 0,C、D 发送了数据 1。试分析 CDMA 接收方收到的码片序列是什么。 + +
+ 答案: + + A 发送数据 0,对应的码片序列为 $(+1,+1,-1,+1,-1,-1,-1,+1)$ + + C 发送数据 1,对应的码片序列为 $(-1,-1,-1,+1,+1,-1,+1,+1)$ + + D 发送数据 1,对应的码片序列为 $(-1,+1,-1,-1,-1,-1,+1,-1)$ + + 收到的码片序列 $(-1,+1,-3,+1,-1,-3,+1,+1)$ + +
+ + *** + +2. 设两站间信道速率为 20kb/s,采用停止等待协议,传播时延 $t_p=30ms$,确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 50%。 + +
+ 答案: + + 在确认帧长度和处理时间均可忽略的情况下,要使信道利用率达到至少 50% 必须使数据帧的发送时间等于往返传播时延,即两倍的单向传播时延。 + + 即: + + $$t_t=2t_p$$ + + 已知: + + $$t_t=\frac{L}{C}$$ + + 其中 $C$ 为信道容量,$L$ 为帧长(以比特为单位)。 + + 所以得帧长 + + $$L=2t_pC=2\times30ms\times20kb/s=1200\ bits$$ + +
+ + *** + +3. 长度为 2000 位的数据帧,在数据传输速率为 1Mbps、最大长度为 1km 的物理线路上传输。假设线路的单向传输延迟时间为 199ms/km,试计算下列协议中发送者的发送窗口大小,以及每种协议下物理通信线路可达到的最大利用率?(数据帧的序列号为 4 位,确认帧的发送时间忽略不计) + + (1)stop-and-wait 协议 + + (2)Go-Back-N 帧的滑动窗口协议 + + (3)Selective Repeat 的滑动窗口协议 + +
+ 答案: + + 对应三种协议的窗口大小值分别是 1、15(窗口大小为 $2^m-1$)和 8(窗口大小为 $2^{m-1}$)。 + + 以 1Mb/s 发送,2000bit 长的帧的发送时间为 2ms。1km 的线路传输时延为 199ms。用 $t=0$ 表示传输开始的时间,那么在 $t=2ms$ 时,第一帧发送完毕;$t=2+199=201ms$ 时,第一帧完全到达接收方;$t=201+199=400ms$ 时,对第一帧的确认帧完全到达发送方。因此一个发送周期为 400ms。如果在 400ms 内可以发送 $k$ 个帧,由于每一个帧的发送时间为 2ms,则信道利用率为 $2k/400$,因此: + + (1)$k=1$,最大信道利用率 $=2/400=0.5\%$ + + (2)$k=15$,最大信道利用率 $=30/400=7.5\%$ + + (3)$k=8$,最大信道利用率 $=16/400=4\%$ + +
+ + *** + +4. 要发送的数据比特序列为 `1010001101`,CRC 校验生成多项式为 $g(x)=x^5+x^4+x^2+1$,试计算 CRC 校验码。 + +
+ 答案: + + `01110` + +
+ + *** + +5. (1)请计算二进制位串 `10100101` 的偶校验海明码。 + + (2)接收方收到了一个 12 位的海明码,其 16 进制为 `0xA0F`,假设至多只有 1 位发生了错误。则原来的值用 16 进制表示是多少?(位数从右到左分别是第 1 位,第 2 位,……)。 + +
+ 答案: + + (1)`10100101` 的偶校验海明码是 `101000100111`, + + ![](./images/2022-2023学年上学期期中_计算题_第5题_偶校验海明码图.png) + + (2)`0xA4F`。 + + `0xA0F` 的二进制:`101000001111` + + ![](./images/2022-2023学年上学期期中_计算题_第5题_海明码纠错图.png) + + 第 6 位发生错误,所以原来的值为 `101001001111`,对应 16 进制 `0xA4F` + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..984a858 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1186 @@ +--- +title: 2022-2023学年上学期期末 +--- + +## 2022-2023学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 路由选择协议位于( )。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 传输层 + +
+ 答案: + + C + +
+ + *** + +2. 光纤通信中使用的复用方式是( )。 + + A. 时分多路 + + B. 波分多路 + + C. 频分多路 + + D. 码分多路 + +
+ 答案: + + B + +
+ + *** + +3. 网络层中的数据传输基本单位是( )。 + + A. 比特 + + B. 数据帧 + + C. 分组 + + D. 报文 + +
+ 答案: + + C + +
+ + *** + +4. 用户 A 与用户 B 通过卫星链路通信时,传播延迟为 270ms,假设数据速率是 64Kb/s,帧长 4000bit,若采用停等协议进行通信,则最大链路利用率为( )。 + + A. 0.104 + + B. 0.116 + + C. 0.188 + + D. 0.231 + +
+ 答案: + + A + +
+ + *** + +5. 在 OSI 参考模型中,实现端到端的应答、分组排序和流量控制功能的协议层是( )。 + + A. 数据链路层 + + B. 网络层 + + C. 传输层 + + D. 应用层 + +
+ 答案: + + C + +
+ + *** + +6. 若采用回退 N 帧 ARQ 协议进行流量控制,帧编号为 7 位,则发送窗口的最大长度为( )。 + + A. 128 + + B. 127 + + C. 8 + + D. 7 + +
+ 答案: + + B + +
+ + *** + +7. 以太网中如果发生介质访问冲突,按照二进制指数后退算法决定下一次重发的时间,使用二进制后退算法的理由是( )。 + + A. 这种算法简单 + + B. 这种算法执行速度快 + + C. 这种算法与网络的规模大小无关 + + D. 这种算法考虑了网络负载对冲突的影响 + +
+ 答案: + + D + +
+ + *** + +8. 使用海明码进行前向纠错,如果冗余位为 4 位,那么信息位最多可以用到( )位。 + + A. 6 + + B. 7 + + C. 8 + + D. 11 + +
+ 答案: + + D + +
+ + *** + +9. 设信号的波特率为 600Baud,采用幅度-相位复合调制技术,由 4 种幅度和 4 种相位组成 16 种码元,则信道的数据率为( )。 + + A. 600b/s + + B. 2400b/s + + C. 4800b/s + + D. 9600b/s + +
+ 答案: + + B + +
+ + *** + +10. 若信息码字为 11100011,生成多项式 $G(X)=X^5+X^4+X+1$,则计算出的 CRC 校验码为( )。 + + A. 01101 + + B. 11010 + + C. 001101 + + D. 0011010 + +
+ 答案: + + B + +
+ + *** + +11. 内部网关协议 RIP 是一种广泛使用的基于( )的协议。 + + A. 链路状态算法 + + B. 距离矢量算法 + + C. 集中式路由算法 + + D. 固定路由算法 + +
+ 答案: + + B + +
+ + *** + +12. 四次握手方法用于( )。 + + A. 传输层连接的建立 + + B. 传输层连接的释放 + + C. 传输层的重复检测 + + D. 传输层的流量控制 + +
+ 答案: + + B + +
+ + *** + +13. 以下给出的地址中,属于子网 192.168.15.19/28 的主机地址是( )。 + + A. 192.168.15.17 + + B. 192.168.15.14 + + C. 192.168.15.16 + + D. 192.168.15.31 + +
+ 答案: + + A + +
+ + *** + +14. IP 地址为 145.110.0.0 的 B 类网络,若要切割为 9 个子网,而且都要连上 Internet,请问子网掩码设为( )。 + + A. 255.0.0.0 + + B. 255.255.0.0 + + C. 255.255.128.0 + + D. 255.255.240.0 + +
+ 答案: + + D + +
+ + *** + +15. 不使用面向连接传输服务的应用层协议是( )。 + + A. SMTP + + B. FTP + + C. HTTP + + D. SNMP + +
+ 答案: + + D + +
+ +*** + +### 二、填空题(每空 1 分,共 15 分) + +1. 有两种基本的差错控制编码,即 ________ 和纠错码,在计算机网络和数据通信中广泛使用的一种纠错码为 ________。 + +
+ 答案: + + 检错码;海明码 + +
+ + *** + +2. 若数据帧的数据段中出现比特串“010111110”,则比特填充后的输出为 ________。 + +
+ 答案: + + 0101111100 + +
+ + *** + +3. 超五类非屏蔽双绞线由 ________ 对导线组成。 + +
+ 答案: + + 4 + +
+ + *** + +4. ________ 是 IEEE 802.11 无线局域网的 MAC 子层协议,主要用于解决无线局域网的信道共享访问问题。 + +
+ 答案: + + CSMA/CA + +
+ + *** + +5. 下图所示的信号调制方式中,(a)是 ________ 调制,(b)是 ________ 调制。 + + ![第5题调制方式图](./images/2022-2023学年上学期期末_试卷A_填空题_第5题_调制方式图.png) + +
+ 答案: + + 振幅;频率 + +
+ + *** + +6. 将 IP 数据报头中的私有 IP 地址转换为公网 IP 地址的协议是 ________。 + +
+ 答案: + + NAT + +
+ + *** + +7. 当 TCP 实体要建立连接时,其段头中的 SYN 标志设置为 ________。 + +
+ 答案: + + 1 + +
+ + *** + +8. IEEE802.3 规定了一个数据帧的长度为 ________ 字节到 ________ 字节之间。 + +
+ 答案: + + 64;1518 + +
+ + *** + +9. 无类别域间路由(CIDR)技术有效的解决了路由缩放问题。使用 CIDR 技术把 4 个网络 C1:192.24.0.0/21,C2:192.24.16.0/20,C3:192.24.8.0/22,C4:192.24.34.0/23 汇聚成一条路由信息,得到的网络地址是 ________。 + +
+ 答案: + + 192.24.0.0/18 + +
+ + *** + +10. 常用的 IP 地址有 A、B、C 三类,128.11.3.31 是一个 ________ 类 IP 地址,其网络标识(netid)为 ________,主机标识(hosted)为 ________。 + +
+ 答案: + + B;128.11;3.31 + +
+ +*** + +### 三、计算题(本大题共 6 小题,共 40 分) + +1. (6 分)如果主机 A 到主机 B 相距 3000km,信道的传输速率为 1Mbps,信号传播速率为 200km/ms,发送的数据帧和确认帧长都为 64 字节。A 和 B 之间采用回退 N 帧协议(协议 5)或选择性重发协议(协议 6)进行差错控制和流量控制。请回答以下问题: + + (1)要使信道的利用率达到最高,如果采用协议 5,帧序号应该为多少位? + + (2)要使信道的利用率达到最高,如果采用协议 6,帧序号应该是多少位? + +
+ 答案: + + (2 分)发送一个帧至收到该帧的确认所需要的时间 $T$ 为 $2*(64*8/1M+3000km/200)=2*(0.512ms+15ms)=2*15.512=31.024ms$,在 31.024ms 中可以发送的帧数为 60.6。 + + (1)(2 分)用协议 5,序号为 6 位。 + + (2)(2 分)用协议 6,序号为 7 位。 + +
+ + *** + +2. (6 分)某接收端收到 16 位海明码为 0x8a10,试分析发送端发送的原始数据为多少?(假设海明码中不会出现多于 1 位错,位置从左至右递增编号) + +
+ 答案: + + 第 1 位校验第 1, 3, 5, 7, 9, 11, 13, 15 位(非偶检验码)(1 分) + + 第 2 位校验第 2, 3, 6, 7, 10, 11, 14, 15 位(非偶检验码)(1 分) + + 第 4 位校验第 4, 5, 6, 7, 12, 13, 14, 15 位(非偶检验码)(1 分) + + 第 8 位校验第 8, 9, 10, 11, 12, 13, 14, 15 位(非偶检验码)(1 分) + + 第 16 位校验第 16 位(偶检验码)(1 分) + + 故,第 $1+2+4+8=15$ 位有错,因此正确的海明码为:1000 1010 0001 0010,发送的原始数据为:0101 0001 001(1 分) + +
+ + *** + +3. (6 分)一台 TCP 机器正在通过一条 1Gbps 的信道发送满窗口的 65535 字节数据,该信道的单向延迟时间为 10 毫秒。试问可以达到的最大吞吐量是多少?线路的效率是多少? + +
+ 答案: + + RTT = 单向时延 * 2 = 20ms。(2 分) + + 吞吐量 = $65536*8/RTT=26.214Mbps$。(2 分) + + 线路效率 = $26.214Mbps/1Gbps=2.6214\%$。(2 分) + +
+ + *** + +4. (6 分)一个 1km 长的 10Mbps 的 CSMA/CD 局域网(不是 802.3),其传播速度为 200 米/微秒。数据帧长度是 256 位,其中包括用于帧头、校验和以及其他开销的 32 位。传输成功后的第一个时隙被留给接收方,用来捕捉信道并发送一个 32 位的确认帧。假设没有冲突发生,试计算有效数据率(不包括开销)是多少? + +
+ 答案: + + 首先计算信号在信道上的 RTT,得 RTT = 10μsec。因此,可以认为 slot 的长度也是 10μsec。对于无冲突的一次传输过程,有以下几步: + + 发送方监听一个完整的 slot,确认信道空闲,准备发送帧,用时 10μsec; + + 发送方发送帧,用时 25.6μsec; + + 等待该帧完全到达接收方,用时 5μsec; + + 接收方也要监听一个完整的 slot,确认信道空闲,准备发送 ack,用时 10μsec; + + 接收方发送 ack 帧,用时 3.2μsec; + + 等待该帧完全到达发送方,用时 5μsec。 + + 上面 6 个时间相加总和是 58.8μsec。(4 分) + + 这期间总共发送的有效数据为 224bit。(1 分) + + 计算有效数据率得 3.8Mbps。(1 分) + +
+ + *** + +5. (6 分)某通信子网拓扑结构如下图所示,采用链路状态路由算法,试分析路由器 X 的路由表并填写下表。 + + ![第5题路由拓扑图](./images/2022-2023学年上学期期末_试卷A_计算题_第5题_路由拓扑图.png) + + | 目的 | 下一跳 | 代价 | + | --- | --- | --- | + | S | (1) | (2) | + | T | (3) | (4) | + | U | (5) | (6) | + | V | (7) | (8) | + | W | W | 1 | + | Y | (9) | (10) | + | Z | (11) | (12) | + +
+ 答案: + + | 目的 | 下一跳 | 代价 | + | --- | --- | --- | + | s | W | 6 | + | t | W | 5 | + | u | W | 3 | + | v | W | 2 | + | w | W | 1 | + | y | W | 3 | + | z | W | 7 | + +
+ + *** + +6. (10 分)如下所示网络中有 CS 和 EE 两个以太局域网,并已分别为部分主机和路由器接口分配了 IP 地址。Mac1-Mac40 以及 E1-E2 分别为主机以及路由器端口的 MAC 地址,Hcs-1 向 Hcs-2 发送了数据帧 F1,Hcs-1 向 Hee-1 发送了数据帧 F2。请回答下列问题。 + + ![第6题CS_EE网络图](./images/2022-2023学年上学期期末_试卷A_计算题_第6题_CS_EE网络图.png) + + CS、EE 以太局域网的广播地址和子网地址分别是什么? + + 填写下表。 + + | 数据帧 | 源 IP 地址 | 源 MAC 地址 | 目的 IP 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | 以太网 CS 中的 F1 | IP1 | (1) | IP2 | (2) | + | 以太网 CS 中的 F2 | IP1 | (3) | IP21 | (4) | + | 以太网 EE 中的 F2 | IP1 | (5) | IP21 | (6) | + +
+ 答案: + + (1) + + CS 以太局域网广播地址为 192.168.1.127,EE 以太局域网广播地址为 192.168.1.255。 + + CS 以太局域网的子网地址为 192.168.1.0/25,EE 以太局域网的子网地址为 192.168.1.128/25。(4 分) + + (2)(6 分) + + | 数据帧 | 源 IP 地址 | 源 MAC 地址 | 目的 IP 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | 以太网 CS 中的 F1 | IP1 | Mac1 | IP2 | Mac2 | + | 以太网 CS 中的 F2 | IP1 | Mac1 | IP21 | E1 | + | 以太网 EE 中的 F2 | IP1 | E2 | IP21 | Mac21 | + +
+ +*** + +### 四、分析题(共 15 分) + +1. (15 分)TCP 拥塞窗口 cwnd 大小与 RTT 的关系如下表所示: + + | cwnd | 1 | 2 | 4 | 8 | 16 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | RTT | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | + | cwnd | 40 | 41 | 42 | 21 | 22 | 23 | 24 | 25 | 26 | 1 | 2 | 4 | 8 | + | RTT | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | + + 试画出拥塞窗口与 RTT 的关系曲线。(2 分) + + 指明 TCP 工作在慢启动阶段的时间段。(2 分) + + 指明 TCP 链接拥塞避免阶段的时间段。(2 分) + + 在 RTT=16、RTT=22 之后发送方是通过收到的三个重复的确认还是通过超时检测到丢失了报文段?(2 分) + + 在 RTT=1,RTT=20 和 RTT=26 时,阈值 ssthresh 分别被设置为多大?(3 分) + + 在 RTT 等于多少时发送出第 80 个报文段?(2 分) + + 假定在 RTT=26 之后收到了三个重复的确认,因而检测出了报文段的丢失那么拥塞窗口 cwnd 和阈值 ssthresh 应设置为多大?(2 分) + +
+ 答案: + + (1)(2 分) + + ![第1题拥塞窗口答案图](./images/2022-2023学年上学期期末_试卷A_分析题_第1题_拥塞窗口答案图.png) + + (2)A 点到 B 点,F 点 G 点,是慢开始阶段。即 [RTT=1,RTT=6](1 分),[RTT=23,RTT=26](1 分) + + (3)B 点到 C 点,D 点到 E 点,是拥塞避免阶段。即 [RTT=6,RTT=16](1 分),[RTT=17,RTT=22](1 分) + + (4)RTT=16,是 C 点处,是收到了三个确认 ACK;(1 分) + + RTT=22,是 E 点,是发送方通过超时检测到丢失了报文段。(1 分) + + (5)RTT=1,阈值 ssthresh 是 32。(1 分) + + RTT=20 时,阈值 ssthresh 是 21。(1 分) + + RTT=26 时,阈值 ssthresh 是 13。(1 分) + + (6)RTT=7,发送了第 80 个报文段。(2 分) + + (7)拥塞窗口 cwnd 设置为 4(1 分);阈值 ssthresh 应设置为 4(1 分)。 + +
+ +*** + +## 2022-2023学年上学期期末试卷(B)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 在 OSI 模型中,一个层 N 与它的上层(第 N+1 层)的关系是( )。 + + A. 第 N 层为第 N+1 层提供服务 + + B. 第 N+1 层把从第 N 层接收到的信息添加一个报头 + + C. 第 N 层使用第 N+1 层提供的服务 + + D. 第 N 层与第 N+1 层相互没有关系 + +
+ 答案: + + A + +
+ + *** + +2. 以下关于计算机网络特征的描述中,哪一个是错误的?( ) + + A. 计算机网络建立的主要目的是实现计算机资源的共享 + + B. 网络用户可以调用网中多台计算机共同完成某项任务 + + C. 联网计算机既可以联网工作也可以脱网工作 + + D. 联网计算机必须作用统一的操作系统 + +
+ 答案: + + D + +
+ + *** + +3. 关于网络体系结构,以下哪种描述是错误的?( ) + + A. 物理层完成比特流的传输 + + B. 数据链路层用于保证端到端数据的正确传输 + + C. 网络层为分组通过通信子网选择适合的传输路径 + + D. 应用层处于参考模型的最高层 + +
+ 答案: + + B + +
+ + *** + +4. 若数据链路的发送窗口尺寸 $W_T=7$,在发送 4 号帧、并接到 2 号帧的确认帧后,发送方还可连续发送( )。 + + A. 4 帧 + + B. 5 帧 + + C. 6 帧 + + D. 3 帧 + +
+ 答案: + + B + +
+ + *** + +5. 以太网采用( )协议进行多路访问控制。 + + A. CSMA/CA + + B. ALOHA + + C. CSMA/CD + + D. Bit-Map + +
+ 答案: + + C + +
+ + *** + +6. 以下各项中,不是数据报操作特点的是( )。 + + A. 每个分组自身携带有足够的信息,它的传送是被单独处理的 + + B. 在整个传送过程中,不需建立虚电路 + + C. 使所有分组按顺序到达目的端系统 + + D. 网络节点要为每个分组做出路由选择 + +
+ 答案: + + C + +
+ + *** + +7. 与 10.110.12.29,掩码 255.255.255.224 属于同一网段的主机 IP 地址是( )。 + + A. 10.110.12.0 + + B. 10.110.12.30 + + C. 10.110.12.41 + + D. 10.110.12.32 + +
+ 答案: + + B + +
+ + *** + +8. 从源向目的传送数据段的过程中,TCP 使用什么机制提供流量控制( )。 + + A. 序列号 + + B. 会话创建 + + C. 窗口大小 + + D. 确认 + +
+ 答案: + + C + +
+ + *** + +9. 以下关于不同网络拓扑特点的描述中,错误的是( )。 + + A. 星型拓扑网络的中心节点是网络性能与可靠性的瓶颈所在 + + B. 总线型拓扑网络必须解决多节点访问共享总线的介质访问控制策略问题 + + C. 环型拓扑网络的优点在于它不需要解决多节点访问总线的介质访问控制策略问题 + + D. 网状拓扑网络必须解决路由选择算法、流量控制与拥塞控制 + +
+ 答案: + + C + +
+ + *** + +10. 网桥是一种( )的设备。 + + A. 可以用于网段隔离 + + B. 具有转发帧的功能 + + C. 工作在数据链路层上 + + D. 具有以上全部功能 + +
+ 答案: + + D + +
+ + *** + +11. 以下对网络设备及接口的描述中,错误的是( )。 + + A. 中继器、集线器工作在物理层 + + B. RJ-45 接口的 8 芯连接头中,只有 1、3、5、6 四根线芯用来接收和发送数据 + + C. 中继器有两个端口 + + D. 连接在集线器上的所有计算机节点属于一个冲突域 + +
+ 答案: + + B + +
+ + *** + +12. 使用载波信号的两种不同幅度来表示二进制值的两种状态的数据编码方式称为( )。 + + A. 振幅调制 + + B. 频率调制 + + C. 相位调制 + + D. 振幅相位调制 + +
+ 答案: + + A + +
+ + *** + +13. 在下列传输介质中,哪种传输介质的抗电磁干扰性最好?( ) + + A. 双绞线 + + B. 同轴电缆 + + C. 光缆 + + D. 无线介质 + +
+ 答案: + + C + +
+ + *** + +14. 关于 TCP 协议,下列说法错误的是( )。 + + A. 可以提供可靠的数据传输服务 + + B. 可以提供面向连接的数据传输服务 + + C. 可以提供全双工的数据传输服务 + + D. 可以提供无连接的数据传输服务 + +
+ 答案: + + D + +
+ + *** + +15. 在 TCP 协议中,当发现一个数据包丢失了,TCP 将采取以下哪种策略?( ) + + A. 重传所有未确认的数据包 + + B. 重传丢失的数据包 + + C. 重传丢失的数据包以及后面的所有数据包 + + D. 不进行任何操作 + +
+ 答案: + + B + +
+ +*** + +### 二、填空题(每空 1 分,共 10 分) + +1. 为了纠正单比特错误,对于数据位长度为 20 的码字,校验位至少需要( )位。常见的单比特错纠错码是( )。 + +
+ 答案: + + 5;海明码 + +
+ + *** + +2. 假定 PSTN 的带宽是 3000 Hz,若用 4 种不同的状态来表示数据,在不考虑热噪声的情况下,该信道每秒最多能传送的位数为( )。信噪比是 20dB,理论上可以取得的最大信息(数据)速率是( )bps。 + +
+ 答案: + + 12000;$3000 \times \log_2 101$ + +
+ + *** + +3. 数据链路层被划分成两个子层,分别是( )子层和( )子层。 + +
+ 答案: + + 介质访问控制/MAC;逻辑链路控制/LLC + +
+ + *** + +4. 假设主机 A 通过 TCP 连接将两个 TCP 数据段发送到主机 B。第一个数据段的序列号为 90;第二个数据段的序列号为 110。第一个数据段中数据字段的字节数为( )。假设第一个数据段丢失,但第二个数据段到达 B。在主机 B 发送给主机 A 的确认中,确认编号是( )。 + +
+ 答案: + + 20;90 + +
+ + *** + +5. 采用曼彻斯特编码的数字信道,波特率为 20 M Baud/s,其数据传输速率为( )。 + +
+ 答案: + + 10Mbps 或 10Mb/s + +
+ + *** + +6. 以太网利用( )协议获得目的主机 IP 地址与 MAC 地址的映射关系。 + +
+ 答案: + + ARP 或地址解析协议 + +
+ +*** + +### 三、计算题(本大题共 7 小题,第 1-6 小题每题 5 分,第 7 小题 10 分,共 40 分) + +1. (5 分)对一个无限用户的纯 ALOHA 信道的测试表明,20% 的时槽是空闲的。 + + (1)信道负载 G 是多少? + + (2)吞吐量是多少? + + (3)该信道是负载不足还是过载了,并说明理由。 + +
+ 答案: + + (2 分)$P_0=e^{-G}=0.2$,$G=\ln(1/P_0)=\ln 5=1.6$。 + + (1 分)吞吐量:$S=G e^{-2G}=\ln 5 \times e^{-2G}=0.064$。 + + (2 分)$G>0.5$(纯 ALOHA 最优负载时 $G$ 为 0.5),过载了。 + +
+ + *** + +2. (5 分)假设生成多项式 $G(x)=x^2+x+1$,帧为 1010。请使用多项式除法确定其 CRC 编码。 + +
+ 答案: + + (1 分)帧 1010 记为多项式 $x^3+x$。 + + (1 分)增加 order 后变为 $x^5+x^3$。 + + (2 分)$(x^5+x^3)/(x^2+x+1)=x^3+x^2+x..x$,即 CRC 为 10。 + + (1 分)CRC 编码为 101010。(1 分) + +
+ + *** + +3. (5 分)考虑建立一个以太网,电缆最长为 1000m,运行速率为 10 Mbps。电缆中的信号速度是 100m/us。问最小帧长度是多少位? + +
+ 答案: + + 假设数据帧的长度为 L 位。 + + (1 分)$t=1000m/(100m/us)=10us=10 \times 10^{-6}s$ + + (1 分)$T_s=L/10Mbps$ + + (2 分)$T_s \ge 2t$ + + (1 分)故数据帧长度 $L \ge 200b$ + +
+ + *** + +4. (5 分)假定四个站点使用 CDMA 码分多址技术在一条通讯线路上进行数据传输,其分配的序列号(码片)和各自传输的数据如下表所示。请根据表中的码片和数据依次计算接收站点接收到的信号。 + + | 站点 | 码片 | 数据(从左至右传输) | + | --- | --- | --- | + | A | 1001 | 1010 | + | B | 1010 | 1001 | + | C | 1100 | 0100 | + | D | 1111 | 0110 | + +
+ 答案: + + | 站点码片序列 | T0 | T1 | T2 | T3 | + | --- | --- | --- | --- | --- | + | A | (+1 -1 -1 +1) | (-1 +1 +1 -1) | (+1 -1 -1 +1) | (-1 +1 +1 -1) | + | B | (+1 -1 +1 -1) | (-1 +1 -1 +1) | (-1 +1 -1 +1) | (+1 -1 +1 -1) | + | C | (-1 -1 +1 +1) | (+1 +1 -1 -1) | (-1 -1 +1 +1) | (-1 -1 +1 +1) | + | D | (-1 -1 -1 -1) | (+1 +1 +1 +1) | (+1 +1 +1 +1) | (-1 -1 -1 -1) | + | 接收到的信号 | (0 -4 0 0) | (0 +4 0 0) | (0 0 0 +4) | (-2 -2 +2 -2) | + +
+ + *** + +5. (5 分)信道速率为 4kb/s。采用停止等待协议。传播时延 20ms,确认帧长度和处理时间均可忽略。问帧长为多少才能使信道利用率达到至少 50%。 + +
+ 答案: + + (3 分)$(L/C)/(L/C+2T_p)\ge 50\%$ + + (2 分)$L\ge C*2T_p$,即 $L\ge 4*10^3*2*20*10^{-3}=160bit$ + +
+ + *** + +6. (5 分)现需要将一个包含 L 字节的超大文件从主机 A 传输到主机 B。假设最大数据段长度 MSS 为 536 字节。 + + L 的最大值是多少,才会保证 TCP 序列号不会用尽?提示:TCP 序列号字段有 4 个字节。 + + 根据题(1)的计算结果,请计算传输文件所需的时间。假设在将数据包发送至 155 Mbps 链路之前,每个数据段头部将添加总长度为 66 字节的传输层、网络层和数据链路层头部字段。假设 A 可以连续发送数据段,忽略流量控制和拥塞控制。 + +
+ 答案: + + (2 分)TCP 数据段序号随数据字段的字节数增长,因此 L 不能超过 $2^{32}$ 字节,约 4.19G 字节。 + + (3 分)数据段个数为 $2^{32}/536$,约 8012999,每个数据段需要增加 66 字节的头部,即 $8012999 \times 66=528857934$ 字节,总共需要传输 $2^{32}+528857934=4.824\times10^9$ 字节。$4.824\times10^9\times8/155M$,大约 249 秒。 + +
+ + *** + +7. (10 分)现有 2400 字节的数据报在 MTU 为 700 字节的链路上发送。假设原始数据报的标识(Identification)为 422。需要生成多少个分段?生成的 IP 数据报中与分段相关的各个字段的值是什么?请给出计算过程,并将计算结果填写在下表中。 + + | 分段编号 | 分段总字节数 | 标识 | 偏移量 | DF | MF | + | --- | --- | --- | --- | --- | --- | + | 1 | | | | | | + | 2 | | | | | | + | 3 | | | | | | + | 4 | | | | | | + +
+ 答案: + + 评分标准:计算过程占 6 分,表占 4 分。 + + 每个分段中数据字段最大值 = 680(因为有 20 字节 IP 标头,同时 680 是 8 的整数倍)。因此所需片段的数量为 $(2400-20)/680=3.5$,即需要 4 个分段。 + + 每个片段的标识均为 422。 + + 第一个分段,偏移量为 0,分段总字节数为 $680+20=700$; + + 第二个分段,偏移量为 $680/8=85$,分段总字节数为 $680+20=700$; + + 第三个分段,偏移量为 $85+680/8=170$,分段总字节数为 $680+20=700$; + + 第四个分段,偏移量为 $170+680/8=255$,分段总字节数为 $2400-20-680*3+20=360$; + + 除最后一个片段外,每个片段的大小为 700 字节(包括 IP 标头)。最后一个数据报的大小为 360 字节(包括 IP 标头)。4 个片段的偏移量将为 0、85、170、255。 + + | 分段编号 | 分段总字节数 | 标识 | 偏移量 | DF | MF | + | --- | --- | --- | --- | --- | --- | + | 1 | 700 | 422 | 0 | 0 | 1 | + | 2 | 700 | 422 | 85 | 0 | 1 | + | 3 | 700 | 422 | 170 | 0 | 1 | + | 4 | 360 | 422 | 255 | 0 | 0 | + +
+ +*** + +### 四、分析题(本大题共 2 小题,每小题 10 分,共 20 分) + +1. (10 分)下图给出了两个均包含实现 NAT 的路由器的网络。假设左侧网络中的主机 A 连接到位于主机 E 的 Web 服务器(其工作端口 port 为 80)。假设右侧网络中的用户在主机 D 上运行游戏服务器,并邀请位于主机 B 的朋友加入游戏会话。 + + ![第1题NAT网络图](./images/2022-2023学年上学期期末_试卷B_分析题_第1题_NAT网络图.png) + + (1)针对主机 A 和主机 E 之间的通信,请给出主机 A 发送的典型数据包的地址和端口字段(在编号为 1 的行对应的表项填写),以及上述数据包到达 E 时的字段(在编号为 2 的行对应的表项填写)。 + + (2)针对主机 B 和主机 D 之间的通信,请给出离开主机 B 的典型数据包的地址和端口字段(在编号为 3 的行对应的表项填写)、上述数据包通过公共 Internet 时的字段(在编号为 4 的行对应的表项填写)以及这些数据包传送到 D 时的字段(在编号为 5 的行对应的表项填写)。 + + | 行号 | 源 IP 地址 | 目的 IP 地址 | 源端口号 | 目的端口号 | + | --- | --- | --- | --- | --- | + | 1 | | | | | + | 2 | | | | | + | 3 | | | | | + | 4 | | | | | + | 5 | | | | | + +
+ 答案: + + 评分标准:每空 0.5 分。共 10 分。 + + | 行号 | 源 IP 地址 | 目的 IP 地址 | 源端口号 | 目的端口号 | + | --- | --- | --- | --- | --- | + | 1 | 10.1.1.5 | 4.3.2.1 | 1111 | 80 | + | 2 | 7.6.5.4 | 4.3.2.1 | 2222 | 80 | + | 3 | 10.1.1.3 | 7.1.1.1 | 7777 | 5555 | + | 4 | 7.6.5.4 | 7.1.1.1 | 3333 | 5555 | + | 5 | 7.6.5.4 | 10.1.1.7 | 3333 | 4444 | + +
+ + *** + +2. (10 分)假设某工作站使用 TCP Tahoe,ssthresh 值为 6 MSS。该工作站现在处于慢启动状态,cwnd = 4 MSS。在下表中填写 cwnd、sstresh 的值以及工作站在以下每个事件之前和之后处于的状态:四个连续的非重复 ACK 到达,然后超时,然后是三个非重复 ACK 到达。 + + | 状态 | 事件 | ssthresh | cwnd | 状态 | + | --- | --- | --- | --- | --- | + | 慢启动 | ACK 到达 | 6 | | | + | | ACK 到达 | | | | + | | ACK 到达 | | | | + | | ACK 到达 | | | | + | | 超时 | | | | + | | ACK 到达 | | | | + | | ACK 到达 | | | | + | | ACK 到达 | | | | + +
+ 答案: + + 评分标准:状态列、ssthresh 列每列 2 分,cwnd 列 3 分,共 10 分。 + + | 状态 | 事件 | ssthresh | cwnd | 状态 | + | --- | --- | --- | --- | --- | + | 慢启动 | ACK 到达 | 6 | 4+1=5 | 慢启动 | + | 慢启动 | ACK 到达 | 6 | 5+1=6 | 拥塞避免 | + | 拥塞避免 | ACK 到达 | 6 | 6+1/6=6.17 | 拥塞避免 | + | 拥塞避免 | ACK 到达 | 6 | 6.17+1/6.17=6.33 | 拥塞避免 | + | 拥塞避免 | 超时 | 3 | 1 | 慢启动 | + | 慢启动 | ACK 到达 | 3 | 1+1=2 | 慢启动 | + | 慢启动 | ACK 到达 | 3 | 2+1=3 | 拥塞避免 | + | 拥塞避免 | ACK 到达 | 3 | 3+1/3=3.33 | 拥塞避免 | + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..cd8a75d --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,441 @@ +--- +title: 2023-2024学年上学期期中 +--- + +## 2023-2024学年上学期期中试卷(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. 以下关于计算机网络特征的描述中,哪一个是错误的?( ) + + A. 计算机网络建立的主要目的是实现计算机资源的共享 + + B. 网络用户可以调用网中多台计算机共同完成某项任务 + + C. 联网计算机既可以联网工作也可以脱网工作 + + D. 联网计算机必须作用统一的操作系统 + +
+ 答案: + + D + +
+ + *** + +2. 关于网络体系结构,以下哪种描述是错误的?( ) + + A. 物理层完成比特流的传输 + + B. 数据链路层用于保证端到端数据的正确传输 + + C. 网络层为分组通过通信子网选择适合的传输路径 + + D. 应用层处于参考模型的最高层 + +
+ 答案: + + B + +
+ + *** + +3. 路由选择协议位于( )。 + + A. 物理层 + + B. 数据链路层 + + C. 网络层 + + D. 传输层 + +
+ 答案: + + C + +
+ + *** + +4. 光纤通信中使用的复用方式是( )。 + + A. 时分多路 + + B. 波分多路 + + C. 频分多路 + + D. 码分多路 + +
+ 答案: + + B + +
+ + *** + +5. 网络层中的数据传输基本单位是( )。 + + A. 比特 + + B. 数据帧 + + C. 分组 + + D. 报文 + +
+ 答案: + + C + +
+ + *** + +6. 用户 A 与用户 B 通过卫星链路通信时,传播延迟为 270ms,假设数据速率是 64Kb/s,帧长 4000bit,若采用停等协议进行通信,则最大链路利用率为( )。 + + A. 0.104 + + B. 0.116 + + C. 0.188 + + D. 0.231 + +
+ 答案: + + A + +
+ + *** + +8. 若采用回退 N 帧 ARQ 协议进行流量控制,帧编号为 7 位,则发送窗口的最大长度为( )。 + + A. 128 + + B. 127 + + C. 8 + + D. 7 + +
+ 答案: + + B + +
+ + *** + +9. 在下列传输介质中,哪种传输介质的抗电磁干扰性最好?( ) + + A. 双绞线 + + B. 同轴电缆 + + C. 光缆 + + D. 无线介质 + +
+ 答案: + + C + +
+ + *** + +10. 设信号的波特率为 600Baud,采用幅度-相位复合调制技术,由 4 种幅度和 4 种相位组成 16 种码元,则信道的数据率为( )。 + + A. 600b/s + + B. 2400b/s + + C. 4800b/s + + D. 9600b/s + +
+ 答案: + + B + +
+ +### 二、填空题(每空 2 分,共 20 分) + +1. 为了纠正单比特错误,对于数据位长度为 20 的码字,校验位至少需要( )位。常见的单比特错纠错码是( )。 + +
+ 答案: + + 5;海明码 + +
+ + *** + +2. 数据链路层被划分成两个子层,分别是( )子层和( )子层。 + +
+ 答案: + + 介质访问控制/MAC;逻辑链路控制/LLC + +
+ + *** + +3. 假定 PSTN 的带宽是 3000Hz,若用 4 种不同的状态来表示数据,在不考虑热噪声的情况下,该信道每秒最多能传送的位数为( )。信噪比是 20dB,理论上可以取得的最大信息(数据)速率是( )bps。 + +
+ 答案: + + 12000;$3000\times\log_2 101$ + +
+ + *** + +4. 若数据帧的数据段中出现比特串 `010111110`,则比特填充后的输出为( )。 + +
+ 答案: + + `0101111100` + +
+ + *** + +5. 超五类非屏蔽双绞线由( )对导线组成。 + +
+ 答案: + + 4 + +
+ + *** + +6. 下图所示的信号调制方式中,(a)是( )调制,(b)是( )调制。 + + ![](./images/2023-2024学年上学期期中_填空题_第6题_编码波形图.png) + +
+ 答案: + + 振幅;频率 + +
+ +### 三、简答题(本大题共 5 小题,每小题 6 分,共 30 分) + +1. 假设生成多项式 $G(x)=x^2+x+1$,帧为 `1010`。请用多项式除法确定其 CRC 校验位及最终的编码。 + +
+ 答案: + + (1 分)帧 `1010` 记为多项式 $x^3+x$, + + (1 分)增加 order 后变为 $x^5+x^3$。 + + (2 分)$(x^5+x^3)/(x^2+x+1)=x^3+x^2+x..x$, + + (1 分)CRC 校验位为 `10` + + (1 分)最终的编码为 `101010`(1 分) + +
+ + *** + +2. 请给出数据链路层可能提供的服务类型及对应的网络实例。 + +
+ 答案: + + (1)不带确认的面向无连接服务,以太网是提供这种类型服务的网络实例; + + (2)带确认的面向无连接服务,802.11 无线局域网是提供这种类型服务的网络实例; + + (3)带确认的面向连接服务,提供这种类型服务的网络实例很少见。 + +
+ + *** + +3. 如果主机 A 到主机 B 相距 3000km,信道的传输速率为 1Mbps,信号传播速率为 200km/ms,发送的数据帧和确认帧长都为 64 字节。A 和 B 之间采用回退 N 帧协议(协议 5)或选择性重传协议(协议 6)进行差错控制和流量控制。请回答以下问题: + + (1)要使信道的利用率达到最高,如果采用协议 5,帧序号应该为多少位? + + (2)要使信道的利用率达到最高,如果采用协议 6,帧序号应该是多少位? + +
+ 答案: + + (2 分)发送一个帧至收到该帧的确认所需要的时间 $T$ 为 $2\times(64\times8/1M+3000km/200)=2\times(0.512ms+15ms)=2\times15.512=31.024ms$,在 31.024ms 中可以发送的帧数为 60.6。 + + (1)(2 分)用协议 5,序号为 6 位 + + (2)(2 分)用协议 6,序号为 7 位 + +
+ + *** + +4. 有噪声停等协议对数据帧和确认帧均使用序号机制。请通过具体实例分析(可以是时序图的形式),如果没有对数据帧和确认帧进行编号,会导致什么问题。 + +
+ 答案: + + ![](./images/2023-2024学年上学期期中_简答题_第4题_链路层重传时序图.png) + + 如上图橙色框的例子所示,发送方成功发送一帧,接收方反馈的 ACK 丢失,发送方重传,由于没有对数据帧和确认帧进行编号,接收方会将重传帧作为新帧错误地重复递交给上层处理。如果对数据帧和确认帧进行编号,接收方便能将重传帧丢弃,并通过确认帧序号反馈其期待的数据帧的正确编号。 + +
+ + *** + +5. 假设要在两个计算机之间传输文件,文件被分割成分组进行传输。请分别针对以下两种场景设计适用的确认机制,并简要分析原因。 + + (1)传输质量差的网络; + + (2)传输质量很好的网络。 + +
+ 答案: + + (1)(3 分)接收方对单独的分组进行确认,而不对整个文件进行确认。因为网络传输质量差,容易出现丢包,对出错分组进行单独重传比重传整个文件代价小。尽管该确认机制相对复杂,但有助于提升整个文件传输成功的概率,避免重传整个文件反复出错。 + + (2)(3 分)接收方不对单个分组进行确认,而是在整个文件到达时进行整体确认。因为网络传输质量好,很少出现丢包,大多数情况下文件都能成功完成传输,无需重传。即使出现丢包,重传整个文件也基本不会再出现错误。这样的确认机制简单,可以节约带宽,降低处理复杂度。 + +
+ +### 四、分析题(本大题共 3 小题,每小题 10 分,共 30 分) + +1. 假定四个站点使用 CDMA 码分多址技术在一条通讯线路上进行数据传输,其分配的序列号(码片)和各自在 T0~T3 四个时间片传输的数据如下表所示。请根据表中的码片和数据依次计算接收站点接收到的信号。 + + | 站点 | 码片 | T0~T3 传输的数据(从左至右传输) | + | --- | --- | --- | + | A | 1001 | 1010 | + | B | 1010 | 1001 | + | C | 1100 | 0100 | + | D | 1111 | 0110 | + +
+ 答案: + + (每空 0.5 分) + + | 站点码片序列 | T0 | T1 | T2 | T3 | + | --- | --- | --- | --- | --- | + | A | $(+1,-1,-1,+1)$ | $(-1,+1,+1,-1)$ | $(+1,-1,-1,+1)$ | $(-1,+1,+1,-1)$ | + | B | $(+1,-1,+1,-1)$ | $(-1,+1,-1,+1)$ | $(-1,+1,-1,+1)$ | $(+1,-1,+1,-1)$ | + | C | $(-1,-1,+1,+1)$ | $(+1,+1,-1,-1)$ | $(-1,-1,+1,+1)$ | $(-1,-1,+1,+1)$ | + | D | $(-1,-1,-1,-1)$ | $(+1,+1,+1,+1)$ | $(+1,+1,+1,+1)$ | $(-1,-1,-1,-1)$ | + | 接收到的信号 | $(0,-4,0,0)$ | $(0,+4,0,0)$ | $(0,0,0,+4)$ | $(-2,-2,+2,-2)$ | + +
+ + *** + +2. 某接收端收到 16 位海明码为 `0x8a10`,试根据海明码检错原理,分析发送端发送的原始数据为多少?(假设海明码中不会出现多于 1 位错,位置从左至右递增编号,采用偶校验) + +
+ 答案: + + | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | + | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | + | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | + | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | + | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | + + `0x8a10` 对应的二进制编码为 `1000 1010 0001 0000`。(1 分) + + 第 1 位校验第 1, 3, 5, 7, 9, 11, 13, 15 位($1+0+1+1+0+0+0+0=1$)(1 分) + + 第 2 位校验第 2, 3, 6, 7, 10, 11, 14, 15 位($0+0+0+1+0+0+0+0=1$)(1 分) + + 第 4 位校验第 4, 5, 6, 7, 12, 13, 14, 15 位($0+1+0+1+1+0+0+0=1$)(1 分) + + 第 8 位校验第 8, 9, 10, 11, 12, 13, 14, 15 位($0+0+0+0+1+0+0+0=1$)(1 分) + + 第 16 位校验第 16 位(0)(1 分) + + 故,第 $1+2+4+8=15$ 位有错,(1 分) + + 因此正确的海明码为:`1000 1010 0001 0010`,(1 分) + + 发送的原始数据为:`0101 0001 001`(2 分) + +
+ + *** + +3. 请针对下列两种场景分别计算经过一个 $k$ 跳路径发送 $x$ bit 数据到达目的地需要的延迟。假设电路建立的时延是 $s$ 秒,传播延迟是 $d$ 秒/跳,分组大小为 $p$ bits,数据传输速率是 $b$ bps,分组头部开销忽略不计。 + + (1)假设 $k$ 跳路径所在网络使用电路交换技术; + + (2)假设 $k$ 跳路径所在网络使用分组交换技术(负载很轻)。 + + (3)根据前面的计算结果,在满足什么条件的前提下,分组交换网络的延迟较低? + +
+ 答案: + + (1)(3 分) + + $$t_{cs}=d_{conn}+d_{trans}+d_{prop}$$ + + $d_{conn}=s$,电路建立的时延 + + $d_{trans}=\frac{x}{b}$,数据传输时间 + + $d_{prop}=kd$,$k$ 跳传播延迟 + + $$t_{cs}=s+\frac{x}{b}+kd$$ + + (2)(5 分) + + $$t_{ps}=d_{trans}+d_{prop}+d_{queue}+d_{proc}$$ + + $d_{trans}=\frac{x}{b}+\frac{(k-1)p}{b}$,分组传输时间 + + $d_{prop}=kd$,$k$ 跳传播延迟 + + 将 $x$ bit 数据分割成 $p$ bit 大小的分组个数:$\left\lceil \frac{x}{p}\right\rceil$ + + 第一个分组经过 $k$ 跳到达目的地的延迟:$t_1=k\left(d+\frac{p}{b}\right)$ + + 剩余分组经过 $k$ 跳到达目的地的延迟:$t_r=\left(\left\lceil\frac{x}{p}\right\rceil-1\right)\times\frac{p}{b}$ + + 传输整个 $x$ bit 数据经过 $k$ 跳到达目的地的延迟: + + $$d_{trans}+d_{prop}=t_1+t_r=k\left(d+\frac{p}{b}\right)+\left(\left\lceil\frac{x}{p}\right\rceil-1\right)\times\frac{p}{b}=\frac{x}{b}+\frac{(k-1)p}{b}+kd$$ + + $d_{queue}$,排队延迟,取决于拥塞情况 + + $d_{proc}$,处理延迟,忽略 + + $$t_{ps}=\frac{x}{b}+\frac{(k-1)p}{b}+kd$$ + + (3)(2 分)分组交换延迟较低需要满足如下条件:$t_{cs}>t_{ps}$,即 $s>(k-1)p/b$。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..bcfa533 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1194 @@ +--- +title: 2023-2024学年上学期期末 +--- + +## 2023-2024学年上学期期末试卷(A)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 当一台主机从一个网络移到另一个网络时,以下说法正确的是( )。 + + A. 必须改变它的 IP 地址和 MAC 地址 + + B. 必须改变它的 IP 地址,但不需改动 MAC 地址 + + C. 必须改变它的 MAC 地址,但不需改动 IP 地址 + + D. MAC 地址、IP 地址都不需改动 + +
+ 答案: + + B + +
+ + *** + +2. 下列设备中,能够分隔广播域的是( )。 + + A. 集线器 + + B. 交换机 + + C. 路由器 + + D. 中继器 + +
+ 答案: + + C + +
+ + *** + +3. 使用 web 浏览器访问华东师范大学主页时(假设主机需要查找域名所对应 IP 地址),不会使用到的协议是( )。 + + A. TCP + + B. UDP + + C. HTTP + + D. SMTP + +
+ 答案: + + D + +
+ + *** + +4. 一个网段的网络号为 198.90.10.0/27,最多可以分成( )个子网,每个子网最多具有( )个有效的 IP 地址。(注:除去全 0 和全 1)。 + + A. 8,30 + + B. 4,30 + + C. 16,32 + + D. 8,32 + +
+ 答案: + + A + +
+ + *** + +5. 下列关于 ICMP 报文的说法,错误的是?( )。 + + A. ICMP 报文封装在数据链路层帧中发送 + + B. ICMP 报文用于报告 IP 数据报发送错误 + + C. ICMP 报文封装在 IP 数据报中发送 + + D. ICMP 报文本身出错将不再处理 + +
+ 答案: + + A + +
+ + *** + +6. 关于 IPv6 地址 `1A22:120D:0000:0000:72A2:0000:0000:00C0` 的表示中错误的是( )。 + + A. `1A22:120D::72A2:0000:0000:00C0` + + B. `1A22:120D::72A2:0:0:C0` + + C. `1A22::120D::72A2::00C0` + + D. `1A22:120D:0:0:72A2::C0` + +
+ 答案: + + C + +
+ + *** + +7. 流量控制的主要目的是( )。 + + A. 防止发送主机缓冲区溢出 + + B. 防止接收主机缓冲区溢出 + + C. 防止路由器缓冲区溢出 + + D. 以上都对 + +
+ 答案: + + B + +
+ + *** + +8. ARP 的功能是( )。 + + A. 根据 IP 地址查询 MAC 地址 + + B. 根据 MAC 地址查询 IP 地址 + + C. 根据域名查询 IP 地址 + + D. 根据 IP 地址查询域名 + +
+ 答案: + + A + +
+ + *** + +9. 某路由表中有转发接口相同的 4 条路由表项,其目的网络地址分别是 35.230.32.0/21、35.230.40.0/21、35.230.48.0/21 和 35.230.56.0/21,将该 4 条路由聚合后的目的网络地址为( )。 + + A. 35.230.0.0/19 + + B. 35.230.0.0/20 + + C. 35.230.32.0/19 + + D. 35.230.32.0/20 + +
+ 答案: + + C + +
+ + *** + +10. 下列路由协议中,( )用于自治系统之间的路由选择。 + + A. OSPF + + B. RIP + + C. ICMP + + D. BGP + +
+ 答案: + + D + +
+ + *** + +11. 如果无类地址块中的一个地址是 12.2.2.76/27,该无类地址块的第一个地址是( )。 + + A. 12.2.2.0 + + B. 12.2.2.32 + + C. 12.2.2.64 + + D. 以上均不正确 + +
+ 答案: + + C + +
+ + *** + +12. 在回退 N 帧协议中,如果序列号的位数 5,则发送窗口的最大尺寸和接收窗口的最大尺寸分别为( )。 + + A. 31,1 + + B. 16,16 + + C. 31,16 + + D. 16,1 + +
+ 答案: + + A + +
+ + *** + +13. 香农定理定义了有噪声信道的网络传输速率的理论极限值,假设 S 为信号功率,N 为噪声功率,带宽为 B(Hz),则根据香农定理,最大数据传输速率(信道容量)为( )。 + + A. $B * \log_2(1+S/N)$ + + B. $2B * \log_2(1+S/N)$ + + C. $B * \log_{10}(1+S/N)$ + + D. $2B * \log_{10}(1+S/N)$ + +
+ 答案: + + A + +
+ + *** + +14. 向具有 700 字节 MTU 的一条链路发送一个 2400 字节的 IP 分组。最后一个分片的总长度为( )字节。 + + A. 340 + + B. 360 + + C. 680 + + D. 700 + +
+ 答案: + + B + +
+ + *** + +15. 两个主机之间的距离是 L 千米,帧长为 K 比特,传播时延为 t 秒/千米,它们之间的信道容量为 R 比特/秒,假设处理时延可以忽略,那么当使用滑动窗口协议时,使得传输效率最大化的窗口是( )。 + + A. $\frac{2LtR+K}{K}$ + + B. $\frac{2LtR}{K}$ + + C. $\frac{2LtR+2K}{K}$ + + D. $\frac{2LtR+K}{2K}$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(每空 1 分,共 10 分) + +1. IPv4、IPv6、MAC 地址的长度分别为 ________ 比特、________ 比特、________ 比特。 + +
+ 答案: + + 32;128;48 + +
+ + *** + +2. Ethernet 采用的媒体访问控制方式是 ________。 + +
+ 答案: + + CSMA/CD + +
+ + *** + +3. 动态路由协议主要包括两大类:距离矢量路由协议和 ________。其中 ________ 的路由生成算法的典型代表是 Bellman-Ford 算法,而 ________ 主要通过 Dijkstra 算法来生成最佳路由路径。 + +
+ 答案: + + 链路状态路由协议;距离矢量路由协议;链路状态路由协议 + +
+ + *** + +4. 媒体访问协议中可以实现无冲突的协议有:Token Ring、________ 和 Binary Countdown。 + +
+ 答案: + + Bitmap + +
+ + *** + +5. 两个站采用 CSMA/CD 协议传输数据,假设每个报文长度为 L,传输速率为 B,两站距离为 D,介质传播速度为 V,为了能够检测到冲突,需要满足的条件为:________。 + +
+ 答案: + + $L/B \ge 2D/V$ + +
+ +*** + +### 三、计算题(本大题共 4 小题,共 27 分) + +1. (6 分)已知循环冗余码的生成多项式是 $G(x)=x^4+x+1$,要发送的数据为 1101011011。请问: + + 1)数据后面添加的 CRC 校验位是多少?请给出计算过程。(2 分) + + 2)若数据在传输过程中最后一个 1 变成了 0,问接收端能否发现?(2 分) + + 3)若数据在传输过程中最后两个 1 变成了 0,问接收端能否发现?(2 分) + +
+ 答案: + + 1)除数:10011 被除数:1101011011 0000,则余数为:1110,即 CRC 校验码为 1110。则发送码:1101011011 1110。 + + 2)若最后一个变为 0,则 1101011010 1110/10011(模 2 除法)得余数为 0011,余数不为 0,故接收端可以发现。 + + 3)若最后两个成为 0,则 1101011000 1110/10011(模 2 除法)得余 0101,余数不为 0,故接收端可以发现。 + +
+ + *** + +2. (6 分)某个网络地址块 192.168.75.0 中有 5 台主机 A、B、C、D 和 E,A 主机的 IP 地址为 192.168.75.18,B 主机的 IP 地址为 192.168.75.146,C 主机的 IP 地址为 192.168.75.158,D 主机的 IP 地址为 192.168.75.161,E 主机的 IP 地址为 192.168.75.173,共同的子网掩码是 255.255.255.240。请回答: + + 1)5 台主机 A、B、C、D、E 分属几个网段?(2 分)哪些主机位于同一网段?(2 分) + + 2)若要加入第 6 台主机 F,使它能与主机 A 属于同一网段,其 IP 地址范围是多少?(注:除去全 0 和全 1)(2 分) + +
+ 答案: + + 1)共同的子网掩码为 255.255.255.240,表示前 28 位为网络号,同一网段内的 IP 地址具有相同的网络号。主机 A 的网络 192.168.75.16;主机 B 的网络 192.168.75.144;主机 C 的网络 192.168.75.144;主机 D 的网络 192.168.75.160;主机 E 的网络 192.168.75.160。因此 5 台主机 A、B、C、D、E 分属 3 个网段:主机 B 和主机 C 在一个网段,主机 D 和主机 E 在一个网段,主机 A 在一个网段。 + + 2)192.168.75.17 - 192.168.75.30,且不能为 192.168.75.18。 + +
+ + *** + +3. (6 分)某通信子网拓扑结构如下图所示,每条链路上的数字表示链路开销。请回答以下几个问题。该网络采用链路状态路由算法,请使用 Dijkstra 算法计算 A 节点到其他所有节点的最短路径。(请以表格的形式描述算法的计算过程) + + ![第3题Dijkstra拓扑图](./images/2023-2024学年上学期期末_试卷A_计算题_第3题_Dijkstra拓扑图.png) + +
+ 答案: + + 每个 1 分。 + + ![第3题Dijkstra过程表](./images/2023-2024学年上学期期末_试卷A_计算题_第3题_Dijkstra过程表.png) + +
+ + *** + +4. (9 分)考虑如下子网,V1, V2, V3, V4, V5 为路由器,采用距离矢量路由算法。假设每个节点初始时知道到它的每个邻居的距离。请回答以下问题: + + ![第4题距离矢量拓扑图](./images/2023-2024学年上学期期末_试卷A_计算题_第4题_距离矢量拓扑图.png) + + 1)给出节点 V2,V3 和 V5 三个节点的初始距离向量。(3 分) + + 2)当 V5 收到来自邻居节点 V2 和 V3 的距离向量以后,请问 V5 如何更新自己的距离向量和下一跳?(3 分) + + 3)假设 V3 和 V5 间链路断开,分析 V2 路由器的路由表中存储的 V2 到 V5 的距离的变化过程。(2 分) + + 4)在 V3 和 V5 间链路断开一段时间后,进一步假设 V2 和 V5 间链路也断开,分析 V2 路由器在构造路由表,生成 V2 到 V5 的距离时会出现什么问题?(1 分) + +
+ 答案: + + 1)每行 1 分,共 3 分。 + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v2 | 1 | 0 | 3 | 无穷 | 6 | + | v3 | 无穷 | 3 | 0 | 3 | 2 | + | v5 | 无穷 | 6 | 2 | 无穷 | 0 | + + 2)每行 1.5 分,共 3 分。 + + | | v1 | v2 | v3 | v4 | v5 | + | --- | --- | --- | --- | --- | --- | + | v5 | 7 | 5 | 2 | 5 | 0 | + | 下一跳 | v2 | v3 | v3 | v3 | v5 | + + 3)所有路由器/节点重新查找到 V5 的路径。所有路由器通过 V2 到 V5。路由器 V2 到 V5 的距离为 6。(2 分) + + 4)会出现“无穷计算问题”。(1 分) + +
+ +*** + +### 四、综合分析题(本大题共 2 题,共 33 分) + +1. (15 分)主机 1 和主机 2 之间的一个 TCP 连接经历了下图所示的拥塞窗口变化,请回答以下问题: + + ![第1题拥塞窗口图](./images/2023-2024学年上学期期末_试卷A_综合分析题_第1题_拥塞窗口图.png) + + (1)指出该 TCP 连接属于拥塞避免阶段的时间间隔。(2 分) + + (2)分别指出第 9 个传输轮次之后拥塞窗口变化的原因,以及第 14 个传输轮次之后拥塞窗口变化的原因。(2 分) + + (3)第 1、10、15 个传输轮次里慢启动阈值(ssthresh)的值分别为多少,并说明理由?(3 分) + + (4)如果没有任何报文丢失,第 19 个传输轮次的拥塞窗口大小是多少?(2 分) + + (5)假设主机 1 和主机 2 新建一个 TCP 连接,主机 1 的拥塞控制初始阈值是 32KB,主机 1 向主机 2 始终以 MSS = 1KB 大小的段发送数据,并一直有数据发送。主机 2 为该连接分配 16KB 接收缓存,并对每个数据段进行确认。忽略段传输延迟,若主机 2 接收的数据全部存入缓存没有被取走,试问主机 1 从连接建立成功时刻起,未发送超时的情况下,经过 1RTT、2RTT、3RTT 和 4RTT 后的发送窗口大小分别为多少?(注:发送窗口大小由拥塞窗口大小和接收窗口大小共同决定)(6 分) + +
+ 答案: + + 1)[5, 9],[10, 14]。(每项 1 分,共 2 分) + + 2)第 9 个:通过三个冗余 ACK 检测到了报文的丢失。 + + 第 14 个:根据定时器超时检测到了报文的丢失。 + + (每项 1 分,共 2 分) + + 3)第 1 个:16,因为拥塞窗口超过 16 个报文段以后进入了拥塞避免阶段。 + + 第 10 个:10,因为遇到报文丢失时,ssthresh 由之前的拥塞窗口减半,$20/2=10$。 + + 第 15 个:7,因为遇到报文丢失时,ssthresh 由之前的拥塞窗口减半,$14/2=7$。 + + (每项 1 分,共 3 分) + + 4)第 18 个传输轮次窗口为 7,因为新的 ssthresh 为 7;第 19 个传输轮次窗口为 8,因为进入了拥塞避免阶段。(2 分) + + 5)计算过程如下: + + - 经过 1 个 RTT 后,第二次发送时,rwnd = 15KB,cwnd = 2KB,发送窗口取较小值:2KB。(1.5 分) + - 经过 2 个 RTT 后,第三次发送时,rwnd = 13KB,cwnd = 4KB,发送窗口取较小值:4KB。(1.5 分) + - 经过 3 个 RTT 后,第四次发送时,rwnd = 9KB,cwnd = 8KB,发送窗口取较小值:8KB。(1.5 分) + - 经过 4 个 RTT 后,第五次发送时,rwnd = 1KB,cwnd = 16KB,发送窗口取较小值:1KB。(1.5 分) + +
+ + *** + +2. (18 分)网络结构如下图所示,回答以下问题。 + + ![第2题网络结构图](./images/2023-2024学年上学期期末_试卷A_综合分析题_第2题_网络结构图.png) + + 1)主机 C 向主机 D 发送一个 IP 分组,主机 C 将请求路由器帮助转发该分组吗?为什么?(2 分) + + 2)请填写下面表格中不同场景下的以太网帧的源和目的 IP、源和目的 MAC 地址分别是什么?(3 分) + + | 数据帧 | 源 IP 地址 | 源 MAC 地址 | 目的 IP 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | A 发送给 B | 192.168.1.1 | | 192.168.1.2 | | + | A 发送给 D(192.168.1.0 网络中) | 192.168.1.1 | | 172.16.2.2 | | + | A 发送给 D(172.16.2.0 网络中) | 192.168.1.1 | | 172.16.2.2 | | + + 3)主机 C 向主机 B 发送一个 IP 分组,假设主机 C 的 ARP 表为空,路由器的 ARP 表是最新的,请描述发生在子网 172.16.2.0/24 内部的 ARP 相关步骤。(2 分) + + 4)假设 192.168.1.0 网络的 MTU 值为 1500 字节,172.16.2.0 网络的 MTU 值为 512 字节。如果主机 A 发送一个报文给主机 D,其报文头的字段值如下图所示。请问,路由器是否会对该报文进行分片?如果需要分片,请计算出分片数量,并给出每个分片的属性(包括分片大小、序列号、offset 值、MF 值)。如果不需要分片,请给出原因。(5 分) + + ![第2题报文头1](./images/2023-2024学年上学期期末_试卷A_综合分析题_第2题_报文头1.png) + + 5)如果主机 A 又发送一个报文给主机 D,其报文头的字段值如下图所示。请问,路由器是否会对该报文进行分片?如果需要分片,请计算出分片数量,并给出每个分片的属性(包括分片大小、序列号、offset 值、MF 值)。如果不需要分片,请给出原因。(3 分) + + ![第2题报文头2](./images/2023-2024学年上学期期末_试卷A_综合分析题_第2题_报文头2.png) + + 6)假设主机 A 向主机 D 发送的 IP 分组报文头的字段值(10 进制)如下图所示。 + + i)请计算该报文 Options 域填充的字节数是多少?(1 分) + + ii)该报文的第一个字节和最后一个字节的编号是多少?(2 分) + + ![第2题报文头3](./images/2023-2024学年上学期期末_试卷A_综合分析题_第2题_报文头3.png) + +
+ 答案: + + 1)不需要(1 分),因为 C 和 D 同属于一个局域网。(1 分) + + 2)(每项 0.5 分,共 3 分) + + | 数据帧 | 源 IP 地址 | 源 MAC 地址 | 目的 IP 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | A 发送给 B | 192.168.1.1 | 11-11-11-11-11-11 | 192.168.1.2 | 33-33-33-33-33-33 | + | A 发送给 D(192.168.1.0 网络中) | 192.168.1.1 | 11-11-11-11-11-11 | 172.16.2.2 | 55-55-55-55-55-55 | + | A 发送给 D(172.16.2.0 网络中) | 192.168.1.1 | 66-66-66-66-66-66 | 172.16.2.2 | 44-44-44-44-44-44 | + + 3)C 要查询 172.16.2.3 的 MAC 地址,C 用一个以太网广播帧发送一个 ARP 请求分组。(1 分) + + 路由器收到请求以后,用一个以太网帧发送给 C 一个 ARP 响应分组,其中包含 172.16.2.3 的 MAC 地址 66-66-66-66-66-66。该以太网帧的目的地址为 33-33-33-33-33-33。(1 分) + + 4)需要分片。(1 分) + + 512 字节 - 20 字节头 = 492 字节,但是 492 字节 mod 8 != 0,所以取 488 字节作为分片后的 IP 报文数据域长度。分片后的每个报文长度为 488+20=508 字节。 + + 1480 字节/488 字节 ≈ 4,所以需要 4 个分片,每个分片大小及序列号如下: + + - Fragment 1:分片大小为 508 字节(488 字节数据域+20 字节头),序列号为 12342,Offset 为 0,MF flag 为 1; + - Fragment 2:分片大小为 508 字节(488 字节数据域+20 字节头),序列号为 12342,Offset 为 61,MF flag 为 1; + - Fragment 3:分片大小为 508 字节(488 字节数据域+20 字节头),序列号为 12342,Offset 为 122,MF flag 为 1; + - Fragment 4:分片大小为 36 字节(16 字节数据域+20 字节头),序列号为 12342,Offset 为 183,MF flag 为 0; + + (每个 1 分,共 4 分) + + 5)不需要分片。(1 分) + + 理由:当路由器收到该数据报文时,会对其 TTL 值减 1。该数据报文的 TTL 将会变为 0,所以,路由器将会直接丢弃到该报文。不需要进行分片。(2 分) + + 6)问题 i:因为头部长度字段为 8,即头部长度为 32 字节,因此,Options 域填充的字节数为 32 字节 - 20 字节 = 12 字节。(1 分) + + 问题 ii:头部长度为 32 字节,分组总长度为 100 字节,因此 payload/数据域的长度为 68 字节。另外,偏移位(Offset)值为 100,即该分组的第一个字节编号为 800,则最后一个字节的编号为 867。(2 分) + +
+ +*** + +## 2023-2024学年上学期期末试卷(B)(含答案) + +### 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分) + +1. 设信道带宽为 3400HZ,采用 PCM 编码,采样周期为 125μs,每个样本量化为 256 个等级,则信道的数据速率为( )。 + + A. 10Kb/s + + B. 16Kb/s + + C. 56Kb/s + + D. 64Kb/s + +
+ 答案: + + D + +
+ + *** + +2. 曼彻斯特编码的效率是( )%。 + + A. 40 + + B. 50 + + C. 80 + + D. 100 + +
+ 答案: + + B + +
+ + *** + +3. RIP 是一种基于( )算法的路由协议。 + + A. 链路状态 + + B. 距离矢量 + + C. 泛洪路由 + + D. 集中式路由 + +
+ 答案: + + B + +
+ + *** + +4. TCP 协议使用三次握手机制建立连接,当请求方发出 SYN 连接请求后,等待对方回答( ),这样可以防止建立错误的连接。 + + A. SYN,ACK + + B. FIN,ACK + + C. PSH,ACK + + D. RST,ACK + +
+ 答案: + + A + +
+ + *** + +5. 采用 DHCP 分配 IP 地址无法做到提高域名解析速度,当客户机发送 dhcp discover 报文时采用( )方式发送。 + + A. 广播 + + B. 任意播 + + C. 组播 + + D. 单播 + +
+ 答案: + + A + +
+ + *** + +6. IP 地址分为公网地址和私网地址,以下地址中属于私网地址的是( )。 + + A. 127.0.0.1 + + B. 10.216.33.124 + + C. 172.34,21.15 + + D. 192.32.146.23 + +
+ 答案: + + B + +
+ + *** + +7. 如果子网 172.6.32.0/20 被划分为子网 172.6.32.0/26,则下面的结论中正确的是( )。 + + A. 被划分为 62 个子网 + + B. 每个子网有 64 个主机地址 + + C. 被划分为 32 个子网 + + D. 每个子网有 62 个主机地址 + +
+ 答案: + + D + +
+ + *** + +8. 在局域网标准中,100BASE-T 规定从收发器到集线器的距离不超过( )米。 + + A. 100 + + B. 185 + + C. 300 + + D. 1000 + +
+ 答案: + + A + +
+ + *** + +9. 802.11 在 MAC 层采用了( )协议。 + + A. CSMA/CD + + B. CSMA/CA + + C. DQDB + + D. 令牌传递 + +
+ 答案: + + B + +
+ + *** + +10. IEEE 802.16 工作组提出的无线接入系统空中接口标准是( )。 + + A. GPRS + + B. UMB + + C. LTE + + D. WiMAX + +
+ 答案: + + D + +
+ + *** + +11. 对于选择重发 ARQ 协议,如果帧编号字段为 k 位,则窗口 w 大小为( )。 + + A. $w \le 2^k - 1$ + + B. $w \le 2^{k-1}$ + + C. $w = 2^k$ + + D. $w < 2^{k-1}$ + +
+ 答案: + + B + +
+ + *** + +12. 下图表示了某个数据的两种编码,这两种编码分别是( )。 + + ![第12题编码图](./images/2023-2024学年上学期期末_试卷B_单项选择题_第12题.png) + + A. X 为差分曼彻斯特码,Y 为曼彻斯特码 + + B. X 为差分曼彻斯特码,Y 为双极性码 + + C. X 为曼彻斯特码,Y 为差分曼彻斯特码 + + D. X 为曼彻斯特码,Y 为不归零码 + +
+ 答案: + + C + +
+ + *** + +13. IPv6 协议数据单元由一个固定头部和若干个扩展头部以及上层协议提供的负载组成,其中用于标识松散源路由功能的扩展头是( )。 + + A. 目标头部 + + B. 路由选择头部 + + C. 分段头部 + + D. 安全封装负荷头部 + +
+ 答案: + + B + +
+ + *** + +14. CSMA/CD 协议可以利用多种监听算法来减小发送冲突的概率,下面关于各种监听算法的描述中,正确的是( )。 + + A. 非持续型监听算法有利于减少网络空闲时间 + + B. 持续型监听算法有利于减少冲突的概率 + + C. P-持续型监听算法无法减少网络的空闲时间 + + D. 持续型监听算法能够及时抢占信道 + +
+ 答案: + + D + +
+ + *** + +15. 采用 CRC 进行差错校验,生成多项式为 $G(X)=X^4+X+1$,信息码字为 10111,则计算出的 CRC 校验码是( )。 + + A. 0000 + + B. 0100 + + C. 0010 + + D. 1100 + +
+ 答案: + + D + +
+ +*** + +### 二、填空题(每空 1 分,共 10 分) + +1. 光纤的规格分为 ________ 和 ________ 两种。 + +
+ 答案: + + 单模光纤;多模光纤 + +
+ + *** + +2. 最常用的两种多路复用技术为 ________ 和 ________,其中,前者是同一时间同时传送多路信号,而后者是将一条物理信道按时间分成若干个时间片轮流分配给多个信号使用。 + +
+ 答案: + + FDM;TDM + +
+ + *** + +3. 数据链路层的成帧技术主要有:________,________,________ 和物理层编码违禁法四种。 + +
+ 答案: + + 字符计数法;字符填充法;位填充法 + +
+ + *** + +4. 采用海明码纠正一位差错,若信息位为 10 位,则冗余位至少应为 ________ 位。 + +
+ 答案: + + 4 + +
+ + *** + +5. 常用的 IP 地址有 A、B、C 三类,128.11.3.31 是一个 ________ 类 IP 地址,其网络标识(netid)为 ________。 + +
+ 答案: + + B;128.11.0.0 + +
+ +*** + +### 三、计算题(本大题共 5 小题,共 30 分) + +1. (6 分)以太网中共享信道分配策略是采用基于 CSMA/CD 的二进制指数后退算法,站点发送某个数据帧时发生了六次冲突后,该站点延迟时隙数(k)为 5 的概率是多少?在 10Mbps 以太网中,发生 6 次冲突后 K=5 时延迟的时间是多少? + +
+ 答案: + + 发生 6 次冲突后,站点从 `{0, 1, 2, ..., 63}` 选择一个数作为延时时隙。该站点延迟时隙数(k)为 5 的概率是 `1/64`。(3 分) + + 延时时间:`5 * 51.2 = 256μs`。(3 分) + +
+ + *** + +2. (6 分)Internet 中 IP 数据包分段技术有非常重要的作用。考虑向 MTU 为 520 字节的链路发送一个 2000 字节的 IP 数据包,假设原始数据包上 id 号为 123。通过该链路传递这个包,应该生成多少个分段?给出每个分段的 id、长度、MF 标志和 Offset 字段的值。 + +
+ 答案: + + 共需要分为:`⌈1980/500⌉=4` 个碎片。(2 分) + + | Identifier | Total length | MF flag | Offset | + | --- | --- | --- | --- | + | 123 | 516 | 1 | 0 | + | 123 | 516 | 1 | 62 | + | 123 | 516 | 1 | 124 | + | 123 | 512 | 0 | 186 | + + 每行 1 分。 + +
+ + *** + +3. (6 分)通信的双方采用循环冗余码进行错误检测,假设双方协商的产生式为 $G(x)=x^5+x^2+1$。当接收方收到如下带循环冗余码的数据帧:$(9703)_{16}$,试分析接收方收到的数据帧是否正确,并说明理由。 + +
+ 答案: + + 1. $(9703)_{16}=(1001,0111,0000,0011)_2$。(1 分) + + 2. $G(x)=x^5+x^2+1$ 对应的产生式(二进制表示):`100101`。(1 分) + + 3. $(1001,0111,0000,0011)_2$ 除以 `100101`(逻辑除法)得到的余数为 `10100`。(3 分) + + 4. 因此,接收方收到的数据帧是错误的。(1 分) + +
+ + *** + +4. (6 分)假设 A、B、C、D 四个移动站点的芯片码序列如下所示。 + + | 站点 | 芯片码序列 | + | --- | --- | + | A | `(-1 -1 -1 +1 +1 -1 +1 +1)` | + | B | `(-1 -1 +1 -1 +1 +1 +1 -1)` | + | C | `(-1 +1 -1 +1 +1 +1 -1 -1)` | + | D | `(-1 +1 -1 -1 -1 -1 +1 -1)` | + + (1)如果 A、B、C 通过一个 CDMA 系统同时传输了位 0,试分析接收端得到的时间片序列是什么? + + (2)一个 CDMA 接收器得到了下面的时间片 `(-1 +1 -3 +1 -1 -3 +1 +1)`,请问哪些移动站传输了数据?每个站发送了什么位? + +
+ 答案: + + (1)结果是通过对 A、B、C 求反再将这三个码片序列相加得到的。 + + 结果是 `(+3 +1 +1 -1 -3 -1 -1 +1)`。(2 分) + + (2) + + `(-1 +1 -3 +1 -1 -3 +1 +1) * (-1 -1 -1 +1 +1 -1 +1 +1)/8 = 1` + + `(-1 +1 -3 +1 -1 -3 +1 +1) * (-1 -1 +1 -1 +1 +1 +1 -1)/8 = -1` + + `(-1 +1 -3 +1 -1 -3 +1 +1) * (-1 +1 -1 +1 +1 +1 -1 -1)/8 = 0` + + `(-1 +1 -3 +1 -1 -3 +1 +1) * (-1 +1 -1 -1 -1 -1 +1 -1)/8 = 1` + + 结果是 A 和 D 发送了位 1,B 发送了位 0,C 没有发送。(4 分) + +
+ + *** + +5. (6 分)试计算在一个包括 5 段链路的连接上传输一帧所需的单程端到端时延。5 段链路中有 2 段是卫星链路,有 3 段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成,传播时延为 250ms。每一个广域网的范围为 1500km,其传播时延可按 150000km/s 来计。每段链路的传输速率均为 48kb/s,帧长为 1440 位。 + +
+ 答案: + + 5 段链路的传播时延:`250 * 2 + (1500 / 150000) * 3 * 1000 = 530ms`。(2 分) + + 5 段链路的发送时延:`1440 / (48 * 1000) * 5 * 1000 = 150ms`。(2 分) + + 所以 5 段链路单程端到端时延:`530 + 150 = 680ms`。(2 分) + +
+ +*** + +### 四、综合分析题(本大题共 3 题,共 30 分) + +1. (10 分)TCP 拥塞窗口 cwnd 大小与 RTT 的关系如下表所示: + + | cwnd | 1 | 2 | 4 | 8 | 16 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 18 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | RTT | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | + | cwnd | 19 | 20 | 21 | 22 | 1 | 2 | 4 | 8 | 11 | 12 | 13 | 14 | 15 | + | RTT | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | + + (1)试画出拥塞窗口与 RTT 的关系曲线。(2 分) + + (2)指明 TCP 工作在慢启动阶段的时间段。(2 分) + + (3)指明 TCP 链接拥塞避免阶段的时间段。(2 分) + + (4)在 RTT=12、RTT=17 之后发送方是通过收到的三个重复的确认还是通过超时检测到丢失了报文段?(2 分) + + (5)在 RTT=14 和 RTT=20 时,阈值 ssthresh 分别被设置为多大?(2 分) + +
+ 答案: + + (1) + + ![第1题答案图](./images/2023-2024学年上学期期末_试卷B_综合分析题_第1题_答案图.png) + + (2)RTT:1—6,18—22 + + (3)RTT:6—12,13—17,22-26 + + (4)RTT=12:收到三个重复的确认,RTT=17:超时检测到丢失了报文段。 + + (5)RTT=14 时,阈值 ssthresh 为 18,RTT=20 时,阈值 ssthresh 为 11。 + +
+ + *** + +2. (10 分)网络结构如下图所示,回答以下问题。 + + ![第2题网络结构图](./images/2023-2024学年上学期期末_试卷B_综合分析题_第2题.png) + + (1)主机 1 分别向主机 2 和主机 4 各发送一个 IP 分组,需要路由器帮助转发该分组吗?为什么?(2 分) + + (2)主机 1、2、3、4 的缺省网关是什么?(2 分) + + (3)请填写下面表格。(6 分) + + | 数据帧 | 源 IP 地址 | 目的 IP 地址 | 源 MAC 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | 主机 1 发送给主机 2 | | | | | + | 主机 1 发送给主机 4(CS Ethernet 中) | | | | | + | 主机 1 发送给主机 4(EE Ethernet 中) | | | | | + +
+ 答案: + + (1)主机 1 分别向主机 2 发送 IP 分组,不需要路由器帮助转发该分组,因为 1 和 2 同属一个局域网 CS。(2 分) + + 主机 1 分别向主机 4 发送 IP 分组,需要路由器帮助转发该分组,因为 1 和 4 不属于同一个局域网。(2 分) + + (2)主机 1、2 的缺省网关为 192.31.65.1,主机 3 和 4 的缺省网关为 192.31.63.3。 + + (3)(每行 2 分,共 6 分) + + | 数据帧 | 源 IP 地址 | 目的 IP 地址 | 源 MAC 地址 | 目的 MAC 地址 | + | --- | --- | --- | --- | --- | + | 主机 1 发送给主机 2 | 192.31.65.7 | 192.31.65.5 | E1 | E2 | + | 主机 1 发送给主机 4(CS Ethernet 中) | 192.31.65.7 | 192.31.63.8 | E1 | E3 | + | 主机 1 发送给主机 4(EE Ethernet 中) | 192.31.65.7 | 192.31.63.8 | E4 | E6 | + +
+ + *** + +3. (10 分)如下所示某企业内部网,通过三个路由器连接 3 个局域网。 + + ![第3题企业内部网图](./images/2023-2024学年上学期期末_试卷B_综合分析题_第3题.png) + + 构建路由表使得 192.168.1.0/24 和 192.168.3.0/24 能够访问网络 192.168.2.0/24,但是 192.168.1.0/24 和 192.168.3.0/24 之间不能互相访问。请回答下列问题: + + 1.1)分析路由器 A 两端口的 IP 地址及子网掩码。 + + F01 = ( ) + + S01 = ( ) + + 1.2)构建路由器 A 路由表。 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | | | | + | | | | + | | | | + + 2.1)分析路由器 B 三个端口的 IP 地址及子网掩码。 + + F01 = ( ) + + S00 = ( ) + + S01 = ( ) + + 2.2)构建路由器 B 路由表。 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | | | | + | | | | + | | | | + | | | | + | | | | + + 3.1)分析路由器 C 两个端口的 IP 地址及子网掩码。 + + F01 = ( ) + + S01 = ( ) + + 3.2)构建路由器 C 路由表。 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | | | | + | | | | + | | | | + +
+ 答案: + + 1.1)(1 分) + + F01 = 192.168.1.1 255.255.255.0 + + S01 = 202.1.1.1 255.255.255.0 + + 1.2)(2 分)A 路由表 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | 192.168.2.0 | 255.255.255.0 | 202.1.1.2 | + | 192.168.1.0 | 255.255.255.0 | Direct | + | 202.1.1.0 | 255.255.255.0 | Direct | + + 2.1)(1 分) + + F01 = 192.168.2.1 255.255.255.0 + + S00 = 202.1.1.2 255.255.255.0 + + S01 = 202.1.2.2 255.255.255.0 + + 2.2)(3 分)B 路由表 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | 192.168.1.0 | 255.255.255.0 | 202.1.1.1 | + | 192.168.3.0 | 255.255.255.0 | 202.1.2.1 | + | 192.168.2.0 | 255.255.255.0 | Direct | + | 202.1.1.0 | 255.255.255.0 | Direct | + | 202.1.2.0 | 255.255.255.0 | Direct | + + 3.1)(1 分) + + F01 = 192.168.3.1 255.255.255.0 + + S01 = 202.1.2.1 255.255.255.0 + + 3.2)(2 分)C 路由表 + + | Destination | Mask | Next Hop | + | --- | --- | --- | + | 192.168.2.0 | 255.255.255.0 | 202.1.2.2 | + | 192.168.3.0 | 255.255.255.0 | Direct | + | 202.1.2.0 | 255.255.255.0 | Direct | + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..5fd4dcb --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,547 @@ +--- +title: 2025-2026学年上学期期中 +--- + +## 2025-2026学年上学期期中试卷(含答案) + +### 一、单项选择题(本大题共 10 小题,每小题 2 分,共 20 分) + +1. 在 OSI 参考模型中,功能需由应用层的相邻层实现的是( )。 + + A. 对话管理 + + B. 数据格式转换 + + C. 路由选择 + + D. 可靠数据传输 + +
+ 答案: + + B + +
+ + *** + +2. 假设 OSI 参考模型的应用层欲发送 400B 的数据(无拆分),除物理层和应用层外,其他各层在封装 PDU 时均引入 20B 的额外开销,则应用层的数据传输效率约为( )。 + + A. 80% + + B. 83% + + C. 87% + + D. 91% + +
+ 答案: + + A + +
+ + *** + +3. 下列选项中,不属于网络体系结构所描述的内容是( )。 + + A. 网络的层次 + + B. 每层使用的协议 + + C. 协议的内部实现细节 + + D. 每层必须完成的功能 + +
+ 答案: + + C + +
+ + *** + +4. 下列因素中,不会影响信道数据传输速率的是( )。 + + A. 信噪比 + + B. 频率带宽 + + C. 调制速率 + + D. 信号传播速率 + +
+ 答案: + + D + +
+ + *** + +5. 下列选项中,不属于物理层接口规范定义范畴的是( )。 + + A. 接口形状 + + B. 引脚功能 + + C. 物理地址 + + D. 信号电平 + +
+ 答案: + + C + +
+ + *** + +6. 若信道在无噪声情况下的极限数据传输速率不小于信噪比为 30dB 条件下的极限数据传输速率,则信号状态数至少是( )。 + + A. 4 + + B. 8 + + C. 16 + + D. 32 + +
+ 答案: + + D + +
+ + *** + +7. 在无噪声的情况下,若某通信链路的带宽为 3kHz,采用 4 个相位,每个相位具有 4 种振幅的 QAM 调制技术,则该通信链路的最大数据传输速率是( )。 + + A. 12kb/s + + B. 24kb/s + + C. 48kb/s + + D. 96kb/s + +
+ 答案: + + B + +
+ + *** + +8. 对于信道比较可靠且对实时性要求高的网络,数据链路层采用( )比较合适。 + + A. 无确认的无连接服务 + + B. 有确认的无连接服务 + + C. 无确认的面向连接服务 + + D. 有确认的面向连接服务 + +
+ 答案: + + A + +
+ + *** + +9. 数据链路层采用了回退 N 帧(GBN)协议,发送方已经发送了编号为 0~7 的帧。计时器超时时,若发送方只收到 0、2、3 号帧的确认,则发送方需要重发的帧数是( )。 + + A. 2 + + B. 3 + + C. 4 + + D. 5 + +
+ 答案: + + C + +
+ + *** + +10. 若甲向乙发送数据时采用 CRC 校验,生成多项式 $G(X)=X^4+X+1$(即 $G=10011$),则乙方接收到比特串( )时,可以断定其在传输过程中未发生错误。 + + A. 10111 0000 + + B. 10111 0100 + + C. 10111 1000 + + D. 10111 1100 + +
+ 答案: + + D + +
+ +### 二、填空题(每空 2 分,共 20 分) + +1. 单比特奇偶校验码的海明距离是( )。 + +
+ 答案: + + 2 + +
+ + *** + +2. 一个带宽为 $B$ Hz 的信道,其信号等于噪声,则信道容量为( )bps。 + +
+ 答案: + + $B$ + +
+ + *** + +3. 信道速率为 4kb/s,采用停止等待协议。传播时延 $t_p=20ms$,确认帧长度和处理时间均可忽略。帧长至少为( )bit 才能使信道利用率达到 80%。 + +
+ 答案: + + 640 + +
+ + *** + +4. 二进制信号在信噪比为 127:1 的 4kHz 信道上传输,最大数据传输速率可以达到( )。 + +
+ 答案: + + 8kb/s + +
+ + *** + +5. 一般将从 0 到某个最大频率的信号称为( )信号,可以通过( )将上述信号搬移至某个更大频率范围的信号。 + +
+ 答案: + + 基带;调制 + +
+ + *** + +6. 测得一个以太网的数据波特率是 40MBaud/s,那么其数据率是( )。 + +
+ 答案: + + 20Mb/s + +
+ + *** + +7. 你收到以下数据片段:`0110 0111 1100 1111 0111 1101`。该协议使用位填充。请给出去除填充后的数据( )。 + +
+ 答案: + + `0110 0111 1101 1110 1111 11` + +
+ + *** + +8. 在 $n$ 个结点的星形拓扑结构中,有( )条物理链路。 + +
+ 答案: + + $n-1$ + +
+ + *** + +9. 最早的计算机网络是( )。 + +
+ 答案: + + ARPANET + +
+ +### 三、简答题(本大题共 4 小题,每小题 5 分,共 20 分) + +1. 基站为设备 A 和 B 安排一个时隙,使用下表所示码片序列发送数据。在此期间,其他电台保持沉默。由于噪音,一些码片会丢失。基站接收以下序列:$(0,0,?,-2,?,?,0,-2)$。站 A 和 B 传输的比特值是多少? + + | 站点 | 码片 | + | --- | --- | + | A | 00011011 | + | B | 00101110 | + | C | 01011100 | + | D | 01000010 | + +
+ 答案: + + A 站的码片序列为 $(-1,-1,-1,+1,+1,-1,+1,+1)$;(1 分) + + B 站的码片序列为 $(-1,-1,+1,-1,+1,+1,+1,-1)$。(1 分) + + 其他站点沉默。 + + 当 A 站发送的码片序列为 $(+1,+1,+1,-1,-1,+1,-1,-1)$,(1 分) + + B 站的码片序列为 $(-1,-1,+1,-1,+1,+1,+1,-1)$ 时(1 分) + + 可与基站接收的码片序列中已知位置信息 $(0,0,?,-2,?,?,0,-2)$ 一致。 + + 可知 A 站和 B 站发送的比特值分别是 0 和 1。(1 分) + +
+ + *** + +2. 在选择性重传协议中,设编号用 3bit,发送窗口尺寸 $W_S=6$,接收窗口尺寸 $W_R=3$。试找出一种情况,使得在此情况下协议不能正确工作。 + +
+ 答案: + + 对于选择重传协议,发送窗口尺寸不能超过 $2^{n-1}$,题中用 3 位编号,即发送窗口尺寸最大值为 4,所以题目中的场景是无法正常工作的。(说明选择性重传协议的发送窗口尺寸的上限得 2 分) + + 一种可能的情况如下:发送方发出的所有数据帧都被接收方正确接收,而接收方回送的应答帧均不能达到发送方时,由发送方超时重发的数据帧将被接收方视为新的数据帧,从而协议不能正确工作。(3 分) + +
+ + *** + +3. 在 T1(或 E1)数字电话系统中,为什么 PCM 语音信号采样时间设置为 $125\mu s$? + +
+ 答案: + + $125\mu s$ 的采样时间相当于每秒 8000 个样本,即采样频率 8000Hz(2 分)。根据奈奎斯特定理,在 4kHz 话音信道中捕获所有信息需要满足用两倍的频率进行采样,即 8kHz。(3 分) + +
+ + *** + +4. 假设消息 9CA3 使用 4 位 Checksum 传输。Checksum 的值是多少? + +
+ 答案: + + 9CA3 的二进制是 `1001 1100 1010 0011`。(1 分) + + `0011 + 1010 = 1101` + + `1101 + 1100 = 1001 + 1 = 1010` + + `1010 + 1001 = 0011 + 1 = 0100` + + 对 `0100` 取 1 的补码(即取反),为 `1011`。(运算过程 3 分,结果 1 分) + +
+ +### 四、综合计算题(本大题共 4 小题,共 40 分) + +1. 现有 16 位消息使用海明码传输。需要多少个校验位才能确保接收器能够检测和纠正单位错误?为消息 `1101 0011 0011 0101` 计算采用海明码编码后传输的位模式。假设使用偶校验。 + +
+ 答案: + + 根据 $m+r+1\leq 2^r$,对于 $m=16$,$r$ 的最小值为 5。(1 分) + + 以下为编号自右向左递增的结果。 + + (列出校验位的位置,0.5 分) + + | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | 1 | 1 | 0 | 1 | 0 | | 0 | 1 | 1 | 0 | 0 | 1 | 1 | | 0 | 1 | 0 | | 1 | | | + + $$SUM(21,19,17,15,13,11,9,7,5,3)=1+0+0+0+1+0+1+0+0+1=0,\ R_1=0$$ + + (1.5 分) + + $$SUM(19,18,15,14,11,10,7,6,3)=0+1+0+1+0+1+0+1+1=1,\ R_2=1$$ + + (1.5 分) + + $$SUM(21,20,15,14,13,12,7,6,5)=1+1+0+1+1+0+0+1+0=1,\ R_4=1$$ + + (1.5 分) + + $$SUM(15,14,13,12,11,10,9)=0+1+1+0+0+1+1=0,\ R_8=0$$ + + (1.5 分) + + $$SUM(21,20,19,18,17)=1+1+0+1+0=1,\ R_{16}=1$$ + + (1.5 分) + + 采用海明码编码后传输的位模式为:`1101 0101 1001 1001 01110`。(1 分) + + 以下为编号自左向右递增的结果。 + + (列出校验位的位置,0.5 分) + + | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | + | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | + | | | 1 | | 1 | 0 | 1 | | 0 | 0 | 1 | 1 | 0 | 0 | 1 | | 1 | 0 | 1 | 0 | 1 | + + $$SUM(3,5,7,9,11,13,15,17,19,21)=1+1+1+0+1+0+1+1+1+1=0,\ R_1=0$$ + + (1.5 分) + + $$SUM(3,6,7,10,11,14,15,18,19)=1+0+1+0+1+0+1+0+1=1,\ R_2=1$$ + + (1.5 分) + + $$SUM(5,6,7,12,13,14,15,20,21)=1+0+1+1+0+0+1+0+1=1,\ R_4=1$$ + + (1.5 分) + + $$SUM(9,10,11,12,13,14,15)=0+0+1+1+0+0+1=1,\ R_8=1$$ + + (1.5 分) + + $$SUM(17,18,19,20,21)=1+0+1+0+1=1,\ R_{16}=1$$ + + (1.5 分) + + 采用海明码编码后传输的位模式为:`0111 1011 0011 0011 10101`。(1 分) + +
+ + *** + +2. 使用 CRC 方法传输比特流 `1001 1101`。生成多项式为 $x^3+1$。 + + (1)请计算实际传输的比特串。 + + (2)假设从左数第三位在传输过程中被反转。说明接收端如何检测到此错误。 + + (3)给出一个出错的位模式使得接收端无法检测到传输比特串中的位错误,并用多项式除法给出接收端检测不到此错误的过程。 + +
+ 答案: + + (1)数据位:`10011101`;生成式:`1001`。 + + 附加三个 0 后的消息为 `10011101000`。(1 分) + + `10011101000` 除以 `1001` 的余数为 `100`。(3 分) + + 因此,实际传输的位串是 `10011101100`。(1 分) + + (2)接收到的 bitstream 在左侧的第 3 位有错误,则为 `10111101100`。(1 分) + + 将其除以 `1001` 会得到 `100` 的余数,这与 0 不同。因此,接收方检测到错误并可以请求重传。(1 分) + + (3)如果传输的比特流转换为 `1001` 的任意倍数,则不会检测到错误。例如,出错的位模式恰好为 `1001`,即接收方接收到的位模式为 `10011101100 + 1001 = 10011100101`(1 分),使用多项式除法除以 `1001`(过程略),可以整除,即无法检测到出错的位模式。(2 分) + +
+ + *** + +3. 假设下图中的上行链路为 1 Mbps,下行链路为 7 Mbps,请分别在下面两种场景中,分析将一个 1GB 文件从一个 VSAT 通过卫星和 hub 传输到另一个 VSAT 需要多长时间?卫星距地面 35800 公里,信号传播速率为 $3\times 10^8$ 米/秒。 + + ![](./images/2025-2026学年上学期期中_综合计算题_第3题_VSAT网络图.png) + + (1)场景 1:使用电路交换。电路建立时间为 1.2 秒。 + + (2)场景 2:使用分组交换。假设分组大小为 64 KB,卫星和 hub 的交换延迟为 10 微秒,分组头大小为 32 字节。 + +
+ 答案: + + (1)系统中带宽最低的链路(1Mbps)是瓶颈。 + + 以 1Mbps 发送 1GB 的传输时间是 $1024\times 8$ 秒。(2 分) + + 传播延迟可以计算为 $4\times(35800/300000)=480$ 毫秒。(1 分) + + $$t_{cs}=d_{conn}+d_{trans}+d_{prop}$$ + + $$=1.2s+1GB/1Mbps+4\times35800km/(3\times10^8m/s)$$ + + $$=1.2s+1024\times8s+0.480s=8193.68s$$ + + (结果 1 分) + + (2)带宽最低的链路(1Mbps)是瓶颈。 + + 使用 64KB 的数据包,一个 1GB 的文件中有 16K 个数据包。这会增加 $16K\times32=512K$ 字节的头部需要传输。(1 分) + + 传输时间为传输整个文件(数据+头部)的时间 $(1024.5\times8)$ + 存储转发延迟 $\left(3\times((64KB+32B))/1Mbps\right)$。(2 分) + + 传播延迟 $4\times(35800/300000)=480$ 毫秒。(1 分) + + 三个交换机(卫星和 hub)的每个交换时间 0.01 毫秒相加来计算。(1 分) + + $$t_{ps}=d_{trans}+d_{prop}+d_{queue}+d_{proc}$$ + + $$=(1GB+(1GB/64KB)\times32B)/1Mbps+3\times((64KB+32B))/1Mbps+4\times35800km/(3\times10^8m/s)+3\times10\times10^{-6}s$$ + + $$=1024.5\times8s+1.537s+0.480s+0.00003s$$ + + $$=8198.01703s$$ + + (结果 1 分) + +
+ + *** + +4. 甲乙双方均采用回退 N 帧协议(GBN)进行持续的双向数据传输,且双方始终采用捎带确认,帧长均为 1000B。$S_{xy}$ 和 $R_{xy}$ 分别表示甲方和乙方发送的数据帧,其中 $x$ 是发送序号,$y$ 是确认序号(表示希望接收对方的下一帧序号),数据帧的发送序号和确认序号字段均为 3 比特。信道传输速率为 100Mb/s,单向传播延迟为 0.48ms。下图给出了甲方发送数据帧和接收数据帧的两种场景,其中 $t_0$ 为初始时刻,此时甲方的发送和确认序号均为 0,$t_1$ 时刻甲方有足够多的数据待发送。请回答下列问题。 + + ![](./images/2025-2026学年上学期期中_综合计算题_第4题_GBN传输场景图.png) + + (1)对于图(a),$t_0$ 时刻到 $t_1$ 时刻期间,甲方可以断定乙方已正确接收的数据帧数是多少?正确接收的是哪几个帧(请用 $S_{xy}$ 形式给出)? + + (2)对于图(a),从 $t_1$ 时刻起,甲方在不出现超时且未收到乙方新的数据帧之前,最多还可以发送多少个数据帧?其中第一个帧和最后一个帧分别是哪个(请用 $S_{xy}$ 形式给出)? + + (3)对于图(b),从 $t_1$ 时刻起,甲方在不出现新的超时且未收到乙方新的数据帧之前,需要重发多少个数据帧?重发的第一个帧是哪个帧(请用 $S_{xy}$ 形式给出)? + + (4)甲方可以达到的最大信道利用率是多少? + +
+ 答案: + + (1)$t_0$ 时刻到 $t_1$ 时刻期间,甲方可以断定乙方已正确接收 3 个数据帧(1 分),分别是 $S_{0,0}$,$S_{1,0}$,$S_{2,0}$(2 分)。$R_{3,3}$ 说明乙发送的数据帧确认号是 3,即希望甲发送序号 3 的数据帧,说明乙已经接收序号为 0~2 的数据帧。 + + (2)从 $t_1$ 时刻起,甲方最多还可以发送 5 个数据帧(1 分),其中第一个帧是 $S_{5,2}$(1 分),最后一个数据帧是 $S_{1,2}$(1 分)。发送序号 3 位,有 8 个序号。在 GBN 协议中,发送窗口最大为 7。此时已发送 $S_{3,0}$ 和 $S_{4,1}$,所以最多还可以发送 5 个帧。 + + (3)甲方需要重发 3 个数据帧(1 分),重发的第一个帧是 $S_{2,3}$(1 分)。在 GBN 协议中,发送方发送 N 帧后,检测出错,则需要发送出错帧及其之后的帧。$S_{2,0}$ 超时,所以重发的第一帧是 $S_2$。已收到乙的 $R_2$ 帧,所以确认号应为 3。 + + (4)(2 分)甲方可以达到的最大信道利用率是 + + $$ + \frac{7\times8\times1000/100M}{2\times0.48ms+2\times8\times1000/100M}\times100\%=50\% + $$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/README.md" index 5a55a0a..caf971b 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/README.md" @@ -3,17 +3,105 @@ title: 计算机网络 course_code: SE2214 --- +## 2005-2006学年上学期 + +### 试卷 + +- [2005-2006学年上学期期末试卷](./2005-2006学年上学期期末) + +## 2006-2007学年上学期 + +### 试卷 + +- [2006-2007学年上学期期末试卷](./2006-2007学年上学期期末) + +## 2007-2008学年上学期 + +### 试卷 + +- [2007-2008学年上学期期末试卷](./2007-2008学年上学期期末) + +## 2008-2009学年上学期 + +### 试卷 + +- [2008-2009学年上学期期末试卷](./2008-2009学年上学期期末) + +## 2013-2014学年上学期 + +### 试卷 + +- [2013-2014学年上学期月考试卷](./2013-2014学年上学期月考) + +## 2014-2015学年上学期 + +### 试卷 + +- [2014-2015学年上学期月考试卷](./2014-2015学年上学期月考) +- [2014-2015学年上学期平时测试试卷](./2014-2015学年上学期平时测试) +- [2014-2015学年上学期期末试卷](./2014-2015学年上学期期末) + +## 2015-2016学年下学期 + +### 试卷 + +- [2015-2016学年下学期期中试卷](./2015-2016学年下学期期中) + +## 2016-2017学年上学期 + +### 试卷 + +- [2016-2017学年上学期月考试卷](./2016-2017学年上学期月考) +- [2016-2017学年上学期期末试卷](./2016-2017学年上学期期末) + +## 2017-2018学年上学期 + +### 试卷 + +- [2017-2018学年上学期期末试卷](./2017-2018学年上学期期末) + +## 2018-2019学年上学期 + +### 试卷 + +- [2018-2019学年上学期期中试卷](./2018-2019学年上学期期中) + +## 2020-2021学年上学期 + +### 试卷 + +- [2020-2021学年上学期期中试卷](./2020-2021学年上学期期中) +- [2020-2021学年上学期期末试卷](./2020-2021学年上学期期末) + +## 2021-2022学年上学期 + +### 试卷 + +- [2021-2022学年上学期期中试卷](./2021-2022学年上学期期中) +- [2021-2022学年上学期期末试卷](./2021-2022学年上学期期末) + ## 2022-2023学年上学期 +### 试卷 + +- [2022-2023学年上学期期中试卷](./2022-2023学年上学期期中) +- [2022-2023学年上学期期末试卷](./2022-2023学年上学期期末) + ### 章玥 - 又是严格类型的女老师 - 个人感觉还行 -资源列表 +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2214/2022-2023学年上学期/章玥/Slides) + +## 2023-2024学年上学期 -- [课件](https://drive.vanillaaaa.org/d/SharedCourses/软件工程学院/计算机网络/ppts) -- [参考教材](https://drive.vanillaaaa.org/d/SharedCourses/软件工程学院/计算机网络/参考教材) +### 试卷 + +- [2023-2024学年上学期期中试卷](./2023-2024学年上学期期中) +- [2023-2024学年上学期期末试卷](./2023-2024学年上学期期末) ## 2024-2025学年上学期 @@ -22,4 +110,12 @@ course_code: SE2214 - 最优选择没有第二 - 老师人很好很有趣, 课本身比较乏味,但会有划重点环节 -!!! warning "施工中" +## 2025-2026学年上学期 + +### 试卷 + +- [2025-2026学年上学期期中试卷](./2025-2026学年上学期期中) + +## 推荐教材与参考资料 + +- [推荐教材与参考资料](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE2214/推荐教材与参考资料) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..7a1534f Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..961556c Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2005-2006\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\351\242\230_\347\254\2544\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..4123c76 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210_\347\252\227\345\217\243\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210_\347\252\227\345\217\243\345\233\276.png" new file mode 100644 index 0000000..3b719fc Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2006-2007\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210_\347\252\227\345\217\243\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..371dd7f Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2007-2008\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..e3b2ab5 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_A_\345\272\224\347\224\250\351\242\230_\347\254\2541\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..928930f Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2008-2009\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_B_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..2b4467a Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\351\200\232\344\277\241\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\351\200\232\344\277\241\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..9182511 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\351\200\232\344\277\241\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..5dd47d1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2013-2014\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\346\234\210\350\200\2031_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\345\255\220\347\275\221\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\345\272\224\347\224\250\351\242\230_\347\254\2542\351\242\230_GBN\347\252\227\345\217\243\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\345\272\224\347\224\250\351\242\230_\347\254\2542\351\242\230_GBN\347\252\227\345\217\243\345\233\276.png" new file mode 100644 index 0000000..cf7b169 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\345\272\224\347\224\250\351\242\230_\347\254\2542\351\242\230_GBN\347\252\227\345\217\243\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\345\267\256\345\210\206\346\233\274\345\275\273\346\226\257\347\211\271\347\274\226\347\240\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\345\267\256\345\210\206\346\233\274\345\275\273\346\226\257\347\211\271\347\274\226\347\240\201\345\233\276.png" new file mode 100644 index 0000000..6b48629 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\345\267\256\345\210\206\346\233\274\345\275\273\346\226\257\347\211\271\347\274\226\347\240\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..9182511 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_2014.11_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" new file mode 100644 index 0000000..a172c02 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" new file mode 100644 index 0000000..3fff253 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2543\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2546\351\242\230_CRC\351\231\244\346\263\225\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2546\351\242\230_CRC\351\231\244\346\263\225\345\233\276.png" new file mode 100644 index 0000000..780055a Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\347\273\274\345\220\210\351\242\230_\347\254\2546\351\242\230_CRC\351\231\244\346\263\225\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\25413\351\242\230_\345\210\206\347\273\204\344\272\244\346\215\242\347\275\221\347\273\234\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\25413\351\242\230_\345\210\206\347\273\204\344\272\244\346\215\242\347\275\221\347\273\234\345\233\276.png" new file mode 100644 index 0000000..6649df1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\25413\351\242\230_\345\210\206\347\273\204\344\272\244\346\215\242\347\275\221\347\273\234\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\347\244\272\346\204\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\347\244\272\346\204\217\345\233\276.png" new file mode 100644 index 0000000..296eff1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_\346\273\221\345\212\250\347\252\227\345\217\243\347\244\272\346\204\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..4386e24 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\346\265\267\346\230\216\347\240\201\346\240\241\351\252\214\350\241\250.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\346\265\267\346\230\216\347\240\201\346\240\241\351\252\214\350\241\250.jpg" new file mode 100644 index 0000000..47dccad Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2014-2015\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\346\265\267\346\230\216\347\240\201\346\240\241\351\252\214\350\241\250.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\215\350\257\215\350\247\243\351\207\212_\347\254\2542\351\242\230_\351\232\220\350\227\217\347\273\210\347\253\257\345\233\276.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\215\350\257\215\350\247\243\351\207\212_\347\254\2542\351\242\230_\351\232\220\350\227\217\347\273\210\347\253\257\345\233\276.jpg" new file mode 100644 index 0000000..ad81ce1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2015-2016\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\345\220\215\350\257\215\350\247\243\351\207\212_\347\254\2542\351\242\230_\351\232\220\350\227\217\347\273\210\347\253\257\345\233\276.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\350\256\241\347\256\227\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\350\256\241\347\256\227\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" new file mode 100644 index 0000000..a532fc2 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\350\256\241\347\256\227\347\273\274\345\220\210\351\242\230_\347\254\2541\351\242\230_NRZ_NRZI\347\274\226\347\240\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" new file mode 100644 index 0000000..4d57c11 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2016-2017\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\210\350\200\203_\351\200\211\346\213\251\351\242\230_\347\254\2546\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..5370523 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2017-2018\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" new file mode 100644 index 0000000..a05c9b4 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2641.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2641.png" new file mode 100644 index 0000000..9778edb Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2641.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2642.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2642.png" new file mode 100644 index 0000000..505d1b6 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\346\212\245\346\226\207\345\244\2642.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000..d2954fe Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2020-2021\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2547\351\242\230_GBN\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2547\351\242\230_GBN\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" new file mode 100644 index 0000000..cf7b169 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\2547\351\242\230_GBN\347\252\227\345\217\243\345\217\230\345\214\226\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_IP\345\244\264\351\203\250\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_IP\345\244\264\351\203\250\345\233\276.png" new file mode 100644 index 0000000..6fc5462 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_IP\345\244\264\351\203\250\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..c5c5f46 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\275\221\347\273\234\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..5af5bde Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\227\240\347\272\277\347\275\221\347\273\234\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\227\240\347\272\277\347\275\221\347\273\234\345\233\276.png" new file mode 100644 index 0000000..fecd5f8 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\227\240\347\272\277\347\275\221\347\273\234\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" new file mode 100644 index 0000000..a025d76 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2021-2022\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_NRZ_RZ\347\274\226\347\240\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_NRZ_RZ\347\274\226\347\240\201\345\233\276.png" new file mode 100644 index 0000000..a4408f1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2541\351\242\230_NRZ_RZ\347\274\226\347\240\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\345\201\266\346\240\241\351\252\214\346\265\267\346\230\216\347\240\201\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\345\201\266\346\240\241\351\252\214\346\265\267\346\230\216\347\240\201\345\233\276.png" new file mode 100644 index 0000000..470fd64 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\345\201\266\346\240\241\351\252\214\346\265\267\346\230\216\347\240\201\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\265\267\346\230\216\347\240\201\347\272\240\351\224\231\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\265\267\346\230\216\347\240\201\347\272\240\351\224\231\345\233\276.png" new file mode 100644 index 0000000..f6e3511 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\346\265\267\346\230\216\347\240\201\347\272\240\351\224\231\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\347\255\224\346\241\210\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\347\255\224\346\241\210\345\233\276.png" new file mode 100644 index 0000000..056ce58 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\347\255\224\346\241\210\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\241\253\347\251\272\351\242\230_\347\254\2545\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\241\253\347\251\272\351\242\230_\347\254\2545\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" new file mode 100644 index 0000000..74670a1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\345\241\253\347\251\272\351\242\230_\347\254\2545\351\242\230_\350\260\203\345\210\266\346\226\271\345\274\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..68fa232 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2545\351\242\230_\350\267\257\347\224\261\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_CS_EE\347\275\221\347\273\234\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_CS_EE\347\275\221\347\273\234\345\233\276.png" new file mode 100644 index 0000000..ecb432f Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2546\351\242\230_CS_EE\347\275\221\347\273\234\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_NAT\347\275\221\347\273\234\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_NAT\347\275\221\347\273\234\345\233\276.png" new file mode 100644 index 0000000..9cc1e74 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2022-2023\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_NAT\347\275\221\347\273\234\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\241\253\347\251\272\351\242\230_\347\254\2546\351\242\230_\347\274\226\347\240\201\346\263\242\345\275\242\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\241\253\347\251\272\351\242\230_\347\254\2546\351\242\230_\347\274\226\347\240\201\346\263\242\345\275\242\345\233\276.png" new file mode 100644 index 0000000..d85df28 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\345\241\253\347\251\272\351\242\230_\347\254\2546\351\242\230_\347\274\226\347\240\201\346\263\242\345\275\242\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2544\351\242\230_\351\223\276\350\267\257\345\261\202\351\207\215\344\274\240\346\227\266\345\272\217\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2544\351\242\230_\351\223\276\350\267\257\345\261\202\351\207\215\344\274\240\346\227\266\345\272\217\345\233\276.png" new file mode 100644 index 0000000..f3415e1 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\256\200\347\255\224\351\242\230_\347\254\2544\351\242\230_\351\223\276\350\267\257\345\261\202\351\207\215\344\274\240\346\227\266\345\272\217\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" new file mode 100644 index 0000000..9be7635 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\346\213\245\345\241\236\347\252\227\345\217\243\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2641.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2641.png" new file mode 100644 index 0000000..a0a5553 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2641.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2642.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2642.png" new file mode 100644 index 0000000..460101b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2642.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2643.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2643.png" new file mode 100644 index 0000000..f2e438d Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\346\212\245\346\226\207\345\244\2643.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" new file mode 100644 index 0000000..f5e41e7 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230_\347\275\221\347\273\234\347\273\223\346\236\204\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..6dcbe6c Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\350\277\207\347\250\213\350\241\250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\350\277\207\347\250\213\350\241\250.png" new file mode 100644 index 0000000..bea1ec5 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_Dijkstra\350\277\207\347\250\213\350\241\250.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" new file mode 100644 index 0000000..c116fe6 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267A_\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_\350\267\235\347\246\273\347\237\242\351\207\217\346\213\223\346\211\221\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\215\225\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\25412\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\215\225\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\25412\351\242\230.png" new file mode 100644 index 0000000..04ac186 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\345\215\225\351\241\271\351\200\211\346\213\251\351\242\230_\347\254\25412\351\242\230.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" new file mode 100644 index 0000000..2f928eb Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2541\351\242\230_\347\255\224\346\241\210\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230.png" new file mode 100644 index 0000000..dc27373 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2542\351\242\230.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230.png" new file mode 100644 index 0000000..4386e24 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2023-2024\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253_\350\257\225\345\215\267B_\347\273\274\345\220\210\345\210\206\346\236\220\351\242\230_\347\254\2543\351\242\230.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_VSAT\347\275\221\347\273\234\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_VSAT\347\275\221\347\273\234\345\233\276.png" new file mode 100644 index 0000000..eb8aa74 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230_VSAT\347\275\221\347\273\234\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_GBN\344\274\240\350\276\223\345\234\272\346\231\257\345\233\276.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_GBN\344\274\240\350\276\223\345\234\272\346\231\257\345\233\276.png" new file mode 100644 index 0000000..9a501aa Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/images/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\344\270\255_\347\273\274\345\220\210\350\256\241\347\256\227\351\242\230_\347\254\2544\351\242\230_GBN\344\274\240\350\276\223\345\234\272\346\231\257\345\233\276.png" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000032800000154F3640027.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000032800000154F3640027.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000032800000154F3640027.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000032800000154F3640027.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000032900000152B123680E.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000032900000152B123680E.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000032900000152B123680E.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000032900000152B123680E.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000003320000015C8A9E98EE.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000003320000015C8A9E98EE.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000003320000015C8A9E98EE.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000003320000015C8A9E98EE.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000033300000151977B0DF0.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000033300000151977B0DF0.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000033300000151977B0DF0.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000033300000151977B0DF0.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000004000000007864293250.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000004000000007864293250.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000004000000007864293250.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000004000000007864293250.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/1000000100000470000000F4B4E41AC7.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/1000000100000470000000F4B4E41AC7.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/1000000100000470000000F4B4E41AC7.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/1000000100000470000000F4B4E41AC7.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000004EE0000005E50C8B369.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000004EE0000005E50C8B369.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/10000001000004EE0000005E50C8B369.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/10000001000004EE0000005E50C8B369.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000094B000002EADEAFEA2E.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000094B000002EADEAFEA2E.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/Pictures/100000010000094B000002EADEAFEA2E.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/Pictures/100000010000094B000002EADEAFEA2E.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab1/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab1/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lab2-2.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lab2-2.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lab2-2.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lab2-2.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lab2.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lab2.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lab2.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lab2.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-4.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-4.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-4.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-4.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-5.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-5.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab2/lib2-5.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab2/lib2-5.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-path.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-path.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3-path.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3-path.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab3/lib3.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab3/lib3.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arp.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arp.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arp.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arp.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arpa.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arpa.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arpa.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arpa.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arpd" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arpd" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/arpd" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/arpd" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/ifconfig.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/ifconfig.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/ifconfig.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/ifconfig.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/lib4-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/lib4-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/route.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/route.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab4/route.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab4/route.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-4.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-4.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab5/lib5-4.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab5/lib5-4.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-2.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-2.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-2.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-2.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-4.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-4.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-4.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-4.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-5.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-5.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-5.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-5.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-6.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-6.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6-6.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6-6.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab6/lib6.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab6/lib6.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/F.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/F.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/F.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/F.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/README.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/README.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/README.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client0.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client0.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client0.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client0.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client1.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client1.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/client1.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/client1.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-10.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-10.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-10.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-10.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-11.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-11.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-11.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-11.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-12.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-12.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-12.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-12.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-13.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-13.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-13.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-13.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-14.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-14.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-14.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-14.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-15.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-15.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-15.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-15.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-17.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-17.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-17.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-17.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-18.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-18.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-18.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-18.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-2.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-2.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-2.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-2.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-3.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-3.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-3.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-3.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-4.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-4.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-4.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-4.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-5.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-5.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-5.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-5.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-7.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-7.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-7.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-7.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-8.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-8.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-8.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-8.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-9.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-9.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7-9.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7-9.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7.pcapng" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7.pcapng" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/lib7.pcapng" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/lib7.pcapng" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/server.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/server.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/server.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/server.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/test.txt" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/test.txt" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/\345\256\236\351\252\214/\347\216\213\345\273\267/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/lab7/test.txt" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\347\216\213\345\273\267/lab7/test.txt" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/README.md" index f5e6e9e..6f9361a 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234\345\256\236\350\267\265/README.md" @@ -8,6 +8,9 @@ course_code: SE2215 ### 刘献忠 - 实验比较简单, 要求也比隔壁班低, 最后一个 socket lab 作业要求也比隔壁低 + +#### 教学资料 + - [SOCKET_LAB](https://github.com/KirisameVanilla/SOCKET_LAB) ### 王廷 @@ -18,14 +21,13 @@ course_code: SE2215 ### 王廷 -#### 实验报告 - -除第一个实验外,其余实验所用到的 `.pcapng` 文件均附在对应文件夹下 +#### 教学资料 -- [lab1](./实验/王廷/2024-2025学年上学期/lab1) -- [lab2 Ethernet](./实验/王廷/2024-2025学年上学期/lab2) -- [lab3 IPV4](./实验/王廷/2024-2025学年上学期/lab3) -- [lab4 ARP](./实验/王廷/2024-2025学年上学期/lab4) -- [lab5 UDP](./实验/王廷/2024-2025学年上学期/lab5) -- [lab6 TCP](./实验/王廷/2024-2025学年上学期/lab6) -- [lab7 Socket Programming](./实验/王廷/2024-2025学年上学期/lab7) +- 除第一个实验外,其余实验所用到的 `.pcapng` 文件均附在对应文件夹下 + - [lab1](./2024-2025学年上学期/王廷/lab1) + - [lab2 Ethernet](./2024-2025学年上学期/王廷/lab2) + - [lab3 IPV4](./2024-2025学年上学期/王廷/lab3) + - [lab4 ARP](./2024-2025学年上学期/王廷/lab4) + - [lab5 UDP](./2024-2025学年上学期/王廷/lab5) + - [lab6 TCP](./2024-2025学年上学期/王廷/lab6) + - [lab7 Socket Programming](./2024-2025学年上学期/王廷/lab7) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index d6baa89..7f10631 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -1,7 +1,11 @@ --- title: 2024-2025学年上学期期末 --- -## 2024-2025学年上学期期末(不全) +## 2024-2025学年上学期期末试卷 + +### 说明 + +- 试卷不全 ### 简答题 @@ -40,9 +44,13 @@ Div: d = d + 1; } {post-condition} - ``` +``` + +## 2024-2025学年上学期期末试卷人工翻译 + +### 说明 -## 人工翻译(仅供参考和学习,实际考试以上文为准) +- 仅供参考和学习,实际考试以上文为准 ### 简答题 @@ -81,4 +89,4 @@ Div: d = d + 1; } {post-condition} - ``` +``` diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/README.md" index 0f77ba1..849232e 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\346\234\272\351\200\273\350\276\221\345\237\272\347\241\200/README.md" @@ -2,10 +2,15 @@ title: 计算机逻辑基础 course_code: SE3442 --- + ## 2024-2025学年上学期 +### 试卷 + +- [2024-2025学年上学期期末试卷](./2024-2025学年上学期期末) + ### 李钦 -- 资源列表 - - [课件](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%80%BB%E8%BE%91%E5%9F%BA%E7%A1%80_%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2_2024Fall_%E8%AF%BE%E4%BB%B6.zip?sign=e_KyQ6N5IvRHDtidWhLSccXDqhy4yGVST-cxYX-xZZs=:0) - - [2024-2025学年上学期期末](./2024-2025学年上学期期末) +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3442/2024-2025学年上学期/李钦/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" index 3eaf810..ad8e264 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -2,25 +2,41 @@ title: 2024-2025学年下学期期末 --- -## 2025春季学期计算理论基础期末考试试卷(回忆版) +## 2024-2025学年下学期期末试卷 -> 注:这次考试的形式是五道题自行选四个做, 每题25分, 多做没有加分;此外, 原卷面是英文, 请大家注意 +### 说明 -1. 给出接受以下语言的DFA: - 所有以 $1$ 开头, 能被 $5$ 整除的二进制串, 如 $101, 1010, 1111$, 左侧(自动机读入的第一个符号)为最高位, 右侧为最低位 +- 这次考试的形式是五道题自行选四个做, 每题25分, 多做没有加分 +- 此外, 原卷面是英文, 请大家注意 -2. 请给出 DFA 化简中 State Elimination Technique 的复杂度的 tight bound, 要有明确的推理过程 +### 一、 -3. A marble is dropped at A and B. Levers x1, x2 and x3 cause the marble to fall either to the left or to the right. Whenever a marble encounters a lever, it causes the lever to reverse after the marble passes, so the next marble will take the opposite branch. The game wins when there is a marble falls through C. The levers are all initialized to the left. Model this toy by a DFA. +给出接受以下语言的DFA: - > 这里是人工翻译: - > 在 A 点和 B 点分别掉落一个弹珠。控制杆 x1, x2, x3 会使弹珠向左或向右落下。每当弹珠经过任意一个控制杆,总会使控制杆反转,使得下一个弹珠选择另一个岔路。当存在一个弹珠掉落到 C 点使游戏胜利。拉杆初始全部设置为向左。请用 DFA 为这个小玩具建模。 +所有以 $1$ 开头, 能被 $5$ 整除的二进制串, 如 $101, 1010, 1111$, 左侧(自动机读入的第一个符号)为最高位, 右侧为最低位 - ![marble](./assets/marble.png) +### 二、 -4. 证明语言 $L = \{a^nb^nc^md^m (n \geq m \geq 1) \cup a^nb^mc^md^n (n \geq m \geq 1)\}$ 不是 CFL +请给出 DFA 化简中 State Elimination Technique 的复杂度的 tight bound, 要有明确的推理过程 -5. 构造如下的图灵机, 其功能为:给定三个非负整数 $n, m, k$, 判断 $n + m$ 是否等于 $k$. +### 三、 - 输入的形式为: - $$\underbrace{11……1}_\text{n个}0\underbrace{11……1}_\text{m个}0\underbrace{11……1}_\text{k个}$$ +A marble is dropped at A and B. Levers x1, x2 and x3 cause the marble to fall either to the left or to the right. Whenever a marble encounters a lever, it causes the lever to reverse after the marble passes, so the next marble will take the opposite branch. The game wins when there is a marble falls through C. The levers are all initialized to the left. Model this toy by a DFA. + + :::tip + 这里是人工翻译: + 在 A 点和 B 点分别掉落一个弹珠。控制杆 x1, x2, x3 会使弹珠向左或向右落下。每当弹珠经过任意一个控制杆,总会使控制杆反转,使得下一个弹珠选择另一个岔路。当存在一个弹珠掉落到 C 点使游戏胜利。拉杆初始全部设置为向左。请用 DFA 为这个小玩具建模。 + ::: + + ![marble](./images/marble.png) + +### 四、 + +证明语言 $L = \{a^nb^nc^md^m (n \geq m \geq 1) \cup a^nb^mc^md^n (n \geq m \geq 1)\}$ 不是 CFL + +### 五、 + +构造如下的图灵机, 其功能为:给定三个非负整数 $n, m, k$, 判断 $n + m$ 是否等于 $k$. + +输入的形式为: +$$\underbrace{11……1}_\text{n个}0\underbrace{11……1}_\text{m个}0\underbrace{11……1}_\text{k个}$$ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/README.md" index 4061600..7ff3015 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/README.md" @@ -13,9 +13,9 @@ course_code: SE3436 #### 教学资源 -- [2024-2025学年下学期课件](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/计算理论基础/2024-2025学年下学期/课件) -- [2024-2025学年下学期作业](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/计算理论基础/2024-2025学年下学期/作业) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3436/2024-2025学年下学期/徐鸣/Slides) +- [Homework](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE3436/2024-2025学年下学期/徐鸣/Homework) ## 推荐教材与参考资料 -- [Hopcroft, Motwani, Ullman_Introduction to Automata Theory, Languages, and Computations (3rd)](https://drive.vanillaaaa.org/d/SharedCourses/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%AE%A1%E7%AE%97%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80/Hopcroft%2C%20Motwani%2C%20Ullman_Introduction%20to%20Automata%20Theory%2C%20Languages%2C%20and%20Computations%20(3rd).pdf?sign=RLDrOgi0VxawUe9Wj_l_JLQhR7xQr7e7hkte6B-_NAc=:0) +- [Hopcroft, Motwani, Ullman_Introduction to Automata Theory, Languages, and Computations (3rd)](https://github.com/BetterECNU/SharedResources/blob/main/SE/SE3436/推荐教材与参考资料/Hopcroft,%20Motwani,%20Ullman_Introduction%20to%20Automata%20Theory,%20Languages,%20and%20Computations%20%283rd%29.pdf) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/assets/marble.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/images/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\2543\351\242\230.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/assets/marble.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\241\347\256\227\347\220\206\350\256\272\345\237\272\347\241\200/images/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\2543\351\242\230.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index 8b4ea74..3ab8402 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -1,10 +1,14 @@ --- -title: 2025-2026学年上学期写作部分期末 +title: 2025-2026学年上学期期末 --- -说明:本卷很简单,不附答案 +### 2025-2026学年上学期期末试卷写作部分 -## 一、 判断题(20分,每题2分) +### 说明 + +- 本卷很简单,不附答案 + +### 一、 判断题(20分,每题2分) 1. 论文的摘要应独立、完整。通常避免应用文献以保持简洁,通常有一定字数限制 2. 无论是直接引用还是改写他人观点,均需注明来源,否则可能构成抄袭 @@ -17,7 +21,7 @@ title: 2025-2026学年上学期写作部分期末 9. 在论文中引用他人观点时,必须注明出处 10. 参考文献格式需严格遵循学科或期刊要求,保持全文统一 -## 二、 填空题(20分,每空2分) +### 二、 填空题(20分,每空2分) 1. 学位论文是表明作者从事科学研究取得____或____,并以此为内容撰写而成、作为提出申请__时评审用的学术论文 2. 摘要的四要素包括:____、 ____、结果、结论 @@ -25,7 +29,7 @@ title: 2025-2026学年上学期写作部分期末 4. 在撰写摘要的时候,要注意摘要内容的____性与____性 5. 正文中的公式、算式或方程式等应编排序号,序号标注于该式所在行的____ -## 三、 单项选择题(20分,每题4分) +### 三、 单项选择题(20分,每题4分) 1. 关于科学技术报告,下列说法正确的是: @@ -77,7 +81,7 @@ title: 2025-2026学年上学期写作部分期末 D. 编辑会对稿件进行初审,判断是否符合征稿范围和要求 -## 四、 论述题(40分,每题10分) +### 四、 论述题(40分,每题10分) 1. 如何准备撰写一篇论文?包括哪些流程? 2. 撰写论文的引言要注意哪些事项? diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/README.md" index cea2441..aa14879 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\256\272\346\226\207\344\270\216\346\212\200\346\234\257\346\212\245\345\221\212\345\206\231\344\275\234/README.md" @@ -5,8 +5,8 @@ course_code: SE4225 ## 2025-2026学年下学期 -考核分为论文检索和写作两部分,考试时间紧邻。论文检索是自带电脑在超星上考试,写作是书面考试。 +- 考核分为论文检索和写作两部分,考试时间紧邻。论文检索是自带电脑在超星上考试,写作是书面考试。 -## 真题 +### 试卷 -- [2025-2026学年上学期_写作部分_期末](./2025-2026学年上学期期末) +- [2025-2026学年上学期期末试卷](./2025-2026学年上学期期末) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..dcb2ffc --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,191 @@ +--- +title: 2014-2015学年下学期期中 +--- + +## 2014-2015学年下学期期中试卷 + +### 一、(6 分) + +Let $P(m,n)$ be the statement "$m\mid n$", where the domain for both variables consists of all positive integers. Determine the truth values of each of these statements. + +(a) $P(4,5)$ + +(b) $P(2,4)$ + +(c) $\forall m\forall nP(m,n)$ + +(d) $\exists m\forall nP(m,n)$ + +(e) $\exists n\forall mP(m,n)$ + +(f) $\forall nP(1,n)$ + +说明:By "$m\mid n$", which we say as "$m$ divides $n$", we mean that $n=km$ for some integer $k$. + +*** + +### 二、(5 分) + +证明下面的公式(不用真值表方法) + +$$ +(p\to q)\lor(r\to q)\equiv (p\land r)\to q +$$ + +*** + +### 三、(6 分) + +Use rules of inference to show that + +if + +$$ +\forall x(P(x)\to(Q(x)\land S(x))) +$$ + +and + +$$ +\forall x(P(x)\land R(x)) +$$ + +are true, then + +$$ +\forall x(R(x)\land S(x)) +$$ + +is true. + +*** + +### 四、(6 分) + +试用一阶谓词公式描述下面的命题结构(要求使用全称个体域) + +(a) 偏序集 $(A,\le)$ 有最小元(即:the least element) + +(b) 存在实数 $x$ 和 $y$,使得 $x$ 与 $y$ 之和大于 $x$ 与 $y$ 之积。 + +*** + +### 五、(4 分) + +Express the negations of each of these statements so that all negation symbols immediately precede predicates. + +(a) $(\exists z)(\forall y)(\forall x)T(x,y,z)$ + +(b) $(\exists x)(\exists y)P(x,y)\land(\forall x)(\forall y)Q(x,y)$ + +*** + +### 六、(13 分) + +按要求完成下列各题: + +(1) 判断下列命题的真假: + +(a) $v\in\{\{v\}\}$, + +(b) $\{v\}\in\{\{v\}\}$ + +(2) 问 $A\subseteq B$,$A\in B$ 是可能的吗?若是可能的,请举例说明。 + +(3) 设 $A,B,C,D$ 为任意集合,判断下列命题是否成立,若成立,请给出证明,否则请举一个反例。 + +(a) 如果 $A\subseteq B$ 且 $C\subseteq D$,那么 $(A\cup C)\subseteq(B\cup D)$ + +(b) 如果 $A\subset B$ 且 $C\subset D$,那么 $(A\cup C)\subset(B\cup D)$ + +*** + +### 七、(8 分) + +Give an example of a function form $\mathbb{N}$ to $\mathbb{N}$ that is + +(a) One-to-one but not onto. + +(b) Onto but not one-to-one. + +(c) Both onto and one-to-one (but different from the identity function). + +(d) Neither one-to-one nor onto. + +*** + +### 八、(7 分) + +Show that the union of a countable number of countable sets is countable. + +*** + +### 九、(6 分) + +Determine whether the relation $R$ on the set of all real numbers is reflexive, irreflexive, symmetric, antisymmetric, and/or transitive, where $(x,y)\in R$ if and only if $x=1$ or $y=1$. + +Please note: If a property is not satisfied, please provide one counterexample. + +*** + +### 十、(17 分) + +按要求完成下列各题: + +(1) 令关系 $R$ 为 $\{(1,2),(1,3),(2,3),(2,4),(3,1)\}$,关系 $S$ 为 $\{(2,1),(3,1),(3,2),(4,2)\}$。 + +求:$S\circ R$ + +(2) 令 $A=\{a,b,c\}$,试给出 $A$ 上两个不同的关系 $S$ 和 $T$,使得 + +$$ +S^2=S,\qquad T^2=T. +$$ + +(3) 设 $A=\{1,2,3,4,5\}$,$R$ 是 $A$ 上的等价关系,且 $R$ 在 $A$ 上的等价类是: + +$$ +\{1,2\},\qquad \{3,4,5\} +$$ + +求:$R=?$ + +(4) 设 $A=\{1,2,3,4,5,6\}$,关系 $R$ 为 $A$ 上的关系, + +$$ +R=\{(1,5),(2,5),(3,1),(3,3),(4,5)\} +$$ + +(a) 画出 $R$ 的关系图; + +(b) 求关系 $R$ 的传递闭包。 + +(5) 设集合 $X$ 的元素个数为 $n$,问 $X$ 上有多少种对称关系,并请简述理由。 + +*** + +### 十一、(10 分) + +设 $R$ 为 $\mathbb{N}\times\mathbb{N}$ 上的二元关系,$\forall(a,b),(c,d)\in\mathbb{N}\times\mathbb{N}$, + +$$ +(a,b)R(c,d)\quad\text{当且仅当}\quad b=d +$$ + +(1) 证明:$R$ 为 $\mathbb{N}\times\mathbb{N}$ 上的等价关系; + +(2) 求 $[(a,b)]_R=?$ + +*** + +### 十二、(12 分) + +设 $(A,R)$ 为偏序集,在 $A$ 上定义新关系 $S$ 如下: + +对任意 $x,y\in A$,$xSy$ 当且仅当 $yRx$ + +(1) 证明:$S$ 也是 $A$ 上的偏序关系; + +(2) 如果 $R$ 是整数集合上的小于或等于关系,那么 $S$ 是什么关系;如果 $R$ 是正整数集合上的整除关系,那么 $S$ 是什么关系; + +(3) 偏序集 $(A,R)$ 和 $(A,S)$ 中的极大元、极小元、最大元、最小元等之间是什么关系? diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..3ff6092 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,147 @@ +--- +title: 2014-2015学年下学期期末 +--- + +## 2014-2015学年下学期期末试卷(A) + +### 一、(8 分) + +Complete the following questions: + +Premises: + +If Kristi swims every day or walks every day, then her cholesterol(胆固醇)drops. + +If her cholesterol drops, then she feels better. + +She does not feel better. + +Conclusion: Kristi does not walk every day. + +(Let $S$ = "Kristi swims every day." + +Let $W$ = "Kristi walks every day." + +Let $C$ = "Kristi's cholesterol drops" + +Let $F$ = "Kristi feels better".) + +Questions: + +a) Translating premises and conclusion into logical expressions. + +b) Show that conclusion. + +*** + +### 二、(7 分) + +Suppose that $g$ is a function from $A$ to $B$ and $f$ is a function from $B$ to $C$. + +1). Show that if both $f$ and $g$ are one-to-one, then $f\circ g$ is also one-to-one. + +2). Show that if both $f$ and $g$ are onto, then $f\circ g$ is also onto. + +*** + +### 三、(10 分) + +若一个关系 $R$ 被称为环,当且仅当 $aRb$,$bRc$ 蕴含 $cRa$。证明:$R$ 是自反的并且它是环,当且仅当 $R$ 是等价关系。 + +*** + +### 四、(7 分) + +Given the set $\{2,3,\ldots,2n+1\}$, prove that if you take any $n+1$ elements from the set, then there must be at least 2 co-prime(互质)elements.(两个连续的自然数一定是互质数。) + +*** + +### 五、(7 分) + +Let $n$ be a nonnegative integer. Then + +$$ +\sum_{k=0}^{n}2^k\binom{n}{k}=3^n +$$ + +*** + +### 六、(8 分) + +Find a recurrence relation for the number of bit strings that contain the string 01. + +1) What are the initial conditions? + +2) How many bits strings of length five contain the string? (You must give the value of the number of bit strings) + +*** + +### 七、(8 分) + +How many one-to-one functions are there from a set with $m$ elements to one with $n$ elements? + +*** + +### 八、(8 分) + +Find all solutions of the recurrence relation + +$$ +a_n=4a_{n-1}-4a_{n-2}+2^n +$$ + +with initial condition $a_0=1,a_1=2$ + +*** + +### 九、(7 分) + +Use generating functions to solve the recurrence relation + +$$ +a_k=a_{k-1}+2a_{k-2}+2^k +$$ + +with initial conditions $a_0=4$ and $a_1=12$. + +*** + +### 十、(5 分) + +How many different strings can be made from the letters in ABRACADABRA, using all the letters. + +*** + +### 十一、(5 分) + +设 $a_1,a_2,\ldots,a_n$ 是 $1,\ldots,n$ 的一个排列,证明,当 $n$ 为奇数时,$(a_1-1)(a_2-2)\cdots(a_n-n)$ 是一个偶数。 + +*** + +### 十二、(20 分) + +回答下列问题 + +1). A sequence $d_1,d_2,\ldots,d_n$ is called graphic if it is the degree sequence of a simple graph. Determine whether this sequence is graphic. If yes, draw such a graph. + +$$ +3,3,4,5,5,6 +$$ + +2). Let $G$ be a graph with $v$ vertices and $e$ edges. Let $M$ be the maximum degree of the vertices of $G$, and let $m$ be the minimum degree of the vertices of $G$. Show that: + +(a). $\dfrac{2e}{v}\ge m$; + +(b). $\dfrac{2e}{v}\le M$ + +3). Determine whether the given pair of graphs is isomorphic(同构). Please briefly explain the reason. + + ![第十二题第3小题图](./images/2014-2015学年下学期期末_第12题_第3小题.jpg) + +4). Find the chromatic number(着色数)of the following graph. Please color these vertices. + + ![第十二题第4小题图](./images/2014-2015学年下学期期末_第12题_第4小题.jpg) + +5). Determine whether the given graph is planar. Please briefly explain the reason. + + ![第十二题第5小题图](./images/2014-2015学年下学期期末_第12题_第5小题.jpg) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..d9c1e66 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,222 @@ +--- +title: 2017-2018学年下学期期末 +--- + +## 2017-2018学年下学期期末试卷(A) + +### 说明 + +- 该卷试题风格个人感觉不像软院离散数学,因此建议改试卷仅供参考。 + +### 一、选择题(每题 2 分,共 20 分) + +1. 设 $R,S$ 是集合 $A$ 上的关系,则下列说法正确的是( )。 + + A. 若 $R,S$ 是自反的,则 $R\circ S$ 是自反的; + + B. 若 $R,S$ 是反自反的,则 $R\circ S$ 是反自反的; + + C. 若 $R,S$ 是对称的,则 $R\circ S$ 是对称的; + + D. 若 $R,S$ 是传递的,则 $R\circ S$ 是传递的。 + + *** + +2. 如下图所示的格中,互为补元的两个元素是( )。 + + A. $b,d$ + + B. $c,e$ + + C. $b,e$ + + D. $c,d$ + + ![选择题第2题图](./images/2017-2018学年下学期期末_选择题_第2题.jpg) + + *** + +3. 下图中从 $v_1$ 到 $v_3$ 长度为 3 的通路有( )条。 + + A. 0 + + B. 1 + + C. 2 + + D. 3 + + ![选择题第3题图](./images/2017-2018学年下学期期末_选择题_第3题.jpg) + + *** + +4. 关于图的一些说法正确的是( )。 + + A. 偶数顶点数的完全图是欧拉图 + + B. 完全二叉树必有奇数个顶点 + + C. 一个边带权图的最小生成树只有一棵 + + D. $K_{3,3}$ 是极大可平面图 + + *** + +5. 在下面所示的 4 个图中,( )不是单向联通图。 + + ![选择题第5题图](./images/2017-2018学年下学期期末_选择题_第5题.jpg) + + *** + +6. 一棵树有 2 个 2 度顶点,1 个 3 度顶点,3 个 4 度顶点,则其 1 度顶点为( )。 + + A. 5 + + B. 7 + + C. 8 + + D. 9 + + *** + +7. 下列等价关系正确的是( )。 + + A. $\forall x(P(x)\vee Q(x))\Leftrightarrow \forall xP(x)\vee \forall xQ(x)$ + + B. $\exists x(P(x)\vee Q(x))\Leftrightarrow \exists xP(x)\vee \exists xQ(x)$ + + C. $\forall x(P(x)\to Q)\Leftrightarrow \forall xP(x)\to Q$ + + D. $\exists x(P(x)\to Q)\Leftrightarrow \exists xP(x)\to Q$ + + *** + +8. 实数集 $\mathbb{R}$ 的下列运算不满足交换律的是( )。 + + A. $a\circ b=|a-b|$ + + B. $\displaystyle a\circ b=\frac{a+b}{2}$ + + C. $a\circ b=a+2b$ + + D. $a\circ b=\sqrt{a^2+b^2}$ + + *** + +9. 设 $A=\{1,2,3,\cdots,10\}$,定义 $A$ 上的关系 $R=\{(x,y)\mid x,y\in A\wedge x+y=10\}$,则 $R$ 具有的性质为( )。 + + A. 自反性 + + B. 对称性 + + C. 传递性、对称性 + + D. 传递性 + + *** + +10. 以下序列中,( )是简单可图的。 + + A. $(4,4,3,3,2,2)$ + + B. $(3,3,3,1)$ + + C. $(5,4,3,2,2)$ + + D. $(6,6,3,2,2,2,1)$ + +*** + +### 二、填空题(每题 2 分,共 20 分) + +1. 令 $F(x)$:$x$ 是汽车;$G(y)$:$y$ 是火车;$H(x,y)$:$x$ 比 $y$ 快。则命题“不存在比所有火车都快的汽车”符号化形式为 $\underline{\qquad}$。 + + *** + +2. 谓词公式 $\forall xP(x)\to \exists xQ(x)$ 的前束范式为 $\underline{\qquad}$。 + + *** + +3. 在 1 到 100 之间(含 1 和 100)既不能被 2 也不能被 3 还不能被 5 整除的自然数有 $\underline{\qquad}$ 个。 + + *** + +4. 设 $S=\{1,2,3,4,5,6\}$,定义 $*$ 运算:对于 $\forall x,y\in S$,有 $x*y=x+y-xy$。则 $S$ 中关于 $*$ 的幺等元为 $\underline{\qquad}$。 + + *** + +5. 集合 $A=\{a,b,c,d\}$ 上的二元关系共有 $\underline{\qquad}$ 个,等价关系共有 $\underline{\qquad}$ 个。 + + *** + +6. 若 8 阶无向简单图 $G$ 有 8 条边,则图 $G$ 的补图有 $\underline{\qquad}$ 条边。 + + *** + +7. 设 $S=\{1,2,3,4\}$,$S$ 上定义的二元运算 $*$ 如下表所示,元素 3 的阶为 $\underline{\qquad}$。 + + | $*$ | 1 | 2 | 3 | 4 | + | --- | --- | --- | --- | --- | + | 1 | 1 | 2 | 3 | 4 | + | 2 | 2 | 4 | 1 | 3 | + | 3 | 3 | 1 | 4 | 2 | + | 4 | 4 | 3 | 2 | 1 | + + *** + +8. 下图所示的偏序集中,是格的为 $\underline{\qquad}$。 + + ![填空题第8题图](./images/2017-2018学年下学期期末_填空题_第8题.jpg) + + *** + +9. 当 $n\ \underline{\qquad}$ 时,$n$ 阶完全无向图 $K_n$ 是平面图,当 $n$ 为 $\underline{\qquad}$ 时,$K_n$ 是欧拉图。 + + *** + +10. 已知一棵无向树 $T$ 有三个 3 度顶点,一个 2 度顶点,其余的都是 1 度顶点,则 $T$ 中有 $\underline{\qquad}$ 个 1 度顶点。 + +*** + +### 三、计算题(每题 10 分,共 30 分) + +1. 设集合 $A=\{1,2,\cdots,12\}$,$R$ 为 $A$ 上的整除关系。 + + (1)(4 分)画出偏序集 $\langle A,R\rangle$ 的 Hasse 图; + + (2)(3 分)写出 $A$ 的所有极大元和极小元; + + (3)(3 分)写出 $B=\{2,3,6\}$ 的最小元和最大元。 + + *** + +2. 通过生成函数求解递推关系 $a_k=3a_{k-1},\ k=1,2,3,\cdots$,且初始条件为 $a_0=2$。 + + *** + +3. (1)(5 分)判断左图是否为欧拉图,若是,请给出一个欧拉回路(用阿拉伯数字在边上标明顺序),若不是,请说明原因; + + (2)(5 分)判断右图是否为哈密顿图,若是,请给出一个哈密顿回路(用阿拉伯数字在顶点上标明顺序),若不是,请说明原因。 + + ![计算题第3题图](./images/2017-2018学年下学期期末_计算题_第3题.jpg) + +*** + +### 四、证明题(每题 10 分,共 30 分) + +1. 证明: + $$ + (\neg P\wedge(\neg Q\wedge R))\vee(Q\wedge R)\vee(P\wedge R)\Leftrightarrow R. + $$ + + *** + +2. Let $m,n$ and $r$ be nonnegative integers with $r$ not exceeding either $m$ or $n$. Then + $$ + \binom{m+n}{r}=\sum_{k=0}^{r}\binom{m}{r-k}\binom{n}{k}. + $$ + + *** + +3. $R$ 是集合 $X$ 上的一个自反关系,求证:$R$ 是对称和传递的,当且仅当 $\langle a,b\rangle$ 和 $\langle a,c\rangle$ 在 $R$ 中有 $\langle b,c\rangle$ 在 $R$ 中。 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..abaf517 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,447 @@ +--- +title: 2024-2025学年下学期期中 +--- + +## 2024-2025学年下学期期中试卷(A)(含答案) + +### 一、Logic (5 questions, 35 points) + +1. (6 points) Determine the truth value of each of these statements if the universe of discourse for all variables consists of all integers. + + 1. $\forall x\exists y(x+y=1)$ + 2. $\exists x\exists y(x+2y=2 \land 2x+2y=5)$ + 3. $\exists x\forall y(x + 解: + + 1. T + 2. F + 3. T + + + + *** + +2. (5 points) 证明下面的公式(不用真值表方法) + + $$ + \neg(p\leftrightarrow q)\equiv ((p\lor q)\land \neg(p\land q)). + $$ + +
+ 解: + + $$ + \begin{aligned} + \text{左边} + &\equiv \neg((p\to q)\land(q\to p)) && \text{等价等值}\\ + &\equiv \neg((\neg p\lor q)\land(\neg q\lor p)) && \text{蕴含等值}\\ + &\equiv \neg(\neg p\lor q)\lor\neg(\neg q\lor p) && \text{德摩根律}\\ + &\equiv (p\land\neg q)\lor(q\land\neg p) && \text{德摩根律}\\ + &\equiv (p\lor q)\land(p\lor\neg p)\land(\neg q\lor q)\land(\neg q\lor\neg p) && \text{分配律}\\ + &\equiv (p\lor q)\land\neg(p\land q)\\ + &\equiv \text{右边}. + \end{aligned} + $$ + +
+ + *** + +3. (9 points) 将下列命题符号化(要求使用全总个体域) + + 1. 火车比轮船快 + 2. 在北京工作的人未必都是北京人 + 3. 部分序集 $(A,\le)$ 没有最大元 + +
+ 解: + + (1)令 $F(x)$:$x$ 是火车,$G(y)$:$y$ 是轮船,$H(x,y)$:$x$ 比 $y$ 快。 + + $$ + \forall x\forall y((F(x)\land G(y))\to H(x,y)). + $$ + + (2)令 $P(x)$:$x$ 是北京人,$Q(x)$:$x$ 在北京工作。 + + $$ + \neg\forall x(Q(x)\to P(x)). + $$ + + (3)令 $P(x)$:$x\in A$,$Q(x,y)$:$x\le y$。 + + $$ + \neg\exists x(P(x)\land\forall y(P(y)\to Q(y,x))). + $$ + +
+ + *** + +4. (7 points) 试证明下面的推理为有效推理 + + 前提: + + $$ + \forall x(F(x)\lor G(x)) + $$ + + $$ + \forall x(G(x)\to \neg R(x)) + $$ + + $$ + \forall xR(x) + $$ + + 结论: + + $$ + \forall xF(x) + $$ + +
+ 解: + + 1. $\forall x(G(x)\to\neg R(x))$,前提引入。 + 2. $G(a)\to\neg R(a)$,由(1)UI 规则。 + 3. $\forall xR(x)$,前提引入。 + 4. $R(a)$,由(3)UI 规则。 + 5. $\neg G(a)$,由(2)(4)拒取。 + 6. $\forall x(F(x)\lor G(x))$,前提引入。 + 7. $F(a)\lor G(a)$,由(6)UI 规则。 + 8. $F(a)$,由(5)(7)析取三段论。 + 9. $\forall xF(x)$,UG 规则。 + +
+ + *** + +5. (8 points) 判断如下的结论是否正确 + + 1. $\forall x(A(x)\land B(x))\equiv \forall xA(x)\land \forall xB(x)$ + 2. $\exists x(A(x)\land B(x))\equiv \exists xA(x)\land \exists xB(x)$ + 3. $\forall x(A(x)\lor B(x))\equiv \forall xA(x)\lor \forall xB(x)$ + 4. $\exists x(A(x)\lor B(x))\equiv \exists xA(x)\lor \exists xB(x)$ + +
+ 解: + + 1. True. + 2. False. + 3. False. + 4. True. + +
+ +*** + +### 二、Sets and Functions (3 questions, 20 points) + +6. (6 points) Let $A,B$ and $C$ be sets. Prove that + + $$ + (A-B)\cup C=A-(B-C) + $$ + + if and only if $C\subseteq A$. + +
+ 解: + + $\Rightarrow$:若 $(A-B)\cup C=A-(B-C)$,则 + + $$ + C\subseteq (A-B)\cup C=A-(B-C)\subseteq A. + $$ + + $\Leftarrow$:若 $C\subseteq A$,则 + + $$ + \begin{aligned} + (A-B)\cup C + &=(A\cap \overline{B})\cup C\\ + &=(A\cup C)\cap(\overline{B}\cup C)\\ + &=A\cap(\overline{B}\cup C)\qquad //\text{ because }C\subseteq A\\ + &=A\cap\overline{(B\cap\overline{C})}\\ + &=A-(B-C). + \end{aligned} + $$ + +
+ + *** + +7. (8 points) Determine whether these statements are true or false. + + 1. $\varnothing\in\{\{\varnothing\}\}$. + 2. If $A$ and $B$ are both uncountable sets, then $A\cap B$ is also uncountable. + 3. The mapping $f$ from $\mathbb{R}$ to $\mathbb{R}$ defined by $f(x)=\dfrac{1}{x^2}$ is a function which is neither onto nor one-to-one. + 4. The mapping $f$ from $\mathbb{R}$ to $\mathbb{R}$ defined by $f(x)=2-2x$ is a function which is both onto and one-to-one. + +
+ 解: + + 1. False. + 2. False. If $A=\mathbb{R}^+$ and $B=\mathbb{R}^-$, then $A\cap B=\varnothing$. + 3. False. $f$ is not a function since it is undefined at $x=0$. + 4. True. + +
+ + *** + +8. (6 points) Suppose $A$ is an infinite set. Prove that $A$ has a proper subset $B$ (i.e., $B\subset A$) such that $|A|=|B|$. + +
+ 解: + + Since $A$ is infinite, it has a infinite countable subset $A_0\subseteq A$. Suppose + + $$ + A_0=\{a_1,a_2,a_3,\ldots\}. + $$ + + Let + + $$ + B=A-\{a_1\}. + $$ + + We can construct a bijection $f$ from $A$ to $B$ as: + + $$ + f(x)= + \begin{cases} + x, & x\in A-A_0,\\ + a_{i+1}, & x=a_i. + \end{cases} + $$ + + Thus we have $|A|=|B|$ and complete the proof. + +
+ +*** + +### 三、Relations (4 questions, 45 points) + +9. (10 points) 设 $R\subseteq A\times A$,分别定义以下操作: + + - $r(R)$:对 $R$ 取自反闭包 + - $s(R)$:对 $R$ 取对称闭包 + - $t(R)$:对 $R$ 取传递闭包 + + (1)请考虑两个组合操作: + + $$ + R_1=t(s(r(R))) + $$ + + $$ + R_2=s(t(r(R))) + $$ + + 请证明或举反例说明:是否恒有 $R_1=R_2$?若成立请证明;若不成立,请给出一个集合 $A$ 和关系 $R$ 的具体例子,并分别写出 $R_1$ 与 $R_2$。 + + (2)是否存在一个唯一的最小关系 $S(R\subseteq S)$,同时满足以下三个性质:自反性、对称性、传递性。如果存在,请说明该关系 $S$ 的构造方法;如果不存在,请说明原因。 + +
+ 解: + + (1)不成立。举例 $A=\{1,2,3\}$,$R=\{(1,3),(2,3)\}$。 + + $$ + \begin{aligned} + R_1 + &=t(s(r(R)))\\ + &=\{(1,1),(2,2),(3,3),(1,3),(2,3),(3,1),(3,2),(1,2),(2,1)\}. + \end{aligned} + $$ + + $$ + \begin{aligned} + R_2 + &=s(t(r(R)))\\ + &=\{(1,1),(2,2),(3,3),(1,3),(2,3),(3,1),(3,2)\}. + \end{aligned} + $$ + + $R_2$ 不包含 $(1,2)$ 和 $(2,1)$,两者不相等。 + + (2)存在唯一的最小关系 $S$,即 $R$ 的等价闭包。构造方法为:先取 $R$ 的自反闭包 $r(R)$,再取对称闭包 $s(r(R))$,最后取传递闭包 $t(s(r(R)))$。 + +
+ + *** + +10. (10 points) Considering relations on the set $A=\{1,2,3,\ldots,100\}$ consisting of the first 100 positive integers, please answer the following questions: + + (a) How many nonzero entries does the matrix representing the relation have if $R=\{(a,b)\mid a>b\}$; + + (b) How many relations are there on set $A$ that are asymmetric(非对称); + + (c) How many relations are there on set $A$ that are both symmetric and antisymmetric(对称且反对称). + +
+ 解: + + (a) + + $$ + \binom{100}{2}=4950. + $$ + + (b) + + $$ + 3^{\frac{100^2-100}{2}}=3^{4950}. + $$ + + (c) + + $$ + 2^{100}. + $$ + + 仅包含自环,每个元素可选是否包含自环。 + +
+ + *** + +11. (12 points) Given a function $f:X\to Y$, define the relation + + $$ + R=\{(x_1,x_2)\mid f(x_1)=f(x_2),\ x_1,x_2\in X\}. + $$ + + (a) Prove that the relation $R$ is an equivalence relation. + + (b) Give the corresponding set $B$ of all equivalence classes. + + (c) Define the function $g:B\to f(X)$ by $g([x])=f(x)$. Prove that $g$ is a bijective function. + +
+ 解: + + (a) To prove that $R$ is an equivalence relation, we need to show that it satisfies reflexivity, symmetry, and transitivity. + + 1. Reflexivity: For any $x\in X$, we have $f(x)=f(x)$. Therefore, $(x,x)\in R$. This shows that $R$ is reflexive. + 2. Symmetry: If $(x,y)\in R$, then $f(x)=f(y)$. This implies $f(y)=f(x)$, so $(y,x)\in R$. This shows that $R$ is symmetric. + 3. Transitivity: If $(x,y)\in R$ and $(y,z)\in R$, then $f(x)=f(y)$ and $f(y)=f(z)$. This implies $f(x)=f(z)$, so $(x,z)\in R$. This shows that $R$ is transitive. + + Since $R$ satisfies all three properties, it is an equivalence relation. + + (b) The set of equivalence classes $B$ is given by the partition of $X$ induced by the relation $R$. Each equivalence class consists of all elements in $X$ that are related to each other under $R$. Formally, the set of equivalence classes $B$ is: + + $$ + B=\{[x]\mid x\in X\}, + $$ + + where + + $$ + [x]=\{y\in X\mid (x,y)\in R\}=\{y\in X\mid f(x)=f(y)\}. + $$ + + (c) Define $g:B\to f(X)$ by + + $$ + g([x])=f(x). + $$ + + We need to show that $g$ is both injective (one-to-one) and surjective (onto). + + Injectivity: Suppose $g([x])=g([y])$. Then $f(x)=f(y)$. By the definition of equivalence classes, $x$ and $y$ are in the same equivalence class, i.e., $[x]=[y]$. Therefore, $g$ is injective. + + Surjectivity: For any $y\in f(X)$, there exists some $x\in X$ such that $f(x)=y$. Then $g([x])=f(x)=y$. This shows that every element in $f(X)$ is the image of some equivalence class in $B$. Therefore, $g$ is surjective. + + Since $g$ is both injective and surjective, it is a bijective function. + +
+ + *** + +12. (13 分) 设 $\Pi_n$ 表示集合 $S_n=\{1,2,\ldots,n\}$ 的所有划分构成的集合。给定集合 $S_n$ 上的两个划分 $P_1=\{A_1,A_2,\ldots,A_r\}$ 和 $P_2=\{B_1,B_2,\ldots,B_s\}$,若对于每个 $A_j$ 均有某个 $B_k$,使 $A_j\subseteq B_k$,则称 $P_1$ 是 $P_2$ 的加细,记为 $P_1\preceq P_2$。 + + (a) 证明:集合 $(\Pi_n,\preceq)$ 是一个偏序集。 + + (b) 对于 $n=3$,画出偏序集 $(\Pi_n,\preceq)$ 的哈斯图。 + + (c) 对于 $n=5$,求 $\{P_1,P_2\}$ 的最大下界和最小上界,其中 $P_1=\{\{1,2\},\{3\},\{4,5\}\}$,$P_2=\{\{1\},\{2,3\},\{4\},\{5\}\}$。 + +
+ 解: + + (a) To show that $(\Pi_n,\preceq)$ is a poset, we need to verify three properties: + + 1. Reflexivity: For any partition $P\in\Pi_n$, clearly every block of $P$ is a subset of itself, so $P\preceq P$. + + 2. Antisymmetry: Suppose $P_1\preceq P_2$ and $P_2\preceq P_1$. Let $X\in P_1$. Since $P_1\preceq P_2$, there exists $Y\in P_2$ such that $X\subseteq Y$. Since $P_2\preceq P_1$, there exists $Z\in P_1$ such that $Y\subseteq Z$. But $X\subseteq Y\subseteq Z$ and $X,Z\in P_1$. Since the sets in a partition are non-overlapping, $X=Y=Z$. Similarly, for any set in $P_2$, it is equal to a set in $P_1$. Thus, $P_1=P_2$, and the relation is antisymmetric. + + 3. Transitivity: If $P_1\preceq P_2$ and $P_2\preceq P_3$, then any block of $P_1$ is contained in some block of $P_2$, which in turn is contained in some block of $P_3$. Thus $P_1\preceq P_3$. + + Therefore, $(\Pi_n,\preceq)$ is a poset. + + (b) For $n=3$, the set $S_3=\{1,2,3\}$ has 5 partitions: + + $$ + P_0=\{\{1\},\{2\},\{3\}\}\quad\text{(finest partition)} + $$ + + $$ + P_1=\{\{1\},\{2,3\}\} + $$ + + $$ + P_2=\{\{1,2\},\{3\}\} + $$ + + $$ + P_3=\{\{1,3\},\{2\}\} + $$ + + $$ + P_4=\{\{1,2,3\}\}\quad\text{(coarsest partition)} + $$ + + The Hasse diagram is: + + ```text + P4 + / | \ + P1 P2 P3 + \ | / + P0 + ``` + + (c) Given: + + $$ + P_1=\{\{1,2\},\{3\},\{4,5\}\},\qquad + P_2=\{\{1\},\{2,3\},\{4\},\{5\}\}. + $$ + + **Greatest Lower Bound**: The meet is the finest partition that is coarser than both $A_1$ and $A_2$. We find it by taking pairwise intersections: + + - The element $1$ is merged with $2$ in $A_1$, but forms a separate block in $A_2$. Therefore, $1$ must form a separate block on its own. + - The element $2$ is merged with $1$ in $A_1$ and with $3$ in $A_2$. Therefore, $2$ must form a separate block on its own. + - Through similar analysis, it can be concluded that all elements form separate blocks. + + $$ + GLB=\{\{1\},\{2\},\{3\},\{4\},\{5\}\}. + $$ + + **Least Upper Bound (LUB)**: The join is the coarsest partition that refines both $A_1$ and $A_2$. We find it by taking connected components of the union: + + - The block $\{1,2\}$ of $A_1$ and the block $\{2,3\}$ of $A_2$ intersect due to the element $2$, and they are merged into $\{1,2,3\}$. + - The block $\{4,5\}$ of $A_1$ is split into $\{4\}$ and $\{5\}$ in $A_2$. However, since the LUB needs to be coarser than $A_1$, the block $\{4,5\}$ is retained. + + $$ + LUB=\{\{1,2,3\},\{4,5\}\}. + $$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\347\254\254\344\270\200\344\272\214\347\253\240\346\265\213\351\252\214\351\242\230.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\347\254\254\344\270\200\344\272\214\347\253\240\346\265\213\351\252\214\351\242\230.md" new file mode 100644 index 0000000..9f5d5f6 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/2024-2025\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\347\254\254\344\270\200\344\272\214\347\253\240\346\265\213\351\252\214\351\242\230.md" @@ -0,0 +1,180 @@ +--- +title: 2024-2025学年下学期第一二章测验题 +--- + +## 2024-2025学年下学期第一二章测验题 + +### 一、 + +Please say which of the following formulas are tautologies, which are contradictions, and which are contingencies. In each case, use truth tables plus accompanying text to prove your claims. + +(i) $(p\to q)\lor(q\to p)$ + +(ii) $p\oplus p$ (where $\oplus$ is the exclusive disjunction) + +(iii) $(p\to q)\to(\neg q\to\neg p)$ + +-------- Aberdeen 2005 + +*** + +### 二、 + +Translate the following argument into propositional logic, and prove it. + +Premises: If it rains then it's wet. If it's wet then I'm miserable. I'm not miserable. + +Conclusion: It does not rain. + +-------- Aberdeen 2006 + +*** + +### 三、 + +True or False. You do not need to justify your answers on this problem. + +$\mathbb{N}$ denotes the set of natural numbers, $\{0,1,2,\ldots\}$. + +$\mathbb{Z}$ denotes the integers, $\{\ldots,-2,-1,0,1,2,\ldots\}$. + +( ) (a) If the implication $P\to Q$ is true, then its converse is guaranteed to be true. + +( ) (b) $\forall w\in\mathbb{Z}.\exists x\in\mathbb{Z}.\forall y\in\mathbb{Z}.\exists z\in\mathbb{Z}.w+x=y+z$ + +( ) (c) $\exists x\in\mathbb{N}.\forall p\in\mathbb{Z}.p>5\to x^2\equiv 1\pmod p$ + +( ) (d) $\forall p\in\mathbb{Z}.p>5\to\exists x\in\mathbb{N}.x^2\equiv 1\pmod p$ + +-------- Berkeley Fall 2003 Midterm + +*** + +### 四、 + +(a) Consider the function $f(x)=20-4x^2$ from the set $\{-3,-2,-1,0,1,2,3\}$ to the set $\{-16,4,16,20,36\}$. Is it an injection? Is it a surjection? Explain your answer. + +(b) Is the function $f(x)=2x-1$ a bijection from the set of positive integers to the set of positive integers? Explain your answer. + +(c) What is the inverse of $f(x)=5-2x^{3/2}$? + +(d) Let $f(x)=x^{2/3}+2x+7$ and $g(x)=3x+4$ be functions from the set of real numbers to the set of real numbers. What is $f\circ g$? And what is $g\circ f$? + +-------- Queens Univ October 2006 Test1 + +*** + +### 五、 + +Give an example of a function $f:\mathbb{N}\to\mathbb{Z}$ that is: + +(a) Neither injective nor surjective. + +(b) Injective but not surjective. + +(c) Surjective but not injective. + +(d) Surjective and injective. + +-------- Stanford February 2006 + +*** + +### 六、 + +Prove or give a counterexample for each of the following: + +(a) If $A\subseteq B$ and $B\subseteq C$, then $A\subseteq C$. + +(b) If $A\in B$ and $B\in C$, then $A\in C$. + +-------- Stanford February 2007 + +*** + +### 七、 + +Let us add the following two operations to our dealings with sets: + +- Pairwise addition: $A\oplus B:=\{a+b\mid a\in A,\ b\in B\}$ (This is also called the Minkowski addition of sets A and B.) +- Pairwise multiplication: $A\otimes B:=\{a\times b\mid a\in A,\ b\in B\}$ + +For example, if $A$ is $\{1,2\}$ and $B$ is $\{10,100\}$, then $A\oplus B=\{11,12,101,102\}$ and $A\otimes B=\{10,20,100,200\}$. Please describe the following sets: + +i. $\mathbb{N}\oplus\varnothing$; + +ii. $\mathbb{N}\oplus\mathbb{N}$ + +iii. $\mathbb{N}^{+}\oplus\mathbb{N}^{+}$ + +iv. $\mathbb{N}^{+}\otimes\mathbb{N}^{+}$ + +-------- Stanford Homework + +*** + +### 八、 + +用一阶谓词公式描述下列命题的结构(使用全总个体域) + +(a) 自然数不是奇数就是偶数 + +(b) 没有最大的自然数 + +*** + +### 九、 + +构造下面推理的证明 + +前提: + +$$ +\exists xF(x)\to\forall y(G(y)\to H(y)), +$$ + +$$ +\exists xM(x)\to\exists y(G(y)) +$$ + +结论: + +$$ +\exists x(F(x)\land M(x))\to\exists y(H(y)) +$$ + +*** + +### 十、 + +设 $A$,$B$,$C$ 为任意的集合,证明: + +(1) $(A-B)-C=(A-C)-B$ + +(2) $A\cap(B\oplus C)=(A\cap B)\oplus(A\cap C)$ + +说明:$B\oplus C$ 表示集合 $B$ 和集合 $C$ 的对称差,即 $(B\cup C)-(B\cap C)$,也即:$(B-C)\cup(C-B)$。 + +*** + +### 十一、 + +若 $A$ 是不可列的无限集,$B$ 为无限可列集,且 $A\cap B=\varnothing$,试建立 $A\cup B$ 到 $A$ 的一一对应。 + +*** + +### 十二、 + +若 $A_1,A_2,\ldots,A_m$ 都是无限集,且都是可列集,并且它们两两互不相交,证明: + +$$ +\bigcup_{i=1}^{m}A_i +$$ + +是可列集。 + +*** + +### 十三、 + +(ECNU 2024, midterm) Let $A$, $B$ and $C$ be sets. Prove that $B-C\subseteq\overline{A}$ if and only if $A\cap B\subseteq C$. diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/README.md" index b569187..9ba8108 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/README.md" @@ -3,6 +3,19 @@ title: 软件工程数学 course_code: SE1207 --- +## 2014-2015学年下学期 + +### 试卷 + +- [2014-2015学年下学期期中试卷](./2014-2015学年下学期期中) +- [2014-2015学年下学期期末试卷](./2014-2015学年下学期期末) + +## 2017-2018学年下学期 + +### 试卷 + +- [2017-2018学年下学期期末试卷](./2017-2018学年下学期期末) + ## 2021-2022学年下学期 ### 朱惠彪 @@ -10,6 +23,10 @@ course_code: SE1207 - 全英语PPT - 作业量适中 +#### 教学资源 + +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1207/2021-2022学年下学期/朱惠彪/Slides) + ## 2022-2023学年下学期 ### 韩莉 @@ -17,22 +34,17 @@ course_code: SE1207 - 老师人挺好的, 教的也挺好 - 作业量适中 -## 2023-2024学年下学期 - -### 韩莉 - -## 课程资料 - -[2022年春软件工程数学资料](https://drive.vanillaaaa.org/软件工程学院/软件工程数学/课程资料) +## 2024-2025学年下学期 -[2026年春张民离散数学课件](https://pan.baidu.com/s/1t7bEEvReJbImxhfw5bZlOQ?pwd=xpy9) +### 试卷 -## 真题卷 +- [2024-2025学年下学期期中试卷](./2024-2025学年下学期期中) +- [2024-2025学年下学期第一二章测验题](./2024-2025学年下学期第一二章测验题) -[2024-2025学年下学期期中_A_含答案](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/软件工程数学/2024-2025学年下学期期中_A_含答案.pdf) +## 2025-2026学年下学期 -[远古老资历考试题目](https://drive.vanillaaaa.org/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%AD%A6%E9%99%A2/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E6%95%B0%E5%AD%A6/%E7%A6%BB%E6%95%A3%E6%95%B0%E5%AD%A6%E8%80%81%E8%B5%84%E5%8E%86%E8%80%83%E8%AF%95.zip) +### 张民 -## 模拟卷 +#### 教学资源 -[2024-2025学年下学期第一二章测验题](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/软件工程数学/2024-2025学年下学期第一二章测验题.pdf) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1207/2025-2026学年下学期/张民/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2543\345\260\217\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2543\345\260\217\351\242\230.jpg" new file mode 100644 index 0000000..2cce874 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2543\345\260\217\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2544\345\260\217\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2544\345\260\217\351\242\230.jpg" new file mode 100644 index 0000000..8b6ffe9 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2544\345\260\217\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2545\345\260\217\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2545\345\260\217\351\242\230.jpg" new file mode 100644 index 0000000..e244201 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2014-2015\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\347\254\25412\351\242\230_\347\254\2545\345\260\217\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\345\241\253\347\251\272\351\242\230_\347\254\2548\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\345\241\253\347\251\272\351\242\230_\347\254\2548\351\242\230.jpg" new file mode 100644 index 0000000..4b81ad2 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\345\241\253\347\251\272\351\242\230_\347\254\2548\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230.jpg" new file mode 100644 index 0000000..dfefc4c Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\350\256\241\347\256\227\351\242\230_\347\254\2543\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2542\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2542\351\242\230.jpg" new file mode 100644 index 0000000..bebde2b Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2542\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2543\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2543\351\242\230.jpg" new file mode 100644 index 0000000..873b470 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2543\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" new file mode 100644 index 0000000..3737373 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\345\267\245\347\250\213\346\225\260\345\255\246/images/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253_\351\200\211\346\213\251\351\242\230_\347\254\2545\351\242\230.jpg" differ diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026-1-\346\234\210\350\200\203\344\270\200.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\347\254\254\344\270\200\346\254\241\346\234\210\350\200\203.md" similarity index 88% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026-1-\346\234\210\350\200\203\344\270\200.md" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\347\254\254\344\270\200\346\254\241\346\234\210\350\200\203.md" index 7a397b1..49e7021 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026-1-\346\234\210\350\200\203\344\270\200.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\347\254\254\344\270\200\346\254\241\346\234\210\350\200\203.md" @@ -1,8 +1,10 @@ --- -title: 软件测试和验证2025-2026学年第一学期第一次月考试卷(A) +title: 2025-2026学年上学期第一次月考 --- -## 一、判断下列命题的正确性(25 分,每题 5 分,共 5 题) +## 2025-2026学年上学期第一次月考试卷(A) + +### 一、判断下列命题的正确性(25 分,每题 5 分,共 5 题) 1. 达到期望的覆盖度要求是软件测试的最终目标。 (Х) 2. 系统在运行过程中报内存溢出是软件~~缺陷~~ **失效**。 (Х) @@ -13,7 +15,7 @@ title: 软件测试和验证2025-2026学年第一学期第一次月考试卷(A **应为需求提交相关缺陷问题报告单,与需求分析人员明确输出结果** (Х) 5. 对于枚举类型的变量而言,在测试时最好能够遍历其所有枚举值。 (√) -## 二、单项选题(每题有且仅有一个答案,10 分,每题 5 分,共 2 题) +### 二、单项选择题题(每题有且仅有一个答案,10 分,每题 5 分,共 2 题) 1. 下列待测因素中不建议使用边界值测试方法的是 ( B ) @@ -28,7 +30,7 @@ title: 软件测试和验证2025-2026学年第一学期第一次月考试卷(A C. 对“用户名”的待测因素只需要考虑“用户名长度”和“构成用户名的字符集”2个测试因素; D. `seist_student1` 是一个符合基本值标准的测试输入; -## 三、多选题(15 分,有 2 个或 2 个以上的正确答案,多选或者错选均不得分,每漏选一个扣每个正确答案的分数) +### 三、多选题(15 分,有 2 个或 2 个以上的正确答案,多选或者错选均不得分,每漏选一个扣每个正确答案的分数) 1. 代码如图所示,对于第 7 行代码中的缺陷`int i=1`,其正确代码应该为`int i=0`,下列说法正确的是( CD ) @@ -51,12 +53,12 @@ title: 软件测试和验证2025-2026学年第一学期第一次月考试卷(A C. 测试用例(`arr={0}`,`expected=1`)可以发现第 10 行代码 `int i=1` 这个缺陷; D. 测试用例(`arr={1}`,`expected=0`)满足可感染性但不满足传播性; -## 四、简答题(20 分) +### 四、简答题(20 分) `List intersection(List list1, List list2)` 方法返回两个整数列表的交集。 对于输入符合方法参数要求的整数列表,请给出能够验证 intersection 满足设计期望的测试断言。 -### 评分标准 +#### 评分标准 答案并不唯一! @@ -74,13 +76,13 @@ title: 软件测试和验证2025-2026学年第一学期第一次月考试卷(A 4. 测试断言的语义重复性.考察的是同一个维度下,是否给了冗余的断言。也就是几个断言实际上说得都是一会事,即多个断言等价; 5. 测试断言的数量,但是单纯的数量多,不好,需结合上述 4 个维度评判; -## 五、绘图题(30 分) +### 五、绘图题(30 分) `Sutter(String txt, String token)`功能输出列出 `txt` 中重复出现的单词及其重复出现次数的列表, `token` 是分割符且 `space`, `comma`, `;`和 `:` 为合法的分割符。若 `txt` 的最大长度为 2M, 请给出 `Sutter` 的测试设计过程的思维导图。 -### 评分标准 +#### 评分标准 答案并不唯一! diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/README.md" index 23a4584..b5904b2 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\350\275\257\344\273\266\346\265\213\350\257\225\344\270\216\351\252\214\350\257\201/README.md" @@ -7,8 +7,8 @@ course_code: SE3313 ### 试卷 -- [2025-2026学年上学期第一次月考试卷](./2025-2026-1-月考一) +- [2025-2026学年上学期第一次月考试卷](./2025-2026学年上学期第一次月考) ### 孙海英 & 苏亭 -在机房上课,没有回放 +- 在机房上课,没有回放 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241(\345\237\272\344\272\216Java)/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241(\345\237\272\344\272\216Java)/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" index 64aa17c..cb09252 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241(\345\237\272\344\272\216Java)/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241(\345\237\272\344\272\216Java)/2024-2025\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -6,7 +6,7 @@ title: 2024-2025学年上学期期末 ### 说明 -在2025-2026学年上学期,据cly老师说,这份卷子是去年的期末考卷,供同学们练习。 +- 在2025-2026学年上学期,据cly老师说,这份卷子是去年的期末考卷,供同学们练习。 ### 一、判断题(15 题,每题 1 分,共 15 分) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw2-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw2-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw2-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw2-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw2-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw2-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw2-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw2-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw3-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw3-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw3-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw3-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw3-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw3-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw3-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw3-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw4-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw4-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw4-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw4-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw4-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw4-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw4-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw4-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw5-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw5-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw5-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw5-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw5-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw5-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw5-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw5-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw6-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw6-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw6-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw6-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw6-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw6-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw6-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw6-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-1.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-1.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-1.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-1.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-2.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-2.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-2.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-2.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-3.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-3.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-3.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-3.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-4.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-4.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-4.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-4.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-5.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-5.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-5.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-5.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-6.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-6.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-6.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-6.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-7.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-7.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-7.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-7.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-8.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-8.png" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/images/25-26-1-hw7-8.png" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/images/25-26-1-hw7-8.png" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026-1_\345\216\206\346\254\241\344\275\234\344\270\232_\351\262\215\351\222\260.mdx" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/\345\216\206\346\254\241\344\275\234\344\270\232.md" similarity index 100% rename from "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026-1_\345\216\206\346\254\241\344\275\234\344\270\232_\351\262\215\351\222\260.mdx" rename to "docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/2025-2026\345\255\246\345\271\264\344\270\212\345\255\246\346\234\237/\351\262\215\351\222\260/\345\216\206\346\254\241\344\275\234\344\270\232.md" diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/README.md" index 02d5b94..befb08e 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\256\236\350\267\265\357\274\210\345\237\272\344\272\216C++\357\274\211/README.md" @@ -7,8 +7,8 @@ course_code: SE2414 ### 鲍钰 -非常简单,没上理论课也可以轻松完成作业的程度。 +- 非常简单,没上理论课也可以轻松完成作业的程度。 +- 但是早八略不友善 +- 基本就是上课写一节课的作业,然后最后一节课作业是考试 -但是早八略不友善 - -基本就是上课写一节课的作业,然后最后一节课作业是考试 +#### 教学资源 diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\270\200\357\274\211/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\270\200\357\274\211/README.md" index b0f0363..24ca530 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\270\200\357\274\211/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\270\200\357\274\211/README.md" @@ -14,7 +14,3 @@ course_code: SE1102 ### 试卷 - [2024-2025学年上学期期中试卷](./2024-2025学年上学期期中) - -## 推荐教材与参考资料 - -- [期中试卷合集](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/高等数学(一)) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2016-2017\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2016-2017\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..cdb9c09 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2016-2017\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,217 @@ +--- +title: 2016-2017学年下学期期中 +--- + +## 2016-2017学年下学期期中试卷(A) + +### 一、填空题(每题 4 分,共计 20 分) + +1. 已知 $A(2,-3,4)$,$B(3,-3,7)$,$C(2,-2,7)$,则三角形 $\triangle ABC$ 的面积是 $\underline{\qquad}$。 + + *** + +2. 设 $u=2xy-z^2$,$u$ 在点 $(2,-1,1)$ 处方向导数的最大值为 $\underline{\qquad}$。 + + *** + +3. 设 $u=f(x^2+y^2+z^2)$,其中 $f$ 具有三阶连续导数,则 + + $$ + \frac{\partial^3u}{\partial y^2\partial z} + = + \underline{\qquad}. + $$ + + *** + +4. 将二重积分 + + $$ + I=\int_1^2dx\int_{2-x}^{\sqrt{2x-x^2}}f(x,y)\,dy + $$ + + 变换积分次序得 $\underline{\qquad}$。 + + *** + +5. 设 $f(x)$ 具有连续一阶导数,且 $f(0)=1$,$L$ 是任意闭曲线,若 + + $$ + \oint_L xe^{2y}\,dx+e^{2y}f(x)\,dy=0, + $$ + + 则 $f(x)=\underline{\qquad}$。 + +*** + +### 二、选择题(每题 3 分,共计 15 分) + +6. 在 $x$ 轴上求一点 $P$,使点 $P$ 到点 $A(1,-3,6)$ 的距离为 $7$,则 $P$ 点关于 $x$ 轴的坐标为( )。 + + A. $3$ + + B. $-3$ + + C. $0$ + + D. $2$ + + *** + +7. 极限 + + $$ + \lim_{(x,y)\to(0,0)}(1-xy)^{\frac1x} + $$ + + 等于( )。 + + A. $0$ + + B. $1$ + + C. $2$ + + D. $e$ + + *** + +8. 设 $D$ 为由折线 $|x|+|y|=1$ 所围成的区域,$D_1,D_2,D_4$ 为 $D$ 在第 $1,2,4$ 象限部分,则 + + $$ + \iint_D e^{-(x^2+y)}\,dxdy= + $$ + + ( ) + + A. $\displaystyle4\iint_{D_1}e^{-(x^2+y)}\,dxdy$ + + B. $\displaystyle4\iint_{D_4}e^{-(x^2+y)}\,dxdy$ + + C. $\displaystyle2\iint_{D_1+D_2}e^{-(x^2+y)}\,dxdy$ + + D. $\displaystyle2\iint_{D_1+D_4}e^{-(x^2+y)}\,dxdy$ + + *** + +9. 设曲线 $L:x^2+y^2=1\ (y\ge0)$,其中正向是逆时针方向,则( )。 + + A. $\displaystyle\int_L\cos y\,dy>0$ + + B. $\displaystyle\int_L\cos y\,dx>0$ + + C. $\displaystyle\int_L\sin x\,dy>0$ + + D. $\displaystyle\int_L\sin x\,dx>0$ + + *** + +10. 设曲面 $S$ 为曲面 $z=\sqrt{x^2+y^2}$ 被柱面 $x=z^2$ 所截下的部分,则 + + $$ + \iint_S\frac{1}{\sqrt{1-x^2-y^2}}\,dS= + $$ + + ( )。 + + A. $\sqrt2(2-\pi)$ + + B. $\sqrt2(\pi-2)$ + + C. $(2-\pi)$ + + D. $(\pi-2)$ + +*** + +### 三、证明题和计算题(共 6 题,计 53 分) + +11. 证明函数 $z=-(1+e^y)\cos x-ye^y$ 有无穷多个极大值点,但无极小值。(8 分) + + *** + +12. 求曲面 $x^2+2y^2+3z^2=21$ 平行于平面 $x+4y+6z=0$ 的切平面方程。(9 分) + + *** + +13. 设 + + $$ + f(x,y)=\max_D\{x,y\},\quad + D=\{(x,y)\mid0\le x\le1,\ 0\le y\le1\}, + $$ + + 计算 + + $$ + I=\iint_D f(x,y)|y-x^2|\,d\sigma + $$ + + 的值。(9 分) + + *** + +14. 计算 + + $$ + \iiint_V(x^2+y^2+z^2)\,dxdydz + $$ + + 的值,其中 + + $$ + V=\{(x,y,z)\mid x^2+y^2\le z^2,\ 1\le z\le2\}. + $$ + + (9 分) + + *** + +15. 计算 + + $$ + \int_C\sqrt{x^2+y^2}\,ds, + $$ + + 其中 $C:x^2+y^2=-2y$。(9 分) + + *** + +16. 计算 + + $$ + \iint_\Sigma + y(x-z)\,dydz+(x^2+2yz)\,dzdx+(y^2+xz)\,dxdy, + $$ + + 其中 $\Sigma$ 是 $x=0$,$y=0$,$z=0$,$x+y+z=1$ 这四个平面所围成四面体表面的外侧。(9 分) + +*** + +### 四、综合题(共计 12 分) + +17. 设 + + $$ + P=x^2+5\lambda y+3yz,\quad + Q=5x+3\lambda xz-2,\quad + R=(\lambda+2)xy-4z. + $$ + + (a) 计算 + + $$ + \int_LP\,dx+Q\,dy+R\,dz, + $$ + + 其中 $L$ 为曲线: + + $$ + x=t,\quad y=2t,\quad z=3t\quad(0\le t\le1); + $$ + + (4 分) + + (b) 设 $A=(P,Q,R)$,计算旋度 $\operatorname{rot}A$;(3 分) + + (c) 当旋度为 $0$ 时,求函数 $u(x,y,z)$,使得梯度 $\operatorname{grad}u=(P,Q,R)$,且 $u(0,0,0)=0$。(5 分) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" new file mode 100644 index 0000000..d232519 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\210\350\200\203.md" @@ -0,0 +1,222 @@ +--- +title: 2017-2018学年下学期月考 +--- + +## 2017-2018学年下学期月考试卷 + +### 一、填空题(每题 4 分,共计 20 分) + +1. 求与平面 $x-2y+z-3=0$ 垂直的单位向量 $\underline{\qquad}$。 + + *** + +2. 曲线 + + $$ + \begin{cases} + \dfrac{x^2}{4}+\dfrac{y^2}{16}-\dfrac{z^2}{2}=1,\\ + x+z=0 + \end{cases} + $$ + + 对坐标平面 $xoy$ 的投影柱面方程为 $\underline{\qquad}$。 + + *** + +3. $\displaystyle\lim_{(x,y)\to(1,0)}(x+y)^{\frac{x+y+1}{x+y-1}}=\underline{\qquad}$。 + + *** + +4. 设 $z=(e^{xy}+x)^x$,则全微分 $dz|_{(1,0)}=\underline{\qquad}$。 + + *** + +5. 函数 $f(x,y,z)=x^2y+z^2$ 在点 $M(2,2,0)$ 处沿着曲面 $2z=x^2+y^2$ 在 $M$ 处的向外(下)的法线方向 $\vec n$ 的方向导数为 $\underline{\qquad}$。 + +*** + +### 二、选择题(每题 3 分,共计 15 分) + +6. 设 $\triangle ABC$ 的顶点为 $A(3,0,2)$,$B(5,3,1)$,$C(0,-1,3)$,则三角形的面积为( )。 + + A. $\dfrac{\sqrt6}{2}$ + + B. $\dfrac{3\sqrt6}{2}$ + + C. $3\sqrt6$ + + D. $4\sqrt6$ + + *** + +7. 函数 $f(x,y)$ 在点 $(0,0)$ 某个邻域内连续,且 + + $$ + \lim_{\substack{x\to0\\y\to0}} + \frac{f(x,y)-xy}{(x^2+y^2)^3}=1, + $$ + + 则下列四个选项中正确的是( )。 + + A. 点 $(0,0)$ 是 $f(x,y)$ 的极大值点 + + B. 点 $(0,0)$ 是 $f(x,y)$ 的极小值点 + + C. 点 $(0,0)$ 不是 $f(x,y)$ 的极值点 + + D. 无法判断点 $(0,0)$ 是否为 $f(x,y)$ 的极值点 + + *** + +8. 设有直线 + + $$ + L_1:\frac{x-1}{1}=\frac{y-5}{-2}=\frac{z+8}{1} + $$ + + 与 + + $$ + L_2: + \begin{cases} + x-y=6,\\ + 2y+z=3, + \end{cases} + $$ + + 则 $L_1$ 与 $L_2$ 的夹角为( )。 + + A. $\dfrac{\pi}{6}$ + + B. $\dfrac{\pi}{4}$ + + C. $\dfrac{\pi}{3}$ + + D. $\dfrac{\pi}{2}$ + + *** + +9. 已知函数 + + $$ + u(x,y)=\varphi(x+y)+\varphi(x-y)+\int_{x-y}^{x+y}\psi(t)\,dt, + $$ + + 其中函数 $\varphi$ 具有二阶导数,$\psi$ 具有一阶导数,在必有( )。 + + A. $\displaystyle\frac{\partial^2u}{\partial x^2}=-\frac{\partial^2u}{\partial y^2}$ + + B. $\displaystyle\frac{\partial^2u}{\partial x^2}=\frac{\partial^2u}{\partial y^2}$ + + C. $\displaystyle\frac{\partial^2u}{\partial x\partial y}=\frac{\partial^2u}{\partial y^2}$ + + D. $\displaystyle\frac{\partial^2u}{\partial x\partial y}=\frac{\partial^2u}{\partial x^2}$ + + *** + +10. 若 $f_x(x_0,y_0)$,$f_y(x_0,y_0)$ 都存在,则 $f(x,y)$ 在 $(x_0,y_0)$ 处( )。 + + A. 极限存在但不一定连续 + + B. 极限存在且连续 + + C. 沿着任意方向的方向导数存在 + + D. 极限未必存在,未必连续 + +*** + +### 三、计算题(每题 9 分,共计 54 分) + +11. 求过点 $(2,-1,3)$ 且与直线 + + $$ + L:\frac{x-1}{3}=\frac{y+1}{2}=\frac{z+14}{-1} + $$ + + 垂直相交的直线方程。 + + *** + +12. 求曲面 $z=\arctan\dfrac{x}{y}$ 在点 $\left(1,1,\dfrac{\pi}{4}\right)$ 处的切平面。 + + *** + +13. 设 + + $$ + f(x,y)= + \begin{cases} + \dfrac{x-y}{x^2+y^2}\tan(x^2+y^2),&(x,y)\ne(0,0),\\ + 0,&(x,y)=(0,0), + \end{cases} + $$ + + 试讨论 $f(x,y)$ 在点 $(0,0)$ 处的: + + (1) 连续性。(3 分) + + (2) 偏导的存在性,若存在,求出偏导数的值。(3 分) + + (3) 可微性,若可微,写出其微分。(3 分) + + *** + +14. 设函数 $z=z(x,y)$ 由方程 + + $$ + xy=e^{xz}-2z + $$ + + 所确定。 + + (1) 计算 $\displaystyle\frac{\partial z}{\partial x}$。(3 分) + + (2) 计算 $\displaystyle\frac{\partial^2z}{\partial x\partial y}$。(6 分) + + *** + +15. 设函数 $z=u(x,y)e^{ax+by}$,且 + + $$ + \frac{\partial^2u}{\partial x\partial y}=0, + $$ + + 试确定常数 $a,b$,使函数 $z=z(x,y)$ 能满足方程: + + $$ + \frac{\partial^2z}{\partial x\partial y} + -\frac{\partial z}{\partial x} + -\frac{\partial z}{\partial y} + +z=0. + $$ + + *** + +16. 将长为 $2$ 米的铁丝分成三段,依次围成圆、正方形与正三角形,其面积分别为 $S_1,S_2,S_3$,求出当函数 + + $$ + S=\frac{1}{\sqrt{S_1+S_2+S_3}} + $$ + + 取最大值时的铁丝分法。 + +*** + +### 四、综合题(共计 11 分) + +17. 设函数 $u(x,y)$ 的所有二阶偏导数都连续,且 + + $$ + \frac{\partial^2u}{\partial x^2}=\frac{\partial^2u}{\partial y^2}, + $$ + + 又 + + $$ + u(x,2x)=x,\quad u_1(x,2x)=x^2. + $$ + + (1) 计算 $u_2(x,2x)$。(4 分) + + (2) 计算 $u_{11}(x,2x)$。(7 分) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..d8692cb --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2017-2018\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,615 @@ +--- +title: 2017-2018学年下学期期中 +--- + +## 2017-2018学年下学期期中试卷(A)(含答案) + +### 一、填空题(每题 4 分,共计 20 分) + +1. 过点 $(2,0,-3)$,且与直线 + + $$ + \begin{cases} + x-2y+4z-7=0,\\ + 3x+5y-2z+1=0 + \end{cases} + $$ + + 垂直的平面方程为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + 16x-14y-11z-65=0 + $$ + +
+ + *** + +2. 设 $f(u,v)$ 是二元可微函数,$z=f(x^y,y^x)$,则 $\displaystyle\frac{\partial z}{\partial x}=\underline{\qquad}$。 + +
+ 答案: + + $$ + \frac{\partial z}{\partial x}=f_1yx^{y-1}+f_2y^x\ln y + $$ + +
+ + *** + +3. 已知 $f(2x+y,x-2y)=25(x^2+y^2)+\varphi(x-2y)$,且 $f(1,y)=y^2$,则 $f(x,y)$ 在点 $(1,1)$ 处的全微分为 $df|_{(1,1)}=\underline{\qquad}$。 + +
+ 答案: + + $$ + df|_{(1,1)}=10\,dx+2\,dy + $$ + +
+ + *** + +4. 交换积分次序: + + $$ + \int_0^1 dy\int_{\sqrt{y}}^{\sqrt{2-y^2}}f(x,y)\,dx=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + \int_1^{\sqrt2}dx\int_0^{\sqrt{2-x^2}}f(x,y)\,dy + +\int_0^1dx\int_0^{x^2}f(x,y)\,dy + $$ + +
+ + *** + +5. 计算 $\operatorname{div}\operatorname{grad}(x^3+e^y+\cos z)=\underline{\qquad}$。 + +
+ 答案: + + $$ + 6x+e^y-\cos z + $$ + +
+ +*** + +### 二、选择题(每题 3 分,共计 15 分) + +6. 设 $\vec a,\vec b$ 为不共线向量,则以下各式成立的是( )。 + + A. $\vec a^{\,2}\vec b^{\,2}=(\vec a\cdot\vec b)^2$ + + B. $\vec a^{\,2}\times\vec b^{\,2}=(\vec a\times\vec b)^2$ + + C. $(\vec a\cdot\vec b)^2=(\vec a\times\vec b)^2$ + + D. $(\vec a\cdot\vec b)^2+(\vec a\times\vec b)^2=\vec a^{\,2}\vec b^{\,2}$ + +
+ 答案: + + D + +
+ + *** + +7. 考虑二元函数 $f(x,y)$ 的下面 4 条性质:①函数 $f(x,y)$ 在点 $(x_0,y_0)$ 处连续;②函数 $f(x,y)$ 在点 $(x_0,y_0)$ 处两个偏导数连续;③函数 $f(x,y)$ 在点 $(x_0,y_0)$ 处可微;④函数 $f(x,y)$ 在点 $(x_0,y_0)$ 处两个偏导数存在。则下面结论正确的是( )。 + + A. ②$\Rightarrow$③$\Rightarrow$① + + B. ③$\Rightarrow$②$\Rightarrow$① + + C. ③$\Rightarrow$④$\Rightarrow$① + + D. ③$\Rightarrow$①$\Rightarrow$④ + +
+ 答案: + + A + +
+ + *** + +8. 设 $f(x,y)$ 与 $\varphi(x,y)$ 均为可微函数,且 $\varphi'_y(x,y)\ne 0$,已知 $(x_0,y_0)$ 是 $f(x,y)$ 在约束条件 $\varphi(x,y)=0$ 下的一个极值点,下列选项正确的是( )。 + + A. 若 $f'_x(x_0,y_0)=0$,则 $f'_y(x_0,y_0)=0$ + + B. 若 $f'_x(x_0,y_0)=0$,则 $f'_y(x_0,y_0)\ne 0$ + + C. 若 $f'_x(x_0,y_0)\ne 0$,则 $f'_y(x_0,y_0)=0$ + + D. 若 $f'_x(x_0,y_0)\ne 0$,则 $f'_y(x_0,y_0)\ne 0$ + +
+ 答案: + + D + +
+ + *** + +9. 设 $\varphi(x)$ 为区间 $[0,1]$ 上的正值连续函数,$a$ 与 $b$ 为任意常数,积分区域 $D=\{(x,y)\mid 0\le x,y\le 1\}$,则 + + $$ + \iint_D\frac{a\varphi(x)+b\varphi(y)}{\varphi(x)+\varphi(y)}\,d\sigma= + $$ + + ( )。 + + A. $a+b$ + + B. $a-b$ + + C. $\displaystyle\frac{a+b}{2}$ + + D. $\displaystyle\frac{a-b}{2}$ + +
+ 答案: + + C + +
+ + *** + +10. 设二元函数 $f(x,y)$ 具有一阶连续偏导数,曲线 $L:f(x,y)=1$ 过第二象限内的点 $M$ 和第四象限内的点 $N$,$\Gamma$ 为 $L$ 上从点 $M$ 到 $N$ 的一段弧,则下列积分值一定为负值的是( )。 + + A. $\displaystyle\int_\Gamma f(x,y)\,ds$ + + B. $\displaystyle\int_\Gamma f(x,y)\,dx$ + + C. $\displaystyle\int_\Gamma f(x,y)\,dy$ + + D. $\displaystyle\int_\Gamma f_x(x,y)\,dx+f_y(x,y)\,dy$ + +
+ 答案: + + C + +
+ +*** + +### 三、计算题(每题 10 分,共计 60 分) + +11. 求两曲面 $x+2y=1$ 和 $x^2+2y^2+z^2=1$ 的交线上距原点最近的点。 + +
+ 答案: + + 原点到 $P(x,y,z)$ 的距离为 + + $$ + d=\sqrt{x^2+y^2+z^2}. + $$ + + (2 分) + + 只需求 $x^2+y^2+z^2$ 的最小值,建立拉格朗日函数: + + $$ + L=x^2+y^2+z^2+\lambda_1(x+2y-1)+\lambda_2(x^2+2y^2+z^2-1). + $$ + + (4 分) + + 解方程组 + + $$ + \begin{cases} + L_x=2x+\lambda_1+2x\lambda_2=0,\\ + L_y=2y+2\lambda_1+4y\lambda_2=0,\\ + L_z=2z+2z\lambda_2=0,\\ + L_{\lambda_1}=x+2y-1=0,\\ + L_{\lambda_2}=x^2+2y^2+z^2-1=0, + \end{cases} + $$ + + (6 分) + + 得 + + $$ + x=1,\quad y=0,\quad z=0, + $$ + + (7 分) + + 或 + + $$ + x=-\frac13,\quad y=\frac23,\quad z=0. + $$ + + (8 分) + + 故最小距离为 + + $$ + d=\sqrt{\frac19+\frac49+0}=\frac{\sqrt5}{3}, + $$ + + 距原点最近的点为 + + $$ + \left(-\frac13,\frac23,0\right). + $$ + + (10 分) + +
+ + *** + +12. 设二元函数 + + $$ + f(x,y)= + \begin{cases} + x^2, & |x|+|y|\le 1,\\ + \dfrac{1}{\sqrt{x^2+y^2}}, & 1<|x|+|y|\le 2, + \end{cases} + $$ + + 计算二重积分 $\displaystyle\iint_D f(x,y)\,d\sigma$ 的值,其中 + + $$ + D=\{(x,y)\mid |x|+|y|\le 2\}. + $$ + +
+ 答案: + + 因为被积函数关于 $x,y$ 均为偶函数,且积分区域关于 $x,y$ 轴均对称,因此 + + $$ + \iint_D f(x,y)\,d\sigma=4\iint_{D_1}f(x,y)\,d\sigma, + $$ + + 其中 $D_1$ 为 $D$ 在第一象限的部分。 + + (4 分) + + 那么 + + $$ + \begin{aligned} + \iint_{D_1}f(x,y)\,d\sigma + &= + \iint_{x+y\le1}x^2\,d\sigma + +\iint_{1\le x+y\le2}\frac{1}{\sqrt{x^2+y^2}}\,d\sigma\\ + &= + \int_0^1\int_0^{1-x}x^2\,dy\,dx + +\int_0^1\int_{1-x}^{2-x}\frac{1}{\sqrt{x^2+y^2}}\,dy\,dx\\ + &\quad+\int_1^2\int_0^{2-x}\frac{1}{\sqrt{x^2+y^2}}\,dy\,dx\\ + &= + \frac{1}{12}+\sqrt2\ln(\sqrt2+1). + \end{aligned} + $$ + + (8 分) + + 所以原积分为 + + $$ + \iint_D f(x,y)\,d\sigma=\frac13+4\sqrt2\ln(\sqrt2+1). + $$ + + (10 分) + +
+ + *** + +13. 计算 $\displaystyle\iiint_\Omega (x^2+y^2)\,dx\,dy\,dz$,其中 $\Omega$ 是由曲线 $y^2=2z,\ x=0$ 绕 $z$ 轴旋转一圈而成的曲面与 $z=2,\ z=8$ 所围。 + +
+ 答案: + + 令 + + $$ + x=r\cos\theta,\quad y=r\sin\theta. + $$ + + (3 分) + + 则 + + $$ + \begin{aligned} + \iiint_\Omega(x^2+y^2)\,dx\,dy\,dz + &= + \int_2^8\int_0^{2\pi}\int_0^{\sqrt{2z}}r^3\,dr\,d\theta\,dz\\ + &=336\pi. + \end{aligned} + $$ + + (10 分) + +
+ + *** + +14. 计算 $\displaystyle\iint_S (x+y+z+1)^2\,dS$,其中 $S$ 为球面 + + $$ + (x-1)^2+(y-1)^2+(z-1)^2=1. + $$ + +
+ 答案: + + 令 $x'=x-1,\ y'=y-1,\ z'=z-1$,则原式转化为 + + $$ + \iint_{S'}(x'+y'+z'+4)^2\,dS', + $$ + + (4 分) + + 其中 $S':x'^2+y'^2+z'^2=1$。由对称性可知原式 + + $$ + \begin{aligned} + &= + \iint_{S'}(x'^2+y'^2+z'^2+16)\,dS'\\ + &= + \iint_{S'}17\,dS'\\ + &=68\pi. + \end{aligned} + $$ + + (10 分) + +
+ + *** + +15. 计算 + + $$ + \iint_S(2x+z)\,dy\,dz+z\,dx\,dy, + $$ + + 其中 $S:z=x^2+y^2\ (0\le z\le 1)$,$S$ 的法向量 $\vec n_0$ 为 $z$ 轴正向成锐角。 + +
+ 答案: + + 根据题意可知 + + $$ + z'_x=2x,\quad z'_y=2y. + $$ + + (2 分) + + 所以 + + $$ + \begin{aligned} + I + &= + \iint_S(2x+z)\,dy\,dz+z\,dx\,dy\\ + &= + \iint_S(2x+z)(-z'_x)+z\,dx\,dy\\ + &= + \iint_S(-4x^2-2xz+z)\,dx\,dy\\ + &= + \iint_S\left(-4x^2-2x(x^2+y^2)+x^2+y^2\right)\,dx\,dy. + \end{aligned} + $$ + + (5 分) + + 令 $x=r\cos\theta,\ y=r\sin\theta$,那么原式为 + + $$ + \int_0^{2\pi}\int_0^1 + \left(-4r^2\cos^2\theta-2r^3\cos\theta+r^2\right)r\,dr\,d\theta + = + -\frac{\pi}{2}. + $$ + + (10 分) + +
+ + *** + +16. 设函数 $Q(x,y)$ 在 $xOy$ 平面上有连续的一阶偏导数,且曲线积分 $\displaystyle\int_L 2xy\,dx+Q(x,y)\,dy$ 与积分路径无关,且对任意的 $t$,恒有 + + $$ + \int_{(0,0)}^{(t,1)}2xy\,dx+Q(x,y)\,dy + = + \int_{(0,0)}^{(1,t)}2xy\,dx+Q(x,y)\,dy. + $$ + + (1)(6 分)试求 $Q(x,y)$; + + (2)(4 分)求函数 $u$,使得 $\operatorname{grad}u=(2xy,Q(x,y))$,且 $u(0,0)=1$。 + +
+ 答案: + + (1) 由平面上曲线积分和路径无关的条件可知 + + $$ + \frac{\partial Q}{\partial x}=\frac{\partial(2xy)}{\partial y}=2x, + $$ + + 所以 + + $$ + Q(x,y)=x^2+C(y), + $$ + + 其中 $C(y)$ 待定。因为积分与路径无关,因此取 $(0,0)\to(t,0)\to(t,1)$,则 + + $$ + \int_{(0,0)}^{(t,1)}2xy\,dx+Q(x,y)\,dy + = + \int_0^1(t^2+C(y))\,dy + = + t^2+\int_0^1C(y)\,dy. + $$ + + 同理取 $(0,0)\to(0,t)\to(1,t)$,则 + + $$ + \int_{(0,0)}^{(1,t)}2xy\,dx+Q(x,y)\,dy + = + \int_0^tC(y)\,dy+\int_0^12tx\,dx + = + \int_0^tC(y)\,dy+t. + $$ + + (3 分) + + 根据题意 + + $$ + t^2+\int_0^1C(y)\,dy=\int_0^tC(y)\,dy+t. + $$ + + 同时对 $t$ 求导可得 + + $$ + 2t=C(t)+1, + $$ + + 所以 + + $$ + C(t)=2t-1. + $$ + + 故有 + + $$ + Q(x,y)=x^2+2y-1. + $$ + + (6 分) + + (2) 根据题意 + + $$ + u_x=2xy,\quad u_y=x^2+2y-1, + $$ + + 可知 + + $$ + u=x^2y+y^2-y+C. + $$ + + 再由初始条件可知 $C=1$,因此 + + $$ + u=x^2y+y^2-y+1. + $$ + + (4 分) + +
+ +*** + +### 四、综合题(共计 11 分) + +17. 设函数 $f(t)$ 连续,区域 $D_{uv}$ 是由 $x$ 轴,直线 $y=x\tan u\ (01)$ 在第一象限围成的封闭区域,设二元函数 + + $$ + F(u,v)=\iint_{D_{uv}}\frac{f(x^2+y^2)}{\sqrt{x^2+y^2}}\,dx\,dy. + $$ + + (1) 计算 $\displaystyle\frac{\partial F}{\partial u}$,$\displaystyle\frac{\partial F}{\partial v}$ 的值;(4 分) + + (2) 若函数 $f(x)=\dfrac{1}{1+x}$,计算 $F\left(\dfrac{\pi}{2},4\right)$ 的值;(4 分) + + (3) 若函数 $f(x)=e^{-x}$,计算 $\displaystyle\lim_{v\to\infty}F\left(\dfrac{\pi}{2},v\right)$ 的值。(3 分) + +
+ 答案: + + (1) 根据题意令 $x=r\cos\theta,\ y=r\sin\theta$,则 + + $$ + F(u,v) + = + \int_{\frac{1}{\sqrt v}}^{\sqrt v}\int_0^u f(r^2)\,d\theta\,dr. + $$ + + 因此由变限积分求导可知 + + $$ + \frac{\partial F}{\partial u} + = + \int_{\frac{1}{\sqrt v}}^{\sqrt v}f(r^2)\,dr, + $$ + + 而 + + $$ + \frac{\partial F}{\partial v} + = + u\left[ + \frac{1}{2\sqrt v}f(v) + +\frac{1}{2v^{\frac32}}f\left(\frac1v\right) + \right]. + $$ + + (4 分) + + (2) 根据题意原式转化为 + + $$ + \begin{aligned} + F\left(\frac{\pi}{2},4\right) + &= + \int_{\frac12}^{2}\int_0^{\frac{\pi}{2}}\frac{1}{1+r^2}\,d\theta\,dr\\ + &= + \frac{\pi}{2}\left(\arctan2-\arctan\frac12\right). + \end{aligned} + $$ + + (4 分) + + (3) 根据题意原式可以转化为 + + $$ + \begin{aligned} + F\left(\frac{\pi}{2},v\right) + &= + \int_{\frac{1}{\sqrt v}}^{\sqrt v}\int_0^{\frac{\pi}{2}}e^{-r^2}\,d\theta\,dr,\\ + \lim_{v\to\infty}F\left(\frac{\pi}{2},v\right) + &= + \frac{\pi}{2}\int_0^\infty e^{-r^2}\,dr\\ + &= + \frac{\pi}{2}\cdot\frac{\sqrt\pi}{2}. + \end{aligned} + $$ + + (3 分) + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..0fadd9f --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2021-2022\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1121 @@ +--- +title: 2021-2022学年下学期期末 +--- + +## 2021-2022学年下学期期末试卷(A)(含答案) + +### 一、选择题(20 分,每小题 4 分) + +1. 设直线 + + $$ + L_1:\frac{x-1}{1}=\frac{y-5}{-2}=\frac{z+8}{1} + $$ + + 与直线 + + $$ + L_2: + \begin{cases} + x-y=6,\\ + 2y+z=3, + \end{cases} + $$ + + 则 $L_1$ 与 $L_2$ 的夹角为 $\underline{\qquad}$。 + + A. $\dfrac{\pi}{6}$ + + B. $\dfrac{\pi}{4}$ + + C. $\dfrac{\pi}{3}$ + + D. $\dfrac{\pi}{2}$ + +
+ 答案: + + C + +
+ + *** + +2. 函数 + + $$ + f(x,y)= + \begin{cases} + \dfrac{xy}{x^2+y^2},&(x,y)\ne(0,0),\\ + 0,&(x,y)=(0,0) + \end{cases} + $$ + + 在点 $(0,0)$ 处 $\underline{\qquad}$。 + + A. 连续,偏导数存在 + + B. 连续,偏导数不存在 + + C. 不连续,偏导数存在 + + D. 不连续,偏导数不存在 + +
+ 答案: + + C + +
+ + *** + +3. 设级数 $\displaystyle\sum_{n=1}^{\infty}u_n$ 收敛,则必收敛的级数为 $\underline{\qquad}$。 + + A. $\displaystyle\sum_{n=1}^{\infty}(-1)^n\dfrac{u_n}{n}$ + + B. $\displaystyle\sum_{n=1}^{n}u_n^2$ + + C. $\displaystyle\sum_{n=1}^{\infty}(u_{2n-1}-u_{2n})$ + + D. $\displaystyle\sum_{n=1}^{\infty}(u_n+u_{n+1})$ + +
+ 答案: + + C + +
+ + *** + +4. 设 $L_1:x^2+y^2=1$,$L_2:x^2+y^2=2$,$L_3:x^2+2y^2=2$,$L_4:2x^2+y^2=2$ 为四条逆时针方向的平面曲线,记 + + $$ + I_i=\oint_{L_i}\left(y+\frac{y^3}{6}\right)dx+\left(2x-\frac{x^3}{3}\right)dy, + $$ + + 则 $\max\{I_1,I_2,I_3,I_4\}=\underline{\qquad}$。 + + A. $I_1$ + + B. $I_2$ + + C. $I_3$ + + D. $I_4$ + +
+ 答案: + + D + +
+ + *** + +5. 设函数 $f(x)$ 具有二阶连续导数,且 $f(x)>0$,$f'(0)=0$,则函数 + + $$ + z=f(x)\ln f(y) + $$ + + 在点 $(0,0)$ 处取得极小值的一个充分条件:$\underline{\qquad}$。 + + A. $f(0)>1,\ f''(0)>0$ + + B. $f(0)>1,\ f''(0)<0$ + + C. $f(0)<1,\ f''(0)>0$ + + D. $f(0)<1,\ f''(0)<0$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(20 分,每小题 4 分) + +1. 设 $f(u,v)$ 可微,$z=f(x^y,y^x)$,则 + + $$ + \frac{\partial z}{\partial x}=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + f_1yx^{y-1}+f_2y^x\ln y + $$ + +
+ + *** + +2. 设 $L$ 为椭圆 + + $$ + \frac{x^2}{4}+\frac{y^2}{3}=1, + $$ + + 将其周长记为 $a$,则 + + $$ + \oint_L(2xy+3x^2+4y^2)\,ds=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + 12a + $$ + +
+ + *** + +3. 设 $s(x)$ 为函数 $f(x)=\pi-x,\ x\in[0,\pi)$ 的正弦级数的和函数,则 + + $$ + s\left(-\frac{\pi}{2}\right)=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + -\frac{\pi}{2} + $$ + +
+ + *** + +4. 设 $u=u(x,y,z)$ 具有二阶连续偏导数,则 + + $$ + \operatorname{rot}(\operatorname{grad}u)=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + 0 + $$ + +
+ + *** + +5. 微分方程 + + $$ + y'-xy'=a(y^2+y') + $$ + + 的通解为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + y=\frac{1}{a\ln|1-x-a|+C} + $$ + +
+ +*** + +### 三、(6 分) + +设 $\mathbf n$ 是曲面 + +$$ +2x^2+3y^2+z^2=6 +$$ + +在点 $P(1,1,1)$ 处的指向外侧的法向量,求函数 + +$$ +u=\frac{\sqrt{6x^2+8y^2}}{z} +$$ + +在点 $P$ 处沿方向 $\mathbf n$ 的方向导数。 + +
+答案: + +求方向向量 $\mathbf n^0$:令 + +$$ +F(x,y,z)=2x^2+3y^2+z^2-6, +$$ + +则 + +$$ +\mathbf n=(F_x,F_y,F_z)_P=(4x,6y,2z)_{(1,1,1)}=(4,6,2). +$$ + +于是可以求得 + +$$ +\mathbf n^0=\left(\frac2{\sqrt{14}},\frac3{\sqrt{14}},\frac1{\sqrt{14}}\right). +$$ + +再求梯度函数 $u$ 在 $P$ 点的梯度,简记作 $\mathbf g$: + +$$ +\begin{aligned} +\mathbf g +&=\operatorname{grad}u|_P=(u_x,u_y,u_z)_P\\ +&= +\left( +\frac{6x}{z\sqrt{6x^2+8y^2}}, +\frac{8y}{z\sqrt{6x^2+8y^2}}, +-\frac{\sqrt{6x^2+8y^2}}{z^2} +\right)_{(1,1,1)}\\ +&= +\left(\frac6{\sqrt{14}},\frac8{\sqrt{14}},-\sqrt{14}\right). +\end{aligned} +$$ + +最终可得 + +$$ +\left.\frac{\partial u}{\partial n}\right|_P +=\mathbf g\cdot\mathbf n^0 +=\frac{11}{7}. +$$ + +
+ +*** + +### 四、(6 分) + +设 $\Omega$ 由平面曲线 + +$$ +\begin{cases} +z=x^2,\\ +y=0 +\end{cases} +$$ + +绕 $z$ 轴旋转所形成的曲面与平面 $z=1$ 围成,求 + +$$ +\iiint_\Omega z\sqrt{x^2+y^2}\,dV. +$$ + +
+答案: + +根据 $\Omega$ 的形状,设 + +$$ +D:x^2+y^2\leq1, +$$ + +所求三重积分可以化为累次积分,并进一步化为二重积分: + +$$ +\begin{aligned} +\text{原式} +&= +\iint_D dx\,dy +\int_{x^2+y^2}^{1}z\sqrt{x^2+y^2}\,dz\\ +&= +\frac12 +\iint_D(1-(x^2+y^2)^2)\sqrt{x^2+y^2}\,dx\,dy. +\end{aligned} +$$ + +记后一个二重积分为 $I$,根据 $D$ 的形状,利用极坐标求解: + +$$ +\begin{aligned} +I +&= +\int_0^{2\pi}d\theta\int_0^1(1-\rho^4)\rho^2\,d\rho\\ +&= +\int_0^{2\pi}d\theta\cdot\int_0^1(1-\rho^4)\rho^2\,d\rho\\ +&= +2\pi\cdot\left(\frac{\rho^3}{3}-\frac{\rho^7}{7}\right)\Big|_0^1\\ +&= +\frac{8}{21}\pi. +\end{aligned} +$$ + +综上可得,原式 + +$$ +=\frac{4}{21}\pi. +$$ + +
+ +*** + +### 五、(8 分) + +已知 $L$ 是第一象限中从点 $(0,0)$ 沿着圆周 $x^2+y^2=2x$ 到点 $(2,0)$,再沿圆周 $x^2+y^2=4$ 到点 $(0,2)$ 的曲线段,计算 + +$$ +\int_L3x^2y\,dx+(x^3+x-2y)\,dy. +$$ + +
+答案: + +添加有向线段 $L':x=0,\ y:2\to0$,则有 + +$$ +\text{原式}=\oint_{L+L'}-\int_{L'}. +$$ + +令 $D$ 为 $L$ 和 $L'$ 围成的区域,由格林公式得 + +$$ +\oint_{L+L'}3x^2y\,dx+(x^3+x-2y)\,dy += +\iint_D d\sigma += +\frac14\pi\cdot2^2-\frac12\pi\cdot1^2 += +\frac{\pi}{2}. +$$ + +由线段 $L'$ 的定义可知,$x=0,\ dx=0$,于是有 + +$$ +\int_{L'}3x^2y\,dx+(x^3+x-2y)\,dy += +\int_2^0(-2y)\,dy += +-y^2\Big|_2^0 += +-4. +$$ + +综上可得,原式 + +$$ +=\frac{\pi}{2}-4. +$$ + +
+ +*** + +### 六、(10 分) + +求函数 + +$$ +f(x,y)=x^2+2y^2-x^2y^2 +$$ + +在闭区域 + +$$ +D=\{(x,y):x^2+y^2\leq4,\ y\geq0\} +$$ + +上的最大值和最小值。 + +
+答案: + +首先,计算开区域内的极值点,解方程 + +$$ +\begin{cases} +f_x=2x-2xy^2=0,\\ +f_y=4y-2x^2y=0, +\end{cases} +$$ + +得极值点为 $(\pm\sqrt2,1)$,其函数值均为 $2$。 + +其次,计算边界上的最大值和最小值:在边界 $y=0,\ -2\leq x\leq2$ 上,最大值为 $4$,最小值为 $0$。对边界 $x^2+y^2=4,\ -2 + +*** + +### 七、(10 分) + +若向量场 $\mathbf f$ 存在标量场 $u$ 使得 $\operatorname{grad}u=\mathbf f$,则称 $\mathbf f$ 为有势场而 $u$ 为其势。试证明:场 + +$$ +\mathbf f=\bigl(yz(2x+y+z),\ zx(x+2y+z),\ xy(x+y+2z)\bigr) +$$ + +是有势场,并求这个场的势。 + +
+答案: + +令 + +$$ +P=yz(2x+y+z),\quad Q=zx(x+2y+z),\quad R=xy(x+y+2z), +$$ + +需要证明存在 $u$ 使得 + +$$ +\frac{\partial u}{\partial x}=P,\quad +\frac{\partial u}{\partial y}=Q,\quad +\frac{\partial u}{\partial z}=R. +$$ + +由于 $P,Q,R$ 均连续,因而只需证明存在 $u$ 使得 + +$$ +du=P\,dx+Q\,dy+R\,dz. +$$ + +由如下关系即可证明 $u$ 的存在性: + +$$ +\frac{\partial Q}{\partial x} += +\frac{\partial P}{\partial y} += +2xz+2yz+z^2, +$$ + +$$ +\frac{\partial R}{\partial y} += +\frac{\partial Q}{\partial z} += +x^2+2xy+2xz, +$$ + +$$ +\frac{\partial P}{\partial z} += +\frac{\partial R}{\partial x} += +2xy+y^2+2yz. +$$ + +利用第二型曲线积分和特殊路径法求得 $u$: + +$$ +\begin{aligned} +u(x,y,z) +&= +\int_{(0,0,0)}^{(x,y,z)}P\,dx+Q\,dy+R\,dz+C\\ +&= +\int_{(0,0,0)}^{(x,0,0)} ++ +\int_{(x,0,0)}^{(x,y,0)} ++ +\int_{(x,y,0)}^{(x,y,z)} ++C. +\end{aligned} +$$ + +容易得到 + +$$ +\int_{(0,0,0)}^{(x,0,0)}=0,\quad +\int_{(x,0,0)}^{(x,y,0)}=0, +$$ + +故有 + +$$ +u(x,y,z)=\int_{(x,y,0)}^{(x,y,z)}R\,dz+C=x^2yz+xy^2z+xyz^2+C. +$$ + +
+ +*** + +### 八、(10 分) + +设函数 $f(x)$ 在 $(0,+\infty)$ 内具有连续的一阶导数。若对半空间 $x>0$ 内任意的光滑有向封闭曲面 $\Sigma$,都有 + +$$ +\oiint_\Sigma xf(x)\,dy\,dz-xyf(x)\,dz\,dx-e^{2x}z\,dx\,dy=0, +$$ + +求 $f(x)$。 + +
+答案: + +由高斯公式可知,对任意光滑有向封闭曲面围成的闭区域 $\Omega$,有 + +$$ +\iiint_\Omega (xf'+f-xf-e^{2x})\,dV=0. +$$ + +由 $\Sigma$ 的任意性和 $f,f'$ 的连续性可知 + +$$ +xf'+f-xf-e^{2x}=0,\quad x>0. +$$ + +解一阶线性非齐次微分方程 + +$$ +f'+\frac{1-x}{x}f=\frac{e^{2x}}{x}. +$$ + +得 + +$$ +f(x) += +e^{\int\frac{x-1}{x}\,dx} +\left( +\int\frac{e^{2x}}{x}\cdot e^{\int\frac{1-x}{x}\,dx}\,dx+C +\right) += +\frac{e^x}{x}(e^x+C). +$$ + +
+ +*** + +### 九、(10 分) + +求级数 + +$$ +\sum_{n=0}^{\infty}\frac{(-1)^n(n^2-n+1)}{2^n} +$$ + +的和。 + +
+答案: + +考察幂级数 + +$$ +\sum_{n=0}^{\infty}(n^2-n+1)x^n. +$$ + +由 + +$$ +\lim_{n\to\infty} +\left| +\frac{(n+1)^2-(n+1)+1}{n^2-n+1} +\right| +=1, +$$ + +可知该幂级数的收敛半径为 $1$,并令其在收敛半径中的和函数为 $s(x)$,则 + +$$ +\text{原式}=s\left(-\frac12\right). +$$ + +接下来求 $s(x)$: + +$$ +\begin{aligned} +s(x) +&= +\sum_{n=0}^{\infty}(n^2-n)x^n+\sum_{n=0}^{\infty}x^n\\ +&= +x^2\sum_{n=2}^{\infty}n(n-1)x^{n-2} ++\frac1{1-x}. +\end{aligned} +$$ + +令 + +$$ +\widetilde s(x)=\sum_{n=2}^{\infty}n(n-1)x^{n-2}. +$$ + +接下来求 $\widetilde s(x)$: + +$$ +\begin{aligned} +\widetilde s(x) +&= +\left( +\int_0^x\left(\int_0^x\widetilde s(x)\,dx\right)dx +\right)''\\ +&= +\left( +\int_0^x\left(\int_0^x\sum_{n=2}^{\infty}n(n-1)x^{n-2}\,dx\right)dx +\right)''\\ +&= +\left( +\int_0^x\sum_{n=2}^{\infty}nx^{n-1}\,dx +\right)''\\ +&= +\left( +\sum_{n=2}^{\infty}x^n +\right)''\\ +&= +\left( +\frac1{1-x}-1-x +\right)''\\ +&= +\frac{2}{(1-x)^3}. +\end{aligned} +$$ + +故有 + +$$ +s(x)=\frac{2x^2}{(1-x)^3}+\frac1{1-x},\quad x\in(-1,1). +$$ + +则原式 + +$$ +=\frac4{27}+\frac23=\frac{22}{27}. +$$ + +
+ +*** + +## 2021-2022学年下学期期末试卷(B)(含答案) + +### 一、选择题(20 分,每小题 5 分) + +1. 过点 $(0,2,4)$ 且与两平面 $\Pi_1:x+2z=1$ 和 $\Pi_2:y-3z=2$ 都平行的直线方程为 $\underline{\qquad}$。 + + A. $\dfrac{x}{2}=\dfrac{y-3}{3}=\dfrac{z-4}{1}$ + + B. $\dfrac{x}{-2}=\dfrac{y-2}{3}=\dfrac{z-4}{1}$ + + C. $\dfrac{x}{-2}=\dfrac{y-2}{3}=\dfrac{z-4}{0}$ + + D. $\dfrac{x}{-2}=\dfrac{y-2}{3}=\dfrac{z-2}{1}$ + +
+ 答案: + + B + +
+ + *** + +2. 设 $f(x,y)$ 是有界闭区域 $D:x^2+y^2\le a^2$ 上的连续函数,则当 $a\to0$ 时, + + $$ + \frac{1}{\pi a^2}\iint_D f(x,y)\,d\sigma + $$ + + 的极限是 $\underline{\qquad}$。 + + A. 不存在 + + B. 等于 $f(0,0)$ + + C. 等于 $f(1,1)$ + + D. 等于 $f(1,0)$ + +
+ 答案: + + B + +
+ + *** + +3. 曲面积分 + + $$ + \iint_\Sigma z^2\,dxdy + $$ + + 在数值上等于 $\underline{\qquad}$。 + + A. 面密度为 $z^3$ 的曲面 $\Sigma$ 的质量 + + B. 向量 $z^2\mathbf i$ 穿过曲面 $\Sigma$ 的流量 + + C. 向量 $z^2\mathbf j$ 穿过曲面 $\Sigma$ 的流量 + + D. 向量 $z^2\mathbf k$ 穿过曲面 $\Sigma$ 的流量 + +
+ 答案: + + D + +
+ + *** + +4. 微分方程 + + $$ + 2(xy+x)y'=y + $$ + + 的解为 $\underline{\qquad}$。 + + A. $y^2e^{2y}=cx$ + + B. $y^2e^{2y}=x$ + + C. $y^2e^{-2y}=cx$ + + D. $y^{-2}e^{2y}=cx$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(20 分,每小题 5 分) + +1. 设 $f(x,y,z)=x\sin(yz)$,则在点 $(1,3,0)$ 沿方向 + + $$ + \vec l=\vec i+2\vec j-\vec k + $$ + + 的方向导数是 $\underline{\qquad}$。 + +
+ 答案: + + $$ + -\frac{\sqrt6}{2} + $$ + +
+ + *** + +2. 曲线 + + $$ + \begin{cases} + x^2+y^2+z^2-3x=0,\\ + 2x-3y+5z-4=0 + \end{cases} + $$ + + 在点 $(1,1,1)$ 的法平面方程为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + 16x+9y-z-24=0 + $$ + +
+ + *** + +3. 设 $C$ 为顺时针沿圆周 $x^2+y^2=2$ 在第一象限中的部分,则 + + $$ + \int_C x\,dy-2y\,dx=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + -\frac{3\pi}{2} + $$ + +
+ + *** + +4. 幂级数 + + $$ + \sum_{n=0}^{\infty}\frac{(2n)!}{(n!)^2}x^{2n} + $$ + + 的收敛半径是 $\underline{\qquad}$。 + +
+ 答案: + + $$ + \frac12 + $$ + +
+ +*** + +### 三、(10 分) + +试在曲线 + +$$ +\begin{cases} +z=x^2+y^2,\\ +z=2 +\end{cases} +$$ + +上求一点,使过该点的切线与直线 + +$$ +l: +\begin{cases} +x+y-2=0,\\ +2y-z=0 +\end{cases} +$$ + +相交。 + +
+答案: + +将曲线的一般式方程改写成参数方程 + +$$ +\begin{cases} +x=\sqrt2\cos\theta,\\ +y=\sqrt2\sin\theta,\\ +z=2. +\end{cases} +$$ + +则曲线在任意点 $M(x,y,z)$ 处的切向量为 + +$$ +\mathbf s=(-\sqrt2\sin\theta,\sqrt2\cos\theta,0). +$$ + +直线 $l$ 的方向向量 + +$$ +\mathbf v\parallel(1,1,0)\times(0,2,-1)=(-1,1,2), +$$ + +就取 $\mathbf v=(-1,1,2)$。在直线 $l$ 上任取一点 $M_0(0,2,4)$,因为直线和切线相交,故 $\overrightarrow{M_0M}$,$\mathbf s$,$\mathbf v$ 共面,混合积 $(\mathbf s,\mathbf v,\overrightarrow{M_0M})=0$,得 + +$$ +\begin{vmatrix} +\sqrt2\cos\theta&\sqrt2\sin\theta-2&-2\\ +-\sqrt2\sin\theta&\sqrt2\cos\theta&0\\ +-1&1&2 +\end{vmatrix} +=0. +$$ + +解得 $\theta=\dfrac{\pi}{4}$,所求点为 $(1,1,2)$。 + +
+ +*** + +### 四、(10 分) + +计算 + +$$ +I=\iint_D|x^2+y^2-2|\,d\sigma, +$$ + +其中 $D:x^2+y^2\le9$。 + +
+答案: + +用极坐标。为化去绝对值,作以原点为圆心、$\sqrt2$ 为半径的圆域 $D_1$,大小两圆围成的区域用 $D_2$ 表示,则 $D=D_1+D_2$。 + +$$ +D_1:0\le\theta\le2\pi,\ 0\le r\le\sqrt2, +$$ + +$$ +D_2:0\le\theta\le2\pi,\ \sqrt2\le r\le3. +$$ + +$$ +\begin{aligned} +I +&=\iint_{D_1}(2-x^2-y^2)\,d\sigma+\iint_{D_2}(x^2+y^2-2)\,d\sigma\\ +&=\int_0^{2\pi}d\theta\int_0^{\sqrt2}(2-r^2)r\,dr ++\int_0^{2\pi}d\theta\int_{\sqrt2}^{3}(r^2-2)r\,dr\\ +&=2\pi\left(r^2-\frac{r^4}{4}\right)\bigg|_0^{\sqrt2} ++2\pi\left(\frac{r^4}{4}-r^2\right)\bigg|_{\sqrt2}^{3}\\ +&=2\pi+2\pi\cdot\frac{49}{4}\\ +&=\frac{53\pi}{2}. +\end{aligned} +$$ + +
+ +*** + +### 五、(10 分) + +计算 + +$$ +\iiint_\Omega\frac{\ln(1+\sqrt{x^2+y^2})}{x^2+y^2}\,dV, +$$ + +$\Omega$ 由曲面 $z=x^2+y^2$ 和 $z=\sqrt{x^2+y^2}$ 围成。 + +
+答案: + +根据积分区域及被积函数形式选柱面坐标。由曲面 $z=x^2+y^2$ 和 $z=\sqrt{x^2+y^2}$,得 $x^2+y^2\le1$,所以 + +$$ +\Omega:0\le\theta\le2\pi,\quad 0\le r\le1,\quad r^2\le z\le r. +$$ + +$$ +\begin{aligned} +\iiint_\Omega\frac{\ln(1+\sqrt{x^2+y^2})}{x^2+y^2}\,dV +&=\int_0^{2\pi}d\theta\int_0^1dr\int_{r^2}^{r}\frac{\ln(1+r)}{r^2}r\,dz\\ +&=2\pi\int_0^1(1-r)\ln(1+r)\,dr\\ +&=\pi\left(4\ln2-\frac52\right). +\end{aligned} +$$ + +
+ +*** + +### 六、(10 分) + +设 $C$ 为沿 $x^2+y^2=a^2$ 从点 $(0,a)$ 依逆时针到点 $(0,-a)$ 的半圆,计算 + +$$ +\int_C\frac{y^2}{\sqrt{a^2+x^2}}\,dx+ +\left[ax+2y\ln\left(x+\sqrt{a^2+x^2}\right)\right]dy. +$$ + +
+答案: + +添加辅助线 $C'$:沿 $y$ 轴从点 $(0,-a)$ 到点 $(0,a)$。设由 $C$ 与 $C'$ 所围区域为 $D$。利用格林公式, + +$$ +\begin{aligned} +\text{原式} +&=\int_{C\cup C'}-\int_{C'}\\ +&=\iint_D\left( +a+\frac{2y}{\sqrt{a^2+x^2}}-\frac{2y}{\sqrt{a^2+x^2}} +\right)\,dxdy +-\int_{-a}^{a}2y\ln a\,dy\\ +&=\frac12\pi a^3. +\end{aligned} +$$ + +
+ +*** + +### 七、(10 分) + +计算 + +$$ +I=\oiint_\Sigma(x+y^2+z^3)\,dydz, +$$ + +$\Sigma$ 是球面 $x^2+y^2+z^2=R^2$,取外侧。 + +
+答案: + +因 $\Sigma$ 关于 $yOz$ 平面对称,$y^2,z^3$ 关于 $x$ 都是偶函数,所以 + +$$ +\oiint_\Sigma(y^2+z^3)\,dydz=0. +$$ + +设 $\Sigma_1$ 为 $\Sigma$ 中 $x\ge0$ 的部分,$D_{yz}$ 为 $\Sigma_1$ 在 $yOz$ 上的投影,根据对称性,有 + +$$ +\begin{aligned} +\oiint_\Sigma(x+y^2+z^3)\,dydz +&=2\oiint_{\Sigma_1}x\,dydz\\ +&=2\iint_{D_{yz}}\sqrt{R^2-y^2-z^2}\,dydz\\ +&=2\int_0^{2\pi}d\theta\int_0^R\sqrt{R^2-r^2}\,r\,dr\\ +&=\frac43\pi R^3. +\end{aligned} +$$ + +
+ +*** + +### 八、(10 分) + +讨论级数 + +$$ +\sum_{n=1}^{\infty}nx^{n-1}\quad(x>0) +$$ + +的敛散性。 + +
+答案: + +因为 + +$$ +\lim_{n\to\infty}\frac{u_{n+1}}{u_n} +=\lim_{n\to\infty}\frac{(n+1)x^n}{nx^{n-1}}=x. +$$ + +所以当 $01$ 时,级数发散;当 $x=1$ 时,级数发散。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" new file mode 100644 index 0000000..0482539 --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255.md" @@ -0,0 +1,520 @@ +--- +title: 2022-2023学年下学期期中 +--- + +## 2022-2023学年下学期期中试卷(含答案) + +### 一、选择题(25 分,每题 5 分) + +1. $\displaystyle\lim_{\substack{x\to0\\y\to0}}\frac{\sin(x-y)}{x+y}=$( )。 + + A. $1$ + + B. $\infty$ + + C. $0$ + + D. 不存在 + +
+ 答案: + + D + +
+ + *** + +2. 设 $|\boldsymbol\alpha|=3$,$|\boldsymbol\beta|=1$,$|\boldsymbol\alpha\times\boldsymbol\beta|=\sqrt5$,则 $\boldsymbol\alpha\cdot\boldsymbol\beta$ 的值为( )。 + + A. $\pm2$ + + B. $2$ + + C. $\pm\sqrt5$ + + D. $\sqrt5$ + +
+ 答案: + + A + +
+ + *** + +3. 过点 $(1,2,3)$ 且与 $x$ 轴、直线 + + $$ + L:\frac{x+1}{-1}=\frac{y+3}{2}=\frac{z+6}{4} + $$ + + 都相交的直线方程是( )。 + + A. $\dfrac{x-1}{2}=\dfrac{y-2}{-1}=\dfrac{z-3}{1}$ + + B. $\dfrac{x-1}{7}=\dfrac{y-2}{4}=\dfrac{z-3}{6}$ + + C. $\dfrac{x-1}{5}=\dfrac{y-2}{3}=\dfrac{z-3}{\frac64}$ + + D. $\dfrac{x-1}{2}=\dfrac{y-2}{-2}=\dfrac{z-3}{1}$ + +
+ 答案: + + B + +
+ + *** + +4. 若 $z=f(x,y)$ 在点 $P(x_0,y_0)$ 处可微,则 $f(x,y)$ 在点 $P(x_0,y_0)$ 处沿任何方向的方向导数( )。 + + A. 必定存在 + + B. 一定不存在 + + C. 可能存在,也可能不存在 + + D. 仅在 $x$ 轴、$y$ 轴方向存在,其他方向不存在 + +
+ 答案: + + A + +
+ + *** + +5. 判断下列积分值的大小: + + $$ + J_i=\iint_{D_i}e^{-(x^2+y^2)}\,dxdy,\quad i=1,2,3, + $$ + + 其中 + + $$ + D_1=\{(x,y)\mid x^2+y^2\le R^2\}, + $$ + + $$ + D_2=\{(x,y)\mid x^2+y^2\le2R^2\}, + $$ + + $$ + D_3=\{(x,y)\mid |x|\le R,\ |y|\le R\}, + $$ + + 则 $J_1,J_2,J_3$ 之间的大小顺序为( )。 + + A. $J_1\le J_2\le J_3$ + + B. $J_2\le J_3\le J_1$ + + C. $J_1\le J_3\le J_2$ + + D. $J_3\le J_2\le J_1$ + +
+ 答案: + + C + +
+ +*** + +### 二、填空题(25 分,每题 5 分) + +1. 设 $u=2xy-z^2$,$u$ 在点 $(2,-1,1)$ 处方向导数的最大值为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + 2\sqrt6 + $$ + +
+ + *** + +2. 球面 $x^2+y^2+z^2=9$ 在点 $(2,2,1)$ 处的切平面方程为 $\underline{\qquad}$,法线方程为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + 2x+2y+z-9=0, + $$ + + $$ + \frac{x-2}{4}=\frac{y-2}{4}=\frac{z-1}{2} + $$ + +
+ + *** + +3. 设 $z(x,y)$ 由方程 + + $$ + 2xz-2xyz+\ln(xyz)=0 + $$ + + 确定的函数,则 $\displaystyle\frac{\partial z}{\partial x}=\underline{\qquad}$。 + +
+ 答案: + + $$ + -\frac{z}{x} + $$ + +
+ + *** + +4. 设 $D$ 为圆心在原点,半径为 $a$ 的上半圆,则 + + $$ + \iint_D\sqrt{a^2-x^2-y^2}\,d\sigma=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + \frac{\pi}{3}a^3 + $$ + +
+ + *** + +5. 设 $\Omega:x^2+y^2+z^2\le z$,则 + + $$ + \iiint_\Omega\sqrt{x^2+y^2+z^2}\,dV=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + \frac{\pi}{10} + $$ + +
+ +*** + +### 三、(10 分) + +求经过直线 + +$$ +l_1: +\begin{cases} +x+y+1=0,\\ +x+2y+2z=0 +\end{cases} +$$ + +且与平面 $\Pi:2x-y-z=0$ 垂直的平面方程。 + +
+答案: + +解法一:设所求平面 $\Pi_1$ 为 + +$$ +(x+2y+2z)+\lambda(x+y+1)=0, +$$ + +即 + +$$ +(1+\lambda)x+(2+\lambda)y+2z+\lambda=0. +$$ + +由 $\Pi_1\perp\Pi$ 得 + +$$ +2(1+\lambda)-(2+\lambda)-2=0\Longrightarrow \lambda=2, +$$ + +故 $\Pi_1$ 为 + +$$ +3x+4y+2z+2=0. +$$ + +解法二:因所求平面垂直于 $2x-y-z=0$,故它平行于 $(2,-1,1)$,又由 + +$$ +\begin{cases} +x+y+1=0,\\ +x+2y+2z=0 +\end{cases} +$$ + +可得 $l_1$ 上两点 $(0,-1,1)$ 和 $(-2,1,0)$。故可得平面方程 + +$$ +\begin{vmatrix} +x&y+1&z-1\\ +2&-1&1\\ +0-(-2)&-1-1&1-0 +\end{vmatrix}=0, +$$ + +即 + +$$ +3x+4y+2z+2=0. +$$ + +
+ +*** + +### 四、(10 分) + +设方程组 + +$$ +\begin{cases} +x+y+z+z^2=0,\\ +x+y^2+z+z^3=0, +\end{cases} +$$ + +求 $\displaystyle\frac{dy}{dx}$,$\displaystyle\frac{dz}{dx}$。 + +
+答案: + +方程组两边同时对 $x$ 求导,得 + +$$ +\begin{cases} +1+\dfrac{dy}{dx}+(1+2z)\dfrac{dz}{dx}=0,\\ +1+2y\dfrac{dy}{dx}+(1+3z^2)\dfrac{dz}{dx}=0. +\end{cases} +$$ + +因此, + +$$ +\frac{dy}{dx}=\frac{2z-3z^2}{1+3z^2-2y-4yz}, +$$ + +$$ +\frac{dz}{dx}=\frac{2y-1}{1+3z^2-2y-4yz}. +$$ + +
+ +*** + +### 五、(10 分) + +设 + +$$ +I=\int_0^2dx\int_0^{\frac{x^2}{2}}xy\,dy ++\int_2^{2\sqrt2}dx\int_0^{\sqrt{8-x^2}}xy\,dy, +$$ + +交换其积分次序并计算。 + +
+答案: + +积分区域由两部分组成,如图所示, + +![第五题积分区域](./images/2022-2023学年下学期期中_第五题.png) + +其中 + +$$ +D_1: +\begin{cases} +0\le x\le2,\\ +0\le y\le\dfrac{x^2}{2}, +\end{cases} +\quad +D_2: +\begin{cases} +2\le x\le2\sqrt2,\\ +0\le y\le\sqrt{8-x^2}. +\end{cases} +$$ + +将 $D=D_1+D_2$ 视为 $y$ 型区域,则 + +$$ +D: +\begin{cases} +\sqrt{2y}\le x\le\sqrt{8-y^2},\\ +0\le y\le2. +\end{cases} +$$ + +从而 + +$$ +\begin{aligned} +I +&=\iint_Dxy\,dxdy\\ +&=\int_0^2dy\int_{\sqrt{2y}}^{\sqrt{8-y^2}}xy\,dx\\ +&=\int_0^2\frac{y(8-y^2-2y)}{2}\,dy\\ +&=\frac12\left(4y^2-\frac{y^4}{4}-\frac{2y^3}{3}\right)\bigg|_0^2\\ +&=\frac{10}{3}. +\end{aligned} +$$ + +
+ +*** + +### 六、(10 分) + +求密度为 $\rho=z$ 的半椭球体 + +$$ +\frac{x^2}{a^2}+\frac{y^2}{a^2}+\frac{z^2}{c^2}\le1,\quad z\ge0 +$$ + +的质心。 + +
+答案: + +由对称性容易得到质心的坐标形式为 $(0,0,\bar z)$,其中 + +$$ +\bar z=\frac{\iiint z\rho\,dV}{\iiint\rho\,dV} +=\frac{\iiint z^2\,dV}{\iiint z\,dV}. +$$ + +利用柱面坐标系计算这两个三重积分: + +$$ +\begin{aligned} +\iiint z\,dV +&=\int_0^{2\pi}d\theta\int_0^a r\,dr +\int_0^{\frac ca\sqrt{a^2-r^2}}z\,dz\\ +&=2\pi\int_0^a r\cdot\frac12z^2\bigg|_0^{\frac ca\sqrt{a^2-r^2}}\,dr\\ +&=\pi\int_0^a r\cdot\frac{c^2}{a^2}(a^2-r^2)\,dr\\ +&=-\frac12\cdot\frac{\pi c^2}{a^2}\int_0^a(a^2-r^2)\,d(a^2-r^2)\\ +&=-\frac12\cdot\frac{\pi c^2}{a^2}\cdot\frac12(a^2-r^2)^2\bigg|_0^a\\ +&=\frac{\pi a^2c^2}{4}. +\end{aligned} +$$ + +$$ +\begin{aligned} +\iiint z^2\,dV +&=\int_0^{2\pi}d\theta\int_0^a r\,dr +\int_0^{\frac ca\sqrt{a^2-r^2}}z^2\,dz\\ +&=2\pi\int_0^a r\cdot\frac13z^3\bigg|_0^{\frac ca\sqrt{a^2-r^2}}\,dr\\ +&=\frac{2\pi}{3}\int_0^a r\cdot\frac{c^3}{a^3}(a^2-r^2)^{\frac32}\,dr\\ +&=-\frac12\cdot\frac{2\pi c^3}{3a^3}\int_0^a(a^2-r^2)^{\frac32}\,d(a^2-r^2)\\ +&=-\frac13\cdot\frac{\pi c^3}{a^3}\cdot\frac25(a^2-r^2)^{\frac52}\bigg|_0^a\\ +&=\frac{2\pi a^2c^3}{15}. +\end{aligned} +$$ + +于是 + +$$ +\bar z=\frac{\frac{2\pi a^2c^3}{15}}{\frac{\pi a^2c^2}{4}}=\frac{8c}{15}. +$$ + +故质心为 + +$$ +\left(0,0,\frac{8c}{15}\right). +$$ + +
+ +*** + +### 七、(10 分) + +求 + +$$ +x^2+y^2+\frac{z^2}{4}=1 +$$ + +在第一卦限上的点,使得该点处的切平面与三个坐标平面所围的四面体的体积最小。 + +
+答案: + +设点 $P(x_0,y_0,z_0)$ 在曲面 + +$$ +x^2+y^2+\frac{z^2}{4}=1 +$$ + +上,则曲面在该点的法向量为 + +$$ +\left(2x_0,2y_0,\frac{z_0}{2}\right). +$$ + +切平面方程为 + +$$ +2x_0(x-x_0)+2y_0(y-y_0)+\frac{z_0}{2}(z-z_0)=0, +$$ + +即 + +$$ +x_0x+y_0y+\frac{z_0}{4}z=1. +$$ + +容易求得平面在三个坐标轴上的截距分别为 + +$$ +\frac1{x_0},\quad \frac1{y_0},\quad \frac4{z_0}. +$$ + +则围成的四面体体积为 + +$$ +\frac13\cdot\frac12\cdot\frac1{x_0}\cdot\frac1{y_0}\cdot\frac4{z_0} += +\frac23\cdot\frac1{x_0y_0z_0}. +$$ + +要使得其体积最小,则 $x_0y_0z_0$ 最大。问题转变为求曲面在第一卦限上的点使得该点处三个坐标乘积最大。 + +使用拉格朗日乘数法求该条件极值问题,拉格朗日函数为 + +$$ +L=xyz+\lambda\left(x^2+y^2+\frac{z^2}{4}-1\right). +$$ + +令 $L_x=L_y=L_z=L_\lambda=0$,解得 + +$$ +x=y=\frac1{\sqrt3},\quad z=\frac2{\sqrt3}. +$$ + +经验证可知该点处 $xyz$ 乘积最大,四面体体积最小, + +$$ +V_{\min}=\sqrt3. +$$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..e4385bf --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,1454 @@ +--- +title: 2022-2023学年下学期期末 +--- + +## 2022-2023学年下学期期末试卷(A)(含答案) + +### 一、填空题(20 分,每小题 4 分) + +1. 设函数 $f(u)$ 可导,$z=f(\sin y-\sin x)+xy$,则 + + $$ + \frac{1}{\cos x}\cdot\frac{\partial z}{\partial x} + + + \frac{1}{\cos y}\cdot\frac{\partial z}{\partial y} + = + \underline{\qquad} + $$ + +
+ 答案: + + $$ + \frac{\partial z}{\partial x}=f'(\sin y-\sin x)\cdot(-\cos x)+y + $$ + + $$ + \frac{\partial z}{\partial y}=f'(\sin y-\sin x)\cdot(\cos y)+x + $$ + + $$ + \begin{aligned} + \frac{1}{\cos x}\cdot\frac{\partial z}{\partial x} + +\frac{1}{\cos y}\cdot\frac{\partial z}{\partial y} + &=[f'(\sin y-\sin x)\cdot(-\cos x)+y]\cdot\frac{1}{\cos x}\\ + &\quad+[f'(\sin y-\sin x)\cdot(\cos y)+x]\cdot\frac{1}{\cos y}\\ + &=\frac{y}{\cos x}+\frac{x}{\cos y}. + \end{aligned} + $$ + +
+ + *** + +2. 幂级数 + + $$ + \sum_{n=0}^{\infty}\frac{(-1)^n}{(2n)!}x^n + $$ + + 在 $(0,+\infty)$ 内的和函数 $S(x)=\underline{\qquad}$。 + +
+ 答案: + + 注意到分母上出现了 $(2n)!$,与 $\cos x$ 的幂级数展开式很像,于是可以考虑借助 $\cos x$ 的幂级数展开式进行计算。 + + $$ + \cos x=\sum_{n=0}^{\infty}\frac{(-1)^n}{(2n)!}x^{2n} + $$ + + 令 $t=x^2$,则 + + $$ + \sum_{n=0}^{\infty}\frac{(-1)^n}{(2n)!}(x^2)^n + = + \sum_{n=0}^{\infty}\frac{(-1)^n}{(2n)!}t^n + = + \cos x=\cos\sqrt t. + $$ + + 因此 + + $$ + S(x)=\cos\sqrt x,\quad x\in(0,+\infty). + $$ + + 由于 $\cos x$ 的收敛域为 $(-\infty,+\infty)$,所以这里不需要额外考虑收敛域的问题。 + +
+ + *** + +3. 设 + + $$ + \mathbf A(x,y,z)=x\mathbf i+e^y\mathbf j+xyz\mathbf k, + $$ + + 则 $\operatorname{rot}\mathbf A(x,y,z)=\underline{\qquad}$。 + +
+ 答案: + + $$ + \operatorname{rot}\mathbf A(x,y,z) + = + \left(\frac{\partial R}{\partial y}-\frac{\partial Q}{\partial z}\right)\mathbf i + + + \left(\frac{\partial P}{\partial z}-\frac{\partial R}{\partial x}\right)\mathbf j + + + \left(\frac{\partial Q}{\partial x}-\frac{\partial P}{\partial y}\right)\mathbf k + $$ + + $$ + =(xz-0)\mathbf i+(0-yz)\mathbf j+(0-0)\mathbf k=(xz,-yz,0). + $$ + +
+ + *** + +4. 微分方程 + + $$ + e^y\,dx+(xe^y-2y)\,dy=0 + $$ + + 的通解为 $\underline{\qquad}$。 + +
+ 答案: + + 法一: + + 观察方程的形式,将 $y$ 看做 $y=y(x)$ 不易解,于是将 $x$ 看做 $y$ 的函数 $x=x(y)$,将方程转化为一阶线性非齐次方程求解。 + + $$ + e^y\,dx+(xe^y-2y)\,dy=0 + \Longleftrightarrow + \frac{dx}{dy}+x=\frac{2y}{e^y} + $$ + + $$ + p(y)=1,\quad q(y)=\frac{2y}{e^y}. + $$ + + 由公式可得方程的解为 + + $$ + x=Ce^{-\int p(y)\,dy} + +e^{-\int p(y)\,dy}\int q(y)e^{\int p(y)\,dy}\,dy + $$ + + $$ + =Ce^{-y}+y^2e^{-y}. + $$ + + 法二: + + 方程具有 $p(x,y)\,dx+q(x,y)\,dy=0$ 的形式,考虑全微分方程解法。 + + 令 + + $$ + p(x,y)=e^y,\quad q(x,y)=xe^y-2y, + $$ + + 显然 $p,q$ 在全平面上有连续的一阶偏导数,且 + + $$ + \frac{\partial p}{\partial y}=e^y=\frac{\partial q}{\partial x}. + $$ + + 因此这是一个全微分方程。由公式有 + + $$ + u(x,y)=\int_{x_0}^{x}p(x,y_0)\,dx+\int_{y_0}^{y}q(x,y)\,dy. + $$ + + 选取 $x_0=y_0=0$,易得 + + $$ + u(x,y)=xe^y-y^2. + $$ + + 因此原方程的解为方程 + + $$ + xe^y-y^2=C + $$ + + 所确定的隐函数。 + +
+ + *** + +5. 设幂级数 + + $$ + \sum_{n=1}^{+\infty}\frac{(x-a)^n}{n} + $$ + + 在 $x=3$ 处收敛,且当 $x<3$ 时发散,则 $a=\underline{\qquad}$。 + +
+ 答案: + + $$ + a_n=\frac1n, + $$ + + 易知收敛半径 + + $$ + \rho=\lim_{n\to\infty}\left|\frac{n}{n+1}\right|=1. + $$ + + 又 $x=3$ 时级数收敛,$x<3$ 时级数发散,可知 $x=3$ 为收敛区间的左端点。 + + 因此收敛区间的中心 + + $$ + a=3+1=4. + $$ + +
+ +*** + +### 二、选择题(20 分,每小题 4 分) + +1. 设矩阵 + + $$ + \begin{pmatrix} + a_1&b_1&c_1\\ + a_2&b_2&c_2\\ + a_3&b_3&c_3 + \end{pmatrix} + $$ + + 是满秩的,则直线 + + $$ + \frac{x-a_3}{a_1-a_2} + = + \frac{y-b_3}{b_1-b_2} + = + \frac{z-c_3}{c_1-c_2} + $$ + + 与直线 + + $$ + \frac{x-a_1}{a_2-a_3} + = + \frac{y-b_1}{b_2-b_3} + = + \frac{z-c_1}{c_2-c_3} + $$ + + ( ) + + A. 相交于一点 + + B. 重合 + + C. 平行但不重合 + + D. 异面 + +
+ 答案: + + $$ + \begin{pmatrix} + a_1&b_1&c_1\\ + a_2&b_2&c_2\\ + a_3&b_3&c_3 + \end{pmatrix} + $$ + + 满秩 $\to (a_1-a_2,b_1-b_2,c_1-c_2)$ 与 $(a_2-a_3,b_2-b_3,c_2-c_3)$ 线性无关,因此两条直线异面。 + + 选择 D。 + +
+ + *** + +2. 若数列 $\{a_n\}$ 单调减少,$\lim\limits_{n\to\infty}a_n=0$,$S_n=\sum\limits_{k=1}^{n}a_k\ (n=1,2,\ldots)$ 无界,则幂级数 + + $$ + \sum_{n=1}^{\infty}a_n(x-1)^n + $$ + + 的收敛域为( ) + + A. $(-1,1]$ + + B. $[-1,1)$ + + C. $[0,2)$ + + D. $(0,2]$ + +
+ 答案: + + 答案选 C。 + +
+ + *** + +3. 设 $D$ 是第一象限中的曲线 $2xy=1,4xy=1$ 与直线 $y=x,y=\sqrt3x$ 围成的平面区域,函数 $f(x,y)$ 在 $D$ 上连续,则 $\iint_D f(x,y)\,dx\,dy=$( ) + + A. + + $$ + \int_{\pi/4}^{\pi/3}d\theta + \int_{\frac{1}{2\sin2\theta}}^{\frac{1}{\sin2\theta}} + f(r\cos\theta,r\sin\theta)r\,dr + $$ + + B. + + $$ + \int_{\pi/4}^{\pi/3}d\theta + \int_{\frac{1}{\sqrt{2\sin2\theta}}}^{\frac{1}{\sqrt{\sin2\theta}}} + f(r\cos\theta,r\sin\theta)r\,dr + $$ + + C. + + $$ + \int_{\pi/4}^{\pi/3}d\theta + \int_{\frac{1}{2\sin2\theta}}^{\frac{1}{\sin2\theta}} + f(r\cos\theta,r\sin\theta)\,dr + $$ + + D. + + $$ + \int_{\pi/4}^{\pi/3}d\theta + \int_{\frac{1}{\sqrt{2\sin2\theta}}}^{\frac{1}{\sqrt{\sin2\theta}}} + f(r\cos\theta,r\sin\theta)\,dr + $$ + +
+ 答案: + + 在第一象限内,$2xy=1$ 的极坐标形式为 + + $$ + r=\frac{1}{\sqrt{\sin2\theta}}. + $$ + + $4xy=1$ 的极坐标形式为 + + $$ + r=\frac{1}{\sqrt{2\sin2\theta}}. + $$ + + 选 B。 + +
+ + *** + +4. 设 + + $$ + f(x)=\left|x-\frac12\right|,\quad + b_n=2\int_0^1 f(x)\sin n\pi x\,dx\quad(n=1,2,\ldots). + $$ + + 令 + + $$ + S(x)=\sum_{n=1}^{\infty}b_n\sin n\pi x, + $$ + + 则 $S\left(-\dfrac94\right)=$( ) + + A. $\dfrac34$ + + B. $\dfrac14$ + + C. $-\dfrac14$ + + D. $-\dfrac34$ + +
+ 答案: + + 由 + + $$ + b_n=2\int_0^1f(x)\sin n\pi x\,dx\quad(n=1,2,\ldots), + $$ + + 以及 + + $$ + S(x)=\sum_{n=1}^{\infty}b_n\sin n\pi x, + $$ + + 可知 $f(x)$ 应进行奇延拓,周期为 $2l=2$。 + + $$ + S\left(-\frac94\right) + = + S\left(-\frac14\right) + = + -S\left(\frac14\right) + = + -f\left(\frac14\right) + = + -\frac14. + $$ + + 选 C。 + +
+ + *** + +5. 假设函数 $Q(x,y)=\dfrac{x}{y^2}$,如果对上半平面 $(y>0)$ 内的任意封闭有向光滑曲线 $C$ 都有 + + $$ + \oint_C P(x,y)\,dx+Q(x,y)\,dy=0, + $$ + + 则函数 $P(x,y)$ 可以取为( ) + + A. $y-\dfrac{x^2}{y^3}$ + + B. $\dfrac1y-\dfrac{x^2}{y^3}$ + + C. $\dfrac1x-\dfrac1y$ + + D. $x-\dfrac1y$ + +
+ 答案: + + 由曲线积分与路径无关的条件,可知函数 $P$ 在上半平面内的每一点处都满足 + + $$ + \frac{\partial P}{\partial y}=\frac{\partial Q}{\partial x}. + $$ + + 由此排除 A、B。 + + 而 C 在上半平面有无定义的点,故选 D。 + +
+ +*** + +### 三、计算题(50 分,每小题 10 分) + +1. 设 $\Sigma$ 是曲面 $x=\sqrt{1-3y^2-3z^2}$ 的前侧(即朝向 $x$ 轴变大的方向为正方向),计算曲面积分 + + $$ + I=\iint_\Sigma x\,dy\,dz+(y^3+2)\,dz\,dx+z^3\,dx\,dy. + $$ + +
+ 答案: + + 注意到如果用直接计算的方法(即化为三个第一类曲面积分),$y^3$ 和 $z^3$ 不便于表示成 $y(x,z)$ 和 $z(x,y)$ 的形式。 + + 而曲面是以 $x=x(y,z)$ 形式给出的,考虑将 $I$ 全部转换为在 $yOz$ 平面上的二重积分。 + + $$ + x'_y=\frac{3y}{\sqrt{1-3y^2-3z^2}}, + \quad + x'_z=\frac{3z}{\sqrt{1-3y^2-3z^2}}. + $$ + + $$ + \begin{aligned} + I + &= + \iint_{D_{yz}} + \left[ + \sqrt{1-3y^2-3z^2} + +(y^3+2)\cdot\frac{3y}{\sqrt{1-3y^2-3z^2}} + +z^3\cdot\frac{3z}{\sqrt{1-3y^2-3z^2}} + \right]dy\,dz\\ + &= + \iint_{D_{yz}} + \frac{1-3y^2-3z^2+3y^4+3z^4+6y} + {\sqrt{1-3y^2-3z^2}}\,dy\,dz\\ + &\xrightarrow{\text{转换成极坐标}} + \int_0^{2\pi}d\theta + \int_0^{\frac{\sqrt3}{3}} + \frac{1-3r^2+3r^4\cos^4\theta+3r^4\sin^4\theta} + {\sqrt{1-3r^2}}r\,dr\\ + &= + \int_0^{2\pi} + \left[ + -\frac16\int_0^{\frac{\sqrt3}{3}}\sqrt{1-3r^2}\,d(1-3r^2) + -\frac16\left(1-\frac12\sin^2 2\theta\right) + \int_0^{\frac{\sqrt3}{3}}\frac{3r^4}{\sqrt{1-3r^2}}\,d(1-3r^2) + \right]d\theta\\ + &= + \frac{2\pi}{9} + - + \int_0^{2\pi}\frac16\left(1-\frac12\sin^2 2\theta\right)d\theta + \int_0^{\frac{\sqrt3}{3}} + \frac{3r^4}{\sqrt{1-3r^2}}\,d(1-3r^2)\\ + &\xrightarrow{t=1-3r^2} + \frac{2\pi}{9} + - + \int_0^{2\pi}\frac16\left(1-\frac12\sin^2 2\theta\right)d\theta + \int_1^0\frac{(1-t)^2}{3\sqrt t}\,dt\\ + &= + \frac{2\pi}{9} + + + \frac{16}{45}\int_0^{2\pi}\left(\frac16-\frac1{12}\sin^2 2\theta\right)d\theta\\ + &= + \frac{2\pi}{9} + + + \frac{16\pi}{135} + - + \frac4{135}\int_0^{2\pi}\frac{1-\cos4\theta}{2}\,d\theta\\ + &= + \frac{14\pi}{45}. + \end{aligned} + $$ + +
+ + *** + +2. 设 $L$ 为球面 $x^2+y^2+z^2=1$ 与平面 $x+y+z=0$ 的交线,从 $z$ 轴正向往负向看,该交线的正方向为逆时针方向。求第二类线积分 + + $$ + \oint_L + \frac{(y+1)\,dx+(z+2)\,dy+(x+3)\,dz}{x^2+y^2+z^2}. + $$ + +
+ 答案: + + $$ + \oint_L + \frac{(y+1)\,dx+(z+2)\,dy+(x+3)\,dz}{x^2+y^2+z^2} + $$ + + 带入球面公式: + + $$ + \oint_L (y+1)\,dx+(z+2)\,dy+(x+3)\,dz. + $$ + + 由斯托克斯公式, + + $$ + \begin{aligned} + \oint_L (y+1)\,dx+(z+2)\,dy+(x+3)\,dz + &= + \iint_S -\,dy\,dz-dz\,dx-dx\,dy\\ + &= + -\iint_S\left(\frac1{\sqrt3}+\frac1{\sqrt3}+\frac1{\sqrt3}\right)dS\\ + &= + -\sqrt3\pi. + \end{aligned} + $$ + + 其中,$S$ 为平面 $x+y+z=0$ 在球面 $x^2+y^2+z^2=1$ 内的部分,取上侧。 + +
+ + *** + +3. 求两个球体 + + $$ + x^2+y^2+z^2\leq1 + $$ + + 与 + + $$ + x^2+y^2+(z-2)^2\leq4 + $$ + + 相交部分的体积。 + +
+ 答案: + + 联立两个球面方程,可以得到两球面的交线为 + + $$ + x^2+y^2=\frac{15}{16},\quad z=\frac14. + $$ + + 因此公共部分在 $xOy$ 平面上的投影区域为 + + $$ + D:x^2+y^2\leq\frac{15}{16}. + $$ + + $$ + \begin{aligned} + V + &= + \iint_D\left[\sqrt{1-x^2-y^2}-\left(2-\sqrt{4-x^2-y^2}\right)\right]dx\,dy\\ + &= + \iint_D\sqrt{1-x^2-y^2}\,dx\,dy + + + \iint_D\sqrt{4-x^2-y^2}\,dx\,dy + - + 2\iint_D dx\,dy\\ + &= + \int_0^{2\pi}d\theta + \int_0^{\frac{\sqrt{15}}4}\sqrt{1-r^2}r\,dr + + + \int_0^{2\pi}d\theta + \int_0^{\frac{\sqrt{15}}4}\sqrt{4-r^2}r\,dr + - + 2\pi\cdot\frac{15}{16}\\ + &= + 2\pi\cdot\left(-\frac12\right)\cdot\frac23(1-r^2)^{\frac32}\Big|_0^{\frac{\sqrt{15}}4} + + + 2\pi\cdot\left(-\frac12\right)\cdot\frac23(4-r^2)^{\frac32}\Big|_0^{\frac{\sqrt{15}}4} + - + \frac{15\pi}{8}\\ + &= + \frac{13\pi}{24}. + \end{aligned} + $$ + +
+ + *** + +4. 将函数 $f(x)=1-x^2\ (0\leq x\leq\pi)$ 展开成余弦 Fourier 级数,并求 + + $$ + \sum_{n=1}^{+\infty}\frac{(-1)^{n-1}}{n^2} + $$ + + 的和。 + +
+ 答案: + + 注意 $f(x)$ 本身是偶函数,故展开成余弦级数只需将 $f(x)$ 的定义域扩展到 $[-\pi,0]$ 即可。 + + $$ + a_0=\frac2\pi\int_0^\pi f(x)\,dx=2-\frac{2\pi^2}{3}. + $$ + + $$ + \begin{aligned} + a_n + &= + \frac2\pi\int_0^\pi f(x)\cos nx\,dx + = + \frac2\pi\int_0^\pi(1-x^2)\cos nx\,dx\\ + &= + \frac2{n\pi}\int_0^\pi(1-x^2)d\sin nx\\ + &= + \frac2{n\pi}\left[ + \sin nx\cdot(1-x^2)\Big|_0^\pi + + + \int_0^\pi 2x\sin nx\,dx + \right]\\ + &= + \frac2{n\pi}\cdot\left(-\frac1n\right)\int_0^\pi 2x\,d\cos nx\\ + &= + -\frac2{n^2\pi}\left[ + 2x\cos nx\Big|_0^\pi + - + 2\int_0^\pi\cos nx\,dx + \right]\\ + &= + \frac4{n^2}\cdot(-1)^{n+1}. + \end{aligned} + $$ + + $$ + f(x)\sim 1-\frac{\pi^2}{3} + + + \sum_{n=1}^{+\infty}\frac4{n^2}\cdot(-1)^{n+1}\cos nx. + $$ + + $$ + f(0)=1 + = + 1-\frac{\pi^2}{3} + + + \sum_{n=1}^{+\infty}\frac4{n^2}\cdot(-1)^{n+1}. + $$ + + 于是 + + $$ + \sum_{n=1}^{+\infty}\frac1{n^2}\cdot(-1)^{n+1} + = + \frac{\pi^2}{12} + = + \sum_{n=1}^{+\infty}\frac{(-1)^{n-1}}{n^2}. + $$ + +
+ + *** + +5. 求微分方程 + + $$ + xy'+y(\ln x-\ln y)=0 + $$ + + 且满足条件 $y(1)=e^3$ 的解。 + +
+ 答案: + + 方程可化为 + + $$ + \frac{dy}{dx}+\frac{y}{x}\ln\frac{x}{y}=0, + $$ + + 显然令 + + $$ + u=\frac{y}{x}, + $$ + + 有 + + $$ + u+x\frac{du}{dx}-u\ln u=0. + $$ + + 整理后得到 + + $$ + x\frac{du}{dx}=u(\ln u-1). + $$ + + 这是一个关于 $u$ 的可分离变量的微分方程: + + $$ + \frac{du}{u(\ln u-\ln e)}=\frac{dx}{x}. + $$ + + 两边积分,得到 + + $$ + \ln\ln\frac{u}{e}=\ln x+\ln C. + $$ + + 解得 + + $$ + u=e^{Cx+1}. + $$ + + 带回则有 + + $$ + y=xe^{Cx+1}. + $$ + + 利用初值条件 $y(1)=e^3$,则 $C=2$,于是满足条件的解为 + + $$ + y=xe^{2x+1}. + $$ + +
+ +*** + +### 四、综合题(10 分) + +设函数 $f(x,y)$ 的二阶偏导存在且连续, + +$$ +\frac{\partial f(x,y)}{\partial x}=(2x+1)e^{2x-y}, +$$ + +且 $f(0,y)=y+1$,$L_t$ 是从点 $(0,0)$ 到点 $(1,t)$ 的光滑曲线。计算曲线积分 + +$$ +I(t)=\int_{L_t}\frac{\partial f(x,y)}{\partial x}\,dx+\frac{\partial f(x,y)}{\partial y}\,dy, +$$ + +并求 $I(t)$ 的最小值。 + +
+答案: + +$$ +f(x,y)=\int\frac{\partial f(x,y)}{\partial x}\,dx += +\int(2x+1)e^{2x-y}\,dx += +xe^{2x-y}+h(y). +$$ + +其中,$h(y)$ 是只关于 $y$ 的函数。 + +由 $f(0,y)=y+1$,可知 + +$$ +h(y)=y+1. +$$ + +于是 + +$$ +f(x,y)=xe^{2x-y}+y+1. +$$ + +$$ +\frac{\partial f(x,y)}{\partial x}=(2x+1)e^{2x-y}, +\quad +\frac{\partial f(x,y)}{\partial y}=1-xe^{2x-y}. +$$ + +令 + +$$ +P=(2x+1)e^{2x-y},\quad Q=1-xe^{2x-y}, +$$ + +则 + +$$ +\frac{\partial P}{\partial y} += +\frac{\partial Q}{\partial x} += +-(2x+1)e^{2x-y}. +$$ + +于是曲线积分与路径无关,选则路径 + +$$ +(0,0)\to(1,0)\to(1,t). +$$ + +$$ +\begin{aligned} +I(t) +&= +\int_0^1(2x+1)e^{2x}\,dx ++ +\int_0^t(1-e^{2-y})\,dy\\ +&= +t+e^{2-t}. +\end{aligned} +$$ + +令 + +$$ +I'(t)=1-e^{2-t}=0, +$$ + +得 $t=2$。 + +经验证,$t=2$ 时,$I(t)$ 取最小值 + +$$ +I(2)=3. +$$ + +
+ +*** + +## 2022-2023学年下学期期末试卷(B)(含答案) + +### 一、选择题(20 分,每题 4 分) + +1. 下列结论中,错误的是( )。 + + A. $z+2x^2+y^2=0$ 表示椭圆抛物面 + + B. $x^2+2y^2=1+3z^2$ 表示双叶双曲面 + + C. $x^2+y^2-(z-1)^2=0$ 表示圆锥面 + + D. $y^2=5x$ 表示抛物柱面 + +
+ 答案: + + B + +
+ + *** + +2. 设 + + $$ + f(x,y)= + \begin{cases} + \dfrac{x^3y}{x^6+y^2},&(x,y)\ne(0,0),\\ + 0,&(x,y)=(0,0), + \end{cases} + $$ + + 则 $f(x,y)$ 在点 $(0,0)$ 处( )。 + + A. 连续,偏导数存在。 + + B. 连续,偏导数不存在。 + + C. 不连续,偏导数存在。 + + D. 不连续,偏导数不存在。 + +
+ 答案: + + C + +
+ + *** + +3. 设 $L$ 为 $x=x_0,\ 0\leq y\leq\dfrac32$,则 $\displaystyle\int_L4\,ds=$( )。 + + A. $4x_0$ + + B. $4$ + + C. $6x_0$ + + D. $6$ + +
+ 答案: + + D + +
+ + *** + +4. 由曲线 $x^2+y^2=2x,\ x^2+y^2=4x,\ y=x,\ y=0$ 所围成的图形的面积 $S=$( )。 + + A. $\dfrac14(2+\pi)$ + + B. $\dfrac12(2+\pi)$ + + C. $\dfrac34(2+\pi)$ + + D. $2+\pi$ + +
+ 答案: + + C + +
+ + *** + +5. 已知级数 + + $$ + \sum_{n=2}^{\infty}(-1)^n n\sqrt n\sin\frac1{n^\alpha} + $$ + + 绝对收敛,级数 + + $$ + \sum_{n=1}^{\infty}\frac{(-1)^n}{n^{3-\alpha}} + $$ + + 条件收敛,则( )。 + + A. $\dfrac52<\alpha<3$ + + B. $1<\alpha<\dfrac52$ + + C. $1<\alpha<3$ + + D. $0<\alpha\leq\dfrac12$ + +
+ 答案: + + A + +
+ +*** + +### 二、填空题(20 分,每题 4 分) + +1. 与 $\mathbf a_1=(1,2,3)$,$\mathbf a_2=(1,-3,-2)$ 都垂直的单位向量为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + \pm\left(\frac{\sqrt3}{3},\frac{\sqrt3}{3},-\frac{\sqrt3}{3}\right) + $$ + +
+ + *** + +2. 设 $\varphi(x-az,y-bz)=0$,则 + + $$ + a\frac{\partial z}{\partial x}+b\frac{\partial z}{\partial y} + = + \underline{\qquad}. + $$ + +
+ 答案: + + $$ + 1 + $$ + +
+ + *** + +3. 设 $D:x^2+y^2\leq16$,则 + + $$ + \iint_D|x^2+y^2-4|\,d\sigma=\underline{\qquad}. + $$ + +
+ 答案: + + $$ + 80\pi + $$ + +
+ + *** + +4. 设 $f(x)$ 有连续一阶导数,$L$ 是任意闭曲线,若 + + $$ + \oint_L e^{2y}x\,dx+e^{2y}f(x)\,dy=0, + $$ + + 则 $f(x)=\underline{\qquad}$。 + +
+ 答案: + + $$ + x^2+C + $$ + +
+ + *** + +5. 级数 + + $$ + \sum_{n=1}^{\infty}\frac{n!(x-3)^n}{n^n} + $$ + + 的收敛域为 $\underline{\qquad}$。 + +
+ 答案: + + $$ + (3-e,3+e) + $$ + +
+ +*** + +### 三、(10 分) + +求经过点 $A(-1,2,3)$,垂直于直线 + +$$ +L:\frac{x}{4}=\frac{y}{5}=\frac{z}{6} +$$ + +且与平面 + +$$ +\Pi:7x+8y+9z+10=0 +$$ + +平行的直线方程。 + +
+答案: + +解法一:所求直线在过点 $A$ 以 $L$ 的方向向量 $\mathbf s=(4,5,6)$ 为法向量的平面 $\Pi_1$ 上,也在过 $A$ 点以 $\Pi$ 的法向量 $\mathbf n=(7,8,9)$ 为法向量的平面 $\Pi_2$ 上。 + +$$ +\Pi_1:4(x+1)+5(y-2)+6(z-3)=0 +$$ + +$$ +\Pi_2:7(x+1)+8(y-2)+9(z-3)=0 +$$ + +故所求直线方程为 + +$$ +\begin{cases} +4x+5y+6z-24=0,\\ +7x+8y+9z-36=0. +\end{cases} +$$ + +解法二:设所求直线 $L_1$ 的方向向量是 $\mathbf s_1$,由于 $L\perp L_1$,即 $\mathbf s\perp\mathbf s_1$;由于 $L_1\parallel\Pi$,即 $\mathbf n\perp\mathbf s_1$,所以 + +$$ +\mathbf s_1=\mathbf s\times\mathbf n += +\begin{vmatrix} +\mathbf i&\mathbf j&\mathbf k\\ +4&5&6\\ +7&8&9 +\end{vmatrix} +=-(3,-6,3). +$$ + +故所求直线方程为 + +$$ +\frac{x+1}{1}=\frac{y-2}{-2}=\frac{z-3}{1}. +$$ + +
+ +*** + +### 四、(10 分) + +求函数 + +$$ +z=x^3+y^3-3xy +$$ + +的极值。 + +
+答案: + +先解方程组 + +$$ +\begin{cases} +z_x=3x^2-3y=0,\\ +z_y=3y^2-3x=0, +\end{cases} +$$ + +求得驻点为 $(0,0)$、$(1,1)$。 + +再求出二阶偏导数 + +$$ +z_{xx}=6x,\quad z_{xy}=-3,\quad z_{yy}=6y. +$$ + +在点 $(0,0)$ 处, + +$$ +z_{xx}\cdot z_{yy}-z_{xy}^2=0-(-3)^2=-9<0, +$$ + +故 $(0,0)$ 不是极值点。 + +在点 $(1,1)$ 处, + +$$ +z_{xx}\cdot z_{yy}-z_{xy}^2=36-(-3)^2=27>0, +$$ + +且 $z_{xx}>0$,所以函数在 $(1,1)$ 处有极小值 + +$$ +z=1+1-3=-1. +$$ + +
+ +*** + +### 五、(10 分) + +计算 + +$$ +\iint_\Sigma (x^2+yz)\,dy\,dz+(y^2-zx)\,dz\,dx+2z\,dx\,dy, +$$ + +其中 $\Sigma$ 为曲面 + +$$ +z=1-\sqrt{x^2+y^2}\quad(z\geq0) +$$ + +的上侧。 + +
+答案: + +取 + +$$ +\Sigma_0:z=0,\quad x^2+y^2\leq1, +$$ + +取下侧。 + +$$ +\begin{aligned} +&\iint_\Sigma (x^2+yz)\,dy\,dz+(y^2-zx)\,dz\,dx+2z\,dx\,dy\\ +&= +\oiint_{\Sigma+\Sigma_0}(x^2+yz)\,dy\,dz+(y^2-zx)\,dz\,dx+2z\,dx\,dy\\ +&\quad- +\left[ +\iint_{\Sigma_0}(x^2+yz)\,dy\,dz+(y^2-zx)\,dz\,dx+2z\,dx\,dy +\right]\\ +&= +\iiint_\Omega(2x+2y+2)\,dV-0\\ +&= +2\iiint_\Omega dV\\ +&= +2\int_0^{2\pi}d\theta\int_0^1r\,dr\int_0^{1-r}dz\\ +&= +4\pi\int_0^1(r-r^2)\,dr\\ +&= +4\pi\left(\frac12r^2-\frac13r^3\right)\Big|_0^1\\ +&= +\frac23\pi. +\end{aligned} +$$ + +
+ +*** + +### 六、(10 分) + +计算三重积分 + +$$ +\iiint_\Omega z^2\,dV, +$$ + +其中 $\Omega$ 为 + +$$ +x^2+y^2+z^2\leq a^2,\quad x^2+y^2+z^2\leq2az\quad(a>0) +$$ + +围成的区域。 + +
+答案: + +$$ +\begin{aligned} +\iiint_\Omega z^2\,dV +&= +\int_0^{2\pi}d\theta +\int_0^{\frac{\pi}{3}}\sin\varphi\,d\varphi +\int_0^a \rho^2\cos^2\varphi\,\rho^2\,d\rho\\ +&\quad+ +\int_0^{2\pi}d\theta +\int_{\frac{\pi}{3}}^{\frac{\pi}{2}}\sin\varphi\,d\varphi +\int_0^{2a\cos\varphi}\rho^2\cos^2\varphi\,\rho^2\,d\rho\\ +&= +2\pi\int_0^{\frac{\pi}{3}}\cos^2\varphi\sin\varphi\,d\varphi\cdot\frac15a^5\\ +&\quad+ +2\pi\int_{\frac{\pi}{3}}^{\frac{\pi}{2}}\sin\varphi\cos^2\varphi\cdot\frac{32}{5}a^5\cos^5\varphi\,d\varphi\\ +&= +\frac25\pi a^5\cdot\left(-\frac13\cos^3\varphi\right)\Big|_0^{\frac{\pi}{3}} ++ +\frac{64}{5}\pi a^5\cdot\left(-\frac18\cos^8\varphi\right)\Big|_{\frac{\pi}{3}}^{\frac{\pi}{2}}\\ +&= +\frac25\pi a^5\cdot\left(-\frac13\cdot\frac18+\frac13\right) ++ +\frac{64}{5}\pi a^5\cdot\frac18\cdot\left(\frac12\right)^8\\ +&= +\frac{7}{60}\pi a^5+\frac{1}{160}\pi a^5\\ +&= +\frac{59}{480}\pi a^5. +\end{aligned} +$$ + +
+ +*** + +### 七、(10 分) + +将 $f(x)=x^2\ (-\pi\leq x\leq\pi)$ 展开为傅里叶级数,并求级数 + +$$ +\sum_{n=1}^{\infty}\frac1{n^2} +$$ + +的和。 + +
+答案: + +因为 $f(x)$ 为偶函数,所以 + +$$ +b_n=0\quad(n=1,2,\cdots). +$$ + +$$ +a_0=\frac2\pi\int_0^\pi f(x)\,dx += +\frac2\pi\int_0^\pi x^2\,dx += +\frac{2x^3}{3\pi}\Big|_0^\pi += +\frac{2\pi^2}{3}. +$$ + +对于 $n=1,2,\cdots$,有 + +$$ +\begin{aligned} +a_n +&= +\frac2\pi\int_0^\pi f(x)\cos nx\,dx\\ +&= +\frac2\pi\int_0^\pi x^2\cos nx\,dx\\ +&= +\frac2{n\pi}\int_0^\pi x^2\,d(\sin nx)\\ +&= +\frac2{n\pi}\left(x^2\sin nx\Big|_0^\pi-2\int_0^\pi x\sin nx\,dx\right)\\ +&= +\frac4{n^2\pi}\int_0^\pi x\,d(\cos nx)\\ +&= +\frac4{n^2\pi}\left(x\cos nx\Big|_0^\pi-\int_0^\pi\cos nx\,dx\right)\\ +&= +\frac4{n^2}\cos n\pi\\ +&= +\frac{4(-1)^n}{n^2}. +\end{aligned} +$$ + +故 + +$$ +f(x)=x^2=\frac{\pi^2}{3}+4\sum_{n=1}^{\infty}\frac{(-1)^n}{n^2}\cos nx +\quad(-\pi\leq x\leq\pi). +$$ + +取 $x=\pi$,得 + +$$ +\pi^2=\frac{\pi^2}{3}+4\sum_{n=1}^{\infty}\frac{(-1)^n}{n^2}(-1)^n += +\frac{\pi^2}{3}+4\sum_{n=1}^{\infty}\frac1{n^2}. +$$ + +故有 + +$$ +\sum_{n=1}^{\infty}\frac1{n^2}=\frac{\pi^2}{6}. +$$ + +
+ +*** + +### 八、(10 分) + +求微分方程 + +$$ +y\,dx+(x-3y^2)\,dy=0 +$$ + +的通解,和满足初始条件 $y|_{x=1}=1$ 的特解。 + +
+答案: + +提示:本题唯一难点在于将 $x,y$ 地位互换,即应该将 $x$ 看作 $y$ 的函数,$x=x(y)$。 + +将微分方程变形为 + +$$ +\frac{dx}{dy}+\frac1y x=3y, +$$ + +是一阶线性非齐次方程。 + +已知一阶线性非齐次方程 + +$$ +\frac{dy}{dx}+p(x)y=q(x) +$$ + +的通解为 + +$$ +y=e^{-\int p(x)\,dx}\left(\int q(x)e^{\int p(x)\,dx}\,dx+C\right). +$$ + +则原方程通解为 + +$$ +\begin{aligned} +x +&= +e^{-\int\frac1y\,dy} +\left( +\int3y e^{\int\frac1y\,dy}\,dy+C +\right)\\ +&= +\frac1y\left(\int3y^2\,dy+C\right)\\ +&= +y^2+\frac Cy. +\end{aligned} +$$ + +其中 $C$ 为任意常数。 + +将 $y|_{x=1}=1$ 代入上式,得 $C=0$,于是 + +$$ +x=y^2. +$$ + +则 $y=\pm\sqrt x$,注意到 $y|_{x=1}=1$,故将 $y=-\sqrt x$ 舍去,得 + +$$ +y=\sqrt x. +$$ + +当然,回答 $x=y^2$ 或 $y=\sqrt x$ 都是正确的。 + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..4bcff4c --- /dev/null +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,471 @@ +--- +title: 2025-2026学年下学期期末 +--- + +## 2025-2026学年下学期期末试卷(A)(含答案) + +### 一、选择题(每小题 4 分,共 20 分) + +1. 设函数 $z=f(x,y)$ 处处可微,则对曲面 $z=f(x,y)$,下述描述正确的为( )。 + + A. 未必处处皆有切平面 + + B. 处处皆有切平面,但未必有连续变化的法向量 + + C. 处处皆有切平面,且有连续变化的法向量 + + D. 以上皆不正确 + +
+ 答案: + + B + +
+ + *** + +2. 在曲线 + + $$ + \begin{cases} + y=x^3,\\ + z=x^2 + \end{cases} + $$ + + 的所有切线中,与平面 $x+y+z=1$ 平行的切线为( )。 + + A. 仅有 1 条 + + B. 有 2 条 + + C. 有 3 条 + + D. 不存在 + +
+ 答案: + + D + +
+ + *** + +3. 设 $f(x,y)$ 连续,若 + + $$ + f(x,y)=xy+\iint_D f(u,v)\,du\,dv, + $$ + + 其中 $D$ 是由 $y=0,y=3x,x=1$ 所围区域,则 $f(x,y)$ 等于( )。 + + A. $xy$ + + B. $\dfrac{3}{2}xy$ + + C. $xy-\dfrac{9}{4}$ + + D. $xy-\dfrac{9}{2}$ + +
+ 答案: + + C + +
+ + *** + +4. 曲面 $x^2+y^2+2z^2=6$ 在点 $(2,0,-1)$ 处的切平面与平面 $z=0$ 的夹角等于( )。 + + A. $\dfrac{\pi}{6}$ + + B. $\dfrac{\pi}{4}$ + + C. $\dfrac{\pi}{3}$ + + D. $\dfrac{\pi}{2}$ + +
+ 答案: + + B + +
+ + *** + +5. 幂级数 $\displaystyle\sum_{n=1}^{\infty}\frac{1}{n\cdot4^n}x^{2n}$ 的收敛域为( )。 + + A. $(-4,4)$ + + B. $[-4,4]$ + + C. $(-2,2)$ + + D. $[-2,2]$ + +
+ 答案: + + C + +
+ +*** + +### 二、填空题(每小题 4 分,共 20 分) + +1. $\displaystyle\lim_{(x,y)\to(1,0)}(1+xy)^{\frac{2}{y}}=\underline{\qquad}$。 + +
+ 答案: + + $e^2$ + +
+ + *** + +2. 函数 $f=\ln(3-\sin(xz)-\cos(xy))$ 在点 $\left(\dfrac{\pi}{2},1,2\right)$ 处的全微分 $df=\underline{\qquad}$。 + +
+ 答案: + + $dx+\dfrac{\pi}{6}dy+\dfrac{\pi}{6}dz$ + +
+ + *** + +3. 设当 $0\leq x<\dfrac{\pi}{2}$ 时 $f(x)=1$;当 $\dfrac{\pi}{2}\leq x<\pi$ 时 $f(x)=0$。$s(x)=\displaystyle\sum_{n=1}^{\infty}b_n\sin nx$ 是 $f(x)$ 展开的正弦级数,则 $s\left(\dfrac{\pi}{2}\right)=\underline{\qquad}$。 + +
+ 答案: + + $1/2$ + +
+ + *** + +4. 若向量场 $\boldsymbol{E}=\left(x^2(y-z),y^2(ax-bz),z^2(x-y)\right)$ 的散度为 0,则 $ab=\underline{\qquad}$。 + +
+ 答案: + + $1$ + +
+ + *** + +5. 函数 $y(x)$ 满足微分方程 $\dfrac{dy}{dx}-2y=e^{2x}$,且 $y\rvert_{x=0}=1$,则方程的特解为 $\underline{\qquad}$。 + +
+ 答案: + + $y=(x+1)e^{2x}$ + +
+ +*** + +### 三、(10 分) + +设函数 + +$$ +f(x,y)=\left(\frac{x^2}{2}+y\right)e^{x+y}, +$$ + +求函数 $f(x,y)$ 的极值。 + +
+解: + +由 + +$$ +f_x=e^{x+y}\left(x+\frac{x^2}{2}+y\right)=0,\qquad\text{(2 分)} +$$ + +$$ +f_y=e^{x+y}\left(1+\frac{x^2}{2}+y\right)=0,\qquad\text{(2 分)} +$$ + +得 + +$$ +x=1,\qquad y=-\frac{3}{2}.\qquad\text{(1 分)} +$$ + +又 + +$$ +A=f_{xx}\left(1,-\frac{3}{2}\right)=2e^{-1/2},\quad +B=f_{xy}\left(1,-\frac{3}{2}\right)=e^{-1/2},\quad +C=f_{yy}\left(1,-\frac{3}{2}\right)=e^{-1/2}.\qquad\text{(3 分)} +$$ + +则有 + +$$ +AC-B^2>0.\qquad\text{(1 分)} +$$ + +所以 $\left(1,-\dfrac{3}{2}\right)$ 为极小值点,取得极小值 + +$$ +f_{\min}=-e^{-1/2}.\qquad\text{(1 分)} +$$ + +
+ +*** + +### 四、(10 分) + +常数 $a>0$,已知曲线的参数方程为 + +$$ +x=a\sin t,\qquad y=\sqrt{2}a(t-\sin t),\qquad z=\sqrt{2}a(1-\cos t),\qquad(0\leq t\leq\pi), +$$ + +若曲线在 $(x,y,z)$ 处的线密度为 $x^2$,求曲线的质量 $M$。 + +
+解: + +$$ +\dot{x}=a\cos t,\qquad +\dot{y}=\sqrt{2}a(1-\cos t),\qquad +\dot{z}=\sqrt{2}a\sin t, +$$ + +$$ +ds=a(2-\cos t)dt.\qquad\text{(4 分)} +$$ + +$$ +M=\int_Lx^2\,ds +=\int_0^\pi a^3\sin^2t(2-\cos t)\,dt +=\pi a^3.\qquad\text{(2+2+2 分)} +$$ + +
+ +*** + +### 五、(10 分) + +计算曲面积分 + +$$ +I=\iint_\Sigma [y^2+x(\cos y-\cos z)]\,dy\,dz ++[z^2+y(\cos z-\cos x)]\,dz\,dx ++[x^2+z(\cos x-\cos y)]\,dx\,dy, +$$ + +其中 $\Sigma$ 为曲面 $x^2+y^2+z^2=1$($y\geq0,z\geq0$)的上侧。 + +
+解: + +添加 $\Sigma_1:z=0,y\geq0$ 下侧面;$\Sigma_2:y=0,z\geq0$ 左侧面,构成闭合曲面,形成闭合空间 $\Omega$。(2 分) + +$$ +D_1:x^2+y^2\leq1,y\geq0;\qquad +D_2:x^2+z^2\leq1,z\geq0. +$$ + +于是 + + +$$ +\begin{aligned} +I={}&\iint_{\Sigma+\Sigma_1+\Sigma_2} +\bigl([y^2+x(\cos y-\cos z)]\,dy\,dz\\ +&\quad+[z^2+y(\cos z-\cos x)]\,dz\,dx ++[x^2+z(\cos x-\cos y)]\,dx\,dy\bigr)\\ +&-\iint_{\Sigma_1+\Sigma_2} +\bigl([y^2+x(\cos y-\cos z)]\,dy\,dz\\ +&\quad+[z^2+y(\cos z-\cos x)]\,dz\,dx ++[x^2+z(\cos x-\cos y)]\,dx\,dy\bigr)\\ +={}&\iiint_\Omega(\cos y-\cos z+\cos z-\cos x+\cos x-\cos y)\,dx\,dy\,dx\,dz\\ +&+\iint_{D_1}x^2\,dx\,dy+\iint_{D_2}z^2\,dz\,dx\\ +={}&\int_0^\pi\cos^2\theta\,d\theta\int_0^1r^3\,dr ++\int_0^\pi\sin^2\theta\,d\theta\int_0^1r^3\,dr\\ +={}&2\times\frac{\pi}{8}=\frac{\pi}{4}. +\end{aligned} +$$ + +(2+3+2+1 分) + +
+ +*** + +### 六、(10 分) + +将函数 + +$$ +f(x)=\ln\sqrt{\frac{1+x}{1-x}} +$$ + +展开为麦克劳林级数,并写出该级数的收敛域。 + +
+解: + +$$ +\ln(1+x)=\sum_{n=1}^{\infty}(-1)^{n-1}\frac{x^n}{n}, +\qquad(-1 + +*** + +### 七、(10 分) + +判别下列级数的敛散性,对交错级数,需说明是绝对收敛还是条件收敛。 + +1. $\displaystyle\sum_{n=1}^{\infty}\frac{1}{\sqrt{n+3}+\sqrt n}$; + +2. $\displaystyle\sum_{n=1}^{\infty}(-1)^n\frac{n}{e^n}$。 + +
+解: + +(1) + +$$ +\lim_{n\to\infty} +\frac{\dfrac{1}{\sqrt{n+3}+\sqrt n}}{\dfrac{1}{\sqrt n}} +=\lim_{n\to\infty}\frac{1}{1+\sqrt{1+\dfrac{3}{n}}} +=\frac{1}{2}.\qquad\text{(2 分)} +$$ + +且已知级数 $\displaystyle\sum_{n=1}^{\infty}\frac{1}{\sqrt n}$ 发散。(2 分) + +由比较判别法的极限形式可知,级数 + +$$ +\sum_{n=1}^{\infty}\frac{1}{\sqrt{n+3}+\sqrt n} +$$ + +发散。(1 分) + +(2) + +$$ +\lim_{n\to\infty} +\left|\frac{\dfrac{n+1}{e^{n+1}}}{\dfrac{n}{e^n}}\right| +=\lim_{n\to\infty}\frac{n+1}{n}\cdot\frac{1}{e} +=\frac{1}{e}<1.\qquad\text{(2+2 分)} +$$ + +因此交错级数 + +$$ +\sum_{n=1}^{\infty}(-1)^n\frac{n}{e^n} +$$ + +绝对收敛。(1 分) + +
+ +*** + +### 八、(10 分) + +求微分方程 + +$$ +y''+2y'-3y=e^x +$$ + +的通解。 + +
+解: + +对应齐次方程 $y''+2y'-3y=0$ 的特征方程为 + +$$ +r^2+2r-3=0.\qquad\text{(2 分)} +$$ + +解得特征根 + +$$ +r_1=1,\qquad r_2=-3.\qquad\text{(2 分)} +$$ + +所以齐次方程的通解为 + +$$ +Y=C_1e^x+C_2e^{-3x}.\qquad\text{(2 分)} +$$ + +原方程的非齐次项显示 $r=1$ 是特征方程的特征根,所以设原方程的特解为 + +$$ +y^*=b_0xe^x.\qquad\text{(2 分)} +$$ + +代入原方程得 + +$$ +4b_0e^x=e^x. +$$ + +所以得 + +$$ +b_0=\frac{1}{4}.\qquad\text{(1 分)} +$$ + +因此原方程有一个特解 $y^*=\dfrac{1}{4}xe^x$,从而原方程的通解为 + +$$ +y=C_1e^x+C_2e^{-3x}+\frac{1}{4}xe^x, +$$ + +即 + +$$ +y=\left(C_1+\frac{1}{4}x\right)e^x+C_2e^{-3x}.\qquad\text{(1 分)} +$$ + +
diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/README.md" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/README.md" index ef99eda..cab21c3 100644 --- "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/README.md" +++ "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/README.md" @@ -3,6 +3,32 @@ title: 高等数学(二) course_code: SE1103 --- +## 2016-2017学年下学期 + +### 试卷 + +- [2016-2017学年下学期期中试卷](./2016-2017学年下学期期中) + +## 2017-2018学年下学期 + +### 试卷 + +- [2017-2018学年下学期月考试卷](./2017-2018学年下学期月考) +- [2017-2018学年下学期期中试卷](./2017-2018学年下学期期中) + +## 2021-2022学年下学期 + +### 试卷 + +- [2021-2022学年下学期期末试卷](./2021-2022学年下学期期末) + +## 2022-2023学年下学期 + +### 试卷 + +- [2022-2023学年下学期期中试卷](./2022-2023学年下学期期中) +- [2022-2023学年下学期期末试卷](./2022-2023学年下学期期末) + ## 2023-2024学年下学期 ### 试卷 @@ -12,11 +38,22 @@ course_code: SE1103 ## 2024-2025学年下学期 +### 王小鹭 + +- 不点名,但是每节课结束的课后题会叫人回答,不会也不要紧 +- 挂人略狠,据说这学期挂了十几个 + ### 试卷 - [2024-2025学年下学期期中试卷](./2024-2025学年下学期期中) - [2024-2025学年下学期期末试卷](./2024-2025学年下学期期末) +## 2025-2026学年下学期 + +### 试卷 + +- [2025-2026学年下学期期末试卷](./2025-2026学年下学期期末) + ## 推荐教材与参考资料 -- [期中期末试卷合集](https://drive.vanillaaaa.org/SharedCourses/软件工程学院/高等数学(二)) +- [Slides](https://github.com/BetterECNU/SharedResources/tree/main/SE/SE1103/推荐教材与参考资料/Slides) diff --git "a/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/images/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\254\344\272\224\351\242\230.png" "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/images/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\254\344\272\224\351\242\230.png" new file mode 100644 index 0000000..2064277 Binary files /dev/null and "b/docs/undergraduate/\350\275\257\344\273\266\345\267\245\347\250\213\345\255\246\351\231\242/\351\253\230\347\255\211\346\225\260\345\255\246\357\274\210\344\272\214\357\274\211/images/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\344\270\255_\347\254\254\344\272\224\351\242\230.png" differ diff --git "a/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..5fb3cf3 --- /dev/null +++ "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2022-2023\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,111 @@ +--- +title: 2022-2023学年下学期期末 +--- + +## 2022-2023学年下学期期末试卷(A) + +### 说明 + +- 本卷考试时间 120 分钟,本试卷为开卷考试。 + +### 一、判断题(每题 1 分,共计 10 分)在答题纸上依次正确的打“√”,错误的打“×” + +1. 中国特色社会主义最本质的特征是中国共产党领导。 + + *** + +2. 党的十九大明确指出,我国社会主要矛盾已经转化为人民日益增长的美好生活需要和发展的不平衡不充分之间的矛盾。 + + *** + +3. 建设现代化经济体系是我国发展的战略目标,也是转变经济发展方式、优化经济结构、转换经济增长动力的迫切要求。 + + *** + +4. 中国特色社会主义文化是凝聚和激励全国各族人民的重要力量,是综合国力的重要标志。 + + *** + +5. 人与自然仅是共融共生的生命共同体,而不是休戚与共的命运共同体。 + + *** + +6. 中国特色社会主义民主政治制度是人民民主专政国体和中国特色社会主义根本政治制度、基本政治制度的统一。 + + *** + +7. 生态文明建设是我们党深刻把握世界发展的绿色、循环、低碳新趋向,对可持续发展的拓展和创新。 + + *** + +8. 经济体制改革的核心就是要使政府在资源配置中不再发挥作用。 + + *** + +9. 在党的十八大习近平总书记首次提出“坚持总体国家安全观”,强调走中国特色国家安全道路。 + + *** + +10. 党的二十大提出中国要始终坚持维护世界和平、促进共同发展的外交政策宗旨,致力于推动构建人类命运共同体。 + +*** + +### 二、简答题(每题 10 分,共计 20 分) + +1. 习近平新时代中国特色社会主义思想回答了什么重大时代课题? + + *** + +2. 人类命运共同体的内涵是什么? + +*** + +### 三、论述题(每题 15 分,共计 30 分) + +1. 走自己的路,是党的全部理论和实践立足点,更是党百年奋斗得出的历史结论。中国特色社会主义是党和人民历经千辛万苦、付出巨大代价取得的根本成就,是实现中华民族伟大复兴的正确道路。谈谈你如何理解中国特色社会主义是实现中华民族伟大复兴的必由之路? + + *** + +2. 人民当家作主是社会主义民主政治的本质和核心,发展社会主义民主政治就是要体现人民意志、保障人民权益、激发人民创造活力,用制度体系保证人民当家作主。谈谈你对全过程人民民主的理解? + +*** + +### 四、材料分析题(每题 20 分,共计 40 分) + +#### (一) + +材料 1:新时代我国经济发展的特征,就是我国经济已由高速增长阶段转向高质量发展阶段。高质量发展,就是能够很好满足人民日益增长的美好生活需要的发展,是体现新发展理念的发展,是创新成为第一动力、协调成为内生特点、绿色成为普遍形态、开放成为必由之路、共享成为根本目的的发展。更明确地说,高质量发展,就是从“有没有”转向“好不好”。 + +——习近平《我国经济已由高速增长阶段转向高质量发展阶段》 + +材料 2:加快构建新发展格局,是立足实现第二个百年奋斗目标、统筹发展和安全作出的战略决策,是把握未来发展主动权的战略部署。我们只有加快构建新发展格局,才能夯实我国经济发展的根基、增强发展的安全性稳定性,才能在各种可以预见和难以预见的狂风暴雨、惊涛骇浪中增强我国的生存力、竞争力、发展力、持续力,确保中华民族伟大复兴进程不被迟滞甚至中断,胜利实现全面建成社会主义现代化强国目标。 + +——习近平《加快构建新发展格局 把握未来发展主动权》 + +材料 3:新时代新阶段的发展必须贯彻新发展理念,必须是高质量发展。构建新发展格局,是与时俱进提升我国经济发展水平的战略抉择,也是塑造我国国际经济合作和竞争新优势的战略抉择。要坚持供给侧结构性改革的战略方向,提升供给体系对国内需求的适配性,打通经济循环堵点,提升产业链、供应链的完整性,使国内市场成为最终需求的主要来源,形成需求牵引供给、供给创造需求的更高水平动态平衡。新发展格局决不是封闭的国内循环,而是开放的国内国际双循环。必须把促进全体人民共同富裕摆在更加重要的位置,脚踏实地,久久为功,向着这个目标更加积极有为地进行努力。必须坚持统筹发展和安全,树立底线思维,有效防范化解各类风险挑战。系统观念是具有基础性的思想和工作方法,必须从系统观念出发,全面协调推动各领域工作和社会主义现代化建设。 + +——习近平《关于〈中共中央关于制定国民经济和社会发展第十四个五年规划和二〇三五年远景目标的建议〉的说明》 + +材料 4:高质量发展是全面建设社会主义现代化国家的首要任务。发展是党执政兴国的第一要务。没有坚实的物质技术基础,就不可能全面建成社会主义现代化强国。必须完整、准确、全面贯彻新发展理念,坚持社会主义市场经济改革方向,坚持高水平对外开放,加快构建以国内大循环为主体、国内国际双循环相互促进的新发展格局。我们要坚持以推动高质量发展为主题,把实施扩大内需战略同深化供给侧结构性改革有机结合起来,增强国内大循环内生动力和可靠性提升国际循环质量和水平,加快建设现代化经济体系,着力提高全要素生产率着力提升产业链供应链韧性和安全水平,着力推进城乡融合和区域协调发展,推动经济实现质的有效提升和量的合理增长。 + +——习近平《高举中国特色社会主义伟大旗帜 为全面建设社会主义现代化国家而团结奋斗》 + +**问题:根据材料 1、2、3、4,结合课堂学习,谈谈你对新时代以新发展理念引领高质量发展的理解。** + +*** + +#### (二) + +材料 1:文化自信,是更基础、更广泛、更深厚的自信。在 5000 多年文明发展中孕育的中华优秀传统文化,在党和人民伟大斗争中孕育的革命文化和社会主义先进文化,积淀着中华民族最深层的精神追求,代表着中华民族独特的精神标识。我们要弘扬社会主义核心价值观,弘扬以爱国主义为核心的民族精神和以改革创新为核心的时代精神,不断增强全党全国各族人民的精神力量。 + +——习近平《在庆祝中国共产党成立九十五周年大会上的讲话》 + +材料 2:实现中国梦,是物质文明和精神文明均衡发展、相互促进的结果没有文明的继承和发展,没有文化的弘扬和繁荣,就没有中国梦的实现。中华民族的先人们早就向往人们的物质生活充实无忧、道德境界充分升华的大同世界。中华文明历来把人的精神生活纳入人生和社会理想之中。所以,实现中国梦,是物质文明和精神文明比翼双飞的发展过程。随着中国经济社会不断发展,中华文明也必将顺应时代发展焕发出更加蓬勃的生命力。 + +——习近平《在联合国教科文组织总部的演讲》 + +材料 3:全面建设社会主义现代化国家,必须坚持中国特色社会主义文化发展道路,增强文化自信,围绕举旗帜、聚民心、育新人、兴文化、展形象建设社会主义文化强国,发展面向现代化、面向世界、面向未来的,民族的科学的大众的社会主义文化,激发全民族文化创新创造活力,增强实现中华民族伟大复兴的精神力量。 + +——习近平《高举中国特色社会主义伟大旗帜 为全面建设社会主义现代化国家而团结奋斗》 + +**问题:根据材料 1、2、3,结合课堂学习,谈谈如何以高度的文化自信铸就社会主义文化新辉煌。** diff --git "a/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..23e00f5 --- /dev/null +++ "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2023-2024\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,111 @@ +--- +title: 2023-2024学年下学期期末 +--- + +## 2023-2024学年下学期期末试卷(A) + +本卷考试时间 120 分钟,本试卷为开卷考试。 + +### 一、判断题(每题 2 分,共计 20 分) + +在答题纸上依次正确的打“√”,错误的打“×”。 + +1. 道路问题是关系党的事业兴衰成败第一位的问题。 + + *** + +2. 党的二十大首次指出,我国社会主要矛盾已经转化为人民日益增长的美好生活需要和发展的不平衡不充分之间的矛盾。 + + *** + +3. 2012 年 11 月,习近平总书记在参观《复兴之路》展览时,第一次提出“中国梦”的概念。 + + *** + +4. 全面深化改革开放,不是某一个领域某个方面的变革,而是涉及党和国家事业发展全局的体制机制变革。 + + *** + +5. 新发展理念具有丰富的科学内涵,协调是引领发展的第一动力。 + + *** + +6. 党的领导是中国特色社会主义最本质的特征,是社会主义法治最根本的保证。 + + *** + +7. 社会治理的最好办法,就是将矛盾消解于未然,将风险化解于无形。 + + *** + +8. 发达国家和发展中国家处于不同发展阶段,但在环境问题上的历史责任和现实能力是一致的。 + + *** + +9. 2014 年 4 月 15 日,习近平总书记在中央国家安全委员会第一次会议上首次提出总体国家安全观。 + + *** + +10. 进入新时代,加强党的建设,要坚定不移把思想建设摆在首位。 + +*** + +### 二、简答题(每题 5 分,共计 10 分) + +1. 推进中国式现代化,需要正确处理哪些重大关系? + + *** + +2. 为什么说全面依法治国是国家治理的一场深刻革命? + +*** + +### 三、论述题(每题 15 分,共计 30 分) + +1. 中国的发展离不开世界,世界的繁荣也需要中国。要坚持经济全球化正确方向,坚决反对保护主义,反对“筑墙设垒”“脱钩断链”,反对单边制裁、极限施压。中国对外开放,不是要一家唱独角戏,而是要欢迎各方共同参与;不是要谋求势力范围,而是要支持各国共同发展;不是要营造自己的后花园,而是要建设各国共享的百花园。请结合实际,谈一谈如何理解“中国开放的大门只会越开越大”? + + *** + +2. 中国共产党已走过 100 多年奋斗历程,向人民、向历史交出了一份优异答卷。党的伟大事业是一代一代接续推进的,党的自我革命永远在路上。请结合所学知识,谈一谈如何理解“以伟大自我革命引领伟大社会革命”? + +*** + +### 四、材料分析题(每题 20 分,共计 40 分) + +#### (一) + +材料 1:教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。 + +——习近平:《高举中国特色社会主义伟大旗帜 为全面建设社会主义现代化国家而团结奋斗》(2022 年 10 月 16 日) + +材料 2:中国这么多人,教育上去了,将来人才就会像井喷一样涌现出来。这是最有竞争力的。 + +——习近平在广东考察工作时的讲话(2012 年 12 月 7 日—11 日) + +材料 3:长期以来,以你们为代表的全国广大教师认真贯彻党的教育方针,教书育人、培根铸魂,培养了一代又一代德智体美劳全面发展的社会主义建设者和接班人,造就了大批可堪大用、能担重任的栋梁之才,为国家发展、民族振兴作出了重要贡献。教师群体中涌现出一批教育家和优秀教师,他们具有心有大我、至诚报国的理想信念,言为士则、行为世范的道德情操,启智润心、因材施教的育人智慧,勤学笃行、求是创新的躬耕态度,乐教爱生、甘于奉献的仁爱之心,胸怀天下、以文化人的弘道追求,展现了中国特有的教育家精神。 + +——习近平致全国优秀教师代表的信(2023 年 9 月 9 日) + +材料 4:高校毕业生是有望进入中等收入群体的重要方面,要提高高等教育质量,做到学有专长、学有所用,帮助他们尽快适应社会发展需要。 + +——习近平:《在中央财经委员会第十次会议上的讲话》(2021 年 8 月 17 日),《习近平谈治国理政》(第四卷),外文出版社 2022 年版 + +**问题:建设教育强国是全面建成社会主义现代化强国的战略先导。请根据上述四则材料,结合所学知识,谈谈对加快建设教育强国的理解。** + +*** + +#### (二) + +材料 1:评价一个国家政治制度是不是民主的、有效的,主要看国家领导层能否依法有序更替,全体人民能否依法管理国家事务和社会事务、管理经济和文化事业,人民群众能否畅通表达利益要求,社会各方面能否有效参与国家政治生活,国家决策能否实现科学化、民主化,各方面人才能否通过公平竞争进入国家领导和管理体系,执政党能否依照宪法法律规定实现对国家事务的领导,权力运用能否得到有效制约和监督。 + +——习近平在庆祝全国人民代表大会成立 60 周年大会上的讲话(2014 年 9 月 5 日) + +材料 2:我们走的是一条中国特色社会主义政治发展道路,人民民主是一种全过程的民主,所有的重大立法决策都是依照程序、经过民主酝酿,通过科学决策、民主决策产生的。 + +——习近平在上海市长宁区虹桥街道古北市民中心考察时的讲话(2019 年 11 月 2 日) + +材料 3:民主不是装饰品,不是用来做摆设的,而是要用来解决人民需要解决的问题的。一个国家民主不民主,关键在于是不是真正做到了人民当家作主,要看人民有没有投票权,更要看人民有没有广泛参与权;要看人民在选举过程中得到了什么口头许诺,更要看选举后这些承诺实现了多少;要看制度和法律规定了什么样的政治程序和政治规则,更要看这些制度和法律是不是真正得到了执行;要看权力运行规则和程序是否民主,更要看权力是否真正受到人民监督和制约。如果人民只有在投票时被唤醒、投票后就进入了休眠期,只有竞选时聆听天花乱坠的口号、竞选后毫无发言权,只有拉票时受宠、选举后就被冷落,这样的民主不是真正的民主。 + +——习近平在中央人大工作会议上的讲话(2021 年 10 月 13 日) + +**问题:今年(2024 年)是全过程人民民主重大理念提出五周年。新时代以来,中国式民主实践越来越生动。假如你是一名基层工作者,请结合所学知识,谈谈怎样贯彻、发展全过程人民民主。** diff --git "a/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" new file mode 100644 index 0000000..ffb3afe --- /dev/null +++ "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/2025-2026\345\255\246\345\271\264\344\270\213\345\255\246\346\234\237\346\234\237\346\234\253.md" @@ -0,0 +1,85 @@ +--- +title: 2025-2026学年下学期期末 +--- + +## 2025-2026学年下学期期末试卷 + +### 说明 + +- 回忆版试题,材料题材料暂缺。 + +### 一、判断题(1 分 × 10) + +1. 习近平新时代中国特色社会主义思想实现了马克思主义中国化时代化新的飞跃。 + + *** + +2. 十个明确是习近平新时代中国特色社会主义思想的核心内容。 + + *** + +3. 中国特色社会主义最本质的特征是人民当家作主。 + + *** + +4. 中国式现代化是走和平发展道路的现代化。 + + *** + +5. 高质量发展是全面建设社会主义现代化国家的首要任务。 + + *** + +6. 全面依法治国的总目标是建设中国特色社会主义法治体系,建设中国特色社会主义法治国家。 + + *** + +7. 总体国家安全观以政治安全为宗旨,经济安全为目标。 + + *** + +8. 绿水青山就是金山银山意味宁可不要经济增长,也要保护环境。 + + *** + +9. 共产党的领导是中国特色社会主义制度的最大优势。 + + *** + +10. 构建命运共同体,意味着对外交往不再坚持国家利益至上。 + +*** + +### 二、简答题(5 分 × 2) + +1. “党大还是法大”是个伪命题,说明理由。 + + *** + +2. 依据中国特色社会主义制度,简述实现高质量发展的优势。 + +*** + +### 三、论述题(10 分 × 2) + +1. 党是如何实现乡村振兴(如何加强城乡社区治理)? + + *** + +2. 科技强国,教育强国,人才强国是一致的又相互支撑的,你怎么看? + +*** + +### 四、材料分析题(15 分 × 2) + +1. 如何理解“绿水青山就是金山银山”? + + *** + +2. 谈谈加快建设法治中国的意义与方向。 + +*** + +### 五、情景写作(30 分 × 1) + +1. 你是一名乡村选调生,请以国之大者为主题,讲讲如何推动乡村振兴发展。 diff --git "a/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/README.md" "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/README.md" new file mode 100644 index 0000000..3e9eae8 --- /dev/null +++ "b/docs/undergraduate/\351\251\254\345\205\213\346\200\235\344\270\273\344\271\211\345\255\246\351\231\242/\344\271\240\350\277\221\345\271\263\346\226\260\346\227\266\344\273\243\344\270\255\345\233\275\347\211\271\350\211\262\347\244\276\344\274\232\344\270\273\344\271\211\346\200\235\346\203\263\346\246\202\350\256\272/README.md" @@ -0,0 +1,22 @@ +--- +title: 习近平新时代中国特色社会主义思想概论 +course_code: MARX1001 +--- + +## 2025-2026学年下学期 + +### 试卷 + +- [2025-2026学年下学期期末试卷](./2025-2026学年下学期期末) + +## 2023-2024学年下学期 + +### 试卷 + +- [2023-2024学年下学期期末试卷](./2023-2024学年下学期期末) + +## 2022-2023学年下学期 + +### 试卷 + +- [2022-2023学年下学期期末试卷](./2022-2023学年下学期期末)