《软件开发技术基础》(56 学时) 实验教学大纲(修订稿).

合集下载

《计算机软件技术基础》教学大纲

《计算机软件技术基础》教学大纲

《计算机软件技术基础》教学大纲计算机软件技术基础教学大纲一、课程描述计算机软件技术基础是一门研究计算机软件的基础知识与技术的课程。

通过本课程的学习,学生将掌握计算机操作系统、计算机网络、数据库管理系统、软件工程等方面的基础知识和常用技术,为今后进一步学习计算机相关专业课程以及从事相关工作提供基础支持。

二、课程目标1.了解计算机操作系统的基本原理和实现技术,熟悉操作系统的常用功能和应用;2.理解计算机网络的基本概念、工作原理和常用协议,掌握网络通信的基本技术;3.掌握数据库管理系统的基本原理和常见数据操作操作技术,了解数据库应用的一般规程;4.了解软件工程的基本概念和原理,了解常用的软件开发方法和流程;5.培养学生的逻辑分析与问题解决能力,培养学生的数据处理和编程能力;6.培养学生的团队合作和沟通能力,培养学生的创新意识和实践能力。

三、教学内容1.计算机操作系统基础基本概念和原理、进程管理、内存管理、文件系统、输入输出管理、操作系统的应用。

2.计算机网络基础网络基本概念、网络通信协议、局域网和广域网、网络安全基础、网络的应用。

3.数据库管理系统基础数据库基本概念、关系型数据库、SQL语言、数据操作语句、数据库设计和规范、数据库应用。

4.软件工程基础软件工程概念和原理、软件开发过程、需求分析与规格说明、软件设计与实现、软件测试与维护、软件工程实践。

四、教学方法1.教师讲授通过课堂讲解,向学生介绍基本概念和原理,并解释相关技术和方法的应用。

2.课堂讨论引导学生参与课堂讨论,提出问题和观点,增强学生的思考和分析能力,并培养团队合作和沟通能力。

3.实践操作组织学生进行实际操作,如编程实践、数据库设计等,培养学生的实践能力和问题解决能力。

4.实验实践组织学生进行实验实践,通过实际操作和实验结果分析,加深对课程内容的理解和应用。

五、考核方法1.平时成绩包括课堂表现、课程讨论、实验报告等。

2.期中考试针对课程的基本原理和知识点进行笔试。

《软件开发技术》教学大纲_本科_

《软件开发技术》教学大纲_本科_

《软件开发技术》课程教学大纲(本科)总学时数:64学时(其中含实验或实践教学)学分:2学分第一部分大纲说明一.课程的性质和任务《软件开发技术》是高校计算机专业高年级学生专业课,从软件开发技术基本理论出发,将软件开发技术的各个环节有机结合,全面覆盖软件开发过程,特别是软件开发的IT规划和软件过程管理等内容进入了教材的设计环节。

课程主要学习任务:软件开发规律概述、软件开发方法、软件开发平台与工具、系统分析与建模、软件架构技术、软件设计模式、IT规划与咨询、软件开发项目管理、软件开发案例分析等。

《软件开发技术》是一门实践性较强的课程。

为保证教学效果,加强教学的实践环节,应安排上机实验,以有效地培养和提高学生软件设计、开发能力。

根据培养应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和面向对象方法,为更深入地学习和今后从事软件工程实践打下良好的基础。

二.课程基本教学要求本课程教学内容以基础性、系统性、先进性和实用性为原则.1.具备软件工程理论的基本理论和基本常识;2.了解新网络技术条件下软件开发技术进展;3.常用软件开发方法的使用;4.掌握软件开发平台与工具;5.熟练使用系统分析与建模;6.理解软件架构技术和软件设计模式使用方法;7.具有IT规划与咨询的基本常识,熟练使用软件开发项目管理等;三.教学方法和教学形式建议本课程是一门实践性很强的课程,要求教师运用多媒体教学手段在多媒体教室进行教学,对软件的使用进行现场操作讲解,以便使学生及时掌握所学的内容。

1.本课程概念较多,因此教学形式以多媒体课件讲授方式为主。

2.为加强动手能力的培养,每章课后应安排作业。

3.对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。

4.如条件许可,应进行课程设计,联系实际的软件开发项目给学生训练。

四.课程教学要求的层次1.熟练掌握:要求学生能够全面、深入理解和熟练掌握所学内容,并能够熟练运用于实际应用。

《软件技术基础》课程教学大纲

《软件技术基础》课程教学大纲

《软件技术基础》课程教学大纲(Foundations of Software Technique)课程编号:10134015课程性质:专业基础课适用专业:各专业先修课程:计算机应用基础、C语言程序设计后续课程:总学分:3.0学分一、教学目的与要求1.教学目标“软件技术基础”是电子工程等理工类专业本科生的一门必修的计算机基础课。

通过本课程的教学,使学生能够较熟练地掌握软件工程、数据结构、操作系统、数据库和网络等计算机软件基础领域中的基本原理和方法。

使学生在完成本课程学习后,掌握计算机较高层次的应用技能,并为计算机软件设计与开发打下良好基础,也为其它计算机后续课程奠定软件基础。

2.教学要求该门课程所涉及的内容十分广泛。

本课程所选取的内容包括以下几个方面:数据结构、操作系统基础知识、数据库基础知识、软件工程基础知识、网络基础知识等。

二、课时安排三、教学内容1.概述(2学时)(1)教学目标对软件的概念、发展和特征等有一个基本的了解和认识。

(2)教学基本要求了解:信息与计算机应用;软件的发展概况;理解:软件的概念;掌握:软件的特征及其分类;(3)教学内容①信息与信息时代;②计算机与计算机系统;③软件的概念、特征、分类等(重点);④软件技术的的发展过程;2.常用数据结构及其运算(17学时)(1)教学目标对线形和非线性两类数据结构的几种非数值运算有深刻的理解和灵活的应用。

(2)教学基本要求了解:数据、数据元素和数据项的概念及相互关系;理解:数据的逻辑结构和存储结构的概念以及相互间的关系;掌握:线性表和树两类数据结构;查找以及排序的算法实现;灵活运用:利用各种算法编写程序解决线形和非线性的各类实际操作问题。

(3)教学内容①数据和数据结构的基本概念;②算法及算法分析(重点);③线性表的结构及运算(重点、难点);④栈和队列(重点);⑤数组(重点);⑥树、二叉树、二叉树的遍历等(重点、难点);⑦图的存储结构、邻接表、邻接矩阵、图的遍历查找算法等(重点);⑧简单查找、二分查找、分块查找、二叉排序树查找及哈希表查找等(重点、难点);⑨选择排序、插入排序、冒泡排序、快速排序、归并排序等(重点、难点);3.操作系统(10学时)(1)教学目标对操作系统的基本功能,尤其是存储管理和处理器管理有深入的理解。

软件开发 教学大纲

软件开发 教学大纲

软件开发教学大纲软件开发教学大纲软件开发是当今信息技术领域中的重要分支之一,它涵盖了软件设计、编码、测试和维护等方面。

随着科技的不断进步和应用的广泛推广,软件开发的需求也日益增长。

因此,培养具备软件开发技能的人才已成为现代教育的重要任务之一。

本文将探讨软件开发教学的大纲设计,以期为教师和学生提供参考。

一、课程目标软件开发教学的首要目标是培养学生的软件设计和开发能力。

通过系统学习软件开发的基本理论和实践技巧,学生应能掌握软件需求分析、系统设计、编码实现、测试和维护等关键技能。

此外,课程还应注重培养学生的团队合作、问题解决和创新思维能力,使他们能够在实际项目中灵活应用所学知识。

二、课程内容1. 软件开发基础知识- 软件工程概述- 软件生命周期- 软件需求分析与规格说明- 软件设计原理与方法- 软件测试与调试技术2. 编程语言与工具- 常用编程语言(如Java、Python等)的语法和特性- 集成开发环境(IDE)的使用方法- 版本控制工具(如Git)的基本操作3. 软件开发实践- 单元测试与集成测试- 软件项目管理与团队协作- 敏捷开发方法(如Scrum)的原理和实践- 软件质量保证与性能优化4. 前沿技术与趋势- 人工智能与机器学习在软件开发中的应用- 云计算与大数据技术的基本概念- 移动应用开发与跨平台开发技术三、教学方法为了提高学生的实践能力和创新思维,软件开发教学应采用多种教学方法,如:1. 理论授课:通过讲解基本概念和原理,帮助学生建立起系统的知识框架。

2. 实践操作:通过编写小型程序、参与项目开发等实践活动,培养学生的编程和问题解决能力。

3. 项目实训:组织学生参与真实软件项目的开发过程,锻炼他们的团队合作和项目管理能力。

4. 案例分析:通过分析实际软件开发案例,引导学生理解软件开发过程中的挑战和解决方案。

5. 论文阅读:指导学生阅读和分析相关领域的学术论文,培养他们的科研能力和学术素养。

软件技术基础教学大纲-软件技术基础-瞿亮-清华大学出版社

软件技术基础教学大纲-软件技术基础-瞿亮-清华大学出版社

《软件技术基础》教学大纲一、课程信息二、课程内容(一)课程教学目标通过本课程的学习,使学生了解计算机软件中的相关重要概念、软件技术的基础知识和方法,从而培养学生利用计算机解决问题的意识和能力,为计算机在专业应用中奠定基础。

为非计算机专业学生开设的一门关于计算机软件基础知识的综合性课程,以应用为目的,选择性地介绍数据结构、操作系统、软件工程、数据库技术和网络基础等部分内容,通过这些内容的学习,学生能对计算机软件系统有一个整体的认识和了解。

(二)基本教学内容1、计算机软件技术概述及C语言回顾;2、几种典型数据结构的逻辑结构和存储结构;3、算法的概念,二叉树及图的遍历方法,常用的查找和排序算法。

4、软件工程中的基本概念及生命周期法;5、操作系统中的基本概念及管理方法;6、数据库的基本知识,SQL语言。

7、计算机网络的主要结构和常识。

8.网络新技术(1)计算机软件技术概述及C语言回顾;教学目的与要求:了解软件技术的发展历程,常用软件的分类。

复习开发工具C语言中的相关知识。

教学重点:教材章节内容及开发工具C语言中的相关知识。

教学难点:C语言中指针的应用。

教学内容:软件的概念,历史及分类。

本教程各章节的主要内容及学习方法。

开发工具C语言中较难理解的指针,结构体等编程知识。

(2)数据结构教学目的与要求:理解数据结构的基本概念;理解线性表、栈、队列数据结构的基本概念,理解各线性数据结构的特点和存储结构,掌握基于不同的存储结构的相关操作的实现方法;理解树和图的基本概念,基本特点和存储结构,掌握二叉树的遍历算法的实现以及树和二叉树之间转换的方法;理解查找和排序的基本概念,掌握查找和排序的各三种基本方法和实现。

教学重点:线性表、堆栈、队列、树和图的逻辑结构表示;线性表、堆栈、队列、树和图的存储算法;线性表、堆栈、队列、树和图的插入和删除操作的算法。

教学难点:单链表的建立及操作算法;循环队列的工作原理、查找以及排序算法。

软件教案(60学时)

软件教案(60学时)

软件教案(60学时)
1. 教学目标
- 理解软件开发的基本概念和原则
- 掌握常用的软件开发方法和技术
- 能够运用软件开发工具和方法解决实际问题
2. 课程大纲
第一周:软件开发概述
- 软件发展历程
- 软件生命周期
- 软件开发模型
第二周:需求分析与设计
- 需求获取和分析
- 需求规格说明
- 系统设计
第三周:软件编码与测试
- 编码规范和方法
- 软件测试基础
- 测试方法和技术
第四周:软件项目管理
- 项目规划和组织
- 进度管理和控制
- 质量管理和风险管理
第五周:软件配置管理
- 配置管理基础
- 版本控制
- 配置发布与回滚
第六周:软件维护与文档管理
- 软件维护类型与流程
- 遗留系统维护策略
- 文档管理方法与工具
3. 授课方法
- 讲授:以PPT为主,讲解相关概念和原理
- 实践:通过案例分析和实际编程练加深学生实际操作能力
- 讨论:鼓励学生参与讨论,提高问题解决能力
4. 教材
- 《软件工程导论》
- 《软件工程实践》
- 《软件项目管理》
5. 评分方式
- 平时表现:30%
- 作业和实验:40%
- 期末考试:30%
6. 参考资源
以上是我为您准备的软件教案(60学时)的一个简单框架,您可以根据具体情况和要求进行调整和扩充。

如有需要,可以进一步交流。

软件工程》实践教学大纲(3篇)

软件工程》实践教学大纲(3篇)

第1篇一、课程简介《软件工程》是一门研究软件开发原理、方法和工具的学科,旨在培养学生具备软件开发的基本理论、实践技能和工程素养。

本课程通过实践教学,使学生能够掌握软件工程的基本方法,提高软件开发能力,为后续课程学习和实际工作打下坚实基础。

二、教学目标1. 理解软件工程的基本概念、原理和方法。

2. 掌握软件开发过程中的需求分析、设计、编码、测试和维护等基本技能。

3. 具备使用常用软件开发工具进行实际项目开发的能力。

4. 培养良好的团队协作和沟通能力,提高工程素养。

三、教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件生命周期和开发模型- 软件工程的目标和原则2. 需求分析- 需求获取和分析方法- 需求规格说明和文档编写- 需求管理3. 软件设计- 设计原则和模式- 数据库设计- 系统架构设计4. 软件开发- 编码规范和最佳实践- 集成开发环境(IDE)的使用- 版本控制工具的使用5. 软件测试- 测试方法和技术- 测试用例设计- 软件测试管理6. 软件维护- 维护过程和方法- 软件配置管理- 软件质量保证7. 软件项目管理- 项目管理的基本概念和原理- 项目计划、执行和监控- 团队协作和沟通四、实践教学安排1. 实践教学课时:共40学时,其中理论课24学时,实践课16学时。

2. 实践教学环节:(1)课堂演示:讲解软件工程的基本概念、原理和方法,演示常用软件开发工具的使用。

(2)案例分析与讨论:分析实际软件项目案例,讨论软件工程在实际开发中的应用。

(3)上机实验:完成以下实验项目:1. 需求分析实验:完成一个简单软件的需求分析,编写需求规格说明书。

2. 设计实验:完成一个简单软件的设计,包括数据库设计、系统架构设计等。

3. 编码实验:使用一种编程语言实现一个简单软件的功能。

4. 测试实验:编写测试用例,对软件进行功能测试和性能测试。

5. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。

1.《软件开发课程设计》教学大纲

1.《软件开发课程设计》教学大纲

《软件开发课程设计》教学大纲一、课程设计基本信息1、课程名称:软件开发课程设计/Curriculum Design of Software Development2、课程代码:193X3893、学时/学分:1周/1学分4、适应专业:通信工程本科专业,电信工程本科专业5、先修课程:C语言、数据结构、数据库技术及其应用、信号与系统等6、课程设计类型:设计型7、指导方式:集体辅导与个别辅导相结合8.服务课程信息:课程名称:《C语言程序设计B》课程代码:142J901 学时学分:56/3.5课程名称:《数据结构B》课程代码:142J902 学时学分:40/2.5课程名称:《数据库技术及其应用C》课程代码:142J991 学时学分:40/2.5课程名称:《信号与系统A》课程代码:142X301 学时学分:72/4.5二、课程设计目的和要求2.1 课程设计目的本课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。

通常,课程设计中的问题比平时的习题复杂,也更接近实际。

本课程设计着眼于信号处理原理、软件开发语言与实际工程应用的结合,使学生学会如何把信号处理的专业知识和软件编程知识用于解决音视频编解码中的相关实际问题,培养软件开发所需要的动手能力;另一方面,使书本上的知识变活,起到深化理解和灵活应用教学内容的目的。

平时的习题局限于一个或两个知识点,而课程设计的课题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计、基本技能和技巧,以及整套的软件开发规范的训练和科学作风的培养。

2.2 课程设计要求要求学生利用C语言、数据库和数据结构的知识,在VC++或Turbo C下完成数据库管理系统、数字音视频编解码等课题,加深对所学基本理论的理解,并为后续数字信号处理、数字视频技术等课程打下基础。

(1)对指导教师的要求①根据教学计划的安排和课程设计的要求选择课程设计题目,拟定课程设计指导书,做好课程设计的各项准备工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件开发技术基础》(56学时)实验教学大纲(修订稿)(中文)软件开发技术基础课程名称(英文)Fundamentals of software developing technology 课程编号 COMP2024 开课类型必修 课程总学时 56 开课院系电信学院实验总学时 16 开设专业电气课程总学分 3.5课程类别技术基础 课程负责人赵英良第一部分 总体说明一、课程的目的、任务通过本课程的目的是通过学习和训练,加深对大学计算机基础课程的理解和认识,加强程序设计能力的训练,培养学生运用软件开发方法和技术分析问题和解决问题的能力。

本课程主要讲授在操作系统、数据库、多媒体、网络等应用环境中软件的基本开发方法及技术,以及在软件开发过程中要解决的数据结构与常用算法的实现。

通过该课程的学习,使学生掌握在上述环境中开发软件所必需的基础知识、基本开发方法和常用开发技术,为今后结合实际应用开发软件打下必要的基础。

二、课程的教学要求1.了解和掌握现代软件工程的基本理论、软件开发方法和技术2.了解和掌握经典数据结构的基本内容及常用算法3.了解和掌握操作系统的主要管理功能及其操作系统相关程序设计方法4.了解和掌握与数据库应用有关的基本理论、开发方法和技术5.了解和掌握在网络环境下软件开发的基本方法和技术6.了解和掌握在多媒体应用中涉及到的基本理论、程序设计方法和技术三、教学方法、教学形式、教学手段的特色1. 理论与实践相结合:理论讲授约占70%,课内实践占30%;2. 多媒体与板书相结合:一般内容使用多媒体课件教学,增加课堂容量;个别问题使用板书教学,使学生能跟上课堂进度。

3. 课内与课外相结合:课内必做实验16学时,另在课外以小组为单位完成一个小的软件项目;4. 面授与网络相结合:除面授、当面答疑、课内实验辅导外,课程网站提供丰富的教学资源,可以自学,还可以网上答疑,网上提交作业;四、教学内容序号 实验项目名称 学时实验类型每组人数 实验要求1 实验1 利用顺序表实现学生信息管理2 综合 1 必做2 实验2 利用单链表实现学生信息管理 2 综合 1 必做3 实验3 二叉树的生成和遍历 2 基本 1 必做4 实验4 Windows常用系统命令的编程 2 基本 1 必做5 实验5 数据库的建立和操作 2 基本 1 必做6 实验6 数据库基础编程 4 综合 1 必做7 实验7 消息回声 2 基本 1 必做课外实验:以3-5人的小组为单位,完成一个小的软件项目,要求有软件开发文档,时间为12周,具体题目可参考网上提供的“开放创新实验推荐项目”,也可自己选择,但须经任课教师审核。

五、考核方式与评价结构比例学生做完实验应提交实验报告。

教师根据实验报告进行5级评分:(1)按要求提交文档,且格式规范(1分)(2)原理、框图、叙述正确(1分)(3)程序正确,代码清晰,有必要的输入和输出(2分)(4)有诚挚的实验总结(1分)六、教材和参考书1、编选教材的原则与本大纲要求相适应,内容叙述清晰易懂,例题、习题丰富,有配套的实验指导。

2、教材软件开发技术基础·赵英良,仇国巍等·机械工业出版社·2006.2。

3、参考书(1)计算机软件技术基础(第2版) ·麦中凡,吕庆中等·高等教育出版社,2003 (2)大学计算机软件技术基础教程·谭浩强主编·科学出版社·2000(3)计算机软件技术基础·庞丽萍·华中理工大学出版社·2001第二部分 实验内容实验1 利用顺序表实现学生信息管理1、实验目的(1)掌握顺序表结构的实现方式;(2)掌握顺序表常用算法的实现;(3)熟悉利用顺序表解决问题的一般思路;(4)领会顺序表结构的优点与不足。

2、实验内容以学生信息为数据元素建立顺序表。

一个学生的信息包括学号、姓名、性别、班级和联系电话。

程序用户可通过数字键选择信息浏览、插入信息、删除信息等功能。

对程序的具体要求如下:(1)程序启动后,显示下列选项信息:1—信息浏览2—插入信息3—删除信息0—退出程序(2)输入数字“1”显示所有学生信息列表。

(3)输入数字“2”进入插入信息功能模块。

程序依次提示并由用户输入学号、姓名、性别、班级和联系电话,最终实现在线性表头部插入一个学生信息。

(4)输入数字“3”进入删除信息功能模块。

程序提示并由用户输入学号,最终实现按照学号删除某个学生信息。

(5)通过输入数字“0”使得程序结束。

(6)当用户执行浏览、插入、删除功能后,程序应继续提示用户通过数字键选择相应功能,直到用户输入数字“0”程序才结束。

(7)程序最多可管理20个学生信息,插入和删除功能应能正确处理数据超界情形。

3、实验环境本实验通过C++语言实现,实验环境可以选择以下两种之一。

(1)微软公司开发的基于Windows系统的集成开发环境,包括Visual C++ 6.0、Visual C++.Net。

其中后者包含于Visual 系统中。

本章的例子和实验都不需要使用可视化编程,因此只需要利用上面的开发工具建立基于控制台的Win32程序即可,程序最终将在一个模拟的Dos环境中执行。

(2)基于Windows的标准C++集成开发系统。

这类开发软件具有编辑、编译和调试标准C++程序的能力,一般不具有快速开发可视化界面的能力。

其典型代表是Quincy系统,它的编译器采用的是流行的GCC编译系统。

Quincy系统网址为/ quincy.html。

4、实验过程(1)可仿照本章顺序表的定义形式和例题,建立学生信息结点数据,并进一步建立一个长度为20的顺序表。

(2)参考本章中顺序表的算法描述和例题中的算法实现,在本程序中增加顺序表的插入、删除等算法实现函数。

(3)编写主函数,通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)完善插入、删除功能。

实现插入信息的录入、删除记录的定位等细节。

(5)完善用户操作界面,给出详细的操作提示。

实验2 利用单链表实现学生信息管理1、实验目的(1)掌握单链表结构的实现方式;(2)掌握单链表常用算法的实现;(3)熟悉利用单链表解决问题的一般思路;(4)了解单链表结构的优点与不足。

以学生信息为数据结点建立带头结点的单链表。

一个结点的信息包括学号、姓名、性别、班级和联系电话。

程序用户可通过数字键选择信息浏览、插入信息、删除信息等功能。

对程序的具体要求与实验2-1的要求(1)~(6)相同。

3、实验环境本实验使用的编程环境与实验2-1相同。

4、实验过程(1)可仿照本章单链表的定义形式和例题,建立学生信息结点数据,并进一步建立一个空的单链表。

(2)参考本章中单链表的算法描述和例题中的算法实现,在本程序中增加信息浏览、插入结点、删除结点的算法实现函数。

(3)编写主函数,通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)完善插入、删除功能。

实现插入信息的录入、删除记录的定位等细节。

并完善用户操作界面,给出详细的操作提示。

实验3 二叉树的生成和遍历1、实验目的(1)熟悉二叉树结点的定义和生成方式;(2)熟悉二叉树链式结构的生成方式;(3)掌握二叉树遍历算法的实现;2、实验内容用一个特定的序列表示一颗普通二叉树,在程序中读取二叉树序列并转化为二叉链表形式,最后按先序、中序、后序方式遍历二叉树并输出结果。

对程序的具体要求如下:(1)二叉树序列满足下面要求:二叉树结点数据为A~Z中任意一个字母,#表示扩充为完全二叉树时附加的虚拟结点,$表示二叉树序列结束。

例如,图1中的二叉树序列为A B # # C $。

(2)程序读入用户输入的二叉树序列,字符间用空格分开。

(3)程序应能处理深度为4的二叉树。

(4)程序应能判定输入序列的合理性。

(5)按先序、中序、后序方式遍历二叉树并输出结果序列。

本实验使用的编程环境与实验2-1相同。

4、实验过程二叉树生成算法是本实验难点。

因为当生成第i 个结点后,需要找到第[i/2]个结点的指针才能将新结点与双亲结点链起来。

一种可行方案是将二叉树对应的完全二叉树各结点指针保存在一个数组内,对于附加结点指针设为空。

这样就可通过指针数组下标算出新结点的双亲结点指针。

下面给出二叉树生成算法的伪代码,供读者参考。

BinTreeNode* create() {BinTreeNode* q[50]; //定义结点指针数组,存放完全二叉树结点指针 BinTreeNode* s, root; //定义结点指针s 、根结点指针root; char ch; 设计数器i 初值为1; 读取用户输入交给ch;while(ch!='$') // 输入值为$'号,算法结束 {while(ch =='#') // 跳过#值{ 计数器i 加1;将NULL 保存在q[i]中; //附加结点指针为空 读取ch ; }生成新结点s ,设初值并且将ch 传给s->data; if(i ==1) s 就是根指针root; else if( s 有效 && q[i/2]不空) { if(i 为偶数) s 为双亲q[i/2]的左孩子; else s 为双亲q[i/2]的右孩子; // i 为奇数} 将s 保存在q[i]中;计数器i 加1; }返回root 值;}利用上述算法可生成二叉树,并得到根结点指针root 。

于是可进一步进行各种遍历运算。

实验4 Windows常用系统命令的编程1、实验目的(1)熟悉Windows操作系统提供的几个常用命令的使用。

(2)将几个常用命令集成在一个程序中。

2、实验内容(1)使用winmsd命令得到系统信息。

(2)使用mem命令显示内存使用情况。

(3)使用explorer命令打开资源管理器。

(4)使用taskmgr命令打开任务管理器。

(5)使用control命令打开控制面板。

(6)设计程序菜单,输入菜单编号,通过在程序中使用ShellExecute函数调用这些命令。

3、实验环境(1)采用VC++和Win32 Console Application框架程序结构。

(2)ShellExecute函数的格式请参看例3-14的说明。

4、实验过程(1)抓取以上几个命令执行后的结果图。

(2)提供完整程序(包括文档说明、执行程序、源程序和资源等)。

实验5 数据库的建立和操作1、实验目的(1)掌握SQL Server的基本操作。

(2)掌握基本的SQL语句。

2、实验内容(1)在企业管理器中建立数据库。

(2)在查询分析器中执行SQL语句。

3、实验环境SQL Server 20004、实验过程(1)建立一个商店数据库,记录顾客、商品及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商);顾客(顾客号,姓名,住址);购买(顾客号,商品号,购买数量);要求使用企业管理器完成;声明每个表的主外码;顾客的姓名和商品名不能为空值。

相关文档
最新文档