The King’s New Clothes校内实验课教案

时间:2019-05-15 03:14:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《The King’s New Clothes校内实验课教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《The King’s New Clothes校内实验课教案》。

第一篇:The King’s New Clothes校内实验课教案

The King’s New Clothes

Ⅰ.Teaching content: 绘本

Ⅱ.Teaching aims and demands: 1.学习单词和词组:rich, clothes, king, clever, foolish, light, soft, beautiful, wearing, 理解意思,能听懂,能读熟。

2.初步感知句型:… can …能听懂,会读,会说。3.能正确理解故事内容,有感情地朗读故事。

4.让学生体验故事表演的快乐,明白为人要诚实,待人要真诚。Ⅲ.Teaching keys:

1.单词clothes, foolish, wearing的发音。2.描述服装的形容词。3.故事中人物语气的朗读。Ⅳ.Teaching difficulties:

在正确理解故事的基础上,有感情地朗读、表演故事内容。Ⅴ.Teaching aids:

头饰,板书制作,PPT课件,学生阅读书,书 Ⅵ.Teaching procedures: Step 1 Pre-reading 1.Teach ―king‖, ―rich‖.Teacher draws a picture about the king.T: Who is he?(the king)(teach ―king‖)

T: The king is very powerful and he has a lot of money.He’s rich.(teach ―rich‖)

[设计意图] 通过简笔画的形式,吸引学生注意,引发其好奇心,通过国王简笔画的整体展现,出示故事主人公,开门见山,直奔主题,为文本的整体呈现做好铺垫。Step2 While-reading

1.Listen and read — to learn ―beautiful‖, ―clothes‖ T: What does the king like?(播放动画)引导Ss: He likes new clothes.(teach ―clothes‖)

T: Look at the clothes.How nice!They are beautiful!(teach ―beautiful‖)2.Talk about the background T: Do you know the story? Who can tell me the name of the story? Chinese is OK.(The King’s New Clothes)Ss:

T: The story is written by Andersen in 1837.In the story, the king’s clothes are new.But the story is very, very old.Let’s go back to 1837 and meet the rich king.(PPT: 时光穿梭,音乐)

[设计意图] 先见森林后见木,使学生对文本有个整体的认识。又因故事是学生耳闻能详的谈论故事名字,作者信息,使学生快速进入故事角色。2.Paragraph 1 1)Look and learn T: I’m the king.I am very rich.I like new clothes very much!(PPT: mirror)Mirror, mirror, are my clothes beautiful? Mirror: I don’t think so!to S1/S2: Can you make clothes for me? T: Who can make new clothes for me?(teach ―make … for …‖学生跟读)(板书2)2)Read like a king(板书)Ss read like the king.(PPT文字)

[设计意图] 通过时间穿梭机,带领学生回到1837年,渲染氛围。通过教师对国王的演绎,引导学生更好地体会国王的人物特点:富有,喜欢漂亮衣服。教师通过示范朗读,引导学生读出国王骄傲的语气。3.Paragraph 2 1)Read and underline

T: Who can make new clothes for him?(I can!I can!PPT: 一群人,慢慢两个骗子头像放大)T: But they can.Why? Please read and underline.(学生自读)(PPT 出示图2的文字)Ss read and underline.引导Ss: Clever people can see the clothes.Foolish people can’t see them.T: Here are three new words.Can you read them?(学生示范)

(teach ―clever‖ ―people‖ ―foolish‖ English-food-foolish, 通过表情的不同,朗读―clever people, foolish people‖)

T: Do you think so? They are cheaters.(PPT: cheater 骗子)They are cunning(狡猾的).Can you read like him?(Clever people can see the clothes…)

T: What about him?(My King, …)

T: I think you can read them well.(学生自读,教师学生互动表演)

[设计意图] 这一段是文本中精彩片断之一。文本的内容较为精练,加上人们争相为国王做新衣的桥段,使故事的逻辑性更强。通过学生自读划线的阅读方式,引出新词的学习,以旧带新,解决foolish的发音难点,正确朗读文本;通过对两个骗子的话语的指导,师生之间的互动操练,使学生更好的进行文本朗读。4.Paragraph 3 PPT: Fifteen days later…… 音效:织布机 T: What kind of clothes are they? Look!(拿出新衣)T: They are soft and light.(teach ―soft‖体验感知, ―light‖手势感知)What does the king think of the new clothes? Read and answer.(出示图片文字)(They are soft and light.)T: Can he see the clothes?(No!)But he says ―Oh, yes.They are soft and light.‖ Because he thinks clever people can see the clothes.Foolish people can’t see them.How to read it well? Listen and imitate.T: You are the king.(教师示范朗读两个骗子的话语,引导学生有感情地朗读)(三个学生为一组,进行操练朗读)

[设计意图] 这一段也是文本中精彩片断之一。通过自读回答问题的方式,引出国王对新衣的感受soft and light。通过教师和学生们的互动,重点操练国王的话语。三人小组合作对话,让学生在表演中体会人物特点。5.Paragraph 4&5 1)Learn the text T: The king thinks the clothes are soft and light.And he’s going to show his new clothes to other people.What do they think of the clothes?(出示人群和男孩的图片)Let’s read!(出示图片4,5文字)T:(拿出人群的图片)What do they think?(They are beautiful!)

T: Do all the people think they are beautiful?(No)Then who?(The boy.)What does he say?(出示图片5,文字)(引导学生朗读文本)Here’s a new word.(teach ―wearing‖, pear, bear, wear, wearing)Ha!Ha!The king isn’t wearing any clothes.2)Mini Theatre

T: Now let’s go to the Mini Theatre and act the period.一位学生扮演 国王巡演,引导其他学生朗读图4&5 的文字。(Music: You are beautiful!)

[设计意图] 图4&5的内容主要是国王巡游时人们的不同反应。通过人们对新衣的不同反应,设计国王巡游的现场秀环节,使每个学生参与到表演中。Step3 Post-reading

1.Talk about the characters King: rich, foolish Two men: clever, bad Other people: foolish Boy: honest 2.Read the story.1)Read and repeat T: What a lovely king!Boys and girls, you learn so well!It’s time to read after the tape!

Try to learn the pronunciation and the intonation.2)Read by themselves T: Read by yourselves.3.Act the story T: You can read very well.And you know them well now.Why don’t we act the story!

Rules: Six students a group.If you read well, you can get one star.If you can read without the books, you can get two stars.And if you can do the gestures, you can get three stars.(Ss practice and act)

[设计意图] 英语故事的学习,首先能够正确朗读,其次能够有感情的朗读,最后能够生动表现。通过跟录音朗读,学生正确模仿语音语调进行朗读。了解人物特点,使得学生的表演更为生动有趣。据调查显示,学生最喜欢的阅读方式是读读演演。最后设计的表演活动,既能反馈学生本堂课的学习情况,又能把课堂气氛推向高潮。根据加德纳的多元智能理论,教师设计多元的教学活动,学生可选择表演或朗诵等方式,展示自己的所学所悟,以求多元发展。4.A trick – to know the truth 1)Who do you want to be? T: 引导学生总结Welcome back!Today we learnt the story .If you were in the story, who do you want to be?(音效:时光穿梭)Ss: King!(Yes, he’s very rich.But don’t forget to be a good king.And do good things for your people.)Boy!(Be honest!Be yourself!)2)A trick T: Wow!You did a great job!Now I have some presents for you.They are …

Can you see them?(Yes.)Now can you see them?(拿出另一个盒子)(No.)

T: Remember!Clever people can see the clothes.Foolish people can’t see them!Can yousee them?(No./ Yes.)

T: Remember!Be honest!Be yourself!Step4 Homework

1.Design an ending for the story.The king is back home,…

2.Read more English stories from the bookshops and the internet.Ending

T: Today I would very love to be your English teacher and tell you a story about the clothes.Remember: Be honest!Be yourselves.Thank you!

[设计意图] ―课内学方法,课外求发展‖。本堂课学生学习了阅读的方法,通过猜猜、听听、问问、读读、演演等方法,体验了故事阅读的快乐。通过一个送礼物的小环节,巧妙地揭示故事主旨。引导学生课外通过多种渠道进行经典英文绘本阅读,对于学生来说英语的学习就不仅仅是课堂上几十分钟的事了,课外的英文阅读将对学生英语水平的提高起到不可估量的作用。

第二篇:体育校内研究课教案

体育校内研究课教案

一、指导思想

本课以全面推进素质教育、深化体育教学改革、“健康第一”为指导思想,以学生的心理活动为导向,面向全体学生,做到人人享有体育、人人都有进步、人人拥有健康。1是按照学生心理变化设计课堂教学模式,安排教学内容,选择教学方法,强调健身。2是加强体育教学与日常生活的联系,提高体育教学的实用性,为学生的终身体育奠定基础。

3是充分调动学生积极思维,培养学生的实践能力和创新精神。

二、教材分析

本课的主教材内容是原地持轻物投远。该教材是小学二年级的投掷教材,在田径教材中占有较大比重,也是小学生非常喜爱并与生活密切相关的一项体育活动。通过该教材可以发展学生的力量、灵敏等身体素质,促进肌肉、关节、韧带的发展。

重点:肩上屈肘,肘关节向前。

难点:投掷轻物的全身协调用力技能

三、学情分析

1、学生心理特点:二年级的学生活泼好动,对事物充满好奇且善于模仿,喜欢新颖的、有一定难度的、多人或集体参与的活动,有较强的表现欲望,注意力不太稳定。

2、技术技能基础:其身体基本活动能力在一年级通过教学初步得到锻炼,但多是模仿或自发形成的,对技术要领还未形成较正确的理解。

四、教学目标

1、认知目标:通过教学,使学生初步了解原地掷轻物技术的要领。

2、技能目标:通过教学,初步掌握侧身投掷的方法,提高身体的柔韧性、协调性。学生能在老师指导下完成启动基本动作;建立正确的动作概念。

3、情感目标:通过教学,发扬学生互相学习及团结协作的精神;通过“游戏”等方式,培养学生自主学习、合作探究、勇于创新、遵守纪律、公平竞争的良好品质,培养学生积极参与体育活动,自觉锻炼的良好习惯。

第三篇:林冲教案2校内赛课

一、导入快要上课了,请大家听一首歌,会唱的一起唱。(媒体—《好汉歌》)1.谁知道刚才听的是什么歌?

2.是的,这是《水浒传》的主题歌作者施耐庵就用他那一枝生花妙笔塑造了一个个生动鲜明、有血有肉的英雄好汉的形象,演绎了一段段生动曲折、为后人传颂的传奇故事。今天我们继续学习其中的一个故事。

3、通过上节课的学习,你知道文章写了哪些人物?

2、在这些人物中哪两位是关键人物?

4、文章讲了一个什么样的故事?

生:课文描述了林冲在发配途中来到柴进庄上,被洪教头逼迫比武,最后棒打洪教头的故事。

二、学习第七小节

1、文章的哪小节直接写了两人精彩的武打场面,第七小节。

默读第七小节,想一想第七小节写了他们几个回合的交手。分别指读三个回合。

2、这场武斗虽然只有三个回合,却扣人心弦十分精彩。那么精彩在哪里呢?下面请同学们自由大声地读读这三个回合的描写,画出你认为描写得十分精彩的地方,把你感受到的精彩和前后的同学交流交流。

3、品读第七小节。

(1)第一回合:洪教头恼恨林冲,又想赢得这锭银子,便用了浑身的功夫,使出个“把火烧天”的招式。林冲把棒一横,还了个“拨草寻蛇”的招式。

他用了什么招式呢?——把火烧天。齐读,这个招式应该是什么样子的呢?(高举棍棒,好像火把燃烧着天空,上指天空,准备对准头劈下。)谁来做做看?

洪教头第一棒就使出了这个招式,想干什么?体会的真好,这个洪教头第一招就是一个杀招,而且使出了浑身的功夫,摆明着要致林冲以死地,用心何其险恶何其毒也!

洪教头有“把火烧天”,林冲有“拨草寻蛇”。伸出手来拨拨看。这招应该是把棒前伸

林冲这么轻轻一拨,抵挡了洪教头的第一招。读一读第一回合。⑵第二回合:洪教头跳起来大喊:“来!来!来!”举起棒劈头打来,林冲往后一退。

“劈头打来”——洪教头的第一招没成,这第二招用意——还是打脑袋,还是那么用心险恶!看来,他招招毙命就是要借着比武把林教头干掉!

跳起来大喊,喊什么?——“来!来!来!”读读看,这三个字怎样读好它?光说不练不行,一起来读读他这险恶的第二招。

见此情景,真为林冲捏了一把汗啊!可林冲巧妙地往后一退,敌进我退,避过洪教头,化险为夷。读一读第二回合。

⑶第三回合:洪教头一棒落空,他一个踉跄,还没有站稳脚跟,就又提起了棒。林冲看他虽然气势汹汹,但脚步已乱,抡起棒一扫,那棒直扫到他的小腿骨上。

洪教头迫不及待想搞定林冲,还没有站稳就提起了棒。)

此时,林冲看准机会,迅速出击,抡起棒一扫,那棒直扫到他的小腿骨上。洪教头措手不及,“扑”的一声倒在地上,棒也甩出老远。

⑷从中我们可以看出洪教头三棒,招招致命,林冲使出巧妙三招,此时你可以用什么样的词语来形容林冲和洪教头吗?(板书:武艺高强

心狠手辣)(5)书上写得真是精彩,想不想看看电视连续剧水浒中的这段精彩的情节?有什么说的吗?

(6)你能用你的朗读来感受这精彩的扣人心弦的场面吗!(要抓住重点的词语来体会)齐读第七节,加上动作表演。

4、在第七节中,作者就是这样通过对人物的语言、动作的细节描写表现了他们的特点。这是描写人物的一个重要方法。除此之外,还有神态、外貌等描写,像这样精彩的描写,文章中比比皆是。让我们用刚才的这种品读方法学习课文其他的部分。

5、边读边划出描写林冲和洪教头的句子,想一想还可以用什么样的词语来形容林冲、洪教头呢?

用“——”划出描写林冲的句子,用“~~~~~~”划出描写洪教头的句子。讨论交流:

☆让我们先来说说还可以用什么样的词语来形容洪教头,找出有关语句读一读。(1)狂妄自大、傲漫无礼、目中无人、嚣张跋扈、①挺着胸脯,歪戴着头巾。表演 从人物的外貌看出多么粗俗、傲慢、张狂的洪教头啊!

②洪教头全不理睬。洪教头也不相让,便去上首坐了。真是一个目中无人、傲慢无礼的洪教头啊!③洪教头向柴进问道:“大官人今天何故厚待一个犯人?”语言描写 厚待 犯人,真是出言不逊 ④洪教头冷笑了两声:“只因大官人好习枪棒,往往流配的犯人都来依草附木,冒称武师,找你骗吃骗喝,你怎么能如此轻信呢?”

冷笑两声?你们也冷笑两声试给我看看?冷笑什么?依草附木什么意思? 师:琢磨琢磨,洪教头的这句话该怎么读?读出他的狂妄自大、傲慢无礼。师:这样读多有味啊!我们一起这样读一读。(全班齐读课文)真是目中无人,狂妄自大 ⑤洪教头跳起来说“我偏不信他,他敢和我较量一下,我就承认他是真教头。”咄咄逼人、气势汹汹

⑥洪教头先脱了衣服,拿起一条棒掂量一番,独自耍了一阵,然后喝道:“来!来!”

洪教头恨不得一口吞了林冲。便把棒在地上猛敲一下,冲向林冲。

这两段话从那两个方面来写洪教头的? 有哪些动词,从这些词语可以看出洪教头的狂妄得意、自以为是、傲气十足、盛气凌人。谁来读一读这段话。

洪教头见他退让,以为他真的不会枪棒,便越发要跟他交手。多么蛮横嚣张(2)有勇无谋 第七节可以看出。

☆林冲还是个什么样的人哪?从哪儿看出来?(1)林冲的武艺高强。

A只三个回合就打败洪教头。

B这位林武师非比他人,乃是东京八十万禁军教头。找得很准,我们一起来看这一节,什么叫“非比他人”?

怎样与众不同? 生:禁军 教头 负责皇帝安全的 生:八十万禁军 教头 C带着木枷与洪教头战了四五个回合(2)林冲的“谦恭忍让”。

①生:林冲寻思,庄客称他教头,想必是柴大官人的师父了,连忙站起来躬身施礼。

(第一次林冲刚看到洪教头,寻思是柴大官人的师父,理应敬重,“连忙躬身施礼” 什么叫“连忙”? 谁来演演“躬身施礼”;

②生:洪教头全不理睬。柴进指着林冲对洪教头说:“这位是林教头。”林冲起身让座,第二次是洪教头不理睬林冲,柴进向洪教头介绍林冲,林冲“起身让座”,表示礼貌;

③生:林冲连说“不敢,不敢”。

第三次洪教头冷言讥讽,瞧不起林冲,要与他比武,林冲连称“不敢”再次退让“不敢,不敢” 他真“不敢”吗? 为什么要这么说? ④第四自然段:林冲只好从地上拿起一条棒道:“请教了。”“只好”说明了什么? 被逼无奈、很谦虚(3)足智多谋

① 战了四五个回合,林冲纵身跳出圈外,叫了一声“我输了” 他真的“输了”吗?为什么他要这么说?

② 仅“一横、一退、一扫”三招就破了洪教头致命的三招。(4).同学们说得真好,抓住了人物的语言、动作、神态,体会出林冲是一个武艺高强、谦虚忍让、足智多谋的人。洪教头是一个狂妄自大、傲漫无礼、心狠手辣的人。

(5)指导朗读第3节

6、故事的结果怎么样?读读看。洪教头满面羞惭,他灰溜溜地走开了。

7、假如你是众人中的一个看客,你会说些什么?或者你是洪教头,你会想什么?

8、质疑:①洪教头与林冲前世无仇、今世无怨,为什么对他傲慢无礼、口出狂言?

②林冲武艺那样高强,为什么总是一让再让?

9、小结拓展:

今天,我们了解了一个故事——林冲棒打洪教头,结识了()林冲,还认识了()洪教头,我们更领略了一位名家——施耐庵的妙笔生花。关于水浒的故事还有很多,生说:武松打虎、风雪山神庙、鲁智深倒拔垂杨柳等,课后让我们走进《水浒传》,读读《水浒传》,那荡气回肠的文字,栩栩如生的人物,波澜壮阔的场景,一定会让你心驰神往,回味无穷。

第四篇:数据结构实验课教案

授课教案

(2016—2017学第一学期)

课程名称: 课程编码: 总学时: 课程类别:

任课教师: 开课单位: 职称: 授课专业: 授课班级:

数据结构 B13040009A 总学分: 专业课 李素若 计算机工程学院

教授 计算机科学与技术

2015级计算机科学与技术专业1、2班 授课进度第3周,第6次课(2学时)授课题目

(教学章、节实验一线性表的顺序存储结构 或主题)

授课日期

016年9月14日(9 2

月13日)

.掌握线性表顺序存储结构的特点:逻辑上相邻的数据元素其物理位置上也相邻。1 2.掌握线性表顺序存储结构的插入、删除操作特点移动操作。

教学

目标

1.线性表的顺序存储特点

教学 2.线性表的顺序存储的基本算法 重点

1.线性表的顺序存储的基本算法

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

.输入一组整型元素序列,建立顺序表。1 2 .遍历该顺序表。3 .在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。4 .判断该顺序表中元素是否对称,对称返回1,否则返回0。5 .输入整型元素序列利用有序表插入算法建立一个有序表。6 .利用实验6建立两个递增有序表并把它们合并成一个递增有序表。7

二、实验指导

1.参考程序为:

voidCreateSqList(SqList*L){ intn,i; do{ printf(“请输入数据元素的个数:”);

scanf(“%d”,&n);

if(n<=0)printf(“输入错误n”); } while(n<=0); for(i=0;ielem[i])); L­>length=n;

} 2 .参考程序为:

voidPrintList(SqListL){ inti;

for(i=0;i

intFindelems(SqListL,ElemTypee){ inti;

for(i=0;i

return0;

} 4.分析:从顺序表表头开始扫描,当数据元素为偶数时就从该数开始往后查找,一旦

— 1—

教学过程及内容

找到奇数,则将该偶数与此奇数交换。顺序表中所有数据全部扫描结束后,所有奇数就排列 在表的前端。参考程序为:

voidChangeVal(SqList*L){ inti,j,temp;

for(i=0;ilength;i++){ if(L­>elem[i]%2==0){ for(j=i+1;jlength;j++){

if(L­>elem[j]%2!=0){

temp=L­>elem[i];

L­>elem[i]=L­>elem[j]; L­>elem[j]=temp; break; } } if(j==L­>length)break; } } } 5.参考程序为:

intYesNo_Symmetry(SqListL){ inti,j;

j=L.length­1; for(i=0;i

return0; } return1;

} 6 .参考程序为:

voidInsert_OrderList(SqList*L,intx){ inti,j;

for(i=0;ilength;i++)if(L­>elem[i]>x)break; for(j=L­>length­1;j>=i;j­­)

— 2—

教学过程及内容

L­>elem[j+1]=L­>elem[j]; L­>elem[i]=x; L­>length++;

} voidCreate_OrderList(SqList*L){ intn,i,input; do{ printf(“请输入数据元素的个数:”); scanf(“%d”,&n);

if(n<=0)printf(“输入错误n”);

while(n<=0); } for(i=0;i

Insert_OrderList(L,input); } } 7 .参考程序为:

SqList*Merge_OrderList(SqListA,SqListB)//将有序顺序表A和B合并到有序顺序表C中返回 { inti=0,j=0,k=0;

SqList*C=(SqList*)malloc(sizeof(SqList)); C­>length=0;

while(j

C­>elem[i++]=A.elem[j++]; else C­>elem[i++]=B.elem[k++];

} if(j==A.length)

while(kelem[i++]=B.elem[k++]; if(k==B.length)while(jelem[i++]=A.elem[j++]; C­>length=i; returnC;

}

— 3— 授课进度第4周,第8次课(2学时)授课题目

(教学章、节实验二单向链表 或主题)

授课日期

016年9月21日(9 2

月20日)

.掌握线性链表的操作特点,即指针是逻辑关系的映像。1 .掌握动态产生单链表的方法。2 3 .熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。

教学

目标

1.掌握动态产生单链表的方法。

教学 2.熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。重点

1.熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。1 .遍历单向链表。2 3 .把单向链表中元素逆置(不允许申请新的结点空间)。.在单向链表中删除所有的偶数元素结点。4 5 .编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建 立一个非递减有序单向链表。

.利用实验5建立两个递增有序单向链表,然后合并成一个递增链表。6 7 .利用实验1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个 全部为偶数(尽量利用已知的存储空间)。

二、实验指导

1.参考程序为:

LinkListCreateListH(void)//头插法产生带头结点单链表 { intch;

LinkListhead=(LinkList)malloc(sizeof(LNode)); LinkLists;

head­>next=NULL;

while(scanf(“%d”,&ch)==1)//输入数据类型错误时结束单链表的生成 { s=(LinkList)malloc(sizeof(LNode)); s­>data=ch;

s­>next=head­>next; head­>next=s; } returnhead;

} LinkListCreateListRand(void)//利用随机函数产生带头结点单链表(头插法){ intch,i;

LinkListhead=(LinkList)malloc(sizeof(LNode)); LinkLists;

head­>next=NULL;

srand((unsigned)time(NULL));

printf(“PleaseinputCreateNnmbers:”); scanf(“%d”,&ch);

for(i=0;i

s­>data=rand()%50;//随机产生0~49之间的数

— 1—

教学过程及内容

s­>next=head­>next; head­>next=s; } returnhead; } 2 .参考程序为:

voidPrintLinkList(LNodeL){ LinkListp; p=L.next; while(p){ printf(“%d”,p­>data); p=p­>next; } printf(“n”); } 3.参考程序为:

voidInverse_set(LinkListhead){ LNode*r,*m=NULL,*p; p=head­>next; while(p!=NULL){ r=m;m=p; p=p­>next; m­>next=r; } head­>next=m; } 4.参考程序为:

voidDelEvenLinkList(LinkListhead){ LinkListq,p; p=head­>next; q=head;

while(p){ if(p­>data%2==0){ q­>next=p­>next; free(p);

— 2—

教学过程及内容

p=q­>next; } else { q=p;

p=p­>next; } } } 5 .参考程序为:

voidInsertIncr(LinkListhead,ElemTypex)//将结点插入递增的单链表 { LinkListq,p,s;

s=(LinkList)malloc(sizeof(LNode)); s­>data=x; q=head;

p=head­>next;

while(p&&p­>data

p=p­>next; } s­>next=q­>next; q­>next=s;

} LinkListCreateListIncr(void)//通过调用插入有序链表函数生成递增单链表 { intch;

LinkListhead=(LinkList)malloc(sizeof(LNode)); LinkLists;

head­>next=NULL;

while(scanf(“%d”,&ch)==1)//输入数据类型错误时结束单链表的生成 InsertIncr(head,ch); returnhead; } 6 .参考程序为:

LinkListLinkListCat(LinkListhead1,LinkListhead2){ LinkListh1,h2,h;

LinkListhead=(LinkList)malloc(sizeof(LNode)); head­>next=NULL;

— 3—

教学过程及内容

h1=head1­>next; h2=head2­>next; h=head; while(h1&&h2){ if(h1­>datadata){ h­>next=h1; h=h­>next;

h1=h1­>next; } else { h­>next=h2; h=h­>next; h2=h2­>next; } } if(h1)h­>next=h1; if(h2)h­>next=h2; returnhead; } 7 .参考程序为: # include # include # include typedefintElemType;//元素类型 typedefstructLNode { ElemTypedata; structLNode*next; } LNode,*LinkList;

voidPrintLinkList(LNodeL){ LinkListp;

p=L.next; while(p){ printf(“%d”,p­>data); p=p­>next;

— 4—

教学过程及内容

} printf(“n”);

} voidDecoLinkList(LNodehead,LinkListhead1,LinkListhead2)//将单链表head拆分奇数链head1和偶数链head2 { LinkListh,h1,h2;

h=head.next; h1=head1; h2=head2; while(h){ if(h­>data%2==0){ h2­>next=h; h=h­>next; h2=h2­>next; } else { h1­>next=h; h=h­>next; h1=h1­>next; } } h1­>next=NULL; h2­>next=NULL; } main(){ LinkListhead;

LinkListhead1=(LinkList)malloc(sizeof(LNode)); LinkListhead2=(LinkList)malloc(sizeof(LNode)); head=CreateListIncr();

PrintLinkList(*head);

DecoLinkList(*head,head1,head2); PrintLinkList(*head1); PrintLinkList(*head2);

}

— 5— 授课进度第5周,第10次课(2学时)授课题目

(教学章、节实验三栈的存储及基本运算 或主题)

授课日期

016年9月28日(9 2

月27日)

.掌握栈这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。1 2.了解和掌握递归程序设计的基本原理和方法。

教学

目标

.掌握栈的两种存储结构 1.栈的基本运算 教学 2.了解栈在递归函数中的作用 重点 3.掌握栈的两种存储结构 1 教学 2.栈的基本运算 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

.采用顺序存储实现栈的初始化、入栈、出栈操作。1 2 .采用链式存储实现栈的初始化、入栈、出栈操作。3 .写一个程序,将输入的十进制数据M转换为八进制数据M8,将其调试通过。在此 基础上修改程序,实现十进制数据M向N进制(2或8或16)的转换。(1)采用顺序存储结构实现栈。(2)采用链表结构实现栈。

二、实验指导

.参考程序为: 1 # include # include # defineStack_Size100 # defineOK 1 # defineERROR 0 typedefintElemType; typedefstructStack { ElemTypeelem[Stack_Size]; inttop;

//用来存放栈中元素的一维数组

//用来存放栈顶元素的下标

} SqStack;

intInitStack(SqStack**s)//初始化顺序栈 {(*s)=(SqStack*)malloc(sizeof(SqStack));

if((*s)==NULL)returnERROR;(*s)­>top=­1; returnOK;

} intEmptyStack(SqStacks)//判断栈空 { if(s.top==­1)

{ printf(“stackisempty!n”); returnOK; } returnERROR;

} intGetTop(SqStacks,int*e)//取栈顶元算 { if(EmptyStack(s))returnERROR;

*e=s.elem[s.top];

— 1—

教学过程及内容

returnOK;

} intPush(SqStack*s,inte)//入栈 { if(s­>top==Stack_Size­1)

{ printf(“stackisfull!n”); returnERROR; } s­>top++;

s­>elem[s­>top]=e; returnOK;

} voidPrintStack(SqStacks)//打印栈中数据 { inti;

for(i=0;i<=s.top;i++)printf(“%d”,s.elem[i]); printf(“n”);

} intPop_Stack(SqStack*s,int*e)//出栈 { if(EmptyStack(*s))

returnERROR; *e=s­>elem[s­>top]; s­>top­­; returnOK; } voidmain(){ intcord,e,x,y; SqStack*s; do { printf(“nMainMenun”); printf(“1­­­­CreatStackn”); printf(“2­­­­GetTopElementn”); printf(“3­­­­Pushn”); printf(“4­­­­Popn”); printf(“5­­­­Printn”); printf(“6­­­­quitn”); scanf(“%d”,&cord);

— 2—

教学过程及内容

switch(cord){ case1:

InitStack(&s); break; case2:

if(GetTop(*s,&y))

printf(“StackTop=[%d]n”,y); break; case3:

printf(“Pleaseinputpushelement:”); scanf(“%d”,&e); Push(s,e); break; case4:

if(Pop_Stack(s,&x))

printf(“Popstack=[%d]n”,x); break; case5:

PrintStack(*s); break;

case6:

return;

} } while(cord<=6); } 2 .参考程序为: include # include # defineStack_Size100 # # defineOK 1 # defineERROR 0 typedefintElemType; typedefstructstacknode { ElemTypedata;

structstacknode*next; } StackNode; typedefstruct { StackNode*top;/*栈顶指针*/ LinkStack; }

— 3—

教学过程及内容

voidInitStack(LinkStack*s)//初始化栈 { s­>top=NULL;

} intEmptyStack(LinkStacks)//判断栈空 { if(s.top==NULL)returnOK;

elsereturnERROR;

} intGetTop(LinkStacks,int*e)//取栈顶元素 { if(EmptyStack(s))returnERROR; *e=s.top­>data;

} voidPush(LinkStack*s,inte)//入栈 { StackNode*p=(StackNode*)malloc(sizeof(StackNode));

p­>data=e;

p­>next=s­>top; s­>top=p;

} intPop_Stack(LinkStack*s,int*e)//出栈 { StackNode*p;

if(EmptyStack(*s))returnERROR;

p=s­>top; *e=p­>data; s­>top=p­>next; free(p); returnOK;

} voidPrintStack(LinkStacks)//打印栈中元素 { StackNode*p=s.top; while(p){ printf(“%d”,p­>data); p=p­>next; } } voidmain()

— 4—

教学过程及内容

{ intcord,e,x,y; LinkStacks; do { printf(“nMainMenun”); printf(“1­­­­CreatStackn”); printf(“2­­­­GetTopElementn”); printf(“3­­­­Pushn”); printf(“4­­­­Popn”); printf(“5­­­­Printn”); printf(“6­­­­quitn”); scanf(“%d”,&cord); switch(cord){ case1:

InitStack(&s); break; case2:

if(GetTop(s,&y))

printf(“StackTop=[%d]n”,y); break; case3:

printf(“Pleaseinputpushelement:”); scanf(“%d”,&e); Push(&s,e); case4: break;

if(Pop_Stack(&s,&x))

printf(“Popstack=[%d]n”,x); break; case5:

PrintStack(s); break;

case6:

return;

} } while(cord<=6); } 3 .参考程序为: 1)(— 5—

教学过程及内容

voidConversion(SqStack*S){ intN,n1,t;

printf(“输入一个十进制数字:n”);

scanf(“%d”,&N);//输入一个十进制数字

printf(“输入要转换的n进制数字(2、8、16):n”); scanf(“%d”,&n1);//输入要转换的进制

while(N){ Push(S,N%n1); N=N/n1; } printf(“该数转化为%d进制数为:t”,n1); if(n1==16){ while(!EmptyStack(*S)){ Pop_Stack(S,&t); if(t==10){printf(“A”);continue;} if(t==11){printf(“B”);continue;} if(t==12){printf(“C”);continue;} if(t==13){printf(“D”);continue;} if(t==14){printf(“E”);continue;} if(t==15){printf(“F”);continue;} printf(“%d”,t);

} } else PrintStack(*S); } voidmain(){ SqStack*S; InitStack(&S); Conversion(S); }(2)

voidConversion(LinkStack*S){ intN,n1,t;

printf(“输入一个十进制数字:n”);

scanf(“%d”,&N);//输入一个十进制数字

— 6—

教学过程及内容

printf(“输入要转换的n进制数字(2、8、16):n”); scanf(“%d”,&n1);//输入要转换的进制 while(N){ Push(S,N%n1); N=N/n1; } printf(“该数转化为%d进制数为:t”,n1); if(n1==16){ while(!EmptyStack(*S)){ Pop_Stack(S,&t); if(t==10){printf(“A”);continue;} if(t==11){printf(“B”);continue;} if(t==12){printf(“C”);continue;} if(t==13){printf(“D”);continue;} if(t==14){printf(“E”);continue;} if(t==15){printf(“F”);continue;} printf(“%d”,t);

} } else PrintStack(*S); } voidmain(){ LinkStackS; InitStack(&S); Conversion(&S); }

— 7— 授课进度第8周,第14次课(2学时)授课题目

(教学章、节实验四队列 或主题)

授课日期

016年10月19日(10 2

月18日)

.掌握队列这种数据结构的逻辑特性及其主要存储结构。1 2.在简单情况下会使用顺序结构的实现队列,熟练掌握循环队列的使用。.在复杂情况下会使用链表结构的队列,并能在现实生活中灵活运用。3 教学

目标

1.熟练掌握循环队列的使用。

教学 2.在复杂情况下会使用链表结构的队列。重点

1.链队列的使用。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

.采用顺序存储实现循环队列的初始化、入队、出队操作。1 2 .采用链式存储实现队列的初始化、入队、出队操作。3 .编写一个程序,使用两个链队q1和q2,用来分别存储由计算机随机产生的20个 100以内的奇数和偶数,然后每行输出q1和q2的一个值,即奇数和偶数配对输出,直到任 一队列为空为止。

二、实验说明

.循环队列类型采用如下结构: 1 defineMAXSIZE100//最大队列长度 # typedefintElemType; typedefstruct{ ElemTypedata[MAXSIZE]; intfront,rear;//队头、队尾指针

SqQueue; } .链队类型采用如下结构: 2 typedefstructQNode { ElemTypedata; structQNode*next;

QNode,*QueuePtr; } typedefstruct { QueuePtrfront; QueuePtrrear;

LinkQueue; }

三、实验指导

1.参考程序为:

intInitQueue(SqQueue**Q)//初始化循环队列 { * Q=(SqQueue*)malloc(sizeof(SqQueue)); if(!(*Q))

return0;

*Q)­>front=(*Q)­>rear=0;(return1;

} intQueueEmpty(SqQueueQ)//判断队空 { returnQ.front==Q.rear;

}

— 1—

教学过程及内容

intQueueFull(SqQueueQ)//判断队满 { return(Q.rear+1)%MAXSIZE==Q.front;

} intEnQueue(SqQueue*Q,ElemTypee)//入队操作 { if(QueueFull(*Q))

/队列满 return0; /Q­>data[Q­>rear]=e;

Q­>rear=(Q­>rear+1)%MAXSIZE; return1;

} intDeQueue(SqQueue*Q,ElemType*e)//出队操作 { if(QueueEmpty(*Q))return0; else { *e=Q­>data[Q­>front];

Q­>front=(Q­>front+1)%MAXSIZE; return1; } } 2 .参考程序为:

intInitQueue(LinkQueue*Q)//将Q初始化为一个空的链队列 { Q­>front=Q­>rear=(QueuePtr)malloc(sizeof(QNode));

if(Q­>front==NULL)

return0;

Q­>front­>next=NULL; return1;

} intQueueEmpty(LinkQueueQ)//判断队空 { returnQ.front==Q.rear;

} intEnQueue(LinkQueue*Q,ElemTypee)//入队操作 { QueuePtrp;

p=(QueuePtr)malloc(sizeof(QNode)); if(!p)

return0;

— 2—

教学过程及内容

p­>data=e;

p­>next=NULL; Q­>rear­>next=p; Q­>rear=p; return1;

} intDeQueue(LinkQueue*Q,ElemType*e)//出队操作 { QueuePtrp;

if(QueueEmpty(*Q))return0;//若队列Q为空队列 p=Q­>front­>next;

*e=p­>data;

Q­>front­>next=p­>next; if(Q­>rear==p)

Q­>rear=Q­>front;//若Q只有一个结点 free(p); return1;

} 3 .参考程序为: intmain(){ LinkQueueq1,q2; inti=0,j=0,num; InitQueue(&q1); InitQueue(&q2);

srand((unsigned)time(NULL)); while(i<20||j<20){ num=rand()%100; if(num%2==0&&i<20){ EnQueue(&q1,num); i++; } if(num%2!=0&&j<20){ EnQueue(&q2,num); j++; } } while(!QueueEmpty(q1)&&!QueueEmpty(q2))

— 3—

教学过程及内容

{ DeQueue(&q1,&i);DeQueue(&q2,&j); printf(“%3d%3dn”,i,j);

} free(q1.front); free(q2.front); return0;

}

— 4— 授课进度 授课题目 第9周,第16次课(2学时)授课日期

016年10月26日(10 2

月25日)

(教学章、节实验五二叉树(Ⅰ)或主题).掌握二叉树的存储实现。1 .掌握二叉树的遍历思想。2 教学

目标

.掌握二叉树的存储实现。1 .掌握二叉树的遍历思想。教学 2 重点

1.掌握二叉树的遍历思想。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

1.数据域为字符的一棵二叉树用广义表形式输入,创建一个采用二叉链表存储的二叉 树,并按广义表的形式输出这棵二叉树。

.在实验1的基础上完成这棵二叉树的中序遍历的递归算法。2 .在实验1的基础上完成这棵二叉树的中序遍历的非递归算法。3

二、实验指导

.参考代码为: 1 # defineMaxSize100 voidCreateBTNode(BTree*b,char*str)//广义表形式输入二叉树,按二叉链表存储二叉树 { BTNode*St[MaxSize],*p=NULL; inttop=­1,k,j=0;

charch; *b=NULL; ch=str[j]; while(ch!=''){ switch(ch){ case'(':top++;St[top]=p;k=1;break; case')':top­­;break; case',':k=2;break; default:p=(BTNode*)malloc(sizeof(BTNode));

p­>data=ch;p­>lchild=p­>rchild=NULL; if(*b==NULL)*b=p; else { switch(k){ case1:St[top]­>lchild=p;break; case2:St[top]­>rchild=p;break; } } } j++;

ch=str[j]; } } voidDispBTNode(BTNode*b)//广义表输出二叉树

— 1—

教学过程及内容

{ if(b!=NULL){ printf(“%c”,b­>data);

if(b­>lchild!=NULL||b­>rchild!=NULL){ printf(“(”);

DispBTNode(b­>lchild);

if(b­>rchild!=NULL)printf(“,”); DispBTNode(b­>rchild); printf(“)”); } } } 2 .参考代码为:

voidInOrder(BTreeT)//中序递归遍历 { if(T){ InOrder(T­>lchild);/*中遍历左子树*/ printf(“%3c”,T­>data);/*访问根结束*/

InOrder(T­>rchild); } } 3 .参考代码为:

voidInOrder1(BTreeT)//非递归中序遍历 { SqStack*S;BTreeP=T;

InitStack(&S); do{

/*从树或子树根出发往左到叶子*/ while(P){ Push(S,P); P=P­>lchild; } if(S­>top!=­1){/*P为NULL要么是叶子,要么是没有左子树*/

Pop(S,&P);

printf(“%3c”,P­>data); P=P­>rchild;

} } while((S­>top!=­1)||P); }

/*中根遍历右子树*/

— 2— 授课进度第11周,第20次课(2学时)授课题目

(教学章、节实验五二叉树(Ⅱ)或主题).二叉树的常用算法。1 2 .二叉树线索化及遍历。

授课日期

016年11月9日(11 2

月8日)

教学 目标

1.二叉树的常用算法。

教学 重点

1.二叉树的常用算法。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

.求二叉树的宽度。1 2 .求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。.输出二叉树中从每个叶子结点到根结点的路径。3 4 .建立前序线索二叉树,并实现前序遍历。

二、实验指导

1.参考代码为:

intBTWidth(BTNode*b)//求二叉树宽度 { struct {

/结点的层次编号 intlno; /BTNode*p; //结点指针

Qu[MaxSize];//定义顺序非循环队列 } intfront,rear;

//定义队首和队尾指针

intlnum,max,i,n;

front=rear=0;//置队列为空

if(b!=NULL){ rear++;

//根结点指针入队 Qu[rear].p=b;

Qu[rear].lno=1; //根结点的层次编号为1

//队列不为空 while(rear!=front)

{ front++;

b=Qu[front].p;

//队头出队 //左孩子入队 lnum=Qu[front].lno; if(b­>lchild!=NULL){ rear++; Qu[rear].p=b­>lchild; Qu[rear].lno=lnum+1; } if(b­>rchild!=NULL){ rear++; Qu[rear].p=b­>rchild; Qu[rear].lno=lnum+1; } }

— 1— //右孩子入队

教学过程及内容

max=0;lnum=1;i=1; while(i<=rear){ n=0;

while(i<=rear&&Qu[i].lno==lnum){

/求每层的结点数 n++;i++; /} lnum=Qu[i].lno; if(n>max)max=n; } returnmax; } else return0; } 2 .参考代码为:

intBTNodeDepth(BTNode*b)//求二叉树b的深度 { intlchilddep,rchilddep;

if(b==NULL)return(0); else { lchilddep=BTNodeDepth(b­>lchild);//左子数的高度 rchilddep=BTNodeDepth(b­>rchild);//右子树的高度

return(lchilddep>rchilddep)?(lchilddep+1):(rchilddep+1); } } voidLong(BTreeT){ if(T!=NULL)//在T不为空的情况下

{ printf(“%3c”,T­>data);//访问节点

if(BTNodeDepth(T­>lchild)>BTNodeDepth(T­>rchild))//判断往左走还是往右走 Long(T­>lchild); else Long(T­>rchild); } } 3.参考代码为:

— 2—

教学过程及内容

voidPrintStack(SqStack*S)//使用线性栈辅助操作 { inti;

for(i=0;i<=S­>top;i++)printf(“%3c”,S­>elem[i]); printf(“n”);

} voidAllPath(BTreeT,SqStack*S)//输出二叉树上从根到所有叶子结点的路径 { charch; if(T){ Push(S,T­>data); if(!T­>lchild&&!T­>rchild)//如果左指针和右指针同时为空,才说明该节点为叶子节

PrintStack(S); else { AllPath(T­>lchild,S); AllPath(T­>rchild,S); } Pop(S,&ch); } } 4.参考代码为:

BiThrTreepre;

voidPreThreading(BiThrTreep)//先序线索化 { if(p){ if(!p­>lchild)

{ p­>LTag=Thread;

p­>lchild=pre; //前驱线索 } if(!pre­>rchild)

{ pre­>RTag=Thread;

pre­>rchild=p; //后继线索 } pre=p; if(p­>LTag==Link)

PreThreading(p­>lchild);//左子树线索化 if(p­>RTag==Link)

— 3—

教学过程及内容

PreThreading(p­>rchild);//右子树线索化

} } BiThrTreePreOrderThreading(BiThrTreeT)//先序线索二叉树 { BiThrTreethrt; if(!(thrt=(BiThrTree)malloc(sizeof(BiThrNode))))

returnNULL; thrt­>LTag=Link;

thrt­>RTag=Thread;//建头结点 thrt­>rchild=thrt;//右指针回指 if(!T)thrt­>lchild=thrt;//空二叉树 else { thrt­>lchild=T; pre=thrt;

PreThreading(T);//先序遍历进行先序线索化

pre­>rchild=thrt;pre­>RTag=Thread;//最后一个结点线索化 thrt­>rchild=pre; } returnthrt;

} voidPreOrderTraverse_Thr(BiThrTreethrt)//先序遍历二叉树 { BiThrTreep;

printf(“先序遍历结果为:”); p=thrt­>lchild; while(p!=thrt){ printf(“%3c”,p­>data); while(p­>LTag==Link){ p=p­>lchild;

printf(“%3c”,p­>data); } p=p­>rchild; } printf(“n”); }

— 4— 授课进度第13周,第24次课(2学时)授课题目

(教学章、节实验六哈夫曼树 或主题)

授课日期

016年11月23日(11 2

月22日)

.理解哈夫曼树的特征及其应用。1.在对哈夫曼树进行理解的基础上,构造哈夫曼树,并用构造的哈夫曼树进行编 2 码和译码。

教学 目标 3.通过该实验,使学生对数据结构的应用有更深层次的理解。

1.哈夫曼树构造。

教学 2.哈夫曼编码和译码。重点

1.哈夫曼树构造。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

1.哈夫曼树问题。

利用哈夫曼编码进行通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据进行预先编码;在接受端将传来的数据 进行解码(复原)对于双工信道(即可以双向传输的信道),每端都要有一个完整的编/译码 系统。试为这样的信息收发站写一个哈夫曼的编译码系统。

基本要求;(1)从终端读入字符集大小为n(即字符的个数),逐一输入n个字符和相应的n个权 值(即字符出现的频度),建立哈夫曼树,进行编码,最后输出并存于文件hfmtree中。

2)利用已建好的哈夫曼编码文件hfmtree,对键盘输入的正文进行译码。输出字符正(文,再输出该文的二进制码。

3)测试数据。(用表2.1中给出的字符集(n=27)和频度的实际统计数据建立哈夫曼树。

表2.1用于测试的字符集合频度

并实现以下报文的译码和输出:“THISPROGRAMISMYFAVORITE”。

2.思考题:利用哈夫曼树及哈夫曼编码的原理编写一个算法,n个自然数之间经过加 减运算后结果最小的值是多少。注意:只能进行加减运算,且最后结果和运算的中间结果不 能为负。

二、实验指导

# include # include # include # include typedefstruct unsignedint unsignedint {

weight; parent,lchild,rchild;

} HTNode,*HuffmanTree; typedefchar **HuffmanCode; typedefstruct{ unsignedint s1; unsignedint s2;

} MinCode;

MinCodeSelect(HuffmanTreeHT,unsignedintn);

HuffmanCodeHuffmanCoding(HuffmanTree*H1,unsignedint*w,char*ch,unsignedintn)//求哈夫曼树及哈夫曼编码,将哈夫曼编码写入文本文件 {

— 1—

教学过程及内容

unsignedinti,s1=0,s2=0; HuffmanTreep,HT; HuffmanCodeHC; char *cd; unsignedintf,c,start,m; MinCodemin; FILE*fp;

if((fp=fopen(“Huffman.txt”,“wt”))==NULL){ printf(“CannotopenfileHuffman.txtanykeyexit!”); exit(1); } if(n<=1){ printf(“Codetoosmall!n”);exit(1);} m=2*n­1;

HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode)); for(p=HT,i=0;i<=n;i++,p++,w++){ p­>weight=*w;p­>parent=0; p­>lchild=0;p­>rchild=0; } for(;i<=m;i++,p++){ p­>weight=0;p­>parent=0; p­>lchild=0;p­>rchild=0;

} for(i=n+1;i<=m;i++){ min=Select(HT,i­1); s1=min.s1;s2=min.s2;

HT[s1].parent=i;HT[s2].parent=i; HT[i].lchild=s1;HT[i].rchild=s2;

HT[i].weight=HT[s1].weight+HT[s2].weight;

} HC=(HuffmanCode)malloc((n+1)*sizeof(char*)); cd=(char*)malloc(n*sizeof(char*)); cd[n­1]=''; for(i=1;i<=n;i++){ start=n­1; for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent)

if(HT[f].lchild==c)cd[­­start]='0';

— 2—

教学过程及内容

elsecd[­­start]='1';

HC[i]=(char*)malloc((n­start)*sizeof(char)); strcpy(HC[i],&cd[start]); } free(cd);

for(i=1;i<=n;i++)fprintf(fp,“%c%sn”,ch[i],HC[i]); fclose(fp); H1=HT; * returnHC;

} MinCodeSelect(HuffmanTreeHT,unsignedintn)//求权值的最小值和次最小值 { unsignedintmin,secmin; unsignedinttemp; unsignedinti,s1,s2; MinCodecode; s1=1;s2=1;

for(i=1;i<=n;i++)if(HT[i].parent==0){ min=HT[i].weight; s1=i; break;

} for(;i<=n;i++)if(HT[i].weight

s2=i; break;

} for(i=1;i<=n;i++)if(HT[i].weight

— 3—

教学过程及内容

s2=i;

} code.s1=s1; code.s2=s2; returncode;

} voidTranscodeing(intn,char*Char_Code,char*Huffman_Code)//从文本文件中读取哈夫曼编码,并字符编码转为哈夫曼编码 { FILE*fp;

charstr[215],ch[50]={''}; HuffmanCodeHC=NULL; inti=0,len,j,k;

HC=(HuffmanCode)malloc((n+1)*sizeof(char*)); if((fp=fopen(“Huffman.txt”,“rt”))==NULL){ printf(“CannotopenfileHuffman.txtanykeyexit!”); exit(1); } while(!feof(fp)){ memset(str,0,sizeof(str)); fgets(str,215,fp); if(str[0]==0)break; len=strlen(str); ch[i]=str[0];

HC[i]=(char*)malloc((len­1)*sizeof(char*)); memcpy(HC[i],&str[1],len­2); HC[i][len­2]=0; i++; } fclose(fp); i=0;k=0;

while(Char_Code[i]!=''){ for(j=0;j

— 4—

教学过程及内容

free(HC); } intmain(){ HuffmanTreeHT=NULL; HuffmanCodeHC=NULL; unsignedint*w=NULL,i,n;

charch[50]={''},Huffman_Code[1024]={''};

charChar_Code[]=“THISPROGRAMISMYFAVORITE”; printf(“Inputn:n”); scanf(“%d”,&n);

w=(unsignedint*)malloc((n+1)*sizeof(unsignedint)); w[0]=0;

printf(“Enterweight,character:n”); for(i=1;i<=n;i++){ printf(“w[%d],ch[%d]=”,i,i); scanf(“%d,%c”,&w[i],&ch[i]); } HC=HuffmanCoding(&HT,w,ch,n);

Transcodeing(n,Char_Code,Huffman_Code); printf(“%sn”,Huffman_Code); free(w); return0; }

— 5— 授课进度第14周,第26次课(2学时)授课题目

(教学章、节实验七图的遍历(Ⅰ)或主题)

授课日期

016年11月30日(11 2

月29日)

.掌握图常用的邻接矩阵存储存储结构。1.掌握图的邻接矩阵存储结构上的两种遍历图的方法,即深度优先遍历和广度优 2 先遍历。

教学 目标

1.图的邻接存储结构。

教学 2.图的邻接矩阵存储结构下的两种遍历。重点

1.图的邻接矩阵存储结构下的两种遍历。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

图的邻接矩阵存储结构如下:

#defineMaxVerNum100//设置邻接矩阵的最大顶点数 typedefcharVertexType;//设置图的顶点信息为字符

//设置边上权值为整型 typedefintEdgeType;

typedefstruct{ VertexTypevexs[MaxVerNum];//图的顶点信息表

EdgeTypeedges[MaxVerNum][MaxVerNum];//图的邻接矩阵

//图的顶点数和边数 intn,e;

MGraph;//图的邻接矩阵表示结构定义 } 1.键盘输入数据,建立一个图的邻接矩阵,并进行图的深度优先遍历和广度优先遍历。

二、实验指导

.参考代码为: 1 # include # include # defineMaxVerNum100//设置邻接矩阵的最大顶点数 typedefcharVertexType;//设置图的顶点信息为整型

//设置边上权值为整型 typedefintEdgeType;

typedefstruct{ VertexTypevexs[MaxVerNum];//图的顶点信息表

EdgeTypeedges[MaxVerNum][MaxVerNum];//图的邻接矩阵

//图的顶点数和边数 intn,e;

MGraph;//图的邻接矩阵表示结构定义 } typedefenum{FALSE,TRUE}boolean; booleanvisited[MaxVerNum];//顶点访问标记向量 structlinkqueuenode { intdata; structlinkqueuenode*next; } ;

typedefstruct { structlinkqueuenode*front; structlinkqueuenode*rear; linkque; } voidInitQueue(linkque*q){ structlinkqueuenode*p; p=(structlinkqueuenode*)malloc(sizeof(structlinkqueuenode)); p­>next=NULL;

— 1—

教学过程及内容

q­>front=p;q­>rear=p;

} intQueueEmpty(linkqueq){ inti;

if(q.front==q.rear)i=1; elsei=0; return(i); } voidEnQueue(linkque*q,intx){ structlinkqueuenode*p; p=(structlinkqueuenode*)malloc(sizeof(structlinkqueuenode)); p­>data=x;p­>next=NULL; if(QueueEmpty(*q)){ q­>front­>next=p; q­>rear=p; } else { q­>rear­>next=p; q­>rear=p; } } intDeQueue(linkque*q,int*x){ structlinkqueuenode*p;

if(QueueEmpty(*q)){printf(“queueisempty!n”);return(0);} else { p=q­>front­>next; *x=p­>data;

q­>front­>next=p­>next; if(p­>next==NULL)

q­>rear=q­>front; free(p);

return(1); } } linkqueQ;

voidCreateMGraph(MGraph*g)//建立图g的邻接矩阵表示

— 2—

教学过程及内容

{ inti,j,k,w; intflag;

printf(“创建:有限图选0,无向图选1n”);

scanf(“%d”,&flag);

printf(“请输入顶点数和边数(格式为:顶点数,边数)n”); scanf(“%d,%d”,&g­>n,&g­>e);

printf(“输入顶点的信息,每个顶点以回车作为结束:n”); for(i=0;in;i++){ getchar();

scanf(“%c”,&(g­>vexs[i])); }

/将邻接矩阵数组初始化 for(i=0;in;i++)/for(j=0;jn;j++)g­>edges[i][j]=0;//图的遍历算法初始化该值为0 for(k=0;ke;k++){ printf(“输入顶点号i,顶点号j,权值w(非网图权值为1):n”); scanf(“%d,%d,%d”,&i,&j,&w); g­>edges[i][j]=w;

//构造无向图 if(flag)

g­>edges[j][i]=w;

} } voidDFSM(MGraph*g,inti)//对以邻接矩阵表示的图,以序号为i的顶点为出发点进行深度优先搜索 { intj;

printf(“%c”,g­>vexs[i]);//访问序号为i的顶点 visited[i]=TRUE;//将序号为i的顶点设置访问过标记 for(j=0;jn;j++)//扫描邻接矩阵的第i行,做以下操作

if((g­>edges[i][j]!=0)&&(!visited[j]))//寻找序号为i的顶点的未访问过的邻接点 设序号为j)({ printf(“­­>”);

DFSM(g,j);//以序号为j的顶点为出发点进行深度优先搜索 } } voidDFSMTraverse(MGraph*g,intstart)//对以邻接矩阵表示的图,从最初顶点start出发进行深度优先搜索 { inti;

for(i=0;in;i++)//将图的所有顶点设置为未访问过

— 3—

教学过程及内容

visited[i]=FALSE; DFSM(g,start);//对图进行深度优先搜索 printf(“n”);

} voidBFSM(MGraph*g,intk)//对以邻接矩阵表示的图,以序号为k的顶点为出发点进行广度优先搜索 { inti,j;

InitQueue(&Q);

printf(“%c”,g­>vexs[k]);//访问序号为k的顶点 visited[k]=TRUE;//将序号为k是结点设置为已访问过 EnQueue(&Q,k);//将序号为k的顶点入队 while(!QueueEmpty(Q)){ DeQueue(&Q,&i);

for(j=0;jn;j++)//寻找序号为i顶点的邻接点,并做如下处理

if((g­>edges[i][j]!=0)&&(!visited[j]))

//若序号为i的顶点有未访问过邻接点 { printf(“­­>%c”,g­>vexs[j]);//访问序号为j的顶点 visited[j]=TRUE;//设置序号为j的顶点访问过标记 EnQueue(&Q,j);//将序号为j的顶点入队 } } } voidBFSMTraverse(MGraph*g,intstart)//对以邻接矩阵表示的图,从最初顶点start开始进行广度优先搜索 { inti;

for(i=0;in;i++)//将所有顶点设置为未访问过 visited[i]=FALSE; BFSM(g,start);//对邻接矩阵表示的图进行广度优先搜索 printf(“n”);

} voidmain(){ MGraph*g=(MGraph*)malloc(sizeof(MGraph));//申请图g的邻接矩阵表示空间 CreateMGraph(g);//建立图

DFSMTraverse(g,0);//从顶点0出发进行图的深度搜索遍历 BFSMTraverse(g,0);//从顶点0出发进行图的广度搜索遍历 }

— 4— 授课进度 授课题目 第15周,第28次课(2学时)授课日期

016年12月7日(12 2

月6日)

(教学章、节实验七图的遍历(Ⅱ)或主题).掌握图常用的邻接表存储存储结构。1.掌握图的邻接表存储结构上的两种遍历图的方法,即深度优先遍历和广度优先 2 遍历。

教学 目标

1.图的邻接表存储结构。

教学 2.图的邻接表存储结构下的两种遍历。重点

1.图的邻接表存储结构下的两种遍历。

教学 难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

教学过程及内容

一、实验内容

图的邻接表存储结构如下:

#defineMaxVerNum100//定义最大顶点数为100 typedefcharVertexType;//设置图的顶点信息为字符

//边表表结点结构 typedefstructNode{ intadjvex; structNode*next; } EdgeNode;

typedefstructVNode{//顶点结点结构

VertexTypevertex;

EdgeNode*firstedge; } VNode,AdjList[MaxVerNum]; typedefstruct{ AdjListadjlist;

//顶点数和边数 intn,e;

intkind; //有向图为0,无向图为1 } ALGraph;

1.键盘输入数据,建立一个图的邻接邻接表,并进行图的深度优先遍历和广度优先遍 历。

二、实验指导

1.参考代码为:

# include # include # defineMaxVerNum100//定义最大顶点数为100 typedefcharVertexType;//设置图的顶点信息为字符

//边表表结点结构 typedefstructNode{ intadjvex; structNode*next; } EdgeNode;

typedefstructVNode{//顶点结点结构

VertexTypevertex;

EdgeNode*firstedge; } VNode,AdjList[MaxVerNum]; typedefstruct{ AdjListadjlist;

//顶点数和边数 intn,e;

intkind; //有向图为0,无向图为1 } ALGraph;

typedefenum{FALSE,TRUE}boolean; booleanvisited[MaxVerNum];//顶点访问标记向量

— 1—

教学过程及内容

structlinkqueuenode { intdata; structlinkqueuenode*next; } ;

typedefstruct { structlinkqueuenode*front; structlinkqueuenode*rear; linkque; } voidInitQueue(linkque*q){ structlinkqueuenode*p; p=(structlinkqueuenode*)malloc(sizeof(structlinkqueuenode)); p­>next=NULL;

q­>front=p;q­>rear=p;

} intQueueEmpty(linkqueq){ inti;

if(q.front==q.rear)i=1; elsei=0; return(i); } voidEnQueue(linkque*q,intx){ structlinkqueuenode*p; p=(structlinkqueuenode*)malloc(sizeof(structlinkqueuenode)); p­>data=x;p­>next=NULL; if(QueueEmpty(*q)){ q­>front­>next=p; q­>rear=p; } else { q­>rear­>next=p; q­>rear=p; } } intDeQueue(linkque*q,int*x){

— 2—

教学过程及内容

structlinkqueuenode*p;

if(QueueEmpty(*q)){printf(“queueisempty!n”);return(0);} else { p=q­>front­>next; *x=p­>data;

q­>front­>next=p­>next; if(p­>next==NULL)

q­>rear=q­>front; free(p);

return(1); } } linkqueQ;

voidCreateALGraph(ALGraph*g)//建立图的邻接矩阵表示 { inti,j,k; intflag;

EdgeNode*s1,*s2;

printf(“创建:有向图选0,无向图选1n”);

scanf(“%d”,&flag);

printf(“请输入顶点数和边数(格式为:顶点数,边数)n”); g­>kind=flag;

scanf(“%d,%d”,&g­>n,&g­>e);//输入图的顶点数和边数 printf(“输入顶点的信息,每个顶点以回车作为结束:n”); for(i=0;in;i++)//初始化顶点数组 { scanf(“%c”,&(g­>adjlist[i].vertex)); g­>adjlist[i].firstedge=NULL; } printf(“输入构成边或弧:顶点号i,顶点号j:n”); if(flag==0)//有向图 { for(k=1;k<=g­>e;k++){ scanf(“%d,%d”,&i,&j);

s1=(EdgeNode*)malloc(sizeof(EdgeNode)); s1­>adjvex=j; s1­>next=g­>adjlist[i].firstedge; g­>adjlist[i].firstedge=s1; } }

— 3—

教学过程及内容

else { //无向图

for(k=1;k<=g­>e;k++){ scanf(“%d,%d”,&i,&j);

s1=(EdgeNode*)malloc(sizeof(EdgeNode)); s1­>adjvex=j;

s2=(EdgeNode*)malloc(sizeof(EdgeNode)); s2­>adjvex=i;

s1­>next=g­>adjlist[i].firstedge; g­>adjlist[i].firstedge=s1; s2­>next=g­>adjlist[j].firstedge; g­>adjlist[j].firstedge=s2; } } } voidDFSAL(ALGraph*g,inti)//对以邻接表表示的图,以序号为i的顶点为出发点进行深度优先搜索 { EdgeNode*p;

printf(“%c”,g­>adjlist[i].vertex);//访问序号为i的顶点 visited[i]=TRUE;//将序号为i的顶点设置访问过标记 p=g­>adjlist[i].firstedge; while(p){ if(!visited[p­>adjvex]){ printf(“­­>”);DFSAL(g,p­>adjvex); } p=p­>next; } } voidDFSALTraverse(ALGraph*g,intstart)//对以邻接表表示的图,从最初顶点start出发进行深度优先搜索 { inti;

for(i=0;in;i++)//将图的所有顶点设置为未访问过

visited[i]=FALSE; DFSAL(g,start);//对图进行深度优先搜索 printf(“n”);

} voidBFSAL(ALGraph*g,intk)//对以邻接表表示的图,以序号为i的顶点为出发点进行广度优先搜索 { inti;

— 4—

教学过程及内容

EdgeNode*p; InitQueue(&Q); printf(“%c”,g­>adjlist[k].vertex);//访问序号为k的顶点 visited[k]=TRUE;//将序号为k是结点设置为已访问过 EnQueue(&Q,k);//将序号为k的顶点入队

while(!QueueEmpty(Q)){ DeQueue(&Q,&i); p=g­>adjlist[i].firstedge; while(p){ if(!visited[p­>adjvex]){ printf(“­­>%c”,g­>adjlist[p­>adjvex].vertex);//访问p­>adjvex的顶点

visited[p­>adjvex]=TRUE; EnQueue(&Q,p­>adjvex); } p=p­>next; } } } voidBFSALTraverse(ALGraph*g,intstart)//对以邻接矩阵表示的图,从最初顶点start出发进行广度优先搜索 { inti;

for(i=0;in;i++)//将所有顶点设置为未访问过 visited[i]=FALSE; BFSAL(g,start);//对邻接矩阵表示的图进行广度优先搜索 printf(“n”); } voidmain(){ ALGraph*g=(ALGraph*)malloc(sizeof(ALGraph)); CreateALGraph(g);

DFSALTraverse(g,0);//从顶点0出发进行深度优先搜索 BFSALTraverse(g,0);//从顶点0出发进行广度优先搜索 }

— 5— 授课进度第16周,第30次课(2学时)授课题目

(教学章、节实验八查找 或主题)

授课日期

016年12月14日(12 2

月13日)

.掌握顺序查找、折半查找算法的思想及程序实现。1 2 .掌握二叉排序树、AVL树的查找、插入、删除、建立算法的思想及程序实现。.掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散 3 教学

目标 列表的查找、建立。

.掌握顺序查找、折半查找算法的思想及程序实现。1 .掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散 教学 2 重点 列表的查找、建立。

1.掌握散列存储结构的思想,能选择合适散列函数,实现不同冲突处理方法的散

教学 列表的查找、建立。难点

请选择你授课时所采用的教学方法(在括号中画“√”):

讲授法﹝﹞,讨论法﹝﹞,演示法﹝﹞,案例法﹝﹞,发现法﹝﹞,探究法﹝﹞,教学

谈话法﹝﹞,实验法﹝√﹞,参观法﹝﹞,考察法﹝﹞,自学辅导法﹝﹞,练习

方法

法(习题或操作课)﹝√﹞,读书指导法﹝﹞,听说法﹝﹞,写生法﹝﹞,视唱 法﹝﹞,工序法(技能课)﹝﹞,实习作业法﹝﹞,其他﹝﹞ 教学

实物﹝﹞,多媒体﹝﹞,投影﹝﹞,影像﹝﹞,CAI课件﹝﹞,PPT﹝√﹞,标本

手段

﹝﹞,挂图﹝﹞,模型﹝﹞,其他﹝﹞ 讨 论、思考 题、作业

[ 1]李素若,陈万华,游明坤主编.数据结构.北京:中国水利水电出版社,2014.[ 2]李素若,陈万华,游明坤主编.数据结构习题集及上机指导.北京:中国水利水 请选择你授课时所采用的教学手段(在括号中画“√”):

参考

电出版社,2014.文献

第五篇:实验课教案

实验课题:测量1分钟的心跳与脉搏次数

实验目标:

1、了解自己在正常情况下1分钟的心跳跳动的次数以及脉搏跳动的次数;

2、认识心跳与脉搏之间的关系

实验器材或药品:橡胶管、钟表

实验设想:一个人一分钟内心脏跳动多少次、人的脉搏速度是怎样的?心跳和脉搏有什么规律?

实验探究过程:

1、把橡胶管连在两个漏斗颈上,做成一个简易听诊器;

2、用听诊器与同学互相听心跳的声音,记录一分钟心跳的次数;

3、与同学互相摸脉搏,记录一分钟脉搏的次数;

4、边听对方的心跳边测他的脉搏,观察心跳与脉搏跳动有什么关系。

现象观察:人的心脏跳动一次,人的脉搏就搏动一次

实验结论:在正常情况下,人的心跳和脉搏是一致的实验课题:测肺活量

实验目标:

1、知道什么是肺活量,掌握测量肺活量的正确方法,并能测量自己的肺活量。

2、知道体育锻炼对呼吸和心脏带来的好处;认识到清新的空气,合理的运动,有助于我们的健康。

实验器材或药品:气球、卷尺、塑料瓶、直尺、吸管 实验设想:人的肺活量都一样吗? 实验探究过程:

一、制作肺活量测量器

1.沿塑料瓶的外壁由下向上贴上白纸条;

2.用100ml的烧杯装满水,倒入塑料瓶,小心不要把水倒在瓶外,然后用记号笔沿水面标上100ml的记号,依次进行,标到1000ml即可。

二、测肺活量

1.测量前,一定要先将塑料中装满水,并盖上盖子;

2.把塑料瓶倒扣在水槽中,瓶口一定要没在水的下方;

3.在水中旋开盖子,将直角弯头管的一头伸进塑料瓶;

4、吸足一口气,尽最大力气向水中吹气;

5、读出自己的肺活量,读的时候是读出瓶中空的体积,不是读出瓶中水的体积;

6、在第二个同学测之前,也一定要将瓶中的水装满。现象观察:每个人的肺活量不尽相同。实验结论:人的肺活量有大有小。实验课题:研究心脏的跳动和血液循环

实验目标:知道血液循环系统的组成及其作用;知道血液循环系统的组成及其作用。

实验器材或药品:水盆,水,塑料瓶

实验设想:心脏为什么要不停地跳动?心脏不停跳动究竟有什么作用呢?

实验探究过程:

一、模拟心脏跳动。1.在水中反复挤压和放松塑料瓶,仔细观察现象,实验时水槽中的水要适量。2.在水中挤压塑料瓶的活动可以利用输液管替换,效果更接近“原型”:找一些医院里的输液管(最好是新的),在中间的塑料小瓶子的两端各保留适当长度的管子,截掉多余部分,再用两个培养皿,往其中一个倒入适量红水,挤压塑料小瓶,仔细观察现象。

二、观察人体血管图。1.观察、介绍人体的血管。2.找一找,在人身体的哪些地方能摸到脉搏。3.感受自己的脉搏跳动。

三、测量1分钟的心跳和脉搏次数。1.脉搏和心跳最好同时测出,因为人的心跳次数并非固定不变。2.测量活动可以两人合作完成,同学帮助测脉搏,自己测心跳,然后轮换。3.边测量边记录数据。

现象观察:当我们模拟心脏跳动时,手有节奏地握紧与张开,手臂上的肌肉也随着一起紧张、放松。

实验结论:心脏总是在不停地跳动,并与脉搏跳动的次数一致。实验课题:研究杠杆的秘密(探究杠杆省力的秘密)实验目标:

1、认识什么东西叫作杠杆(即杠杆的特点)。

2、认识杠杆的巧妙作用及它是如何产生作用的。

3、能利用杠杆的原理解决生活中的一些难题。

实验器材或药品:带刻度的平衡尺、钩码、铁架台 实验设想:在什么情况下杠杆省力? 实验探究过程:

1.组装杠杆尺,并把杠杆尺调成平衡状态。

2.确定杠杆尺一侧的点为阻力点,挂一定数量的钩码。

3.在另一侧确定动力点的位臵,看看在不同位臵上需要挂多少钩码。才能使杠杆尺保持平衡,并记录结果。

4.改变阻力点的位臵,重复第二步,做三次实验。现象观察:

省力杠杆的特点是:用力点到支点的距离大于阻力点到支点的距离;费力杠杆的特点是:用力点到支点的距离小于阻力点到支点的距离;不省力也不费力杠杆的特点:用力点到支点的距离等于阻力点到支点的距离。

实验结论:平衡尺仍保持平衡尺,这说明杠杆省力与否与着力点到支点的距离有关。实验课题:研究轮轴的作用 实验目标:

1、认识轮轴的结构。知道利用轮带动轴可以省力,利用轴带动轮转动可以省距离。

2、能够识别生活中应用轮轴的实例,会分析它是怎样帮助人们提高工作效率的。

实验器材或药品:轮轴套装,细线,钩码,弹簧测力计 实验设想:轮轴有什么作用? 实验探究过程:

1、用一个轮轴实验装臵来研究轮轴的作用,记录实验数据,最后进行实验数据分析。

2、换一个大一点的轮,记录下更大的伦用多少钩码可以是轮轴保持平衡,记录数据。

现象观察:

把各组轮轴收起来,分两类放在一起。对比它们的轮和轴。发现:轴相等的情况下,轮越大越省力。

实验结论:

通过实验发现在轮轴的轮上用力能够省力,如果轴不变,轮越大越省力。由此我们也认识到轮轴也是一种机械。

实验课题:用定滑轮提起重物

实验目标:初步认识定滑轮,了解定滑轮在生活和实际中的应用。

实验器材或药品:铁架台,钩码,细线,定滑轮、弹簧测力计

实验设想:如何把货物运到高处? 实验探究过程:

1、安好定滑轮,在定滑轮上挂一根绳子,在绳子的两端任意挂上一些钩码,当绳子平衡时,两端的钩码数相同。

2、改变钩码的数量再做几次。现象观察:

当弹簧测力计斜向上拉时,拉力的示数会变大。实验结论:

定滑轮不能省力,但是可也改变用力方向。实验课题:用动滑轮提起重物

实验目标:初步认识动滑轮,了解动滑轮在生活和实际中的应用。

实验器材或药品:铁架台,钩码,细线,定滑轮、弹簧测力计

实验设想:使用动滑轮有什么好处? 实验探究过程: 1.组装好动滑轮;

2.用测力计分别直接提升1个钩码、2个钩码、3个钩码,测出用了多大的力;

3.分别在动滑轮上提升1个钩码、2个钩码、3个钩码,测出用了多大的力(每种做3次);

比较直接提升和用动滑轮提升升重物用力的不同。现象观察:使用动滑轮提升钩码,弹簧秤的示数约是钩码重的二分之一。在提升钩码的过程中也把动滑轮提升起来,当钩码重远大于动滑轮重时,动滑轮才可忽略不计,从而得出使用动滑轮可以省一半力的结论。

实验结论:动滑轮能够省力,但是不能改变用力的方向。实验课题:研究滑轮组的作用

实验目标:会根据滑轮组的挂线判断滑轮组的省力情况,会根据要求,正确组装滑轮组。

实验器材或药品:铁架台,钩码,细线,滑轮组,弹簧测力计

实验设想:

使用滑轮组的优点是什么? 实验探究过程: 1.组装好滑轮组;

2.用测力计分别直接提升1个钩码、2个钩码、3个钩码,测出用了多大的力;

3.分别在滑轮组上提升1个钩码、2个钩码、3个钩码,测出用了多大的力(每种做3次);

比较直接提升和用滑轮组提升重物用力的不同。现象观察:定滑轮的特点是:能改变用力方向,但不能省力。动滑轮的特点是:能省力,但不能改变用力方向。滑轮组既省力又能改变力的方向。

实验结论:滑轮组既省力又能改变力的方向。实验课题:研究斜面的作用

实验目标:认识像搭在汽车上的木板那样的简单机械叫斜面,斜面可以省力。

实验器材或药品:弹簧秤、小车、光滑的木板、木块 实验设想:“山上的公路和平地上的公路有什么区别?为什么要这样修建?”

实验探究过程:

1.用木板搭造一个斜面,在相同高度下,用测力计提升不同物体需要多大的力,记录数据,并分析实验结果;

2.再用不同坡度的斜面,提升相同的物体,测量需要多大的力,记录数据,分析实验结果。

现象观察:

对研究结果作出分析,发现其中的规律。(发现同一物体从斜面拉上用去的力都小于直接把物体垂直提上去用的力,所以斜面可以省力)

实验结论:斜面的角度越小所需的拉力越小。实验课题:研究不同坡度斜面的作用

实验目标:知道不同坡度的斜面作用不同,坡度越小越省力。

实验器材或药品:长木板,小车,弹簧测力计,小木块 实验设想:

不同坡度斜面的作用是一样的吗? 实验探究过程:

用测力计直接提升物体的力与沿斜面提升物体的力进行对比,然后改变斜面的不同坡度继续进行试验,做好记录为结果的分析提供依据。

现象观察:

斜面都有省力的作用,斜面坡度越小越省力,坡度越大的斜面越费力。

实验结论:斜面能够省力,而且斜面坡度越小越省力。实验课题:研究物体的形状与承受力的关系

实验目标:知道物体形状与承受力有关,改变其形状,承受力也会改变。

实验器材或药品:硬纸、砖块、厚书等重物 实验设想:物体的承受力真的与形状有关吗? 实验探究过程:

1、用大小差不多的纸做成不同形状的纸筒;

2、用胶水粘好后竖直放在桌上;

3、将书本、砖分别放在相关的纸筒上,比较它们的承重力。

现象观察:物体形状与承受力有关系。改变物体的形状,物体的承受力也会发生变化。

实验结论:不同形状的纸筒承受力是不同的,在不同的柱形纸筒中,圆柱形纸筒承受力较好。实验课题:测试纸拱的承重能力

实验目标:认识拱形能够增强抗弯曲的能力。实验器材或药品:小车,钩码,纸,木块

实验设想:让学生看一些拱桥的图片。问为什么桥要做成拱形,特别是在古代,材料还不是很多,强度也不是很好的年代。其原因在那里?

实验探究过程:

1、把纸圈成一圈后松开,做成一个拱形,用木块测试一下它能够承受多大的压力。

2、用两本书分别抵住两边的拱脚,使纸拱不会塌下来,测试一下它能够承受多大的压力。

3、用较多的书抵住脚拱。再测量能够承受多少个木块。现象观察:拱形可以向下和向外传递承受的压力,所以能够承受很大的压力。

实验结论:将纸做成拱形后它能够承载更大的压力,而且拱形受压会产生一个向外推的力,抵住这个力,拱就能承载很大的重量。实验课题:做简单的框架

实验目标:不同形状的框架,变形程度不同;三角形框架是最稳定的结构,从而进一步激发学生研究结构与稳定性关系的兴趣。

实验器材或药品:吸管、胶带、剪刀

实验设想:你对框架式结构有哪些认识?框架式结构好不好?它有哪些作用?

实验探究过程:

1、用三根吸管和胶带做一个三角形框架,试一试稳定性。

2、用四根吸管和胶带做一个四边形框架,试一试稳定性。

3、在四边形框架里面加两根斜杠,再试一试稳定性。与不加斜杠时的框架比一比,哪个坚固。

4、做一个正方体框架,试一试稳定性。

5、在正方体框架的每个面上都加两根斜杠试一试稳定性。

6、在正方体框架的每个面上都加两根直杠试一试稳定性。

7、比一比,4、5、6的不同情况哪种更坚固。

现象观察:通过实验我们知道了三角形是最稳固、最不容易变形的框架。

实验结论:制作框架时,三角形比四边形更加稳定。所能承受的压力也就会更大。实验课题:研究影子形成的原因及特点

实验目标:做光和影的实验,并将观察结果准确地进行记录;根据实验结果分析推理出光源、遮挡物、影之间的关系。

实验器材或药品:不透明物体、光源、白纸、铅笔 实验设想:猜猜看影子是怎样产生的? 实验探究过程:

1、桌面上放上一块长方体木块,打开手电筒开关,从不同位臵照射。

2、在桌面上放三块木块(与手电筒距离不一样),打开手电筒开关。

3、将1块木块平放在桌面上,打开手电筒开关,从水平和垂直方位照木块。

现象观察:影子产生需要的条件,光源、遮挡物、屏。实验结论:影子的产生需要光,垂直照射影子最短,平射影子最长。实验课题:观察阳光下影子的变化

实验目标:识别一天中影子的变化和阳光的变化 实验器材或药品:白纸,橡皮泥,铅笔,温度计 实验设想:想想看从清晨到黄昏,太阳在天空中的位臵在不断变化,阳光下物体的影子也在变化吗?是怎样变化的呢?

实验探究过程:

1.早晨,在校园里找一个物体,给它的影子做上记号,下课的时候再去画一画。

2.用橡皮泥把铅笔垂直固定在白纸上,确定好南北方向。

3.每到下课的时候画出阳光下铅笔的影子;

4.用温度计测出当时的温度,并在影子的顶端记下当时的温度和时间。

现象观察:一天中太阳在正午时最高,物体影子最短;太阳在清晨傍晚时最低,物体的影子最长。

实验结论:一天中,影子变化由长→短→长,温度变化由低→高→低。实验课题:验证光的传播路线 实验目标:了解光的传播路线

实验器材或药品:手电筒,三张小孔纸板,屏 实验设想:光传播的路线是怎样的? 实验探究过程:

1、在三张长方形卡纸的同一位臵打一个洞,把这些卡纸分别用夹子夹住横立在桌上,每张卡纸之间间隔15厘米,并排成整齐的一列,使卡纸的小孔在同一直线上。在最后一张卡纸之后约15厘米的地方,再放一个纸屏。

2、把手电筒放臵在离自己最近的卡纸前一定距离,让手电筒的光射进小孔。观察在纸屏上出现的现象。

3、把第二张卡纸向左移动5厘米,同样用手电筒的光对准离自己最近的卡纸上的小孔,仔细观察纸屏上的现象。

4、比较两次观察到的实验现象。现象观察:光是沿直线传播的 实验结论:光是沿直线传播的实验课题:小孔成像模拟实验

实验目标:知道光在均匀介质中沿直线传播,并能用来解释小孔成像原理;知道小孔成像所成的像的形状与孔的形状有关。

实验器材或药品:小刀,纸盒,铝箔纸,胶布,钉子 实验设想:小孔成像所成的像的形状与孔的形状有关吗?

实验探究过程:

1.在纸盒底部割出一个小窗;

2.在纸盒的另一头用透明纸蒙住;

3.用铝箔纸把小窗盖上,并用钉子(大头针)小心地在小窗中心钻一个孔;

4.观察:将有小窗的一面朝向窗户,前后移动纸盒,直至能在纸上看到清晰的影像为止。

5、分析小孔成像的原因。

现象观察:当孔比较小的时候,物的不同部分发出的光线会到达屏幕的不同的部分,而不会在屏幕上相互重叠,所以屏幕上的像就会比较清晰。但小孔小,到达屏幕的光线少,像不明亮。当孔比较大的时候,物的不同部分发出的光线会在屏幕上重叠,屏幕上的像自然也就不清晰。但小孔大,到达屏幕的光线少,像比较明亮。

实验结论:光在同一物质中是沿直线传播的。窗户上成的是一个倒立的实像。实验课题:让小灯泡发光

实验目标:能用多种方法让小灯泡亮起来,知道电池、导线、灯泡的作用。

实验器材或药品:导线,电池,小灯泡 实验设想:灯泡是如何发光的呢? 实验探究过程:

1、导线连接小灯泡的螺纹与电池底部的锌壳,电池铜帽与小灯泡的锡粒接触,观察现象。

2、导线连接小灯泡的锡粒与电池底部的锌壳,电池铜帽与小灯泡螺纹接触,观察现象。

3、导线连接电池铜帽与小灯泡螺纹,小灯泡的锡粒与电池底部的锌壳接触,观察现象。

现象观察:开关的作用是控制电路的通断,保证小灯泡根据需要亮或灭;灯座的两个金属片分别接在小灯泡尾部的锡点部分和金属壳的螺丝部分;电池盒的作用是装电池,先将电池的尾部的负极压在簧片上,再把正极压入电池盒内。

实验结论:一个简单的电路由电池、导线、灯泡和开关组成。实验课题:做个电路检测器 实验目标:制作一个电路检测器 实验器材或药品:电池,小电珠,导线

实验设想:提供一个出了故障的电路,并提出问题:小灯泡为什么不亮了? 实验探究过程:

1.一个由2个灯泡、灯座、1节电池、电池盒连接组成的出故障的电路,一个“电路检测器”。

2.先预测再用电路检测器检测电路中所发生的故障。

3.说出故障原因,并且采用替换法把电路重新接亮。现象观察:

(1)在检测电路时,应先把故障电路中的电池从电池盒中取出;(2)检测故障电路中的电池是否有电,应采用取出电路检测器的电池盒中的电池,将故障电路中的电池放在电路检测器的电池盒里,看看小灯泡会不会亮。

实验结论:连接到没故障的地方,小灯泡就亮,连接到有故障的地方,小灯泡就不会亮。实验课题:比较两种不同的电路连接(串并联)实验目标:能运用串联和并联两种用不同连接方法组成电路。

实验器材或药品:电池,小电珠,导线,回形针,图钉、木板

实验设想:出示二个小组组装的并联和串联的不同电路由学生进行比较,思考为什么同样是二节电池小灯泡的亮度即相差很多?

实验探究过程:

1、把电池装入电池盒里,把灯泡装在灯座上。

2、用导线把电池、灯泡、逐个串接法连起来。比较电池的串联和并联的特点。

3、用导线把电池、灯泡、逐个并接法连起来。比较灯泡的串联和并联的特点。

现象观察:一节电池的电压是1.5V,两节电池串联起来的电压是3V,所以小灯泡会特别亮。两节电池并联起来,电压还是1.5V,所以小灯泡不太亮。在总结的基础上形成板书:电池串联电压是两节电池之和,二节电池并联电压和一节电池的电压相等。

实验结论:并联电路的小灯泡比串联电路的亮。实验课题:检测导体与绝缘体

实验目标:检测区分各种物体是导体还是绝缘体 实验器材或药品:电路检测器,钥匙,木梳,纸板,橡皮,回形针等待检物品

实验设想:哪类物体是导体?哪类物体是绝缘体? 实验探究过程:

一、制作检测电路

1.把电池装入电池盒。2.把小电珠装入灯座,注意装小电珠时不要太用力。3.用导线把电池盒、小灯座、开关连接起来,并留出检测线,注意所用导线两头的绝缘层一定要事先剥去。4.检测电路的通电情况。

二、检测物品的导电性能

1.预测:哪些物体能导电?2.用检测电路分别检测物品的导电性能:将检测物品分别接入检测电路,通过小电珠的亮与灭来判断物品的导电性能。3.边实验边记录。

现象观察:生活中,人们利用导体把电流送到需要的地方,利用绝缘体阻止电流到人们不需要地方。

实验结论:容易导电的物体叫做导体,如钥匙、回形针、人体等;不容易导电的物体叫做绝缘体,如橡皮、纸板、木头等。

实验课题:磁铁能吸哪些物体

实验目标:磁铁能吸引铁制的物体,这种性质叫磁性 实验器材或药品:磁铁、纸板、铁钉、玻璃、橡胶、木块等

实验设想:磁铁能吸引什么物体?

实验探究过程:拿磁铁依次靠近纸板、铁钉、玻璃、橡胶、木块等材料,观察现象。

现象观察:磁铁主要能吸引铁一类的物体。

实验结论:能被磁铁吸引的物体都是铁材料制成的,不能被磁铁吸引的物体不是铁材料制成的。

实验课题:磁铁能隔着物体吸铁吗

实验目标:研究磁铁隔着一些物体能不能吸铁。实验器材或药品:磁铁、白纸,细铁屑 实验设想:磁铁能隔着物体吸铁吗? 实验探究过程:

1、在一张纸上面放上细铁屑。

2、把磁铁放在纸的下面,来回移动,看看能否吸住回形针。

3、记录观察的现象。

现象观察:磁铁隔着一些物体能吸住铁。实验结论:磁铁隔着一些白纸,也能吸铁。实验课题:磁铁什么地方磁力大

实验目标:认识磁铁上磁力最强的部分叫磁极,磁铁有两个磁极;学会正确运用“磁力” 进行表述。

实验器材或药品:磁铁,回形针

实验设想:磁铁各部分磁力大小一样吗?

实验探究过程:把磁铁分成四段,标上A/B/C/D/E,用磁铁的各部分去吸回形针记录各部分吸引回形针的个数。

现象观察:磁铁两端磁力最强、中间磁力最弱,科学家把两端磁性最强的地方,叫做磁极。

实验结论:磁铁两端磁性最强,磁铁上最强的部分称磁极,磁铁有两个磁极。实验课题:磁铁两极的研究

实验目标:通过实验,明白磁铁上磁力最强的部分称磁极,磁铁有两个磁极,两个磁极接近,有时互相吸引,有时互相排斥。

实验器材或药品:磁铁,水槽,泡沫

实验设想:一块磁铁有两个磁极,如果我们把两块磁铁的磁极互相靠近,又会发生什么有趣的现象呢?

实验探究过程:把两块磁铁的两端分别标上A/B/C/D,再将它们相互接近,观察结果。用符号“→←”表示相互吸引的情况,用符号“←→”表示相互排斥的情况,把实验的结果记录下来。

现象观察:B和C排斥,B和D相吸,A和C相吸,A和D排斥。

实验结论:当两块磁铁的磁极接近的时候出现了两种现象,吸在一块儿我们就叫做互相吸引,推开去叫做互相排斥。实验课题:磁极是怎样相互作用的

实验目标:能通过实验找到磁铁的南极与北极,探究磁极之间相互作用的规律及生活中的应用

实验器材或药品:条形磁铁,铅笔

实验设想:想想让两块磁铁的磁极相互靠近,共有几种情况?

实验探究过程:用两只手握住两块有标识的磁铁,将它们的磁极相互接近,S极与S极排斥;N极与N极排斥;S极与N极吸引;N极与S极吸引。

现象观察:当两块磁铁相互靠近时,同极相互排斥,异极相互吸引

实验结论:磁铁的同极相互排斥,异极相互吸引实验课题:探究磁铁磁力大小的变化

实验目标:知道磁电磁铁的磁力大小是可以改变的;电磁铁的磁力大小与电流的大小、线圈的圈数等有关。

实验器材或药品:电磁铁,大头针,电池,粗细不同的导线,粗细铁钉

实验设想:怎样使我们的自制电磁铁吸引更多的回形针?

实验探究过程:

1、用同一个电磁铁,改变电池个数的多少分别来吸引回形针,比比吸引回形针的数量有什么不同;

2、用导线匝数不同(铁钉粗细相同、电池个数一样多)的电磁铁分别去吸引回形针,看看哪个电磁铁吸引的回形针多,把观察到的现象记录下来;

3、用铁钉粗细不同的电磁铁(导线匝数相同、电池个数要样多)分别去吸引回形针,看看哪个电磁铁吸引的回形针多,把观察到的现象记录下来。

现象观察:电磁铁的磁力大小与电流大小、导线匝数有关。

实验结论:电流大磁力大,电流小磁力小;导线匝数多,磁力大,导线匝数少,磁力小。实验课题:制作铁钉电磁铁

实验目标:

1、要求学生知道电磁铁在通电条件下有磁性,电磁铁也有两极,它的两极是可以改变的。

2、培养学生的制作能力(学会制作电磁铁的方法),试验能力和归纳概括能力。

实验器材或药品:大铁钉、电池、电池座、绝缘导线、回形针若干

实验设想:学生动手制作铁钉电磁铁。接着引导认识电磁铁的结构,他由哪几部分构成?(铁芯、线圈两部分)

实验探究过程:

1.将带有绝缘层的细导线紧密绕在铁钉上,至少30圈;将导线与电池组成电路。

2.用自制电源接触回形针,观察现象。

现象观察:改变电池正负极的连接方法或改变线圈缠绕的方向会改变电磁铁的南北极。

实验结论:电磁铁是利用电流获得磁性的装臵。实验课题:用通电导线和指南针研究电和磁的关系 实验目标:通过实验使学生知道电流可以产生磁性,电流越强、线越多,磁性越大。线圈可以检测是否有电流。

实验器材或药品:大铁钉、电池、电池座、绝缘导线、回形针若干

实验设想:你觉得电和磁之间有关系吗?电路中放入电池灯泡会亮,如果把磁铁接在导线上能让灯泡发亮吗?磁铁不能让灯泡发亮。如果把导线接近指南针会怎样?电能不能产生磁?怎样证明电能不能产生磁?(如果指针偏转说明能产生磁。指针没动说明没磁性。)

实验探究过程:

1、在铁钉上缠绕一定圈数的漆包线,然后串联不同数量的电池,分别观察吸起大头针的数量。

2、在同一个铁钉上先后缠绕不同圈数的漆包线,然后串联相同节数的电池,分别观察吸起大头针的数量。

现象观察:电能产生磁,没电就没磁。

实验结论:

1、串联电池数量多的电磁铁,吸起的大头针多,说明它的磁力大一些。

2、缠绕圈数多的电磁铁,吸起的大头针多,说明它的磁力大一些。实验课题:研究铁钉电磁铁的南北极

实验目标:做研究电磁铁的南北极的实验,猜测电磁铁的南北极与什么有关,并通过对比实验来验证猜测,得出电磁 铁南北极与电池正负极接法和改变线圈绕向有关。

实验器材或药品:电磁铁,指南针

实验设想:对于普通的磁铁来说,磁性强的地方是磁极。电磁铁有磁极吗?我们可以验证电磁铁是否有磁极吗?怎么做?

实验探究过程:

(1)导线靠近指南针,指南针不偏转(2)导线接上电池靠近指南针,指南针偏转

现象观察:电磁铁具有接通电流产生磁性、断开电流磁性消失的基本性质。

实验结论:改变通过电磁铁中的电流方向(电池的正负极连接和线圈绕线方向)会改变电磁铁的南北极。实验课题:岩石的观察记录

实验目标:认识到岩石组成地球外壳,覆盖在地球表面; 知道常见岩石在颜色、结构、软硬程度及遇酸后的不同特征;认识岩石有三种类型:岩浆岩、沉积岩、变质岩

实验器材或药品:不同的岩石标本、放大镜、烧杯、钉锤、滴管、稀盐酸

实验设想:了解岩石的特征,你打算用哪些方法?(学生充分发言后,教师应当引导他们认识要从颜色、结构、软硬等方面,通过观察、实验来研究岩石的特征)

实验探究过程:

1.用水冲洗并检查每块岩石。摸摸每块岩石,是光滑的还是粗糙的?观察它的棱角,是圆的还是尖的?用刀片、铜钥匙、手指甲刻划每块岩石,测试其硬度大小。每块岩石的颜色又是怎样的?

2.观察岩石的内部。用手掰开或者用锤子敲开每块岩石,看一看,岩石的内部有什么东西?岩石内部和外部的颜色是相同的吗?有小沙粒掉下来吗?

3.在每块岩石上滴一滴盐酸(注意安全),冒泡吗? 现象观察:

岩石的结构比较复杂,同学们在观察时可以利用放大镜来判断岩石是层状的,还粒状的;是粗粒的,还是细粒的;是由同种颗粒构成的,还是由几种不同的颗粒构成的。

实验结论:花岗岩,花斑状,很硬块状结构,遇盐酸无反应。页岩,红褐色或灰色,较软,薄层状结构,遇盐酸无反应。石灰岩,青灰色或褐色,较硬,颗粒状结构,遇盐酸冒泡。

实验课题:认识几种常见的岩石,尝试用不同的标准对其分类(如颜色、形状、质地等)

实验目标:

1、观察、记录、描述几种常见岩石的颜色、结构和构造。

2、根据岩石的显著特征对照有关资料识别岩石。

3、根据需要对岩石进行观察、比较、以及查阅相关资料。

实验器材或药品:各种常见的岩石标本

实验设想:我们来看一看地质学家是怎样描述岩石的? 实验探究过程:

1、观察岩石的颜色、光泽等;

2、利用条痕板观察矿物的条痕,用指甲或小刀来估计硬度;

3、按三大类岩石进行分类;

4、观察火成岩的结构、构造,对火成岩进行分类;

5、观察沉积岩的颜色、成分、结构、构造,对沉积岩分类;

6、观察变质岩的矿物、结构、构造等。

现象观察:引导学生认识岩石学家对岩石种类作出判断的方法,如用放大镜和显微镜观察岩石薄片的成分和颗粒组成;岩石颗粒的大小和结构。

实验结论:岩石不都是粗糙的石块,表面光滑、色彩鲜艳、纹理美丽的鹅卵石、雨花石也是岩石,只是由于风化、流水的冲击摩擦等自然因素的影响而改变了她的模样。

实验课题:观察、描述矿物(条痕、软硬、透明度、光泽和形状)

实验目标:指导在学习过程中获取一些矿物颜色、条痕、软硬等方面的基本科学知识。

实验器材或药品:各种矿石标本,钥匙,小刀,放大镜等

实验设想:我们知道岩石是由矿物组成的,那我们会对矿物进行描述吗?哪些方面你觉得最能反映矿物的本质属性?

实验探究过程:

1、观察各种矿物的集合体形态(粒 状、片状、致密块状等集合体)和物理性质(颜色、光泽、解理等)

2、还可以利用条痕板观察矿物的条痕,用指甲或小刀来估计硬度;

3、对矿物进行分类。

现象观察:很多的矿物是以颜色的名字命名的,因为颜色是最容易观察到的矿物的特征,也是辨认矿物的重要依据之一。但有些矿物具有多种色彩,有些不同矿物却具有相同的色彩。

实验结论:在识别矿物时,清楚有些矿物具有多种色彩,有些不同的矿物具有相同的色彩,知道矿物的条痕颜色比矿物的外表颜色更可靠,一部分同学能适当举出例子。

实验课题:昼夜交替现象的模拟实验

实验目标:知道昼夜交替现象有多种可能的解释,初步理解昼夜交替现象与地球和太阳的相对圆周运动有关。

实验器材或药品:地球仪,电灯等

实验设想:昼夜交替现象的产生可能与什么有关? 假如太阳和地球,它俩都静止不动,能产生昼夜交替现象吗?为什么?

实验探究过程:

1、将实验室窗户适当遮挡。

2、在地球仪的中国北京贴上小红旗。手电筒代表太阳,六名同学围成圆圈,圆圈中间站一同学手中擎起地球仪。

3、假设地球和太阳的运动方式,并模拟,做好记录。现象观察:昼夜交替现象产生与太阳和地球运动有关。实验结论:地球是个球体,太阳只能照亮地球的一半,对着太阳的一面是白昼,背着太阳的一面是黑夜。地球不停地转动,昼夜现象就会交替出现。

实验课题:太阳运动与影子变化模拟实验

实验目标:能用简单的方法(借助身体和器物)进行观察,发现影子变化的规律;能继续观察和记录阳光下物体影子的变化;知道一天中气温和影子的变化与太阳的运动有关。

实验器材或药品:竹篾,电筒,橡皮泥,铅笔 实验设想:太阳每天从什么方向升起?在什么方向落下?阳光下的物体有什么特点?

实验探究过程:1.手电筒代表太阳,竹篾代表太阳运动的轨迹,小标杆代表地球上能产生影子的物体。2.围绕地球仪转动手电筒,观察地球仪上的明暗变化。3.固定电筒位臵,转动地球仪,观察地球仪上的明暗变化。

现象观察:太阳的位臵和高度决定了影子的方向和长短。太阳在东,影子在西……太阳高度高,影子则短,太阳高度低,影子则长。影子的长短变化和气温存在着一定的联系:一般情况下影子长,气温就低……但每天最高气温并不是影子最短的时侯,而是在下午1—2点之间,这是因为那时地球吸收太阳热辐射最多,故气温最高。

实验结论:太阳高度越高,影子越短;反之影子越长。

实验课题:模拟月相变化

实验目标:根据已有的现象进行简单集体模拟,同时学生能了解月球、地球、太阳的运行位臵以及初一的月相;利用模拟实验,清楚观察到月相,明白月相变化的规律。

实验器材或药品:月相盒套装

实验设想:月相怎样变化?月相为什么会发生变化? 实验探究过程:

1、把塑料球的一半用黑墨水涂黑;

2、在地面上画上直径一米和0.5米的两个同心圆,小圆代表地球,大圆代表月球的公转轨道。其中一名同学站在同心圆的圆心上;

3、一名同学手举塑料球站在图中标出的四个位臵上,站在中央的同学观察白半球的外形。

现象观察:月相变化是月球围绕地球公转过程中形成的,变化是有一定规律的:农历上半月由缺到圆,亮面向右;下半月由圆到缺,亮面向左。

实验结论:观察到塑料球的西半边先看到,而且越来越大,直至整个满月的出现,然后再是东半球亮,然后越来越小,直至什么也看不到。

下载The King’s New Clothes校内实验课教案word格式文档
下载The King’s New Clothes校内实验课教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    六年级实验课教案

    电铃响丁当教案 一、教学目标: 过程与方法 ●能够根据所给的材料制作一个电磁铁; ●能够做电磁铁的磁力大小跟哪些因素有关的实验; 知识与技能 ●知道什么是电磁铁; ●知道电磁......

    电工学实验课教案

    电工学实验课教案 实验一基尔霍夫定律的验证 实验二电压源与电流源的等效变换 实验三叠加原理的验证实验四戴维南定理的验证 实验五日光灯线路的连接 实验六功率因数的提高......

    数据结构实验课教案

    数据结构教案 实验一:线性表的顺序表示与实现 实验学时:2学时 一.实验目的: 1.掌握线性表的顺序存储结构; 2.掌握在顺序表上进行的插入、删除、查找、修改等操作。 二.实验内容: 1.......

    一双手实验课教案

    实验课教案(学科: 语文 ) 一双手 教学目标 1、知识目标:抓住特征,多角度地细致描写一双手,表现主人公的精神境界。2、能力目标:进一步提高圈点读书的能力。3、情感目标:林业工人对......

    课题实验课教案2

    课题实验课名称:《质量守恒定律》 设计人:哈尔滨市阿城区第三中学:纪威泊 【教材分析】 1、本课在教材中的地位和作用: 本节课是《义务教育课程标准实验教科书》人教版九年级化......

    范进中举实验课教案

    语文备课大师 xiexingcun.com 《范进中举》实验课教案 教学设想: 1. 课型设计:探讨研究课 2. 教师在此课型中,扮演导演者、指导者、点拨者的角色。学生是课堂的主角,发挥学生的......

    会计基础实验课教案[推荐]

    实训课 第7.8课时 实训课题 审核原始凭证,编制记账凭证 实训目的 运用所学知识,审核原始凭证,正确编制记账凭证、登记序时账和明细账。 实训准备 学生准备:红黑笔各一支、教材一......

    组内实验课教案5篇

    《秋天的怀念》教学设计 1.在“秋天”的故事中,理解“母爱”的内涵。 2.在“怀念”的情意中,感受“爱母”的思绪。 3.在“秋天的怀念”中,获得“好好活”的思考。 一、创设情境,导......