nwbwmc
得路EntryComponentstruct Register {/*初始化函数 中设置全铺整个屏幕*/aboutToAppear(): void {window.getLastWindow(getContext(),(error,win){win.setWindowLayoutFullScreen(true)})}/*构造界面*/build() {/*添加列*/Column(){/*添加Stack组件*/Stack(){/*添加列*/Column(){}/*设置列的样式*/.width(350).height(600).backgroundColor(Color.Gray)/*设置列的背景颜色*/.opacity(0.6)/*设置列的透明度*/.borderRadius(20)/*添加列组织表单组件*/Column(){/*添加标题*/Text(REGISTER).fontSize(30)/*设置标题大小*/.fontColor(Color.White)/*设置标题颜色*//*用户姓名*/this.builderTextInput(用户姓名:, , )/*用户密码*/this.builderTextInput(用户密码:, , password)/*确认密码*/this.builderTextInput(确认密码:, , password)/*添加行*/Row({space: 10}){/*用户类型*/Text(用户类型:).fontSize(20)/*设置标题大小*/.fontColor(Color.White)/*设置标题颜色*//*添加下拉列表*/Select([{value: 普通用户},{ value: 管理员}]).width(140).height(35).value(请选择).fontColor(Color.White)/*设置下拉列表的文字颜色*/.backgroundColor(#abcdef)/*设置下拉列表的背景颜色*/.borderRadius(10)/*设置下拉列表的圆角*/.opacity(0.6)/*设置下拉列表的透明度*/}/*设置行的样式*/.height(50)/*添加行*/Row({space: 12}){/*用户性别*/Text(用户性别:).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)/*单选按钮*/Radio({value: 男,group: sex}).borderRadius(10)/*设置单选按钮的圆角*/.backgroundColor(#abcdef).opacity(0.6)/*设置单选按钮的透明度*//*添加文本*/Text(男).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)/*添加单选按钮*/Radio({value: 女,group: sex}).borderRadius(10)/*设置单选按钮的圆角*/.backgroundColor(#abcdef).opacity(0.6)/*设置单选按钮的透明度*//*添加文本*/Text(女).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)}/*设置行的样式*/.height(50)/*出生日期*/this.builderTextInput(出生日期:, 年/月/日, )/*添加行 兴趣爱好*/Row({space: 1}){/*添加文本*/Text(兴趣爱好:).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)/*添加多选按钮*/Checkbox().borderRadius(10)/*设置多选按钮的圆角*/.backgroundColor(#abcdef).opacity(0.6)/*设置多选按钮的透明度*//*添加文本*/Text(编程).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)/*添加多选按钮*/Checkbox().borderRadius(10)/*设置多选按钮的圆角*/.backgroundColor(#abcdef).opacity(0.6)/*设置多选按钮的透明度*//*添加文本*/Text(游戏).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)}/*设置行的样式*/.height(50)/*电子邮件*/this.builderTextInput(电子邮件:, , )/*添加行 自我简介*/Row({space: 10}){/*添加文本*/Text(自我简介:).fontColor(Color.White)/*设置标题颜色*/.fontSize(20)/*添加文本域*/TextArea().backgroundColor(#abcdef).borderRadius(10)/*设置文本域的圆角*/.opacity(0.6)/*设置文本域的透明度*/.width(40%)/*设置文本域的宽度*/.height(100)/*设置文本域的高度*/}/*添加行 */Row({space: 20}){/*添加提交按钮*/Button(提交).backgroundColor(#ff0567c3)/*设置按钮的背景颜色*/.borderRadius(10)/*设置按钮的圆角*/.opacity(0.6)/*设置按钮的透明度*/.width(80)/*设置按钮的宽度*/.height(40)/*设置按钮的高度*//*添加提交按钮*/Button(重置).backgroundColor(#ff0567c3)/*设置按钮的背景颜色*/.borderRadius(10)/*设置按钮的圆角*/.opacity(0.6)/*设置按钮的透明度*/.width(80)/*设置按钮的宽度*/.height(40)/*设置按钮的高度*/}/*设置行的样式*/.height(50)}/*设置列的样式*/.width(350).height(600).justifyContent(FlexAlign.Center)/*设置列的居中*/}/*设置Stack的样式*/.width(100%).height(100%)}/*设置列的样式*/.width(100%).height(100%).backgroundImage($r(app.media.bj4))/*设置列的背景图片*/.backgroundImageSize({width: 100%, height: 100%})}/*** 创建函数用来构造输入框类型* param name 名称* param placeholder 提示* param type 文本框 类型*/BuilderbuilderTextInput(name: string, placeholder: string,type: string){/*添加行*/Row({space: 10}){/*添加文本*/Text(name).fontSize(20).fontColor(Color.White)/*添加文本框*/TextInput({placeholder: placeholder}).type(password type? InputType.Password:InputType.Normal).backgroundColor(#abcdef)/*设置文本框的背景颜色*/.borderRadius(10)/*设置文本框的圆角*/.width(40%)/*设置文本框的宽度*/.opacity(0.6)/*设置文本框的透明度*/}/*设置行的样式*/.height(50)}}背景切换/*** Description: 微信主页面* Author: khc* Date: 2026/3/30 9:15* Version: 1.0*/EntryComponentstruct Home{/*创建变量用来获取点击选项时选项的索引值*/State selectedIndex: number 0/*构造界面*/build() {/*添加列*/Column(){/*添加选项卡组件 1: barPosition: BarPosition.End在底部显示 index:指定默认选中的选项 指定选项的索引*/Tabs({barPosition: BarPosition.End,index: this.selectedIndex}){/*-----------------------------------微信*/TabContent(){/*添加列*/Column(){}/*设置列的样式*/.width(100%).height(100%).background(Color.Red)}/*设置选项的标题*///.tabBar(微信).tabBar(this.builderTabBar(0,微信,$r(app.media.wechat1),$r(app.media.wechat2)))/*------------------------------------通讯录*/TabContent(){}/*设置选项的标题*///.tabBar(通讯录).tabBar(this.builderTabBar(1,通讯录,$r(app.media.contacts1),$r(app.media.contacts2)))/*------------------------------------------发现*/TabContent(){}/*设置选项的标题*///.tabBar(发现).tabBar(this.builderTabBar(2,发现,$r(app.media.find1),$r(app.media.find2)))/*------------------------------------------我*/TabContent(){}/*设置选项的标题*///.tabBar(我).tabBar(this.builderTabBar(3,我,$r(app.media.me1),$r(app.media.me2)))}/*设置Tabs的样式*/.onChange((index: number){/*index就是选中的选项的索引值*//*把选中的选项的索引值设置给selectedIndex变量*/this.selectedIndex index})}/*设置列的样式*/.width(100%)/*设置列的宽度*/.height(100%)/*设置列的高度*/}/*** 创建选项中的内容* param index 选项的索引* param title 标题* param icon 默认的图片* param selectedIcon 选中之后显示的图片*/BuilderbuilderTabBar(index: number,title: string ,icon: Resource,selectedIcon: Resource){/*添加列*/Column(){/*添加图片*/Image(this.selectedIndex index?selectedIcon:icon).width(30).height(30)/*添加标题*/Text(title).fontColor(this.selectedIndex index?Color.Green:)}/*设置列的样式*/.width(100%)/*设置列的宽度*/.height(70%)/*设置列的高度*/}}二维码生成/*** Description: 二维码* Author: khc* Date: 2026/3/31 10:20* Version: 1.0*/EntryComponentstruct QrcodeTest {/*创建变量用来设置二维编码的宽度*/State qrcodeWidth: number 200/*定义变量用来设置二维编码的颜色*/State qrcodeColor: Color Color.Black/*创建变量用来设置二维编码生成的内容*/State qrcodeContent: string /*创建变量用来设置二维编码的最小宽度*/State qrcodeMinWidth: number 50/*创建变量用来设置二维编码的最大宽度*/State qrcodeMaxWidth: number 300/*构造界面*/build() {/*添加列*/Column() {/*添加Stack布局*/Stack() {/*添加二维码组件*/QRCode(this.qrcodeContent).width(this.qrcodeWidth)/*设置二维码组件的宽度*/.height(this.qrcodeWidth)/*设置二维码组件的高度*/.color(this.qrcodeColor) /*设置二维码组件的颜色*//*添加logo图片*/Image($r(app.media.startIcon)).width(this.qrcodeWidth / 4) /*设置logo图片的宽度*/} /*设置Stack组件的样式*/.width(100%) /*设置Stack组件的宽度*/.height(50%) /*设置Stack组件的高度*//*添加行 用来设置二维编码的大小*/Row() {/*添加文本*/Text(大小:)/*添加滑块组件*/Slider({min: 0, /*最小*/max: 100, /*最大值*/step: 1, /*步长*/value: (this.qrcodeWidth - this.qrcodeMinWidth) / (this.qrcodeMaxWidth - this.qrcodeMinWidth) * 100 /*默认值*/})/*设置滑块的样式*/.width(70%)/*设置滑块组件的宽度*/.onChange((value: number) { /*value滑块的值*//*设置二维码组件的宽度*/this.qrcodeWidth this.qrcodeMinWidth (this.qrcodeMaxWidth - this.qrcodeMinWidth) * value / 100})}/*添加行用来设置二维编码的颜色*/Row({ space: 10 }) {/*添加文本*/Text(颜色:)/*添加一组颜色按钮*/this.createColorButton(Color.Red) /*添加红色按钮*/this.createColorButton(Color.Green) /*添加绿色按钮*/this.createColorButton(Color.Blue) /*添加蓝色按钮*/this.createColorButton(Color.Yellow) /*添加黄色按钮*/this.createColorButton(Color.Black) /*添加黑色按钮*/}/*添加列用来生成二维编码的内容*/Column(){/*添加文本*/Text(输入二维码的生成内容).fontSize(20).fontWeight(FontWeight.Bold)/*添加文本域*/TextArea({placeholder: 请输入......}).width(70%)/*设置文本域的宽度*/.height(180)/*设置文本域的高度*/.foregroundColor(Color.Black)/*设置文本域的前景色*/.backgroundColor(Color.Gray)/*设置文本域的背景颜色*/.onChange((value){this.qrcodeContent value/*设置二维码组件的内容*/})}} /*设置列的样式*/.width(100%).height(100%)}/*创建函数用来生成颜色按钮*/BuildercreateColorButton(color: Color) {/*添加按钮*/Button().width(30)/*设置按钮的宽度*/.height(40)/*设置按钮的高度*/.borderRadius(15)/*设置按钮的圆角*/.backgroundColor(color)/*设置按钮的背景颜色*/.onClick((){this.qrcodeColor color/*设置二维码组件的颜色*/})}}计算器/*** Description: 计算器* Author: khc* Date: 2026/3/31 8:55* Version: 1.0*/EntryComponentstruct Calculator {/*创建数组用来设置计算器按钮上显示的内容*/private buttonTexts [AC, del,/-, ÷,7, 8, 9, *,4, 5, 6, -,1, 2, 3, ,%,0, ., ,]/*构造界面*/build() {/*添加列*/Column(){/*-----------------------------------添加第一列 上面空白部分*/Column(){}/*设置列的样式*/.width(100%).height(10%)/*-------------------------------------------------------------------添加第二列 输入框*/Column(){/*添加文本框用来输入计算*/TextInput().fontSize(70)/*设置字体大小*/.height(80%)/*设置文本框高度*/.textAlign(TextAlign.End)/*输入显示在右边*/.backgroundColor(Color.White)}/*设置列的样式*/.width(100%).height(35%).backgroundColor(Color.White)/*-----------------------------------------------------添加第三列 显示计算器按钮*/Column(){/*添加网格组件 */Grid(){/*循环创建计算器的按钮同时设置按钮上显示的内容*/ForEach(this.buttonTexts,(item: string,index){/*添加网格项*/GridItem(){/*添加按钮*/Button(item).width(100%)/*设置按钮宽度*/.height(100%)/*设置按钮高度*/.fontSize(30)/*设置按钮的字体大小*/.borderRadius(50)/*设置按钮的圆角*/.backgroundColor(this.setButtonBackgroundColor(item))/*设置按钮的背景颜色*/.fontColor(this.setButtonFontColor(item))/*设置按钮的字体颜色*/}})}/*设置网格组件的样式*/.columnsTemplate(1fr 1fr 1fr 1fr)/*四列*/.rowsTemplate(1fr 1fr 1fr 1fr 1fr)/*五行*/.rowsGap(10)/*设置行间距*/.columnsGap(10)/*设置列间距*/}/*设置列的样式*/.width(95%).height(55%).margin(10)/*设置列外边距*/}/*设置列的样式*/.width(100%).height(100%)}/*创建函数用来设置按钮的背景颜色*/setButtonBackgroundColor(item: string){/*分支判断*/switch (item){case :case -:case *:case ÷:return #ffdeccbecase :return #ffde0a0adefault:return #ededed}}/*创建函数用来设置按钮上显示的内容的颜色*/setButtonFontColor(item: string){switch (item){case :case -:case *:case ÷:case AC:case del:case /-:return #ffe00606case :return #ffffffdefault:return #000000}}}某在线留言板系统数据流图及元素分析某在线留言板系统允许用户提交留言并对留言内容进行审核后展示。请画出该系统的数据流图并指出其包含的元素及其作用。数据流图元素及其作用用户A外部实体代表使用在线留言板系统的用户可以提交留言和浏览留言。留言提交系统B处理过程用户通过此系统提交他们的留言。留言数据库C数据存储用于存储用户提交的留言内容等待审核。留言审核系统D处理过程系统或管理员对提交的留言进行审核。留言展示系统E处理过程负责展示审核通过的留言内容给用户。数据流动关系答案1选择排序的基本思想选择排序是一种简单直观的排序算法。其基本思想是每一轮从待排序的数据元素中选出最小或最大的一个元素存放在序列的起始位置直到全部待排序的数据元素排完。具体步骤如下2对给定序列 (10, 2, 7, 1, 9, 5, 4, 8, 6, 3) 进行选择排序的过程如下用户提交留言用户A通过留言提交系统B提交留言留言内容被存储在留言数据库C。审核留言留言审核系统D从留言数据库C请求审核留言审核结果返回到留言数据库C。展示留言留言展示系统E从留言数据库C检索并展示审核通过的留言内容。用户浏览留言用户A通过留言展示系统E浏览已审核的留言。选择排序法应用及过程描述对序列 (10, 2, 7, 1, 9, 5, 4, 8, 6, 3) 使用选择排序法进行排序。请描述选择排序的基本思想。写出排序过程中每一趟选择后的序列。首先在未排序序列中找到最小大元素存放到排序序列的起始位置。然后再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。以此类推直到所有元素均排序完毕。第一趟从初始序列中找到最小元素 1将其与第一个元素 10 交换位置得到序列 (1, 2, 7, 10, 9, 5, 4, 8, 6, 3)。第二趟从剩余序列 (2, 7, 10, 9, 5, 4, 8, 6, 3) 中找到最小元素 2由于它已经在正确位置序列不变仍为 (1, 2, 7, 10, 9, 5, 4, 8, 6, 3)。第三趟从剩余序列 (7, 10, 9, 5, 4, 8, 6, 3) 中找到最小元素 3将其与第三个元素 7 交换位置得到序列 (1, 2, 3, 10, 9, 5, 4, 8, 6, 7)。第四趟从剩余序列 (10, 9, 5, 4, 8, 6, 7) 中找到最小元素 4将其与第四个元素 10 交换位置得到序列 (1, 2, 3, 4, 9, 5, 10, 8, 6, 7)。第五趟从剩余序列 (9, 5, 10, 8, 6, 7) 中找到最小元素 5将其与第五个元素 9 交换位置得到序列 (1, 2, 3, 4, 5, 9, 10, 8, 6, 7)。第六趟从剩余序列 (9, 10, 8, 6, 7) 中找到最小元素 6将其与第六个元素 9 交换位置得到序列 (1, 2, 3, 4, 5, 6, 10, 8, 9, 7)。第七趟从剩余序列 (10, 8, 9, 7) 中找到最小元素 7将其与第七个元素 9 交换位置得到序列 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)。第八趟从剩余序列 (8, 9, 10) 中找到最小元素 8将其与第八个元素 9 交换位置得到序列 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)。第九趟从剩余序列 (9, 10) 中找到最小元素 9序列不变仍为 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)。第十趟剩余最后一个元素 10序列已完全排序为 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)。