首页 > 其他分享 >BLOG-3 LYYYY

BLOG-3 LYYYY

时间:2024-12-28 17:31:08浏览次数:6  
标签:LYYYY self 电路 BLOG state identifier def 设备

第三次pta总结
** 7-1 家居强电电路模拟程序-3**
分数 100
作者 蔡轲
单位 南昌航空大学
智能家居是在当下家庭中越来越流行的一种配置方案,它通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、安防系统、数字影院系统、影音服务器、影柜系统、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能。请根据如下要去设计一个智能家居强电电路模拟系统。以下题目介绍中加粗的部分为本次迭代在“家居强电电路模拟程序-2”的基础上增加的功能要求。
前言:
设备建模:设计电路设备类,包括开关、调速器、灯具、风扇和窗帘等。使用继承和多态,分为控制设备类和受控设备类。设备的引脚、电阻、状态(如开关的开闭、调速器的档位)和功能(如电压与亮度、转速的关系)需要明确建模。
电路结构建模:通过串联电路类和并联电路类,分别处理串联电路和多个并联电路的情况。串联和并联电路需要通过设备引脚的连接关系计算电压分布、电流大小,确保电路结果合理。
输入解析:解析复杂的输入格式,包含设备信息、连接信息、调节指令等。这部分需要对输入内容进行逐步拆解,将信息准确映射到设备和电路模型中。
电路计算与模拟:核心难点在于根据输入的电路拓扑和设备参数,计算电压、电流、功率等电气参数,确定设备的状态。例如,窗帘的开合状态与光照强度相关,风扇的转速与电压相关,这些都需要精准模拟。
输出结果:按照题目要求的格式输出设备状态,注意小数截尾和输出精度的格式化。
难点在于:
复杂输入解析:包含多层嵌套的电路信息,需要处理多个设备之间的关系。
电路计算精确性:需考虑电阻、电流、电压的分布,以及并联、串联的电路规则。
状态关联复杂:如灯的亮度影响窗帘开合,风扇速度与电压的非线性关系等。
设计与分析
电路设备类 (基类)
这个类用于描述所有电路设备的公共特征,如设备编号、连接引脚、控制状态等。

点击查看代码
`class ElectricalDevice:
    def __init__(self, identifier, pins):
        self.identifier = identifier  # 设备标识符,如 K1, L2
        self.pins = pins  # 引脚列表,如 [1, 2],对应输入输出引脚
        self.state = 0  # 默认设备状态,通常为关闭状态

    def connect(self, other_device):
        # 模拟设备间的连接
        pass

    def update_state(self):
        # 更新设备的状态
        pass

    def get_state(self):
        return self.state  # 获取当前设备的状态
2. 控制设备类 控制设备(如开关、调速器)继承自 ElectricalDevice 类,并添加一些特定的功能。 开关类(继承自 ElectricalDevice)
点击查看代码

class Switch(ElectricalDevice):
def init(self, identifier, pins):
super().init(identifier, pins)

def toggle(self):
    # 切换开关状态
    self.state = 1 - self.state  # 0变1,1变0
    self.update_state()

分档调速器类(继承自 ElectricalDevice)
class StepSpeedController(ElectricalDevice):
def init(self, identifier, pins, max_speed=4):
super().init(identifier, pins)
self.max_speed = max_speed # 最大档位数,默认为4档
self.current_speed = 0 # 默认档位为0

def adjust(self, increase=True):
    # 调整档位
    if increase and self.current_speed < self.max_speed - 1:
        self.current_speed += 1
    elif not increase and self.current_speed > 0:
        self.current_speed -= 1
    self.state = self.current_speed  # 更新调速器的输出状态
    self.update_state()

连续调速器类(继承自 ElectricalDevice)

点击查看代码

class ContinuousSpeedController(ElectricalDevice):
    def __init__(self, identifier, pins):
        super().__init__(identifier, pins)
        self.level = 0.00  # 默认档位为0.00

    def set_level(self, level):
        self.level = level  # 设置档位参数(0.00到1.00之间)
        self.state = self.level  # 更新调速器的输出状态
        self.update_
  1. 受控设备类
    这些设备(如灯、风扇、窗帘)需要根据输入引脚电压差或其他条件进行状态更新。

灯具类(继承自 ElectricalDevice)

点击查看代码
class Light(ElectricalDevice):
    def __init__(self, identifier, pins, light_type):
        super().__init__(identifier, pins)
        self.light_type = light_type  # 可以是白炽灯或日光灯

    def update_state(self):
        # 根据电压差更新灯光状态
        if self.light_type == 'incandescent':
            voltage = self.pins[1] - self.pins[0]  # 电压差
            if voltage <= 9:
                self.state = 0  # 灯灭
            else:
                self.state = int((voltage - 10) * 200 / (220 - 10))  # 亮度计算
        elif self.light_type == 'fluorescent':
            if self.pins[1] != self.pins[0]:
                self.state = 180  # 灯亮
            else:
                self.state = 0  # 灯灭

风扇类(继承自 ElectricalDevice)

点击查看代码
class Fan(ElectricalDevice):
    def __init__(self, identifier, pins, fan_type):
        super().__init__(identifier, pins)
        self.fan_type = fan_type  # 可以是吊扇或落地扇

    def update_state(self):
        # 根据电压差更新风扇状态
        if self.fan_type == 'ceiling':
            voltage = self.pins[1] - self.pins[0]
            if voltage >= 80:
                self.state = int((voltage - 80) * (360 - 80) / (150 - 80))  # 转速计算
            else:
                self.state = 0  # 停止
        elif self.fan_type == 'standing':
            voltage = self.pins[1] - self.pins[0]
            if voltage < 80:
                self.state = 0
            elif voltage < 100:
                self.state = 80
            elif voltage < 120:
                self.state = 160
            elif voltage < 140:
                self.state = 260
            else:
                self.state = 360

窗帘类(继承自 ElectricalDevice)

点击查看代码

class Curtain(ElectricalDevice):
    def __init__(self, identifier, pins):
        super().__init__(identifier, pins)
        self.light_intensity = 0  # 初始化光照强度为0

    def update_state(self, light_intensity):
        # 根据光照强度更新窗帘状态
        if light_intensity < 50:
            self.state = 100  # 全开
        elif light_intensity < 100:
            self.state = 80
        elif light_intensity < 200:
            self.state = 60
        elif light_intensity < 300:
            self.state = 40
        elif light_intensity < 400:
            self.state = 20
        else:
            self.state = 0  # 全关
  1. 串联与并联电路
    串联和并联电路类用于管理连接到一起的多个设备。

串联电路类

点击查看代码
class SeriesCircuit:
    def __init__(self, identifier):
        self.identifier = identifier
        self.devices = []  # 设备列表

    def add_device(self, device):
        self.devices.append(device)

    def get_voltage_drop(self):
        # 计算电压降
        total_voltage_drop = 0
        for device in self.devices:
            total_voltage_drop += device.get_voltage_drop()
        return total_voltage_drop

并联电路类

点击查看代码
class ParallelCircuit:
    def __init__(self, identifier):
        self.identifier = identifier
        self.series_circuits = []  # 串联电路列表

    def add_series_circuit(self, series_circuit):
        self.series_circuits.append(series_circuit)

    def get_total_voltage_drop(self):
        # 计算并联电路的电压降
        total_voltage_drop = 0
        for series in self.series_circuits:
            total_voltage_drop += series.get_voltage_drop()
        return total_voltage_drop
5. 电路模拟器主类 这个类是模拟的核心,负责管理所有设备、连接、输入信息,并计算最终的设备状态。
点击查看代码
class CircuitSimulator:
    def __init__(self):
        self.devices = []
        self.series_circuits = []
        self.parallel_circuits = []

    def add_device(self, device):
        self.devices.append(device)

    def add_series_circuit(self, series_circuit):
        self.series_circuits.append(series_circuit)[]()

    def add_parallel_circuit(self, parallel_circuit):
        self.parallel_circuits.append(parallel_circuit)

    def update_device_state(self):
        for device in self.devices:
            device.update_state()

    def print_state(self):
        for device in sorted(self.devices, key=lambda x: x.identifier):
            print(f"@{device.identifier}:{device.get_state()}")

设计类图

踩坑心得以及改进建议:

一个好的抽象应该尽可能的使得程序归一化。所谓归一化就是按我的理解就是尽可能得定义出一个统一的接口在屏蔽底层得细节得同时, 使得不同对象都可以完成一个统一的逻辑, 也就是多态。面向对象把每一个变化抽象成一个接口, 就可以成功得做到归一化, 也就是一个好的抽象。这也提醒我使用面向对象得思想得时候一定要做出一个好的抽象,不好得抽象只会使得程序越来越乱。归根到底,也就是上课讲得那几个原则:单一职责、开闭原则等。

7-1 家居强电电路模拟程序-4
分数 100
作者 蔡轲
单位 南昌航空大学
智能家居是在当下家庭中越来越流行的一种配置方案,它通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、安防系统、数字影院系统、影音服务器、影柜系统、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能。请根据如下要去设计一个智能家居强电电路模拟系统。以下题目介绍中加粗的部分为本次迭代在“家居强电电路模拟程序-3”的基础上增加的功能要求。
前言:
智能家居作为现代家庭的核心组成部分,正在迅速成为当今居住环境中不可或缺的一部分。随着物联网技术的发展和应用,智能家居系统通过将家庭中的各种电气设备连接在一起,实现了对家电、照明、窗帘、空调、安防等设备的智能控制,提升了居住的舒适性、安全性以及节能性。本项目的目标是设计一个家居强电电路模拟系统,该系统不仅模拟家电设备的基本操作,还包括了复杂的控制逻辑和电路连接方式。通过对电路的模拟,可以帮助用户更好地理解电路原理及其与家居设备的互动。
本次设计的重点是在前一版本基础上,增加了多个设备类型以及复杂的电路结构和连接方式。具体包括多种控制设备(如开关、调速器、互斥开关等)和受控设备(如灯具、风扇、窗帘等),并且在电路连接上考虑了并联、串联以及电压、电流的变化。通过这些迭代设计,模拟系统将能够更加真实地反映智能家居系统的运行逻辑,并且为后续功能扩展和优化奠定基础。
智能家居的应用不仅局限于简单的开关控制,而是涉及到各种设备之间的复杂互动、调节和协作。通过本模拟程序,用户可以对智能家居电路进行虚拟组建和调试,提升家居电气系统的管理能力和使用体验。我们期望通过这个设计,使用户在电路设计和控制方面获得更加深入的理解,并为智能家居的进一步发展提供技术支持和实践经验
设计与分析:

  1. 电路拓扑更新函数
    函数名:updateCircuitTopology(devices, connections)
    功能描述:
    更新电路拓扑结构,动态计算各节点的连接关系。
    适配用户添加或移除设备后的电路变化,重新生成电路的连接图。
    输入参数:

devices:当前系统中所有设备的列表(包含设备ID、设备类型、功率等属性)。
connections:所有设备之间的连接关系(如串联、并联方式的标识)。
输出:
返回新的电路拓扑结构,包括节点、分支及连接属性。
算法逻辑:
检查所有设备与连接点之间的关系,生成节点矩阵。
动态调整设备间的连接方式(串联、并联等)。
识别电路中的起点(电源)和终点(负载)。
特殊处理:
若存在短路或未闭合回路,提示用户修改配置。
若用户对电路做了非法操作(如重复连接同一设备),则抛出错误。

  1. 电气参数计算函数
    函数名:calculateElectricalParameters(topology, voltageSource)
    功能描述:
    计算当前电路中的各类电气参数,如电流、电压分布、功率等。
    根据电路拓扑的动态变化,实时更新设备参数。
    输入参数:

topology:当前的电路拓扑结构(由updateCircuitTopology函数生成)。
voltageSource:电源的电压值(如220V)。
输出:
返回各节点的电压、电流值,以及总功率。

计算内容:
对串联电路,计算各设备的电压分布(电流相同,电压按设备阻值分配)。
对并联电路,计算各支路的电流(电压相同,电流按功率需求分配)。
计算整个电路的总功率消耗。
关键点:
使用欧姆定律(U=IR)和功率公式(P=UI)进行电气参数计算。
若负载功率超过电源能力,触发过载报警。
考虑动态变化的设备阻抗(如灯具亮度调整时的阻值变化)。

  1. 设备控制函数
    函数名:controlDevice(deviceID, command)
    功能描述:

接收用户对某一设备的控制指令,并调整设备状态。
输入参数:

deviceID:需要控制的设备ID。
command:控制指令(如开/关、速度调节、亮度调节等)。
输出:
返回设备的当前状态。
设计分析:
执行逻辑:
检索设备ID,确认设备是否存在。
根据设备类型执行不同的控制逻辑:
开关设备:调整通断状态。
调速设备:修改速度值(如风扇的转速)。
调光设备:调整亮度(如灯具的功率)。
若设备处于联动模式,触发相关联设备的操作(如开灯时自动关闭窗帘)。
异常处理:
若设备处于互锁状态,禁止同时运行并返回错误提示。
若用户输入非法指令,返回无效操作提示。

  1. 故障检测函数
    函数名:detectCircuitFault(topology, parameters)
    功能描述:
    检测电路运行中的故障情况,如短路、过载等,并给出提示。
    输入参数:
    topology:电路拓扑结构。
    parameters:当前电路的实时电气参数(电流、电压、功率等)。
    输出:
    返回故障类型及提示信息。
    设计分析:
    检测逻辑:
    短路检测: 检查节点之间的阻抗,若阻抗接近0,则判定为短路。
    过载检测: 计算总功率与电源功率上限的差值,若超限,则提示过载。
    断路检测: 确认电路是否形成完整回路,若存在未闭合部分,提示断路。
    故障处理:
    发生短路时,立即中断所有设备运行。
    提示用户具体的故障节点和设备,方便故障排查。

  2. 智能联动控制函数
    函数名:triggerSmartLinkage(sceneID)
    功能描述:
    实现预设场景中的设备联动操作。
    输入参数:
    sceneID:场景的唯一标识符(如“夜间模式”或“离家模式”)。
    输出:
    返回场景触发结果(成功或失败)。
    设计分析:
    联动逻辑:
    根据sceneID读取对应的场景配置文件(包含设备列表及操作指令)。
    按顺序执行设备控制指令(如依次关闭灯具、开启安防系统等)。
    特殊场景:
    夜间模式: 自动关闭窗帘、调低灯具亮度,并开启夜灯。
    离家模式: 关闭所有灯具和家电,启动防盗报警系统。
    异常处理:
    若某设备在执行联动时出现故障(如风扇无法启动),则跳过故障设备,并记录错误日志。

设计类图

踩坑心得:

代码结构混乱,难以扩展
问题:没有良好的代码组织结构,核心逻辑和辅助逻辑混杂在一起,导致代码耦合度过高,后续增加功能时改动范围大,容易引发新问题。
表现:
代码层次不清晰,难以分离主流程和细节实现。
不同模块(如设备控制、故障检测、参数计算)的职责界限不明确。
原因:没有提前规划代码结构,缺少模块化和抽象化设计。
2. 滥用硬编码
问题:设备类型、拓扑信息、故障检测规则等直接写死在代码中,难以动态修改或扩展。
表现:
添加新设备类型时需要修改大量代码。
故障规则和参数校验无法快速调整,调试困难。
原因:为了快速实现功能,忽略了配置化的需求。
3. 错误处理机制缺失
问题:对设备控制失败、参数计算异常等情况没有进行充分的错误处理,导致系统容易因单个问题崩溃。
表现:
程序在异常情况下直接终止,缺乏友好的错误提示。
问题发生时很难定位问题的来源。
原因:缺少全局异常捕获机制和详细的日志记录。

改进建议:
1.模块化代码结构
改进点:设计模块化代码结构,遵循单一职责原则,将系统功能拆分为独立模块。
实现方式:
设备管理模块:统一管理设备的状态、属性、控制接口。
电气参数模块:负责所有电流、电压等参数计算逻辑。
场景联动模块:处理场景规则的定义与执行。
故障检测模块:检测并报告异常情况。
使用设计模式(如工厂模式、观察者模式等)封装模块内部逻辑。
2. 配置化设计
改进点:将系统中的静态信息(如设备类型、故障检测规则)抽取为配置文件,方便动态调整。
实现方式:
使用 JSON、YAML 或数据库存储配置数据。
在程序启动时加载配置,并根据配置动态初始化设备或规则。
3. 完善错误处理机制
改进点:加入全局异常捕获和模块级错误处理机制,确保系统在异常情况下不崩溃。
实现方式:
在关键模块中捕获异常并记录日志。
全局错误处理框架捕获未处理的异常,提供用户友好的提示信息。

总结:

  1. 理论与实践结合:
    通过题目设计和编码实现,深入理解了智能家居系统的核心原理,包括强电电路的拓扑结构、电气参数计算、设备控制逻辑以及故障检测。
    掌握了从需求分析到代码实现的完整开发流程,学会了如何将抽象的功能需求转化为清晰的代码逻辑和结构。

  2. 代码设计与架构:
    学会了如何设计模块化的代码结构,遵循单一职责原则(SRP)以及面向对象的编程思想(OOP),并结合设计模式(如工厂模式、观察者模式)提升代码复用性和扩展性。
    学到了如何利用图数据结构和算法(如拓扑排序、Dijkstra)解决电路拓扑管理和场景联动问题。

  3. 问题分析与解决:
    在多次实践中,积累了代码调试、问题定位的能力,并认识到详细日志记录和调试工具的重要性。
    学会了故障检测、设备联动控制、状态实时同步等复杂场景下的分析方法和实现技巧。

  4. 系统化开发思维:
    对于复杂系统,逐步掌握了从功能拆解、接口设计到具体实现的系统化开发方法。
    深刻理解了配置化设计的重要性,避免了硬编码的局限性,提升了系统的灵活性。

需要进一步学习及研究:
场景联动的优化:
学习如何设计高效、无环的场景联动依赖检测算法,避免联动逻辑冲突。
研究智能联动算法(如基于规则引擎或机器学习的联动优化),提高智能家居场景配置的自动化和智能化。

实时系统设计:
对设备状态的实时同步和多线程并发控制需要更深入了解,尤其是高性能的实时消息传递机制(如 MQTT、Kafka)。
学习如何在大规模分布式设备系统中实现高效的状态管理和故障检测。

人机交互设计:
进一步学习如何设计友好的用户界面,通过拓扑可视化和参数实时监控,提升用户体验。
研究基于语音控制或移动应用的智能家居操作方式。

测试与运维:
学习自动化测试框架及工具(如 Jenkins、TestNG)在大型系统中的应用,提高代码质量保障能力。
探索如何为智能家居系统设计高效的监控与日志分析工具,实现系统的可靠运行和快速问题定位。

本阶段的三次题目集,不仅锻炼了理论知识的应用能力,还帮助深入理解了如何系统化地解决复杂问题。在编码实践中学会了代码优化的技巧,同时也认识到自身在高效设计与实现复杂系统上的不足。通过进一步学习先进的技术方法、加强实践经验、以及对课程内容组织的优化,未来可以更好地掌握智能家居系统的开发能力,并应用到实际项目中去。

期末总结:
收获与成长
深入理解面向对象思想:

本学期通过课程系统地学习了面向对象编程(OOP)的核心思想,包括 封装、继承 和 多态 等基础概念。深刻理解了这些思想背后的设计逻辑,并掌握了如何在实际代码中灵活运用。
特别是通过多个案例,认识到 面向对象编程不仅是语法的掌握,而是一种编程思想,强调从模块化、重用性和扩展性的角度去设计代码。
设计模式初探:

学习了常见的设计模式(如单例模式、工厂模式、观察者模式等),并在实际项目中体会到设计模式对于提升代码可维护性、降低耦合度的重要性。
在课堂作业和实验中,逐步培养了 用设计模式解决实际问题的能力,尤其是在复杂功能开发中学会了如何组织模块和抽象实现。
实践带来的成长:

从理论到实践:本学期的实验和作业中,有机会将面向对象的知识运用到具体的项目中。通过一个个功能模块的开发,慢慢掌握了从需求分析到代码实现的完整过程。
代码质量的提升:随着课程的深入,对代码的结构化设计有了更深的认识,写出来的代码更加规范、易读、易维护。

这门课不仅是一次技术上的成长,也是一次心态上的转变。从对复杂系统设计的畏惧,到逐步掌握面向对象思想并应用到实际中,这门课让我看到了自己作为开发者的无限可能。感恩老师的指导、课程的安排以及团队的合作,这段学习经历将成为我今后编程生涯中最宝贵的一段回忆。

标签:LYYYY,self,电路,BLOG,state,identifier,def,设备
From: https://www.cnblogs.com/ly0615/p/18637712

相关文章

  • PTA题目集7~8的总结性Blog
    ·前言本次的两个作业,由家居强电电路模拟程序-3、家居强电电路模拟程序-4组成。家居强电电路模拟程序-3模拟强电电路的运行,支持各种控制设备、受控设备的运行逻辑、计算各设备的电压、电流、亮度、转速等参数、支持电路的串联与并联结构。;最后家居强电电路模拟程序-4则在前一......
  • BLOG-3
    Java题目集7~81.前言本次博客围绕题目集7-8展开讨论,从基础的电路设备行为模拟出发,逐步扩展到复杂的电路连接、异常检测与状态输出,具体包括以下知识点知识点总结控制设备1.开关:两个引脚,状态为0或1,控制电路的通断。可作为基本的电路单元,提供电压传导或切断功能。2.互斥开关:......
  • BLOG-3
    前言在完成题目集7和8的过程中,我们进一步提升了对于物理系统模拟的理解,并掌握了更加复杂的面向对象编程技巧。这两次作业不仅在逻辑深度上更加复杂,还引入了更加丰富的设备类型与电路规则,对代码结构和算法提出了更高的要求。家居强电电路模拟程序-3:主要模拟串联与并联电......
  • BLOG-3
    BLOG-3一、前言  在第7次和第8次的大作业,我们完成了家居强电电路模拟程序3和4。经过前面大作业的多次训练,我积累了了宝贵的实践经验,这不仅巩固了我对Java编程语言核心概念的理解,还进一步加深了我对面相对象设计原则的掌握。在完成这两个大作业的过程中,要求我们特别注重类的设......
  • 第三次Blog 题目集7~8
    一,前言在题目集7和8中,我们逐步完善了智能家居强电电路模拟程序的功能和复杂性。题目集7以基本电路元件的特性和连接为核心,涵盖了开关、调速器、灯、风扇等设备的模拟,实现了多种控制设备和受控设备的电路设计与状态输出;而题目集8在此基础上新增了管脚电压显示、电流限制检测、短路......
  • 第三次BLOG
    一、前言  在家居强电电路模拟程序-1和家居强电电路模拟程序-2的基础之上,最后两次的大作业难度飞升。  家居强电电路模拟程序-3,引入了互斥开关和受控窗帘,这两者都不同于之前的控制设备和受控设备,对于互斥开关,要考虑他的引脚问题和正接反接,而受控窗帘不是仅仅根据电压差来......
  • BLOG-3
    一.前言1.知识点:(1)因为需要使用子类所以应该还是要使用抽象类和接口来让子类通过父类提供的接口来实现它们需要的功能,就像第七次大作业中的设备父类的抽象showStatus函数还有control函数等等,因为不同的设备展现状态的方法不同而且不同的设备对电路的控制效果也不同,所以应该使用......
  • blog-3
    前言在过去的几周内,我们完成了家居强电电路模拟程序-3以及 家居强电电路模拟程序-4的练习,涉及多个知识点和编程技巧。整体来说,这两次题目集共包含了2道题目,题目难度逐步增加。(折叠代码是不在行列计算内的,只是我觉得结合代码能讲的更清楚我的思路,由于上次可能因为这个原因有些同......
  • pta7~8总结blog
    一、前言本次blog是针对发布题目集7和8的总结。1、题目集7,只有一题,电路模拟程序3。输入串联总电路、并联电路、并联电路分支电路信息后,程序要从连接信息中,提取设备信息如设备类型、输入引脚、输出引脚,最后输出控制设备的状态、受控设备的亮度、转速以及窗帘打开比例。与电路模......
  • blog3-题目集7~8
    一、前言:本次的Blog,是电路3和电路4,首先我想说的是在电路2的时候,我并没有拿到满分,直到做到电路3的时候我才发现了电路2缺少的部分,就是嵌套的串联电路,之前是没有考虑在一个T里面还有T的,电路3的一个测试样例这才点醒了我,随后也是修改了电路2的代码,拿到了满分。二、设计与分析:大......