编程导论课程设计题目

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

西南大学

计算机与信息科学学院

2015级计算机科学与技术大类专业

《编程导论》课程设计A案

1 课程设计的基本要求

1.1能从实际应用问题出发,合理选择数据结构,设计算法形成完整的设计方案。

1.2使用Python实现算法,合理添加注释以保证程序的可读性。

1.3针对项目认真撰写课程设计报告。

2 课程设计主要内容

课程设计题目由教师提供(见第5节),内容可以是一个具体的数据处理问题、字符串处理问题、统计问题和数据挖掘问题。允许学生自拟题目,但需经过教师审核。教师可根据教学实际情况增加题目。

3 课程设计考核方法及成绩评定

3.1考核方式:考查。

3.2成绩评定:课程设计成绩采用100分制,从以下几个评级指标进行评定:

4课程设计报告主要内容和要求

4.1 课程设计报告主要内容

封面

主要内容

4.2 课程设计报告编写的基本要求

(1)采用A4纸书写或打印;

(2)如为打印,题目采用宋体3号字加重,正文小标体采用宋体四号,正文采用宋体五号字。

5、课程设计选题

5.1题目:数据挖掘:股票价格

数据挖掘是通过对大量的数据进行排序,挑选出相关信息的过程。商业情报结构和金融分析师会用到它,而且正日益被用在科学领域中,从现代实验和观测方法所产生的巨大数据

集中提取信息。

在这个项目中,我们想要对一些公司的股票价格进行初步的数据挖掘。以Google公司为对象。程序将计算出2010-2015年间Google股票的每月平均价格,并得出Google公司最好和最坏的6个月。提供读取函数的数据,请编写下面几个函数和调用这些函数的主程序。(a)首先需要股票历史价格。访问,在搜索字段中输入Google,选择“Historical Prices”(目前在页面左侧),并找到“Download to Spreadsheet”选项。

将文件保存在Python程序所在文件夹中。默认名称是“table.csv”,将使用该名称。

文件格式由文件前几行给出:

Date, Open, High, Low, Close, V olume, Adj Close

2015-10-11, 461.00, 462.07, 443.28, 449.15, 10006000, 449.15

2015-10-10, 422.64, 439.18, 410.50, 439.08, 8589400, 439.08

(b)getDataList (FileName)

“CSV”文件是“用逗号分隔的文件”,所以可以在逗号处分割数据。下面的函数将读取一个文件,从逗号处分隔文件中每行,并把数据放到返回的列表中。结果是二维列表,列表的每行又是一个列表。此外,每个项都是一个字符串。读文件需要使用文件名进行调用:get DataList(‘table.csv’),在shell中应用此函数,了解函数的返回值是什么。

def getDataList(fileName):

dataFile = open(fileN ame, ‘r’)

dataList = [ ] # start with an empty list

for line in dataFile:

# strip end-of-line, split on commas, and append items to list

dataList. append (line.strip().split(‘,’))

return dataList

(c)getMonthlyAverages (dataList)

在这个函数中,将使用getDataList函数产生的dataList作为参数。使用Date,Volume, Adj Close计算每月平均价格。下面是一个计算月平均价格的公式,其中Vi代表V olume,Ci是当天调整收盘价(Adj Close)。

averagePrice = (V1 * C1 + V2 *C2 + …….+ Vn * Cn)/(V1 + V2 + ……+ Vn)

为每个月创建包含两个项的元组,包括该月的平均价格和日期(只需要年份和月份)。

将每个月的元组添加到列表中(例如monthlyAveragesList),计算所有月的平均值后,返回此列表。在这里使用元组,是因为这些值计算出来后不想意外的更改它们!(d)printInfo (monthlyAveragesList)

在这个函数中,需要使用getMonthlyAverages函数得到月平均价格列表。需要查找和显示Google股价中6个最好(最高平均价格)和6个最坏(最低平均价格)的月份。按从高到低的顺序显示,要求精确到小数点后2位。对输出进行格式化,得到美观的输出(包括信息标题栏)。此函数不返回任何值。

(e)如果不调用这些函数,它们不起作用。因此,应该写代码来调用他们。

提示:

(a)列表sort( )和reverse( )方法会起作用。做实验来观察如何在元组列表上使用这两个方法,

注意是如何按第一个项进行排序的。

(b)创建元组,项是圆括号内用逗号分隔的列表:(x,y)。

(c)使用二维列表(或元组列表)时,第一个列表的第一项是someList[0][0],第一个列表

的第二项是someList[0][1]。

5.2题目:(使用turtle仿真:自我规避随机游走)

(a)在一个网格中的自我规避游走是一条从一点到另一点的路径,并且这条路径不会经过同一个点两次。自我规避游走在物理、化学和数学中有很多的应用。它可以用来模拟链状实体,例如溶剂和高分子聚合物。编写一个Turtle程序显示一条随机路径,该路径从中心点开始在边界上的某点结束。或者在死点处结束(即该点被其他已经经过的4个点包围)。假设这个网格的大小是16*16。

相关文档
最新文档