python二级笔记
说明
最新文档地址:https://zdfx6jzjhp.feishu.cn/docs/doccnMUPH5koZ2yeCgchk6sBg5e
@all 特别说明所有内容均是个人学习笔记,请勿其他用途。
题目选择上比较简单的题没有做上去
公共基础题
资料来源:
下载(扫描增强版):https://www.123pan.com/s/UqzA-LHdr3 提取码:9999
指令周期、执行时序、执行速度、指令周期

顺序程序、并发程序

1.顺序程序设计,是指所设计的程序具有以下 3个特点:
①程序所规定的动作严格地按顺序执行,即每个动作都必须在上一个动作执行完成以后才
开始。或者说,每个动作都必须在下一个操作开始执行之前结束。这就是程序的顺序性。
②程序一旦开始执行,其计算结果不受外界因素的影响。也就是说,顺序程序的静态文本
与其计算过程有着一一对应的关系。这就是顺序程序的封闭性。
③在程序运行过程中,任何两个动作之间的停顿,对程序的计算结果不发生任何影响,即程
序的计算结果与它的运行速度无关。只要给定相同的初始条件,并给以同样的输入,重复执行同
一个程序一定会得到相同的结果。这就是顺序程序的可再现性。
即顺序程序所具有的顺序性、封闭性和可再现性的特点,使得程序设计者能够控制程序执行
的过程(包括执行顺序 、执行时间),对程序执行的中间结果和状态可以预先估计,这样就可以方
便地进行程序的测试和调试。
为了充分利用系统资源,提高系统的效率,除了在硬件上采用通道技术、中断技术等措施,使设备间实现并行操作外,还要从软件上采取相应的措施,使多个程序能并发执行。
2.所谓多个程序并发执行(concurrent execution),是指一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的 执行已经开始的这种执行方式。只有在多处理机系统中才可能做到物理上的真正并行,而在单处理机的系统中,这些程序只能在逻辑上或在宏观上做到并行执行。也就是说,在单处理机的情 况下、并发执行是指多个程序的运行在时间上是重迭的,而并不是说这些程序在某一时刻同时占用处理机在运行。
多个程序并发执行是多道程序系统的特点。显然,并发程序的执行情况与顺序程序的执行 情况是很不相同的,它比顺序程序的执行情况要复杂得多,程序设计时要考虑的因素也多得多。考虑各种并行性的程序设计方法称为并发程序设计。
并发程序在执行过程中有以下几个特点:
(1)并发程序没有封闭性
顺序程序具有封闭性,程序执行后的输出结果与时间无关。但是,在并发程序的执行过程
中,某个程序中的变量可能被另外程序的执行所改变;或者某个程序中的变量在用另外一个程序
输出时,不同时刻其输出值可能是不一样的。即并发程序的输出结果与各程序执行的相对速度
有关,失去了程序的封闭性这个特点。
例1.1 设有两个并发程序 A 和 B互相独立地运行,如图1.8所示。当程序 A执行到I时、
由于某个原因将控制转到执行程序 B,由程序 B打印n 的值为0,而后当程序 B运行到I,时,又
将控制转到执行程序 A,接着I,之后继续执行。
现假设程序 B 运行的速度慢一些,如果在程序 A运行到I、时,才将控制转到执行程序 B(如
图中虚线所示),此时由程序 B打印的 n 值为1,而不是0。
从这个例子可以看出,程序 B的运行结果与它们的相对运行速度有关,这就说明程序没有
封闭性。因为程序的执行结果与时间有关,因此,结果是不可再现的,即使输入相同的初始条件,
也可能得到不同的结果,这称为"结果的不确定性"。
(2)程序与其执行过程不是一一对应的关系
在顺序程序设计中,程序的封闭性决定了程序与其执行过程是完全对应的,程序的执行路
径、执行时间和所执行的操作都可以从程序中反映出来。但在多道程序并发执行的情况下,程序
的执行过程由当时的系统环境与条件所决定,程序与其执行过程就不再有一一对应的关系。当
多个执行过程共享某个程序时,它们都可以调用这个程序,调用一次即对应一个执行过程,也就
是说,这个共享的程序对应多个执行过程。
(3)程序并发执行可以互相制约
并发程序的执行过程是复杂的,这是因为它们之间不但可能有互为因果的直接制约关系,而且还可能由于共享某些资源或过程而具有间接的互相制约关系。
算法的时间和空间复杂度

时间复杂度指的是计算工作量
空间复杂度是指存储空间
× 非线性结构一定不能采用顺序存储结构
二叉树就是非线性但是可以顺序储存

二叉树的遍历

完全二叉树除了最后一层都是满的
二叉树节点计算
总节点数=所有度数节点数*度数+1
总结点数=所有度下节点数之和


设度为0的节点=x个
度为2的节点=x+1
由题意度为0的几点有1个,很好理解因为节点有偶数个(完全二叉树),根节点要和某个节点拼凑陈偶数
x+x+1+1=2n
x=n-1

总节点数=所有节点数的度数之和+1

利用性质3

结构化程序(顺序、选择、循环结构)


😒理解维护、效率
计算机系统


E-R模型
E-R模型是一种概念模型
⭐数据库概念设计阶段得到的是E-R模型


计算机硬件

储存器的价格:
寄存器>缓存>主储存器(就是内储存器通常所说的内存 RAM ROM)>辅助储存器(硬盘就是外部储存器)
速度:
寄存器>缓存>主储存器(就是内储存器通常所说的内存 RAM ROM)>辅助储存器(硬盘就是外部储存器)
外存(辅助储存器)数据要先读入内存(主储存器)然后才能被CPU读取
前中后序遍历

前序遍历第一个为A那么根节点为A
数据库


关系模型


列称为属性、一行成为元组、关系模型(关系模式)是二维表
CPU

虚拟内存

循环链表

栈\列表\循环队列 元素的计算
🙌 列表元素的计算适用于循环队列



🙌 列表元素的计算适用于循环队列

关系代数

B和D做等值运算
原码、补码、反码

查找和排序(顺序、二分法...)





软件工程

软件测试

测试 发现错误
调试 改正错误
数据流程图

缓冲

总线


范式
1NF不可再分
2NF完全依赖主键
3NF无传递依赖

课程名可以再分

教师地址由教师名决定(非主键)
软件结构


数据模型

关系模型
“节” “操”约束


多对一
进程

其他


这个题有瑕疵,一本书当然只能由一个人借阅
按他的意思是:图书馆《莎士比亚》有两本,这两本可以有两个人借阅
进制转换
Python进制表示方法
记忆👍2 8 16 box


幂乘除模整(运算顺序)

取模 % 余数
取整 //
例如:

综合题
进制转换
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
b、d、o、X(X大写) 分别是二进制、十进制、八进制、十六进制。
format的顺序 填充 对齐 位数 进制

s = input("请输入一个十进制数:")
num = int(s)
print("转换成二进制数是:{:b}".format(num))
turtle绘图
太阳花 10度
正n边形 (n-2)*180/n

(12-2)*180 /12=150
字符串处理
upper() 大写
lower() 小写




















浙公网安备 33010602011771号