数字和字符处理题型分析Word下载.docx

上传人:b****5 文档编号:20984440 上传时间:2023-01-26 格式:DOCX 页数:30 大小:58.26KB
下载 相关 举报
数字和字符处理题型分析Word下载.docx_第1页
第1页 / 共30页
数字和字符处理题型分析Word下载.docx_第2页
第2页 / 共30页
数字和字符处理题型分析Word下载.docx_第3页
第3页 / 共30页
数字和字符处理题型分析Word下载.docx_第4页
第4页 / 共30页
数字和字符处理题型分析Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数字和字符处理题型分析Word下载.docx

《数字和字符处理题型分析Word下载.docx》由会员分享,可在线阅读,更多相关《数字和字符处理题型分析Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

数字和字符处理题型分析Word下载.docx

DimsAsString*1,nAsInteger

dec=Text1

Fori=1ToLen(dec)

s=Mid(dec,i,1)

(19)

Ifn=0Thenn=10

enc=Chr(Asc(s)+n)&

enc

Nexti

Text2=enc

PrivateSubCommand2_Click()'

解密

DimnAsInteger,sAsString*1,pAsInteger

enc=Text2

(20)

Fori=1Ton

s=Mid(enc,i,1)

p=nMod10

Ifp=0Thenp=10

dec=(21)

n=n-1

Text1=dec

n=iMod10n=Len(enc)Chr(Asc(s)-p)&

dec

(4)运行下面的程序,单击窗体后在窗体上显示的第一行结果是 [1] ,第三行结果是 [2] 。

PrivateSubForm_Click()

  DimmstAsString,mst1AsString,mst2AsString

  DimiAsInteger

  mst1="

CeBbAa"

  Fori=Len(mst1)To1Step-2

    mst2=Mid(mst1,i-1,2)

    mst=mst&

mst2

    Printmst

mst1

mst2

mst

CeBbAa

Aa

6

AaBb

4

AaBbc

(8)Aa

   (9)AaBbCe

Mid()函数的操作方式是从后向前取字符。

(2)执行下面程序,第二行输出结果是 [1] ,第三行输出结果是 [2] 。

  DimchAsString,iAsInteger

  ch="

ABC"

    ch=Mid(ch,2*i-1,1)+Left(ch,Len(ch))

    Printch

ch

ABC

Mid("

1,1)+Left("

3)

"

A”+”ABC"

AABC

AABC"

3,1)+Left("

4)

+"

BAABC

BAABC"

5,1)+Left("

5)

C"

CBAABC

(1)BAABC

   

(2)CBAABC

35.执行下面的程序,单击窗体后在窗体上显示的结果是___35___。

  DimStr1AsString,Str2AsString

  DimStr3AsString,IAsInteger

  Str1="

e"

  ForI=1To2

    Str2=UCase(Str1)

    Str1=Str2&

Str1

    Str3=Str3&

    Str1=Chr(Asc(Str1)+I)

  NextI

  PrintStr3

I

Str1

Str2

Str3

F

EeFF

FF

H

(A)EeFF(B)eEFF(C)EEFF(D)eeFF

A

35.在窗体Form1上,有一个列表框控件List1,在窗体的Click事件中有如下代码:

  DimkAsInteger

  DimentryAsString,itemAsString

  entry="

EDCBA"

  Fork=Len(entry)To1Step-1

    item=LCase(Mid(entry,k,1))&

k

    List1.AddItemitem

  Nextk

运行此程序,单击窗体后在窗体的列表框中显示的第四个列表项内容是___35___。

(A)b4(B)b2(C)d4(D)d2

D

K

entry

item

添加

5

EDCBA

a5

b4

c3

d2

e1

1.执行下面的程序,在窗体上显示的输出结果的第一行是___thisisabook.___,第二行结果是___ThisIsABook.___。

  DimsAsString,iAsInteger,flagAsBoolean

  s="

THISISABOOK."

  s=LCase(s)

  Prints

  flag=True

  Fori=1ToLen(s)

    IfMid(s,i,1)="

"

Then

      flag=True

    ElseIfflagThen

      s=Left(s,i-1)&

UCase(Mid(s,i,1))&

Right(s,Len(s)-i)

      flag=False

    EndIf

s

flag

THISISABOOK.

True

thisisabook.

Thisisabook.

False

ThisIsabook.

8

ThisIsAbook.

9

10

ThisIsABook.

11

用flag来控制进程的走向,

4.执行下面的程序,图片框第一行内容是CBA,图片框第二行内容是ABC。

  DimSAsString

  S="

  BackS

  Picture1.Print

  Picture1.PrintS

PrivateSubBack(StAsString)

  IfLen(St)>

1Then

    Back(Right(St,Len(St)-1))

  EndIf

  Picture1.PrintLeft(St,1);

St

层次

BC

CB

CBA

这是递归过程。

3.执行下面的程序,单击窗体上的按钮,则在窗体上显示的第一行是 (4) ,第二行是 (5) ,第三行是 (6) 。

 DimsAsString,tAsString

 DimkAsInteger,mAsInteger

 s="

BASICY"

 k=1:

m=k

 Fork=1ToLen(s)Stepm+1

  t=t&

Chr(Asc(Mid(s,m,1))+k)

  k=k+1

  IfMid(s,k,1)="

Y"

ThenExitFor

  m=m+k

  Printt

 Nextk

 Printm

t

k

m

BASICY

1+2=3

CW

3+5=8

7

(4)C

(5)CW

(6)8

要记住Chr(65)="

A"

,Chr(97)="

a"

Chr(x)返回以x为ASCII代码值的字符,Asc(x)为求单个字符ASCII代码函数,Mid(x,n1,n2)从x字符串左边第n1个位置开始向右起取n2个字符。

注意:

循环变量k在循环体参与了运算,实际步长为3。

变量m的赋值过程为1、3、8。

2.运行下面的程序,当单击窗体时,文本框Text1中的内容是 

(2) ,文本框Text2中的内容是 (3) 。

 DimSt0AsString

 DimSt1AsString,St2AsString

 St0="

ASFRSDCFRSKX"

 CallChange_String(St0,St1,St2)

 Text1.Text=St1

 Text2.Text=St2

PrivateSubChange_String(SAsString,St1AsString,St2AsString)

 DimtemAsString,iAsInteger

 Fori=1ToLen(S)‘1~12,实际上只循环了4次,读到“R”就退出了

  tem=Mid(S,i,1)‘读取一个字符,A、S、F、R、S、……

  Iftem="

S"

    St2=St2&

at"

  ElseIftem="

R"

    St1=St1&

T"

    ExitFor

  Else

tem

 Nexti

S

tem

St1

St2

ASFRSDCFRSKX

&

Aat

F"

AF

Aat"

AatF

R

AF"

AFT

(2)AFT

(3)AatF

Mid(x,n1,n2)从x字符串左边第n1个位置开始向右起取n2个字符。

过程Change_String的功能是,将字符串St中的“S”置换为“at”,“R”置换为“T”,并退出For循环。

3.执行下面程序,单击命令按钮Command1,则在窗体上显示的第一行是 (4) ,第二行是 (5) ,第三行是 (6) 。

  Dims_dataAsInteger,d_dataAsString,kAsInteger,pAsString

  s_data=29

  DoUntils_data<

=5

    p=s_dataMod5

    d_data=d_data&

p

    s_data=s_data\5

  Loop

  d_data=d_data&

s_data

  Prints_data

  Printd_data

  p="

  Fork=Len(d_data)To1Step-1‘将d_data的内容颠倒过来

    p=p&

Mid(d_data,k,1)

  Printp

s_data

p

d_data

29

45

54

(4)5

(5)45

(6)54

本题的难点是字符串和数值之间按VB的默认的方式进行运算和赋值时的类型转换问题。

如果字符串表示数值,则可将字符串赋予数值变量。

也可将数值赋予字符串变量。

 

VisualBasic会自动强制变量为适当的数据类型。

在转换字符串和数值时要小心;

如果传送字符串中的值不是数值,则在运行时会出错。

Mod运算符用来对两个数作除法并且只返回余数。

2.执行下面的Command1_Click事件过程后,Text1中显示的内容是    ,Text2中显示的内容是    。

  DimSAsString,IAsInteger

  ConstChAsString="

0123456789."

2L0A03U.1SI0V.11"

  ForI=1ToLen(S)

    IfInStr(Ch,Mid(S,I,1))=0Then‘视单个字符是否为数值型的

      Text1=Mid(S,I,1)&

Text1

    Else

      Text2=Text2&

Mid(S,I,1)

  NextI

Ch

Text1

Text2

2L0A03U.1SI0V.11

0123456789.

L

20

AL

200

2003

UAL

2003.

2003.1

SUAL

ISUAL

12

2003.10

13

VISUAL

14

2003.10.

15

2003.10.11

16

2003.10.1  IVISUAL

1.执行Command1_Click实践过程后,显示在窗体上的第一行内容是 【1】 ,第二行内容是 【2】 ,第三行内容是 【3】 。

 S="

TUPMOC"

:

K=Len(S)

 ForI=1ToK/2

  Mid(S,I,K-2*(I-1))=Mid(S,I+1,K-2*I)&

‘将右边的内容替换左边的内容

  PrintS

 NextI

【1】UPMOTC

【2】UMOPTC

【3】UMOPTC

Mid(S,I+1,K-2*I)

Mid(S,I,1)

Mid(S,I,K-2*(I-1))

TUPMOC

Mid(S,2,4)

“UPMO”

“T”

Mid(S,1,6)

“UPMOTC”

UPMOTC

Mid(S,3,2)

“MO”

“P”

Mid(S,2,4)

“UMOPTC”

UMOPTC

Mid(S,4,0)

“”

“O”

Mid(S,3,2)

当Mid函数放置在等号的左边的话,是将右边的内容替换坐标的内容。

~~

7.下面程序是把给定的16进制正整数转换为10进制数。

提示:

一个16进制正整数转换为10进制数的方法是直接用下面的幂级数展开运算而得。

(anan-1…a1)16=an*16n-1+an-1*16n-2+…+a1*160

  DimStAsString,DemAsLong

  St=InputBox("

输入一个十六进制数"

  Dem=Convert(St)

  PrintSt;

="

;

Dem

PrivateFunctionConvert(SAsString)AsLong

  DimNAsInteger,IAsInteger,SubstringAsString*1

  DimPAsLong,KAsLong,Asc1AsInteger

  N=______‘N的作用是字符串的长度(即数值的位数)Len(s)

  P=16^N‘P的作用是十六进制数

  ForI=1ToN

    P=P/16

    Substring=______‘Substring的作用是记录每个字符Mid(S,I,1)

    SelectCaseSubstring

    Case"

0"

To"

9"

      K=K+P*Val(Substring)‘K的作用是记录十进制的数,Val(Substring)为0~9

    Case______ ’A~F的计算范围"

或Else

      Asc1=Asc(Substring)-Asc("

)+10‘Asc1记录A~F的代表的十进制数(10~15)

      ______‘参照上一句K=K+P*Val(Substring)K=K+P*Asc1

    EndSelect

  ______‘将K值赋值给函数名返回主过程Convert=K

EndFunction

Len(s) Mid(S,I,1) "

或Else K=K+P*Asc1 Convert=K

N的作用是字符串的长度(即数值的位数),Substring的作用是记录每个字符,K的作用是记录十进制的数。

5.执行下面程序,在文本框Text1中输入数据as235gh456yj后单击Command1按钮,在列表框List1中显示的第一行是(12)、第二行是(13);

列表框List2中显示的第一行是(14)、第二行是(15)。

DimstAsString,sAsString,kAsInteger

DimpAsString,num()AsInteger,iAsInteger,nAsInteger

s=Text1

Fori=1ToLen(s)

st=Mid(s,i,1)

Ifst>

="

Andst<

p=p&

st

Else

Ifp<

>

ThenList1.AddItemp

p="

EndIf

ReDimnum(List1.ListCount)

Fori=1ToUBound(num)

p=List1.List(i-1)

num(i)=Val(Left(p,Len(p)-1))

n=Val(Right(p,1))

List2.AddItemchange(num(i),n)

PrivateFunctionchange(xAsInteger,yAsInteger)AsInteger

DimpAsInteger,kAsInteger

Do

p=xMod10

change=change+p*y^k

x=x\10

k=k+1

LoopUntilx<

=0

2354561329

st

List1

num

(1)

n

num

(2)

as235gh456yj

a

235

23

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1