跳转到内容

A-level 计算机科学/AQA/试卷 1/骨架程序/AS2023

来自维基教科书,开放书籍,开放世界

AQA 计算机科学汇编程序模拟器

这是针对 AQA AS 计算机科学规范的。

这里是提出关于一些问题可能是什么以及如何解决它们的建议的地方。

请尊重他人,不要破坏或篡改页面,因为这会影响学生备考。

A 部分预测

[编辑 | 编辑源代码]

2023 年试卷 1 A 部分将包含 5 道题,总计 25 分。(Q1 - 6 分,Q2 - 5 分,Q3 - 2 分,Q4 - 2 分,Q5 - 10 分)。注意,Q5 包含 2 部分,这意味着它很可能是一道要求你根据给定的伪代码用你选择的编程语言编写程序,以及要求你在第二部分插入屏幕截图的问题。

什么是算法?2 分

有限状态机

克罗斯先生(怀特岛渡轮系统问题)

跟踪表

B 部分预测

[编辑 | 编辑源代码]

2023 年试卷 1 B 部分将包含 6 道题,总计 20 分。(Q6 - 4 分,Q7 - 2 分,Q8 - 1 分,Q9 - 5 分,Q10 - 2 分,Q11 - 6 分)。

- 声明程序中返回单个整数值的用户定义子例程的标识符

- 声明程序中返回单个字符值的 用户定义子例程的标识符

1. 声明一个标识符的名称

     a variable that is used to store a single character.
     a user -defined subroutine that has one parameter.
     a user-defined subroutine that returns an integer
     a user-defined procedure

2. 使用一个常量来保存最大内存。说明使用命名常量表示常量值的一个优势。

3. 解释异常处理的含义以及如何在 EditSourceCode 子例程中使用异常处理。

4. 在骨架程序的生成中使用了结构化编程方法。解释结构化编程方法的含义。

5. 在 Assemble 子例程中有一个名为 NumberOfLines 的变量。在 DisplayCode 子例程中也有一个不同的名为 NumberOfLines 的变量。解释为什么这两个不同的变量可以具有相同的标识符。

6. 几个子例程使用了一个变量 NumberOfLines。它可以声明为全局变量而不是在每个子例程中局部声明。为什么使用局部变量是好的做法?

7. 声明一个标识符的名称

    An array.
    A dictionary
    a local variable used to store a string value.

8. 解释数据如何在不同的子例程之间共享。

9. 解释如果数据文件中提供的行数大于 SourceCode 数组中的索引位置数,会发生什么情况。

10. SourceCode 是一个数组,但可以使用列表。描述数组和列表之间的两个区别,并说明使用数组相对于使用列表的一个优势?

11. 本题涉及 UpdateSymbolTablel 子例程。举一个示例说明为什么显示错误代码 3,并解释代码如何检测文本文件引起的错误。

12. 声明一个 的标识符

       user-defined subroutine that uses nested indefinite iteration.
       data structure that stores values of more than one data type.
       data structure that stores values of only one data type.

13. 层次图的用途是什么?

14. 层次图中的每个框代表什么?

15. 声明用于表示整数的最合适的 数据类型。

16. 骨架程序使用了数据结构 SourceCode。说明此数据结构的第一个元素 SourceCode[0] 的用途。

17. 解释分解的含义。

18. 解释定迭代和不定迭代之间的区别。

19. 声明骨架程序中包含定迭代的子例程的标识符。

20. 声明骨架程序中包含不定迭代的子例程的标识符。

21. 什么是子例程?

22. 使用子例程可以促进代码重用。在参考骨架程序中的子例程的情况下,描述一个子例程如何被重用的示例。

23. 描述重用子例程的一个优势。

24. 为什么使用 for 循环,源代码索引为 0,而不是使用 while 循环?

25. BinaryString 存储为字符串,但只包含整数,这是为什么?

26. 解释 11 个错误代码。

27. 使用了一个栈,解释栈与队列的不同之处。

28. 类 AssemblerInstruction 有三个属性,它们都是公共的,你如何判断?这又意味着什么?

29. 术语实例化的含义是什么?

30. 在对象中,operandstring 和 operandvalue 什么时候会是一样的?

31. operandvalue 为每个对象存储什么?

32. 它什么时候会以 Jump1 开始?

33. 目前,ACC 中的负数溢出不会产生运行时错误,这是为什么?

C 部分预测

[编辑 | 编辑源代码]

骨架程序的编程问题

2023 年试卷 1 C 部分包含 4 道题,总计 30 分。(Q12 - 5 分,Q13 - 6 分,Q14 - 5 分,Q15 - 14 分。这些分数包括屏幕截图,所以代码的可能分数将低 1-2 分)。

1. 在 EditSourceCode 子例程中添加验证。

     This could be to make sure the line number is in range
     To make sure the line is of minimum length
     To format the label, opcode, operand and comment.

2. 添加新的操作码

 BNE                             SHR
 BGT                             SHL
 BLT                             LSR
 AND                             LSL
 OR                              EOR
 NOT

3. 能够将编辑后的文本文件保存到新的文本文件中。

       Prog2 has gaps between lines 6 and 9. They could ask you to add some assembly code then save the file.
       Saving the file could be to overwrite or into a new file which the user provides the name for.

4. 编辑行,双重检查条目是否为整数,以及它是否在该程序的行数范围内。

5. 在 EditSourceCode 子例程中添加插入和删除选项

华夏公益教科书