搜档网
当前位置:搜档网 › 第三节 程序和程序设计语言

第三节 程序和程序设计语言

第三节 程序和程序设计语言
第三节 程序和程序设计语言

第三节程序和程序设计语言

教材分析

本节是按照程序、程序结构、程序的生成和运行这一顺序进行组织编写的,关于程序编写方面的内容放到后面去学习,这样安排旨在先让学生有个整体认识,然后让学生亲历程序的执行过程来认识程序,了解输入、计算和输出的流程,阅读程序源代码并和算法进行对比,让学生了解程序代码和算法的对应关系,通过程序的单步执行来体验和了解程序的结构,了解程序语言执行的顺序,通过保存、运行和编译范例程序来了解程序的生成和执行。

活动一:认识程序。学生在以往使用计算机的时候已经对程序有所了解,但我们关注的往往不是程序的本身,而是程序所提供的功能。为了使学生能够更好地把握程序的构成,本节紧密结合上节所掌握的算法,教材给出根据上节个人理财问题的算法所设计好的程序,旨在使学生通过运行“个人理财问题.exe”文件,从整体上体验程序的执行情况,然后打开“个人理财.vpb”程序,剖析程序的构成,探寻程序和算法之间的对应关系。

活动二:了解程序的结构。为了使学生能够轻松地了解各种程序结构,教材在每个过程中设计了一系列动作,即“打开、观察、运行、观察、记录、描述”,旨在增强学生学习的目的性,同时这一系列动作也是一种行之有效的程序调试方式,为学生深入研究程序结构提供了一种自主学习方式。

活动三:了解程序的生成和执行。就像学习文字处理、多媒体制作等软件一样,这些软件都会生成自己的处理对象,程序设计语言也不例外,同样会生成自己的处理对象,即程序,程序也以文件的形式进行存储。在编写上采取直观易懂的方式,学生只要按照提示去做就可以了。这样的操作在后面的学习过程中将会经常用到,需要学生慢慢体会和理解。

教学目标

教学重点和难点

教材设计了三个各具特色的活动,渗透了程序的概念特征以及程序设计语言的初步知识和技能,让学生在亲历和实践过程中加以了解和把握。浏览源程序的构成和观察体验源程序的执行过程是本节的重点,探寻算法和程序间的对应关系是重点中的难点,原因是绝大部分学生对程序设计语言VB比较陌生,不了解语句的功能,因此给学生分析程序带来很大的障碍,需要教师给予及时、准确的指导,以及学生间进行密切的合作和配合,方能顺利解决这一难点。

课时安排:

本节内容建议用2课时完成。第l课时完成活动一和“学习指引”中的“程序设计语言的产生和发展”、“程序及其特征”;第2课时完成活动二、活动三和“学习指引”中的“程序基本结构”、“程序设计”和“程序的编辑和翻译”。

教学准备:

1.每台学生机上都能顺利运行VB语言,并且拷入本节所用到的程序范例。教师要事先做好程序范例的共享工作。

2.教师要在课前搜集整理一些典型的程序或解题报告供学生开阔视野和深入学习。

3.学生对上节课中的算法要进一步熟悉,否则,会影响学生探寻算法与程序间的对应关系。

教学过程安排

1.导入新课:认识程序。

(1)实验:运行配套光盘“个人理财问题”的可执行程序“个人理财.exe”,并根据教材中的实验要求记录运行结果,完成活动一的步骤1。

(2)介绍“个人理财”问题的源程序“个人理财.vbp”,了解VB设计的程序,包括扩展名为vbp的工程管理文件、扩展名为frm的窗体设计文件和扩展名为exe的可执行文件,了解三者之间的关系。

(3)阅读源程序:通过对照源程序和运行可执行文件的过程,找到计算机是如何接受数据、计算出结果并加以输出的。

2.介绍“学习指引”中的“程序设计语言的产生与发展”。

3.探寻算法与程序间的对应关系。

分组讨论:分析算法与程序的对应关系,完成活动一的步骤2,并结合第二节中对于算法的描述,进一步加深对算法概念的理解,同时尝试总结出程序的概念和特征。

4.介绍“学习指引”中的“程序及其特征”。

5.引入主体活动:了解程序的结构。

(1)阅读“求点到直线的距离”的源程序,使用F8键单步运行程序,观察程序执行的顺序并记录结果.完成活动二的步骤l。

(2)分组讨论:用流程图描述程序中的算法。

(3)介绍“学习指引”中的“程序基本结构”的顺序结构。

(4)思考:顺序结构的程序运行顺序有什么特点?还可以用顺序结构解决哪些问题?

(5)阅读“求绝对值问题”的源程序,使用F8键单步运行程序,观察程序运行过程并记录结果,完成活动二的步骤2。

(6)分组讨论:用流程图描述程序中的算法,和“求点到直线的距离”的算法比较有什么不同,引人选择结构。

(7)介绍“学习指引”中的“程序基本结构”的选择结构

(8)思考:选择结构是不是意味着程序会出现两个结果?完成选择后(即endif以后)程序该如何运行?-

(9)阅读“个人理财问题”的源程序,使用F8键单步运行程序,观察程序运行过程并记录结果,完成活动二的步骤3。

(10)分组讨论:用流程图描述程序中的算法,和前两个算法进行比较。引入循环结构。

(11)介绍“学习指引”中的“程序基本结构”的循环结构。

(12)思考:循环条件是如何控制循环结构的运行的?

这个阶段是本节教学的重点,教师可以从流程图着手,通过流程图与程序的一一对应关系的分析,让学生掌握三种程序结构。其中,循环结构是教学中的难点,主要的问题在于程序运行的走向和循环条件的关系之间的联系,教师可以通过单步运行或者人工模拟运行的方法帮助学生理解。在这期间,对于循环中控制循环的变量值的变化要实施实时地监控,这样才能让学生了解这些变量是如何控制循环过程的。

6.了解程序的生成和执行。

(1)实验:生成程序,体验从建立工程、编写代码、保存文件到调试运行生成可执行文件的全过程。

(2)讨论:调试运行过程中可能会出现的调试信息和应对方法,可以结合前面活动中的F8单步运行命令的使用,指导学生解决代码中的出错信息。

7.介绍“学习指引”中的“程序设计”和“程序的编辑和翻译”。

8.总结:程序的三种基本结构的算法与程序语言之间的对应关系,介绍程序设计的基本方法。

要点提示

1.教师要讲解源程序的调用过程。

2.教师要引导学生不要过多关注VB的功能,否则会分散学生的注意力。

3.在处理算法与程序之间的对应关系时,不要过多关注语句的功能,这些语句在后面的学习过程中会涉及。

4.在观察程序结构时,应该结合所给的流程图进行,因为流程图是用来描述算法设计的,这样做能方便化解本节的难点。

5.学生在编辑程序时,教师要给予学生以技术支持,避免学生走弯路。

6.学生在体验程序的执行情况时,教师要组织学生交流学习指引中程序的发展和编译方面的内容。

活动三“了解程序的生成和执行”可以提前与活动一一起进行,这样能帮助学生更好地理解程序文件之间的关联和生成的过程,而调试过程应该增加一些出错信息或者调试信息的介绍,因为学生在尝试的时候不可避免地会犯一些错误,比如使用全角标点符号等问题,通过调试和修改,可以让学生更好地体验编程的过程。

JAVA语言与面向对象程序设计课后习题答案

第1章面向对象软件开发概述 1.简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。 答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以“对象”为主体,“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。 面向过程的编程语言:C,Pascal,Foratn。 面向对象的编程语言:C++,Java,C#。 2.简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。 答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如“电视机”,那么对象就是某一个具体的电视机,如“我家那台电视机”。 3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象“学生”,试为这个对象设计状态与行为。 答:对象都具有状态和行为。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。 行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。 学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等; 学生的行为:自我介绍、入学注册、选课、参加比赛等。 4.对象间有哪三种关系?对象“班级”与对象“学生”是什么关系?对象“学生”与对象“大学生”是什么关系? 答:对象间可能存在的关系有三种:包含、继承和关联。 对象“班级”与对象“学生”是包含关系。 对象“学生”与对象“大学生”是继承关系。 5.有人说“父母”和“子女”之间是继承的关系。这种说法是否正确?为什么? 答:“父母”和“子女”之间不是面向对象意义上的“继承”关系。因为这里的继承关系是“is a”的关系,“男人”与“人”之间可以说是继承关系。 6.面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作? 答:面向对象的软件开发过程可以大体划分为面向对象的分析(Object Oriented analysis,OOA)、面向对象的设计(Object oriented design,OOD)、面向对象的实现(Object oriented programming,OOP)三个阶段。 面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。 面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。 7.面向对象的程序设计方法有哪些优点? 答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,使得上述“分析—设计—实现”的开发过程也更加高效、快捷。

高级语言程序设计课程设计报告

高级语言程序设计课程 设计报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

2013-2014学年第二学期 《高级语言程序设计》 课程设计报告 题目:班级档案管理系统 专业:网络工程 班级:二 姓名:朱和芳 指导教 师:孙妍姑 成绩: 计算机与信息工程系 2014年5月11日 班级档案管理系统 设计总说明 一、设计目的 运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰

写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。 二、设计内容 对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。 三、设计方法 结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。

目录 第一章绪论 (5) 第二章需求分析 问题描述 (6) 功能要求 (6) 算法提示 (6) 项目开发的目的 (7) 第三章概要设计 程序模块的组成 (8) 班级档案管理系统 (8) 各个程序的功能介绍 (9) 系统结构图 (9) 第四章模块设计分析 程序的模块组成 (10) 各个函数的主要功能 (10) 系统的功能模块的划分 (10) 总流程图 (12) 功能流程图 (13) 第五章测试 存在的问题 (14) 测试方案 (14) 第六章使用说明书 (15)

第七章总结 (17) 附录 A参考文献 (18) B源程代码 (20)

1、程序设计语言的进化

计算机世界/2004年/07月/12日/第A22版 程序设计语言的进化 中国科学院软件研究所宋靖宇 1967年5月20日,在挪威奥斯陆郊外的小镇莉沙布举行的IFIP TC-2工作会议上,挪威科学家Ole-Johan Dahl和Kristen Ny-g aard正式发布了Simula67语言。Sim ula67被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。之后,在1968年2月形成了Sim ula67的正式文本。 也是在1968年,荷兰教授E.W.Dijkstra 提出了/GOTO语句是有害的0观点,指出程序的质量与程序中所包含的GOTO语句的数量成反比,认为应该在一切高级语言中取消GO-TO语句。这一观点在计算机学术界激起了强烈的反响,引发了一场长达数年的广泛的论战,其直接结果是结构化程序设计方法的产生。 相信当时没有任何人预见到当年发生的这两件事对后来计算机技术,特别是软件技术所产生的深远影响。尽管这两种方法的思想差异巨大,但是多年以后,无论是Ole-Johan Dahl 和Kristen Nygaard,还是E.W.Dijkstra,都因其在这一年所取得的成就,获得了计算机界的诺贝尔奖)))图灵奖。 随着计算机技术的迅猛发展,硬件成本不断降低,而软件成本却不断增加,因此,如何缩短软件生产周期和提高维护效率,研制出高质量的软件产品成为一个重要课题。 程序设计思想的进步 在20世纪60年代,软件曾出现过严重危机,由软件错误而引起的信息丢失、系统报废事件屡有发生。为此,1968年,荷兰学者E.W. Dijkstra提出了程序设计中常用的GOTO语句的三大危害:破坏了程序的静动一致性;程序不易测试;限制了代码优化。此举引起了软件界长达数年的论战,并由此产生了结构化程序设计方法,同时诞生了基于这一设计方法的程序设计语言Pascal。 由瑞士计算机科学家Niklaus Wirth开发的Pascal,一经推出,它的简洁明了以及丰富的数据结构和控制结构,为程序员提供了极大的方便性与灵活性,同时它特别适合微计算机系统,因此大受欢迎。结构化程序设计思想采用了模块分解与功能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。因此,结构化方法迅速走红,并在整个20世纪70年代的软件开发中占绝对统治地位。 但是,到了70年代末期,随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化,于是面向对象技术开始浮出水面。 面向对象程序设计方法起源于Simula67语言。在程序设计语言的发展史上,20世纪60年代后期是承上启下的重要时期。这一时期有三种重要的语言问世,即Simula67、由一批顶尖计算机科学家共同设计的Algol68、以及为IBM360系列机配套开发的PL/I。这三种语言虽均有所创新,但Simula67的面向对象概念的影响是最巨大而深远的。它本身虽因为比较难学、难用而未能广泛流行,但在它的影响下所产生的面向对象技术却迅速传播开来,并在全世界掀起了一股OO热潮,至今盛行不衰。面向对象程序设计在软件开发领域引起了大的变革,极大地提高了软件开发的效率,为解决软件危机带来了一线光明。

面向对象程序设计教程答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。

(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选) (1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是(C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,(D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。

00342高级语言程序设计(一)考试说明

00342高级语言程序设计(一) 一、本课程使用教材、大纲 高级语言程序设计(一)课程使用的教材为《高级语言程序设计》 迟成文编著、经济科学出版社、2007年第一版。 二、本课程的试卷题型结构及试题难易度 1、试卷题型结构表 四个认知层次在试卷中所占比例大致分别为:识记占20%、领会 占30%、简单应用占30%、综合应用占20%。 3、试卷难易度大致可分为“容易、中等偏易、中等偏难、难”。根据 课程的特点,每份试卷中,不同难易度试题所占的分数比例大致 依次为易占30分、中等偏易占30分、中等偏难占20分、难占 20分。 三、各章内容分数的大致分布

五、各题型范例及解题要求 1.单项选择题 要求:在下列每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内。 例:组成C语言程序的是(B ) A.过程B.函数C.子程序D.主程序和子程序 2.填空题 函数中的形参和调用时的实参都是变量时,传递方式为________。答案:值传递方式 3.程序填空题 例:输入10个整数存入一维数组,再按逆序重新存放后再输出。 main( ) { int i, j, a[10], t, *p; for(i=0; i<10; i++) scanf("%d", __________ ); for(i=0, j=9; i

汇编语言程序设计实验教程

汇编语言程序设计实验教程

目录 第一章上机过程 (4) 1.1编辑源程序 (4) 1.2 汇编源程序 (5) 1.3连接目标程序 (6) 1.4运行程序 (7) 第二章DEBUG命令祥解 (8) 2.1 DEBUG程序使用 (8) 2.2 DEBUG的常用命令 (8) 第三章汇编语言程序设计实验 (13) 3.1实验一顺序与分支程序设计 (13) 3.2 实验二循环与子程序程序设计 (15) 3.3 实验三算术运算与代码转换程序设计 (16) 3.4 实验四字符串的匹配与替换程序设计 (18) 3.5 实验五输入输出程序设计 (19) 第四章部分实验参考答案 (21)

第一章上机过程 1.1编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序的系统。 汇编:将汇编语言程序翻译成机器语言程序的过程。 在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。 (1)编辑软件 编辑软件:EDIT、QE、WORD、NOTEPAD等。 当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。 (2)汇编程序 有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。 (3)连接程序 用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的目标代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。 (4)辅助工具程序(.EXE) 进行汇编语言程序调试和文件格式转换的程序有: https://www.sodocs.net/doc/e913172132.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

面向对象程序设计教程答案

面向对象程序设计教程(C++吾言描述)题解与课程设计指导 面向对象程序设计概论 一、 名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公 共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的 单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对 象要求另一个对象实施某种操作的一个请求。 二、 填空题 ( 1) 目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种 重要的程序设计方法。 (2) 结构化程序设计方法中的模块由顺序、选择和循环 3 种基本结构组成。 ( 3) 在结构化程序设计方法中,程序可表示为程序 =数据结构 +算法; 而面向 对象的程序设计方法,程序可表示为程序 =对象 +消息。 ( 4) 结构化程序设计方法中的基本模块是过程; 而面向对象程序设计方法 中的基本模块是类。 ( 5) 面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、 选择题(至少选一个,可以多选) ( 1) 面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 ( 2) 面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制 叫做( C )。 A. 抽象 B. 继承 C. 封装 D. 多态 ( 3) 在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 ( 4) 面向对象程序设计中,对象与对象之间的通信机制是( C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与 C 语言的关系的描述中,(D )是错误的。 A. C 语言是C++勺一个子集 B. C 语言与C++是兼容的 C. C++对C 语言进行了一些改进 D. C++和C 语言都是面向对象的 【结果分析】 C 语言是面向过程的。C++吾言是一种经过改进的更为优化的 C 语言,是一种混 合型语言,既面向过程也面向对象。 ( 6) 面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依 存、不可分割的整体来处理。 A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象 第1

最新高级语言程序设计课程设计方案汇总

2011高级语言程序设计课程设计方案

《高级语言程序设计》课程设计方案 一、设计的目的 《高级语言序设计》课程设计是计算机科学与技术专业和网络工程专业集中实践性环节之一,是学习完《高级语言程序设计》课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对高级语言程序设计的基本理论和基本语法知识的理解,全面掌握高级语言程序设计的基本方法和技术,熟悉相关编程环境和工具,能够熟练地运用C/C++编写较为简单的应用程序,并对之进行调试分析。按照专业人才培养方案规定,本课程设计合格学生记学分2分。 二、参与人员与组织方式 按照专业人才培养方案,本课程设计要求2010级计算科学与技术专业和网络工程专业的所有学生必须按时完成。为了保证设计的质量,本课程设计以组为单位,3人一组进行组织,配备一位指导老师进行指导。课程设计时间共两周,从2011年12月1日开始到2011年12月23日结束。 三、设计内容 以Windows xp或Windows 7等为开发平台,以Visual C++或GCC/G++(IDE推荐MinGW Developer Studio)作为开发工具和开发环境,用纯C或C++编码,完成一个小型实用程序的设计、算法分析和编码、调试,程序采用控制台字符界面,数据采用文本文件存储,要求程序功能清晰、完善,能正常运行,有明确的输入输出,结果正确,用户界面友好;代码要求符合标准,排版清晰,风格良好。设计过程应该提供完善的设计文档,代码说明文档。根据学生的具体情况,每位学生从以下题目中任选一个,独立完成分析、设计和程序实现。 参考设计题目: 一、编写一个公司财务管理程序 1、内容 编写一个程序,对某个公司的财务进行管理,包含简单的财务数据录入,查询,输出等功能。 2、设计要求 1) 程序采用字符界面 2) 显示功能菜单,用户指定键即可进入相应功能 3) 财务记录保存于文本文件 4) 支持手动查询和报表输出,数据输出格式美观

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=3997 https://www.sodocs.net/doc/e913172132.html,快速开发新闻系统在线播放 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=1243 https://www.sodocs.net/doc/e913172132.html, 2.0快速入门(12)-https://www.sodocs.net/doc/e913172132.html, 2.0网站快速导航 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=4825 https://www.sodocs.net/doc/e913172132.html, 高级排错技巧 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.sodocs.net/doc/e913172132.html,开发SQL Server 2005 OLAP应用 https://www.sodocs.net/doc/e913172132.html,/so/so138.aspx?id=2535

程序设计语言(C)复习题

程序设计语言(C)复习题 一.单项选择题 1.以下四个常量中,正确的是() A) ‘at’ B) 0xabc C) -0fff D) 01188(八进制数不能出现8的数字) 2.合法的浮点数是:() A) 160.0 B) 1.4e3.0 C) 521 D) .e5 3.若a=3,b=2,c=1,表达式f=a>b>c的值是:() A) true B) false C) 1 D) 0 4.以下不正确的if语句形式是:(C ) A) if (x>y && x!=y); B) if (x==y) x+=y; C) if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D) if (x

8.下列定义中,()定义了一个指向函数的指针。 A) i nt (*p)() B) int *p[4] C) int (*p)[4] D) int *p() 9.下面程序段的运行结果是:() char c[5]={‘a’, ’\0’,’b’,’c’,’\0’}; printf(“%s”,c); A) ‘a’ B) a C) a□bc D) abc 10.以下程序的输出结果是) #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } 11.系统的标准输入文件是指(),标准输出文件是指() A) 键盘B) 显示器C) 软盘D) 硬盘 12.有关结构和联合的陈述不正确的是:() A)结构类型变量的长度是它的各个域的长度之和。 B)联合类型变量的长度是它的最长域的长度。 C)结构类型变量和联合类型变量的各个域均可同时存放值。 D)联合类型变量的地址和它的各个域的地址是同一地址。 13.若有以下说明语句: struct student { int age; int num; } std, *p; p=&std; 则以下对结构体变量std中成员num的引用方式不正确的是)

面向对象程序设计语言教学大纲

《面向对象程序设计语言》(含实验) 教学大纲 一、课程基本信息 课程编号:2032106 课程英文名称:Object-oriented programming language 课程类型:学科专业主干课程(必修) 学时/学分:72/3 开课学期:第二学期 考核方式:闭卷考试 先修课程:计算机导论及计算机操作基础 选用教材:《C++ 程序设计教程》. 郑莉. 机械工业出版社,2001年7月. 主要参考书: 1.《《C++面向对象程序设计》. 谭浩强. 中国铁道出版社,2006年. 2.《C++ 程序设计教程. 钱能. 清华大学出版社,1999年4月. 3.《C++ Primer》. 第三版. Stanley B Lippman JoseeLajoie著. 潘爱民张丽译. 中国电力出版社,2005年2月. 二、课程性质、目的和任务 C++程序设计语言是计算机应用类专业的一门专业必修课。面向对象软件开发方法是吸收了软件工程领域的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。 本课程主要介绍面向对象程序设计的方法和 C++ 语言的基本概念。以 C++ 语言中的面向对象机制为主。学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握 C++ 的面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。 通过本课程的学习,可以使学生熟悉面向对象 C++ 语言发展的历史、为什么要面向对象、面向对象语言分类、 C++ 中支持面向对象的特点及面向对象的软件开发环境 Microsoft Visual C++ ,理解和掌握面向对象程序设计( OOP )的基本思想及基本概念:抽象、继承、封装、多态性,掌握使用 C++ 语言进行面向对象编程的技术:函数重载、运算符重载、内联函数、虚函数、友元函数,编写实现“继承”和“多态性”的 C++ 程序,初步认识 VC++ 应用程序设计方法及过程。 三、课程学时分配

《高级语言程序设计》课程设计

《高级语言程序设计》课程设计 一、课程的性质与任务 1.课程性质:《高级语言程序设计》课程设计是计算机工程学院为本科生各专业开设的专业实践课。计算机工学院本科生在完成《高级语言程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《高级语言程序设计》课程中所学的有关知识,受到实践动手能力的基本训练,培养学生的团队精神,增强发现、提出、分析和解决实际问题的能力,为学生毕业后的实际工作奠定一定的基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。科学技术日新月异的发展使计算机应用在生活中可以说得是无处不在,因此作为计算机工程学院学生掌握程序设计和开发技术非常重要,而C语言又是最常见,功能强大的一种高级语言,因此做好C语言课程设计非常必要,能够对后续许多专业课程的学习和实践训练起到重要的保证作用。 2.课程任务:本课程要求学生编写相对教材中实例要较复杂一些的实用程序,通过理论知识与实际需求相结合的编写实用程序的实践活动,使学生了解应用程序设计解决实际问题的具体过程,了解利用算法和数据结构思想编写程序的实际实行方法,掌握应用C语言进行程序设计的基本规范和技巧,掌握阅读与编写程序的结构化程序设计思想,重点掌握C语言的一般语法规则、常用函数、程序编写调试过程和编程解题的常用方法。 二、高级语言课程设计基本要求 1.通过这次课程设计,要求加深对C语言的语法规则、数组、函数、指针等方面基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 2.课程设计可采取每人一题,可任选一题进行设计, 至少包含五个功能模块。或者每组完成一个课题,每组成员(5到6人)分工合作完成一个课程设计,每个人的任务不同。

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

2012届程序设计语言强化课程设计综合任务

程序设计语言强化课程设计综合任务: (一)学生成绩排名 先采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。 步骤、方法与要求 1.定义一个数组a[11],用以存放学生的成绩。 2.从键盘输入10个学生成绩。 3.采用选择法,将学生成绩按照从高到低进行排序。 4.再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组。 5.将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。 6.将以上每一步骤的结果均打印输出,验证程序是否正确实现题目要求。 (二)根据条件进行学生成绩排名 在函数中进行10个学生成绩从高到低排名,再改进函数,进行n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为' d ' 按降序排。(a:ascending 升,d:descending 降) 编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。 步骤、方法与要求 1.在函数中进行10个学生成绩从高到低排名 sort(int a[10]) 2.改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名, 3.改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从 高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按 升序排,style为’d’按降序排。 (a:ascending 升,d:descending 降) 4.编写4个排序函数,实现4种不同的排序算法(用冒泡法进行升序排序,用 冒泡法进行降序排序,选择法进行升序排序,选择法进行降序排序等),函数 返回指向排好序的数组的指针。 5.编写通用输出函数 show(int *(* fun)(a[ ], int n )),其中a[]为成绩 数组,n为数组元素个数。 6.编写主函数调用以上函数。

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

《高级语言程序设计》课程设计报告

2013-2014学年第二学期《高级语言程序设计》 课程设计报告 题目:进程调度模拟 专业:计算机科学与技术 班级:12级对口(3)班 姓名:刘以鹏 指导教师:代美丽 成绩: 计算机与信息工程系 2014年 5月 23日

目录 1 1 设计目的及要求 (3) 1.1 设计目的 (3) 1.2 课程设计的实验环境 (3) 1.3 课程设计的预备知识 (3) 1.4 课程设计要求 (3) 2 课程设计内容 (3) 2.1程序功能介绍 (3) 2.2程序整体设计说明 (4) 2.2.1设计思路 (4) 2.2.2数据结构设计及用法说明 (5) 2.2.3程序结构(流程图) (5) 2.2.4各模块的功能及程序说明 (6) 2.2.5程序运行结果 (7) 3 总结 (9) 参考资料 (11) 程序源代码 (12)

1 设计目的及要求 1.1 设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 1.2 课程设计的实验环境 硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。 1.3 课程设计的预备知识 熟悉C语言及C语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告 2课程设计内容 2.1程序功能介绍 在多道程序环境下,进程数目往往多于处理机数目,致使他们争用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

面向对象程序设计语言 试卷A评分标准

《面向对象程序设计语言》试卷A评分标准 一、判断题。(本题共10小题,每题1分,满分10分) 1、√ 2、√ 3、√ 4、× 5、× 6、× 7、√8.√9.√10.× 二、简答题。(本题共3 小题,满分30分) 1、(10分,只要用自己的话说出主要内容即可的满分) 对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。 面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。 面向对象方法的基本原则是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。 2、(10分,只要用自己的话说出主要内容即可的满分) 当某类的部分或全部直接基类是从另一个基类派生而来,这些直接基类中,从上一级基类继承来的成员就拥有相同的名称,派生类的对象的这些同名成员在内存中同时拥有多个拷贝,此时可以使用作用域分辨符来唯一标识并分别访问它们,也可以将直接基类的共同基类设置为虚基类,这时从不同的路径继承过来的该类成员在内存中只拥有一个拷贝,这样就解决了同名成员的唯一标识问题。 虚基类的声明是在派生类的定义过程,语法格式为:class 派生类名:virtual 继承方式基类名在多继承情况下,虚基类关键字的作用范围和继承方式关键字相同,只对紧跟其后的基类起作用。声明了虚基类之后,虚基类的成员在进一步派生过程中,和派生类一起维护一个内存数据拷贝。 3、(10分,只要用自己的话说出主要内容即可的满分) 多态是指同样的消息被不同类型的对象接收时导致完全不同的行为,是对类的特定成员函数的再抽象。C++支持的多态有多种类型,重载(包括函数重载和运算符重载)和虚函数是其中主要的方式。 三、阅读程序写出程序执行结果。(本题共3小题,满分30分) 1、(10分) The result is: 60 The result is: 33 The result is: 15 The result is: 6 2、(10分) Constructing Base2 2 Constructing Base1 1 Constructing Base3* Constructing Base1 3 1

相关主题