上海高一信息技术算法与程序设计习题集.doc
14页精选优质文档-----倾情为你奉上信息技术算法与程序设计习题集一、常见的运算类别运算符运算结果优先级算术运算符+、-、*(乘)、/(除)、^(乘方)、mod(求余)数值 关系运算符>、=、<、>=、<=、<>True(T,1)或False(F,0) 逻辑运算符not、and、orTrue(T,1)或False(F,0)not>and>or逻辑运算规则ABA and BA or BCNot CTTTTTFTFFTFTFTFTFFFF习题:(1)1<5 and 4>3 or not -1=1 T(2)"a">"b" or 5<6 and 8>=2*4 T(3)假设变量a的值是1,变量b的值是2,变量c的值是3,计算下列表达式的值 a^3+b*c 7 c mod b +a 2int(c/b) >b-a Fa0 Ta+b>c or b+c>a and c+a>b T二、算法的一些概念1.算法的定义:解决问题的确定的有限的步骤2.算法的描述:自然语言、流程图描述、计算机程序、伪代码。
3.常量和变量:变量的特点:取之不尽,赋值即覆盖变量的命名规则:以字母、数字、下划线组成,必须以字母开头变量的类型:整数型(Integer)、实数型(Single)、字符串型(String)4.算法的三种基本结构:顺序结构、分支结构、循环结构(1)顺序结构顺序结构按照自上而下的顺序把每个步骤执行一次2)分支结构(选择结构)分支结构根据条件决定执行步骤1或步骤2中的算法步骤,判断框有一个入口两个出口,分支结构有一个入口,一个出口单分支语句格式If <条件> Then <步骤1的语句块>End If双分支语句格式If <条件> Then <步骤1的语句块>Else <步骤2的语句块> End If 5.算法的特点:可行性、确定性(无二义性)、有穷性、可以没有输入,必须要有输出三、算法实例(一)顺序结构练习1:输入一个圆的半径,求圆的周长和面积,并输出结果代码:Dim r As Singler = InputBox("输入半径")s = 3.14 * r ^ 2c = 2 * 3.14 * rPrint "周长"; cPrint "面积"; s练习2:输入一个两位数,交换个位和十位的值,输出结果。
代码:x = InputBox("请输入")a = Int(x / 10)b = x Mod 10y = 10 * b + aPrint y练习3:输入两个变量的值,将两个变量中的值互相交换并输出结果 代码:Dim a As Single, Dim b As Singlea = InputBox("第一个数")b = InputBox("第二个数")c = aa = bb = cPrint a; b(二)分支结构(选择结构)练习1:输入两个数,比较它们的大小,输出较大的数代码:Dim a As SingleDim b As Singlea = InputBox("请输入")b = InputBox("请输入")If a > b Then Print aElse Print bEnd If练习2:输入一个三位数,判断它是否是水仙花数(三位数各个数位上的立方和等于它本身)代码:Dim n As Singlen = InputBox("输入一个三位数")a = Int(n / 100)b = Int(n / 10) - a * 10c = n Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = n Then Print "是水仙花数"Else Print "不是水仙花数"End If 练习3:输入一个数,求它的绝对值,并输出结果。
代码:Dim a As Singlea = InputBox("请输入")If a < 0 Then a = -aEnd IfPrint a练习4:阶梯电价 第一档第二档第三档方案1每月用电<110度110度-210度>210度电价维持现有电价超出部分上涨不低于5分钱超出部分每度涨价不低于0.20元方法一:(右边嵌套分支)Dim x As Singlex = InputBox("输入用电")If x < 110 Then y = 0.61 * xElse If x <= 210 Then y = 0.61 * 110 + 0.66 * (x - 110) Else y = 0.61 * 110 + 0.66 * 100 + 0.81 * (x - 210) End IfEnd IfPrint "电费"; y方法二:(左边嵌分支)Dim x As Singlex = InputBox("输入用电")If x >= 110 Then If x > 210 Then y = 0.61 * 110 + 0.66 * 100 + 0.81 * (x - 210) Else y = 0.61 * 110 + 0.66 * (x - 110) End IfElse y = 0.61 * xEnd IfPrint "电费"; y代码:Dim a As IntegerDim b As Integera = InputBox("输入站数")b = InputBox("输入人数")If a <= 4 Then m = 3 * bElse If a <= 9 Then m = 4 * b Else m = 5 * b End IfEnd IfPrint "应付款"; m练习5:购买地铁车票:乘1-4站3元/位,5-9站4元/位,9站以上5元/位,输入站数和人数,输出应付款。
练习6:长江遂桥货车通行费收费标准(载重用w表示,收费用m表示)Dim w As Singlew = InputBox("输入载重")If w <= 2 Thenm = 60End IfIf w > 2 And w <= 5 Thenm = 95End IfIf w > 5 And w <= 10 Thenm = 105End IfIf w > 10 And w <= 15 Thenm = 130End IfIf w > 15 Thenm = 145End IfPrint "应付款", m(三)循环结构(重复结构)当循环的一般形式直到循环的一般形式当遇到需要重复执行的操作时,可以用循环结构,循环结构有一个入口,一个出口Do 循环体语句Loop Until 条件Do while 条件 循环体语句Loop当循环和直到循环的区别:当循环的循环体可能一次也不执行,直到循环的循环体至少执行一次1.输出系列问题练习1:输出5个*n = 0Do While n < 5 Print "*" n = n + 1Loop练习2:输出1,2,3,4,5方法一:用次数来控制循环方法二:用输出的数字来控制循环a = 1Do While a < =5 Print a a = a + 1Loop练习3:输出21,22,23,24,25的值方法一:把a当成整个数方法二:把a当指数2.求和系列问题练习1:求1+2+3+4+5的和 练习2:求1+3+5+7+9的和 练习3:求21+22+23+24+25的和 练习4: 求1×2+2×3+3×4+4×5+5×6的和。
练习5:求1+2+3+……+k的和,其中k由键盘输入练习6:求1*2*3*4*5的积练习7:求1+2+3+……加到第几项和超过5?方法一:用i来计算项数方法二练习8:求输入的5个数的平均值(如70,60,80,50,90)Dim a As Singles = 0n = 0Do While n < 5 a = InputBox("输入数据") s = s + a n = n + 1LoopPrint s / 5方法一:不用数组方法二:用数组练习9:输入若干个数的和,输入-1时结束如输入60,50,40,-1)3.循环结构中嵌套分支结构练习1:统计I级天数n = 1c = 0Do While n <= 5 If a(n) <= 50 Then c = c + 1 End If n = n + 1LoopPrint "I级天数"; c练习2:求5个数的最大值,并输出最大值的位置练习3:求5个数的最小值,并输出最小值的位置练习4:求输入的5个数中正数的和4.直到循环练习1:输出5个*n = 0Do Print "*" n = n + 1Loop Until n >= 5练习2:求1+2+4+7+11的和s = 0a = 1n = 1Do s = s + a a = a + n n = n + 1Loop Until n > 5Print s 5.数组:数组是一种特殊的变量,它在内存中的位置是连续的,用于存储一批类型、作用相同的数据。
数组元素的下标可以是常量也可以是变量,也可以是一个表达式,可以从0开始,数组元素可以参与运算,和普通的变量一样Dim d(10) As Singlen = 1Do While n <= 10 a(n) = InputBox("输入") n = n + 1Loopn = 10Do While n >= 1 。





