基于Spring Boot的在线学习系统的设计与实现

基于Spring Boot的在线学习系统的设计与实现

摘 要

在线学习系统是以大学传统线下教学方式不适应信息技术的迅速发展为背景,提高学习效率,解决传统教学问题,并且高效的实现教学信息化的一款软件系统。为了更好的实现对于教学和学生的管理,在分析研究时借鉴了很多成熟的在线学习系统,总结出自己具有特色的系统软件,本系统设计开发是基于Spring Boot框架的在线学习系统,为了更高效的在线学习系统提供了有力的方案。
本系统主要是对于学校师生的传统教学方式进行了一个改变,改用在线教育,突破了传统教育的瓶颈,解决了师生线上沟通问题,减少了纸质作业的繁琐,本系统在自己和朋友的努力宣传下,成功地在学院内小范围上线和使用了一段时间,最后统计的结果深受好评,达到了本系统一开始想要的结果,系统中地功能模块性能良好,可以比较好地满足日常学习的需要。本系统的成果开发不仅提高了自身的开发水平,同时也提高了教学效率和学生的学习兴趣。

第 1 章 引言

1.1 研究背景与意义

1.1.1 研究背景

随着日常社会中网络技术的快速发展,网络技术在我们的日常的生活中使用得十分广泛,特别是学校中的网络技术应用得最为广泛,在疫情肆虐的年代,线下学习变得不在实际,只有在计算机网络中寻求更好的解决办法,不断地研究和试验,让基于计算机和网络技术的在线学习系统能够诞生,并且成为了现代和未来教学管理工作的发展趋势。
传统的线下教学方式在社会发展中已无法满足教学发展的要求,而基于计算机和网络技术的学习系统可以快速地提供大量的学习资源,没有了传统教学的空间限制,我们可以随时随地可以学习,在线学习系统在近些年来不断地磅礴发展,现在已经完全突破了传统的教学瓶颈,向更加智能化的系统进发。
本系统是基于Spring Boot框架的在线学习系统,利用该系统可以解决由于线下传统教学得不便。比如:本在线学习系统能让学生改变对传统教学的看法,学生可以通过本系统具有的功能,自己进行各种学习任务或者其他功体验;与此同时,本系统也可以让教师脱离线下去走访学生,直接在线上进行交流和了解情况,进而选择加强管理,学生还可以通过系统的作业功能模块,进行在线完成作业,省去了纸质作业的麻烦。

1.1.2 研究意义

在线学习的环境下使得教师对于学生的管理效率得到了有效的提升,改变了传统的线下教学的方式,全方位予以在线学习交流的平台,让全体师生的教学体验更舒心。
在线学习系统是由4大要素组成:
教学资料:学习中使用到的资料,例如网络课本、整理的资料等。
软件平台:提供一个通过网路终端可以直接使用的软件平台,进行在线学习和管理。
硬件设备:手机或者电脑等终端设备。
网络设备:家用网络或者公用网络等。
对于本系统来说,开发建立的过程就是利用现代化的信息平台,将传统教学拉到网络平台,在一定的设备前提下,将学习过程中的管理网络便捷化。
总之,在线学习系统的全方位信息化能够非常有效的提高教学效率,能够有效的丰富学习资源,在原有的传统教学环境下,在线学习系统将不收地区限制,将教学和管理网络信息化。

1.2 国内外研究现状

从全球上和国内来看,从某种角度来看,对于在线学习的研究内容是随着时间的推移互联网的发展和传统专业教学的发展而逐渐发展起来并受到大家的关注。自互联网在线学习出现以来,在线学习系统的发展开始备受关注和重视,成为许多大学追求的热点,在研究方面也取得了很大的成就。
白晓晶和韩锡斌教授在发布中表示到:随着社会不断发展,在线学习系统从传统的教学中不断发展到在线学习,借助了不断发展的网络技术,通过网络信息化平台实现了现有的在线学习系统,在未来的发展中,在线学习也定会是随着社会发展不断完善的。金志霄教授在《基于微服务架构的在线学习系统的设计与实现》中表示到:由于传统教学下时间、空间以及书本教育资源的限制,我国传统的教育学习方式显然无法满足学生的日常学习需求,而在线学习的方式能带来极大的便利,因此在线学习的方式最终无疑会成为师生的最好选择。
对于国外学习系统的现状,我通过查询资料,以未来学校为例,总结了该校对于在线学习的不断研究。未来学校对于英语教学形式的研究持续了接近20年,最终开发了discovering English等英语在线学习系统,可见对于教学形式改变和在线学习转变的决心。

1.3 研究目的与研究内容

研究开发过程中可能会遇到的问题,解决并完善自身系统,提高系统的可用性、安全性和发展性。
如何解决不完全相同角色的登录账号问题:查看组合角色如何排序得到如何在不完全相同角色的信息管理下操作管理员权限并显示不同的启动页面。
如何解决连接MySQL数据库的问题。数据库数据的相对稳定性和人身安全问题。
系统启动页的设计和制作不可或缺,让系统菜单有一个方便的方法,有一个漂亮的外观,提高更好的交互体验。
开发的系统的研究现状及存在问题的研究内容及具体分析。
系统中各个子模块的契合程度,集成局域网连接信息技术,维护局域网连接信息技术的人身安全问题。

1.4 研究方法和研究思路

1.4.1研究方法

研究方法的种类有,调查法、实例研究法、定量法、定性法、归纳法、演绎法、分析法、合成法、科学法、比较法,不仅要了解各个方法的定义,还应掌握它们分别适用的领域。本文主要是运用了调查法、比较法、实例研究法。
1.调查法
主要使用问卷调查法,通过间接书面访问的方式,达到调研的目的,我主要是在问卷网上进行发布问卷,邀请朋友、同学进行填写。
2.比较法:
比较法就是将相似事物放在一起进行比较,找出它们相同和不同点,并寻找个中原因,这个方法有利于理解包含不同研究对象的整个领域。我主要是搜集一些相关的系统资料,对比他们的优缺点、共同点。吸收好的东西进行自己利用。
3.实例研究法
实证研究是指提出研究的人独自搜寻相关资料和例子,为了自己提出的假设进行研究。大量搜集往年在线学习系统的优越的地方,进行吸收改进,总结出自己的系统。

1.4.2研究思路

本论文的研究思路如图所示。
在这里插入图片描述

第 2 章 相关理论以及技术简介

2.1 C/S和B/S的区别

C/S架构,即Client/Server(客户端/服务器)架构,总体来说是一个两层架构,客户端和服务端两层架构。将任务分离,一部分到客户端,一部分到服务端,例如客户端主要用于查询和展示信息给用户,服务端则是提供接口和服务给客户端,降低了单个软件系统的巨大开销。管理操作需要在客户端上进行。客户端通常是我们使用的手机,服务端则是电脑服务器,电脑服务器进行系统运行,手机端访问相应的网址或者域名进行使用服务器系统的各种功能。客户端和服务器的软件程序不同。从某种角度来说,客户端是能够被计算机用户看到的,如果没有则访问,而服务器一方面是对于计算机用户应该需要的数据库。能够查询数据,管理信息,计算机用户能够在客户端进行特定的网上银行业务。也很讲,这种研发比较容易,怎么操作也比较简单,但是客户端用上几个月后,调整优化和维护就比较难了。
B/S架构,即浏览器和服务器架构设计。是由三层结构制成的。三层体系结构中的核心是组件对象模型。它由相互分隔开的表示层(view)、业务层(service)和数据层(dao也叫持久层)构成。B/S系统相对于C/S系统,省去了安装客户端的空间,无需安装,只要拥有一台终端在Web浏览器上访问相应的网址即可使用;这样的架构下所有的功能都在服务器上,也就是一台电脑服务器上。极大的简化了客户端带来的开发难度,使用起来也更加的方便,维护也比较简单,通过服务器安装MySQL数据库可以进行数据的交互。

2.2 Spring Boot框架技术

Spring Boot是Pivotal团队开发的一个崭新的,与众不同的结构框架,比Spring结构框架更小的结构框架,目的是简化Spring相当复杂的配置。使用注解更加的简洁方便,当然他自己进行了统一配置,脱离以XML繁琐的配置方式转向了注解的形式,极大的节约了开发环境配置时间。有了更加放白内的注解开发的方式,Spring Boot在近几年来成为了开发市场和领域中具有主导地位的框架技术。

2.3 MySQL数据库

MySQL是目前最流行的关系型数据库之一,它的数据库数据量比较大,能够容纳比较大的数据库数据量。是目前能够选用的主流分布式数据库之一,也是一个不可或缺的数字化、智能化的分布式数据库恢复系统。它由瑞典官方公司MySQLAB开发,并随着时间的推移不断改进和提升。MySQL实现技术目前正属于Oracle公司。发布到网络上,我们可以自行下载使用,并且是免费的,无需购买。

第 3 章 需求分析

3.1 系统工作和目标

本系统是用于高校师生的学习交流系统,让“教”与“学”都便于信息化管理,脱离于传统方式去实现。
该系统的主要角色模块区分如下:
教师模块:管理学生信息、向管理员申请请假、向学生发起作业、打回不合格学生作业、批阅学生作业、上传课件、发起并参与话题讨论、查看学生作业完成情况、批量导出学生数据和在线师生交流等功能。
学生模块:具备完成在线作业、向老师发起打作业的请、创建今日讨论主题并可以发布讨论内容、下载网络学习课件和可通过网页进行在线实时交流等功能。
管理员模块:具备在校教师、在校学生身份信息管理、今日话题信息管理、一键导入在校学生、在校教师信息管理等功能。

3.2 业务流程分析

系统业务流程分析可以帮助开发过程中不定的业务需求,确定具体的业务流程和具体工作,更好的分析出不同要素之间的联系,让我们更好的理解不同功能模块之间的关系。
业务之间分析能够细化分析,逐步形成相对合理的业务,已然成为更加科学的业务管理。借助对现有网上学习系统业务的具体分析,重组组建本系统的业务,达到更合理的业务运作。

3.2.1 管理员业务分析

管理员登录之后能够方便的在后台管理相关系统信息,能够导入导出在校学生和在校教师的相关信息,管理话题讨论模块。对于教师的请假信息进行管理,可以批准和不批准,管理全局信息。

3.2.2 教师业务分析

在校教师成功登录系统之后进入教师模块,能够进行自定义信息操作。在线教师能够修改和删除在校学生的相关信息,对于相关学生的作业完成情况进行批改评分,还能够讨论话题,也可以在作业完成界面查看评分比重,同时也可以进行上传课件供在校学生下载学习。从某种角度来说,对于学校学生的相关信息,在校教师也能够导出自己相关学生的身份信息,自己也可以向系统管理员进行请假处理。

3.2.3 学生业务分析

学生成功登录系统之后进入学生模块,可进行选择自己想要的功能。在校学生能够完成自己教师布置的作业,也能够下载自己老师发布的教材资料进行学习,也可以参加话题讨论留下自己想说的话。在在线聊天室里也可以进行在线聊天,与教师和学生同时交流。

3.3 系统用例分析

3.3.1 管理员用例分析

管理员用例分析图用于描述管理员登录之后能进行的功能操作描述。管理员用例分析如图所示。
在这里插入图片描述

3.3.2 教师用例分析

教师用例分析图用于描述教师登录之后能进行的功能操作。教师用例分析如图所示。
在这里插入图片描述

3.3.3 学生用例分析

学生用例图用于描述学生登录之后能进行的功能操作。学生用例分析如图所示。
在这里插入图片描述

3.4 功能需求

功能需求是指开发阶段中系统所需要的所有功能模块需要全部开发出来,不是所有的功能都很强大,都是借助可行性分析得出的,最后应该对于具体情况选择的功能。
本在线学习系统所需设计实现的主要功能包括:
1.信息管理功能
信息管理功能一方面涵盖了不同角色的登录账号权限控制和不同角色的查询信息管理。
2.学习管理功能
学习信息管理功能,这意味着在校教师能够管理学生的学习能力信息,例如发布最新的学习任务,查询学校学生学习任务的能力进度,查询学校学生任务的完成情况和批准学生上传的老师布置的家庭作业并评分。
3.在线学习功能
在线学习功能是对于学生在系统中登录之后可以进行的网络学习,如下载课件学习、完成在线作业、请求打回重做等。
4.在线交流功能
在线交流主要是学生和教师之间、学生和学生之间、教师相互间的在线交流功能,比如参照结合WebSocket的实时聊天室、话题发布、话题讨论等,管理员还可以对于话题进行不良言论进行检查,可以进行删除操作。
5.邮箱验证功能
邮箱验证功能主要是用于本系统使用的用户忘记密码相关信息后,用户能够选用系统管理员邮箱返回并输入验证码来验证和重置自己的账号和密码。

3.5 非功能需求

1.界面美观性:指的是页面的整齐、美观程度,一个好的系统少不了页面的渲染,好的页面让使用者更加舒适,本检索系统的启动页背景是JavaScript和CSS渲染的动态背景,页面布局合理规范。
2.可扩展性:可扩展性是指一个系统的持续运行的前提下,由于不同用户的需求,系统需要改变或者增加功能模块,本身系统开发就是从零到有、逐渐完善的过程,扩展更多的功能,更能让该系统软件在在线系统的发展长河中站稳脚跟。
3.安全性:对于数据库的数据需要提供较为安全的环境,不能任何人都可以进行数据查询,这样会暴露系统,导致数据丢失。本系统设置了权限认证,未登录者无法进行数据操作,保证了系统的安全性。

第 4 章 系统设计

4.1 系统功能模块设计

系统功能模块设计如图所示。
在这里插入图片描述

4.2 管理员模块设计

管理员模块包括在校学生信息管理、在校教师信息管理、在线教师申请请假信息管理和敏感评论信息管理等模块。
学生管理:该自定义模块是信息管理的自定义模块,可以导出在校学生相关信息,对于学生信息管理,查询信息管理,删除信息管理,修改信息管理,完善信息管理。
教师管理:该自定义模块是对于在线教师相关信息的导出、查询、删除、修改等功能。
教师请假管理:此自定义模块供在校教师向系统管理员征求批复请假请求,管理员进行审批,总体来说需要要得到管理员的批准才能请假。
兴趣话题信息管理:这个自定义模块从某种角度来说,就是今天话题的信息管理。管理员能够查询和删除讨论主题,以防止不良和不负责任的评论。

4.3 教师模块设计

教师模块包括子模块:学生信息管理、请假信息管理、今日话题信息管理、课件信息管理、作业信息管理模块。
学生管理:该自定义模块是信息管理的自定义模块,可以导出在校学生相关信息,对于学生信息管理,查询信息管理,删除信息管理,修改信息管理,完善信息管理。
请假管理:此自定义模块供在校教师向系统管理员征求批复请假请求。需要要得到管理员的批准才能请假。
教师布置作业信息管理:该模块是教师定制的模块,用于管理本校学生的布置作业信息、查询作业完成信息管理、固定信息管理、学生完成作业情况信息和管理等
网络课件信息管理:此模块适用于教师。从某种角度来说,明白如何操作课件相关信息,如学习课件上传、删除、下载,是比较符合的。
今日话题:该模块是在校师生的话题聊天模块,教师可以进行发起话题,也可以进行在话题中进行交流。
在线聊天:该模块提供了在校师生的实时在线聊天环境,可以进行私聊,也可以进行广播发送。

4.4 学生模块设计

学生模块包括子模块:这里有课件、该做作业了、在线聊天、今日话题等模块。
作业完成模块:此自定义模块是对于在校学生的作业模块。从某种意义上说,这是一个对于教师发布的教师布置作业的完成模块。在校学生可通过完成教师布置的作业,完成后能够提交给教师,完成之后同事也可以向教师进行申请打回重做。
这里有课件:该模块是学生对教师上传的课件进行下载和查看的一个模块。
在线聊天:该模块提供了在校师生的实时在线聊天环境,可以进行私聊,也可以进行广播发送。
今日话题:该模块是在校师生的话题聊天模块,教师可以进行发起话题,也可以进行在话题中进行交流。

4.5 数据库设计

4.5.1 数据库概述

所谓数据库是指:以同一种方式将相同格式并且相互有关联的数据联系在一起,存放在计算机硬盘上的,可以被多个用户之间共享数据信息。
数据库是按照一致的数据构成和对应来联系、存放和操作数据的一个文件仓库,简单来说就是一个储物柜,不过是脱离了实物,变成了电子的,并且基于计算机,还可以对数据库文件里面的数据进行增、删、改和查操作。

4.5.2 数据库概念模型设计

一般来说,在系统数据库的开发、设计和制作中,都会用到E-R图来分析数据结构和算法。E-R图由实体、属性和直接联系三部分组成,它能够表示实体相互间的直接联系以及实体之间的相关数据。
本网络在线学习系统涉及的实体和属性相互间的关系:
(1)管理员
属性包括:姓名、工号和密码。
(2)课件
属性包括:教师姓名、工号、课件名、上传时间、上传地址名。
(3)讨论
属性包括:讨论人名、讨论内容、发布时间、话题id。
(4)作业
属性包括:作业名、作业内容、发布时间、教师工号。
(5)作业完成
属性包括:学生姓名、学号、完成内容、优良程度、作业id、完成次数。
(6)请假
属性包括:请假人名、请假时间、批复结果。
(7)学生
属性包括:姓名、密码、学号、年龄、教师姓名。
(8)师
属性包括:姓名、密码、工号、年龄。
(9)话题
属性包括:话题名、话题内容、发布时间。
主要的实体之间关系图(E-R图)如图所示。
在这里插入图片描述

4.5.3 数据库表设计

本学习系统数据库的表设计如下列表格。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第 5 章 系统实现

第 6 章 系统测试

6.1 测试目的

系统要想达到完善的效果,就一定要保证系统的设计和生产研发的质量和可靠性。系统的测试是重中之重,无法识别系统开发、设计和生产过程中可能存在的严重缺陷和错误。
借助系统测试,能够验证一个恢复系统是否得以满足用户的使用习惯和需求。通过验证测试,检索系统前后端交互是否正常,直接连接数据库对数据库进行存取、编辑、删除、插入等操作是否正常。

6.2 测试流程及结果

系统测试的主要内容包括:
(一)稳定性测试:指满足用户需求的组合,由软件测试工程师对系统进行还原,看系统是否能正常工作,满足用户需求的具体要求,软硬件功能是否正常很强大。正确与否与系统的质量密切相关妨碍系统质量的最重要因素是软硬件稳定性测试是否合理正确,一定要认真完成,在系统测试中排名第一。
(二)性能测试:借助自动化运维工具,对系统在各种正常条件下、最高峰值和非常特定的负载电流条件下的各项主要性能指标进行测试。稳定性测试、压力测试和实际容量测试都是性能测试,在整个系统中,压力测试是在同时进行的。
(三)界面测试:也叫前端界面UI测试,目的是检查系统界面的样式类型是否能满足一般客户的特定要求,是否能够通用,文本工具是否能够正常,打开的页面能不能漂亮,文字和图片工具的结合能不能完美,操作能不能更合理等等。

6.2.1 功能测试

功能测试有很多具体的方法。以下是一些经常选用的具体方法:
判定表,一方面是考虑输入应当需要什么条件以及输入应当需要什么条件相互间的联系的各种组合的测试。
因果图,因果图是参照输入与输入相互间的直接因果关系、输入与输出相互间的直接因果关系、输出与输出相互间的联系而得到的直接因果图。
业务流程图,一方面参照结合工具软件业务操作进行测试,一方面是业务操作,另一方面是核心业务操作。
一般来说,对软件功能进行测试的时候,会先使用等价类、边界值测试;其次使用错误推测法,在测试过程中对未测试地方进行补充;判定表跟因果图用于输入输出比较复杂的情况;而业务流程图可在测试过程中始终贯穿。
选择方法后根据系统的功能模块的实现进行功能测试,编写功能测试用例,并且根据测试用例进行功能测试。举登录用例——登录时可从等价类划分法进行验证:
其余功能可根据上述方法进行相应测试,测试结果通过。

6.2.2 系统功能测试表

管理员功能测试表如下。
在这里插入图片描述

6.2.3 性能测试

这种性能测试可以借助压力测试的方式来体现。压力测试的目的是模拟系统计算机用户在计算和选择预订管理系统软件的具体过程中系统负载电流。如果他不知道是否长时间运行程序测试工具软件或超载,一方面测试恢复系统的质量和性能、稳定性和可靠性,通过采用性能测试工具Jmeter模拟并发计算机用户来对代理平台进行压力测试,评估其数据处理能力的整体质量和性能。
该测试所涉及到的指数如下:
1.并发用户数(发出请求数量):模拟同时发送登录请求的用户数。
2.90%用户的响应时间:数据升序排列,就是排列在第90%的值。
3.吞吐量QPS(TPS):默认情况下标示每秒完成的请求数,请求数正常的情况下,吞吐量越高说明性能越好。
4.事件异常率:进行事件时发生异常占总事件数的比率。
5.此处以高并发用户登录进行测试,下列分别以并发数为100、1000、10000,持续时间为5秒钟进行测试,结果如下。
在这里插入图片描述
从表中可以观察到当10000用户量同时登录时,90%用户的响应时间未超过一秒,且事件异常率只有1.02%,说明整个管理系统的抗压能力还是十分可观的。

第 7 章 总结与展望

本文是以面向对象的方法对在线学习系统进行分析,前期对于网络学习的网络调研,进行系统需求分析,并不断完善系统的功能性需求,使得系统的整体开发有一个明确的方向,在后期的代码开发有了较好的指路作用。
在线学习系统的研发几乎满足了在校教师和在校学生用户的需求,在最本质的角度上看来满足了教师的日常教育教学管理,满足教师日常的学生管理、作业管理、课件管理等一系列功能,也满足了学生的在线作业、课件下载等一系列功能。进行功能拓展是本系统下一步重点研究方向,为了使系统更加的完善,定将即使和持续的改进,争取实现一个不断适应网络发展和社会发展的在线学习系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/781179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

词令外卖节红包天天神券每天领取直达入口

词令外卖节红包天天领直达入口 1、打开「词令」关键词口令直达微信小程序; 2、输入词令「外卖红包88」关键词直达口令; 3、搜索直达进入外卖红包天天领入口,即可成功领取外卖节红包和天天神券点外卖可享受券后价优惠; *温馨提醒&…

HTML5通过api实现拖放效果 dataTransfer对象

dataTransfer对象 说明:dataTransfer对象用于从被拖动元素向放置目标传递字符串数据。因为这个对象是 event 的属性,所以在拖放事件的事件处理程序外部无法访问 dataTransfer。在事件处理程序内部,可以使用这个对象的属性和方法实现拖放功能…

无药可医还能怎么办?越没本事的人,越喜欢从别人身上找原因!——早读(逆天打工人爬取热门微信文章解读)

无药可医的病该怎么办呢? 引言Python 代码第一篇 洞见 《骆驼祥子》:越没本事的人,越喜欢从别人身上找原因第二篇 人民日报 来啦 新闻早班车要闻社会政策 结尾 “吾日三省吾身,而后深知自助者天助之。” 在人生的迷宫中 遭遇困境时…

uniapp-打包IOS的APP流程

打包前所需配置 在manifest文件内配置 1. APP图标 2. 启动界面 有三种启动界面配置 第一种是 HBuilderX 官方给的通用启动界面,页面单一,屏幕中间就一个圆框图标 第二种是自定义的启动图,无法通过AppStore的审核 第三种是自定义storyboard启动…

论文研读:Transformers Make Strong Encoders for Medical Image Segmentation

论文:TransUNet:Transformers Make Strong Encoders for Medical Image Segmentation 目录 Abstract Introduction Related Works 各种研究试图将自注意机制集成到CNN中。 Transformer Method Transformer as Encoder 图像序列化 Patch Embed…

特殊数据类型

目录 记录类型 定义一个记录类型 myrecord_type,用于存储 emp 数据表中的员工姓名和职务 %TYPE 类型 定义一个变量,存储数据表 emp 中编号为 7369 的员工姓名,并且显示出结果 %ROWTYPE 类型 声明一个用于存储 emp 数据表中每行记录的变…

【力扣hot100】160.相交链表

相交链表 给你两个单链表的头节点 headA和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回…

牛客练习赛123 A~C

A.炸鸡块哥哥的粉丝题 输出字符串的前 ⌈ n 2 ⌉ \lceil \frac{n}{2} \rceil ⌈2n​⌉ 个字符 void solve() {int n;string s;cin >> n >> s;cout << s.substr(0, (n 1) / 2); }B.智乃想考一道鸽巢原理 当小球总个数为奇数时&#xff0c;贪心的留下 1 个…

天梯算法Day3整理

浮点数解析 炸鱼题掠过 冲突值 题面 解析 方法一 —— 并查集 按照边值排序&#xff0c;然后按边值从大到小遍历&#xff0c;通过并查集判断能否将所有点无冲突地归于两个集合。在判断时&#xff0c;若有两个点不得不产生冲突&#xff0c;则输出这两个点之间的边值并结束。…

LeetCode Python - 81. 搜索旋转排序数组 II

目录 题目描述解法运行结果 题目描述 已知存在一个按非降序排列的整数数组 nums &#xff0c;数组中的值不必互不相同。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转 &#xff0c;使数组变为 […

好用还平价的挂耳式耳机有哪些?五款超平价品牌测评推荐

在数字化时代&#xff0c;耳机已经成为我们日常生活中不可或缺的一部分。而开放式耳机作为一种新兴趋势&#xff0c;以其独有的开放性设计和卓越的音质表现&#xff0c;正在悄然改变着人们的听音习惯。不同于传统的耳机产品&#xff0c;开放式耳机让音乐与外界环境相得益彰&…

我暂停了我的博士学位,尝试了一些不同的东西,然后带着一个新的视角回来了

警报在我耳边响起。静音后&#xff0c;我躺在床上&#xff0c;盯着天花板又看了30分钟。我继续攻读博士学位的动力正在减弱&#xff0c;这使得我越来越难以站起来&#xff0c;面对每一个新的疲惫的日子。我意识到&#xff0c;在我的计划剩下的 2 年里继续奋斗将冒着完全倦怠和崩…

4.C#对接微信Native支付(调用支付下单生成二维码接口)

在完成了前边几篇文章的操作后&#xff0c;我们接下来需要写实际的业务接口。调用微信的native下单接口。 手先看下官网的api文档&#xff0c;https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml 大概的流程是&#xff1a;商户后台系统先调用微信支付的Nativ…

Matlab与数学计算

原文地址&#xff1a;Matlab与数学计算 - Pleasure的博客 下面是正文内容&#xff1a; 前言 这是一篇笔记。主要用于介绍MatLab的作用以及其作为数学工具的使用方法。 目的是总结学校课件复习自用&#xff0c;但是不可能像相关的书籍那么系统全面&#xff0c;力求简单明了。都…

pygame用自带函数绘制三角形 计算重心坐标

三角形重心坐标公式 三角形重心的坐标可以通过其三个顶点的坐标计算得出&#xff0c;公式为((X1X2X3)/3,(Y1Y2Y3)/3)。12 这是因为在平面直角坐标系中&#xff0c;重心的坐标是顶点坐标的算术平均数 中间黑点是重心坐标 import pygame from pygame.locals import * import sy…

scanf/fscanf/sscanf和printf/fprintf/sprintf的使用和对比

一&#xff1a;函数的对比 scanf&#xff1a;从标准输入流中读取格式化数据&#xff08;通常是键盘&#xff09; printf&#xff1a;将格式化数据输出到标准输出流&#xff08;通常是屏幕&#xff09; fscanf&#xff1a;适用于所有输入流的格式化输入函数&#xff08;一般从…

网络安全入门 5 天速成教程_ WEB 安全渗透攻防技术

前言 随着 Web 技术发展越来越成熟&#xff0c;而非 Web 服务越来越少的暴露在互联网上&#xff0c;现在互联网安全主要指的是 Web 安全。 为了自身不“裸奔”在大数据里&#xff0c;渐渐开始学习 Web 安全&#xff0c;在学习 Web 安全的过程中&#xff0c;发现很大一部分知识…

Codeforces Round 838 (Div. 2) D. GCD Queries

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…

实验室开放项目实验报告-01

实验室开放项目实验报告 实验名称&#xff1a;实验一输入输出格式 实验目的&#xff1a;熟练掌握程序设计竞赛中通常采用的输入输出格式和掌握不同格式输入输出数据的处理方法 实验内容&#xff1a; 在本地电脑中新建一个文件夹&#xff0c;用于存放C源程序&#xff0c;文件…

【进程OI】基本文件操作的系统调用

文章目录 前言open参数flags参数mode writereadclose 前言 当用户想要向磁盘中的文件读写数据&#xff0c;就必须要得到操作系统的允许。同样&#xff0c;操作系统为了能让用户去对文件进行打开、读写、关闭等操作&#xff0c;向上提供了相应的系统调用的接口。C、JAVA、C等语…