浙教版信息技术选修1第2章2.1数组

2024-08-16
| 36页
| 480人阅读
| 2人下载
特供

内容正文:

数 组 1、存储模式:顺序存储和非顺序存储 计算机中数据的存储模式分为顺序存储和非顺序存储,所有数据结构的存储也可以分为这两类,而作为常用数据结构中的数组与链表,就是这两种存储模式的典型代表,其他的数据结构都是在这两种数据结构的基础上构建的。 2、浅拷贝(联动): 3、一维数组 和 二维数组 4、静态数组 和 动态数组 qp=[[0]*4]*4 0 2 0 1 1 0 2 2 b[0] b[1] b[2] b[3] b[4] 0 1 0 0 一维数组 0 1 0 0 二维数组 0 2 0 0 0 空白 1 黑子 2 白子 0 1 0 0 1 2 2 0 0 2 0 1 0 2 0 0 数组名:qp 列位置下标: 0 1 2 3 行位置下标:0 1 2 3 数组元素:qp[0][0], qp[0][1],……, qp[3][3], 0 0 0 0 1 2 2 0 0 2 0 1 0 2 0 0 行下标i从0到4, 列下标j从0到5, 每个元素占8个字节, 问:存储该数组 所需要的空间为多少? qp=[[0]*4]*4 规模较小 规模较大 9行8列 a行b列 请用代码呈现 qp=[ [0 for i in range(9)] for j in range(8) ] qp=[ [0 for i in range(8)] for j in range(9) ] 函数和方法 功能 实例 len(list) 统计列表list中元素个数 list=[] print(len(list)) 输出为:0 list.append(x) 在列表中list末尾添加元素x list=[22,33,44] list.append(55) print(list) 输出为:[22,33,44,55] list.insert(i,x) 在列表list中下标为i处插入元素x list=[“A”, ”B”, ”D”] list.insert(2,”C”) print(list) 输出为:[“A”, ”B”, ”C”,”D”] list.pop(i) 将列表list中下标为i的元素删除,若i不指定,默认为-1,即最后一个 list=[“A”, ”B”, ”C”,”D”] list.pop(2) print(list) 输出为:[“A”, ”B”, ”D”] 函数和方法 功能 实例 len(list) 统计列表list中元素个数 list=[] print(len(list)) 输出为:0 list.append(x) 在列表中list末尾添加元素x list=[22,33,44] list.append(55) print(list) 输出为:[22,33,44,55] list.insert(i,x) 在列表list中下标为i处插入元素x list=[“A”, ”B”, ”D”] list.insert(2,”C”) print(list) 输出为:[“A”, ”B”, ”C”,”D”] list.pop(i) 将列表list中下标为i的元素删除,若i不指定,默认为-1,即最后一个 list=[“A”, ”B”, ”C”,”D”] list.pop(2) print(list) 输出为:[“A”, ”B”, ”D”] 使用以上列表的函数和方法后,可以将由列表模拟实现的数组视为动态数组,其中的增加、删除数组元素的操作由相应的函数实现。 数组听写 1.统计数组a的元素个数函数是 ① . 2.在数组a中下标为k处插入元素x, 方法一:用函数表达式是 ② . 方法二:移动数据 a=a+[0] for i in range(len(a)-1, ③ ,-1): ④ a[k]=x 3.将数组a中下标为k的元素删除的函数表达式是 ⑤ . 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11 蛇形矩阵,是矩阵的一种,常被应用在编程题目与数学数列中,请根据右图,将程序补充完整 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11 def snake_matrix(n): a=[[0 for i in range(n)] for j in range(n)] left,right,low,high=0,n-1,0,n-1 s=1 while left<=right: for i in range(left,right+1): #顺序横向 a[low][i]=s s+=1 low+=1 #下移一行 for i in range(low,high+1): #逆序横向 a[i][right]=s s+=1 right-=1 #左移一位 #主函数部分 size=6 #蛇形矩阵大小 a=snake_matrix(size) #调用生成蛇形矩阵的函数 for i in range(size): #输出蛇形矩阵 for j in range(size): print(f"{a[i][j]:3}",end="") print() for i in range(right, left - 1,-1): # 逆序横向 a[high][i] = s s += 1 high -= 1 # 上移一行 for i in range(high, low - 1,-1): # 逆序纵向 a[i][left] = s s+= 1 left+=1 # 右移一位 return a #逆序横向 #上移一行 (1) (2) (3) (4) 蛇形矩阵如何用代码实现 ① 思路: 1观看视频1-36逐步累加,每运行一次+1,结合代码,推出? 2变量 left,right 列 low, high 行 3结合右图(1)是列的变化,所以range( Left >> Right ) 图(2)是行的变化,所以range( low >> high ) …… 4图(1)运行完以后,少了1行,所以low+=1 图(2) 5还有一个空自己分析 (1) (3) (2) (4) 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11 def snake_matrix(n): a=[[0 for i in range(n)] for j in range(n)] left,right,low,high=0,n-1,0,n-1 s=1 while left<=right: for i in range(left,right+1): #顺序横向 a[low][i]=s s+=1 low+=1 #下移一行 for i in range(low,high+1): #逆序横向 a[i][right]=s s+=1 right-=1 #左移一位 #主函数部分 size=6 #蛇形矩阵大小 a=snake_matrix(size) #调用生成蛇形矩阵的函数 for i in range(size): #输出蛇形矩阵 for j in range(size): print(f"{a[i][j]:3}",end="") print() for i in range(right, left - 1,-1): # 逆序横向 a[high][i] = s s += 1 high -= 1 # 上移一行 for i in range(high, low - 1,-1): # 逆序纵向 a[i][left] = s s+= 1 left+=1 # 右移一位 return a #逆序横向 #上移一行 (1) (2) (3) (4) C C C i==j or i==n-1-j grid[i][j]!=0 Lavf57.83.100 $$

资源预览图

浙教版信息技术选修1第2章2.1数组
1
浙教版信息技术选修1第2章2.1数组
2
浙教版信息技术选修1第2章2.1数组
3
浙教版信息技术选修1第2章2.1数组
4
浙教版信息技术选修1第2章2.1数组
5
浙教版信息技术选修1第2章2.1数组
6
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。