1.1引言
如何解决问题:通过一组精确陈述的指令来设计问题的解决方案。
程序:一组指令以计算机可以接收和执行的格式描述时。
例如:百货商店管理,编写一套指令,在商品购进和售出时对其跟踪。如果这些指令是正确的,而且是以计算机能够理解的格式编写的,就可以把这些指令作为一个程序输入并运行,在商品购进和售出时记录数据。
1.2硬件术语
计算机系统:由计算机运转所需的所有组件以及这些组件之间的连接共同组成。
组件可以分为两个基本派别:硬件和软件。
硬件:由与计算机相关的物理组件组成。
软件:由指挥计算机的的程序组成。
1.2.1整体概览
1.2.2输入/输出设备
输入和输出设备被统称为I/O设备。
信息进入计算机就是输入,信息从计算机中传输出去就是输出。
1.2.3中央处理器
中烟处理器通常被称为处理器或微处理器,可被视为计算机的大脑。
什么是GHz?(购买电脑时可以理解)
是千兆赫兹的缩写,一个2.5GHz的CPU使用的时钟每秒跳动25亿次(越大越快)。
英特尔i9有8个内核,可以跟踪16个线程。换句话说,这个CPU芯片本身包含8个独立的处理单元,它可以跟踪多达16个连续操作。
1.2.4主存储器
存储器有两类:主存储器和辅助存储器。
主存储器包含了若干个存储盒,每个存储盒都包含了一段信息。
主存储器通常被称为RAM(随机存储存储器)。
1千兆字节容量的主存储器可以容纳10亿个存储盒。
1.2.5辅助存储器
当你执行保存命令,计算机会对正在处理的主存储器数据进行复制,并将副本存储在辅助存储器例,辅助存储器非易失的,这意味着当计算机断电时,数据不会丢失。
与主存储器相比辅助存储器的优点:
1.非易失性。
2.每单位存储成本低。
3.更容易移植。
缺点:访问时间慢。
辅助存储器的形式:机械硬盘、固态硬盘、USB闪存盘、光盘等等(存储介质、存储设备)。
1.2.6机械硬盘和固态硬盘
机械硬盘和固态硬盘的基本用途:为计算机提供主要的永久存储。
大多数台式计算机使用机械硬盘(也被称为硬盘驱动器)。
存储慢
笔记本、平板电脑使用固态硬盘。
原因:
1.没有移动的机械部件,更能抵御损坏。
2.更小、更轻(成本偏高)。
1.2.7离线存储(USB、CD、DVD略)
1.2.8存储容量比较
机械硬盘:450GB-4TB
固态硬盘:250GB-1TB
USB:8GB-1TB
CD-xxx(略):700MB
DVD等:4.7GB-9.4GB
蓝光光盘:25GB-100GB
(都是不等,就是不一定)
1.2.9文件访问
文件:一组相关的指令或数据。
文件存储在辅助存储器上。
1.2.10常见的计算机硬件词汇
计算机的存储=主存储器(RAM)
计算机的磁盘控件=计算机硬盘的容量
1.2.11计算机改进的速度
内存和硬盘驱动器的容量大约每两年翻一番
cpu的速度也大约每两年翻一番
1.3程序开发
需求分析:程序的需求和目标。
设计:编写程序的大纲。
实施:编写程序的本身。
测试:验证程序的运行。
文档撰写:对程序进行描述。
维护:以后的工作中进行改进和修复错误。
1.3.1需求分析
与客户沟通、作页面设计沟通效果。
1.3.2程序设计
程序的草稿、基本逻辑。
1.3.3伪代码
描述程序的步骤。
1.3.4使用伪代码计算车速示例
计算终点为位置减去起点位置。
把结果放在总距离中。
计算结束时间减去起始时间。
把结果放在总时间里。
用总距离除以总时间。
1.4源代码
(把伪代码翻译成源代码)
源代码是一组用编程语言编写的指令。
1.4.1编程语言
编程语言是一种使用专门定义的单词、语法和标点符号的计算机可以理解的语言。
编程语言有:java、c++、python。
1.4.2使用java计算车速示例
计算终点为位置减去起点位置,将结果放在总距离中。
distanceTotal=locationEnd-locationStart;
计算结束时间减去起始时间,将结果放在总时间里。
timeTotal=timeEnd-timeStart
用总距离除以总时间。
averageMPH=distanceTotal/timeTotal
1.4.3跳过伪代码步骤
对于大型程序来说,首要关注大的方面,因为如果没有做好这一点,那么其他方面就不重要了。而如果使用伪代码,就无需担心语法细节,更容易关注大局了。在实现一个伪代码解决方案之后,将伪代码转换为源代码就相对容易了。
1.5将源代码编译成目标代码
要让计算机执行程序指定的任务,通常要分两步:
1.执行一个编译命令(计算机将程序的源代码翻译成计算机可运行的代码【编译器进行】);
2.执行运行命令。
1.6可移植性
可移植性既可以指硬件也可以指软件。
1.6.1目标代码的可移植性问题
目标代码可移植性不高。
1.6.2Java对可移植性问题的解决方案
java编译器不会一直编译到目标代码,而是编译到字节码,以拥有目标代码和源代码的最佳特性。
像目标代码一直,字节码使用一种与计算机硬件密切相关的格式,所以它运行得很快。
像源代码一样,字节码是通用的,因此它可以在任何卫类型的计算机上运行。
为什么字节码可以在任何类型的计算机上运行?
当一个java程序的字节码运行时,字节码被计算机的字节解释器程序(java虚拟机,简称jvm)翻译成目标代码。
要运行字节码,计算机上必须安装一个JVM。
1.7Java的出现(略)
1.7.1家用电器软件
1.7.2万维网
1.7.3今天的Java
1.8计算机伦理
计算机伦理十诫:
(1)不可以使用计算机危害他人;
(2)不可干涩别人的计算机工作;
(3)不可窥探他人的计算机文件;
(4)不可使用计算机进行偷窃活动;
(5)不可使用计算机作伪证;
(6)不可复制或使用未付费的专利软件;
(7)不可在未经授权或在没有适当补偿的情况下使用他人的计算机资源;
(8)不可挪用他人的智力成果;
(9)应当注意你编写的程序或设计的系统所造成的社会后果;
(10)使用计算机时应当总是考虑到他人并尊重他们。