《第4章 计算机系统软件与工具软件》由会员分享,可在线阅读,更多相关《第4章 计算机系统软件与工具软件(57页珍藏版)》请在金锄头文库上搜索。
1、计算机导论,刘师少 L,第4章 计算机系统软件与工具软件,内容提要 计算机软件可分为系统软件、应用软件和实用工具软件三大类。系统软件是计算机系统中最接近硬件的一层软件,它与具体的应用领域无关。计算机系统中的其他软件一般都通过系统软件发挥作用。在使用计算机的过程中需要许多应用软件和工具软件来为我们服务,了解并学会使用这类软件是很有必要的。本章将介绍程序设计语言翻译系统、操作系统、办公软件以及几种常用的工具软件。对办公软件仅作简单介绍。,4.1 程序设计语言翻译系统,计算机硬件只能识别并执行机器指令,但人们普遍习惯于使用高级程序设计语言或汇编语言来编写程序。为了让计算机能够理解高级程序设计语言或汇
2、编语言并执行用它编写的程序,必须要为它配备一个“翻译”,这就是所谓的程序设计语言翻译系统。 程序设计语言翻译系统是一类系统软件,它能够将使用某一种源语言编写的程序翻译成为与其等价的使用另一种目标语言编写的程序。使用源语言编写的程序称为源程序,使用目标语言编写的程序称为目标程序。,图4-1汇编程序翻译器示意图,输出一行10个星号“*” 语句是?,printf(*n);,输出两行10个星号“*” 语句是?,问题的提出,输出100行10个星号“*” 语句是?,用循环结构解决,for(i=1;i=100;i+),sum=sum+2;,sum=sum+1;,sum=0;,不确定,sum,0,1,3,su
3、m=sum+3;,6, ,sum=sum+100;,5050,sum=sum+i;,规律是:,表示为:,是for语句,【例4.1】for 语句的引例。 求1+2+3+100的 值并将其结果放在变量sum中。,6.1 for 语句,#include main( ) int i, sum=0; for ( i=1; i=100; i+ ) sum=sum+i; printf(1+2+3+.+100=%dn,sum);,运行结果:1+2+3+.+100=5050,循环体,for ( i = 1; i = 100; i = i + 1 ) printf ( “*n” );,输出100行10个星号“*”
4、 语句是?,i+,【例4.2】在3100之间所有3的倍数中,找 出个位数为2的数。,编程点拨:,用 i%10 表示个位数,3100内3的倍数有3,6,9,12,15,18,21,24,27,30,33,36,39,42, ,99,for ( i=3; i=100; i=i+3 ),if( i%10=2 ) ,流程图,#include main( ) int i; for ( i=3; i=100; i=i+3 ) if( i%10=2 ) printf(%4d,i); printf(n);,输出:,按4个字符位输出整数,12,42,分支结构,循环结构,顺序结构,用三种基本结构能写出所有复杂程序
5、,【例4.3】 从键盘输入十个数,求其中最大值。,【例4.3】 从键盘输入十个数,求其中最大值,#include main( ) int a,max,i; printf(nmax=%dn,max); ,scanf(%d,&a); printf(%d ,a);,printf(Input data:);,输入第一个数并输出,max=a;,第一个数存入max,输入后九个数并输出,for ( i=1; i=9; i+ ) scanf(%d,&a); printf(%d ,a);,if ( maxa ),max=a;,运行时试最大值在 最前 最后 中间某一位置的情况,思考:100个数中求最大,如何修改?
6、,for(i=1; i=100; i+) sum=sum+(float)1/i;,先思考:如何求,【例4.4】求表达式的值。,再思考:如何解决正负相间的问题,for ( i=1; i=100; i+ ) sum=sum+(float) 1 / i;,sign=1;, ,sign=-sign;,sign,sign=1,sum=sum+1/1,i=1,sign=-1,sum=sum-1/2,i=2,sign=1,sum=sum+1/3,i=3, ,符号翻转,完整程序,sign=1; for ( i=1; i=100; i+ ) sum=sum+(float) sign/ i; sign=-sign
7、; ,sum=0.0;,printf(sum=%fn,sum);,【例4.4】输出斐波纳契(Fibonacci)级数 1,1,2,3,5,8,13, 的前30项 规律:前两项的值各为1,从第三项起,每一 项都是前两项的和。 要求:一行输出6项。 某年1月笼中有一对小兔,若每对小兔从满2个月开始,每月均生一对小兔,并且这些兔子永远不死,问全年各月各有兔子若干对?年底有兔若干对? 分析: 1月:1对 2月:1对 3月:2对 4月:3对 5月:5对,求解过程,+,a,b,next 第5项,+,next 第3项,a,b,next 第4项,a,b,next 第6项,+, ,2,8,1,2,3,2,3,5
8、,3,5,main( ) int i,n; long a,b,next; ,a=b=1; printf(%10ld%10ld,a,b); n=2;,处理前两项,for ( i=3; i=30; i+ ) next=a+b; a=b; b=next; ,处理后28项,printf(%10ld,next); n+; if ( n%6=0 ) printf(n);,输出并控制换行,运行结果如下: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393
9、 196418 317811 514229 832040,编译程序结构图,编译程序结构五道“工序”,1、词法分析程序 它的功能是扫描以字符串形式输入的源程序 ,识别出单词并将其转换为机内表示形式。2、语法分析程序 它的功能是对单词进行分析,按照语法规则分析出语法单位,如表达式、语句、程序等。3、 中间代码生成程序 它的功能是将语法单位转换为某种中间代码。,4、优化程序 负责对中间代码进行优化,使生成的目标代码在运行速度、存储空间方面具有较高的质量。5、目标代码生成程序 功能是将优化后的中间代码转换为目标程序。 在每一道“工序”中,有可能需要使用各种表格来记录和查询必要的信息,或者需要进行出错处
10、理,这些任务将由表格管理程序和出错处理程序来完成。,高级程序设计语言解释系统,高级程序设计语言解释系统是按照源程序中的语句的动态顺序逐条翻译并立即执行相应功能的处理系统。,4.2 操作系统,操作系统是最基本的系统软件,其他的所有软件都是建立在操作系统的基础上。,DOS,管家婆管理硬件资源协调后台工作,服务生提供用户与计算机的交互接口,什么是操作系统?,用以控制和管理系统资源、方便用户使用计算机的程序的集合,是人机交互的接口。,DOS,Windows,UNIX,操作系统的功能,操作系统分类,批处理操作系统 分时操作系统实时操作系统网络操作系统分布式操作系统,Windows,DOS,UNIX,按使
11、用方式分类,单用户单任务 单用户多任务 多用户多任务分时网络,DOS,Windows,UNIX,NetwareWindows 2000,按用户界面分类,DOS NetWare UNIX,Windows,窗口图形界面,命令行界面,什么是 DOS,Disk Operating System - DOS,运行在微机上的操作系统,4.2.4 几种常用的操作系统,DOS的构成,命令处理(COMMAND.COM),文件管理模块(MSDOS.SYS),输入/输出管理模块(IO.SYS),引导程序(Boot),磁盘文件,核心程序,外部命令,+,Windows 是基于图形界面的多任务操作系统,在计算机与用户之间
12、打开了一个窗口,用户通过这个窗口直接管理、使用和控制计算机。,Windows 2000是目前个人计算机中使用最为广泛的操作系统之一,Windows 2000,Windows XP,Windows 98,Windows 95,Windows 3.x,Windows 发展,图形界面 统一的窗口和操作方法 多任务多窗口 先进的内存管理及与DOS的兼容性 实现数据共享 丰富的应用程序 支持即插即用、多媒体与网络技术,Windows 特点,图形用户界面技术,多视窗技术菜单技术联机帮助,应用程序窗口、文档窗口、文件夹窗口、对话窗口,多视窗技术,一屏多用任务切换灵活窗口资源共享,屏幕,Clipboard剪贴
13、板,菜单技术,“下拉式”菜单、上下文相关的“弹出式”快捷菜单,Unix操作系统。Unix操作系统原本是1969年美国BELL实验室为小型机设计的,目前已用在各类计算机上。 Unix是一个多用户多任务的分时操作系统,系统本身采用C语言编写。Unix操作系统具有结构紧凑、功能强、效率高、使用方便和可移植性好等优点,被国际上公认为是一个十分成功的通用操作系统。在世界上Unix占据着操作系统的主导地位,它的应用极为广泛,从各种微机到工作站、中小型机、大型机和巨型机,都运行着Unix操作系统及其变种。,Linux操作系统。 Linux操作系统是一个遵循标准操作系统界面的免费操作系统,具有Unix BSD和Unix SYS V的扩展特性。Linux操作系统可以在基于Intel处理器的个人计算机上运行,它可以将一台普通的个人电脑变成功能强大的Unix工作站。Linux操作系统有一个基本内核,一些组织和厂商将内核与应用程序、文档包装起来,再加上设置、管理和安装程序,构成供用户使用的套件。Linux版本分两个部分:内核版本和发行套件版本。中国政府于1999年发布的指导性文件当前优先发展的高技术产业化重点领域指南中确定,基于Linux的操作系统平台及其集成应用环境软件是我国高新技术发展的重点领域之一。,