python二级笔记

 

说明

最新文档地址:https://zdfx6jzjhp.feishu.cn/docs/doccnMUPH5koZ2yeCgchk6sBg5e

@all 特别说明所有内容均是个人学习笔记,请勿其他用途。

题目选择上比较简单的题没有做上去


 

公共基础题

资料来源:首页 (ishare20.net)

下载(扫描增强版):https://www.123pan.com/s/UqzA-LHdr3 提取码:9999

 

指令周期、执行时序、执行速度、指令周期

image-20220306212614669

拼图-扫描全能王 2022-03-08 09.37

顺序程序、并发程序

 

image-20220306212937411

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)程序并发执行可以互相制约

并发程序的执行过程是复杂的,这是因为它们之间不但可能有互为因果的直接制约关系,而且还可能由于共享某些资源或过程而具有间接的互相制约关系。

 

 

算法的时间和空间复杂度

image-20220306220618987

时间复杂度指的是计算工作量

空间复杂度是指存储空间

 

× 非线性结构一定不能采用顺序存储结构

二叉树就是非线性但是可以顺序储存

image-20220310215219408

 

二叉树的遍历

image-20220308135542379

完全二叉树除了最后一层都是满的

 

 

二叉树节点计算

总节点数=所有度数节点数*度数+1

总结点数=所有度下节点数之和

img

image-20220311213956071

设度为0的节点=x个

度为2的节点=x+1

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

x+x+1+1=2n

x=n-1

 

image-20220307214057327

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

 

image-20220308104158910

利用性质3

 

image-20220308130845446

 

 

 

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

image-20220308094442561

image-20220307215346569

 

 

img

😒理解维护、效率

 

计算机系统

image-20220307215942307

IMG_20220307_215841_edit_9141802116833.jpg

image-20220308094625857

img

 

E-R模型

E-R模型是一种概念模型

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

 

image-20220307220336025

img

img

img

image-20220311220451885

 

计算机硬件

image-20220308092023385

储存器的价格:

寄存器>缓存>主储存器(就是内储存器通常所说的内存 RAM ROM)>辅助储存器(硬盘就是外部储存器

 

速度:

寄存器>缓存>主储存器(就是内储存器通常所说的内存 RAM ROM)>辅助储存器(硬盘就是外部储存器

 

外存(辅助储存器)数据要先读入内存(主储存器)然后才能被CPU读取

 

前中后序遍历

image-20220308094243196

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

数据库

image-20220308113611637

image-20220315211420587

 

 

关系模型

image-20220308095140545

image-20220308095901333

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

img

 

 

CPU

image-20220308100058279

 

img

 

虚拟内存

image-20220308100307003

循环链表

image-20220308100637664

img

 

栈\列表\循环队列 元素的计算

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

img

img

image-20220315211155311

image-20220308102150603

image-20220308104043091

 

image-20220308124038979

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

image-20220308130616359

 

 

关系代数

image-20220308114113079

 

image-20220308114228732

B和D做等值运算

img

img

img

 

原码、补码、反码

image-20220308122431606

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

img

image-20220308123245582

image-20220308130355513

image-20220308131227521

image-20220308135322817

image-20220315210916614

 

软件工程

image-20220308125041571

img

 

软件测试

image-20220316132039134

测试 发现错误

调试 改正错误

 

数据流程图

 

image-20220316131950832

 

 

 

缓冲

image-20220308130231365

总线

 

img

image-20220308134657544

 

 

 

范式

1NF不可再分

2NF完全依赖主键

3NF无传递依赖

 

 

image-20220308134538934

课程名可以再分

image-20220317214357097

教师地址由教师名决定(非主键)

软件结构

拼图-扫描全能王 2022-03-10 21.32_1

image-20220311220306070

数据模型

image-20220310213231487

 

 

 

关系模型

“节” “操”约束

image-20220310214015402

image-20220315211901656

多对一

 

进程

image-20220310214816252

 

 

其他

image-20220308122526372

 

image-20220308134223953

这个题有瑕疵,一本书当然只能由一个人借阅

按他的意思是:图书馆《莎士比亚》有两本,这两本可以有两个人借阅

 

 


 

进制转换

Python进制表示方法

记忆👍2 8 16 box

image-20220306213557164

 

image-20220306212316716

 

 

 

幂乘除模整(运算顺序)

62ea31225bd443c5a4bb58fade73d1ce

 

 

取模 % 余数

取整 //

 

例如:

e3cbfb2d-6b3c-4b93-8cb1-9e644f73c5fc

 

 

 

 

 

 

 

 

 

 

综合题

 

进制转换

Python format 格式化函数 | 菜鸟教程 (runoob.com)

^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格

b、d、o、X(X大写) 分别是二进制、十进制、八进制、十六进制。

 

format的顺序 填充 对齐 位数 进制

 

image-20220315145103392

s = input("请输入一个十进制数:")
num = int(s)
print("转换成二进制数是:{:b}".format(num))

 

 

turtle绘图

太阳花 10度

正n边形 (n-2)*180/n

image-20220315152314222

(12-2)*180 /12=150

 

 

字符串处理

upper() 大写

lower() 小写

title() 首字母大写

posted @ 2022-05-06 13:17  CallMeChou  阅读(175)  评论(0)    收藏  举报