精英计算机基础专升本投影讲稿l.docx
《精英计算机基础专升本投影讲稿l.docx》由会员分享,可在线阅读,更多相关《精英计算机基础专升本投影讲稿l.docx(41页珍藏版)》请在冰豆网上搜索。
精英计算机基础专升本投影讲稿l
Tflop——TrillionFloatingPointOperation1012
MIPS——MillionInstructionsPerSecond
我国大型机发展历程:
1983年银河一号1亿次/秒
1992年银河二号10亿次/秒
1997年银河三号100亿次/秒
2004年6月曙光4000A8Tflop/秒世界排名第十。
2008年6月曙光5000A230Tflop/秒世界排名第十。
2009年10月国防科大的“天河一号”实测速度563Tflop/秒,
世界排名第七。
2010年6月曙光公司的“星云”实测速度1270Tflop,
世界排名第二。
EDP:
ElectronicDataProcess
MIS:
ManagementInformationSystem
六、计算机硬件构成
运算器
CPU(中央处理器)
控制器主机
内存储器
输入设备
输出设备
七、微型计算机组成
运算器:
ALU算术运算和逻辑运算单元
中央处理器控制器:
指令寄存器、译码器,定时、控制电路
(CPU)寄存器:
专用、通用寄存器,存放运行过程中的数据、
主机地址和状态等信息
只读存储器(ROM)
硬件系统内存储器(主存)
随机存取存储器(RAM)
微输入设备(键盘、鼠标、扫描仪、触摸屏、光笔、数字化仪)
型外设输出设备(显示器、打印机、绘图仪、音箱、软驱、光驱)
计外存储器(辅存):
硬盘、光盘、软盘、优盘、磁带
算
机操作系统(DOS、WINDOWS、UNIX、XENIX、LINUX)
系程序设计语言(机器语言、汇编语言、高级语言、数据库系统)
统系统软件语言处理系统(汇编程序、解释程序、编译程序、连接程序)
实用程序(诊断程序、检查、纠错、监控、测试、病毒防护软件等
面向机器维护程序)
软件系统
应用软件包(OFFICE套件、各种CAD/CAM、CAT、CAI、多媒体
应用软件应用如Flash、Photoshop等通用软件和实用软件)
用户程序(用户为某一实际应用而编制的各种软件,如财务管理、
成绩管理、教学管理程序等)
微机系统的层次结构:
1KB=1024B=210B≈103B
1MB=1024x1024B=220B≈106B
1GB=1024x1024x1024B=230B≈109B
1TB=1024x1024x1024x1024B=240B≈1012B
硬盘内存
ISA——IndustryStandardArchitecture
EISA——ExtendedIndustryStandardArchitecture
PCI——PeripheralComponentInterconnectionBus
AGP——AcceleratedGraphicsPortBus
PCI-E
实时操作系统:
增加阀门开度
压力超限
温度超限
减少O2或CO1
分时操作系统:
终端机
一条指令包括两个部分:
操作码和地址码(或称操作数)操作码指出操作的性质和功能;操作数(或地址码)指出参加操作的数据本身或它在主存中的地址。
也称地址码
操作码
操作数
下面是两条汇编指令及其相应的机器指令
MOVA,#35H;将立即数35H存入累加器A
;对应的机器指令是0111010000110101
操作码操作数
ADDA,35H;将累加器A与35H地址单元的内容相加,
结果存入A中
;对应的机器指令是0010010100110101
操作码地址码
用高级语言编写的程序叫高级语言源程序,必须经过翻译方能执行,
如下所示。
(编译程序的编译)(执行)
高级语言源程序机器语言的目标程序结果
(汇编程序的汇编)(执行)
汇编语言源程序机器语言的目标程序结果
具体实现方案:
高级语言源程序编译——连接——运行三步曲:
编译连接运行
C语言源程序目标程序可执行程序结果
file.cfile.obfile.exe
接口电路:
SRAM(StaticRandomAccessMemory)
DRAM(DynamicRandomAccessMemory)
存、写
取、读
写盘、存盘、输出
读盘、输入
地址内存数据
0000111101010101
内存
0000001111
0111110000
1001010101
1110101010
内存
000
001
010
011
100共8个字节
101
110
111
Q=2n
地址位数
存储容量
二进制
(B)
八进制数
(O,Q)
十进制数
(D)
十六进制数
(H)
0000
0
0
0
0001
1
1
1
0010
2
2
2
0011
3
3
3
0100
4
4
4
0101
5
5
5
0110
6
6
6
0111
7
7
7
1000
10
8
8
1001
11
9
9
1010
12
10
A
1011
13
11
B
1100
14
12
C
1101
15
13
D
1110
16
14
E
1111
17
15
F
10000
20
16
10
(34)10=(100010)2
234〔0
217〔1
28〔0
24〔0
22〔0
21
(1001001)B=(73)D
(0.8126)D=(0.1101)B
0.8125
*2
1.6250
*2
1.2500
*2
0.5000
*2
1.0000
二转十:
以权展开
(1001001)B=1*26+1*23+1*20=64+8+1=73
6432168421
(1000101)B=(69)D
6432168421
(1111111)B=(127)D
(10000000)B=(128)D
八转二:
1位转3位
(7305.61)8=(111011000101.110001)2
二转八:
以小数点为中心,向左、右三位一组,不足部分以0补齐,
每组转换为一个八进制数。
(011111010101.110100)2=(3725.64)8
十六转二:
1位转4位
(A8DF.4C)H=
(1010100011011111.010011)B
二转十六:
以小数点为中心,向左、右四位一组,
不足部分以0补齐,每组转换为一个十六进制数。
(1010100111011110.01001)B=
(A9DE.48)H
BCD数
(369)10=(001101101001)BCD
原码,反码,补码。
一个有符号数在机器中的表示形式叫机器数,机器数有三种表示法:
原码,反码和补码。
计算机中采用补码技术后,减法就可以按加法做了,从而大大简化了电路。
八位整数:
数值位
符
号
位
规定符号位为0,表示正数;符号位为1,表示负数。
于是数符也数码化了。
如果是16或32位数,符号位总是最高位。
正数的原、反、补码形式一样:
对于负数如:
-34
原码
反码(符号位不变,其余位取反)
补码(反码加1)
(-34)补=DEH
8位有符号数(补码)的范围是-128~+127
8位无符号数的范围是0~255
16位有符号数(补码)的范围是-32768~+32767
16位无符号数的范围是0~65535
数字:
0~9ASCII码为48~57
大写字母:
A~ZASCII码为65~90
可打印字符小写字母:
a~zASCII码为97~122
ASCII码特殊字符:
如+、-、*、/、?
、(、&等
非打印字符(控制字符):
空格ASCII码为32、DELASCII码为
127、ASCII码为0~31的均为控制字符
啊:
区位码为:
1601国标码为:
3021H内码为:
B0A1H
方法:
首先将十进制区号16与位号01转换成十六进制数,
即10H和01H,然后高低两个字节各加20H,变成国标码3021H;
其次将国标码的高低两个字节30H和21H各加80H,也即将
两个字节的最高位置1,变成机内码B0A1H。
Memory
FFH
81H
81H
FFH
81H
81H
81H
FFH
········FFH
··81H
··81H
········FFH
··81H
··81H
··81H
········FFH
外码内码
西输入设备输入码输入管理模块国标码机内码
键盘拼音xi4E77HCEF7H
区位4687
汉字库中的址码字型码输出设备西
显示器
一.常量:
在程序的执行过程中,其值不变的量。
整数:
5,-12,0
数值型小数形式:
3.14,-45.678
实数
科学记数法形式:
1.0E-6,-1.234E18
常量字符型(字符串):
包含在一对定界符之间的所有字符。
定界符可以是一对双引号
如:
“Helloworld!
”
字符串的长度为定界符中间的所有字符个数;字符串原样照输出。
逻辑型:
.T.和.F.
.T.表示真,即条件成立。
如:
3<5的值为.T.
.F.表示假,即条件不成立。
如:
-3<-5的值为.F.
二.变量:
在程序的执行过程中,其值可以变化的量。
变量命名:
以字母开头,后跟若干个字母、数字串。
变量名最好有含义,如:
SCORE、SUM等。
三.运算符
说明:
①-3^2的值为9;-(3^2)的值为-9
②“abc”+“def”结果为“abcdef”
③关系运算的结果为逻辑值。
条件成立,结果为.T.;条件不成立,结果为.F.
如:
3>5结果为.F.;5>=3结果为.T.
④NOT、AND、OR的运算量必须是逻辑值,结果也是逻辑值。
⑤运算符有优先级的高低,具体如上所示。
四.表达式及其书写
表达式:
用运算符将常量、变量、函数等连接起来,组成有意义的式子。
一个常量或变量都可视为最简表达式。
Y
024X
圆环内点的集合,其表达式为:
X*X+Y*Y>=4ANDX*X+Y*Y<=16
五.命令和函数
1.输出命令?
与?
?
格式:
?
表达式列表
?
?
表达式列表
说明:
表达式列表可以是一项或多项表达式,若是多项表达式,用逗号分开。
单个常量或变量可视作最简表达式
计算机执行?
表达式列表语句时,先换行,再输出各表达式的值
计算机执行?
?
表达式列表语句时,直接在当前光标位置输出各表达式的值
如在命令框中输入:
?
“3+4=”,3+4
结果显示:
3+4=7
接着再输入命令:
?
?
“Right”
屏幕显示:
3+4=7Right
2.取整函数INT(18.7)结果为18
3.四舍五入函数ROUND(3.456,2)结果为3.46
4.取绝对值函数ABS(-7.8)结果为7.8
5.求平方根函数SQRT(25)结果为5.00
6.求圆周率函数PI()结果为3.14
7.求正弦函数SIN
(2)结果为0.91
8.取余函数MOD(8,3)结果为2
9.求最大值函数MAX(1,-4,2,-3,6,3+1,2*3+1)结果为7
10.求最小值函数MIN(2.5,-3.6,0,8)结果为-3.6
11.空格函数SPACE(5)结果输出5个空格
12.求ASCII码对应的字符函数CHR(66)结果为字符“B”
13.求字符对应的ASCII码函数ASC(“b”)结果为98
14.求字符串长度函数LEN(“Followme!
”)结果为10
15.去除字符串前导空和后尾空函数ALLTRIM(“ABCDEFG”)结果为“ABCDEF”
16.取字符串的子字符串函数SUBSTR(“ABCDEFG”,3,2)结果为“CD”
17.将数字字符串转换为数值函数VAL(“238”)结果为238.00
18.将数值转换为字符串函数STR(365,5)结果为“365”
六.语句和程序结构
(1)顺序结构
2.变量赋值和赋值语句
赋值语句格式:
变量=表达式
①a=1
a=a+1
b=3+INT(-5.8)
②交换a,b两个变量的值Memory
a=3a3,4
b=4b4,3
c=ac3
a=b
b=c
③INPUT“提示信息”TO变量
注:
内存变量可以是数值型,字符型等。
输入字符型常量时要加定界符。
ACCEPT“提示信息”TO变量
ACCEPT语句只能接受字符型值。
输入字符型常量时不要加定界符。
4RETURN、CANCEL语句VFP程序的最后一条语句
5计数N=N+1N的初始值为0
6累加S=S+XS的初始值为0
7累乘P=P*NP的初始值为1
2.INPUT语句
格式:
INPUT“提示信息”TO变量
功能:
程序执行到INPUT语句时,首先显示“提示信息”中的内容,并等待用户从键盘输入数据,一旦数据输入后,变量得到相应的值,程序继续向下执行。
说明:
变量可以接受数值型或字符型值,键入字符型值时,必须带定界符。
“提示信息”可以缺省,通常带提示信息有利于数据输入。
3.ACCEPT语句
格式:
ACCEPT“提示信息”TO变量
功能:
同上。
说明:
1、变量只能接受字符型值,键入字符型值时,不带引号
2、在程序中,如果键入数值型量时,用INPUT语句;键入字符串时用ACCEPT语句,这将有利于程序的易读性。
4.CANCEL语句:
VFP程序的最后一条结束程序执行语句
所谓程序是指为了解决某个实际问题,利用某种语言而编写的一系列指令(语句)的有序集合。
一个程序必须包含“输入数据——处理数据——输出结果”三个部分。
程序中不能带有量纲,即编程不带单位。
我们经常用流程图来描述语句的功能,如:
处理框
程序的流向
判断框
顺序结构程序举例1-7
(2)选择(分支)结构
①IF条件
语句块
ENDIF
②IF条件
语句块A
ELSE
语句块B
ENDIF
③IF条件1
IF条件2
语句块A
ELSE
语句块B
ENDIF
ELSE
语句块C
ENDIF
④DOCASE
CASE条件1
语句1
CASE条件2
语句2
.
.
.
CASE条件N-1
语句N-1
OTHERWISE
语句N
ENDCASE
分支结构语句说明:
●这里的“条件”系指条件表达式。
条件表达式在形式上有时与赋值语句相似,比如A=1,但本质不同:
一个是赋值号,表示赋值;一个是等号,结果为逻辑值。
●“语句块”系指一条或多条语句。
●对于一入口二分支的问题,一定使用IF语句
对于一入口三分支的问题,可以使用嵌套IF语句或DOCASE语句
对于一入口四分支或更多分支的问题,一定使用DOCASE语句
●为了程序的易读性,编写程序时要用缩进格式,包括后面的循环语句。
分支结构程序举例1-11
(3)循环结构
1DOWHILE条件表达式
语句块
ENDDO
DOWHILE循环语句的流程图如下图所示
DOWHILE循环语句说明:
a)通常DOWHILE循环用于循环次数预先未知,只知道什么时候结束循环的场合
b)DOWHILE中的条件总是与题意给出的结束条件相反
c)为了防止死循环,在循环体中必须要有逐渐改变条件,最后使条件不成立的语句。
DOWHILE语句程序举例1-4
第2题求π值,直到某项的绝对值<0.000001为止。
第3题键盘输入两个整数,求它们的最大公约数和最小公倍数。
MNT=MOD(M,N)
24186
1860
最大公约数
最小公倍数=24*18/N
2FOR循环变量=初值TO终值[STEP步长]
语句块
ENDFOR
FOR循环语句流程图如下所示:
FOR循环语句说明:
●FOR循环用于循环次数已知的场合,即已知循环的初值、终值和步长的场合。
●步长为1时,可以省略STEP1
●步长可以为负。
此时,初值必须大于终值,否则循环体一次也不执行。
●循环变量可以在循环体中出现,参加相应的运算,同时起着控制循环次数的作用;循环变量也可以不在循环体中出现,此时循环变量仅仅起着控制循环次数的作用。
●在循环体中一旦执行到EXIT语句时,直接退出本层循环,继续向下执行。
●退出循环体后,循环变量的值可以被引用,它的值是第一次超过终值的那个值。
单循环程序举例1-16
第4题求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100)
第9题求如下级数前N项之和(X和N的值由键盘输入)
第11题从键盘输入一个二进制数,将其转换成等值的十进制数。
(1001001)B=1*26+1*23+1*20=64+8+1=73
第12题从键盘输入一个十进制数,将其转换成等值的二进制数。
(34)10=(100010)2
234〔0
217〔1
28〔0
24〔0
22〔0
21
第13题有一分数序列如下,求前20项之和
第14题求Sn=a+aa+aaa+aaaa……,其中,a是一个数字,a的个数为n,a和n的值由键盘输入
第15题求ex的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4)
●循环可以嵌套,构成多重循环,但要注意语句的配套使用。
DOWHILE语句与FOR语句之间也可以相互嵌套,如:
FORI=1TO10STEP2
FORJ=8TO1STEP-2
语句块
ENDFOR
ENDFOR
二重循环的实质意义是外循环变一次,内循环变一圈。
内循环变一圈可以是完成某种功能。
也就是说,如果某功能需要通过循环语句来完成,而该功能要重复完成多次,则可以使用二重循环。
循环程序中,穷举法是常用的解题方法。
二重循环及多重循环程序举例17-20
打印平面图形21-27
打印平面图形要用二重循环,外循环确定打几行,内循环确定每行打几个字符。
对于上一行字符少,下一行字符多的图形,外循环的步长为正;对于上一行字符多,下一行字符少的图形,外循环的步长为负。
有时要注意图形的起始位置。
数组概念
在代数中,我们用a1,a2,a3,……,an表示一批有序数据,其中的1,2,3,……,n称为下标。
下标表示该变量在这批有序数据中的位置。
在VFP中,我们也要处理有序数据,但显然不能用a1,a2,a3,……,an来表示有序数据,因为这些变量是普通变量,它们在内存中并不是按次序连续存放的。
在VFP中用A
(1),A
(2),A(3),……,A(N)的形式来存放有序数据,于是引出了数组的概念。
数组是一批有序数据的集合。
为了处理有序数据或大量数据,必须采用数组技术。
通常题目中要处理十个以上数据,我们就认为是大量数据。
数组问题三步曲:
第一步建立数组
建立数组包括两项工作:
用DIMENSION语句定义数组以及给数组元素赋初值。
例如:
DIMEA(4)
A
(1)=3
A
(2)=A
(1)*2
A(3)=A
(1)+A
(2)
A(4)=A
(2)**2
于是我们建立了一个一维数组(数组只有一个下标),数组名叫A,它由四个数组元素组成,名字分别叫A
(1)、A
(2)、A(3)和A(4)。
计算机在内存中开辟了连续四个存储单元,如图所示。
Memory
A
(1)3
A
(2)6
A(3)9
A(4)36
定义数组后,数组元素的初始值是随机数,所以必须赋以初值。
由于数组元素的下标可以使用变量,即下标变量,因此一维数组元素赋初值、处理和输出通常使用单循环语句。
如:
DIMEA(10)
FORI=1TO10
INPUTTOA(I)
ENDFOR
第二步处理数组元素
第三步输出数组元素或处理的结果
一维数组程序举例28-32
第29题求Fibonacci数列的第8项与第18项。
1,1,2,3,5,8,13……
第30题输入10个数,求其中最大数和最小数及其在这批数据中的位置
BIG
25814
SMALL
3582164
BP=
SP=
BIGSMALL
第31题输入10个数,按升序排列输出。
气泡法(升序)排序过程
54321
第一轮:
54321
45321
35421
25431
15432
第二轮:
15432
14532
13542
12543
第三轮:
12543
12453
12354
第四轮:
可见,5个数要比四轮,10个数就要比九轮,每一轮都是前一个数与后面的数逐一比较,该交换就交换,不该交换就不交换。
如果是升序,前一个数大于后面的数就要交换,也就是将小的数往前赶。
53241
第一轮:
35241
25341
25341
15342
第二轮13542
13542
12543
第三轮12453
12354
第四轮12345
在VFP中,还可以建立二维数组。
定义方法是:
DIMEA(2,3)
第一