上海高一信息技术算法与程序设计习题集

  • 格式:doc
  • 大小:2.88 MB
  • 文档页数:11

1 信息技术算法与程序设计习题集

一、常见的运算

类别 运算符 运算结果 优先级

算术运算符 +、-、*(乘)、/(除)、^(乘方)、mod(求余) 数值

关系运算符 >、=、<、>=、<=、<> True(T,1)或False(F,0)

逻辑运算符 not、and、or True(T,1)或False(F,0)

not>and>or

逻辑运算规则

A B A and B A or B C Not C

T T T T T F

T F F T F T

F T F T

F F F F

习题:

(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 2

int(c/b) >b-a F

a0 T

a+b>c or b+c>a and c+a>b T

二、算法的一些概念

1.算法的定义:解决问题的确定的有限的步骤。

2.算法的描述:自然语言、流程图描述、计算机程序、伪代码。

3.常量和变量:

变量的特点:取之不尽,赋值即覆盖

变量的命名规则:以字母、数字、下划线组成,必须以字母开头。

变量的类型:整数型(Integer)、实数型(Single)、字符串型(String)

4.算法的三种基本结构:顺序结构、分支结构、循环结构

(1)顺序结构

顺序结构按照自上而下的顺序把每个步骤执行一次。

步骤1步骤2

(2)分支结构(选择结构)

分支结构根据条件决定执行步骤1或步骤2中的算法步骤,判断框有一个入口两个出口,分支结构有一个入口,一个出口。

2 单分支语句格式

If Then

End If

5.算法的特点:可行性、确定性(无二义性)、有穷性、可以没有输入,必须要有输出。

三、算法实例

(一)顺序结构 练习1:输入一个圆的半径,求圆的周长和面积,并输出结果。

输入半径r输出c和s开始结束c←2*3.14*rs←3.14*r^2

练习2:输入一个两位数,交换个位和十位的值,输出结果。

输入一个两位数x输出y开始结束a←int(x/10)b←x mod 10 y=b*10+a

练习3:输入两个变量的值,将两个变量中的值互相交换并输出结果。

开始输入a,bc←aa←bb←c输出a,b结束 双分支语句格式

If Then

Else

End If

代码:

Dim a As Single,

Dim b As Single

a = InputBox("第一个数")

b = InputBox("第二个数")

c = a

a = b

b = c

Print a; b 代码:

Dim r As Single

r = InputBox("输入半径")

s = 3.14 * r ^ 2

c = 2 * 3.14 * r

Print "周长"; c

Print "面积"; s

代码:

x = InputBox("请输入")

a = Int(x / 10)

b = x Mod 10

y = 10 * b + a

Print y 步骤1步骤2条件YN条件NY步骤1 3 (二)分支结构(选择结构)

练习1:输入两个数,比较它们的大小,输出较大的数。

a>bYN开始输入两个数a,b结束输出a的值输出b的值

练习2:输入一个三位数,判断它是否是水仙花数(三位数各个数位上的立方和等于它本身)。

开始a^3+b^3+c^3=na=int(n/100)b=int(n/10)-a*10c=n mod 10结束输出”是水仙花数”输入n输出” 不是水仙花数”NY

练习3:输入一个数,求它的绝对值,并输出结果。

开始结束输入a输出a a<0 a=-aYN 代码:

Dim a As Single

Dim b As Single

a = InputBox("请输入")

b = InputBox("请输入")

If a > b Then

Print a

Else

Print b

End If

代码:

Dim n As Single

n = InputBox("输入一个三位数")

a = Int(n / 100)

b = Int(n / 10) - a * 10

c = n Mod 10

If a ^ 3 + b ^ 3 + c ^ 3 = n Then

Print "是水仙花数"

Else

Print "不是水仙花数"

End If

代码:

Dim a As Single

a = InputBox("请输入")

If a < 0 Then

a = -a

End If

Print a 4 练习4:阶梯电价

第一档 第二档 第三档

方案1 每月用电 <110度 110度-210度 >210度

电价 维持现有电价 超出部分上涨不低于5分钱 超出部分每度涨价不低于0.20元

方法一:(右边嵌套分支)

方法二:(左边嵌分支)

Dim x As Single

x = InputBox("输入用电")

If x < 110 Then

y = 0.61 * x

Else

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 If

End If

Print "电费"; y 开始结束输入用电x输出电费y x<110 y=0.61*x y=0.61*110+0.66*(x-110)x<=210 y=0.61*110+0.66*100+0.81*(x-210)YNYN开始结束输入用电x输出电费y x≥110YN y=0.61*xy=0.61*110+0.66*100+0.81*(x-210) x>210y=0.61*110+0.66*(x-110)YN 5 Dim x As Single

x = 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 If

Else

y = 0.61 * x

End If

Print "电费"; y

练习5:购买地铁车票:乘1-4站3元/位,5-9站4元/位,9站以上5元/位,输入站数和人数,输出应付款。

a<=4YN开始输入站数a,人数b结束输出mm=3*bm=4*bm=5*ba<=9YN

练习6:长江遂桥货车通行费收费标准(载重用w表示,收费用m表示)

13010至15吨(含15吨)1055吨至10吨(含10吨)14515吨以上952吨至5吨(含5吨)602吨及以下通行费载重 代码:

Dim a As Integer

Dim b As Integer

a = InputBox("输入站数")

b = InputBox("输入人数")

If a <= 4 Then

m = 3 * b

Else

If a <= 9 Then

m = 4 * b

Else

m = 5 * b

End If

End If

Print "应付款"; m 6 开始输入载重w输出费用m结束m=60m=95m=130w≤2m=105215Ym=145NAA

(三)循环结构(重复结构)

当遇到需要重复执行的操作时,可以用循环结构,循环结构有一个入口,一个出口。

当循环和直到循环的区别:当循环的循环体可能一次也不执行,直到循环的循环体至少执行一次。

1.输出系列问题

练习1:输出5个*

Dim w As Single

w = InputBox("输入载重")

If w <= 2

Then

m = 60

End If

If w > 2 And w <= 5 Then

m = 95

End If

If w > 5 And w <= 10 Then

m = 105

End If

If w > 10 And w <= 15 Then

m = 130

End If

If w > 15 Then

m = 145

End If

Print "应付款", m

Do while 条件

循环体语句

Loop 当循环的一般形式

循环体条件YN初始值Do

循环体语句

Loop Until 条件 直到循环的一般形式

循环体条件初始值YNn = 0

Do While n < 5

Print "*"

n = n + 1

Loop 开始输出”*”n←n+1n<5n=0YN结束