某种意义上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。
任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。
另一方面,在计算机技术发展的早期,软件构造活动主要就是程序设计活动。但随着软件技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如 *** 作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的计算环境的一部分。这种情况下软件构造活动的内容越来越丰富,不再只是程序设计活动了,还包括数据库设计、用户界面设计、接口设计、通信协议设计和复杂的系统配置过程。
程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现的,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。
按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后者反之。按照用户的要求,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念,子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位,顺序性、并发性、并行性和分布性反映程序的内在特性。
程序设计规范是进行程序设计的具体规定。程序设计是软件开发工作的重要部分,而软件开发是工程性的工作,所以要有规范。语言影响程序设计的功效以及软件的可靠性、易读性和易维护性。专用程序为软件人员提供合适的环境,便于进行程序设计工作。
计算机程序或者软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。打个比方,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语的人(体系结构)来做这个菜。 通常,计算机程序要经过编译和链接而成为一种人们不易理解而计算机理解的格式,然后运行。未经编译就可运行的程序通常称之为脚本程序。
基本要求1.具有计算机的基础知识。
2.了解 *** 作系统的基本概念,掌握常用 *** 作系统的使用。
3.掌握基本数据结构和常用算法,熟悉算法描述工具——流程图的使用。
4.能熟练地使用一种高级语言或数据库语言编写程序、调试程序。
考试内容
一、基础知识与基本 *** 作
(一)基础知识1.计算机系统的主要技术指标与系统配置。
2.计算机系统、硬件、软件及其相互关系。
3.微机硬件系统的基本组成。包括:中央处理器(运算器与控制器),内存储器(RAM与ROM),外存储器(硬盘、软盘与光盘),输入设备(键盘与鼠标)输出设备(显示器与打印机)。
4.软件系统的组成,系统软件与应用软件;软件的基本概念,文档;程序设计语言与语言处理程序(汇编程序、编译程序、解释程序)。
5.计算机的常用数制(二进制、十六进制及其与十进制之间的转换);数据基本单位(位、字节、字、字长)。
6.计算机的安全 *** 作;计算机病毒的防治。
7.计算机网络的一般知识。
8.多媒体技术的一般知识。
(二) DOS的基本 *** 作1. *** 作系统的基本功能与分类。
2.DOS *** 作系统的基本组成。
3.文件、目录、路径的基本概念。
4.常用DOS *** 作,包括:
初始化与启动;文件 *** 作(TYPE,COPY,DEL,REN,XCOPY,ATTRIB);目录 *** 作(DIR,MD,CD,RD,TREE,PATH);磁盘 *** 作(FORMAT,DISKCOPY,CHKDSK);功能 *** 作(VER,DATE,TIME,CLS,PROMPT,HELP);批处理(批处理文件的建立与执行,自动批处理文件);输入输出改向。
(三) WINDOW的基本 *** 作1.Windows的特点、基本构成及其运行环境。
2.Windows用户界面的基本元素。包括:窗口、图标、菜单、对话框、按钮、光标等。
3.Windows基本 *** 作。包括:启动与退出,鼠标 *** 作,窗口 *** 作,图标 *** 作、菜单 *** 作,对话框 *** 作。
二、程序设计
1.能运用结构化程序设计方法编写程序。
2.掌握基本数据结构和常用算法。
3.能熟练使用一种高级或一种数据库语言(共有QBASIC、FORTRAN、PASCAL、C以及FOXBASE等五种语言,考生任选其中一种。各种语言的考试内容附后)。
三、上机 *** 作
在指定的时间内使用微机完成下述 *** 作:
1.完成指定的计算机基本 *** 作(包括机器启动和 *** 作命令的使用)。
2.按给定要求编写和运行程序。
3.调试程序,包括对给出的不完善的程序进行修改和补充,使之能得到正确的结果。
各种语言的考试内容
一、QBASIC语言程序设计
(一) QBASIC的基本概念1.QBASIC提供的数据类型。
2.常量和变量的概念、变量的命名规则、变量的类型说明。
3.运算符和运算规则(算术运算、关系运算、逻辑运算、字符运算)。
4.表达式(算术表达式、关系表达式、逻辑表达式、字符表达式)的概念及求值。
(二)顺序结构程序设计1.变量的赋值(LET语句)。
2.数据输出(PRINT语句)。
3.数据输入(INPUT语句,READ/DATA语句,RESTORE语句)。
4.程序停止执行(END语句,STOP语句)。
5.程序注释(REM语句)。
(三)选择结构程序设计1.行IF语句。
2.块IF结构。
3.SELECT CASE结构。
4.选择结构的嵌套。
(四)循环结构程序设计1.循环的概念。
2.WHILE循环结构。
3.FOR-NEXT循环结构。
4.DO循环结构。
5.循环结构的嵌套。
(五)数组1.数组和数组元素。
2.数组定义的方法。
3.引用数组元素的方法。
4.静态数组和动态数组。
5.一维数组和多维数组。
6.数组的运算。
(六)函数与子程序1.标准函数。
2.单行自定义函数和多行自定义函数的定义和引用。
3.块内子程序——子例程(GOSUB-RETURN语句,ON GOSUB-RETURN语句及ON KEY(n)GOSUB-RETURN语句)。
4.独立模块的子程序的定义(SUB-END SUB语句)和调用(CALL语句)。
5.模块化函数的定义(FUNCTION-END FUNCTION语句)和调用。
6.模块间的数据传递(虚实结合)。
7.全局变量与局部变量。
8.过程的嵌套调用。
9.过程的递归调用。
(七)字符处理1.字符串和字符串变量的概念。
2.字符串变量的赋值。
3.字符串的运算。
4.字符串函数。5.字符串数组。(八)文件1.文件的概念。
2.对源程序文件的 *** 作。
3.对顺序文件的 *** 作。4.记录型变量的定义(TYPE-END TYPE语句)和随机文件的 *** 作。
(九)屏幕控制与作图1.屏幕控制(CLS语句,LOCATE语句)。
2.显示模式的控制(SCREEN语句)。
3.颜色的设置(COLOR语句)。
4.标准作图语句(PSET语句,PRESET语句,LINE语句,DRAW语句和CIRCLE语句)。
5.图形的着色(PAINT语句)。
二、FORTRAN语言程序设计
(一)FORTRAN程序的结构、书写规则1.FORTRAN程序的构成(主程序和子程序)。
2.FORTRAN源程序的书写格式。
(二)数据类型及其运算1.常量和变量的类型(整型、实型、双精度型、复型、逻辑型、字符型)。
2.定义变量类型的方法(用I-N规则隐式说明和显示说明)。
3.符号常量及其定义方法(PARAMETER语句)。
4.运算符及运算优先级。
5.表达式(算术表达式、关系表达式、逻辑表达式和字符表达式)及其求值规则。不同类型数据的混合运算。
(三)最基本的语句1.赋值语句(算术、逻辑和字符型赋值语句)。
2.表控格式的输入与输出。
3.格式输入与输出:
⑴格式编辑符(X、H、I、F、E、D、A、L、/),格式的重复作用。
⑵格式语句与输入输出语句(包括READ,WRITE语句)的相互作用。
⑶在输入输出语句中包含格式说明的方法。
4.暂停语句(STOP语句),停语句(END语句)。
5.赋初值语句(DATA语句)。
6.转移语句(GO TO语句)。
(四)选择结构程序设计1.逻辑IF语句。
2.块IF结构。3.选择结构的嵌套。
(五)循环结构程序设计1.当型循环与直到型循环。
2.用DO语句实现循环:
⑴用DO语句时循环次数的计算。
⑵循环体的概念。
⑶循环终端语句和CONTINUE语句。
3.用块IF和GOTO语句实现循环。4.循环的嵌套。
(六)数组的应用1.定义数组的方法(用DIMENSION语句和类型语句定义一维或多维数组)。
2.数组元素的正确引用。
3.数组在内存中存储顺序(按列存储)。
4.对数组赋初值的方法。
5.数组的输入与输出。6.可调数组。
(七)函数和子程序1.内部函数的调用方法。
2.语句函数的定义及引用方法。
3.函数子程序(FUNCTION子程序)的结构及调用方法。
4.子例行程序(SUBROUTINE子程序)的结构及调用方法。
5.模块间的数据传递(虚实结合)。
(八)数据联系1.公用语句(COMMON语句),无名公用区和有名公用区2.数据块子程序(九)字符处理1.字符串、字符型变量和字符型数组。
2.字符型数据的赋值和运算。
3.字符型数据的输入与输出。
(十)文件1.文件与记录的概念。
2.文件的打开与关闭。
3.顺序文件的存取方法。
4.直接文件的存取方法。
三、Pascal语言程序设计
(一)Pascal程序的构成1.源程序的组成语言要素。
2.程序首部,说明部分,执行部分。
3.程序的书写规定。
(二)数据的类型及其运算1.Pascal的数据类型、定义方法及其使用:
⑴标准类型(实型、整型、布尔型和字符型)。
⑵用户自定义类型(枚举类型、子界类型)。⑶构造类型(数组类型、集合类型、记录类型、文件类型)。
⑷指针类型。
2.运算符和表达式(包括算术型、集合型、关系型和布尔型)。
3.数据类型的相容性。
(三)基本语句1.赋值语句。2.输入输出语句及其格式控制。
3.复合语句。
(四)选择结构程序设计1.用IF语句实现选择结构。
2.用CASE语句实现多分支选择结构。
3.选择结构的嵌套。
(五)循环结构程序设计1.FOR循环结构。
2.REPEAT循环结构。
3.WHILE循环结构。
4.循环结构的嵌套。
(六)数组1.一维数组和多维数组的基本概念、定义方法和引用数组元素的方法。
2.压缩数组的概念。
3.字符串和字符数组。
(七)过程和函数1.过程与函数的概念。
2.标准过程和标准函数。
3.过程和函数的定义方法和调用方法。
4.形式参数和实在参数的结合,值参数和变量参数的使用。
5.过程和函数的递归调用。
6.标识符的作用域(全程量的局部量)。
(八)动态数据结构1.指针变量的概念。
2.动态存储单元的开辟、释放和引用。
3.单向链表和循环链表的 *** 作。
(九)文件1.文件的概念。
2.文件的基本 *** 作(建立、打开、关闭、存取)。
四、C语言程序设计
(一)C语言的结构1.程序的构成,main函数和其他函数。
2.头文件、数据说明、函数的开始和结束标志。
3.源程序的书写格式。
4.C语言的风格。
(二)数据类型及其运算1.C的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
(三)基本语句1.表达式语句,空语句,复合语句。
2.数据的输入与输出,输入输出函数的调用。
3.复合语句。
4.goto语句和语句标号的使用。
(四)选择结构程序设计1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
(五)循环结构程序设计1.for循环结构。
2.while和do while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
(六)数组的定义和引用1.一维数组和多维数组的定义、初始化和引用。
2.字符串与字符数组。
(七)函数1.库函数的正确调用。
2.函数的定义方法。3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。
8.内部函数与外部函数。
(八)编译预处理1.宏定义:不带参数的宏定义;带参数的宏定义。
2."文件包含"处理。
(九)指针1.指针与指针变量的概念,指针与地址运算符。
2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回指针值的指针函数。
5.指针数组,指向指针的指针,main函数的命令行参数。
(十)结构体(即"结构")与共用体(即"联合")。
1.结构体和共用体类型数据的定义方法和引用方法。
2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
(十一)位运算1.位运算符的含义及使用。
2.简单的位运算。
(十二)文件 *** 作只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数),文件的定位(rewind,fseek函数)。
五、数据库语言程序设计
(一)数据库系统及FoxBASE+基础知识1.基本概念:数据库、数据库管理系统、数据库系统、数据库模型及其相互关系2.关系数据库:
(1)关系模型,关系模式、关系、元组、属性、域。
(2)关系运算:选择、投影、联接以及三种关系运算在FoxBASE+中的体现。
3.系统性能与工作方式:
(1)各种文件类型及特点,命令格式。
(2)系统主要性能指标。
(3)两种工作方式:交互方式和程序运行方式。
4.FoxBASE+的数据元素:
(1)常量:数值型、字符型、逻辑型、日期型常量。
(2)变量:字段变量、简单内存变量、数组、内存变量的保存及恢复。
(3)表达式:表达式的类型及运算。
(4)常用函数:数值计算函数、字符处理函数、日期类函数、数据类型转换函数、测试函数。
(二)数据库的基本 *** 作1.数据库的建立、修改与复制:
(1)数据库结构的建立、修改与复制。
(2)数据库记录的增、删、改与复制。
(3)文件管理命令。
2.数据库的重新组织及查询:
(1)直接查询与记录指针定位。
(2)数据库排序与索引。
(3)快速检索FIND,SEEK。
3.数据统计与计算:
(1)统计记录数、求和、求平均值。
(2)分类汇总。
4.多重数据库 *** 作:
(1)工作区的选择和使用。
(2)数据库关联与联接SET RELATION,JOIN。
(3)数据库间的数据更新UPDATE。
(三)程序设计(命令文件)1.命令文件的建立与运行。
2.程序的三种基本结构:(1)顺序结构。
(2)选择结构:
条件选择语句IF-ELSE-ENDIF及其嵌套形式的使用。
多分支选择语句DO CASE-ENDCASE的使用。
(3)循环结构:循环语句DO WHILE-ENDDO及其嵌套形式的使用。
3.格式设计:
(1)格式设计命令@的使用。
(2)屏幕格式的建立与使用。
(3)光带式菜单的设计。
4.子程序与过程:
(1)子程序设计与调用。
(2)过程与过程文件。(3)局部变量和全局变量、过程调用中的参数传递。
5.命令文件的编译与使用。
(四)系统环境和状态参数1.常用的SET命令:
(1)常用的开关状态设置命令。
(2)常用的环境参数设置命令。
2.FoxBASE+的系统配置文件:CONFIG.FX配置文件的作用。
① APT( Automatically Pro-grammed Tools)——自动数控程序。第一个专用语言,用于数控机床加工,1956。②FORTRAN(FORmula TRANslation)——公式翻译程序设计语言。第一个广泛使用的高级语言,为广大科学和工程技术人员使用计算机创造了条件,1956。
③ FLOW-MATIC 。第一个适用于商用数据处理的语言,其语法与英语语法类似,1956。 ④IPL-V(Information Processing Language V)——信息处理语言。第一个表处理语言,可看成是一种适用于表处理的假想计算机上的汇编语言,1958。
⑤ COMIT(COmpiler Massachusetts Institute foTechnology) —— 马萨诸塞州理工学院编译程序。第一个现实的串处理和模式匹配语言,1957。
⑥COBOL(COmmon Business Oriented Language)——面向商业的通用语言。使用最广泛的商用语言,它是适用于数据处理的高级程序设计语言,1960。
⑦ALGOL60(ALGOrithmic language60) ——算法语言60。程序设计语言由技艺转向科学的重要标志,其特点是局部性、动态性、递归性和严谨性,1960。
⑧LISP(LISt Proceessing——表处理语言。引进函数式程序设计概念和表处理设施,在人工智能的领域内广泛使用,1960。 ⑨JOVIAL(Jules Own Version of IAL)——国际算法语言的朱尔斯文本。第一个具有处理科学计算、输入-输出逻辑信息、数据存储和处理等综合功能的语言。多数JOVIAL编译程序都是用JOVIAL书写的,1960。
⑩GPSS(General-purpose Systems Simulator)——通用系统模拟语言 。第一个使模拟成为实用工具的语言 ,1961。 JOSS(Johnniac Open-Shop System ——。第一个交互式语言,它有很多方言,曾使分时成为实用,1964。
FORMAC(FORmula MAnipulation Compiler)——公式翻译程序设计语言公式处理编译程序。第一个广泛用于需要形式代数处理的数学问题领域内的语言,1964。
?SIMULA (SIMUlation LAnguage)—— 模拟语言 。主要用于模拟的语言,是ALGOL60的扩充,1966。SIMULA67是1967年SIMULA的改进。其中引进的“类”概念,是现代程序设计语言中“模块”概念的先声。
APL/360 (A Programming Language)——程序设计语言360。一种提供很多高级运算符的语言,可使程序人员写出甚为紧凑的程序 ,特别是涉及到矩阵计算的程序 ,1967。 PASCAL ( Philips Automatic Sequence CALcul-ator)——菲利浦自动顺序计算机语言。在ALGOL60的基础上发展起来的重要语言 ,其最大特点是简明性与结构化,1971。 PROLOG(PROgrammingin LOGic)。 一种处理逻辑问题的语言。它已经广泛应用于关系数据库、数理逻辑、抽象问题求解、自然语言理解等多种领域中,1973。
ADA。一种现代模块化语言。属于ALGOLPASCAL语言族,但有较大变动。其主要特征是强类型化和模块化,便于实现个别编译,提供类属设施,提供异常处理,适于嵌入式应用,1979。
除了上面列举的语言外,还有一些较为通用的语言,特别是BASIC、PL/1、SNOBOL、ALGOL68等。BASIC虽然简单易学,使用广泛,但其中没有什么新概念,而且并不是第一个交互式语言。PL/1的设计 思想来源于JOVIAL,其功能来源于FORTRAN、COBOL、ALGOL60,具有中断表处理等设施。SNOBOL是一种好 的语言,对COMIT中若干概念做了明显的改进。ALGOL68在语言成分和 描述方法方面虽有所创新,但应用尚不广泛。 发展趋势 程序设计语言是软件的重要方面。它的发展趋势是模块化、简明性和形式化。①模块化。不仅语言具有模块成分,程序由模块组成,而且语言本身的结构也是模块化的。②简明性。涉及的基本概念不多,成分简单,结构清晰,易学易用。③形式化。发展合适的形式体系,以描述语言的语法、语义、语用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)