ENGG1340/COMP2113 Assignment1:编程挑战与测试案例

需积分: 8 0 下载量 77 浏览量 更新于2024-07-05 收藏 236KB PDF 举报
"ENGG1340/COMP2113编程作业1,包括四个问题:回文数(20分)、递归神经网络(25分)、移位密码(25分)和五张扑克牌组合(25分)。总分为100分,其中5分评价代码注释和缩进,95分评估程序正确性。提交时需严格遵循指示,否则最多扣除5分。每个问题提供样例测试用例,但不保证覆盖所有边界情况,设计合适的测试用例也是评分的一部分。" 本次编程作业涵盖了多个计算机科学与工程领域的知识点: 1. **回文数**(20分): 回文数是指正向读和反向读都一样的数字,如121、12321等。在编程中,解决这个问题通常涉及字符串处理或数组操作。你需要编写一个函数,接受一个整数并判断它是否是回文数。可以将数字转化为字符串,然后比较前半部分和后半部分是否相同,或者使用双指针技术,一个指针从左向右移动,另一个从右向左,比较对应位置的数字。 2. **递归神经网络**(25分): 递归神经网络(RNN)是一种能够处理序列数据的深度学习模型,其内部结构允许信息在时间步之间流动。解决此问题可能涉及到搭建和训练RNN模型,例如使用LSTM(长短期记忆)单元,处理时间序列数据,如语言建模或文本生成。你需要理解RNN如何存储和更新隐藏状态,并能够实现一个简单的RNN模型。 3. **移位密码**(25分): 移位密码是一种古老的加密方法,通过将字母表中的每个字符向前或向后移动固定数量的位置来实现加密。在编程中,你需要实现一个函数,该函数接受一个明文字符串和一个偏移量,然后按照移位规则进行加密和解密。这涉及到字符编码和字符串操作的知识,例如ASCII码或Unicode。 4. **五张扑克牌组合**(25分): 这个问题可能涉及到概率和组合学,以及随机数生成。你需要创建一个程序,生成并评估一手五张扑克牌的组合。可能需要理解不同的扑克牌类型(如顺子、同花顺等),并能计算出特定组合的概率。可以使用数组或列表来存储牌,通过随机选择并剔除已选的牌来模拟洗牌和发牌过程。 每个问题都有样例测试用例,你需要确保你的程序能够正确处理这些例子,同时还要有能力设计和实施自己的测试用例,以验证程序的全面性和正确性。提交的代码必须有良好的注释和缩进,以便于理解,这是评分的一部分。如果未能严格按照提交指示操作,可能会被扣分。在完成作业时,鼓励你在 Moodle 讨论论坛上提问,与其他学生交流,以便更好地理解和解决问题。