其他典型算法之线性表的应用-专项训练浙江2022届选考专用(教师版)


    典型算法线性表应
    例1 升序数组a中插入数x数组元素保持升序解决该问题VB程序段①处应填入正确语句实现功
    in 'n数组a中元素数
    do while i>0 and a(i)>x
    ①             
    ii1
    loop
    a(i+1)x
    答案a(i+1)a(i)
    解析线性表中插入元素问题该算法基方法先找数插入位置i原元素a(i)a(i+1)a(i+2)…a(n)次移表中第i+1i+2i+3…n+1位置便腾出空位置i新元素存入该位置程序循环部分完成位置查找原数移功划线处应填入语句a(i+1)a(i)
    例2插入排序基思想排序数值逐插入已排序序序列中直数插入完止新序序列例已知排序组数6071491124366
    假设排序程中前3数已完成升序排列构成序序列496071
    排序数中第4数(11)插入述序序列新含4数序序列首先应找11插入位置进行插入11放入数组第元素r(0)中元素称监视哨然71起右左查找117171右移位置116060右移位置114949右移位置时11r(0)值较11≥r(0)插入位置r(1)假设11第值r(1)插入位置应该r(1)r(2)间60已右移留出位置正留11面数样方法逐插入该序序列中数n须进行n1趟排序完成
    VB程序执行数组元素a(1)值(  )
    a(1)10a(2)18a(3)12a(4)6a(5)9
    for i2 to 5
     a(0)a(i)
     ji1
     do while a(0)>a(j)
    a(j+1)a(j)
    jj1
     loop
     a(j+1)a(0)
    next i
    A10 B18 C6 D9
    答案插入排序算法a(0)插入数do循环中插入数a(0)元素移动留出空位存放a(0)说明降序方式插入排序算法a(1)中存放值18
    选B
    课作业
    1n排成圆圈然n逆时针方分编号12…n编号1开始逆时针计数某计数m倍数时该出圈循环直圈中留
    现VB6制作模拟报数出列程序程序界面图示文框Text1中输入数n文框Text2中输入出列号m单击钮模拟报数Command1列表框List1中显示出列序编号程序界面

    实现述功VB 代码 请划线处填入合适代码
    Private Sub Command1_Click()
     Dim n As Integer m As Integer
     Dim a(1 To 100) As Integer
     n Val(Text1Text)
     m Val(Text2Text)
     For i 1 To n
       ①     
     Next
     s 0
     j 0
     Do While s < n
    t 0
     Do While t     ②      
      t t + a(j)
     Loop
     a(j) 0
     List1AddItem Str(j)
     s s + 1
     Loop
     Text3Text Str(j)
    End Sub
    答案 ①a(i)1 ②j j Mod n + 1 者 if jn then n1 else jj+1
    解析 模拟报数种典型线性表应程序中维数组表示链表数组元素标编号算法思想先设数组a元素值1然第1元素开始累加累加结果存入变量t累加j号元素时果t值3置a(j)0j号出列出列数加1直出列数n时结束时j值剩编号划线①处元素值设1表示未出列填入语句a(i)1②处计算次轮元素标填入j j Mod n + 1if jn then n1 else jj+1
    2利VB程序两组成绩数合组成绩高低排列输出成绩相时第批学生优先输出实现述功VB代码加框处代码错请改正
    Dim xm(1 to 1000) as string '存储学生姓名
    Dim cj(1 to 1000) as integer '存储学生成绩
    Private Sub Form_Load() '该处具体代码省略
    '数库读取两批学生数第1批学生数rs1成绩高低序成绩存入cj(1)cj(2)…cj(rs1)中姓名存入xm(1)xm(2)…xm(rs1)中第2批数rs2成绩高低序成绩存入cj(rs1+1)cj(rs1+2)…cj(rs1+rs2)中姓名存入xm(rs1+1)
    xm(rs1+2)…xm(rs1+rs2)中
    End Sub
    Private Sub Command1_Click()
    i1
    jrs1+1
    '程序开始成绩高低逐输出次输出前两段中尚未处理学生中成绩高n1 '①
    Do While inn+1
    If cj(i)>cj(j) Then
    kiii+1
    Else
    kjjj+1
    End If
    List1AddItem(″第″+Str(n)+″名″+xm(k)+″成绩″+Str(cj(k)))
    Loop
    Do While inn+1
    List1AddItem(″第″+Str(n)+″名″+xm(i)+″成绩″+Str(cj(i)))
    ii+1
    Loop
    Do While jnn+1
    List1AddItem(″第″+Str(n)+″名″+xm(j)+″成绩″+Str(cj(j)))
    jj+1
    Loop
    End Sub
    答案 ①n0 ②j解析 程序中变量n表示名次第1do循环语句中先n加1输出名次n初值应0变量j第二段成绩位置第二段成绩rs1+rs2止②处循环条件应j3编写VB程序长度n序序列a(1)a(2)……a(n)整数t(1≤t≤n)该序序列划分两段序列a前t数nt数调保持两段(t数nt数)间相位置变(t数nt数序)例长度6序序列384259616978t2时重排结果596169783842程序运行时产生n整数存储数组a中文框Text1中输入t单击调钮Command1列表框List2输出t数nt数调数字序列实现述功请划线处填入合适代码
    Const n10
    Dim a(1 To 10) As Integer
    Private Sub Form_Load()
    '生成n序数显示List1中代码略
    End Sub
    Private Sub Command1_Click()
    Dim t As Integeri As Integerj As Integertemp As Integer
     ①  
    For it+1 To n
    tempa(i)
    For ji To i+1t Step1
     ②  
    Next j
    a(j) ③  
    Next i
    For i1 To n
    List2AddItem Str(a(i))
    Next i
    End Sub
    答案 ①tVal(Text1Text) ②a(j)a(j1) ③temp
    解析 ①简单根题目意思序数组a分成两段换位置首先读入数t答案tVal(Text1Text)②程序实现数组a1→t位置t+1→n位置互换双重循环解决问题具体做法第1轮(it+1)a(1)~a(t)次移位置a(t+1)存入a(1)第2轮(it+2)a(2)~a(t+1)次移位置a(t+2)存入a(2)重复直轮(in)a(t)~a(n1)次移位置a(n)存入a(t)程序第2空应该完成j1位置j位置数移动答案a(j)a(j1)③完成t数移动a(j)应该等原存放temp中a(i)值答案temp
    4单循环赛制种较公合理赛制度赛程中参赛队伍均相遇次秩序编排采逆时针轮转方法数字1~n次作队伍编号编号U型走分成均等两边(n奇数末尾增加编号0总数偶数)第轮赛秩序例5队伍赛编排情况图a示第二轮固定编号1余编号均逆时针方移动位置该轮赛秩序轮赛秩序类推编号0阵表示轮轮空
    现VB程序实现述功文框Text1中输入参赛队伍数n单击编排钮Command1列表框List1中输出轮赛秩序程序运行效果图b示

    图a



    图b

    实现述功VB代码加框处代码错请改正
    Private Sub Command1_Click()
    Dim team(1 To 20) As String '存储队伍编号
    Dim n As Integerc As Integerresult As String
    Dim i As Integerj As Integertemp As String
    nVal(Text1Text)
    For i1 To n
    team(i)Str(i)
    Next i
    cn+n Mod 2 '变量c存储赛编排队伍总数
    If c<>n Then team(c)Str(0)
    For i1 To c1
    result″ ″
    For j1 To c\2
    resultresult & team(j) & ″″&team(cj) & ″″ '①
    Next j
    List1AddItem ″第″ & Str(i) & ″ 轮″ & result
    '固定编号1余队伍逆时针移动位置
    tempteam(c)
    For jc To 2 Step 1
    team(j+1)team(j) '②
    Next j
    team(2)temp
     Next i
    End Sub
    答案 ①team(cj+1) ②team(j)team(j1)
    解析 程序数组team存储队伍编号初始时候team(i)值i模拟法分析算法6队伍例初始编号123456程序始终位置162534值组成阵表第2轮编号变成162345位置162534表示阵表156423第3轮156234位置162534表示阵表145362……次类推①根算法描述6队伍模拟话两阵队伍阵始终数组team162534位置值标7(c+1)team(j)阵应该team(cj+1)②固定编号1余队伍移动时候先位置值出存放temp数组team2c1位置值逐移动存储3c位置程序c2循环jc时候应该c1位置值存储c位置j2时应该2位置值存储3位置程序应改成team(j)team(j1)
    4李学碰数学问题400学序进行编号围成圈12报数(1号位置开始)报2学出列直循环报数问剩位学编号号
    例6学编号例12报数(1号位置开始)次出列编号次序246315剩编号5学解决问题李VB编写程序尝试解决中列表List1显示出列序编号文框Text1中显示留编号程序代码请划线处填入合适代码
    Private Sub Command1_Click()
    Dim sft As Integer
    Dim a(1 To 400) As Boolean
    For i1 To 400
    a(i)False
    Next i
    s0f0i0
    Do While f<399
    ii+1
    If i401 Then i ①  
    If a(i)False Then ss+1
    If s2 Then
     ②  
    List1AddItem Str(i)
    a(i)True
    f ③  
    End If
    Loop
    For i1 To 400
    If  ④  Then Text1TextStr(i) 
    Next i
    End Sub
    答案 ①1 ②s0 ③f+1 ④Not a(i)a(i)False
    解析 400围成圈1号开始1212…报数报2出列直剩位学定义a数组元素初值均false表示游戏开始时学生全未出列开始时全列设置变量s初值零接着1号开始两两数计数器s等2前位报2出列数组a前元素值变True表示该位学出列计数器s重置零计数器f表示前止已出列数直循环剩位学f值399a(289)false剩289号学
    5n互重复数字值范围[1n]分保存数组元素a(1)a(n)中果数字i保存a(i)认数字i正确位置干相互占位置数字称组正确位置数字单独组6数字231465分保存数组元素a(1)a(6)中231组4组65组该程序功输出组情况运行界面图

    (1)数组元素a(1)a(5)值分253145元素总    组 
    (2)请划线处填入合适代码
    Const n10
    Dim a(1 To n) As Integer '保存原始数
    Dim b(1 To n) As Boolean '数组b标记相应位置没找
    Private Sub Command1_Click()
    Dim i As Integersum As Integertotal As Integer
    sum0total1 'total表示第组
    i1
    List2Addltem ″第″+Str(total)+″组″
    Do While sumDo While Not b(i)
      List2Addltem a(i)
      b(i)True
       ①  
      sumsum+1
    Loop
    If sum   ②  
      List2Addltem ″第″+Str(total)+″组″
      i1
      Do While b(i) '该循环查找组开始位置
        ii+1
      Loop
    End If
    Loop
    End Sub
    Private Sub Form_Load()
    Dim i As Integer
    Randomize
    For i1 To n '产生n样整数范围[1n]
    a(i)Int(Rnd􀆽 n)+1
    Do While  ③  
      a(i)Int(Rnd􀆽 n)+1
    Loop
    Next i
    For i1 To n
    ListlAddltem a(i)
    b(i)False
    Next i
    End Sub
    Function f(x As Integery As Integer) As Boolean
    '该函数功判断x数组a中前y数没重复
    Dim j As Integer
    fFalse
    For j1 To y
    If a(j)x Then fTrueExit For
    Next i
    End Function
    答案 (1)2 (2)①ia(i) ②totaltotal+1 ③f(a(i)i1)f(a(i)i1)True
    解析 (1)第1组2541第2组3(2)程序逻辑结构复杂函数较时程序运行序阅读代码题中先阅读Form_Load()Function f()生成原始数阅读Command1_Click()理程序逻辑结构
    生成原始数时求产生n样整数存储数组a中生成机整数a(i)需先判断否数组a前(i1)元素重复重复存储数组a中
    理解相互占位置数字呢处理数组a第i元素时a(i)j表示数字j占位置ia(i)a(j)组元素接处理第j元素令ia(i)样元素跳组元素直跳回该组第元素该组第元素应b(i)True退出循环
    6面N(3≤N≤100)房间围成圈时针方分编号12……N相邻两房间间均扇门第i房间居住数a(i)初始时选择房间聚集该房间接着时针方走相邻房间直走居住房间扇门花费1量请确定初始房间花费量例N5a(1)4a(2)7a(3)8a(4)6a(5)4
    佳方案初始时聚集2号房间花费量7􀆽 0+8􀆽 1+6􀆽 2+4􀆽 3+4􀆽 448解决问题明编写VB程序窗体加载时数库中读取N值编号1N房间居住数数存储数组a中点击窗体钮Command1程序枚举种方案(初始房间)计算该方案量文框Text1中输出优方案初始房间编号文框Text2中输出量
    实现述功VB代码请划线处填入合适代码
    Dim a(1 To 100) As Integer '次存储编号1100房间居住数
    Private Sub Form_Load()
    '程数库中读取N值房间居住数存储数组a中
    '代码略
    End Sub
    Private Sub Command1_Click()
    Dim i As Integerj As Integerw As Integerk as Integer
    Dim t As Longans As Long
    k0ans32767 'ans 初始化Integer数
    For i1 To n
    t0
    For j0 To n1
    w ①  
    If w0 Then wn
    t ②  
    Next j
    If tki
    anst
    End If
    Next i
    Text1TextStr(k) '起始房间编号
    Text2Text ③  
    End Sub
    答案 ①(i+j) Mod n ②t+a(w)*j ③Str(ans)
    解析 程序中语句功描述
    k0ans32767 'k初始聚集房号初始化0ans需量
    For i1 To n '总n初始聚集房间逐计算出需量
    t0
    For j0 To n1
    w(i+j) Mod n '初始聚集房间起步花费j量达房号w房间该房间花费量a(w)􀆽 j
    If w0 Then wn '果w0n号房间wn
    tt+a(w)􀆽 j '累计前房间已满额需量
    Next j '直累加完止
    If tki
    anst
    End If
    Next i '直找花量初始房号止
    Text1TextStr(k) '输出花费量初始房号相应量
    Text2TextStr(ans)
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    其他典型算法之线性表的应用-专项训练浙江2022届选考专用(学生版)

    其他典型算法之线性表的应用【例1】 在一升序数组a中插入一个数x,使数组元素仍保持升序。解决该问题的VB程序段如下,在①处应填入的正确语句以实现功能。i=n 'n为数组a中的元素个数do wh...

    2年前   
    457    0

    其他典型算法之矩阵应用-专项训练浙江2022届选考专用(教师版)

    其他典型算法之矩阵应用【例1】 把矩阵A的行和列互相交换所产生的矩阵称为A的转置矩阵,这一过程称为矩阵的转置,如 。以下VB6程序实现矩阵的转置,请在划线处填入正确的语句实现功能。Co...

    2年前   
    569    0

    其他典型算法之文本处理-专项训练浙江2022届选考专用(教师版)

    其他典型算法之文本处理【例1】 编写VB程序,实现如下功能:在文本框Text1中输入包含数字、字母的字符串,单击“统计”按钮Commandl,统计该字符串中数字字符的个数,并在标签Label1...

    2年前   
    391    0

    其他典型算法之数值计算-专项训练浙江2022届选考专用(教师版)

    其他典型算法之数值计算【例1】 现用VB程序实现上述功能,程序界面如下图所示,在文本框Text1和Text2中分别输入被加数和加数,单击求和按钮Command1,在文本框Text3中显示和。实...

    2年前   
    494    0

    其他典型算法之矩阵应用-专项训练浙江2022届选考专用(学生版)

    其他典型算法之矩阵应用【例1】 把矩阵A的行和列互相交换所产生的矩阵称为A的转置矩阵,这一过程称为矩阵的转置,如 。以下VB6程序实现矩阵的转置,请在划线处填入正确的语句实现功能。Co...

    2年前   
    391    0

    其他典型算法之文本处理-专项训练浙江2022届选考专用(学生版)

    其他典型算法之文本处理【例1】 编写VB程序,实现如下功能:在文本框Text1中输入包含数字、字母的字符串,单击“统计”按钮Commandl,统计该字符串中数字字符的个数,并在标签Label1...

    2年前   
    585    0

    其他典型算法之数值计算-专项训练浙江2022届选考专用(学生版)

    其他典型算法之数值计算【例1】 现用VB程序实现上述功能,程序界面如下图所示,在文本框Text1和Text2中分别输入被加数和加数,单击求和按钮Command1,在文本框Text3中显示和。实...

    2年前   
    520    0

    实验一-线性表及其应用(I)

    姓名学号实验项目线性表及其应用(I)实验内容1.实现线性表的顺序存储结构和主要的基本操作,并添加输出显示等辅助函数,在此基础上实现后续两个算法。线性表的抽象数据类型定义参见教材第19页。顺序存...

    2年前   
    551    0

    查找算法的程序实现「教师版」

    查找算法的程序实现【教师版】【例1】 在数组元素a(1)到a(8)中查找键值为key的数,其顺序查找的VB程序段如下,请在划线处填写正确的语句。for i=1 to 8if ①        ...

    2年前   
    428    0

    高考英语二轮复习之七选五题型专项指导

    高考英语二轮复习之七选五题型专项指导一、明确三类题型1.段首题:所填句子多为主旨句或过渡句。2.段尾题:所填句子多为总结句或过渡句。3.段中题:多考查上下文的逻辑关系,以并列、递进、转折、让步...

    6个月前   
    242    0

    实验6FFT算法的应用

    实验6 FFT算法的应用实验目的:加深对离散信号的DFT的理解及其FFT算法的运用。实验原理:N点序列的DFT和IDFT变换定义式如下: , 利用旋转因子具有周期性,可以得到快速算法(FF...

    1年前   
    395    0

    关联规则挖掘算法研究与应用

    关联规则挖掘算法研究   [人口·资源与环境学院 地理信息系统0501 任雄伟 200501440108]   摘要:本文介绍了数据挖掘的概念、发展现状以及研究方向,重点介绍了数据仓库...

    5年前   
    1407    0

    遗传算法在试题组卷中的应用

    遗传算法在试题组卷中的应用遗传算法在试题组卷中的应用 燕山大学研究生部 刘彬 金涛 李阳明 卢纪生摘要: 本文运用遗传算法的全局寻优对考试中的自动化组卷进行了研究,并得到了一个解决适合考方要求...

    11年前   
    605    0

    高考应用文总结练习之应用文句子翻译学案

    建议信模仿1. It is of vital importance to control your temper and have a positive attitude to face up...

    7个月前   
    169    0

    八年级上册物理专项训练之透镜及其应用知识回顾与典型练习题供借鉴

    八年级上册物理专项训练之透镜及其应用知识回顾与典型练习题供借鉴姓名: 一、 实验室透镜的识别与作图1、 凸透镜、凹透镜的定义与图例:2、 与透镜有关的概念:★下图哪个透镜的焦距...

    2年前   
    315    0

    最新医生护士考试训练专用内科学题库及答案

    医生护士考试训练专用内科学题库及答案

    4年前   
    780    0

    「精品」小升初英语知识专项训练(时态与句法)-20.其他句式通用版

    1.___________ a black cat.A: This B: That C: Here’s2.If I ____ you tomorrow, I will...

    3年前   
    455    0

    2022届高三英语写作专项训练之应用文+读后续写(含答案及部分解析)

    假设你是育才中学学生李华,针对学校有学生不珍惜粮食的情况,给你校英文报投稿,倡议大家节约粮食。要点包括;1.为何不要浪费粮食;2.你觉得可行的一些措施;3.号召同学们节约粮食。注意:1.词数10...

    7个月前   
    193    0

    2022届高三英语阅读专项训练之应用文(含答案及部分解析)

    Japanese Restaurant (free parking) Open timeLunch 12:00-2:00 p.m. Dinner 6:00-...

    7个月前   
    217    0

    初中历史非选择题专项训练之图表类

    非选择题目占历史试卷总分值的60%,与选择题相比,它要求同学们不仅要熟记相关基础知识,而且要对知识有相当程度的理解,还要善于从各种材料(图表、对联、诗歌、名言、图片等)中提取到我们答题时所必需的信息。

    5年前   
    1855    0

    文档贡献者

    文***7

    贡献于2022-03-15

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档