计算机上机报告
- 格式:doc
- 大小:215.50 KB
- 文档页数:15
计算机上机教学工作总结在过去的一个学期里,我担任了计算机上机教学的工作。
通过这次经历,我学到了很多关于教学和学生的方方面面。
在这篇总结中,我将回顾我的工作经历,并提出一些建议来改进将来的教学工作。
其次,我在上机课堂上注重与学生的互动。
我发现,以学生为中心的教学方法对于他们的学习效果非常有益。
因此,在上机课堂上,我鼓励学生们提问、讨论和合作解决问题。
我采用了小组讨论和小组编程的方法,让学生们互相学习和支持。
我也经常在课堂上给予学生实时的反馈和指导,帮助他们更好地理解和解决问题。
这些互动的教学方法增加了学生们的参与度和热情,并且他们的学习成果也得到了进一步的提升。
除此之外,我还注意到学生参与度的问题。
尽管我鼓励学生积极参与课堂讨论,但也有些学生不愿意发言。
为了解决这个问题,我尝试了一些策略。
首先,我提供了一个匿名提问的方式,让学生可以通过纸条或在线问答工具提出问题而不必亲自发言。
这个举措让学生们更加放松,并开始积极参与讨论。
其次,我鼓励学生提出自己的想法和解决问题的方法。
我相信每个学生都有自己独特的思维方式,他们的贡献对整个课堂的学习氛围非常重要。
最后,我还需要提到我在学生评估方面的努力。
除了正式的考试和作业外,我还鼓励学生们积极参加一些实践性的项目作为评估方式。
这些项目允许学生动手实践他们所学的知识,并展示他们的创造力和思维能力。
通过这些项目,我能更好地了解每个学生的学习进度和需求,并提供个性化的指导。
综上所述,我的计算机上机教学工作得到了学生们的积极响应和良好的评价。
通过我的努力,学生们在课程中的学习效果得到了提高,并且他们的参与度和积极性也得到了增加。
然而,我也认识到还有一些方面需要改进。
例如,我可以尝试更多的互动教学方法,以激发学生的学习兴趣和动力。
我还可以提供更多的个性化指导来满足不同学生的需求。
继续改进和加强计算机上机教学工作将是我下一个学期的重要目标。
计算机上机报告一、实验题目计算机操作系统的基本操作二、实验目的通过本次实验,掌握计算机操作系统的基本操作,包括文件管理、进程管理和系统设置等。
三、实验环境操作系统:Windows 10软件:Visual Studio Code、命令提示符四、实验步骤一、文件管理1. 创建文件夹在桌面上右键单击鼠标,在弹出菜单中选择“新建文件夹”,创建一个名为“实验1”的文件夹。
2. 创建文件在实验1文件夹中右键单击鼠标,在弹出菜单中选择“新建文本文档”,创建一个名为“test.txt”的文件。
打开该文件,在其中输入任意内容,保存并关闭。
3. 复制、移动和删除文件右键单击“test.txt”文件,在弹出菜单中选择“复制”,然后右键单击实验1文件夹,在弹出菜单中选择“粘贴”,将该文件复制到实验1文件夹中。
右键单击“test.txt”文件,在弹出菜单中选择“移动到”,将该文件移动到桌面上。
右键单击“test.txt”文件,在弹出菜单中选择“删除”,将该文件删除。
二、进程管理1. 打开任务管理器按下“Ctrl+Shift+Esc”键,或者右键单击任务栏并选择“任务管理器”,打开任务管理器。
2. 查看进程在任务管理器中选择“进程”选项卡,查看当前运行的所有进程。
3. 结束进程选择一个不重要的进程,右键单击它,在弹出菜单中选择“结束任务”,结束该进程。
三、系统设置1. 更改用户名在桌面上右键单击鼠标,在弹出菜单中选择“个性化”,然后选择“主题”选项卡。
在该选项卡中找到“相关设置”,点击“更改账户设置”。
在弹出的窗口中,点击“更改账户类型”,将该用户更改为管理员。
2. 更改计算机名称在桌面上右键单击鼠标,选择“系统”,在弹出的窗口中选择“关于”,找到“计算机名称、域和工作组设置”,点击“更改设置”,将计算机名称更改为任意名称。
五、实验总结通过本次实验,我掌握了计算机操作系统的基本操作,包括文件管理、进程管理和系统设置等。
通过实践,我发现操作系统作为计算机硬件的管理者,它的重要性不言而喻。
计算机操作系统(cāo zuò xì tǒnɡ)上机实验报告
云南师范大学信息(xìnxī)学院
实验报告
学号:134100010姓名:姜兴玲班级:计科13A 课程名称:操作系统实验名称:存储管理
实验性质:①综合性实验②设计性实验③验证性实验试验时间:2015年5月5日试验地点:睿智4栋212
本试验所用的设备:计算机一台
实验目的
了解计算机的存储并学会管理。
实验内容及过程:
1.右键单击工具栏,打开任务管理器查看性能来了解CPU
使用和页面文件使用。
2、单击开始设置控制面板系统
单击高级然后选择性能的设置来设置系统、管理系统
3、性能和维护打开控制面板切换到分类视图,选择性能和维护来进行操作。
小结:
通过对控制面板的熟悉我们能更好的了解计算机并且能对存储管理更好的了解和学习!
任课教师评语
教师签字: 年月日
注:每学期至少一次设计性实验。
每学期结束请任课教师按时按量统一(tǒngyī)交到教学秘书处
内容总结
(1)计算机操作系统上机实验报告。
上机实习报告在计算机编程的上机实习中,我选择了学习Python语言。
通过这次实习,我对Python语言有了更深入的了解,掌握了一些基本语法和常用库函数,同时也提高了自己的编程能力和解决问题的能力。
在实习过程中,我首先学习了Python的基本语法,包括变量、数据类型、运算符、条件语句和循环语句等。
通过编写一些简单的程序,我逐渐熟悉了这些语法,并能够运用它们解决一些实际问题。
例如,我编写了一个计算器程序,可以进行加、减、乘、除等运算,同时还可以判断用户输入的运算符号是否合法。
在掌握了基本语法之后,我开始学习Python的常用库函数。
这些库函数涵盖了数据分析、文件操作、网络编程等多个方面,为编程提供了很大的便利。
通过学习这些库函数,我能够更加高效地处理数据和文件,实现网络通信等功能。
例如,我使用Python的pandas库进行数据分析,处理了一个包含数万条记录的csv文件,从中提取出了所需的信息,并进行了统计和分析。
在上机实习的过程中,我还完成了一些实际的编程项目。
这些项目不仅巩固了我所学的知识,还锻炼了我的解决问题的能力。
例如,我编写了一个简单的博客系统,实现了文章的增删改查功能,同时支持Markdown语法。
在开发过程中,我遇到了一些技术难题,通过查阅资料和尝试不同的解决方案,最终成功地解决了这些问题。
除了以上所述的内容,我还参加了一些小组讨论和分享,学习了其他同学的优秀编程实践和经验。
通过这些讨论和分享,我不仅拓宽了自己的视野,还提高了自己的团队合作能力。
总的来说,这次计算机编程的上机实习让我受益匪浅。
通过学习Python语言的基本语法和常用库函数,我掌握了编程的基本技能,能够更好地解决实际问题。
同时,通过完成实际项目和参加小组讨论,我提高了自己的编程能力和团队合作能力。
我相信这次实习对我的未来学习和职业发展都将产生积极的影响。
一、实习背景随着计算机技术的不断发展,数据库技术已经成为现代信息技术中不可或缺的一部分。
为了使我对数据库技术有更深入的了解,提高我的实际操作能力,我参加了本次数据库上机实习。
本次实习主要基于SQL Server数据库管理系统,通过实际操作,使我掌握了数据库的基本概念、设计方法以及SQL语言的使用。
二、实习目的1. 熟悉数据库管理系统的基本操作,包括数据库的创建、修改、删除等。
2. 掌握数据库设计的基本方法,包括实体-联系模型、关系模型等。
3. 学会使用SQL语言进行数据库的查询、插入、删除、更新等操作。
4. 提高数据库的实际应用能力,为今后的工作打下基础。
三、实习内容1. 数据库管理系统简介数据库管理系统(Database Management System,简称DBMS)是一种软件系统,用于管理数据库中的数据。
常见的数据库管理系统有SQL Server、MySQL、Oracle 等。
本实习主要使用SQL Server数据库管理系统。
2. 数据库设计数据库设计是数据库应用开发过程中的重要环节,主要包括以下步骤:(1)需求分析:了解用户对数据库的需求,包括数据类型、数据量、数据之间的关系等。
(2)概念设计:根据需求分析结果,设计实体-联系模型,描述实体及其之间的关系。
(3)逻辑设计:将概念设计转换为关系模型,确定表结构、字段类型、约束等。
(4)物理设计:根据逻辑设计结果,确定数据库的存储结构,如索引、分区等。
3. 数据库操作(1)创建数据库:使用CREATE DATABASE语句创建数据库。
(2)修改数据库:使用ALTER DATABASE语句修改数据库。
(3)删除数据库:使用DROP DATABASE语句删除数据库。
(4)创建表:使用CREATE TABLE语句创建表。
(5)修改表:使用ALTER TABLE语句修改表。
(6)删除表:使用DROP TABLE语句删除表。
(7)插入数据:使用INSERT INTO语句插入数据。
最新上机实验报告二实验目的:1. 熟悉计算机上机操作环境,掌握基本的软件使用技巧。
2. 学习并实践编程基础,增强逻辑思维和问题解决能力。
3. 通过实验加深对理论知识的理解,提高实验操作技能。
实验内容:1. 环境搭建:安装并配置必要的编程软件,如IDE、版本控制系统等。
2. 基础编程:完成一系列编程练习,包括数据类型、控制结构、循环、函数等。
3. 算法实现:编写程序解决具体问题,如排序算法、查找算法等。
4. 调试与优化:学习调试技巧,优化代码性能,提高程序运行效率。
5. 版本控制:学习使用版本控制系统,如Git,进行代码管理和协作开发。
实验步骤:1. 在指导老师的帮助下,完成实验环境的搭建和配置。
2. 按照实验指导书的要求,逐步完成基础编程练习。
3. 分析并选择合适的算法解决给定问题,编写代码实现。
4. 利用调试工具进行代码调试,修正发现的错误和不足。
5. 学习并实践版本控制的基本概念和操作,进行代码的提交、更新和合并。
实验结果:1. 成功搭建了实验所需的软件环境,并熟悉了各个工具的基本操作。
2. 完成了所有基础编程练习,并通过测试,代码逻辑清晰,运行无误。
3. 实现了排序和查找算法,并通过案例验证了算法的正确性和效率。
4. 通过调试,优化了代码结构和性能,提升了程序的运行速度。
5. 掌握了版本控制的基本概念,能够进行基本的代码管理和协作。
实验总结:通过本次上机实验,我不仅巩固了编程基础知识,还提高了解决实际问题的能力。
在实验过程中,我学会了如何有效地使用调试工具和版本控制系统,这些技能对于未来的编程学习和软件开发都具有重要意义。
同时,我也认识到了编写可读性强、可维护性高的代码的重要性。
在未来的学习中,我将继续提高我的编程技能,并更加注重代码质量。
中职计算机上机实验报告实验题目:用户登录验证系统设计与实现实验目的:1. 熟练掌握使用Python编程语言实现用户登录验证系统的方法;2.熟悉计算机网络与数据库的基本知识;3.掌握计算机系统设计与实现的方法。
实验内容:本实验通过使用Python编程语言设计并实现一个用户登录验证系统。
该系统可以接收用户输入的用户名和密码,并将其与数据库中存储的信息进行匹配验证。
验证成功则显示登录成功信息,验证失败则显示登录失败信息。
实验步骤:1. 创建数据库表格:创建一个名为“user_info”的表格,包含“username”和“password”两个字段。
将用户的用户名和密码分别存储在这两个字段中。
2. 编写登录验证系统的代码:首先,导入pymysql库,连接数据库。
然后,通过input函数接收用户输入的用户名和密码。
接着,利用SQL语句查询数据库表格,判断输入的用户名和密码是否与数据库中保存的信息匹配。
最后,根据匹配结果输出相应的登录验证信息。
3. 运行代码:在Python编程环境中运行代码,输入用户名和密码进行登录验证。
实验结果及分析:通过以上步骤,成功实现了用户登录验证系统。
当用户输入正确的用户名和密码时,系统会显示登录成功的信息。
当用户输入错误的用户名或密码时,系统会显示登录失败的信息。
实验总结:通过本次实验,我掌握了使用Python编程语言设计并实现一个用户登录验证系统的方法。
同时,我进一步熟悉了计算机网络与数据库的基本知识,学会了使用Python连接数据库、查询数据表和执行SQL语句等操作。
这对我今后在计算机领域的学习和工作都具有重要意义。
同时,通过设计和实现一个完整的计算机系统,我深刻体会到了计算机科学中的系统设计思维和实践能力的重要性。
这为我今后更好地学习和掌握计算机系统设计和开发提供了基础。
计算机上机实验报告总结写计算机系统上机实验报告 实验室简介实验室简介: :安徽大学电子信息系统与自动化创新实验室创立于xx 年3月,位于安徽大学新校区北实验楼a518.a518.实验室建立旨在探索并建立以问题实验室建立旨在探索并建立以问题和课题为核心的教学模式和课题为核心的教学模式,,倡导以本科生为主的创新性实验改革倡导以本科生为主的创新性实验改革,,调动学生的主动性、积极性和创造性积极性和创造性,,激发学生的创新性思维激发学生的创新性思维..培养学生的创新意识的创新意识,,使学生学会主动的解决问题使学生学会主动的解决问题. .安徽大学电子科学与技术学院充分发挥电子信息系统与自动化创新实验室的优势新实验室的优势,,分别建立以创新实验室为中心的电子设计大赛训练基地和机器人大赛训练基地基地和机器人大赛训练基地. .实验室的创新不仅仅是实验方面的创新实验室的创新不仅仅是实验方面的创新,,而是多方面的创新而是多方面的创新,,概括来说有三点创新来说有三点创新: :一、观念创新一、观念创新打破以往教学模式打破以往教学模式,,创新地提出以学生为主体创新地提出以学生为主体,,教师辅导为辅的教学模式学模式..学校为部分学有余力的学生提供进行创新性实验的机会学校为部分学有余力的学生提供进行创新性实验的机会,,旨在通过少数带动多数在通过少数带动多数,,从而带动整个学院乃至整个工科学院的创新氛围.二、制度创新二、制度创新以学生助理为主体的管理模式是实验室管理的一大特点以学生助理为主体的管理模式是实验室管理的一大特点..学生助理分为日常管理助理、材料管理助理和仪器管理助理理分为日常管理助理、材料管理助理和仪器管理助理..学生助理自主管理管理,,相互协作相互协作,,成为一支具有团结创新特色的管理队伍成为一支具有团结创新特色的管理队伍. .三、过程创新三、过程创新经过被批准立项的小组就可以进入实验室进行项目的探索研究经过被批准立项的小组就可以进入实验室进行项目的探索研究..在这个过程中在这个过程中,,学生助理通过调查了解各组所遇到的技术问题、材料问题和仪器工具问题问题和仪器工具问题..然后助理们在一起讨论然后助理们在一起讨论,,提出解决问题的方案提出解决问题的方案..如:技术问题我们邀请相关老师过来讲课;材料问题我们网上订购或者亲自采购;仪器工具问题我们根据实际需求向设备处提出申请领取.实验室建设过程和开展的项目实验室建设过程和开展的项目: :1. xx 年8月开始筹建月开始筹建. .2. xx 年3月建成月建成. .3. xx 年3月份第一批47个创新项目正式开展个创新项目正式开展,,其中31个项目成功结题功结题. .4. xx 年暑假30个机器人制作小组的项目成功参加安徽大学机器人剧场赛人剧场赛. .5. xx 年暑假100多人参加电子设计大赛培训多人参加电子设计大赛培训,30,30人参加电子设计大赛大赛,,并有2组获得省级二等奖组获得省级二等奖,2,2组获得省级三等奖组获得省级三等奖. .6. xx 年9月第二批45个创新项目正式开展个创新项目正式开展. .7. xx 年5月第三批创新项目选拔工作开始月第三批创新项目选拔工作开始. .实验室组织结构和日常运作实验室组织结构和日常运作: :1. 电子系统与自动化创新实验室是一个对本科生研究小组完全开放的场所是在电子科学与技术学院领导下是在电子科学与技术学院领导下,,由相关指导教师指导本科学生自主选题、设计、制造本科学生自主选题、设计、制造. .2. 实验室制定了符合自身特点的管理和程序实验室制定了符合自身特点的管理和程序,,以保证项目平稳、顺利、有效持续的进行顺利、有效持续的进行. .3. 实验室的日常管理由选出来的学生助理负责实验室的日常管理由选出来的学生助理负责. .4. 每个研究小组都有学校和学院提供的经费支持每个研究小组都有学校和学院提供的经费支持. .5. 创新实验室按照学生助理值日表按时开放创新实验室按照学生助理值日表按时开放. .实验室条件实验室条件: :1. 实验室面积实验室面积:4:4个主实验室(个主实验室(12001200平方米)平方米)2. 现有设备和仪器现有设备和仪器::新购置仪器191台套;价值64.711万元万元3. 转移旧仪器213台套台套4. 实验室设有自动视频监控管理和24路宽带装置路宽带装置. .5. 覆盖全面的创新活动技术和手段覆盖全面的创新活动技术和手段::数十套计算机辅助设计系统、20套通用电子测试系统、10套单片机开发系统、数套dsp 开发系统、虚拟仪器和高精度测量仪器、虚拟仪器和高精度测量仪器、pcb pcb 制板及smt 工艺手段工艺手段. .6. 一批有实际经验和专业的教师(教授、副教授、博士等)直接参与指导研究小组的研究参与指导研究小组的研究,,构成多学科专业支撑的师资力量构成多学科专业支撑的师资力量. .实验室项目的实施方向实验室项目的实施方向: :实验室建立旨在探索并建立以问题和课题为核心的教学模式实验室建立旨在探索并建立以问题和课题为核心的教学模式,,倡导以本科生为主的创新性实验改革导以本科生为主的创新性实验改革,,调动学生的主动性、积极性和创造性造性,,激发学生的创新性思维激发学生的创新性思维..培养学生的创新意识培养学生的创新意识,,使学生学会主动的解决问题的解决问题..考虑到我们学校和学院的实际情况考虑到我们学校和学院的实际情况,,实验室的项目实施方向分为基础项目研究和创新性项目研究方向分为基础项目研究和创新性项目研究. .基础项目研究基础项目研究::主要面向低年级的学生主要面向低年级的学生..这部分学生由于专业知识涉及比较少涉及比较少,,动手能力比较差动手能力比较差..实验室根据实际情况引导这部分学生从基础项目开始研究从基础项目开始研究,,在这个过程中重在培养低年级的动手能力在这个过程中重在培养低年级的动手能力,,逐步激发创新性思维步激发创新性思维. .创新性项目研究创新性项目研究::主要面向动手能力较强的学生主要面向动手能力较强的学生..上一批成功结题的同学和经过电子设计和机器人大赛的同学可以申请创新性项目研究在这个过程中重在培养学生的创新性思维在这个过程中重在培养学生的创新性思维. .实验室发展计划实验室发展计划: :伴随着两批创新项目的开展伴随着两批创新项目的开展,,实验室的发展正日益走向正轨实验室的发展正日益走向正轨..目前实验室日常管理井井有条实验室日常管理井井有条,,采购迅速、材料信息齐全采购迅速、材料信息齐全,,仪器设备齐全仪器设备齐全..机遇总是垂青与有准备的人机遇总是垂青与有准备的人,,趁着实验室良好的发展势头趁着实验室良好的发展势头,,实验室特制定以下发展制定以下发展: :l 实验室的旨在探索并建立以问题和课题为核心的教学模式实验室的旨在探索并建立以问题和课题为核心的教学模式,,倡导以本科生为主的创新性实验改革导以本科生为主的创新性实验改革,,调动学生的主动性、积极性和创造性造性,,激发学生的创新性思维激发学生的创新性思维..培养学生的创新意识培养学生的创新意识,,使学生学会主动的解决问题的解决问题. .l 对申请的组实验室应该加以引导对申请的组实验室应该加以引导,,并开展相关培训这个过程主要由实验室主任监督要由实验室主任监督,,学生助理负责学生助理负责..在这个过程的同时在这个过程的同时,,我们对每组提出要求提出要求,,根据每组在培训期间的表现决定是否予以批准其项目根据每组在培训期间的表现决定是否予以批准其项目. .l 实验室应严格要求各组按实验室制定的项目结题标准结题实验室应严格要求各组按实验室制定的项目结题标准结题..实验室应组织相关人员对要结题的组进行答辩验室应组织相关人员对要结题的组进行答辩..对答辩通过的小组颁发相关荣誉证书相关荣誉证书. .l 实验室的学生助理选拔应抓好电子信息系统与自动化创新实验室的学生助理首先应该具有较强的动手能力验室的学生助理首先应该具有较强的动手能力,,这是硬件条件这是硬件条件..也是以后从事实验室工作的必要条件以后从事实验室工作的必要条件,,其次要有敢于奉献、勇于吃苦的精神,有责任感有责任感. .l 实验室的创新应先立足于实验室内的创新实验室的创新应先立足于实验室内的创新,,只有立足于实验室内,才能正确的把握我们学校和我们学院的实际情况才能正确的把握我们学校和我们学院的实际情况,,只有立足于实验室内的创新才能不断的夯实基础验室内的创新才能不断的夯实基础,,提高创新原动力提高创新原动力,,实验室才能朝着美好的未来又好又快的发展着美好的未来又好又快的发展. .内容仅供参考内容仅供参考。
实验一线性链表的操作一、实验目的和要求:1 加深理解线性链表的存储结构,线性链表的指针是逻辑关系的映像;2 掌握动态生成链表的方法;3 掌握单链表的插入、删除结点操作。
实验要求:按实验内容的要求,编写程序;提交实验报告;二、实验环境:计算机操作系统windows xp编程工具TURBO C 2.0三、实验内容:设计算法,实现动态创建线性链表,实现线性链表的动态插入、删除结点。
具体要求:1 由用户输入10个数,动态创建线性链表;2 在用户指定的第i个位置上,插入一个结点,数据域为用户输入的一个整数,输出操作后的链表;3 动态删除用户指定的第i个结点,输出操作后的链表;编程提示:用一结构体存储一个结点(包括数据域和指针域);创建、插入、删除都可定义一个函数实现,创建链表可看作在头结点插入一个新结点,创建可调用插入函数实现;编写用户菜单;参考C语言课本指针部分和结构体部分。
四、源程序#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct LNode{int data;struct LNode *next;}LNode,*LinkList;void init(LinkList &L); //初始化链表函数void input(LinkList &L); //建立链表函数void insert(LinkList &L); //插入函数void delet(LinkList &L); //删除函数int main(){LinkList L; //头结点input(L);insert(L);delet(L);return 0;}void init(LinkList &L){ L=(struct LNode *)malloc(sizeof(struct LNode)); if(!L){ printf("申请内存失败!");exit(0);}L->next=NULL;}void input(LinkList &L){LinkList p,q;int i;q=L; printf("输入:\n");for(i=1;i<=10;i++){p=(struct LNode *)malloc(sizeof(struct LNode)); if(!p){printf("申请内存失败!");exit(0);}scanf("%d",&p->data);q->next=p;p->next=NULL;q=p;}p=L->next;while(p){printf("%d ",p->data);p=p->next;}printf("\n");}void insert(LinkList &L){int i;int e;LinkList p,s;printf("输入插入结点的位置数据:\n");scanf("%d%d",&i,&e);p=L;j=0;while(p&&j<i-1) {p=p->next;j++;} //查找结点if(!p||j>i-1) exit(0);s=(struct LNode *)malloc(sizeof(struct LNode)); if(!s){printf("申请内存失败!");exit(0);}s->data=e;s->next=p->next;p->next=s;p=L->next;while(p){printf("%d ",p->data);p=p->next;}printf("\n");}void delet(LinkList &L){int i; int j;LinkList p,q;printf("输入删除结点的位置:\n");scanf("%d",&i);p=L;j=0;while(p->next&&j<i-1){p=p->next;j++;}if(!(p->next)||j>i-1) exit(0);q=p->next;p->next=q->next;free(q);p=L->next;while(p){printf("%d ",p->data);p=p->next; }printf("\n");}实验二二叉树实验一、实验目的和要求:实验目的:掌握二叉树的链式存储结构,通过二叉树的建立及遍历操作了解递归的本质和方法。
实验要求:按实验内容的要求,编写程序;提交实验报告;二、实验环境:计算机操作系统Windows xp编程工具TURBO C 2.0三、实验内容:1. 采用二叉链表作为存储结构,基于二叉树的先序序列建立如下二叉树。
建立时输入数据:1 2 0 0 3 4 6 0 0 0 5 0 02.完成二叉树的前序序列﹑中序序列﹑后序序列遍历。
先序:1 2 3 4 6 5中序:2 1 6 4 3 5后序:2 6 4 5 3 1四、源程序#define NULL 0#include "stdio.h"#include "stdlib.h"//二叉链表结点定义struct tree{int data;struct tree *lchild;struct tree *rchild;};// 先序建立二叉树struct tree *create(struct tree *BT,int k){ struct tree *p;int x;p=(struct tree *)malloc(sizeof(struct tree));printf("输入结点的整数值(0表示空): ");scanf("%d",&x);if(x!=0){ if(!(p=(struct tree *)malloc(sizeof(struct tree)))) exit(0); //生成主根或子树根p->data=x;p->lchild=NULL;p->rchild=NULL;if(k==0)BT=p;if(k==1)BT->lchild=p;if(k==2)BT->rchild=p;create(p,1);//建立左子树create(p,2);//建立右子树}return(BT);}}// 先序遍历void DLR(struct tree *BT){ if(BT!=NULL){ printf(" %d ",BT->data);DLR(BT->lchild);DLR(BT->rchild);}}void LDR(struct tree *BT){ if(BT!=NULL){ LDR(BT->lchild);printf(" %d",BT->data);LDR(BT->rchild);}}void LRD(struct tree *BT){if(BT!=NULL){ LRD(BT->lchild);LRD(BT->rchild);printf(" %d",BT->data);}}void main(){ struct tree *p;p=(struct tree *)malloc(sizeof(struct tree));p=create(p,0);DLR(p);printf("\n");LDR(p);printf("\n");LRD(p);printf("\n");}实验三查找与排序一、实验目的和要求:掌握运用数据结构两种基本运算查找和排序,并能通过其能解决应用问题。
实验要求:1.认真阅读和掌握本实验的算法。
2.上机将本算法实现。
3.观察程序的运行结果,并结合程序进行分析。
4. 按实验内容的要求,编写程序;提交实验报告;二、实验环境:计算机操作系统Wndows XP编程工具TURBO C 2.0三、实验内容(一):1. 屏幕提示用户任意输入10个整数,组成一个待排序序列。
2. 使用任意两种排序算法对序列进行排序,输出每趟排序的结果。
3. 使用折半查找法查找序列中的值,查找内容由系统提示用户输入,输出查找位置。
三、实验内容(二):为宿舍管理人员编写一个宿舍管理查询软件,程序采用交互工作方式,其流程如下:开始,建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、快速等任选一种)查询菜单:(用二分查找实现以下操作)1.按姓名查询2.按学号查询3.按房号查询打印任一查询结果(可以连续操作)四、源程序1.(1)#include "stdio.h"#include "string.h"int search (int b[],int key,int n) {int high,mid,low,rs=0;low=1;high=n;while(low<=high){mid=(low+high)/2;if(key<b[mid])high=mid-1;elseif(key>b[mid])low=mid+1;else{rs=mid;break;}}return(rs);}void selectsort(int r[],int n) {int i,j,k,temp,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(r[j]<r[k])k=j;if(k!=i){temp=r[i];r[i]=r[k];r[k]=temp;} for(t=0;t<n;t++)printf("%d ",r[t]);printf("\n");}}void main(){int a[10];int t,f;printf("input to numbers \n"); for(t=0;t<10;t++)scanf("%d",&a[t]);printf("\n");selectsort(a,10);printf("the serch key: \n"); scanf("%d",&f);t=search (a,f,10);printf("\n");printf("the position is: \n"); printf("%d",t+1);}运行结果1.(1)四、源程序1.(2)#include "stdio.h"#include "string.h"int search (int b[],int key,int n) {int high,mid,low,rs=0;low=1;high=n;while(low<=high){mid=(low+high)/2;if(key<b[mid])high=mid-1; elseif(key>b[mid])low=mid+1; else{rs=mid;break;}}return(rs);}void insertsort(int r[],int n){int i,j,t;for(j=0;j<n-1;j++){for(i=0;i<n-j-1;i++)if(r[i]>r[i+1]){t=r[i];r[i]=r[i+1];r[i+1]=t;}for(i=0;i<10;i++)printf("%d ",r[i]);printf("\n");}}void main(){int a[10];int t,f;printf("input to numbers \n"); for(t=0;t<10;t++)scanf("%d",&a[t]);printf("\n");insertsort(a,10);printf("the serch key: \n"); scanf("%d",&f);t=search (a,f,10);printf("\n");printf("the position is: \n"); printf("%d",t+1);}运行结果1.(2)实验内容(二)源程序:#include<iostream.h>#include<string.h>#include<stdio.h>#include<stdlib.h>struct student{char ID[10];//学号int BN;//床号char RN[10];//宿舍号char NAME[10];//姓名student *next;};typedef student stu;stu* Head;int menu()//用户选择的菜单{cout<<"1:查看学生信息"<<endl;cout<<"2按学号排序:"<<endl;cout<<"3:查看宿舍的人员信息"<<endl; cout<<"0:退出系统"<<endl;cout<<"请选择"<<":";char c;int ch;int flag=1;while(flag){cin>>c;ch=(int)c-48;if(ch>=0&&ch<=3)flag=0;elsecout<<"输入错误,请重新输入:";}return ch;}void sort(stu *head)//冒泡排序{ int time=0;char id[10];int bn;char rn[10];char name[10];stu* temp=head;while(temp->next!=NULL){temp=temp->next;time++;}temp=head;int i,j,last;i=time-1;while(i>0){for(j=0;j<i;j++){if(temp->BN>temp->next->BN){strcpy(id,temp->ID);strcpy(rn,temp->RN);strcpy(name,temp->NAME);bn=temp->BN;strcpy(temp->ID,temp->next->ID);strcpy(temp->RN,temp->next->RN);strcpy(temp->NAME,temp->next->NAME);temp->BN=temp->next->BN;strcpy(temp->next->ID,temp->ID);strcpy(temp->next->RN,temp->RN);strcpy(temp->next->NAME,temp->NAME);temp->next->BN=temp->BN;last=j;}i=last;}}cout<<"排序成功!!!"<<endl;}void List(stu *head) // 打印所有学生信息{stu *p;p=head;if(p==NULL)cout<<"记录为空"<<endl;else{ cout<<"记录如下:"<<endl;while(p!=NULL){cout<<p->ID<<" "<<p->BN<<" "<<p->RN<<" "<<p->NAME<<endl;p=p->next;}}}stu *InputNewRecord(stu *node)//输入新加成员的信息{cout<<"Input ID\n";cin>>node->ID;cout<<"Input BN\n";cin>>node->BN;cout<<"Input RN\n";cin>>node->RN;cout<<"Input NAME\n";cin>>node->NAME;return node;}int OkOrNot(char *name){char c;cout<<"请确认想进行此项操作(是请按y或者Y)";cin>>c;if(c=='y'||c=='Y')return 1;elsereturn 0;}void AppendNode(stu *head)/*在链表的末尾添加新的节点*/{stu *p,*newnode,*last;if(!OkOrNot("Append")) return;last=head;p=head->next;while(p!=NULL){last=p;p=p->next;}newnode=(stu*)malloc(sizeof(stu));newnode->next=NULL;p=InputNewRecord(newnode);last->next=p;}void ShowRD(stu *head)//查找某宿舍的学生信息{stu *p=head;int flag=1;cout<<"输入你要查看的房间号:"<<endl;char tp[10];gets(tp);for(;p!=NULL;p=p->next){if(strcmp(p->RN,tp)==0)//找到并打印{cout<<p->ID<<"**"<<p->BN<<"**"<<p->RN<<"**"<<p->NAME<<endl;flag=0;}}if(flag);}int main(){stu a;stu *head;head=&a;head->next=NULL;Head=head;cout<<" 欢迎进入宿舍信息管理系统"<<endl;cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "<<endl;cout<<" ID学号BN床号RN宿舍号NAME姓名"<<endl; begin: AppendNode( Head);cout<<"还要输吗?"<<endl;char k;cin>>k;if(k=='Y'||k=='y')goto begin;int f3=1;while(f3){switch(menu()){case 1:List(Head);break;case 2:sort(Head);break;case 3:ShowRD(Head);break;case 0:f3=0;break;}}return 0;}结果:电气信息工程学院电子信息工程。