计算机的三大原则
1.输入、运算、输出是硬件的基础。(计算机是执行输入、运算、输出的机器,硬件是看得见、摸得着的设备)
2.软件由指令和数据组成。
3.对计算机来说,什么都是数字。(计算机的处理方式有时候和人们的思维不同)
计算机的连接
硬件 -> IC (CPU、内存、I/O)
CPU 控制内存与I/O
内存 存储指令与数据
1.连接电源
Vcc–5V
GND–0V
2.连接地址线与数据线
D:CPU的数据线连接I/O、内存的数据线
A:
内存的A连接的数量应与输入设备数量相对应,其余接地;
CPU与内存相连,与I/O的端口(寄存器)相连,其余NC(因为单向)
I/O上有寄存器(1.设定功能 2.存储数据)
只用于输出的引脚,不使用时什么都不连;
只用于输入或输入输出的,不使用时固定5V或0V
3.区分
a.判断内存还是I/O?
分别创造引脚
内存:
MREQ (为0时表示CPU正在访问内存)
I/O :
IORQ (为0时表示CPU正在与I/O进行数据交换)
CE (决定I/O设备是否从系统中隔离)
b.判断输入还是输出?
分别创造引脚
WR 写入
RE 读出
都是低电平有效
4.连接时钟
CPU与I/O同步M1,连接CLK,INT中断请求
CLK连接Vcc时,中间添加一个电阻(消除时钟信号)
5.其他引脚
DMA(I/O直接访问内存):
BUSRQ(总线请求为0,将CPU从电路中隔离)
BUSAK(响应总线请求为0,开始进行DMA)
DMA的连接:
内存的D、A与外部设备相连
中间连三态,并用CPU控制
开关:WR、CE、RE(5V)
6.外部I/O的连接
程序的流程
1.程序的流程分为三种:顺序、条件分支、循环
分支与循环在软件上用程序块表示,实际是通过硬件上的跳转指令(PC改变其值)执行
结构化程序设计:不使用跳转指令(jump)例如 异常处理时,用try…catch,但在硬件上还是跳转
2.中断处理
一种特殊的条件分支,通过硬件实现
3.事件驱动
检测到事件(如点击鼠标或敲击键盘),应用程序根据事件类型做出相应的处理
算法的要点
整体粗略流程:
输入——循环处理——完成
(画出流程图,检验)
细节流程:
1.步骤明确
2.步骤数有限(如何具体实现某个做法的原因明确,不靠直觉,而是机械的解决问题)
3.了解并应用典型算法
例如 辗转相除法求最大公约数,两数之积除以最大公约数等于最小公倍数; 判断素数从2到(a-1)/ 2 ;
4.利用编程技巧提升程序执行速度
哨兵
5.用数字表示变量,找出规律
数据结构
1.变量是数据的容器,是一块内存空间
2.数组:为多个数据集中分配的一块空间,连续分布,反映物理结构本身。
3.栈:把数据像小山一样堆积起来
(一个数组+一个变量)
4.队列:数组首尾相连,形成圆环
(一个数组+两个变量)
5.链表:可任意改变数据的排列顺序,改变物理结构
(自我引用的结构体,一个指针)
6.二叉树:两路排列,链表的特殊形态
(自我引用的结构体,两个指针)
7.算法(处理步骤)与数据结构(数据的排列方式)要相互匹配
8.定义结构体,将其看作一种数据类型
OOP 面向对象编程
oop { 对象+行为 | 继承、封装、多态 }
拼装组件(类)-> 以组件为单位进行维护 -> 实质是建模(组件化、省略化)-> 使用时序图
1.观察事物由哪些类组成,观察类的成员有哪些
2.继承:继承已有的类,生成新的类
3.封装:隐藏没必要的成员,不能被访问
4.多态:同个函数,处理不同对象
类与对象的关系:类是模具,对象是饼干
类的使用:1.组合 2.调用成员 3.继承
数据库
1.主键:唯一标识一条记录的字段,可由一个字段表示,也可由多个字段组合形成复合主键。主键上的值绝不相同
2.外键:在表中添加的其他表的主键称为外键,用来建立表与表之间的联系
3.行:记录、元组
列:字段、属性
索引:在字段上设置索引,提升检索速度
4.存储方式:
关系型数据库
·应用程序通过DBMS间接读写,便于操作数据库
·DBMS:读写,一致、安全地存储数据及其关系;提供一系列SQL语句;事务控制{开启,提交,回滚}
文件共享型
C/S系统
Web系统
步骤:
1.寻找需要的数据
2.设置属性(内模式),及数据类型
3,分割表,建立联系(用主键和外键建立联系,添加表消灭多对多的关系,分解成一对多)
4.设置参照完整性和索引
5.设计用户界面(操作CRUD)
6.应用程序向DBMS发送SQL语言完成操作