高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx

上传人:b****5 文档编号:28868524 上传时间:2023-07-20 格式:DOCX 页数:17 大小:224.44KB
下载 相关 举报
高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx_第1页
第1页 / 共17页
高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx_第2页
第2页 / 共17页
高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx_第3页
第3页 / 共17页
高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx_第4页
第4页 / 共17页
高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx

《高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx》由会员分享,可在线阅读,更多相关《高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx(17页珍藏版)》请在冰豆网上搜索。

高中信息技术学业水平考试综合复习粤教版 第四章 程序设计基础.docx

高中信息技术学业水平考试综合复习粤教版第四章程序设计基础

必修1数据与计算

第四章程序设计基础

4.1程序设计语言的基础知识

4.1.1Python的常量和变量

常量:

常量是指在程序运行过程中其值始终不发生变化的量,通常是固定的数值或字符串,在程序中可以直接使用。

变量:

变量是指在程序运行过程中其值可以发生变化的量,变量由变量的标识符(变量名)和变量的内容(赋值)两部分组成。

变量的命名:

标识符由字母(A-Z,a-z)、数字(0-9)、下划线(_)组成。

注意:

第一个字符必须是字母或下划线,不能是数字,如a1、_a;同时,字母区分大小写,如X和x、sum和Sum都是不同的标识符。

变量的赋值:

x=3表示将“=”右边的值赋给左边的变量。

4.1.2Python的数据类型

(1)Python支持以下三种不同的数值类型:

整型(int):

通常被称为整型或整数,是不带小数的数。

浮点型(float):

浮点型由整数部分与小数部分组成,如2.5。

复数(complex):

复数由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。

(2)String(字符串):

字符串是以单引号或双引号括起来的文本,如‘abc’、"xyz"等。

字符串的索引从0开始,-1为从末尾开始的位置。

索引号写在方括号[]里,以确定数据位置。

(3)List(列表):

列表是写在方括号“[]”之间、用逗号分隔开的元素列表,列表的数据项不需要具有相同的类型。

与字符串的索引一样,列表索引从0开始。

(4)Tuple(元组):

元组与列表相似,在Python中,写在小括号()之间,并用逗号来分隔元素的就是元组。

例如tuple1=(200,50)。

注意:

元组的元素不能修改。

(5)Sets(集合):

集合是一个无序不重复元素的序列,基本功能是进行成员关系测试和删除重复元素。

可以使用大括号{}或者set()函数创建集合。

(6)Dictionary(字典):

字典是无序的对象集合,用{}标识,它是一个无序的“键(key):

值(value)”对集合,在同一个字典中,键必须是唯一的。

4.1.3Python的运算符与表达式

(1)算术运算符与算术表达式

算术运算符

含义

例子

结果

+

5+2

7

-

5-2

3

*

5*2

10

/

5/2

2.5

//

整除

5//2

2

%

求余

5%2

1

**

幂运算

5**2

25

(2)逻辑运算符与逻辑表达式

逻辑运算符

逻辑表达式

描述

示例(a=0;b=1;c=2)

and

xandy

x为false,则返回false,否则返回y的计算值

(aandb)返回0

(candb)返回1

or

xory

x为true,则返回x的值,否则返回y的计算值

(aorb)返回1

(corb)返回2

not

notx

x为true返回false;x为false返回true

not(aandb)返回true

(3)关系运算符与关系表达式

由关系运算符连接而成的表达式称为关系表达式。

关系表达式的值:

True、False,对应整数1和0。

关系运算符

含义

示例

结果

>

大于

4>3

true

>=

大于等于

3>=3

true

<

小于

4<3

false

<=

小于等于

4<=3

true

==

等于

4==3

fasle

!

=

不等于

4!

=3

true

(4)赋值运算符与赋值表达式

对变量的赋值通过赋值运算符“=”来完成。

赋值号不是等号,具有方向性,由右边赋给左边的变量。

除了“=”外,还有以下赋值运算符。

赋值运算符

含义

示例

=

直接赋值

x=y

+=

加法赋值

x+=y

相当于x=x+y

-=

减法赋值

x-=y

相当于x=x-y

*=

乘法赋值

x*=y

相当于x=x*y

/=

除法赋值

x/=y

相当于x=x/y

//=

整除赋值

x//=y

相当于x=x//y

%=

求余赋值

x%=y

相当于x=x%y

**=

指数幂赋值

x**=y

相当于x=x**y

(5)成员运算符

Python中用成员运算符判断序列中是否有某个成员。

成员运算符

描述

示例

in

xiny,如果x是序列y的成员,则计算结果为true,否则为false

3in[1,2,3,4]结果为true

5in[1,2,3,4]结果为false

notin

xnotiny,如果x不是序列y的成员,则计算结果为true,否则为false

3notin[1,2,3,4]结果为false

5notin[1,2,3,4]结果为true

(6)

运算符的优先级

 

当一个表达式中有多种运算时,运算的顺序是根据运算符的优先级由高到低进行运算。

同级运算则按从左到右的顺序进行。

4.1.4Python的函数

4.2顺序结构

4.2.1数据的输入

格式:

<变量>=input(‘提示信息:

’)

input()函数的返回结果都是字符串,如果需要可将其转换为相应的类型再处理。

4.2.2数据的输出

格式:

print(object)

object是要输出的对象,可以是常量,变量或表达式

4.2.3顺序结构的应用

顺序结构是最常用、最简单的程序结构,其语句执行顺序是自上而下依次执行的。

4.3选择结构

4.3.1单分支if语句

格式:

if(条件表达式):

语句A

注意条件表达式后面有冒号,语句A要有缩进,语句A

如果是多个语句组成的复合语句时,所有语句严格遵循

相同的缩进。

4.3.2双分支if语句

格式:

if(条件表达式):

语句A

else:

语句B

注意:

条件表达式后面有冒号,语句A要有缩进,语句A和语句B如果是多个语句组成的复合语句时,所有语句严格遵循相同的缩进。

4.3.3多分支if...elif...else语句

格式:

if(表达式1):

语句1

elif:

(表达式2):

语句2

......

elif:

(表达式N):

语句N

else:

语句N+1

4.4循环结构

4.4.1for循环语句

格式:

for循环变量in列表:

语句或语句组

1.直接罗列的方式举例:

forvaluein[1,2,3,4,5]:

2.使用range()函数

range(start,stop,step)

计数从start开始(如果省略默认是0)

到stop结束(但不包括stop),

step表示步长,即间隔,(如果省略默认为1),step也可以是负数。

4.4.2while循环语句

格式:

while(表达式):

语句或语句组

while也叫当型循环,表达式是一个关系表达式或逻辑表达式,值为真(True)或假(False)whlie循环的循环体中必须有改变条件表达式值的语句,否则将成为死循环。

4.4.3循环嵌套

循环嵌套指的是某一种循环语句中包含着自身或其他循环语句,for循环或while循环之间可以相互嵌套。

第四章程序设计基础学业测试

一、单选题

1.在Python中,元素是无序不重复的是()。

A.列表B.元组C.集合D.字符串

【答案】:

C

【解析】:

见教材P69,集合是一个无序不重复元素的序列。

2.在以下运算符中,优先级最低的运算符是()。

A.*B.!

=C.+D.=

【答案】:

D

【解析】:

见P71表4-7运算符的优先级,指数→乘除→算术→关系→赋值→标识→成员→逻辑。

3.有以下程序段:

sum=1

foriinrange(1,5):

sum=sum*i

print(sum,i)

程序的运行结果为()。

A.245B.1205C.244D.1204

【答案】:

C

【解析】:

见教材P86可知,range(1,5)是生成一个1-4的整数,不包括5,所以本题为计算4的阶乘,结果为C。

4.在程序设计中,数据的()是最基本的操作之一。

A.输入B.输出C.输入输出D.计算

【答案】:

C

【解析】:

见教材P73原文:

数据的输入输出是最基本的操作之一。

5.在Python语言中,数据的输入是通过()来实现的。

A.input()函数B.print()函数C.output()函数D.abs()函数

【答案】:

A

【解析】:

见教材P73原文,input()函数实现数据输入。

6.在Python语言中,数据的输出是通过()来实现的。

A.input()函数B.print()函数C.output()函数D.abs()函数

【答案】:

B

【解析】:

见教材P74原文,print()函数实现数据输入。

7.顺序控制结构的程序执行过程是()依次执行的。

A.自上而下B.自下而上C.自外到内D.由内到外

【答案】:

A

【解析】:

见教材P74原文,顺序结构的程序是自上而下依次执行的。

8.input()函数的返回结果是()。

A.数值型B.集合C.列表D.字符串

【答案】:

D

【解析】:

见教材P73原文,input()函数的返回结果都是字符串。

9.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为()。

A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算

C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算

【答案】:

B

【解析】:

见P71表4-7运算符的优先级,算术→关系→赋值。

10.请判断如下程序的运行结果是将三个数()。

print(”请输入3个数:

")

x=int(input("x=”))

y=int(input("y="))

z=int(input("z="))

temp=0

ifx>y:

temp=y

y=x

x=temp

ifx>z:

temp=z

z=x

x=temp

ify>z:

temp=z

z=y

y=temp

print("这3个数新序列是:

",x,y,z)

A.从小到大排序B.从大到小排序

C.都变成最大的数D.都变成最小的数

【答案】:

A

【解析】:

该程序第一个if使x<=y,第二个if使x<=z,第三个if使y<=z,最后x<=y<=z,所以选A。

11.在Python语言中,通过关键字()来定义函数。

A.defB.functionC.funD.procedure

【答案】:

A

【解析】:

见教材P94页拓展,函数的定义与调用可知,Python采用def定义函数。

12.在Python语言中,求数组长度用()函数。

A.sizeB.lenC.lengthD.str

【答案】:

B

【解析】:

见教材P71,数组长度用len()函数求解。

13.在Python语言中,如果a是一个长度为10的数组,请问a[-1]()。

A.表示数组a的第1个元素B.表示数组a的第9个元素

C.表示数组a的最后1个元素D.会发生下标越界,出现错误

【答案】:

C

【解析】:

见教材P68,数组的下标索引同字符串,从左至右0开始,从右以-1开始。

14.在Python语言中,如果a是一个整数,请问以下表达式恒为False的是()。

A.a%5==0B.a>3anda<4C.a>3ora<3D.a==True

【答案】:

B

【解析】:

A项%为求余数函数,a整除5时为True,不能整除5时为False,不能恒为False;B项a为整数既大于3又小于4,是不可能存在的,所以恒为False;C项是有可能为真的;D项非0整数都为真。

15.在Python语言中,如果a是一个集合,以下哪个语句可以添加一个元素?

()

A.a.append

(1)B.a.extend

(1)C.a[1]=3D.a.add

(1)

【答案】:

D

【解析】:

给数组添加元素的方法是append,给集合添加元素的方法是add,即a.add(元素值)。

二、思考题

16.编写函数,接收一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。

如果存在多组符合条件的素数,则全部输出。

【答案】:

importmath

defIsPrime(n):

#判断是否为素数

flag=True

foriinrange(2,int(math.sqrt(n))+1):

ifn%i==0:

flag=False

break

returnflag

defdemo(n):

ifn>0andn%2==0:

#判断n为大于0的偶数

#利用二分法找出小于n/2的素数

foriinrange(3,int(n/2)+1):

ifIsPrime(i)andIsPrime(n-i):

print(n,'=',i,'+',n-i)

else:

print("输入数据不符合要求,请输入正偶数!

")

a=int(input("请输入一个正偶数:

"))

demo(a)

【解析】:

见答案程序。

运行结果示例:

请输入一个正偶数:

36

36=5+31

36=7+29

36=13+23

36=17+19

17.反向输出一个三位数。

将一个三位数反向输出,例如输入358,反向输出853。

输入:

一个三位数n;输出:

反向输出n

样例输入:

100,样例输出:

001

请问如何保证输出结果中001前面的“0”不丢失?

请编程序解决此问题。

【答案】:

n=int(input("请输入一个三位整数:

"))

x=n%10#取出个位数

y=(int(n/10))%10#取出十位数

z=int(n/100)#取出百位数

print("n的反向输入结果为:

",x*100+y*10+z)

【解析】:

见答案

三、情境题

18.选手得分问题。

学校要举行辩论赛,请写一个程序计算选手的最终得分,计算规则为去掉最高分和最低分,然后计算平均分。

分行完成输入多个评委的打分。

输入的分数保证是0~100之间的整数。

例如:

输入:

6(6个评委,以下6个数分别是6个评委的评分)

92

88

98

65

76

82

输出:

84.5(选手的最终得分)

【答案】:

fromnumpyimport*

print('请先输入评委人数,再依次输入评委的分数,分数为0~100的整数。

')

n=int(input('输入评委人数:

'))

score_all=[]

foriinrange(1,n+1):

score=int(input('评分:

'))

score_all.append(score)

average=(sum(score_all)-max(score_all)-min(score_all))/(n-2)

print('选手的平均得分为:

','%.2f'%average)

【解析】:

见答案

19.苹果和虫子问题。

你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。

虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

输入:

输入仅三行,包括n,x和y(均为整数)

输出:

输出也仅一行,剩下的苹果个数

样例输入:

10

4

9

样例输出:

7

【答案】:

n=int(input("请输入苹果数n:

"))

x=int(input("请输入多少小时能吃掉一个苹果的值x:

"))

y=int(input("经过的总时间y:

"))

t=y//x

n=n-t

ify!

=x*t:

n=n-1

else:

n=n

print("剩余苹果数:

",n)

【解析】:

见答案

20.百钱买百鸡问题。

百钱买百鸡问题记载于中国古代5-6世纪成书的《张邱建算经》中的一道经典不定方程组的问题,其重要之处在于开创“一问多答”的先例,这是过去中国古算书中所没有的。

其问题是这样的:

今有鸡翁一,值钱伍;鸡母一,值钱三;鸡雏三,值钱一。

凡百钱买鸡百只,问鸡翁、母、雏各几何?

请编程求解这个问题。

提示:

利用循环结构进行问题求解,其中三种鸡数量x,y,z同时符合如下两个条件:

x+y+z=100,5x+3y+z/3=100。

【答案】:

forxinrange(1,21):

foryinrange(1,34):

forzinrange(1,101):

ifx+y+z==100and5*x+3*y+z/3==100:

print('鸡公、鸡母、小鸡的数量分别为:

',x,y,z)

【解析】:

见答案

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

当前位置:首页 > 初中教育 > 语文

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

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