head
banner
光电信息工程《软件设计》教学大纲
发布时间: 2013-11-27 访问次数: 230

课程编号:B0465041C
课内周数:2
适用专业:光电信息工程

    一、所涉及的课程及知识点
    《高级语言程序设计》:常量、变量、表达式的基本知识;函数的定义与调用;文件读写;数组、指针、结构体等自定义类型的使用;排序等知识。

    二、目的与任务
    目的:通过集中时间上机实验,对学生的程序设计能力进行一次综合训练,使学生充分发挥已有的编程能力,熟悉编译环境。选择若干课题,进行审题、分析、设计和调试,在程序准备、程序实现、完成文档、答辩验收过程中,将全面巩固已学过的编程知识,全面提高编程技能,在编程风格、调试器的使用、测试技术等方面得到全面训练。学生在程序设计过程中,学生需要查找各种资料获取有用信息解决实际问题,自学相关知识,提高文档书写能力,加强团队合作意识,提高口头表达能力。
    任务:《软件设计》课题共分A 、B两档。A档共5题,题目较简单,第一周完成;B档共2题,题目是综合性的,较复杂,第二周完成。

    三、内容与要求
    模块一:分数统计
(一)课题内容
    设计一个分数统计程序。包括学生信息的输入输出以及排序。通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法及友好界面的设计。
    (二)课题要求
    (1)输入某班级学生的姓名、分数;
    (2)对(1)的分数进行降幂排列并输出;
    (3)具有输入输出界面。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块二:打字程序
    (一)课题内容
    设计一个打字程序。包括随机产生字符串,以及字符串比较和统计。通过此课题,熟练掌握数组、格式输出、字符串处理等。
    (二)课题要求
    (1)随机产生一字符串,每次产生的字符串内容、长度都不同;
    (2)根据(1)的结果,输入字符串,判断输入是否正确,输出正确率;
    (3)具有输入输出界面。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块三:文本编辑器
    (一)课题内容
    设计一个简单的文本编辑器,该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换等功能。通过此课题,熟练掌握文本文件的操作及用字符数组或字符指针实现字符串操作的功能。
    (二)课题要求
    (1)编辑文本;
    (2)保存、打开指定位置的文本文件;
    (3)具有输入输出界面。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块四:加密
    (一)课题内容
    设计一个加密程序。包括明文与密钥的转换。通过此课题,熟练掌握数组、格式输出、字符串处理、类型转换等。
    (二)课题要求
    (1)输入任意一段明文M,以及密钥K;
    (2)根据以下公式将其转换为密文C。
        Ci = mi + K ,其中i = 0,1,……n-1 , K 为密钥;
    (3)具有输入输出界面。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块五:进制转换器
    (一)课题内容
    设计一个进制转换器程序。包括二进制、八进制、十进制、十六进制数互相转换。通过此课题,熟练掌握字符串、格式输出、进制换算的各种操作。
    (二)课题要求
    (1)可输入二进制、八进制、十进制、十六进制数;
    (2)将已输入的数转换成其余进制的数;
    (3)具有输入输出界面。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块六:学生成绩核算系统的设计与实现
    (一)课题内容
    设计一个学生成绩核算系统。能实现从文件中读取学生成绩资料,并提供成绩查询统计服务。通过此课题,熟练掌握文件、数组、结构体的各种操作以及友好界面的设计。
    (二)课题要求
    (1)按班级按课程从文件中读入相应的平时成绩、期中考试成绩和期末考试成绩。
    (2)三个成绩对总评成绩的百分比被定义为常数,各占总成绩的30%、30%和40%。
    (3)计算每位学生的总评成绩。
    (4)计算该班级本课程的总平均成绩。
    (5)计算处于优、良、中、及格、不及格的学生人数以及占总人数的百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。
    (6)按要求输出成绩在优、良、中、及格、不及格各区间的学生学号、成绩。
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    模块七:模拟电信计费系统的设计与实现
    (一)课题内容
    设计一个模拟电信计费系统。能实现从文件中读取通话以及费率资料,并提供计费、话费查询和话单查询等服务。通过此课题,熟练掌握文件读写、数组、结构体、格式输入输出的各种操作,以及友好界面的设计和一些算法思想的应用。
    (二)课题要求
    (1) 计费功能。根据存放在源数据文件中的通话记录和长途费率文件对每一条通话记录计算其通话费用,并将结果保存在费用文件中。其中:
    通话费的计算方法如下:
    通话费=长途电话费+本地电话费
    长途电话费=费率(元/分钟)×通话时长(分钟)
    (通话时长不满1分钟的按1分钟计算)
    本地电话费为:3分钟以内0.5元,以后每3分钟递增0.2元。
    (2) 话费查询。输入一个电话号码,从费用文件中统计该电话号码的所有本地话费、长途话费,并从用户文件中查找其用户名,最后在屏幕上显示:
    用户名 电话号码 本地话费 长途话费 话费总计
    (3) 话单查询。输入一个电话号码,查询并在屏幕显示该用户的所有通话记录,格式为:
    用户名 主叫电话号码 被叫电话号码 通话时长
    (三)考核及报告要求
    1. 考核
    根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、验收答辩时的表现、报告的完成情况等综合打分。等级为:优秀、良好、中等、及格、不及格。
    2. 报告要求
    报告以电子版形式递交,要求书写规范、文字简练、语句通顺、图表清晰,见本大纲最后的一个软件设计报告样例。

    四、主要仪器设备
    硬件:微型计算机
    软件:C、C++、Visual C++等

    五、教材及参考书
    教材

    参考书
    【1】朱立华,王立柱.C语言程序设计.北京:人民邮电出版社,2009
    【2】朱立华,朱建,俞琼.面向对象程序设计及C++.北京:人民邮电出版社,2008
    【3】张引等.C程序设计基础课程设计.浙江:浙江大学出版社,2007

    六、说明
    无

 

    执笔人:丁松峰                审核人:徐荣青                实验院长:钱晨

    编写完成时间: 2009.12.15

版权所有@2014,南京邮电大学光电工程学院光电信息实验教学中心
联系电话:025-85866296 E-mail:gdgc@njupt.edu.cn