第一次寒假作业
自我介绍
我叫龙健文,来自贵州,大一新生,从土木工程专业转到计算机科学与技术,专业跨度较大。我性格开朗乐观,乐于交友,活泼积极,因为从高中毕业成绩不理想就进入了土木专业,所以一直对专业兴趣不大学习一直不够专心希望转入一个自己比较感兴趣的专业提高自己的学习积极性。最后关于未来的就业选择目前无太多的想法,但大学四年我一定会努力学习,多多自己学习提高自己能力,我深知自学能力对本专业学生而言是十分重要的一项能力,所以我一定好好学习,刻苦努力,以上便是我的自我介绍
电子计算机
生产半导体最常见的材料是硅
布尔逻辑和逻辑门
二进制也可以写成1和0,true或false,只是不同的表达方式罢了。
用二进制的原因:
避免用电器相互干扰
有一整个数学分支存在,专门处理“真”和“假”
可以像水龙头一样,把控制线当做输入(input),底部的电极当做输出(output),所以1个晶体管,有一个输入和一个输出,如果打开输入(input on),输出也会打开(output on),因为电流可以流过;如果关闭输入(input off),输出也会关闭(output off),因为电流无法通过。
.用not时:
.用and时(有2个输入,1个输出):
.用or时:
.xor(与or不同):
(xor:两个输入一样时,输出为false;两个输入不同时,输出为true。)
寄存器&内存
.AND-OR锁存器:
如果“设置”和“复位”都是0,电路会输出最后放入的内容,存住1位的信息
.8位寄存器:
用一根线链接所有“允许输入线”,将其设为1,然后用8条线发数据,再将“允许写入线”设为0,8位的值就存起来了。
.在矩阵中,可以解决数据线过多的问题
要启用某个锁存器,就打开相应的行线,列线和允许写入线(门锁),用and选择一个锁存器,三个线都是1,每次只有一个锁存器会这样,这时候就可以只用一根数据线连所有锁存器传数据,但只有一个锁存器会启动,只有这个会存数据。其他锁存器会忽略数据线上的值,因为没有“允许写入”,用类似技巧,在一个锁存器上做“允许读取线”来存数据。
.对于256位的存储,只要35条线:1条数据线,1条允许写入线,1条允许读取线,和16行16列的线(16+16)用于选择一个锁存器。(在矩阵的情况下)
.内存:有8位地址(4个代表列,4个代表行),有允许写入线和允许读取线,和一条数据线(用来读/写数据)。就像人类的短期记忆,记录当前在做什么事。
早期编程方式
插线板 存储程序计算机 冯诺依曼结构处理器(有算术逻辑单元)、数据寄存器、指令寄存器、指令地址寄存器、内存(存数据和指令)
面板编程
编程语言
机器语言、机器码(早期)
伪代码(对程序的高层次描述)
助记符(后紧跟数据)
汇编器(读取汇编语言转成机器码)
算术语言版本0(A—0)
变量
公式翻译Fortran
数据系统语言委员会
普通面向商业语言Cobol ALGOL,LISP,BASIC,Pascal,C,Smalltalk,C++,Objective-C,Perl,Python,Ruby,Java,Swift,C#,Go
编程原理
语句、语法
赋值语句、控制流语句(if语句)/条件语句、循环语句
条件循环(while循环、for循环)
函数(方法/子程序)
函数库
算法入门
算法 解决问题的具体步骤
排序 选择排序、归并排序
数组(列表/向量)
O(n2) 算法的复杂度,算法的输入大小和运行步骤之间的关系,表示运行速度的量级O(n* log n)
归并排序的算法复杂度,n为比较+合并的次数,和数组大小成正比;log n为合并步骤的次数,和数量成对数关系
数据结构
下标 【】表示访问数组
字符串 矩阵
结构体 多个变量打包在一起
节点 存有一个变量和一个指针(特殊变量,指向一个内存地址),用节点可以做链表
链表 一种灵活数据结构,能存储很多个节点,链表的灵活性是通过每个节点指向下一个节点实现的
循环列表/非循环列表,null代表链表尽头
队列 先进先出FIFO
栈 后进先出LIFO,入栈和出栈
树 最高节点为根节点,根节点下的所有节点为子节点,任何子节点的直属上层节点为母节点
红黑树、堆
图灵
可判定性问题 图灵机 图灵完备 停机问题
丘奇-图灵论题
图灵测试
学习感想
作为一个对计算机了解甚微的小白,通过这段时间学习快速了解到不少的、以往深觉难懂和不解的计算机知识,对我帮助非常之大。学习过程中也有过不少反复及暂停,以让我得以捋清思路,转化、理解所学。努力学习的人很多,自己不能掉队!!!