计算机程序设计与工业工程

计算机程序设计与工业工程
计算机程序设计与工业工程

课程:程序设计概论

题目:计算机程序设计与机械工程

姓名:金阳

学号:100606209

平时成绩__________论文成绩_____________

总分_____________

简评:

题目:计算机程序设计与机械领域

摘要:

计算机程序设计的基本认识(①程序设计概念、②程序设计语言、③软件开发的基本过程);机械工程及计算机程序在机械领域的应用背景(①对机械工程的认识、②计算机程序在机械领域的应用)。

关键字:

程序设计、概念、应用语言、软件开发、机械领域、程序应用。

正文:

一、计算机程序设计的基本认识

①程序设计概念:

程序设计=数据结构+算法

程序设计是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸,算法设计,编写代码,编译调试和整理并写出文档资料五个阶段。

②程序设计语言:

世界上编程语言太多了,就像每个国家都有自己的语言一样的.但是从编程语言发展的角度说:大概经历这样四个阶段:

第一个阶段是

机器码编程(你肯定知道计算机只能识别0和1,以前就是这样编程的).现在的PC计算机依然是这样,冯.诺依曼结构的计算机.你可以去网上搜索冯.诺依曼是干什么的.你会想,为什么现在编程不是0,1,计算机怎么识别呢?当你开始编程的时候,你用的编译器就在做这些事情.第二个阶段是

低级语言,比如汇编语言,台湾叫做组合语言.其实组合翻译还是比较准确的.一般有IBM PC汇编语言,还有AT&T的汇编语言.学一个就可以了,另一个只是形式不同.对于Intel的CPU 来说,80888086是对应于16位的汇编语言,80386以后到现在的奔腾都是对应32位汇编语言.现在大学学的是8088/8086的汇编,这远远落后于时代了.目前已经推出了64位的CPU了.

汇编之所以是低级语言,是因为可以对计算机硬件进行直接操作.尤其是对BIOS的中断调用.最典型的是,在我们操作系统启动的时候(比如XP,LINUX...),内核引导程序就要调用BIOS来获得计算机的硬件信息供内核的调用.

低级不是代表功能不强大.对硬件进行直接操作的,一般如果代码量小的话,会选择汇编来写.汇编的效率极高.

第三个阶段是:结构化高级语言

这个代表就是C语言,PASCAL语言,FORTANT语言.

C语言相比较这三个语言来说,应用是最广泛的.C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C 语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。这里提到可移植性,补充上边说的汇编语言,汇编语言因为是直接面对硬件,所以如果硬件不同,编程的语法就不同,所以

汇编一般不可移植,或者移植非常困难.

第四个阶段:面向对象的高级语言

典型的是C++JAV A

在C语言的编程过程中,大家发现结构化编程的C语言编程比较麻烦.比如,我要编写描述3个凳子的程序,如果用C写的话,我必须一个一个描写凳子.如果要写100,1000个或者更多呢?不就麻烦死了.为什么我们不能先构造一个凳子的基本模型,然后根据具体凳子的特点添加代码呢?这样代码量不是大大减轻了,程序员就少做很多重复劳动了.这个基本模型就是面向对象里边经常提到的类.

当然C++和C比较不仅仅是这些优点太多了,C++的内容很多,C++是C的超集.C++和C 的语法很相近,C++一样能处理结构化的程序,基本和C一样.

此外还有其他一些脚本语言perl,标记语言html等等.游戏开发也经常用到脚本语言.

③软件开发的基本过程:

第一步:需求调研分析

1、相关系统分析员向用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

2、系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。

3、系统分析员向用户再次确认需求。

第二步:概要设计

首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

第三步:详细设计

在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。第四步:编码

在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。

第五步:测试

测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。

第六步:软件交付准备

在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。

第七步:验收

用户验收。

二、机械工程及计算机程序在机械领域的应用背景

①对机械工程的认识:

机械是现代社会进行生产和服务的五大要素(人、资金、能源、材料和机械)之一,并参与能量和材料的生产,是一门以有关的自然科学和技术科学为理论基础,结合生产实践中的技术经验,研究和解决在开发、设计、制造、安装、运用和修理各种机械中的全部理论和实际问题的应用学科。

机械工程从分散性的、主要依赖匠师个人才智和手艺的技艺发展成为有理论指导的、系统的和独立的工程技术。

②计算机程序在机械领域的应用:

计算机程序在机械领域的应用主要体现在两个方面:机械自动化控制和计算机辅助设计。

机械制造自动化

这是机械化、电气化与自动控制相结合的结果,处理的对象是离散工件。早期的机械制造自动化是采用机械或电气部件的单机自动化或是简单的自动生产线。20世纪60年代以后,由于电子计算机的应用,出现了数控机床、加工中心、机器人、计算机辅助设计、计算机辅助制造、自动化仓库等。研制出适应多品种、小批量生产型式的柔性制造系统(FMS)。以柔性制造系统为基础的自动化车间,加上信息管理、生产管理自动化,出现了采用计算机集成制造系统(CIMS)的工厂自动化控制系统。

计算机辅助设计

计算机辅助设计就是利用计算机及其图形设备帮助设计人员进行设计工作。其中计算机图形技术就是计算机辅助设计的主要体现。

计算机图形技术是一使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。具体来说就是把描述图形所必须的信息——数据,通过计算机处理,呈现在显示设备上,实现数据的可视化。

机械设计离不开图形,伴随着计算机技术的发展,1958年绘图机的出现,突破了手工绘图模式,人们第一次看到了机器绘图,尽管绘图速度不高,图形也简单,但毕竟是用机器代替了手工,使绘图向自动化方向迈出了关键的一步。这种绘图方式解决了简单图形的复制与保存,使工厂在描图、晒图以及图纸保管方面的工作变得简单、容易。所以它在提高质量、缩短周期、减轻劳动强度、提高生产率等方面都起到很大作用。1962年出现了交互式绘图,速度提高了,实用性也更大;20世纪80年代以后,图形软件进一步发展完善,从而更加满足人们的需求。纵观CAD图形支撑软件的发展,大体可以分四个阶段,即计算机绘图系统;交互式二维绘图系统;几何造型系统(三维造型系统,包括线框造型,曲面造型和三维造型等);以数据库为核心的CAI/CAM一体化系统(它在形体表示、特征造型、参数化设计、集成化等方面有新的突破)。

CAD/CAM是计算机图形技术在工业界最广泛、最活跃的应用领域,在机械制造领域内也有广泛的应用。计算机图形技术被用来进行机械结构和产品的设计,包括设计飞机、汽车、船舶的外形和发电厂、化工厂等的布局以及电子线路、电子器件等。图形技术不仅着眼于产生工程和产品相应结构的精确图形,而且在图形中有错误时计算机能够自动判断,设计过程中的某个局部修改会与其相关部分协调自动修改(包括算式,数据和图形),而运动的部分会自动判断是否发生干涉或碰撞。然而更常用的是对所设计的系统、产品和工程的相关图形进行人-机交互设计和修改,经过反复的迭代设计,便可利用结果数据输出零件表、材料单、加工流程和工艺卡,或者数据加工代码。

小结:

计算机辅助设计和自动化控制在机械制造领域内的应用大大地提高了机械设计和加工的精度及效率,同时也大大降低了加工成本和失误率。在数控加工图形仿真验证中,传统的图像空间离散方法提供的观察分析手段较少,限制了它的应用;而物体空间方法计算量大,不具有实时性。在基本图像空间离散法的基础上对数据结构和算法作了改进的方法,一方面不会失去仿真实时性,另一方面为用户提供了更多且方便有效的分析观察手段,且具有物体空间方法的优点。就是因为计算机辅助设计和自动化控制的这些优点,强力的推动了机械化生产的革新,进而推动了社会生产力的发展,促进了社会经济的增长,一步步的推动人们向着更加繁荣富强的生活进军!

计算机程序设计技术证书考试大纲

二维动画设计工程师技术水平证书( Flash) 考试大纲 一、考试性质、目的和要求: (1) 考试性质和目的 本考试的目的在于使合格人员熟悉运用Flash 软件进行二维动画设计的基础知识、基本概念、基本制作与应用等方面的基础知识,掌握计算机二维动画设计(FLASH)基本技能,以便考生达到计算机二维设计工程师的水平。 (2) 考试的基本要求 1) 掌握计算机二维动画制作的基本概念 2) 熟悉计算机二维动画的发展前景与市场需求,制作软件的操作原理,应熟练掌握。 3) 以动态动画为基础,掌握主要Flash 的功能及应用特点 4) 熟练掌握基础动画的制作方法,能够根据实际应用进行影视动画和网页动画的制作。 5) 熟悉场景应用特点,能够根据相应的动画效果进行制作。 6) 熟悉场景动画主要特点,能够根据需要制作出基本的场景动画。 7) 掌握动作和基本脚本工作原理,能够根据应用需要选择、配置动画交互效果。 8) 根据网站动画的需要,能熟练制作出相应的网页动画与Flash 按钮,以达到为网页增强视觉效果。 二、适应岗位 二维动画工程师/网页动画工程师 1. 具备Flash 动画制作的基本知识; 2. 可以完成场景动画元素的规划、设计、绘制与调试; 3. 可对网页的实际需求,制作出相应风格的动画、按钮。 三、考试说明 1.考试形式: 应用工业和信息化部电子教育与考试中心考试系统,上机考试。 2.考试分值比例: 二维动画设计(Flash)工程师技术水平证书考试试卷由理论考试和实践考试两部分组成。试卷总分值为 100 分,其中理论题占25 分,实践题占75 分。 3.考试时间:150 分钟。 4.考核目标: 全面考察学生对于计算机二维动画基础知识、时间轴、逐帧动画、位移动画、形变动画、蒙版动画、脚本动画,以及与原画创作思想等知识的掌握程度。 四、考试内容 一:基本操作与移位动画 1、软件的概述 2、操作界面 3、椭圆工具的使用 4、更改椭圆的颜色 5、如何将散件装换为元件 6、帧的概念 7、帧速率 8、矩形工具与多边形工具的使用 9、圆角矩形的调整

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

简易计算器的设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1设计内容 (1) 1.2设计原理 (1) 1.3设计思路 (2) 1.4实验环境 (2) 第2章详细设计方案 (3) 2.1硬件电路设计 (3) 2.2主程序设计 (7) 2.2功能模块的设计与实现 (8) 第3章结果测试及分析 (11) 3.1结果测试 (11) 3.2结果分析 (11) 参考文献 (12) 附录1 元件清单 (13) 附录2 总电路图 (14) 附录3 程序代码 (15)

第1章总体设计方案 1.1 设计内容 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。显示采用6位8段共阳极数码管动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。 1.2 设计原理 在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。 1)提出方案 以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。 2) 总体方案实现 (1)要解决键值得读入。先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码

计算机基础与程序设计试题及答案

计算机基础与程序设计试题 课程代码:02275 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.微机一般是16位机或32位机,它指的是机器的( )。 A.速度 B.容量 C.系列号 D.字长 2.若当前路径为C盘TC子目录,仅将A盘根目录下的文件名第3个字符为P,扩展名为C 的所有文件复制到C盘TC子目录下,一定成功的命令是( )。 A.COPY A:\*P*.C B.COPY A:\??P*.C C: C.COPY A:\??P*.C D.COPY ??P*.C C:\TC 3.在C程序中,main函数的位置是( )。 A.必须作为第一个函数 B.必须作为最后一个函数 C.可以放在任意位置 D.必须放在它所调用的函数之后 4.设int a=3;下列哪一个表达式的值等于0( )。 A.a&&(a>0) B.!a||a C.a%=a D.a>=a 5.如果a=5,b=2,c=3,d=4,则表达式a>b? a:c>d? c:d的值是( )。 A.2 B.3 C.4 D.5 6.在C程序中,设一表达式中包含有int, long, char和unsigned类型的变量和数据,这四种类型数据的转换规则是( )。 A.int→unsigned→long→char B.char→int→long→unsigned C.char→int→unsigned→long D.int→char→unsigned→long 7.设有说明:int a=11, b=10;执行表达式a%=b+(a&&b)后,a的值为( )。 A.0 B.1 C.11 D.22 8.下面程序段的运行结果是( )。 main() { int x=1,y=2,z=3,s=0; if(y>x) if(y>z) s=1; else s=2; else s=3; printf(”% d\ n”,s); } A.0 B.1 C.2 D.3 1

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

程序设计基础课程设计

设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15

1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

计算机程序设计发展史

计算机程序设计发展史 【摘要】 程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成,面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。 【关键字】 机器语言汇编语言高级语言计算机语言计算机技术编程语言【正文】 随着计算机的迅速发展,计算机程序设计已经从一种技巧发展成为一门科学,程序设计的方法也在不断的变化、发展。 50年代用机器指令代码进行手编程序是相当麻烦的,在工程技术人员中也很难得到推广。当程序设计是繁杂而又仔细的劳动,重复处理0与1又得花费大量的时间来编制与调试程序,故后期逐渐被用符号指令的汇编程序设计所代替。 1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,大大简化了程序设计,用高级语言编写的程序实现了基本上与机器无关。40多年来,共有几百种高级语言出现,有重要意义的有几十种,诸如FORTRAN、BASIC,ALGOL, COBOL,LISP,PL/1,C,C++等。 当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本各不相同。有许多用于特殊用途的语言,

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计基础课程设计

1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。

2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

计算机程序设计基础

计算机程序设计基础 ——精讲多练C/C++语言 程序的基本结构 1、在屏幕上显示如下图形: **************** * Hello World * **************** #include using namespace std; int main() { cout<<"****************"< using namespace std; int main() { double x,y,sum,sub,mult,div; cout<<"Please enter the two Numbers for calculation:"; cin>>x>>y; sum=x+y; sub=x-y; mult=x*y; div=x/y; cout<

A、5 B、4 C、8 D、输出项不合法,无正常输出 4、下面程序的输出是______ main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } (3分) D A、B、C、D、 A、k=11,k=12,k=13 B、k=11,k=13,k=13 C、k=11,k=013,k=oXb D、k=11,k=13,k=b 5、若有以下定义和语句: int u=010,v=0x10,w=10; printf(″%d,%d,%d\n″,u,v,w); 则输出结果是: (3分) A A、B、C、D、 A、8,16,10 B、10,10,10 C、8,8,10 D、8,10,10 6、以下程序的输出结果是 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }(3分) D A、B、C、D、 A、17,021,0x11 B、17,17,17 C、17,0x11,021 D、17,21,11 7、下面程序的输出是____

计算机程序设计基础复习资料

程设心得 1,以数组作为函数的实参用法易错 声明int statistics(char sentence_name[10], char sentence[500]); 调用statistics("sentence1", sentence2); 而不是statistics("sentence1", sentence2[500]); 或者`statistics("sentence1", &sentence2[500]); 2变量没初始化会导致的错误 long long int fac; fac = fac * counter; 这样就会fac是一个不可预料的数,故要对fac初始化 3.float height, length, width= 3.1; 的含义是什么?是全部初始化为3.1么(待测!)经测试,只是给width赋值,其余的两个变量未初始化,且注意,为初始化的变量是不能直接printf的! 4.s=1.0/2*(a+b+c);算的是a,b,c,和的一半 而s=1/2*(a+b+c);的值为零一定要注意把被除数搞成浮点型! 5.冒泡排序原理 数大的在下面,数小的在上面,对存放原始数据的数组,按从前往后(从上到下)的方向进行多次扫描,每次扫描称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时即将这两个数据进行互换。这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。 程设易混要点 一, 算术运算的说明 两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分 如果除数或被除数中有一个为负值,舍入方向不固定。例如,-5/3,有的系统中得到的结果为-1,在有的系统中则得到结果为-2,VC++采取“向零取整”的方法,如5/3=1,-5/3=-1,取整后向零靠拢 % 运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数。如8%3,结果为2 二, C语言规定了运算符的优先级和结合性,圆括号的优先级最高 三, 不同类型数据间的混合运算 +、-、*、/ 运算的两个数中有一个数为float或double型,结果是double型。系统将float型数据都先转换为double型,然后进行运算 如果int型与float或double型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double型 四, 赋值过程中的类型自动转换 如果赋值运算符两侧的类型一致,直接赋值:i=234; // 此前i已经被定义为int型 如果赋值运算符两侧的类型不一致,自动转换 将浮点数赋给整型变量时,取整,舍弃小数部分,i = 3.45;//结果是i=3 整型数赋给浮点数,数值不变,浮点数形式存储,f = 23;//此前f被定义为float或double,相当于f=23.0

相关文档
最新文档