欧姆定律的结论范文

2023-09-18

欧姆定律的结论范文第1篇

1 (级数收敛的必要条件) 若级数收敛, 则

(2) 不成立。

\"\"

证明:已知无穷积分敛, 即极限:

\"\"

设下面证明:α=0, 用反证法。假设α≠0, 不妨设α>0, 即由连续函数的保号性, ∃A>0, ∀x>A, 有从而∀p>A, (当然p+1>A) , 有 (正常数) , 根据柯西收敛准则的否定叙述, 发散, 与已知条件矛盾, 于是

\"\"

2证明:若级数收敛, 则级数也收敛, 倒过来不成立, 举出例子

解:先看下面几个积分的敛散情况。

\"\"

最后, 设利用第一个结果即证得级数收敛。

摘要:本文在学习过数项级数与无穷限广义积分的基础上, 为了更深刻巩固我们所学过的基本内容, 就相似结论给出了证明, 以达到更清楚地认识数项级数与无穷限广义积分是平行理论的目的。

关键词:收敛,发散,数项级数,绝对收敛,条件收敛,无穷限广义积分

参考文献

[1] 陈传璋, 等.数学分析 (下册) [M].高等教育出版社, 1979.

[2] R.柯郎, F.约翰.微积分和数学分析引论[M].科学出版社, 2002.

[3] Б.П.吉米多维奇.数学分析习题集题解 (3) [M].山东科学技术出版社, 1999.

[4] Б.П.吉米多维奇.数学分析习题集题解 (4) [M].山东科学技术出版社, 1999.

[5] 刘玉琏, 傅沛仁.数学分析讲义[M].高等教育出版社, 1996.

欧姆定律的结论范文第2篇

毕业论文是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的工业知识库系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。这是我们都希望看到的也正是我们进行毕业设计的目的所在。

本课题基于使设计出的机床结构简单、使用方便、效率高、质量好提出的要求,着重选择最佳的工艺方案,合适地确定机床工序集中程度,合理地选择组合机床的通用部件,恰当的组合机床的配置型式,合理地选择切削用量,以及设计高效率的夹具、液压、以及PLC控制就是本次设计主要内容。具体的工作就是要制定工艺方案,进行机床结构方案的分析和确定,进行组合机床总体设计,组合机床的部件设计和施工设计,使其具有工程意义,实现其在实际应用中的价值。

虽然组合机床的应用越来越广泛,随之,各种各样组合机床的设计也经常见于报道,经过本次毕业设计,对资料的查阅和研读,可以得出结论,对各种组合机床的设计的研究方向随着自动化技术的飞速发展而趋于这样一种研究方向,即组合机床及其自动线方向。

我国组合专用机床总体技术水平比发达国家要相对落后,国内所需的一些高水机床几乎都从国外进口。工艺装备的大量进口势必导致投资规模的扩大,并使产品生产成本提高。因此,市场要求我们不断开发新技术、新工艺,研制新产品,由过去的“刚性”机床结构,向“柔性”化方向发展,满足用户需求,真正成为刚柔兼备的自动化装备。

40

谢辞

因为论文是在老师们悉心指导和严格监督下完成的。老师严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德以及平时平易近人的人格魅力在我脑里印象深刻。从一开始老师就坚持一周和我们见面两至三次,每次都会细心的询问工作进展程度,然后就他对设计构架的了解给我们解决心中的疑惑,就这样让我们对接下来的任务更加明确。除了毕业设计老师,还要感谢以前教我们专业知识的老师们,是他们耐心讲解巩固了我们的专业知识,为论文的完成打下基础。在毕业设计的过程中,我们进一步加深了专业知识的理解,同时熟悉了做一个课题的基本步骤和思路,而且了解到要做好一项任务除了认真还要加强交流努力从集体中找到更好的思路,做到事半功倍。总之,在毕业设计中收获较多,对今后的工作有着一定的帮助。再次感谢那些教我知识,帮助过我,陪我走过的老师、同学以及朋友们!再次感谢母校的培养!谢谢!

41

[参考文献] [1] 曾亿山

液压与气压传动

合肥工业大学出版社

2008年12月第1版 [3] 机械设计手册

机械工业出版社

2004年8月第3版

[4] 大连组合机床研究所

组合机床设计参考图册

机械工业出版社, 1975年版 [5] 组合机床设计(第二册

液压部分)

机械工业出版社

1976年3月第1版

[6] 组合机床设计(第三册

电气部分)

机械工业出版社

1976年3月第1版

[6] 周士昌

液压系统设计图集

机械工业出版社

2003年8月第1版

[7] 许晓旸

[8] 濮良贵

[9] 杨叔子

[10] 谢家瀛

专用机床设备设计

重庆大学出版社

2003 纪名刚 机械设计

高等教育出版社

2006 机械加工工艺师手册

机械工业出版社

2001

组合机床设计简明手册

机械工业出版社 1994

欧姆定律的结论范文第3篇

媒体公信力是媒体在受众中长期形成的信任感和权威性,是媒介所具有的赢得公众信赖的职业品质和能力。公信力不但决定了一个媒体所影响的受众面,更决定着它影响受众的程度。毫无疑问,公信力是媒体的核心竞争力。舆论监督是媒体赢得公信力的利器。敢不敢于开展舆论监督?如何开展舆论监督?是衡量媒体公信力高下的重要尺度。以《焦点访谈》为代表的电视新闻舆论监督一直是中国舆论监督的重镇,对中国社会的发展产生了巨大的影响力,与其它媒体比较,电视新闻舆论监督的公信力一直是很高的。然而,勿庸讳言,由于种种原因,电视舆论监督正面临着公信力危机。是什么因素导致了电视新闻舆论监督公信力的危机?如何重塑电视新闻舆论监督的公信力?笔者将在本文中进行粗浅的探讨。

一、电视舆论监督的公信力正在下降

1994年4月1日,随着中央电视台《焦点访谈》栏目的正式开播,掀开了电视舆论监督报道新的一页,它以坚守正义的职业追求、前所未有的监督力度、令人信服的典型事实、合法入理的深刻分析赢得了受众的信赖。《焦点访谈》开播以后,全国各地纷纷办起了一批焦点类栏目。这些栏目为改革呐喊,为政府分忧,为群众说话,以守护社会的公平正义为己任,对损害国家利益的行为进行揭露,对侵害人民利益的行为公开批评,给长期沉闷不堪的新闻界打开了一扇透风出气的窗口,一时间,电视舆论监督报道风行全国,赢得了广大受众的信赖。

焦点类栏目为电视媒体开展舆论监督“开了第一腔”,也为电视媒体赢得了公信力。之后,电视媒体进一步加大了舆论监督力度,舆论监督报道从焦点类栏目扩大到其他各个栏目。近几年,民生新闻栏目的兴起,使得电视舆论监督报道的数量大幅度增加,舆论监督的范围进一步扩大,舆论监督的方式更加灵活,舆论监督与人民群众的距离更加贴近。

然而,就在电视新闻舆论监督不断加强的同时,新的危机也正在悄悄向电视人走来。

中国人民大学舆论研究所所长喻国明教授对中国大众传媒的公信力进行了专题研究调查测评,在2006年4月公开了一份《中国广播电视公信力测评报告》,报告采用十分制对不同电视新闻内容的的公信力测量发现,体育新闻的得分最高,为8.1分,其次为国际新闻(8.03分),排在第三的是国内时政新闻(8.02分),而批评揭露类新闻和娱乐新闻得分一样,为7.48分,一起排在最后。这份报告从一个侧面反映了电视舆论监督报道的公信力在下降。

与电视舆论监督公信力下降相联系的还有一系列表征:1.以舆论监督为报道内容的电视栏目收视率下降;2.电视舆论监督报道的满意度下降;3.由电视舆论监督报道引发的新闻纠纷与诉讼急剧上升;4.电视舆论监督报道的虚假报道现象时有发生;5.在权力与金钱面前电视舆论监督频频失语。

二、电视新闻舆论监督公信力下降的主要原因

电视新闻舆论监督公信力下降的原因是多方面的,有电视新闻媒体自身的原因,也有社会环境方面的原因;有自律方面的原因,也有他律方面的原因;有监督机制方面的原因,也有监督技巧方面的原因。笔者认为最主要的体现在如下四个方面:

1.传播上失职

媒体是公众了解各种信息的重要渠道。真实、客观、准确、及时、全面地向观众提供事实的真相,特别是一些负面事实的真相,充分尊重和保障公众的知情权是新闻媒体应负的社会职责。一个尽职尽责的媒体,必然是一个最大限度地满足受众知情权的媒体,这样的媒体必定能够赢得公信力,否则,如果在重大新闻事件面前失语、瞒报、晚报,则是失职。媒体在传播上屡屡失职,其公信力就会大打折扣。例如,2002年底发生在我国的“非典”疫情,由于在一开始的时候,有关方面封锁消息,新闻媒体集体失语, 社会流言四起,民众高度恐慌,政府与媒体的公信力都受到严重影响。直到2003年4月,有关方面不得不调整传播策略,不仅如实发布“非典”疫情和有关信息, 而且及时传播预防知识。这种传播策略不但没有引起有关方面担心的恐慌,而且很快控制了“非典”的蔓延,政府与媒体的公信力也得到了极大的增强。

媒体在传播上失职不仅表现在报道失语上,还表现在报道失实上。真实是新闻的第一要义,也是媒体的公信力源泉。电视舆论监督报道的过程是记者发掘事实、揭示真相、真实反映事实的认识过程。这个真相往往是被遮蔽了的。中央电视台《新闻调查》栏目制片人张洁在谈到“真相是什么”时,有这样一段精彩的表述:“真相就是正在被遮蔽的事实……真相有时被权力遮蔽,有时被利益遮蔽,有的被道德观念和偏见遮蔽,有的被集体无意识遮蔽。”这个被遮蔽了的真相往往造成了记者的采访难度而无法接近事实。

电视舆论监督传播上的失职,一方面是由于国家权力机关以消息会带来负面影响为由干预和管制新闻,或者是由于消息提供者以及被指责一方拒绝提供真实情况造成的报道失语或失实。另一方面由于记者在采访报道中对事实认识出现的偏差,造成新闻报道与实际真实之间的差距,这种失实有时体现在原因不真实,有时体现在新闻背景不真实,也有时体现在发展倾向不真实。不管是主观原因还是客观原因造成的新闻传播上的失实,都会使电视舆论监督的公信力受损。

2.道德上失范

恪守新闻职业道德规范是新闻从业者的职业底线,一旦这一职业底线被践踏,就会对媒体的公信力造成致命威胁。

在现代社会,每个人都拥有话语权,与普通人相比,新闻从业者的话语权更具有优势,其音量更大一些。在我国,舆论监督具有党政权力延伸和补充的性质,特别是中央或上一级传媒监督,对下一级来说,权威性很大,传媒的话语权很大。如果媒体在道德上失范,就会直接导致舆论监督报道的失语或者音量变弱,从而失去公信力。

媒体在道德上失范首先表现在经不起金钱诱惑,抵制不了外界力,放弃职业基本原则而导致舆论监督报道流产或事实扭曲。2002年6月22日发生在山西省繁峙县义兴寨的金矿爆炸事件,有11名记者从当地负责人和矿主那里收受贿赂,隐瞒真相。北京一媒体记者手持批评稿向被批评单位要挟18万元。如果广大受众都知道这样的情况,他们还会相信新闻报道的真实和新闻媒体的客观、公正吗?

媒体在道德上失范还表现在媒体在一些广告商的干预下将舆论监督的职责作为交易的商品。在媒介市场化的今天,越来越多的广告大户成为了媒体的保护对象,当这些广告大户出现了损害公众利益的行为时,舆论监督出现失语而发挥不了应有的作用。

3.导向上失控

在媒体日益商业化的今天,电视舆论监督报道被异化,失去了其应有的功能。一些地方电视台为了片面追求收视率,将舆论监督作为提高收视率的法宝,把报道目光集中在性、暴力、犯罪上,以吸引公众眼球,满足公众的猎奇心理。

电视舆论监督报道是通过对损害公众利益的事实进行批评报道,引起社会和国家权力机关的关注,从而最终保证公共权力的正确行使,遏制腐败的滋生蔓延。当舆论监督报道出现媚俗化、商业化倾向时,使其应有的权威性受到削弱,最终会丧失媒体的公信力。

4.监督上失度

舆论监督报道失度对公信力的影响是很大的。这种报道失度主要表现在法律失度、角色失度和报道分寸上失度。

中国近年来新闻官司的持续增多,一方面反映了社会法律意识的增强,另一方面反映了媒体、媒体从业者的法律意识的薄弱和法律知识的匮乏。由于舆论监督报道大多是些批评、揭露性报道,特别是近年来老百姓反映较多的医疗、教育、住房以及“三农”等方面的问题,这些方面的问题政策性较强、涉及的法律法规较多,记者如果不具备或者掌握政策法律法规知识不够全面细致,就很可能陷入法律纠纷。记者不可能是全能的,但法律知识却是记者必备的。

电视记者在进行舆论监督报道时应该扮演什么角色?应该拥有怎样的权利和义务?有的电视记者成了包青天,只为弱势群体说话,而没有给被批评的一方以充分的话语权;有的电视记者成了法官,采访中咄咄逼人地质问采访对象,在报道中喜欢做总结性批评结论,进行“新闻宣判”。特别是近年来,隐性采访广泛运用于电视舆论监督报道中,存在着记者的过度介入和诱导采访现象。比如,记者为了揭露黑中介,扮演成求职者;为了揭露假发票现象,扮演成票贩子等等。当记者以虚假的身份采集到的这些新闻素材,不管其报道出发点多么善良,这种记者的角色失度有可能直接侵害被采访对象的名誉权、隐私权、肖像权、姓名权等民事权利,陷入法律纠纷,也会使记者形象严重受损,最终会伤害到新闻媒体的公信力。

电视舆论监督报道中报道分寸失度主要体现在事实和观点的失衡,既没有将报道中所涉及的事物诸多方面的事实信息作较为完备的陈列,也没有在报道中给不同观点的双方或多方以表达意见的权利和机会。

三、提高电视舆论监督公信力的主要对策

社会对媒体公信力的评价不是社会成员中几个或少数人的评价,而是整个社会成员的综合性判断与评价,社会成员对媒体信赖感的产生不是一朝一夕之事,而是需要媒体长期的持久的努力。

1.加强自律,提倡新闻专业主义

媒体加强自律主要是指新闻从业人员自觉遵守新闻职业道德准则。新闻工作者将这些职业道德准则落实到实践中,就是要坚守“真实、客观、公正、全面、平衡”的专业标准,这种新闻专业主义精神是新闻人应当持有的基本职业要求,它意味着不冲动、不偏激、不炒作、不盲从,始终以理性的态度调查纷繁复杂的社会问题,以建设性的视角进行舆论监督。新闻人以这种新闻专业主义精神对新闻负责、对社会负责,这种责任感就是媒体公信力的源泉。

2.加强他律,完善新闻监督体系

相对于自律,加强他律是指政府、社会团体及受众通过法律、道德舆论等手段对媒体及其从业人员施加影响,促使其树立良好的职业道德形象。

提高舆论监督报道的公信力必须完善新闻监督体系。比如建立舆论监督报道的评价、反馈机制,通过问卷调查、设立行风监督员等形式收集社会意见;社会各界可以通过写信、打电话、发电子邮件等途径对媒体的做法提出自己的建议、意见,对媒体及从业人员进行监督,从而提高新闻从业人员的整体道德水平。

3.明确舆论监督原则,提高舆论监督技巧

进行舆论监督报道首先要坚持人民利益原则。坚持人民利益原则是新闻报道的出发点。广大人民群众通过新闻媒体反映自己遇到的问题和困难,媒体通过宣传报道形式为人民群众排忧解难。舆论监督报道反映的是人民群众的意愿和要求,代表的是人民群众的根本利益。

其次,进行舆论监督报道要坚持依法监督原则。进行舆论监督必须深入了解我国现有的政策、法律、法规,并遵循这些法律法规,这是进行舆论监督报道的前提。

在当前形势下,舆论监督报道要发挥舆论引导作用,提高公信力,还必须坚持积极建设原则。坚持积极建设原则既体现在开展舆论监督报道的出发点上,也体现在舆论监督的效果上。有效果的舆论监督才能给公众以信心,才具有公信力。要坚持建设性立场,首先要坚持政府重视、群众关心、普遍存在的选题原则。我们每天收到各类新闻线索,接到各类群众投诉,从建设性立场出发,精心选材。主动而创造性地在党的工作重点、群众关心的热点、各级政府解决的难点这三点之间寻找报道的结合点。

注重舆论监督的效果就是要注重观众的反馈,对报道的问题跟踪反馈,把解决问题的情况及时反馈给观众,给观众以信心。

明确舆论监督原则是提高舆论监督报道公信力的基础,把握舆论监督技巧则是提高舆论监督报道公信力的保证。

在提高舆论监督技巧方面,特别要提倡质疑与平衡技巧。

质疑既是电视记者的职业态度,也是一种采访技巧。在电视舆论监督报道中,记者既要敢于质疑,也要善于质疑。纷繁复杂的社会矛盾和事实有时很隐蔽或被掩藏,记者在探寻事实真相的过程中,往往面临着线索提供者提供的信息不完整或者被指责对象的采访阻挠,找不着相关的当事人,找不着问题的突破口,所以质疑需要勇气,要敢于直面权力、强势,同时,还要讲究方式方法,比如在采访现场,采用什么样的调查方式,提出什么样的问题,怎样提出问题,都直接关系到调查效果。

当代社会的利益和价值取向多元化,以及由此引发的各种社会力量的博弈使得平衡的报道理念和方式日益兴起。

从新闻的报道内容来分,可以分为事实平衡和观点平衡。事实平衡是指对报道中所涉及的事物诸多方面的事实信息作较为完备的陈列。观点平衡是指在报道中给不同观点的双方或多方以表达意见的权利和机会,这样,可以让大众更为理性的分析看待问题,有助于问题的解决。运用平衡技巧进行舆论监督报道,有利于报道分寸的把握,使受众通过获得全面的信息、多方的观点,形成自己的认识和判断,从而真正感受到舆论监督报道的客观、公正、真实。

4.加强管理,建立完善评价机制

重塑电视舆论监督报道的公信力,最重要的一个方面就是加强新闻从业人员队伍建设,提高他们的素质。这就需要加强管理,建立完善评价机制。首先,完善电视媒体、频道、栏目评价机制:不能唯收视率。建立包括收视率、满意度等在内的综合评价指标体系,倡导“绿色收视率”。其次要建立舆论监督记者的评价机制:不能仅仅只把发稿数量、收视率作为考核评价指标,而应该把舆论监督记者所从事的大量社会工作纳入考核的工作量,把报道的难度、社会效果列入评价指标。

总之,公信力是媒体在市场竞争中的宝贵资源,面对当前激烈的电视新闻竞争态势,重塑电视舆论监督的公信力显得十分重要。在这方面,我们需要长期不懈的努力。

(本文编辑:张德明)

收稿日期:2007-03-07

欧姆定律的结论范文第4篇

1、知识与能力

2、过程与方法

3、情感态度与价值观

另外,以学生需求为出发点,注重教学的生成性。 教学设计遵循的原则:

1、以教学为中心,注重学生的学习能力培养。

2、突出合作学习。

3、运用各种信息与资源。

4、强调对学习过程、学习资源的评价。

5、以解决问题作为学习的主线,在一定情境中确定教学策略和技能。

(一)、切实进行学习需要分析、学习内容分析和学生特征分析,依此制定教学目标,反对经验主义。

1学习需要即学生已有的知识状态与期望他们达到的学习状态之间的差距,这个差距,构成了总的教学目标。 2学习内容即为了实现总的教学目标要求学生系统学习的知识、技能和行为经验的总和。这里要特别注意分析学生的先决技能和学生学习知识的心理操作过程。这样才有利于避免教学起点过高,补足知识结构,适应建构知识的心理机制。 3认真分析学生的知识准备、初始技能、学习兴趣及相关的经验、动机、文化、社会等背景因素,切实进行学生特征分析。 做到以上三点,就可以使教学目标的设计在理论的指导下严密地进行,这是提高教学质量的起点。

(二)、教师应认真学习和钻研流派众多的学习理论,用理论武器指导自己的实践,这样才利于避免课堂教学的形式主义,避免使课堂教学走入灌输或发问的极端。

(三)、用abcd法编写教学目标④,使教学目标的阐述利于教师的授课和检测,利于学生的学习和自测。

欧姆定律的结论范文第5篇

一、 指导思想 学生综合素质评价,以党的教育方针为指导,以全面推进素质教育为导向,以促进学生全面发展为宗旨,构建内容全面、方法科学、程序规范、结果客观的形成性评价和终结性评价相结合的评价体系,为学生的终身发展奠定坚实的基础。

二、 基本原则

1、全面性原则实施学生综合素质评价,着眼于学生的成长过程和整体表现,既关注全体发展又关注个体差异,既反映学生的综合素质,又彰显学生的个性、特长和发展潜能,实现评价内容的全面化。

2、发展性原则坚持以发展的眼光看待学生,注重学生的日常行为表现,将形成性评价与终结性评价有机结合,发挥评价的激励功能,促进学生全面和谐发展。

3、民主性原则加强师生之间的对话交流,开展有效的学生自评、互评和教师评价,及时反馈,增进理解与沟通,营造良好的民主氛围。

4、多样化原则把成长记录与学科模块测试结合起来,把学业水平测试与平时作业、课堂表现、实验操作等结合起来,实现评价方式多样化。

5、可操作性原则评价过程简便、直观、易操作,逐步实现评价操作与管理的信息化。

6、客观性原则建立、健全评价管理和监督制度,不断完善评价方法,确保对学生的评价全面、客观、具体、实事求是,增强高中学生综合素质评价工作的实效性。

三、组织机构

1、成立学校综合素质评价工作委员会

主任:

副主任:

委员:

主要职责:负责制定综合素质评价工作方案和标准,组织和指导评价工作,认定评价结果,受理咨询和申诉申请。

2、学校综合素质评价指导小组

组长:

副组长:

成员:

下设办公室:

主任:

成员:

主要职责:具体负责学生学分的评定、登记和录入、建档等组织工作。

3、成立年级(分A、B组)综合素质评价工作小组

组长:

副组长:

成员:各年级组(部)选五名教师代表,四——六名学生代表主要职责:负责审核各班级评价结果,组织咨询和复核。

4、成立班级综合素质评价工作小组

组长:各班主任

成员:各班小团队辅导老师(须有体育或艺术教师) 学生四人 (建议班长、体育委员、文娱委员、生活委员参加)。

主要职责:在学生自评、同学互评的基础上,具体评价每个学生的综合素质。

四、评价结果呈现方式

学生综合素质评价的结果为评定等级。评定等级指每个基础性发展目标的评定结果以等级方式呈现,分为A、B、C、D四个等级。

五、评价程序

综合素质评价分为阶段性评价和终结性评价;阶段性评价是学生每学期结束后进行的评价;终结性评价是高中毕业时进行的评价。

学生使用统一格式的“普通高中学生成长档案袋”和“普通高中学生综合素质评价报告单”。综合素质评价按学生自评、学生互评(小组成员间互评)、班级教师评价、家长评价、年级审核,学校认定的步骤进行。

1、学生自评。

学生在班主任和小团队辅导老师指导下,按照生活德育课程化修炼实施方案及综合素质评价细则,依据学生成长档案袋记录,每周对自己作出一次客观公正的评价。自我评价重在引导学生发现自己的进步,体验成长的快乐,认识存在的不足,明确发展的方向。

2、学生互评。

学生在班主任和小团队辅导老师指导下,小团队成员之间按照生活德育课程化修炼实施方案及综合素质评价细则,依据学生成长档案袋记录,结合平时的观察了解,采取讨论和不记名方式对班级内(小组内)每个同

学进行评价,每周进行一次。学生互评重在相互交流、相互学习,相互激励,相互促进,侧重在帮助同学总结成绩、发现不足,明确努力方向。

3、班级评价。

班级成立综合素质评价工作小组,成员由班主任、小团队辅导教师、学生代表组成,班主任任组长。评价小组由七——九人组成,其教师代表须是本班任课教师,对学生有充分的了解,具有较强的责任心和诚信品质。小组成员名单要在评价工作正式开展一周前向全班学生公布,并得到2/3以上学生的同意。班级综合素质评价小组负责对学生成长档案袋的真实性和学生自评、互评结果的客观公正性进行审查,并对获A等和D等学生的情况进行认真复核。班级评价小组在尊重学生自评和互评结果的基础上,对有争议的结果,可根据学生档案袋材料和实际表现重新评价,并注明理由。

4、家长评价。

每学期在学生学业通知书上设计家长评价一栏,家长对孩子的综合素质按照家长会时的要求进行描述性评价,评价结果要由学生本人真实地录入成长记录袋。

5、年级审核。年级成立综合素质评价工作小组,成员由年级主任、教师和学生代表7——9人组成,年级主任任组长。年级综合素质评价工作小组负责审核各班级评价结果,组织咨询和复核。

6、学校认定。学校成立综合素质评价工作委员会,成员由校长、教师和学生代表组成,校长任主任。学校综合素质评价工作委员会负责制定综合素质评价工作方案和标准,组织和指导评价工作,认定评价结果,受理咨询和申诉申请。

7、申诉和复核。学校要将评价结果以书面形式通知学生本人及其家长,学生及其家长若对评价结果有异议,可以书面形式向学校综合素质评价工作委员会提出申诉。学校从收到申诉之日起10日内组织复核并给予书面答复。

六、评价结果呈现

“公民道德素养”、“交流与合作”、“学习态度与能力”、“实践与创新”、“运动与健康”、“ 审美与表现”分为A(80分以上)、B(79—70分)、C(69—60分)、D(60分以下)四个等级。评价结果为A或D等者,需在备注栏注明原因,并尽可能提供有关证明材料。各维度获“A”等的学生比例原则上平行班、特优班、宏志班分别不超过30%、50%、60%。对身体有缺陷的学生,在“体育与健康”评价中,可酌情减少评价指标或降低评价标准。综合素质评价每学期进行一次。毕业生综合素质评价在综合高中阶段各学期的评价结果(高

一、高

二、高三各占30%、30%、40%)的基础上确定,所有评价均记入学生成长档案。对获得优秀或A等的学生给予全校公示,对不合格或D等的学生通知其本人。被评学生对结果产生异议的,可以提交申请和相关证据由学校综合素质评价小组及时予以复议,并给出最终评价结果。

欧姆定律的结论范文第6篇

2014—2015学年第1学期

学 院: 计算机学院 专业班级: 软件工程5班 学 号: 130202051006 学生姓名: 陈洪阳 指导教师: 戴俊雅

成 绩:

时 间:

2015年 1月5日

实践1.猜数游戏 题目概述:

编程先由计算机“想”一个1~100 之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。

程序设计概要与分析:

在源程序的开头中包含stdlib和time库函数,这样我们就可以调用srand()和rand()函数,其中调用srand()提供一个种子,它是一个unsigned int类型,取值范围是0~65535,然后调用rand(),根据提供给srand()的种子值返回一个随机数,我们用rand()%100就把随机决定的数值范围确定在1~100之间,然后定义一个num,记录这个随机产生的随机数,定义input,来储存用户输入的猜数值,用times来记录猜的次数,用do while循环来执行用户猜的次数有10次,用if else条件语句来判断用户是否猜中,或猜得太大、太小,用一个while循环来做总嵌套,设置n的值一开始不为零,while循环的条件是当n的值不等于0,最后用户就可以修改n的值来决定是否退出。

程序代码:

#include #include #include

int main() {

int n=1; while(n!=0) {

srand((unsigned)time(NULL)); int num,input; int times=0; num=(rand()%100)+1; printf("在1~100间猜一个数 "); scanf("%d",&input); do{

if(input==num){

} else if(input>num){

} else if(input

}

}

} printf("你猜的数太小了,请再猜一个 "); scanf("%d",&input); times++; }while(times<9); if(times>=9)printf("你已经猜了10次都猜不中,你输了 "); printf("继续下一轮新的猜数请按1,退出请按0 "); scanf("%d",&n); return 0; 运行结果示例:

选择继续下一轮新的猜数,猜了10次都没猜中

心得体会:

要懂得如何生成一个随机数,并且要确定它的范围在1~100之间,同时我们还要用do while循环体把猜数的次数控制在10次,每当我们输入猜想的数时就要做出判断,看看是否猜中,或者猜得太大或太小,输出提示信息。也懂得了通过修改while判断循环里面的条件,使得循环体里面的程序受我们修改的条件控制,可以继续循环执行或者不再继续执行。

实践2.成绩排名次 题目概述:

某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30 人参加考 试,学号可以用输入的序号代替。考试后要求: (1)计算每个学生的总分和平均分;

(2)按总分成绩由高到低排出成绩的名次;

(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分; (4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。

程序设计与概要:

定义存储学生信息的结构体,包括学生编号,姓名,各科成绩,总分,平均分还有名次。该结构体命名为student,然后定义结构体数组student s[],首先输入准备录入学生信息的人数,用amount来记录人数,用一个for循环,从0~amount-1,依次输入每个学生的各种信息,如学号,姓名,数学、英语和物理成绩。用grade[]数组来存这三科的成绩,如grade[0]存储数学成绩,grade[1]存储英语成绩。输入之后,再用一个for循环把每个同学的总分求出来,总分再除去3求出该名同学的平均分。按总分成绩由高到低排出名次,用两个for循环嵌套,第一个循环从0~amount,表示从第一个同学开始拿出来比较,第二个循环从1~amount,表示除了之前取出的同学以外的每一个同学,如果前一位同学的总分小于后一个同学的话,就交换两人的信息,第二个循环比较之后,便会把总分最高的同学的信息储存在第一个,然后我们设置排名rank的值为1,rank++,进行筛选第二名的,之后对应地把rank的值设给学生的总分排名

打印学生信息,输出表格的基本框架后,用一个for循环,依次输出每个学生的信息,最后还有根据学号查询学生信息,用户输入要查询的学生学号,在for循环里面依次比较,如果找到学号与用户输入相同的,便输出该名学生的信息。

程序代码:

#include #include #include #define M 30 struct student { unsigned int num; char name[10]; int grade[3]; int sum; float ave; int rank; }; student s[M]; int amount;

void input(student s[]); void title();

void list(student s[]); int main() { input(s); int i=0; for(i=0;i

//要求1 计算总分 平均分

s[i].sum=s[i].grade[0]+s[i].grade[1]+s[i].grade[2];

s[i].ave=(float)s[i].sum/3; } //要求2 按总成绩排序

int rank=1; student t; for(i=0;i

for(int j=i+1;j

{

if(s[i].sum

{

{t=s[i];

s[i]=s[j];

s[j]=t;

}

}

}

s[i].rank=rank;

rank++; } //要求3 打印名次表

title(); list(s); //要求4 查询

int number; printf("请输入你要查询学生的学号: "); scanf("%d",&number); for(int i=0;i

if(number==s[i].num)

{

printf("学号 姓名 数学 英语 物理 总分 平均分 排名 ");

printf("%u %s %d %d %d %d %5.2f %d ",s[i].num,s[i].name,s[i].grade[0],s[i].grade[1],s[i].grade[2],s[i].sum,s[i].ave,s[i].rank);

} } system("pause"); return 0; }

void input(student s[]) { printf("输入班上参加期末考试的人数(不大于30人)"); scanf("%d",&amount); printf("请依次输入他们的学号,姓名,数学成绩,英语成绩和物理成绩 "); for(int i=0;i

printf("第%d位同学的学号,姓名,数学成绩,英语成绩和物理成绩 ",i+1);

scanf("%u%s%d%d%d",&s[i].num,s[i].name,&s[i].grade[0],&s[i].grade[1],&s[i].grade[2]); } }

void title() {

printf(" 学生成绩表 ");

printf("----------------------------- ");

printf("学号 姓名 数学 英语 物理 总分 平均分 排名 ");

printf("----------------------------- "); }

void list(student s[]) { //n表示人数

int i;//rank=1; for(i=0;i

printf("%u %s %d %d %d %d %5.2f %d ",s[i].num,s[i].name,s[i].grade[0],s[i].grade[1],s[i].grade[2],s[i].sum,s[i].ave,s[i].rank);

printf("----------------------------- "); } }

运行结果示例:

确定录入人数之后,依次输入每个学生的信息

打印出名次表:

输入学生的学号,查询学生信息:

心得体会:

懂得了用结构体将不同的数据类型结合在一起,然后定义结构体数组,使得每个数组中的成员都具有不同的数据类型变量。而且同属于一个数据类型,也可以定义数组来表示相同的类型但是有多个不同值,比如成绩这个变量。也懂得了用for循环语句求总分,用for循环语句将数组从头到尾输出。

实践3.单科成绩统计 题目概述:

学生成绩统计(一维数组)从键盘输入一个班(全班最多不超过 30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实

现下列功能:(1)统计不及格人数并打印不及格学生名单;

(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单; (3)以直方图方式统计各分数段的学生人数及所占的百分比。形式如下: 分段 人数 图形 <60 3(10%)*** 60‐69 8(…) ******** 70‐79 7(…) ******* 80‐89 8(…) ******** >=90 4(…) ****

程序设计与概要:

定义一个结构体stu,里面有学生的姓名和成绩,然后定义一个s[]数组存放每个学生的姓名和成绩,输入函数中用一个for循环来依次输入每个学生的姓名,还有输入成绩,用if条件语句判断输入的成绩是否为负数,如果是就退出整个输入函数,同时,我们还用if条件语句来判断输入的成绩处于哪个分数阶段,定义n

1、n

2、等整形变量来存储各个分数段的总人数,变量num来存放输入的学生共有多少人,变量sum是将每个学生的成绩都加在一起,最后用sum/num就等于全班该门成绩的平均分,我们用一个for循环语句,判断每个学生的成绩是否小于60分,如果是就输出他的姓名,这样就可以打印出不及格学生的名单了。同样的,用一个for循环语句,判断每个学生的成绩是否大于等于平均分,如果是就变量count+1,用来记录成绩大于或等于平均分的学生人数,同时可将成绩大于平均分的同学姓名输出,这样就打印出了成绩在大于等于平均分的学生名单了。最后是输出分数段,用前面记录各个分数段人数的n值除以总人数再乘以100%就得出比例,每一个分数段都用一句for循环语句,根据n值的大小输入对应数目的*。

程序代码:

#include #include #define M 30 struct stu { char name[20]; int score; }; stu s[M]; int i=0,num=0; int n1=0,n2=0,n3=0,n4=0,n5=0; float sum=0,ave=0; int count=0; void input(stu s[]); void getnotpass(stu s[]);

void getavg(stu s[]); void percent(stu s[]); int main() { /*stu s[M]; int i=0,num=0; int n1=0,n2=0,n3=0,n4=0,n5=0; float sum=0,ave=0;*/ input(s); getnotpass(s); getavg(s); percent(s); return 0; } void input(stu s[]) { for(i=0;i

printf("请输入第%d个学生的姓名和成绩 ",i+1);

scanf("%s%d",&s[i].name,&s[i].score);

if(s[i].score<0)

break;

if(s[i].score>=0&&s[i].score<60)

n1++;

if(s[i].score>=60&&s[i].score<70)

n2++;

if(s[i].score>=70&&s[i].score<80)

n3++;

if(s[i].score>=80&&s[i].score<90)

n4++;

if(s[i].score>90)

n5++;

num++;

sum+=s[i].score; } printf("学生信息录入完毕 "); } void getnotpass(stu s[]) { printf("不及格人数为:%d ",n1); printf("不及格人员名单如下: "); for(i=0;i

if(s[i].score>=0&&s[i].score<60)

printf("%s ",s[i].name); } printf(" "); ave=sum/num; } void getavg(stu s[]) { for(i=0;i

if(s[i].score>=ave)count++; } printf("成绩在全班平均分及平均分之上的学生人数为:%d ",count); printf("成绩在全班平均分及平均分之上的学生名单如下: "); for(i=0;i

if(s[i].score>=ave)

printf("%s ",s[i].name); } printf(" "); } void percent(stu s[]) { printf("各分数段的学生人数及所占的百分比如下: "); printf("分段 人数 图形 "); printf("<60 %d(%.0f%%) ",n1,(float)n1/(float)num*100); for(i=0;i=90 %d(%.0f%%) ",n5,(float)n5/(float)num*100); for(i=0;i

运行结果示例:

依次输入每个学生的姓名和成绩,当输入成绩为负时,便退出整个输入:

统计不及格人数还有打印不及格学生名单:

统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单:

以直方图方式统计各分数段的学生人数及所占的百分比:

心得体会:

懂得了在for循环体内用if条件判断语句判断输入的值为负值时退出循环体。用变量计数器把符合要求的计数起来,最后可以得出符合要求的值共有多少个,也懂得了用for循环从所有值里进行筛选符合条件的值出来,更懂得了在求百分比时候要强制类型转换,把int类型的计算结果给转换为float单精度类型。

实践4.函数与文件训练 题目概述:

将实践练习2 中的第2题利用函数的思想进行修改,并将学生的成绩等信息输出到文件中。要求函数参数中

包含结构体数组或指针。输出到ASCII 文件的信息包括每个学生的学号、三门成绩和名次,每人一行。

程序设计与概要:由于我的实践2中就已经用了函数,所以我只需要把学生的成绩等信息输出到文件中。用FILE *fp,fp就代表我们要对其操作的文件,用open函数,根据文件的所在位置还有文件名,打开文件,并对应要求进行只写的操作,如源代码中fp=fopen("f: st udent.txt","w"),w代表写入操作,char一个c[]数组,存放对应项的名称,用fputs函数把数组里面的字符串写入到文件里面去,用一个for循环,循环调用fprintf函数,把每个学生的学号,各科成绩和排名都写入到文件当中去,最后关闭文件即可。

程序代码:

#include #include #include #define M 30 struct student { unsigned int num; char name[10]; int grade[3]; int sum; float ave; int rank; }; student s[M]; int amount;

void input(student s[]); void title(); void list(student s[]); int save();//输出到文件中 int main() { input(s); int i=0; for(i=0;i

//要求1 计算总分 平均分

s[i].sum=s[i].grade[0]+s[i].grade[1]+s[i].grade[2];

s[i].ave=(float)s[i].sum/3; }

//要求2 按总成绩排序

int rank=1; student t; for(i=0;i

for(int j=i+1;j

{

if(s[i].sum

{

{t=s[i];

s[i]=s[j];

s[j]=t;

}

}

}

s[i].rank=rank;

rank++; } save(); //要求3 打印名次表

title(); list(s); //要求4 查询

int number; printf("请输入你要查询学生的学号: "); scanf("%d",&number); for(int i=0;i

if(number==s[i].num)

{

printf("学号 姓名 数学 英语 C语言 总分 平均分 排名 ");

printf("%u %s %d %d %d %d %5.2f %d ",s[i].num,s[i].name,s[i].grade[0],s[i].grade[1],s[i].grade[2],s[i].sum,s[i].ave,s[i].rank);

} } system("pause"); return 0; } void input(student s[]) { printf("输入班上参加期末考试的人数(不大于30人)"); scanf("%d",&amount); printf("请依次输入他们的学号,姓名,数学成绩,英语成绩和物理成绩 ");

for(int i=0;i

printf("第%d位同学的学号,姓名,数学成绩,英语成绩和物理成绩 ",i+1);

scanf("%u%s%d%d%d",&s[i].num,s[i].name,&s[i].grade[0],&s[i].grade[1],&s[i].grade[2]); } } int save() {

FILE *fp; fp=fopen("f:student.txt","w"); if(!fp) {

printf("can not open file! ");

exit(1); } char c[]="学号 数学 物理 英语 排名 "; fputs(c,fp); for(int i=0;i

fprintf(fp,"%u %d %d %d %d ",s[i].num,s[i].grade[0],s[i].grade[1],s[i].grade[2],s[i].rank); } fclose(fp); } void title() {

printf(" 学生成绩表 ");

printf("----------------------------- ");

printf("学号 姓名 数学 英语 物理 总分 平均分 排名 ");

printf("----------------------------- "); }

void list(student s[]) { int i; for(i=0;i

printf("%u %s %d %d %d %d %5.2f %d ",s[i].num,s[i].name,s[i].grade[0],s[i].grade[1],s[i].grade[2],s[i].sum,s[i].ave,s[i].rank);

printf("----------------------------- "); } }

运行结果示例:

首先输入准备录入的学生人数,然后依次输入每个学生的信息:

打印出按总成绩排序后的学生信息表,以及根据学号查询:

在f盘中找到文件并打开:

心得体会:

懂得了用如何运用文件,把向程序中输入的数据全部输出到文件中去。用FILE *fp,fp就代表我们要对其操作的文件,用open函数,根据文件的所在位置还有文件名,打开文件,并对应要求进行只写的操作,如源代码中fp=fopen("f: st udent.txt","w"),w代表写入操作,char一个c[]数组,存放对应项的名称,用fputs函数把数组里面的字符串写入到文件里面去,用一个for循环,循环调用fprintf函数,把每个学生的学号,各科成绩和排名都写入到文件当中去,最后关闭文件即可。

实践5. 实践4(1)(2) 题目概述:

每位学生信息包括:学号、姓名、性别、学院、10 门成绩。共有不超过100 位同学的信息存放在ASCII 文件StudentInfo.txt 中;不超过10 个学院的信息存放在CodeInfo.txt 中,性别代码存放在SexInfo.txt 中,均为代码和其对应的名称。要求:

1. 定义至少包含以上学生信息和学院代码的结构体类型和指针(或数组)变量。 2. 函数实现从文件中输入信息到定义的数据中。

程序设计与概要:

定义一个结构体,名为student,里面的内容有学生的学号,姓名,性别,还有那个学院,以及10门成绩,构造结构体数组,student stu[100],用于存储100名学生的信息。定义读取文件中内容的函数,FILE *fp代表文件,调用fopen函数,通过文件所在位置以及文件名打开特定的文件,r表示只对文件进行读取,接着调用fscanf函数,把第一个位置的数据赋给学生的学号,用while循环体,循环的条件是调用feof判断文件是否读取结束,如果没有则返回0,用!feof()来让没读取结束的文件继续读取,接着再把同一行后面的数据分别赋给学生的姓名,性别代码和所属学院代码,再用一个for循环,把同一行后面10个数据分别赋给学生的10门成绩。一行读取完毕后,意味着已经读取完一个学生的所有个人信息,定义一个I值来存储已经读取学生的人数,每读完一人就i+1,再读取下一行的第一个数据赋给下一个学生作为他的学号。通过while循环把文件中的全部信息读取出来赋给所有学生,函数最后返回的是读取学生的人数i。定义结构体名为sxy,用于存储性别代码和代码对应的性别,可以在后面输出的时候,把对应的性别代码转变为用中文表示性别。定义一个结构体名为scode,用于存储学院代码和代码对应的学院名称,可以在最后输出的时候,把学院代码对应的学院名称输出。再定义一个输出函数,通过for循环,从0~i-1,把i个学生的全部信息输出,所以我们在主函数里面先调用读取文件中内容的函数之后再调用输出函数即可。

程序代码:

#include #include #include int readData(char *filename,struct student *stu); int readDataxy(char *filename,struct sxy *s1); int readDataco(char *filename,struct scode *s2); void printStudent(struct student *stu,struct sxy *s1,struct scode *s2,int n,int m,int k); struct student { int id; char name[10]; int sexno; char sex[4]; int deptno; char dept[20]; int scores[10]; float ave;

}; struct sxy { int id; char sex[4]; }; struct scode { int id; char dept[20]; }; int main() { struct student stu[100]; struct sxy s1[2]; struct scode s2[10]; int n,m,k; n=readData("f:StudentInfo.txt",stu); m=readDataxy("f:SexInfo.txt",s1); k=readDataco("f:CodeInfo.txt",s2); if(n==-1||n==0)

return 0; if(m==-1||m==0)

return 0; if(k==-1||k==0)

return 0; printStudent(stu,s1,s2,n,m,k);

system("pause"); return 0; } int readData(char *filename,struct student *stu) { FILE *fp; int i=0,j; fp=fopen(filename,"r"); if(!fp) {

printf("error1");

return -1; } fscanf(fp,"%d",&stu[i].id); while(!feof(fp))//feof返回0 表示文件还没结束 返回1表示结束

{

fscanf(fp,"%s%d%d",stu[i].name,&stu[i].sexno,&stu[i].deptno);

for(j=0;j<10;++j)

fscanf(fp,"%d",&stu[i].scores[j]);

++i;

fscanf(fp,"%d",&stu[i].id); } return i; } int readDataxy(char *filename,struct sxy *s1) { FILE *fp; int i=0; fp=fopen(filename,"r"); if(!fp) {

printf("error2");

return -1; } fscanf(fp,"%d",&s1[i].id); while(!feof(fp)) {

fscanf(fp,"%s",s1[i].sex);

++i;

fscanf(fp,"%d",&s1[i].id); } return i; } int readDataco(char *filename,struct scode *s2) { FILE *fp; int i=0; fp=fopen(filename,"r"); if(!fp) {

printf("error3");

return -1; } fscanf(fp,"%d",&s2[i].id); while(!feof(fp)) {

fscanf(fp,"%s",s2[i].dept);

++i;

fscanf(fp,"%d",&s2[i].id); }

return i; } void printStudent(struct student *stu,struct sxy *s1,struct scode *s2,int n,int m,int k) { int i,j; printf(" 学生信息统计 "); for(i=0;i

for(j=0;j

{

if(stu[i].sexno==s1[j].id)

{

strcpy(stu[i].sex,s1[j].sex);

}

} } for(i=0;i

for(j=0;j

{

if(stu[i].deptno==s2[j].id)

{

strcpy(stu[i].dept,s2[j].dept);

}

} } for(i=0;i

printf("%d%8s%4s%12s",stu[i].id,stu[i].name,stu[i].sex,stu[i].dept);

for(j=0;j<10;++j)

printf("%4d",stu[i].scores[j]);

printf(" "); } }

运行结果示例:

心得体会:

懂得了从文件中输入信息到定义的数据中。就是要先构造与文件信息中相对应的结构体数组,然后用打开文件,需要知道文件的具体位置还有文件名,”r”就是表示只采取读取操作,用while循环,循环条件的判断标准就是用feof来判断文件是否读取到文件尾部,用fscanf把每个数据赋给对应的变量。其中最难解决的就是一开始学生文件里面的信息,学生性别用代号表示,学生所在学院也用代码显示,这样一来我们把文件中的信息赋给定义好的结构体

数组之后,用for循环把结构体数组一个一个输出后,显示的是性别代码和学院代码,我们要把代码都改为相对应的值,所以我们同样定义性别的结构体数组,学院的结构体数据,之后用for循环把性别数组里面的代号和学生数组中的性别代码想比较,用strcpy函数,相同的就把代码对应的性别赋给学生数组里面定义好的性别字符数组。同理的,学院代码相对同的就把代码对应的学院名称赋给学生数组里面定义好的学院字符数组。

实践6.实践4(3)(4)(5) 题目概述:

每位学生信息包括:学号、姓名、性别、学院、10 门成绩。共有不超过100 位同学的信息存放在ASCII 文件StudentInfo.txt 中;不超过10 个学院的信息存放在CodeInfo.txt 中,性别代码存放在SexInfo.txt 中,均为代码和其对应的名称。要求:

3. 函数实现排序(1):学生平均成绩的降序排序,并输出所有信息到显示屏。 4. 函数实现排序(2):学生姓名的升序排序,并输出所有信息到显示器。

5. 函数实现查询(1):根据学号查询学生信息,并输出该生信息,并输出所有信息到显示器。

程序设计与概要:

同上个实践一样构造结构体名为student,用来存储学生的信息,如学生姓名,性别代号,学号,学院代号和成绩等。构造结构体名为sxy用来存储性别代号和性别名称,构造结构体名为scode用来存储学院代号和学院名称。用三个不同的函数来实现读取三个不同文件中的内容,把文件里面的内容放到以上构造的三个结构体里面去,定义输出函数,用for循环把每个学生的性别代号同sxy结构体数组中的代号对应,把代号对应的性别名称赋给每个学生的性别sex属性值中,把每个学生的学院代号同scode结构体数组中的代号对应,把代号对应的学院名称赋给每个学生的学院sdept属性值中,最后再用一个for循环把从第一个学生到最后一个学生的全部信息输出。实现要求3中的根据学生平均成绩的降序排序,要求在从文件中读取成绩之后要计算出总分然后再除以10门成绩得出平均分,然后定义一个函数,用双重for循环,把第一个学生同其他学生比较平均分,如果比下一个同学的平均分低就交换两个的位置,否则就继续与下一个同学比较,直到第一层的for循环结束退出为止。再用for循环把排序后的学生信息从第一位到最后一位输出即可。实现要求4中的根据学生姓名的升序排序,要求也是用双重for循环,用函数strcmp比较两个学生的姓名,把第一个学生的姓名同下一个同学比较,如何比下一个同学大,就交两个学生的位置,否则就继续与下一个同学比较,直到第二层的for循环结束,意味一个同学的位置确定,继续第一层for循环的下一个同学,直到第一个层的for循环结束,就意味所有同学比较完毕,再用for循环语句把从第一个位置的同学到最后一个位置的同学,把他们的信息输出。实现要求5的查询要求,需要我们从键盘上输入要查询的学生的学号,然后用for循环从我们的学生结构体数组中遍历一遍,如果有找到学号同输入的学号相同的学生,便把他的所有信息输出,否则则输出不存在该名学生。

程序代码:

#include #include #include int readData(char *filename,struct student *stu); int readDataxy(char *filename,struct sxy *s1); int readDataco(char *filename,struct scode *s2); void printStudent(struct student *stu,struct sxy *s1,struct scode *s2,int n,int m,int k); void search(struct student *stu,int n); void sortbyname(struct student *stu,int n); void sortbyave(struct student *stu,int n); struct student

{ int id; char name[10]; int sexno; char sex[4]; int deptno; char dept[20]; int scores[10]; double ave; }; struct sxy { int id; char sex[4]; }; struct scode { int id; char dept[20]; }; int main() { struct student stu[100]; struct sxy s1[2]; struct scode s2[10]; int n,m,k,b; while(1) {

system("cls");

printf("1.显示学生信息 ");

printf("2.姓名升序排序 ");

printf("3.平均成绩降序 ");

printf("4.学号查询学生信息 ");

printf("0.退出 ");

printf(" 输入需要查询的序号:");

scanf_s("%d",&b);

switch(b)

{

case 1:

n=readData("f:StudentInfo.txt",stu);

m=readDataxy("f:SexInfo.txt",s1);

k=readDataco("f:CodeInfo.txt",s2);

if(n==-1||n==0)

return 0;

if(m==-1||m==0)

return 0;

if(k==-1||k==0)

return 0;

printStudent(stu,s1,s2,n,m,k);

break;

case 2:

sortbyname(stu,n);

break;

case 3:

printf("按平均成绩降序排序如下:");

sortbyave(stu,n);

printStudent(stu,s1,s2,n,m,k);

break;

case 4:

search(stu,n);

break;

case 0:

return 0;

} system("pause"); } system("pause"); return 0; } int readData(char *filename,struct student *stu) { FILE *fp; int i=0,j; double sum; fp=fopen(filename,"r"); if(!fp) {

printf("error");

return -1; } fscanf(fp,"%d",&stu[i].id); while(!feof(fp))//feof返回0 表示文件还没结束 返回1表示结束

{

fscanf(fp,"%s%d%d",stu[i].name,&stu[i].sexno,&stu[i].deptno);

for(j=0;j<10;++j)

{

fscanf(fp,"%d",&stu[i].scores[j]);

sum=stu[i].scores[j];

}

stu[i].ave=sum/10;

++i;

fscanf(fp,"%d",&stu[i].id); } return i; } int readDataxy(char *filename,struct sxy *s1) { FILE *fp; int i=0; fp=fopen(filename,"r"); if(!fp) {

printf("error2");

return -1; } fscanf(fp,"%d",&s1[i].id); while(!feof(fp)) {

fscanf(fp,"%s",s1[i].sex);

++i;

fscanf(fp,"%d",&s1[i].id); } return i; } int readDataco(char *filename,struct scode *s2) { FILE *fp; int i=0; fp=fopen(filename,"r"); if(!fp) {

printf("error3");

return -1; } fscanf(fp,"%d",&s2[i].id); while(!feof(fp)) {

fscanf(fp,"%s",s2[i].dept);

++i;

fscanf(fp,"%d",&s2[i].id); } return i;

} void printStudent(struct student *stu,struct sxy *s1,struct scode *s2,int n,int m,int k) { int i,j; printf(" 学生信息统计 "); for(i=0;i

for(j=0;j

{

if(stu[i].sexno==s1[j].id)

{

strcpy(stu[i].sex,s1[j].sex);

}

} } for(i=0;i

for(j=0;j

{

if(stu[i].deptno==s2[j].id)

{

strcpy(stu[i].dept,s2[j].dept);

}

} } for(i=0;i

printf("%d%8s%4s%12s",stu[i].id,stu[i].name,stu[i].sex,stu[i].dept);

for(j=0;j<10;++j)

printf("%4d",stu[i].scores[j]);

printf(" "); } } void search(struct student *stu,int n) { int m,col=0; printf("请输入你要查询学生的学号: "); scanf("%d",&m); for(int i=0;i

if(stu[i].id==m)

{

col=1;

printf("%d%8s%4s%12s",stu[i].id,stu[i].name,stu[i].sex,stu[i].dept);

for(int j=0;j<10;++j)

{

printf("%4d",stu[i].scores[j]);

}

} } if(col==0) printf("不存在该名学生信息 "); } void sortbyname(struct student *stu,int n) { student temp; for(int i=0;i

for(int j=0;j

{

if(strcmp(stu[i].name,stu[j].name)>0)

{

temp=stu[i];

stu[i]=stu[j];

stu[j]=temp;

}

} } printf("按姓名的升序排序如下! "); for(int i=0;i

printf("%8d%8s%4s%12s",stu[i].id,stu[i].name,stu[i].sex,stu[i].dept);

for(int j=0;j<10;++j)

{

printf("%4d",stu[i].scores[j]);

}

printf(" "); } } void sortbyave(struct student *stu,int n) { int i,j,flag; student s; for (j=0;j

flag=0;

for (i=0;i

{

if (stu[i].ave

{

s=stu[i];

stu[i]=stu[i+1];

stu[i+1]=s;

flag=1;

}

}

if(flag==0) break; } }

运行结果示例: 开始的菜单界面:

输入1便会显示文件中所有学生的信息:

输入2便会实现学生姓名升序排序,且把排序后的学生所有信息输出:

输入3便会实现学生平均成绩降序排序,且把排序后的学生所有信息输出:

输入4便会实现根据学号查询学生信息:

心得体会:

懂得了运用双重for循环比较全体成员,如题目中所要求的姓名升序排序还有平均成绩降序,比较平均成绩可以用值的大小进行比较,但是比较姓名的大小就要用strcmp函数进行比较,如果有需要交换位置的,就定义一个同类型的中间值,作为交换的协助者,帮助完成两个值的交换,完成整个过程之后,把交换完成后的全体成员从头到尾用for循环输出即可。

参考文献:

上一篇:心理课范文下一篇:美育工作计划范文