一.基础理论
1.知识归结为两类:陈述性知识和程序性知识。
陈述性知识:由对事实的描述组成。
程序性知识:说明如何做,描述的是信息演绎的过程。
2.算法:一个有穷指令序列,描述了这样一种计算过程,即在给定的输入集合中执行时,会按照一系列定义明确的状态执行,最终产生一个输出结果。
3.解释器:可以执行任何合法指令集的程序。
4.控制流:在某些情况下,解释器执行一个测试,然后根据测试结果可能跳到指令序列的其他位置继续执行。
5.语法:定义了字符和符号组成句子的正确形式。
6.静态语义:定义了哪些语法有效的句子是有意义的。
7.对象:Python程序处理的核心元素。每个对象都有类型,定义了程序能够在这个对象上做的操作。
类型:标准和非标准。标准对象是不可分的,非标准对象,比如字符串,具有内部结构。
表达式:由对象和操作符组成。
算数操作符一般具有优先级。
bool类型上的基础操作符:and,or和not。
8.变量名可以包含大写字母,小写字母,数字(但不可以数据开头)和特殊字符。Python大小写敏感。
9.锁进在Python中具有语义意义的。
10.穷举法,解决问题最实用的方法,枚举所有可能性,直到得到正确答案或者尝试完所有值。
11.二分查找:算法每一步都将查找空间分为2部分。
12.round函数能对浮点数进行舍入操作。
表达式round(x,numDigits)表示会返回一个浮点值,等于将x保留小数点后numDigits位的舍入值。
二.作业实战
1.算法和程序之间的区别是什么? What is the difference between an Algorithm and a Program? (a)
a.算法是一个概念,程序是算法的具体实现 An algorithm is a conceptual idea, a program is a concrete instantiation of an algorithm.
b.算法受限于数学运算,程序可以明确各种操作 An algorithm is limited to mathematical operation, a program can specify all kinds of operations.
c.算法可以提高程序的运行速度 An algorithm makes a slow program run fast.
d.算法处理计算机硬件,程序处理计算机软件 An algorithm deals with computer hardware, a program deals with computer software.
2.储存程序式计算机被设计为可以精确地执行一种特定计算,如计算平方根或者导弹弹道。True or False? A stored program computer is designed to compute precisely one computation, such as a square root, or the trajectory of a missile.
TrueFalse False - 正确
3.固定程序式计算机被设计为可以运行任何计算,通过解释它所读入的一系列程序指令。True or False? A fixed program computer is designed to run any computation, by interpreting a sequence of program instructions that are read into it.
TrueFalse False - 正确
4.程序计数器A program counter
指向程序将执行的下一条命令points the computer to the next instruction to execute in the program. - 正确
5.计算机测试每条指令以确保它不会对电路造成损坏。The computer tests each instruction to ensure it will not harm the circuitry.
计算机大部分时候以线性顺序执行指令,除了有时它将跳转到序列的不同地方。The computer executes the instructions mostly in a linear sequence, except sometimes it jumps to a different place in the sequence. - 正确
6.为了计算所有可计算的事物,每个计算机必须能够处理16种最原始的操作。True or False? In order to compute everything that is computable, every computer must be able to handle the sixteen most primitive operations.
TrueFalse False - 正确
7.round(2.6) = 3.0,类型:float
8. "3" * "bc"➡️3bc