-
BUAA_2022_OO_Unit1_Summary
还没从寒假的懒散惬意中摆脱出来,OO_Unit1便迎面袭来。 第一次作业分析 思路分析 我们要对一个包含加、减、乘、乘方以及括号(其中括号的深度至多为 1 层)的单变量表达式,输出恒等变形展开所有括号并化简的表达式。我的基本思路如下: 预处理消除多余的空格和连续的正负号**('--' → '+',' -
面向对象设计与构造 第一单元总结
第一次作业 UML类图 复杂度分析 (仅展示部分复杂度较高的方法) 设计架构 采用因子$\rarr$项$\rarr$表达式(对应类:Factor,Term,Expr)的结构存储数据,多项式运算处理表达式的化简、合并、输出结果,Expression类对输入字符串进行解析。 优点 1、架构简单,编码难度 -
OO 第一单元总结与反思
简介 本人由于对Java的不了解和对字符串处理的不熟悉,第一周到周六才开始写作业,直接就使用了预解析的方式,之后的几次作业也偷懒沿用了预解析的形式来完成作业。使用预解析的话,因为无需考虑对符号的处理,只用处理运算的过程,所以比起正常读入要简单非常多。三次作业的架构大体相同,区别只在于对因子的处理 -
BUAA-OO-第一单元总结
BUAA-OO-第一单元总结 一、需求分析 1.0 形式化表述 表达式 → 空白项 [加减 空白项] 项 空白项 | 表达式 加减 空白项 项 空白项 项 → [加减 空白项] 因子 | 项 空白项 ' * ' 空白项 因子 因子 → 变量因子 | 常数因子 | 表达式因子 变量因子 → 幂函数 | -
北航面向对象课程第一单元总结
OO第一单元:表达式去括号并化简 -
BUAA_2022_OO_第一单元总结
#前言 第一单元作业的主题是表达式解析计算,主要任务是在去除非必要括号的基础上尽量缩短表达式。从第一次的单层括号表达式化简开始迭代开发,在第二次作业加入求和函数、三角函数与自定义函数,在第三次作业允许三角函数和自定义的嵌套。 本文将从代码的五个主要部分——抽象表达设计、表达式解析、结果运算、优化缩短 -
BUAA_OO_2022第一单元表达式解析总结
BUAA-OO-2022-Unit1 1. 第一次作业 1.1 表达式树 根据第一次作业所给的形式化表述,得到表达式树。 1.2 设计思路 借助第一单元的训练,采用了递归下降的模式。 1.2.1 Lexer类 用于读取待化简表达式的每一个“单元”,这些“单元”包括‘整数’、‘(’、‘)’、‘+’、‘ -
BUAA-OO-unit-1-总结
BUAA-OO-unit-1-总结 第一单元主题为对表达式结构进行建模,完成表达式的括号展开与化简。主要学习目标是熟悉面向对象思想和原则,熟悉层次化设计的思想。在第一单元结束之际,对自己的设计思路进行总结,分享心得体会。 第一次作业 代码结构分析 思路与设计依据 第一次作业为简单表达式的建模与去括号 -
BUAA_OO_第一单元作业总结
简述 本单元一共分为三次作业,通过对表达式结构进行建模,完成单变量多项式的括号展开。三次作业层层递进,从单层括号到嵌套括号,在经过了开始几次的煎熬后,也让笔者初步体会到了层次化设计的思想。本篇主要围绕笔者对三次作业的构造设计进行分析总结。 第一次作业 设计思路 本次作业作为我在面向对象设计与构造课程 -
面向对象程序设计Unit1作业分析总结
面向对象程序设计Unit1作业分析总结 一、作业分析和整体设计思路 1.1作业目的 在本次Unit 1的三次作业中,主要的目的是将输入表达式中的非必要括号拆除,保留必要括号。同时,我们可以在这个基础上做适当的化简与合并。三次作业是层进式的,表达式的复杂程度和需要考虑的方面逐渐增多,这就需要我们对