得路

@Entry
@Component
struct 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  文本框 类型
   */
  @Builder
  builderTextInput(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/31 8:55
 * @Version: 1.0
 */
@Entry
@Component
struct 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 '#ffdeccbe'
      case '=':
        return '#ffde0a0a'
      default:
        return '#ededed'
    }
  }
  /*创建函数,用来设置按钮上显示的内容的颜色*/
  setButtonFontColor(item: string){
    switch (item){
      case '+':
      case '-':
      case '*':
      case '÷':
      case 'AC':
      case 'del':
      case '+/-':
        return '#ffe00606'
      case '=':
        return '#ffffff'
      default:
        return '#000000'
    }
  }
}

二维码

/**
 * @Description: 二维码
 * @Author: khc
 * @Date: 2026/3/31 10:20
 * @Version: 1.0
 */
@Entry
@Component
struct 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%')
  }
  /*创建函数,用来生成颜色按钮*/
  @Builder
  createColorButton(color: Color) {
    /*添加按钮*/
    Button()
      .width(30)/*设置按钮的宽度*/
      .height(40)/*设置按钮的高度*/
      .borderRadius(15)/*设置按钮的圆角*/
      .backgroundColor(color)/*设置按钮的背景颜色*/
      .onClick(()=>{
        this.qrcodeColor = color/*设置二维码组件的颜色*/
      })
  }
}

背景切换

/**
 * @Description: 微信主页面
 * @Author: khc
 * @Date: 2026/3/30 9:15
 * @Version: 1.0
 */
@Entry
@Component
struct 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 选中之后显示的图片
   */
  @Builder
  builderTabBar(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%')/*设置列的高度*/
  }
}

选择排序法应用及过程描述

对序列 (10, 2, 7, 1, 9, 5, 4, 8, 6, 3) 使用选择排序法进行排序。

  1. 请描述选择排序的基本思想。
  2. 写出排序过程中每一趟选择后的序列。

答案:

(1)选择排序的基本思想:

选择排序是一种简单直观的排序算法。其基本思想是每一轮从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。具体步骤如下:

  • 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
  • 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
  • 以此类推,直到所有元素均排序完毕。

(2)对给定序列 (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)。

在线留言板系统数据流图及元素分析

某在线留言板系统允许用户提交留言,并对留言内容进行审核后展示。请画出该系统的数据流图,并指出其包含的元素及其作用。

数据流图元素及其作用:

  1. 用户(A)
    • 外部实体,代表使用在线留言板系统的用户,可以提交留言和浏览留言。
  2. 留言提交系统(B)
    • 处理过程,用户通过此系统提交他们的留言。
  3. 留言数据库(C)
    • 数据存储,用于存储用户提交的留言内容,等待审核。
  4. 留言审核系统(D)
    • 处理过程,系统或管理员对提交的留言进行审核。
  5. 留言展示系统(E)
    • 处理过程,负责展示审核通过的留言内容给用户。

数据流动关系:

  • 用户提交留言
    • 用户(A)通过留言提交系统(B)提交留言,留言内容被存储在留言数据库(C)。
  • 审核留言
    • 留言审核系统(D)从留言数据库(C)请求审核留言,审核结果返回到留言数据库(C)。
  • 展示留言
    • 留言展示系统(E)从留言数据库(C)检索并展示审核通过的留言内容。
  • 用户浏览留言

用户(A)通过留言展示系统(E)浏览已审核的留言。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐