C-C方法计算时间延迟和嵌入维数主程序:C_CMethod.m,C_CMethod_independent.m子函数:correlation_integral.m(计算关联积分)disjoint.m(将时间序列拆分成t个不相关的子序列)heaviside.m(计算时间序列的海维赛函数值)参考文献Nonlineardynamics,delaytimes,andembeddingwindows。
计算Lyapunov指数:largest_lyapunov_exponent.m(用吕金虎的方法计算最大Lyapunov指数)参考文献:基于Lyapunov指数改进算法的边坡位移预测。
lyapunov_wolf.m(用wolf方法计算最大Lyapunov指数)计算关联维数:G_P.m(G-P算法)混沌时间序列预测主函数MainPre_by_jiaquanyijie_1.m(该程序用加权一阶局域法对数据进行进行一步预测)MainPre_by_jiaquanyijie_n.m(该程序用加权一阶局域法对数据进行进行n步预测)MainPre_by_Lya_1.m(基于最大Lyapunov指数的一步预测)MainPre_by_Lya_n.m(基于最大Lyapunov指数的n步预测)nearest_point.m(计算最后一个相点的最近相点的位置及最短距离)子函数jiaquanyijie.m(该函数用加权一阶局域法(xx)、零级近似(yy)和基于零级近似的加权一阶局域法(zz)对时间数据进行一步预测)pre_by_lya.m(基于最大Lyapunov指数的预测方法)pre_by_lya_new.m(改进的基于最大Lyapunov指数的预测方法)
2025/8/19 3:36:29 669KB 混沌 算法
1
Java串口调试工具源码是用于开发和测试串行通信应用程序的一个实用工具,它通过图形用户界面(GUI)提供友好的交互方式。
该工具的设计灵感来源于串口调试小助手,通常用于验证硬件设备与计算机之间的数据传输。
在编程和硬件调试过程中,这类工具能帮助开发者查看、发送和接收串口数据,从而诊断和解决问题。
我们要理解“GUI”(图形用户界面)是指一种以图形方式显示的用户界面,使用户能够通过鼠标、键盘等输入设备与计算机系统进行交互。
在这个Java串口调试工具中,GUI的设计使得非技术背景的用户也能方便地操作,提高工作效率。
“Serial”(串口)是计算机上的一种通信接口,用于设备间的串行数据通信。
串口通常包括RS-232、RS-485等标准,适用于短距离、低速率的数据传输。
在Java中,处理串口通信通常需要使用特定的库,如JSSC(JavaSimpleSerialConnector)或RXTX,这些库提供了与硬件串口交互的API。
在Java串口调试工具的源码中,开发者可能使用了如下的关键知识点:1.**JSSC库**:这是一个开源的Java库,用于串行通信。
它提供了创建、打开、关闭串口,设置波特率、数据位、停止位、校验位等功能,并可以读写串口数据。
2.**事件驱动编程**:为了实时响应串口数据的收发,源码可能使用了事件监听机制。
当串口接收到数据时,会触发一个事件,由相应的事件处理器处理数据。
3.**线程管理**:串口读写可能在后台线程中执行,以避免阻塞主线程,确保GUI的流畅性。
这可能涉及到Java的并发和多线程编程,如使用`ExecutorService`来管理和控制线程。
4.**GUI组件**:包括按钮、文本框、滚动面板等,用于用户输入、显示数据和控制串口操作。
这些组件可能使用了JavaSwing或JavaFX库来实现。
5.**数据解析和格式化**:源码可能包含用于解析接收到的原始二进制数据并转换为可读格式的功能,或者将用户输入的格式化文本转化为适合串口传输的字节流。
6.**异常处理**:在串口通信中,可能会遇到各种错误,如硬件故障、通信中断等。
源码需要包含适当的异常处理代码,以优雅地处理这些问题并给出反馈。
7.**配置保存**:为了方便用户,工具可能支持保存和加载串口设置,如波特率、数据位等,这可能涉及到文件I/O操作。
通过深入研究这个Java串口调试工具的源码,开发者可以学习到如何在Java中实现串口通信,以及如何设计和实现一个功能完善的GUI应用。
同时,这也是一个实践软件工程原则,如模块化、可扩展性和可维护性的良好案例。
2025/8/14 18:39:13 159KB GUI+Serial
1
弗洛伊德算法matlab源程序,求任意两点之间的最短距离,很不错的算法!
2025/7/7 13:20:20 590B 弗洛伊德 matlab
1

简介在现代家庭中,各种各样的家用电器都配置有遥控器,以致遥控器泛滥成灾。
桌面上摆上七八个遥控器(电视机、录像机、DVD播放机、MD唱机、功放机等)已司空见惯,寻找、辨认起来都很困难,更不要说操作。
由此,人们即希望:能不能有一种通用遥控器,用它控制家庭中所有的电器。
这样就诞生以433MHz为频率的无线通用遥控设备,为短距离无线通信提供了非常简单的解决方案,它是开发低成本、低功耗无线通信系统的理想方案。
一般由单片机控制电路、LCD显示电路、无线发码电路等构成。
按照节点的多少可以分为单节点和多节点模式。
单节点也称为点对点式,结构简单、体积小,便于随身携带,用于控制单个家电的通信;
而多节点又称为点对多
2025/6/19 9:27:25 189KB
1

Pelco D 和 Pelco P 协议是视频监控领域中广泛使用的两种闭路电视(CCTV)摄像机控制协议。
这些协议允许用户通过有线或无线方式远程操作摄像头,包括调整镜头焦距、倾斜角度、水平移动以及聚焦等功能。
本文将深入探讨这两种协议的核心原理、应用场景及区别。
Pelco D 协议:Pelco D 是由 Pelco 公司开发的一种模拟控制协议,主要用于驱动支持该协议的摄像机和云台。
协议的主要特点包括精确的定位能力、多级速度控制以及平滑的运动控制。
它支持多种命令,如预设点设置、连续扫描、巡航路径规划等。
Pelco D 协议通常通过 RS-422 或 RS-485 串行通信接口实现,这些接口可以支持更远距离的传输,且在多设备系统中具有良好的抗干扰性。
协议中的每个命令都由一系列二进制码组成,这些码对应特定的操作,如移动、停止、加速、减速等。
Pelco P 协议:与 Pelco D 类似,Pelco P 也是 Pelco 公司设计的另一种控制协议,但它的设计更加简单,主要关注于摄像机的水平和垂直移动。
Pelco P 协议常用于需要基本的左右、上下移动控制的场合,而不需要复杂的预设点和扫描功能。
它通常通过 RS-232 接口进行通信,适用于小型系统或远程控制需求不复杂的环境。
Pelco P 的命令结构比 Pelco D 更直观,使得安装和配置更为便捷。
两者的对比:1. 功能:Pelco D 提供更多高级功能,如预设点、巡航路径等,适合大型、复杂系统;
Pelco P 则更适合基本的移动控制。
2. 通信接口:Pelco D 常用 RS-422/485,传输距离远,适合多设备环境;
Pelco P 常用 RS-232,适用于单设备或短距离通信。
3. 控制精度:由于 Pelco D 设计更复杂,其运动控制通常更为精确。
在实际应用中,选择 Pelco D 还是 Pelco P 主要取决于系统的规模、功能需求以及预算。
对于需要精细控制和多功能集成的大型监控项目,Pelco D 显然是更优的选择;
而对于小规模或者对成本敏感的项目,Pelco P 可能更合适。
了解这两种协议的特性,有助于在设计和实施监控系统时做出明智的决策。
提供的两个英文版PDF文档可能包含了详细的协议规范、命令代码和实际操作指南。
通过阅读这些资料,你可以深入了解这两种协议的细节,从而更好地掌握如何利用它们来控制和管理你的视频监控系统。
对于那些熟悉英文的专业人士来说,这些文档是宝贵的参考资料。
如果需要中文版本,可能需要借助翻译工具或寻找已有的中文教程来辅助学习。
2025/6/19 9:27:18 32KB
1
STM32AD7606控制方法代码主要涉及了嵌入式系统中微控制器STM32与高精度模数转换器AD7606的交互技术。
STM32是基于ARMCortex-M内核的微控制器,广泛应用于各种嵌入式硬件设计中,而AD7606是一款16位、8通道同步采样模拟到数字转换器,常用于工业自动化、医疗设备和测试测量系统等需要高精度信号采集的场合。
在STM32与AD7606的通信中,一般采用SPI(SerialPeripheralInterface)或I2C接口。
SPI是一种高速、全双工、同步串行通信协议,适合短距离高速数据传输;
I2C则是一种多主机、双向两线制的总线协议,适合连接低速外设,但数据速率较低。
由于AD7606支持这两种通信模式,开发人员可以根据实际需求选择合适的接口。
1.**SPI配置**:需要在STM32的HAL库或LL库中初始化SPI接口,包括设置时钟源、时钟频率、数据帧格式、极性和相位等参数。
例如,可以配置SPI工作在主模式,数据从MISO引脚接收,MOSI引脚发送,通过NSS引脚实现片选。
2.**AD7606配置**:在初始化过程中,需要设置AD7606的工作模式,如单端或差分输入、增益、采样率等。
这些配置通常通过SPI或I2C发送特定的命令字节来完成。
3.**读写操作**:STM32通过SPI或I2C向AD7606发送读/写命令。
写操作可能涉及设置转换器的寄存器,比如配置采样率、启动转换等。
读操作则会获取转换后的数字结果。
在SPI中,通常需要在读写操作之间插入一个空时钟周期(dummybit)来正确同步数据的传输。
4.**中断处理**:在连续转换模式下,AD7606可能会生成中断请求,通知STM32新的转换结果已准备好。
STM32需要设置中断服务函数,处理中断请求并读取转换结果。
5.**数据处理**:读取的转换结果通常为二进制码,需要进行相应的转换,如左对齐或右对齐,然后根据AD7606的参考电压计算实际的模拟电压值。
6.**电源管理**:AD7606可能有低功耗模式,可以通过控制命令进入或退出。
在不需要转换时,关闭ADC以节省能源。
7.**错误检测**:程序中应包含错误检测机制,例如检查CRC校验或超时,以确保数据的完整性和系统的稳定性。
8.**代码实现**:在实际的代码实现中,可以使用HAL或LL库提供的函数进行硬件抽象,简化编程。
例如,`HAL_SPI_TransmitReceive()`函数可用于发送和接收SPI数据,`HAL_Delay()`用于控制延时,以及`HAL_ADC_Start()`和`HAL_ADC_PollForConversion()`用于启动转换和等待转换完成。
在项目中,开发者通常会创建一个AD7606的驱动库,封装上述操作,以方便其他模块调用。
这个驱动库可能包括初始化函数、配置函数、读取转换结果的函数等,使得系统设计更加模块化和易于维护。
通过理解这些知识点,并结合提供的AD7606压缩包中的代码,你可以实现STM32对AD7606的精确控制,从而进行高精度的模拟信号采集和处理。
2025/3/19 17:28:35 78KB stm32 arm 嵌入式硬件
1
图的应用,实现了求任意两城市间的最短距离以及全部路径,基于MFC实现。
2025/3/12 4:44:46 3.83MB C++;MFC
1
内含最短路径算法代码及实验报告。
本次实验要求利用MATLAB分别实现Dijkstra算法和Floyd算法,可对输入的邻接距离矩阵计算图中任意两点间的最短距离矩阵和路由矩阵,且能查询任意两点间的最短距离和路由。
2025/2/27 9:36:57 272KB 最短路径算法 Dijkstra算法 matlab
1
MATLAB语言常用算法程序集书中4-17章代码,都是一些常用的程序第4章:插值函数名功能Language求已知数据点的拉格朗日插值多项式Atken求已知数据点的艾特肯插值多项式Newton求已知数据点的均差形式的牛顿插值多项式Newtonforward求已知数据点的前向牛顿差分插值多项式Newtonback求已知数据点的后向牛顿差分插值多项式Gauss求已知数据点的高斯插值多项式Hermite求已知数据点的埃尔米特插值多项式SubHermite求已知数据点的分段三次埃尔米特插值多项式及其插值点处的值SecSample求已知数据点的二次样条插值多项式及其插值点处的值ThrSample1求已知数据点的第一类三次样条插值多项式及其插值点处的值ThrSample2求已知数据点的第二类三次样条插值多项式及其插值点处的值ThrSample3求已知数据点的第三类三次样条插值多项式及其插值点处的值BSample求已知数据点的第一类B样条的插值DCS用倒差商算法求已知数据点的有理分式形式的插值分式Neville用Neville算法求已知数据点的有理分式形式的插值分式FCZ用倒差商算法求已知数据点的有理分式形式的插值分式DL用双线性插值求已知点的插值DTL用二元三点拉格朗日插值求已知点的插值DH用分片双三次埃尔米特插值求插值点的z坐标第5章:函数逼近Chebyshev用切比雪夫多项式逼近已知函数Legendre用勒让德多项式逼近已知函数Pade用帕德形式的有理分式逼近已知函数lmz用列梅兹算法确定函数的最佳一致逼近多项式ZJPF求已知函数的最佳平方逼近多项式FZZ用傅立叶级数逼近已知的连续周期函数DFF离散周期数据点的傅立叶逼近SmartBJ用自适应分段线性法逼近已知函数SmartBJ用自适应样条逼近(第一类)已知函数multifit离散试验数据点的多项式曲线拟合LZXEC离散试验数据点的线性最小二乘拟合ZJZXEC离散试验数据点的正交多项式最小二乘拟合第6章:矩阵特征值计算Chapoly通过求矩阵特征多项式的根来求其特征值pmethod幂法求矩阵的主特征值及主特征向量rpmethod瑞利商加速幂法求对称矩阵的主特征值及主特征向量spmethod收缩法求矩阵全部特征值ipmethod收缩法求矩阵全部特征值dimethod位移逆幂法求矩阵离某个常数最近的特征值及其对应的特征向量qrtzQR基本算法求矩阵全部特征值hessqrtz海森伯格QR算法求矩阵全部特征值rqrtz瑞利商位移QR算法求矩阵全部特征值第7章:数值微分MidPoint中点公式求取导数ThreePoint三点法求函数的导数FivePoint五点法求函数的导数DiffBSample三次样条法求函数的导数SmartDF自适应法求函数的导数CISimpson辛普森数值微分法法求函数的导数Richason理查森外推算法求函数的导数ThreePoint2三点法求函数的二阶导数FourPoint2四点法求函数的二阶导数FivePoint2五点法求函数的二阶导数Diff2BSample三次样条法求函数的二阶导数第8章:数值积分CombineTraprl复合梯形公式求积分IntSimpson用辛普森系列公式求积分NewtonCotes用牛顿-科茨系列公式求积分IntGauss用高斯公式求积分IntGaussLada用高斯拉道公式求积分IntGaussLobato用高斯—洛巴托公式求积分IntSample用三次样条插值求积分IntPWC用抛物插值求积分IntGaussLager用高斯-拉盖尔公式求积分IntGaussHermite用高斯-埃尔米特公式求积分IntQBXF1求第一类切比雪夫积分IntQBXF2求第二类切比雪夫积分DblTraprl用梯形公式求重积分DblSimpson用辛普森公式求重积分IntDBGauss用高斯公式求重积分第9章:方程求根BenvliMAX贝努利法求按模最大实根BenvliMIN贝努利法求按模最小实根HalfInterval用二分法求方程的一个根hj用黄金分割法求方程的一个根StablePoint用不动点迭代法求方程的一个根AtkenStablePoint用艾肯特加速的不动点迭代法求方程的一个根StevenStablePoint用史蒂芬森加速的不动点迭代法求方程的一个根Secant用一般弦截法求方程的一个根SinleSecant用单点弦截法求方程的一个根DblSecant用双点弦截法求方程的一个根PallSecant用平行弦截法求方程的一个根ModifSecant用改进弦截法求方程的一个根StevenSecant用史蒂芬森法求方程的一个根PYZ用劈因子法求方程的一个二次因子Parabola用抛物线法求方程的一个根QBS用钱伯斯法求方程的一个根NewtonRoot用牛顿法求方程的一个根SimpleNewton用简化牛顿法求方程的一个根NewtonDown用牛顿下山法求方程的一个根YSNewton逐次压缩牛顿法求多项式的全部实根Union1用联合法1求方程的一个根TwoStep用两步迭代法求方程的一个根Montecarlo用蒙特卡洛法求方程的一个根MultiRoot求存在重根的方程的一个重根第10章:非线性方程组求解mulStablePoint用不动点迭代法求非线性方程组的一个根mulNewton用牛顿法法求非线性方程组的一个根mulDiscNewton用离散牛顿法法求非线性方程组的一个根mulMix用牛顿-雅可比迭代法求非线性方程组的一个根mulNewtonSOR用牛顿-SOR迭代法求非线性方程组的一个根mulDNewton用牛顿下山法求非线性方程组的一个根mulGXF1用两点割线法的第一种形式求非线性方程组的一个根mulGXF2用两点割线法的第二种形式求非线性方程组的一个根mulVNewton用拟牛顿法求非线性方程组的一组解mulRank1用对称秩1算法求非线性方程组的一个根mulDFP用D-F-P算法求非线性方程组的一组解mulBFS用B-F-S算法求非线性方程组的一个根mulNumYT用数值延拓法求非线性方程组的一组解DiffParam1用参数微分法中的欧拉法求非线性方程组的一组解DiffParam2用参数微分法中的中点积分法求非线性方程组的一组解mulFastDown用最速下降法求非线性方程组的一组解mulGSND用高斯牛顿法求非线性方程组的一组解mulConj用共轭梯度法求非线性方程组的一组解mulDamp用阻尼最小二乘法求非线性方程组的一组解第11章:解线性方程组的直接法SolveUpTriangle求上三角系数矩阵的线性方程组Ax=b的解GaussXQByOrder高斯顺序消去法求线性方程组Ax=b的解GaussXQLineMain高斯按列主元消去法求线性方程组Ax=b的解GaussXQAllMain高斯全主元消去法求线性方程组Ax=b的解GaussJordanXQ高斯-若当消去法求线性方程组Ax=b的解Crout克劳特分解法求线性方程组Ax=b的解Doolittle多利特勒分解法求线性方程组Ax=b的解SymPos1LL分解法求线性方程组Ax=b的解SymPos2LDL分解法求线性方程组Ax=b的解SymPos3改进的LDL分解法求线性方程组Ax=b的解followup追赶法求线性方程组Ax=b的解InvAddSide加边求逆法求线性方程组Ax=b的解Yesf叶尔索夫求逆法求线性方程组Ax=b的解qrxqQR分解法求线性方程组Ax=b的解第12章:解线性方程组的迭代法rs里查森迭代法求线性方程组Ax=b的解crs里查森参数迭代法求线性方程组Ax=b的解grs里查森迭代法求线性方程组Ax=b的解jacobi雅可比迭代法求线性方程组Ax=b的解gauseidel高斯-赛德尔迭代法求线性方程组Ax=b的解SOR超松弛迭代法求线性方程组Ax=b的解SSOR对称逐次超松弛迭代法求线性方程组Ax=b的解JOR雅可比超松弛迭代法求线性方程组Ax=b的解twostep两步迭代法求线性方程组Ax=b的解fastdown最速下降法求线性方程组Ax=b的解conjgrad共轭梯度法求线性方程组Ax=b的解preconjgrad预处理共轭梯度法求线性方程组Ax=b的解BJ块雅克比迭代法求线性方程组Ax=b的解BGS块高斯-赛德尔迭代法求线性方程组Ax=b的解BSOR块逐次超松弛迭代法求线性方程组Ax=b的解第13章:随机数生成PFQZ用平方取中法产生随机数列MixMOD用混合同余法产生随机数列MulMOD1用乘同余法1产生随机数列MulMOD2用乘同余法2产生随机数列PrimeMOD用素数模同余法产生随机数列PowerDist产生指数分布的随机数列LaplaceDist产生拉普拉斯分布的随机数列RelayDist产生瑞利分布的随机数列CauthyDist产生柯西分布的随机数列AELDist产生爱尔朗分布的随机数列GaussDist产生正态分布的随机数列WBDist产生韦伯西分布的随机数列PoisonDist产生泊松分布的随机数列BenuliDist产生贝努里分布的随机数列BGDist产生贝努里-高斯分布的随机数列TwoDist产生二项式分布的随机数列第14章:特殊函数计算gamafun用逼近法计算伽玛函数的值lngama用Lanczos算法计算伽玛函数的自然对数值Beta用伽玛函数计算贝塔函数的值gamap用逼近法计算不完全伽玛函数的值betap用逼近法计算不完全贝塔函数的值bessel用逼近法计算伽玛函数的值bessel2用逼近法计算第二类整数阶贝塞尔函数值besselm用逼近法计算变型的第一类整数阶贝塞尔函数值besselm2用逼近法计算变型的第二类整数阶贝塞尔函数值ErrFunc用高斯积分计算误差函数值SIx用高斯积分计算正弦积分值CIx用高斯积分计算余弦积分值EIx用高斯积分计算指数积分值EIx2用逼近法计算指数积分值Ellipint1用高斯积分计算第一类椭圆积分值Ellipint2用高斯积分计算第二类椭圆积分值第15章:常微分方程的初值问题DEEuler用欧拉法求一阶常微分方程的数值解DEimpEuler用隐式欧拉法求一阶常微分方程的数值解DEModifEuler用改进欧拉法求一阶常微分方程的数值解DELGKT2_mid用中点法求一阶常微分方程的数值解DELGKT2_suen用休恩法求一阶常微分方程的数值解DELGKT3_suen用休恩三阶法求一阶常微分方程的数值解DELGKT3_kuta用库塔三阶法求一阶常微分方程的数值解DELGKT4_lungkuta用经典龙格-库塔法求一阶常微分方程的数值解DELGKT4_jer用基尔法求一阶常微分方程的数值解DELGKT4_qt用变形龙格-库塔法求一阶常微分方程的数值解DELSBRK用罗赛布诺克半隐式法求一阶常微分方程的数值解DEMS用默森单步法求一阶常微分方程的数值解DEMiren用米尔恩法求一阶常微分方程的数值解DEYDS用亚当斯法求一阶常微分方程的数值解DEYCJZ_mid用中点-梯形预测校正法求一阶常微分方程的数值解DEYCJZ_adms用阿达姆斯预测校正法求一阶常微分方程的数值解DEYCJZ_adms2用密伦预测校正法求一阶常微分方程的数值解DEYCJZ_yds用亚当斯预测校正法求一阶常微分方程的数值解DEYCJZ_myds用修正的亚当斯预测校正法求一阶常微分方程的数值解DEYCJZ_hm用汉明预测校正法求一阶常微分方程的数值解DEWT用外推法求一阶常微分方程的数值解DEWT_glg用格拉格外推法求一阶常微分方程的数值解第16章:偏微分方程的数值解法peEllip5用五点差分格式解拉普拉斯方程peEllip5m用工字型差分格式解拉普拉斯方程peHypbYF用迎风格式解对流方程peHypbLax用拉克斯-弗里德里希斯格式解对流方程peHypbLaxW用拉克斯-温德洛夫格式解对流方程peHypbBW用比姆-沃明格式解对流方程peHypbRich用Richtmyer多步格式解对流方程peHypbMLW用拉克斯-温德洛夫多步格式解对流方程peHypbMC用MacCormack多步格式解对流方程peHypb2LF用拉克斯-弗里德里希斯格式解二维对流方程的初值问题peHypb2FL用拉克斯-弗里德里希斯格式解二维对流方程的初值问题peParabExp用显式格式解扩散方程的初值问题peParabTD用跳点格式解扩散方程的初值问题peParabImp用隐式格式解扩散方程的初边值问题peParabKN用克拉克-尼科尔森格式解扩散方程的初边值问题peParabWegImp用加权隐式格式解扩散方程的初边值问题peDKExp用指数型格式解对流扩散方程的初值问题peDKSam用萨马尔斯基格式解对流扩散方程的初值问题第17章:数据统计和分析MultiLineReg用线性回归法估计一个因变量与多个自变量之间的线性关系PolyReg用多项式回归法估计一个因变量与一个自变量之间的多项式关系CompPoly2Reg用二次完全式回归法估计一个因变量与两个自变量之间的关系CollectAnaly用最短距离算法的系统聚类对样本进行聚类DistgshAnalysis用Fisher两类判别法对样本进行分类MainAnalysis对样本进行主成分分析
2025/1/7 19:17:40 113KB matlab 算法 常用程序
1
一、课题名称:景区旅游信息管理系统二、课题来源:课程组自拟三、课题类型:综合型四、目的意义:1. 设计一个景区旅游信息管理系统,提高对图的创建、输出、最短路径算法和最小生成树构建算法的应用能力,掌握高级语言的编程方法2. 全面提高学生的程序设计、开发能力五、基本功能:1. 景区旅游信息管理系统中,首先通过遍历景点,给出一个入口景点,。
2. 可以设计景区的旅游景点,确定入口和出口景点3. 可以根据导游策略建立导游线路图并遍历景点4. 可以提供两个任意景点之间的最短路径及最短距离5. 可以通过求最小生成树对景区进行建设和规划六、基本要求:1.任意性:用户可任意设计景区旅游景点、图的存储结构及导游策略2.友好性:界面要友好,输入有提示,尽量展示人性化3.可读性:源程序代码清晰、有层次4.健壮性:用户输入非法数据时,系统要及时给出警告信息
2024/12/7 5:01:37 3KB 景区旅游信息系统
1
共 41 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡