当前位置:首页 >> 其它课程 >>

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


信息技术算法与程序设计习题集
一、常见的运算 类别 算术运算符 关系运算符 逻辑运算符 逻辑运算规则 A T T F F B T F T F A and B T F F F A or B T T T F C T F Not C F T 运算符 +、-、*(乘) 、/(除) 、^(乘方) 数值 、 mod(求余) >、=、<、>=、<=、<&

gt; not、and、or True(T,1)或 False(F,0) True(T,1)或 False(F,0) not>and>or 运算结果 优先级

习题: (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 a<b and (c-a)/2>0 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 中的算法步骤,判断框有一个入口两个出口,分支结构 有一个入口,一个出口。
1

Y 步骤1

条件

N 步骤2

双分支语句格式 If <条件> Then <步骤 1 的语句块> Else <步骤 2 的语句块> End If

条件 Y 步骤1

N

单分支语句格式 If <条件> Then <步骤 1 的语句块> End If

5.算法的特点:可行性、确定性(无二义性) 、有穷性、可以没有输入,必须要有输出。 三、算法实例 (一)顺序结构 练习 1:输入一个圆的半径,求圆的周长和面积,并输出结果。
开始 输入半径r

c←2*3.14*r s←3.14*r^2 输出c和s 结束

代码: Dim r As Single r = InputBox("输入半径") s = 3.14 * r ^ 2 c = 2 * 3.14 * r Print "周长"; c Print "面积"; s

练习 2:输入一个两位数,交换个位和十位的值,输出结果。
开始 输入一个 两位数x a←int(x/10) b←x mod 10 y=b*10+a 输出y 结束

代码: x = InputBox("请输入") a = Int(x / 10) b = x Mod 10 y = 10 * b + a Print y

练习 3:输入两个变量的值,将两个变量中的值互相交换并输出结果。
开始 输入a,b c←a a←b b←c 输出a,b 结束

代码: Dim a As Single, Dim b As Single a = InputBox("第一个数") b = InputBox("第二个数") c = a a = b b = c Print a; b
2

(二)分支结构(选择结构) 练习 1:输入两个数,比较它们的大小,输出较大的数。
开始 输入两个 数a,b

Y 输出a的值

a>b

N 输出b的值

结束

代码: Dim a As Single Dim b As Single a = InputBox("请输入") b = InputBox("请输入") If a > b Then Print a Else Print b End If

练习 2:输入一个三位数,判断它是否是水仙花数(三位数各个数位上的立方和等于它本身)。
开始 输入n a=int(n/100) b=int(n/10)-a*10 c=n mod 10 N a^3+b^3+c^3=n 输出” 不是 水仙花数”

Y
输出”是水 仙花数”

结束

代码: 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

练习 3:输入一个数,求它的绝对值,并输出结果。
开始 输入a a<0 Y a=-a N

代码: Dim a As Single a = InputBox("请输入") If a < 0 Then a = -a End If Print a

输出a 结束

3

练习 4:阶梯电价 第一档 每月用电 方案 1 电价 <110 度 第二档 110 度-210 度 第三档 >210 度

维持现有电价 超出部分上涨不低于 5 分钱 超出部分每度涨价不低于 0.20 元
开始 输入用电x Y x<110 Y y=0.61*x y=0.61*110+0.66*(x-110) y=0.61*110+0.66*100+0.81*(x-210) N x<=210 N

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

输出电费y 结束

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 x>210 N y=0.61*x y=0.61*110+0.66*100+0.81*(x-210) y=0.61*110+0.66*(x-110) N

输出电费y 结束
4

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 元/位,输入站数和人数,输出 应付款。 代码: 开始 Dim a As Integer Dim b As Integer 输入站数a, a = InputBox("输入站数") 人数b b = InputBox("输入人数") If a <= 4 Then a<=4 N Y m = 3 * b Else N Y a<=9 m=3*b If a <= 9 Then m = 4 * b m=4*b m=5*b Else m = 5 * b End If 输出m End If Print "应付款"; m
结束

练习 6:长江遂桥货车通行费收费标准(载重用 w 表示,收费用 m 表示)
载重 2吨及以下 2吨至5吨(含5吨) 5吨至10吨(含10吨) 10至15吨(含15吨) 15吨以上 通行费 60 95 105 130 145

5

开始 输入载重w

A

N w≤2 Y m=60 N 10<w≤15 Y m=130 N

2<w≤5 Y m=95

N

w>15 Y m=145

输出费用m 5<w≤10 Y m=105 A N 结束

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

(三)循环结构(重复结构) 当遇到需要重复执行的操作时,可以用循环结构,循环结构有一个入口,一个出口。 当循环的一般形式
初始值

直到循环的一般形式
初始值

条件 Y 循环体

N

Do while 条件 循环体语句 Loop
N 循环体

Do 循环体语句 Loop Until 条件
条件 Y

当循环和直到循环的区别:当循环的循环体可能一次也不执行,直到循环的循环体至少执行一次。 1.输出系列问题 练习 1:输出 5 个*
开始

n=0

N n<5 Y 输出”*”

n = 0 Do While n < 5 Print "*" n = n + 1 Loop

n←n+1

结束

6

练习 2:输出 1,2,3,4,5 方法一:用次数来控制循环
开始 a=1 n=0 N n<5 Y 输出a a=a+1 n=n+1
结束

方法二:用输出的数字来控制循环
开始 a=1 N a<=5 Y 输出a a=a+1

a = 1 Do While a < =5 Print a a = a + 1 Loop

结束

练习 3:输出 2 ,2 ,2 ,2 ,2 的值 方法一:把 a 当成整个数
开始 a=2 N

1

2

3

4

5

方法二:把 a 当指数
开始 a=1 N

a<=32 Y 输出a a=2*a

a<=5 Y 输出2^a a=a+1

结束

结束

2.求和系列问题 练习 1:求 1+2+3+4+5 的和
开始 s=0 n=1 N n<=5 Y s=s+n n=n+1

输出s 结束

7

练习 2:求 1+3+5+7+9 的和
开始 s=0 n=1 N n<=5 Y s=s+2*n-1 n=n+1

练习3:求2 +2 +2 +2 +2 的和
开始 s=0 n=1 N n<=9 Y s=s+n n=n+2

1

2

3

4

5

开始 s=0 n=1 N n<=5 Y s=s+2^n n=n+1

开始 s=0 n=2 N n<=32 Y s=s+n n=n*2

输出s 结束

输出s 结束

输出s 结束

输出s 结束

练习 4: 求 1×2+2×3+3×4+4× 5+5×6 的和。
开始 s=0 n=1 N n<=5 Y s=s+n*(n+1) n=n+1

练习 5:求 1+2+3+??+k 的和, 其中 k 由键盘输入。
开始 输入k s=0 n=1 N n<=k Y s=s+n n=n+1 输出s 结束

练习 6:求 1*2*3*4*5 的积

开始 s=1 n=1 N n<=5 Y s=s*n n=n+1 输出s 结束

输出s 结束

练习 7:求 1+2+3+??加到第几项和超过 5? 方法一:用 i 来计算项数
开始 s=0 n=1 i=0 N

方法二

开始 s=0 n=1 N

s<=5 Y s=s+n n=n+1 i=i+1 输出i 结束

s<=5 Y s=s+n n=n+1 输出n-1 结束

8

练习 8:求输入的 5 个数的平均值(如 70,60,80,50,90) 方法一:不用数组
开始 s=0 n=0 N

n<5 Y 输入a s=s+a n=n+1

Dim a As Single s = 0 n = 0 Do While n < 5 a = InputBox("输入数据") s = s + a n = n + 1 Loop Print s / 5

方法二:用数组
开始 s=0 n=1 N

n<=5 Y 输入a(n) s=s+a(n) n=n+1

输出s/5

输出s/5
结束

结束

练习 9:输入若干个数的和,输入-1 时结束。(如输入 60,50,40,-1)
开始 s=0 输入a N a<>-1 Y s=s+a 输入a 输出s 结束

3.循环结构中嵌套分支结构 练习 1:统计 I 级天数
开始 n=1 c=0 N n<=5 Y a(n)<=50 Y c=c+1 n=n+1 N

输出c 结束

n = 1 c = 0 Do While n <= 5 If a(n) <= 50 Then c = c + 1 End If n = n + 1 Loop Print "I 级天数"; c

9

练习 2:求 5 个数的最大值, 练习 3:求 5 个数的最小值,并 并输出最大值的位置。 输出最小值的位置。
开始 max=a(1) n=2 d=1 N n<=5 Y N a(n)>max Y max=a(n) d=n
a(n)<min Y min=a(n) d=n n<=5 Y N 开始 min=a(1) n=2 d=1 N

练习 4:求输入的 5 个数中正数的和
开始 s=0 n=0 N Y 输入a N a>0 Y s=s+a n=n+1 输出s 结束

n<5

n=n+1

n=n+1

输出max,d 结束

输出min,d 结束

4.直到循环 练习 1:输出 5 个*
开始 n=0

输出"*" n=n+1 N n>=5 Y 结束

n=0 Do Print "*" n=n+1 Loop Until n >= 5

练习 2:求 1+2+4+7+11 的和
开始 s=0 a=1 n=1 s=s+a a=a+n n=n+1 N n>5 Y 输出s 结束

s=0 a=1 n=1 Do s=s+a a=a+n n=n+1 Loop Until n > 5 Print s

10

初始值 第1次 第2次 第3次 第4次 最后一次 ?^10 ?^1 ?^2 ?^3 ?^4 5.数组:数组是一种特殊的变量,它在内存中的位置是连续的,用于存储一批类型、作用相同的数据。 A 11 2 3 4 5 1 数组元素的下标可以是常量也可以是变量,也可以是一个表达式,可以从 0 开始,数组元素可以参与运 A<=100 Y Y Y Y Y N 算,和普通的变量一样。 练习 1:输入 10 个数,再将其逆序输出。
开始 n=1 A n=10

?^A

n<=10 Y 输入a(n) n=n+1

N

n>=1 Y 输出a(n) n=n-1

N

Dim d(10) As Single n=1 Do While n <= 10 a(n) = InputBox("输入") n=n+1 Loop n = 10 Do While n >= 1 Print a(n) n=n-1 Loop

A

结束

6.枚举算法:列举出各种可能的情况并逐一进行检验,根据检验的结果执行相应的操作, “枚”是一个 一个, “举”是列举。 枚举算法的优点:有非常高的准确性和全面性;枚举算法的缺点:效率不高;枚举算法的注意事项:不 能重复也不能遗漏;枚举算法的一般结构:循环结构中嵌入分支结构;枚举法的关键:列举和检验。 练习 1:输出所有的水仙花数。 练习 2:有一 5 位数的编号,十位数 (水仙花数是指三位数各数位 处已模糊不清 147*8,是 57 或 67 的 上数字的立方和等于它本身) 倍数,输出所有这样的 5 位数。
开始 n=100

练习 3:今有鸡兔同笼,共有 35 个头,94 只脚,问鸡和兔各 有几只?
开始 x=1

开始 n=0
N

n<=999 Y a=int(n/100) b=int(n/10)-a*10 c=n mod 10

N n<=9 Y x=14708+n*10 N
x<=34 Y y=35-x

N

N 2*x+4*y=94 Y 输出x,y x=x+1

N a^3+b^3+c^3=n Y 输出n n=n+1

x mod 57=0 or x mod 67=0 Y 输出x n=n+1

结束

结束

结束

7.解析算法:根据题目中给出的已知条件,找出已知条件与要求结果之间的数学表达式,并通过表达 式的计算来实现问题求解的方法。 解析法的关键:寻找正确的数学表达式。 8.计算机解决问题的一般过程:分析问题——设计算法——编写程序——上机调试
11


相关文章:
高中信息技术_算法与程序设计题库(含答案)
高中信息技术_算法与程序设计题库(含答案)_其它课程_高中教育_教育专区 暂无评价|0人阅读|0次下载|举报文档高中信息技术_算法与程序设计题库(含答案)_其它课程_...
高中信息技术算法与程序设计练习
高中信息技术算法与程序设计(VB)练习题 一、选择题: 1.下列各组控件都具有 Caption 属性的是 A.窗体、文本框 A.窗体、文本框 B.标签、定时器 B.标签、按钮...
高中信息技术 算法与程序设计题库(含答案)
高中信息技术 算法与程序设计题库(含答案)_计算机软件及应用_IT/计算机_专业资料。高中信息技术 算法与程序设计题库(含答案)算法与程序设计会考题库算法与程序设计...
高中信息技术 算法与程序设计教案 沪教版选修1
解析法一、基本说明 1、 教学内容所属模块:信息技术选修 1《 算法与程序设计》 2、 年级:高一年级 3、 所用教材出版单位:上海科技教育出版社 4、 所属的章节...
科教版高中信息技术选修《算法与程序设计》复习题
高中信息技术选修《算法与程序设计》复习题 一、选择题部分(100 题) 一章一节...“中国”&”上海”&”世博会”结果是( )。 A、”中国上海世博会” A、 "...
高中信息技术算法与程序设计选择题有答案
高中信息技术算法与程序设计选择题有答案_其它课程_高中...上海交大的"饮水思源"是深受网友喜爱的一个站点,他...集合法 答案:C 126、下列( )不是 Visual Basic ...
高一信息科技算法与程序设计复习
高中信息技术 算法与程序... 9页 免费 上海高一信息科技第一学... 4页 免费...信息科技算法与程序设计复习 信息科技算法与程序设计复习 科技算法与程序设计一、...
高中信息技术《算法与程序设计》练习
高中信息技术算法与程序设计》练习高中信息技术算法与程序设计》练习隐藏>> 《算法与程序设计》练习 (满分:100 分) 说明:本卷分为第一卷和第二卷两部分.第...
高中信息技术算法与程序设计(VB)练习题
高中信息技术算法与程序设计(VB)练习题_电脑基础知识_IT/计算机_专业资料。高中信息技术算法与程序设计(VB)练习题高中信息技术算法与程序设计( ) 高中信息技术算法与...
更多相关标签: