当前位置:文档之家› MOOC学习体验报告

MOOC学习体验报告

MOOC学习体验报告
MOOC学习体验报告

MOOC 学习体验报告

一.基本介绍

1.学习课程:方言与中国文化

2.授课老师:阮桂君(武汉大学)

3.授课对象:有语言学相关的知识并对方言及中国文化感兴趣的学生(已报名13026人)

二.课程信息

1.课程时长:8周

2.课程负载:3学时每周

3.内容类型:视频文档随堂测验富文本讨论

4.课程分类:文学艺术哲学历史

三.课程概述

1.课程理念:(1)方言是交际的工具(2)方言是文化的载体(3)方言是情感的纽带(4)方言是灵魂的归宿。

2.课程口号:珍视方言,留下乡音,记住乡愁!

3.课程展示:(1)官话方言、吴语、湘语、赣语、客家语、闽语、粤语、徽语、平话以及晋语的形成历史与现状(2)

方言与地名、民俗、移民、戏曲等的关系(3)各地方言的语音标本,您将听到大话西游、再别康桥、北风与太阳、牛郎织女、人为财死、诗经·豳风等的方言诵读叙述音视频材料(4)各地戏曲、童谣、民间吆喝等的音视频材料。四.授课大纲

1.教学目的与要求:通过本课程的学习,让学习者了解汉语方言的基础知识,熟悉汉语方言的基本现状与历史形成,

掌握汉语十大方言的基本特点,理解各种方言现象背后所蕴藏的文化内涵,从而更深刻地了解中国的语言国情。学会方言采集的基本方法,学会如何自觉地搜集方言词语、谚语、歇后语。

2.课程大纲:

第一章绪论

2 什么是语言

3 语言的基本属性

4 什么是方言

5 现代汉语

6 共同语的形成和确立

7 现代汉语方言

8 汉族的形成

9 上古汉语的共同语和方言

第二章方言与地名

1 “那””峒”地名、铜鼓地名、生肖地名

2 水利地名、井泉地名、“市”字地名

3 军屯地名

4 旧地名在新居地点的沿用

5 使用与原居地同类的通名

6 地名与经济

7 地名与历史交通地理

第三章方言与民俗

1 同名异物和同物异名

2 亲属称谓的差异

3 方言绰号称谓

4 詈语

5 方言俏皮话

6 方言禁忌词

7 方言吉利词

第四章方言与移民

1 引子

2 移民特征和方言演变的关系(一)

3移民特征和方言演变的关系(二)Array 4移民特征和方言演变的关系(三)

5移民方式与方言地理分布类型(一)

6移民方式与方言地理分布类型(二)

7移民方式与方言地理分布类型(三)

第五章语言接触与文化交流

1 底层词和底层文化

2 中亚文化对汉语的影响

3 佛教文化对汉语的影响

4 近代西方文化对汉语的影响

5 方言与普通话中的外来词

6 外来词的中国化

7 少数民族外来词

第六章各方言区的现状与历史形成

1 北京官话

2 东北官话、冀鲁官话、胶辽官话

3 中原官话

4 西南官话、新疆汉语方言

5 江淮官话

6 吴语

7 湘语

8 赣语

9 客家话

10 粤语

11 闽语

12 结束语:方言的传承与记录

五.评分标准

1.本课程成绩由单元测试、平时作业、论坛活跃度与期末考核四部分构成。单元测试占15%,平时作业占40%,论坛活跃度占15%、期末考核占30%。优秀成绩为85分以上(包括85分),合格成绩为60分-84分。

2.单元测试在每单元课程完成后,以选择题的方式出现。多次提交有效得分为最后一次分值。

例如:普通话的标准音是:A北京音B长安音C洛阳音D南京音(答案是A)

南京话属于:A中原官话B西南官话C胶辽官话D江淮官话(答案是D)

3.平时作业为两次方言录音。用地道的方言录制一段影视台词或民间故事。

4.论坛参与。课程期间,老师会提出一些讨论的话题,大家在论坛区发表自己的看法。发帖、回帖8个及以上的,本项得满分。

5.期末考核为20道选择题。

6.为了让更多的学员能够听到各地方言,课程组设置了作业互评环节,系统默认每个学员最少评阅6个以上其他人的音频,未参加互评的学员,最后成绩给50%,未完成互评的给80%,完成互评的给100%。

学习体验一:MOOC课程的特征

MOOC的主要特征有三点:一是聚集,也就是以一种主题的形式将分布在世界各地的资源组织起来;二是重组,这些资源能够按照一定的内容主题进行课程教学设计,并且系统化,增强了资源的应用和互联,并能够产生新知识;三是个性化,也主浊说每个参与者都可以获得适合自己的课程,为了自己的学习需要而量身定做。

(顾名思义,MOOC的一般性特点是大规模、开放和在线。深入分析,发现MOOC还具有受众广、影响力大、

可重复性好、可选择性强,以及自由等特点。)

关于MOOC学习的特征,我们从以下几点来说:

第一,MOOC的学习最突出的特点是自主、主动。这种学习自主性首先体现在学习者能够自主选择课程,甚至自主创建课程。主动性主要是学习者能够自主地学习,每个人参与课程的动机是不同的,有的人学习到一半就放弃了,有的人可是想了解该课程的某一部分的内容,因此,学习进程也是有差距的。

第二,MOOC的学习是拓展性学习,如果一个人真正的完成了MOOC学习,那么说明这个人对此课程非常感兴趣,对学到知识有一种渴望,所以学习一定是有深度、有拓展的。不能像传统课堂那样仅仅学习老师教授的内容,MOOC中的学习者应该围绕课程内容里面的主题线索开展个性化的、深入的学习。

第三,从学习方面来说,MOOC学习最大的特征是开放性。在MOOC里面,都会有以小组形式进行学习和互评互助。

第四,MOOC的学习很多都是在线进行的,所以学习者需要利用不同的技术和社交媒体组织和参与学习。

第五,在MOOC学习评价上,注重的是自我评价,是学习者对自己学习过程和学习成果的评价。

所以,MOOC的学习可能更需要一种具有深度的、拓展性的学习。

学习体验二:MOOC与普通的大学公开课、视频网络课的区别

MOOC给人的第一印象是:它有点像已经推广多年的网络视频公开课。视频教学的确是MOOC授课的核心方式,但是它比视频公开课的内容要丰富的多,形式也不一样。尽管MOOC比传统课堂自由,但是相比视频公开课,它则要严格得多。MOOC需要注册,有时间限制,有任务驱动。而视频公开课则可能陷入自己有书不如借书来读的境地,由于其太过自由,没有任何要求和参与性,使得学生疏于学习,难以检验学习效果。即使存在交互上的延时,MOOC 一直在努力营造一种鼓励交流的氛围,不管是课件中穿插的选择题,课后作业与答疑,论坛发帖交流,还是师生、同学见面会,都在尽量弥补由于无法面对面授课所带来的距离感。当然,如果没有助教的支持,或者授课教师对于交互部分的投入较少,那么MOOC就可能变成翻版的视频公开课,仅仅是通过观看视频来传递知识,而无法有效地利用其他的沟通途径。甚至,由于MOOC的时间限制,还不如视频公开课方便和自由,无法像视频公开课一样无需注册,随时观看、下载和传播。

实际上,MOOC的受众与视频公开课有一定重叠,在MOOC中那些无法完成学习任务的沉默的大多数可能只是对课程的部分内容有兴趣,但受限于MOOC的形式而不得不注册。他们仅仅想观看一些与公开课类似的视频,或者获得部分学习资料,毕竟完成整门课程的学习需要很多的投入,而一般性的意向需求不足以支持学生一直走到最后。这也是MOOC课程退学率超高的原因,据统计,只有5%的学习者坚持到最后,1%的学习者通过考试。尽管MOOC 的初衷和形式都很好,但它更适合于那些现有基础较好、学习意向较强的学习者。

学习体验三:MOOC与传统课堂的比较

MOOC与传统课堂教学有很多相似之处,它有开课的时间限制,仍以教师的知识讲授为主,安排课后习题和答疑,通过期中、期末考试来检验学习效果。而且相比传统教学,学生可以挑选一流大学中最为优势的教学资源,学习时间和地点都相对自由。但也应注意到,相比传统课堂教学,MOOC在教师投入、交互性、针对性和实践教学方面都存在一定区别。

首先,相比传统课程,MOOC需要任课教师更多的精力投入。MOOC的授课对象不再局限于少数人,由于网络的传播它的影响范围变得十分巨大。其授课内容是否丰富,授课水平如何,都将接受来自全世界学生、教师,甚至是专家的检验。作为负责任的教师,不管是考虑到授课效果,还是对自身形象的影响,都会竭尽全力去认真准备。而且由于网络课程相比传统课程的易修改性,教师可以一遍遍反复修改讲稿、课件,提炼内容,直至达到满意的效果。另外,视频制作与发布、资料上传、论坛答疑都需要投入精力,如果没有一个团队支持,仅靠授课教师一人完成则难度非常大。因此,准备MOOC比传统备课需要5到10倍的时间投入,也就显得不为过。

其次,相比传统课程,MOOC在交互上存在延时。MOOC不像传统课堂教学,可以观察到学生的反应,以便及时进行沟通、调整。MOOC课程效果的反应时间较长,即使通过论坛交流反馈到任课教师,也很难对已发布的视频进行补救。因此,相比传统课堂教学,MOOC课程的交互存在一定难度,且具有延时。如果任课教师具有多年的授课经验,能够预期到可能出现的问题,则可以尽量避免问题。或者任课教授同时承担传统的课堂教学任务,则可以将传统教学与网上教学更好的结合,以解决交互性不足的问题。同时,MOOC课程中学生之间的互动比较有限。学生间的互助学习一直是传统知识获取中非常重要的一个方面,通过学生的讨论和协作,有助于学生深入了解该课程内容。即使有论坛交流,也永远比不上同学之间同吃、同住、同室学习的交流来的自然和深入。

再次,MOOC在课程设计上往往针对性不强。传统课堂教学提倡因材施教,而MOOC课程由于授课对象过于宽泛,只能以一般大学基础的水平来进行课程设计,难以顾及那些基础较为薄弱的学习者。这正是MOOC的大规模特

点所带来的问题,由于受众的多样性,不可能像大学中按专业和时序安排好整个课程体系,因此单独课程的学习将变得缺乏支持。不过,一门好的MOOC课程应该具有一定弹性,通过讨论一些人们普遍关注的重要问题,以使不同层次和基础的学习者都能有所收获。

最后,MOOC无法提供那些必须借助实体环境才能完成的实践教学,因此难以适用于实践性较强的课程。当然,随着虚拟实验室、虚拟现实等技术的发展,这一问题有可能部分的解决。

课程视频截图与课后交流讨论

测绘程序设计实习报告

测量程序设计实习报告 姓名: XX 班级: XXXX 学号: XXXX 教师评语:

实验名称:使用C#开发环境建立测量程序框架 一、实验的目的与任务: (1)学会用C#窗体程序开发环境建立应用程序框架方法 (2)学会使用常见的Windows控件 (3)根据自身需要设计一个测量程序界面 二、实验的过程与步骤: 1、首先打开visual studio 2010,选择文件→新建→项目。在弹出的对话框中右栏一侧选择windows窗体应用。选择文件存放地址,输入项目名称,点击确定,完成。 2、拖动menuSctrip控件到主窗体,并且键入“文件”、“工具”两个选项,在“文件”下添加一个“打开”选项;在“工具”下添加“近似平差计算”、“高斯消元”两个选项。 3、选择项目→添加windows窗体,输入窗体名称“CLSJ”,点击确定。

4、在CLSJ窗体中拖入SplitContainer控件,将窗体分为左右两部分,调整大小。在拖入一个“TabControl”,新建选项卡。最后,加入“Button”、“TextBox”、“Label”控件。 5、用相同的方法,新建一个名为高斯消元的窗体,然后按照需要进行设计。 三、程序运行效果 四、本实验心得体会

这是第一次接触这种可视化开发编程,刚开始不是很熟悉,对于编程语言来说,在掌握一定语法之后,要多用,多结合实际进行一些简单编程,这样才能提高对一种编程语言的理解。 实验名称:导线计算程序设计及粗差探测 一、实验的目的与任务: (1) 掌握方位角计算的程序设计方法 (2) 掌握符合导线、闭合导线、支导线计算的程序设计方法 (3) 理解粗差探测的程序设计方法 二、实验的设计与开发步骤: 1、考虑到在测量时所用的角度均为度分秒,而在c#计算时只是别度分秒,因此先设计两个函数,可以将度分秒和弧度制进行转化。 2、其次先写一个point 类,包含x ,y 两个成员变量,然后在设计一个方位角函数,用两个point 类当作形参传递进去,根据方位角计算公式παk x y +??=arctan ,(根据象限角和方位角关系对k 进行调节)应该分为四种情况,但是考虑到分母不为0,因此应该在加一种情况,即导线与y 轴重合。 3、然后根据边长,根据方位角,公式 ααsin *cos *1212l y y l x x +=+=进行坐标推算。

C程序设计实践报告

C程序设计实践报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

课程实践报告 设计题目: 程序设计(VC++)实践 设计时间2013-1- 至2013-1- 学院(系): 计算机科学与工程学院 2013年1月 一.实践任务 选择题目,创新性题目可只选择1 题,仅选提高题应不少于3 题,仅选基础题应不少于6 题,也可组合选题,还可自行选择感兴趣的题目(须经指导老师审定)。对于提高题、创新题及游戏题可组成团队开发,但应制定详细的项目分工说明。二.实验步骤及记录(题目,源程序代码及运行结果) 1.与学号对应的题(必做题):基础题 12 题目: 建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不 等长)。例如将字符串“abcde”交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下: (1)私有数据成员 char str1[60] :存放被插入的字符串。 char str2[40] :存放待插入的字符串。 char str3[100] :存放插入后的字符串。 (2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1 和s2 初始化str1 和str2。

void process():将str2 中的字符串插入到str1 中,存放到str3 中。void print():输出插入后的字符串。 (3)在主程序中定义STRING 类的对象test 对该类进行测试。 源程序代码: #include<> #include<> class STRING{ char str1[60]; char str2[40]; char str3[100]; public: STRING(char *s1,char *s2){ strcpy(str1,s1); strcpy(str2,s2); } void process(){ char *p1=str1,*p2=str2; for(int i=0;*p2;i=i+2){ for(int k=strlen(str1);k>=i;k--){ str1[k+1]=str1[k]; } *p1=*p2; p1=p1+2;

可视化程序设计实践报告

%%%%大学 可视化程序设计实践 2013 年 7月 26日 目录

1 设计目的 (1) 2 需求分析 (1) 2.1 用户 (1) 2.2 主要功能 (1) 2.3 基本流程 (1) 首先建立一个首页,在首页上链接了4个主页,分别是旅游指南,畅游中国,欧洲之旅以及浪漫之旅。而在每个子页里面我又链接了一个或几个子页,分别详述了中国的几大特色景区以及欧洲的著名的美景,还有被称为浪漫圣地的几座“小岛”。 (1) 3 网站开发过程 (2) 3.1 主页面的设计 (2) 3.2 子页面设计 (3) 4 心得体会 (6) 5 参考文献 (6)

1 设计目的 本课程的设计目的是通过设计一个简单、美观、符合实际的网页页面,能够较全面地理解、掌握和综合运用所学的知识,理解并初步掌握运用Dreamweaver可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Dreamweaver软件的的操作和应用。增强动手实践能力,进一步加强自身综合素质。我本次主要是设计的是一个“乐我旅途”为主题的旅游网页,对各大著名的旅游景点做了介绍。 2 需求分析 2.1 用户 网站的主要浏览者是主要准备旅游的观光者。 2.2 主要功能 建立乐我旅途网站可以用精美的画面向旅游者展示每个景点的大概信息。通过建设网站宣传,提高知名度,吸引更多的旅游观光者来。除此之外,也是希望通过本人建立的网站,可以让更多人了解各个旅游地点的风光以及特色,以此来促进旅游的更好更快发展。 2.3 基本流程 首先建立一个首页,在首页上链接了4个主页,分别是旅游指南,畅游中国,欧洲之旅以及浪漫之旅。而在每个子页里面我又链接了一个或几个子页,分别详述了中国的几大特色景区以及欧洲的著名的美景,还有被称为浪漫圣地的几座“小岛”。

Windows程序设计实践报告

~ Windows程序设计 实践报告 ; BY:08级空间信息与数字技术 60020 马腾

目录 任务一:Windows消息循环机制及API程序设计实践 (3) 一、实践目的 (3) 二、任务概述 (3) 三、windows消息循环 (3) 四、学习收获 (3) 任务二:基于MFC的对话框程序设计 (4) 一、任务概述 (4) 二、MFC消息映射 (4) 三、计算器程序的设计思路 (4) 四、遇到困难及解决 (5) 五、关键代码 (5) 六、运行情况 (6) 七、收获 (6) 任务三:基于MFC的单文档绘图程序设计 (7) 一、任务概述 (7) 二、模块设计及封装 (7) 三、设计的优点 (8) 四、程序风格 (8) 五、运行情况 (8) 六、使用方式 (9) 七、困难及解决 (12)

任务一:Windows消息循环机制及API程序设计实践 一、实践目的 通过实践充分理解Windows的消息循环机制,了解Windows的API函数族的分类及大致功能,并在此基础上了解基本Windows API方式开发的窗口程序的基本过程。任何框架开发环境归根结底都是对Windows API函数的封装与调用。在利用一个框架环境开发Windows程序的过程中,应该明白所使用的框架模块调用了Windows API中的那些功能函数。 二、任务概述 用visual C++开发一个Win32窗口程序,并实现如下功能: 实现菜单功能; 点击某两个菜单可在主窗口中显示或清除文字(文字内容不做要求); 点击某个菜单可弹出一个自定义的对话框(对话框中的元素不做要求), 单击对话框中的“确定”或“取消”按钮,可结束对话框。 三、windows消息循环 Windows多进程的窗口图形操作系统与DOS操作系统最大的区别就是:DOS 采用顺序执行的过程,而Windows采用事件的消息驱动。 用户进行的鼠标操作,键盘输入等操作和各个应用程序之间,应用程序和系统之间的操作都作为一个事件,产生消息,进入到指定的消息队列中,等待取出进行处理。这打破了顺序执行,而采用事件驱动的形式。 四、学习收获 1.了解了Windows的消息循环机制 2.了解了一个窗口程序的生存的始末,从窗口类的定义,注册窗口类,创建窗口,到程序运行的消息循环的主函数。 3.了解了句柄的概念,每个菜单项,窗口都有一个句柄作为自己的标示,作为消息的一部分,告诉系统处理哪个窗口,菜单项的消息。 4.了解了一些简单的API:CheckMenuItem,DialogBox等。 5.了解了消息分类,处理消息的函数里,将消息分为了WM_COMMAND、WM_PAINT

程序设计实践报告模板

面向对象程序设计实践(Project 2) 报告 题目: 专业软件工程(NIIT) 学生姓名 班级学号 指导教师杨健 指导单位计算机学院/软件学院 日期

评分细则 评分项优秀良好中等差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简短 评语教师签名: 年月日 评 分 等 级 备 注 评分等级有五种:优秀、良好、中等、及格、不及格

Title(Here,please write the name of your Project) (题目格式:宋体,3号,加粗,居中对齐) 一、D escription and Requirement(格式:Times New Roman,4号,加粗, 两端对齐) (正文格式:宋体(中文) Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 二、Requirement Analysis(格式:Times New Roman,4号,加粗,两端对齐) 在该部分中叙述系统的功能,由此得到相应的模块,并分析需要什么的数据,由此可以指导数据库的设计。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐,1.5倍行距) 三、High level design(格式:Times New Roman,4号,加粗,两端对齐) 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),数据库设计的说明(给出数据库的结构,包括有哪些表,每个表有什么字段,分别存储什么样的数据) (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 四、Low level design格式:Times New Roman,4号,加粗,两端对齐) 各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 注意:不要粘贴全部程序,只要把关键算法的程序粘贴过来就可以了。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 五、Tested data and result analysis(格式:Times New Roman,4号,加粗,

c语言程序设计实践报告

中南大学 C语言程序设计实践报告 题目通讯录程序设计 学生姓名 指导教师 学院 专业班级 完成时间

一、任务描述 通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。 实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能 (4)信息查询功能 (5)信息修改功能 (6)系统退出功能 二、算法描述 设计一个实用的的小型通讯录程序必须具备系统以菜单方式工作、信息录入、信息浏览、信息查询、信息修改、系统退出功能,那么就需要这样的函数来实现。因此,我需要自定义这样的函数来解决问题,当然还会调用库函数。在定义函数的过程中会用到选择结构、循环结构等基本语句,以及对结构体数组的定义等。 三、程序设计 /******头文件(.h)***********/ #include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*标准库函数*/ #include "string.h"/*字符串函数*/ #include "ctype.h" /*字符操作函数*/ #define M 50 /*定义常数表示记录数*/ typedef struct /*定义数据结构*/ { char NAME[20]; /*姓名*/ char EMAIL[30]; /*邮箱*/

char TELE1[10]; /*电话*/ char TELE2[10]; /*电话*/ char HOMETOWN[30]; /*籍贯*/ }DATA; /******以下是函数原型*******/ int enter(DATA t[]); /*输入记录*/ int add(DATA t[],int n); /*添加记录*/ int change(DATA t[],int n); /*修改记录*/ int deleter(DATA t[],int n); /*删除记录*/ void list(DATA t[],int n); /*显示记录*/ void search(DATA t[],int n); /*按姓名查找显示记录*/ void qseek(DATA t[],int n); /*快速查找记录*/ void print(DATA temp); /*显示单条记录*/ int find(DATA t[],int n,char *s) ; /*查找函数*/ int menu_select(); /*主菜单函数*/ /******主函数开始*******/ main() { int i; DATA d[M]; /*定义结构体数组*/ int length; /*保存记录长度*/ system("cls"); for(;;)/*无限循环*/ { switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { case 1:length=enter(d);break;/*输入记录*/ case 2:length=add(d,length); break; /*添加记录*/ case 3:length=deleter(d,length);break; /*删除记录*/ case 4:list(d,length);break; /*显示全部记录*/

程序设计基础实践报告

福建师范大学闽南科技学 院 程序设计基础实践报告 题目职工工资信息管理系统 学生姓名陈显泽 学院信息科学与工程学院 专业班级土木工程1班 完成时间 2017.4.20 指导教师褚若波

目录 一、课程设计目的和要求................................... 二、课程设计基本内容.................................... 三、程序功能简介........................................ 四、主体内容............................................ 4.1 设计分析...................................... 4.2 程序结构...................................... 4.3 模块的功能及程序说明.......................... 4.4 相关模块源程序................................ 4.5 操作方法(流程)................................ 4.6 试验结果(包括输入数据和输出结果)............. 4.7 设计体会...................................... 4.8 参考文献...................................... 五、用户使用说明........................................ 六、对本设计过程及方法、手段的改进建议..................

程序设计综合实践报告

程序设计综合实践报告 数学与系统科学学院 2015年11月6日

目录 1. 概述 (1) 2. 相关技术 (1) 2.1 数据链表 (1) 2.2 双缓冲 (1) 3. 总体设计与详细设计 (2) 3.1 系统模块划分 (2) 3.2 主要功能模块 (2) 4. 编码实现 (12) 5. 实训中遇到的主要问题及解决方法 (20) 6. 实训体会 (20)

1. 概述 项目:飞机大战 主要功能:本款基于MFC平台所制作的游戏,具有极大的休闲娱乐功能。玩家通过操纵我机,通过发射子弹机会敌机来积分,分数越高说明了玩家坚持的越长。游戏开始界面向玩家进行了游戏按键的功能说明,游戏中设置暂停按键,可以方便玩家继续游戏。游戏还自带无敌模式,以及我机大招,极大地提高了游戏的可玩性。 2. 相关技术 本程序主要运用了链表和双缓冲的技术。链表的应用方便了对数据成员的访问和处理,简化了代码,支持插入和移除表中任意位置上的节点;双缓冲主要用于图像的处理,在内存中重新绘图后复制到前台,同时禁止背景刷新,避免因图像刷新过于频繁导致画面出现闪烁现象。 2.1 数据链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。使用链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。由于常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换,因此链表最大的优点是允许插入和移除表上任意位置上的节点。 在程序运行过程中,根据游戏对象的种类划分不同的链表,每个链表单一的存储一类数据,在进行处理、绘图时,通过对链表的遍历,实现对数据的访问,再根据所要实现的功能,对不同的对象做出不同的处理,对数据成员的插入和移除也变得轻松了许多。 2.2 双缓冲 在图形图象处理编程过程中,双缓冲是一种基本的技术。窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新会引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。于是我们就看到了闪烁现象。

C++程序设计实践报告

课程实践报告 设计题目: 程序设计(VC++)实践 设计时间2013-1- 至2013-1- 学院(系): 计算机科学与工程学院 2013年1月

一.实践任务 选择题目,创新性题目可只选择1 题,仅选提高题应不少于3 题,仅选基础题应不少于6 题,也可组合选题,还可自行选择感兴趣的题目(须经指导老师审定)。对于提高题、创新题及游戏题可组成团队开发,但应制定详细的项目分工说明。 二.实验步骤及记录(题目,源程序代码及运行结果) 1.与学号对应的题(必做题):基础题 12 题目: 建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不 等长)。例如将字符串“abcde”交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下: (1)私有数据成员 char str1[60] :存放被插入的字符串。 char str2[40] :存放待插入的字符串。 char str3[100] :存放插入后的字符串。 (2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1 和s2 初始化str1 和str2。 void process():将str2 中的字符串插入到str1 中,存放到str3 中。 void print():输出插入后的字符串。 (3)在主程序中定义STRING 类的对象test 对该类进行测试。 源程序代码: #include #include class STRING{ char str1[60]; char str2[40]; char str3[100]; public: STRING(char *s1,char *s2){ strcpy(str1,s1); strcpy(str2,s2); } void process(){ char *p1=str1,*p2=str2; for(int i=0;*p2;i=i+2){ for(int k=strlen(str1);k>=i;k--){ str1[k+1]=str1[k]; } *p1=*p2; p1=p1+2;

C语言程序设计实习报告

C语言程序设计实习报告

手机通讯录管理系统 一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的 显示、删除、查找、修改、添加等必要的功能。具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编号。系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录 二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找

程序设计实践报告

江苏科技大学 课程实践报告 设计题目:计算机程序设计实践(c++)设计时间:2015-12-14至2015-12-16 学院:计算机科学与技术学院 专业班级: 学生姓名:学号 指导老师:

2015年12月实践任务一(基本题第二题) 1.实践任务 试建立一个类SP,求f(n,k)=1^k +2^k+3^k+……+n^k ,另有辅助函数power(m,n)用于求m^n。 2.系统设计 1)概要设计 通过类SP的成员函数power()求出m的n次方的值,再通过成员函数fun( )调用power( )函数求出f(n,k)的值。 2)详细设计 类的描述与定义 class SP{ int n,k;//私有成员,n对应底数,k对应指数 public: SP(int n1,int k1)//构造函数 { n=n1; k=k1; } int power(int c,int d);//求c^d int fun();//求f(n,k) void show();//输出结果 }; 主要成员函数 int power(int c,int d){ int add=1; for(int i=1;i

r+=power(i,k);//循环加调用power()求f(n,k)return r; } void show(){//调用fun()输出结果 cout<<"f("<

程序设计实践实验报告

实验报告 课程名称___ 程序设计实践______ 实验项目_______子程序设计 实验仪器_______PC _____ 系别_ 计算机科学与工程____ 专业______软件工程__________ 班级/学号___B软工0701/2007011801 学生姓名_____ XX____________ 实验日期____2009-3-26__________ 成绩_______________________ 指导教师_____XX______________ .

实验二子程序设计 一、实验目的 1. 学习和掌握参数传递的方法; 2.学习和掌握递归调用; 3.了解goto语句的使用; 4.了解降低嵌套深度的方法; 5.了解复杂度的度量。 二、实验要求 1.通过编程实现,学习和理解参数传递和递归调用的使用。2.使用goto语句编写程序,用非goto语句改写程序; 3.了解减少嵌套层次和度量复杂度的方法。 三、实验内容和结果 1. 参数传递 (1)创建控制台应用程序项目(CLR)。定义函数swap,swap函数有两个整型形参x,y,swap的功能为交换x和y的值,并依次显示出交换后的x,y的值。主函数定义两个整型变量a,b,并赋不同的初值,依次显示a和b的值,调用swap函数,a,b作为实参,再在主函数中依次显示a和b的值。(值传递) 编写并运行以上程序,分析运行结果,思考值传递中是否会改变实参的值。 (2)创建控制台应用程序项目,修改(1)中程序,使swap函数的参数为两个指向整型的指针,swap函数中交换指针所指向的内容;主函数中调用swap函数,交换整型变量a和b的值。 编写并运行修改后的程序,比较与(1)中程序运行结果的不同之处及原因。 (3)创建控制台应用程序项目,修改(1)中程序,采用引用方式传递函数的参数。 编写并运行修改后的程序,比较与(1)、(2)中程序运行结果的异同以及(2)、(3)程序中改写的难易程度。 int swap1(int x,int y){int temp; temp=x; x=y; y=temp; return 0;} //实参传递函数 int swap2(int &x,int &y){int temp; temp=x; x=y; y=temp; return 0;}//形参传递函数 int swap3(int *x,int *y){int temp; temp=*x; *x=*y; *y=temp; return 0;}//指针传递函数 int main() { int a,b; Console::WriteLine ("plesae input a and b interger:"); a=Int32::Parse(Console::ReadLine()); b=Int32::Parse(Console::ReadLine()); Console::WriteLine ("实参传递函数交换a和b:"); Console::WriteLine ("起始a和b:"+a+" "+b); swap1(a,b); Console::WriteLine ("交换后a和b:"+a+" "+b); Console::WriteLine ("-------------------"); Console::WriteLine ("形参传递函数交换a和b:"); Console::WriteLine ("起始a和b:"+a+" "+b); swap2(a,b); Console::WriteLine ("交换后a和b:"+a+" "+b); Console::WriteLine ("++++++++++++++++"); Console::WriteLine ("指针传递函数交换a和b:"); Console::WriteLine ("起始a和b:"+a+" "+b); swap3(&a,&b); Console::WriteLine ("交换后a和b:"+a+" "+b); Console::WriteLine ( "%%%%%%%%%%%%%%%%%" ); Console::ReadLine(); return 0; } 2.递归调用 .

C++程序设计实践报告.docx

中南大学 《C++ 课程设计》设计报告 学生姓名 学号 专业班级 指导老师 ******院 2011 年 6 月

1、实验目的、内容 (3) 2、题目一 : 比赛求平均分 2.1 程序内容 (3) 2.2 实验程序设计及结构 (3) 2.3 设计过程 (3) 2.4 运行结果 (4) 3、题目二 : 火柴游戏 3.1 程序内容 (5) 3.2 实验程序设计 (5) 3.3 设计过程 (5) 3.4 运行结果 (6) 4、题目三 : 足球比分 4.1 设计内容 (6) 4.2 设计方案 (7) 5、设计的特点与心得................................................7 参考文献...........................................................7附录题目一实验源代码...............................................8 题目二实验源代码...............................................10 题目三实验源代码.. (12)

1、实验目的、内容 通过课程设计 ,能够熟练运用 C++ 进行面向对象编程 ,建立对象模型 ,降低软件的复杂性 , 改善软件的重用性和维护性 ,提高软件的生产效率 ,全面掌握面向对象编程技术 . 要求学生在指导老师的指导下,独立完成实习课题的全部内容,包括 : (1)通过调查研究和上机实习 ,收集和调查有关技术资料 ; (2)掌握设计课题的基本步骤和方法; (3)根据课题的要求进行上机实验调试. 2、题目一 : 比赛求平均分 2.1 程序内容 在体育、文艺比赛及选举等打分类项目中,为了公平起见,往往n 个评委打出分数后,要去掉一个最高分和一个最低分,然后求取平均得分。当n 较大时(本题设为9),则应取掉两个最高分和两个最低分,然后求取平均分。编程实现该算法。 2.2 实验程序设计及结构 (1)需求分析 : 输入 9 个评委所打分数,程序运行最后结果为去掉最高分和最低分后的平均分. (2)设计结构 : 总体结构

《C语言程序设计实践》课程报告

北方民族大学 课程报告课程名称:程序设计实践 专业班级:软件工程(2)班 学生姓名:李思良 学号: 20152170 任课教师:王晓锋 学期: 2015-2016学年春季学期 课程报告任务书

成绩评定教师:

1.需求分析 经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了C语言程序设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系统性质的规模较大的程序。 本次课程设计要求我们达到能独立完成一个1000行以上的程序,完成后要求实现已知半径求圆面积、已知球半径,求表面积和体积,输入两个实数、交换其值输出等30中功能。 通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C语言开发的全过程,提高综合应用C语言的能力、编程和调试能力,为学习计算机后续课程打好专业基础。 2.概要设计 模块划分: 1.int diyi() 已知半径求圆面积 2.int dier() 已知球半径,求表面积和体积 3.void disan() 输入两个实数,交换其值输出 4.void disi() 输入两个整数,求他们的平方和 5.void diwu() 分段计费 6.void diliu() 求一元二次方程的根 7.void diqi() 判断三个整数是否能构成三角形 8.void diba() 计算1~1000之间能被三整除的所有自然数之和 9.void dijiu() 猴子吃桃问题 10.void dishi() 输入一个正整数,求位数和位数之和 11.void dishiyi() 输入一行字符,统计大小写字母,数字和其他字符 12.void dishier() 输入一个四位数,将其加密后输出 13.int dishisan() 用冒泡排序对10个数排序 14. void dishisi() 用for,while,do~while循环实现100以内素数之和 15. void dishiwu() 将大于10元小于100元的钱换成1元,2元,5元的组合 16. void dishiliu() 输出99乘法口诀 17. void dihsiqi() 验证哥德巴赫 18. void dishiba() gcd(int m,int n) int lcm(int m,int n) 求两个正整数的最大公约数和最小公倍数 19. void dihsijiu() int isprime(int m) 判断素数 20. void diershi() 求(m,n)以内全部素数,每行输出10个 21. void diershiyi() 输出10000到99999的所有回数 22. void diershier() 两个6*6矩阵的乘积 23. void diershisan() void allPrimes(int m,int n) void sort(int array[],int n) 对一批数进行排列,求出最大值与平均数 24. int diershisi() char switchScore(int score) 输入一批学生的成绩,换成五分制 25. void diershiwu() 逆序输出long reverse(long number)返回number的逆序数 26. void diershiliu() 求阶乘

相关主题
文本预览
相关文档 最新文档