当前位置:首页 > 2010级信息技术会考复习提纲(《算法与程序设计》方向)v20101019
有问题联系:gangzi_fu@sina.com 86294028
Do While n > 0
If n Mod 2 = 1 Then t = t + 1 Else k = k + 1 n = n \\ 2 Loop
If ② Then s = s + 1 Next i
Text1.Text = Str(s) End Sub
答案①:1000 ;答案②:t>k
习题:马克思在研究无产阶级革命学说的同时也很重视数学科学学习,他的数学手稿中有这样一道题:有30个人,其中有男人、女人、小孩,在一家小饭馆里花50先令,每个男人3先令,每个女人2先令,每个小孩1先令,为计算男人、女人、小孩各多少人,编制Visaul Basic程序如下,程序中有2处错误,请改正: Private Sub Command1_Click() n = 0
For x = 1 To 29 For y = 1 To 29 z = 30 - x - y
m = 3 x + 2 y + z ' ① If m = 50 Then
List1.AddItem (\男人:\;女人:\;小孩:\n = n + 1
End If Next y Next x
List1.AddItem (\共有:\种答案!\② End Sub
程序改正为:①________________;②_____________________ 答案①:3 * x + 2 * y + z;答案②:Str(n)
习题:用辗转相除法求两个正整数的最大公约数和最小公倍数 分析:
(1)对于已知两数M,N,使得M>N; (2)M除以N得余数R;
(3)若R=0,则N为求得的最大公约数,算法结束;否则执行(4); (4)M←N,N←R,再重复执行(2);
(5)原数 M*N/最大公约数 即为最小公倍数 M = Val(Text1.Text) : N = Val(Text2.Text) MN = M * N If M < N Then t = M: M = N: ① R = ② Do While R > 1 M = N : N = R R = M Mod N Loop
16
答案①:N = t 答案②:M Mod N 答案③:(MN) / N 有问题联系:gangzi_fu@sina.com 86294028
Text3.Text = Str(N) Text4.Text = Str(③) 2.解析算法及程序实现
解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过数学表达式的计算来实现问题的求解。
习题:一元二次方程根判别程序
Dim a, b, c, d, x1, x2 As Double
a = Val(Text1.Text) : b = Val(Text2.Text) : c = Val(Text3.Text) d = b ^ 2 - 4 * a * c ‘关键在于此 If d > 0 Then
x1 = (-b + Sqr(d)) / (2 * a) : x2 = (-b - Sqr(d)) / (2 * a) Text4.Text = Str(x1) : Text5.Text = Str(x2) Label6.Caption = \有两个不同的实数根\ ElseIf d = 0 Then
x1 = (-b) / (2 * a) : x2 = x1
Text4.Text = Str(x1) : Text5.Text = Str(x2) Label6.Caption = \有两个相同的实数根\ Else
Label6.Caption = \没有实数根\ End If
习题:鸡兔同笼问题—— 鸡x只兔y只同笼,头共30只,脚90只,问鸡兔各几只? 分析:
(1)X+y=30 (2)2x+4y=90 (x=15,y=15) Const head=30, foot=90 Dim x as Integer, y As Integer Y= ① X= ② Text1.text=Str(x) Text2.text=Str(y) 习题:十进制0~255转换为二进制 Dim a , c(1 To 8) As Integer Dim S As String a = Val(Text1.Text) If a < 0 Or a > 255 Then
17
答案①:a Mod 2 答案②:Str(c(i)) + S 答案①:(foot-2*head)\\2 答案②:(4*head-foot)\\2 有问题联系:gangzi_fu@sina.com 86294028
Text2.Text = \输入数据错误,请重新输入!\Else Do While a <.> 0 c(i) =① a = Int(a / 2) S= ② Loop Text2.Text = S End If
习题:不计复利的银行存款本息计算的算法如下: ①输入本金m和年数y ③输出变量k
②用公式计算到期本息k=m(1+0.0314y),其中年利率为3.14%
上述算法属于
答案:A
(A)解析算法 (B)排序算法 (C)递归算法 (D)枚举算法 习题:用i = 1 Do While 1 / i > 0.000001 Sum = Sum + ① i = i + ② Loop Text1.Text = Str(4 * Sum) 习题:加密字符串
?111?1????...公式求?的近似值,直到最后一项的绝对值小于10?6为止。 4357答案①:(-1) ^ ((i+3)/2) / i 答案②:2 为字符串(不超过8位)作简单加密:将输入的字符串每位字符加密为的ASCII码值加上4对应的字符,再反方向输出。如:对字符串”Abc12%”加密
原字符串 原ASCII码 修改后的ASCII码 对应的字符 密文(反方向输出) 流程图:
A 65 69 E ) b 98 102 f 6 c 99 103 g 5 1 49 53 5 g 2 50 54 6 f % 37 41 ) E 18
有问题联系:gangzi_fu@sina.com 86294028
开始 输入字符串M L←M的长度 I←1 Y N I>L? 取得第I位字符存为数组第I位 取得第I位ASCII码并加上4,存入N ASCII值为N对应的字符X 反向输出 Dim d(1 To 8) As ① Dim M, X As String Dim L, N As Integer M = ② L = ③ For i = 1 To L d(i) = ④
N = Asc(d(i)) + 4 X = ⑤
Text2.Text = ⑥ Next i
答案①:String
答案②:Text1.Text 答案⑤:Chr(N)
答案③:Len(M)
答案⑥:X + Text2.Text 或 X & Text2.Text
答案④:Mid(M, i, 1)
结束 习题:国际标准书号(International Standard Book Number)简称 ,是国际通用的图书或独立的出版物(除定期出版的期刊)代码,格式为xx-xxx-xxxxx-x如7-209-02375-5,其中末位为识别码,用于校验此ISBN号的正确性,校验办法:首位数字*1+次位数*2+??,累加和再除以11,如余数不等于10,则结果即为识别码,否则别码X,为验证图书ISBN号是否合法,用Visual Basic编写程序如下,请在划线行正确填写语句。
Private Sub Command4_Click() Dim i, x, y As Integer
Dim d(1 To 10) As String '该数组用于存储输入的ISBN中每一个字符
Dim Mark, JiaoYanMa, M As String 'Mark为计算出的ISBN标识; JiaoYanMa为输入的ISBN的末尾字符;M为ISBN去
掉“-”的部分
M = Replace(Text1.Text, \使用Replace函数将输入的ISBN中“-”去掉,
'例如将“7-115-15208-X”转换为“711515208X”
JiaoYanMa = Right(M, 1)
19
共分享92篇相关文档