什么是程序?
程序(Program)
流程、议程、行程、…
为了完成某项任务,解决某个问题需要执行的一系列步骤
计算机程序
为了完成某项任务,解决某个问题由计算机执行的一系列指令(步骤)
什么是计算机?
计算机(Computer)
能够按照程序自动运行的机器
组成
硬件(Hardware):计算机的驱壳
软件(Software):计算程序、计算机的灵魂
计算机的发展历史
算盘/算筹、机械计算机、机电计算机
电子计算机:1946年,美国宾夕法尼亚大学第一台电子计算机(ENIAC)数以万计的电子器件,占地170平方米左右,总重量达到30吨,达到每秒钟5000次加法。
电子管(1946)—晶体管(1959)–集成电路(1964)–超大规模集成电路(1972)
摩尔定律:每18个月芯片能力增长一倍。
计算机硬件
PC机、笔记本电脑、手机、超级电脑、飞机、轮船等上的嵌入式
计算机硬件组成
CPU(控制器、运算器)、存储器、输入设备、输出设备
冯诺依曼结构
计算机之父:冯诺依曼
主要贡献点:计算机应该按照程序顺序执行、采用二进制作为计算机的数制基础
机器执行的程序
二进制方式编写,最开始采用纸带
人与机器的沟通
不同母语人之间的沟通
一人学习另一人的语言
共同学习第三种语言
人与机器的沟通
机器学习人类的语言:自然语言处理
人学习机器的语言
共同学习第三种语言,即程序设计语言
程序设计语言:汇编语言(Assembly Language)、高级语言(High-level Language)
计算机程序设计语言的历史
蛮荒之初:1940之前
初露锋芒:40年代 ENIAC coding、C-10
百花齐放:50与60年代LISP、FORTRAN、COBOL、CPL、BCPL、BASIC
开宗立派:1967-1978 Pascal、C、Smalltalk、Prolog、SQL
内外兼修:80年代C++、Ada、Perl、Tcl
互联网时代:90年代Python、Visual Basic、Ruby、Java、Delphi、JavaScript、PHP
高级语言的分类
编译型语言(C、C++等),类似于翻译文章
Source Code—Compile—Object Code—Executor—Output
解释型语言(BASIC、Python等),类似于同声翻译
Source Code—Interpreter—Output
学习51单片机
在实践中成长
条件:兴趣、恒心、教材、开发板、计算机
编程环境搭建
Keil软件安装