程序设计初步教案2

时间:2019-05-15 05:38:08下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《程序设计初步教案2》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《程序设计初步教案2》。

第一篇:程序设计初步教案2

——— 本 课 课 题 ————————————

第一课

程序设计入门(二)

一、教学目标

知识目标:

1、初步了解二进制(机器语言)、汇编语言(低级语言)、高级语言等概念。

2、初步了解变量概念。

技能目标:会用计算机分析及处理日常问题。

二、教学重点

用计算机处理问题的过程。

三、教学难点

如何理解用数学模型表示出解决实际问题的方法。

四、教学准备

1、流程图(电子文稿、广播演示),用以显示教材中相关图例。

2、用来演示变量的幻灯片

3、多媒体网络教室

五、教学过程:

一、回顾:

上节课讲到了计算机语言的一些基本概念,二进制的概念,同学们对这些概念已经大致了解了。下面我们来复习一下,看看大家掌握的情况:

十进制数转二进制数:

134

二进制数转十进制数:

机器语言有哪三种

二、新知学习(1)问题的提出

教师课堂上可以先向学生提出问题:如何实现瓶中两种不同液体的交换

学生回答

当然计算机无法实现为我们交换两杯饮料的问题(除非是智能机器人),计算机能解决的是把现实问题转化后的数学问题,我们来看怎么样把这个现实问题转化为数学问题:

用两个变量X、Y来表示甲乙两个杯子,用两个不同的数值1和2来表示可乐和橙汁,现在的问题转化为:要把变量X、Y中的数值进行交换(2)解决方法——算法

饮料交换问题:取一个杯子丙,将甲中饮料倒入丙,乙中倒入甲,丙中倒入乙 把上述过程应用到数学模型中用计算机模拟以上操作步骤得到:

[注意:]

“计算机中的变量与实际生活中的容器的区别”--容器中如果已经装了东西就不能再装其他东西了,只有把里面的东西倒出来才能再装其他东西;而计算机的变量可以反复赋值,新的一次赋值后,原有的数据就被替换掉了。另一方面,把一个变量的值赋给另一个变量,这个变量中的值依然是不变的。

解决该问题的程序:

复习提问:该程序是使用何种计算机语言编写的(机器、低级、高级?)program change;var x,y,z:integer;begin x:=1;y:=2;z:=0;writeln('x=',x,' ','y=',y);z:=x;x:=y;y:=z;writeln('x=',x,' ','y=',y);end.(3)总结

要让计算机解决问题,必须把问题转化为数学问题

一概念与学生日常生活中通常的理解是不同的,学生理解起来可能会有困难,本课中适

1、定义三个变量X、Y、Z;(分别表示3个杯子)

2、把1赋值给变量X,2赋值给变量Y;(1、2分别表示2种饮料)

3、把X中的值传递给Z;(赋值)

4、把Y中的值传递给X;(赋值)

5、把Z中的值传递给Y;(赋值)当加以说明,但在以后的教学中还要反复强调,才能使学生加深理解,真正掌握。

用数学模型模拟现实生活中的过程,是教材中反复要用到的教学手段,也是学生日后在编程时非常重要的环节。本课虽然只是一个开始,只提供一个范例,但是对学生建立正确的编程思想是非常重要的。所以这个问题也是教师在本节教学过程中不可忽视的重要内容。

用流程图表示出解决问题的过程,是本章中一贯的教学内容,意在培养学生养成分析问题的习惯。有关流程图的表示方法将在第二节中详细分析,本课只是要学生理解在程序设计过程中有这样一个环节,而且是非常重要的环节,但对其具体内容不必详细分析。

六、课堂练习

练习1让学生通过实际操作加深理解。可以先用文字描述把交换过程的步骤写下来,再进行抽象,模仿课文中的写法转化成数学模型。

练习2写流程图让学生模仿课文中的流程图进行练习,但不作一定要求。

练习参考答案:

七、教学后记 这节课还是第一课的继续,通过一个简单的例子分析过程,让学生了解计算机解决问题的一个过程,使学生了解把现实生活中的问题转化成计算机处理的过程。尤其是分析交换过程,学生特别感兴趣,不过对于变量学生有些难以理解。

第二篇:程序设计初步教学设计

程序设计初步教学设计

内容分析:第一部分用几个实例让学生认识计算机程序解决问题的基本工作原理。第二部分主要是通过执行几段计算机程序,了解程序的编制环境和工作过程。

学生分析:实验班学生文化课底子好,好动脑,对于简单的程序设计应该容易较容易掌握。但考虑到大部分同学第一次接触程序设计,学生是不可能学会一门程序语言的,因此只能通过现成的程序,让学生体验程序设计的一般过程,体验用计算机解决实际问题即进行信息加工处理的一般过程。教学目标

1.知识目标:了解计算机解决问题的过程;算法的定义及作用。

2.技能目标:了解代码编写步骤,能修改简单地修改代码;熟练VB软件的基本操作;

3.情感目标:培养学生进一步学习程序设计的兴趣 教学重点:帮助学生掌握计算机程序解决问题的过程。教学难点:读懂计算机程序代码。课时安排:3课时

教法与学法:讲练结合、任务驱动、分组讨论

教学过程

一、新课引入

提问“用计算机解决实际问题需要哪两个重要环节”引入算法的计算机实现。(答案 1设计算法 2编制和运行程序来实现算法)

二、新课讲授

1、程序与程序设计的概念

(1)教师设问1:已知直角三角形两边,能否求出第三边?(等待学生回答)

分析:通过已知的公式,按一定过程,计算出结果。(2)教师设问2:计算机能不能解决这个问题?(学生回答:有的说不能,有的说能。)

分析:说不能,是因为计算机不能和人一样直接进行计算。说能,其实是一个过程,由人根据公式设计出算法,再按一定的顺序和过程,通过一些计算机能识别认识的指令来完成计算,其中要考虑数据(边长)和如何下指令。

(3)引入概念:程序和程序设计:(4)练习:完成学习任务单第1题。

2、程序设计实例

1、说明:这是学生第一次接触程序设计的实例,可以在这一简单问题上多花些时间,让学生即能体验和学习程序设计的一般过程,又能培养学生对程序设计的初步兴趣,还能帮助对例

2、例3的理解学习。

过程:

(1)要求学生阅读教材相关部分,分析从设计算法到写出程序共做了哪些工作。

(2)打开指定位置的vf程序,输入课本上的程序代码并运行。(3)要求输入不同的值运行程序。(目的是要学生体验用计算机解决问题的快捷、方便,提高学生对程序设计的兴趣。)

(4)总结:顺序结构的概念;INPUT语句和PRINT语句的含义。(5)练习:完成学习任务单第2题。

例2、过程:阅读教材相关部分内容,分析总结解决问题的步骤;打开指定位置的VB程序原代码,研究各语句在程序中的作用;运行原程序,体会分支结构是如何用程序实现的。

例3、过程 打开VB程序。

1、提出问题:用顺序结构:计算f=3!。(学生写出 PRINT f=1*2*3)

2、继续提出问题:编程实现:计算f=10!。(一部分学生写出 PRINT f=1*2*3*…*10,一部分学生在观察等待。)

3、继续提出问题:编程实现:计算f=100!。(学生发现,求100!方法简单,但实现起来很繁琐,可操作性差。)

4、师生共同分析:在计算过程中,第一步:先计算2!,利用所得结果与2后面的数相乘,第二步:利用所得的积与再后面的一个数相乘,第三步,……,这里面有一个通式,用vb编程语言实现就是每一步都有f=f*I I=I+1 直到I 大于所给的阶乘数。在这里上述通式被循环应用。(循环结构被自然引入。)

5、要求学生阅读教材相关内容,体会问题解决的过程;打开指定位置的原程序代码,研究各语句在程序中的作用;体会循环结构的程序实现;运行程序。

三、小结:

总结本节课所讲内容,交流讨论学习本课后的感想与疑惑。

四、作业:(课上与课后完成)

完成本课学习任务单。

教学反思

1、学生对教材中列举的源程序普遍看不懂。本课要求是体验过程,能不能换一种方式;

2、在教学过程中,按小组学习是可行的。小组中不同层次的学生可形成“伙伴教学”的关系。

第三篇:《除法的初步认识2》教案

《除法的初步认识2》教案

一、教学内容

除法的初步认识,教科书第54~56页。

二、教学目标

1、结合具体情境中,通过动手分实物,经历“平均分”的过程,进一步明确“平均分”的含义,初步理解除法的意义,知道除法算式各部分的名称。

2、在解决问题的过程中,培养初步的应用意识和解决实际问题的能力。

3、主动参与合作交流,大胆交流自己的想法,增强对数学学习的信心和兴趣。

三、教学重点、难点

了解除法的意义,会解决具体问题。

四、教具准备

多媒体、课件。

五、学具准备

小棒。

六、教学过程

活动一

师:同学们,森林里小动物联欢会在热烈的气氛中拉开了序幕。你们想参加吗?那就让我们一起去看看好吗?(课件演示情境图)

师:多么热烈啊!动听的音乐把我们带进了欢乐的海洋。

师:瞧,小动物们开始唱起来、跳起来了,请同学们仔细观察,你从图中发现了什么?

师:你能提出哪些数学问题?(教师把学生提出有关除法的问题板书在黑板上,其它问题放入问题口袋)

活动内容

学生观察情境图,感受热闹的气氛。学生从图中能发现

(1)12个小熊要分组跳拉手舞。(2)有16只松鼠,要分组做游戏。学生提出的问题可能有以下两种:

1、加减法问题

(1)小熊比松鼠少多小只?(2)小熊和松鼠一共有多少只?

2、除法问题:

(1)12只小熊要分组跳拉手舞,怎样分组?(2)16只松鼠分组排队做游戏,怎样分组? 关注要点

通过有趣的动画故事,能产生学习的兴趣,能够从图中发现数学信息,为后面提出数学问题做好铺垫。能根据自己收集到的数学信息提出数学问题,关注学生的问题意识。

活动二

1、师:12个小熊分组跳拉手舞,他们该怎样分组?同学们愿意帮帮他们吗? 师:请同学们借助手中的学具自己摆一摆,分一分,试一试。

2、师:同学们愿意把自己的想法在小组中交流一下吗?

3、哪个小组能说一说你们是怎样排的?

4、师:我们刚才找到了这么多不同的分法,请同学们认真观察一下,这些分法有什么相同之处?

活动内容

教师引导学生选择需要解决的问题,学生利用学具摆出各种情况,在小组中交流自己的想法,展示不同的方案。全班交流可能出现不同想法。

关注要点

能够利用手中的学具进行独立探索,经历平均分的过程;能主动探索得出多种方法,会与同伴交流;在交流的过程中,增强合作意识;能通过认真的观察、思考,找出相同点,关注学生的抽象概括能力;在交流的过程中进一步体会“平均分”的本质含义;是否能与同伴进行交流;能用除法算式表示平均分的过程。进一步体会除法的意义。

七、教学反思

1、在讲解“平均分”时比较细致,学生基本上能够认识“平均分”。

2、在让学生利用学具进行“分一分”时,学生能够5个5个的分,教师又非得强调要一个一个分,效果反而不好。

第四篇:分数的初步认识教案2

分一分

(一)教学内容:北师大版教材三年级下册第53--55页分数的初步认识。教学目标:1.结合具体情境和直观操作,初步理解分数的意义。

2.了解分数的含义知道把一个图形平均分成几份,其中一份表示几分之一,几份就是几分之几。

3.知道分数各部分的名称,熟练认读分数,能够写简单的分数。4.培养学生独立思考、探究学习的能力及思维的灵活性。

教学重点:

1、使学生初步认识分数,了解分数的含义。知道把一个图形平均分成几份,其中一份表示几分之一,几份就是几分之几。

2、会正确读、写分数,知道分数的各部分名称。

教学难点:能准确地说出各分数表示的意义。教学具准备:课件、正方形纸„„ 教学过程:

一、直接导入:

今天我们的课堂上又请到了两位老朋友,你看是谁?(淘气和笑笑)今天我们要将4个苹果分给淘气和笑笑,你认为怎么分公平?(抽生回答并课件展示)为什么每人分两个就公平?板书:平均分。让学生集体说一次,怎样分才公平?(平均分)对,只有平均分才是公平的。

现在老师要把2个苹果平均分给淘气和笑笑,每人分几个?(课件展示)如果只有1个苹果平均分给淘气和笑笑呢?(抽生回答,每人分得“一半”)老师追问:怎样分出一个苹果的一半呢?(提示学生答:中间分,就是平均分)经过大家的帮助将苹果平均分后,淘气得到了多少?(一半)笑笑得到了?(一半)我们来看一看,是不是这样分的呢(课件展示)。老师叙述:把一个苹果从中间分,也就是平均分成了两份,淘气得到了其中的一份,笑笑也得到了同样的一份,她们都分得到了这个苹果的一半。(引导学生一起跟着老师说说分的过程。(课件上出示这句话)

二、探究分数

这半个苹果,你可以用什么方式来表示呢?可以在本子上写一写,画一画,用自己的方式(可以是图形、符号、数字)来表示这一半。(抽生展示各自的方式)若有学生写出二分之一,师板书,并让学生说说:你是怎样想的,怎样来表示出这一半的?师问:你们觉得他表示出了这个苹果的一半吗?比较一下几位同学的表示方法,谁的方法更简洁,更方便一些呢?(结论:用分数表示更清楚准确)。

三、认识分数

1、会读:那你能不能读一读你所写的这个数,教一教大家该怎么读。(生教读两遍)真佩服大家与古代的数学家想法一样,用了不同的方法来表示这个“一半”,后来为了统一,就采用了2这种写法来表示“一半”。

那以后我们就可以用二分之一来表示这个苹果的一半了。再回到开始的问题。淘气得到这个苹果的二分之一,笑笑也得到这个苹果的二分之一。同桌相互

1完整的说一说。师板书:“把1个苹果平均分成2份,表示其中的一份,就是2。”

12、会折:你能表示出这些图形的2吗?请你涂一涂(P53页“涂一涂”)(抽生展示作品,问:他表示出了这个图形的2了吗?验收其余几个图形。)当你在涂正方形的时候,你有什么想法?(抽生展示,观察不一样的折法,这种

1方法可以吗?为什么?)以后我们要找一个图形的2,可以怎么做?

113、探索几分之几:

大家请看,老师把这个图形平均分成了几份?(3份),涂了几份?(1份)涂色部分可以用一个什么数来表示?(3)为什么该用3表示呢?(抽生说表示的意义)这个3表示什么呢?请大家一起说说。

刚才你们都在长方形里表示出了它的3,大家重新拿出正方形纸,请你折一折,涂一涂,表示出这张纸的4。(抽三名学生上台展示)分别让学生说一说自己的想法,怎样表示的。(师:他们表示出了这张正方形纸的)4了吗?但这三位同学表示出的图形形状都不一样,为什么都表示是正方形的4呢?(让学生说说4的意义)11111111

请再涂一份,并想一想,现在涂色部分是这个正方形的几分之几?(抽两名学生说一说可以用4,表示的意思)如果涂三份呢?(4)如果涂四份呢?(4)请你涂一涂。完成的孩子将你的作品举起来,老师发现你们把这个图全部都涂完了,那么如果用以前的数来表示涂色部分是多少呢?(1)。

1131244、今天我们认识了2,3,4,4,4,4(你能说一些这样的数吗),56„„,都是分数。(强调学生说出分数)234你想对分数有更多的认识吗?那我们来写一写:

先写短横线,它的名字叫分数线,表示将一个物体平均分;再写分数线下面的数,它叫做分母,表示将物体平均分成几份;最后写分数线上面的数,它叫做分子,表示其中的份数。这个分数读作:()分之()。一起来读一读,伸出你的手来写一写。再抽生说一说各部分的名称。并板书课题:认识分数。

四、练习闯关

你认识分数了吗?我就用分数的知识来考考你。送给你们一个闯关游戏,有没有信心过关?

1、第一关:看图说分数。(注意指导学生表述的完整性:谁是谁的几分之几)

2、第二关:看图写分数。(抽生说出分数,并说说是怎么想的)

3、第三关:涂一涂。

4、第四关:判断。

5、第五关:想一想。

师:恭喜你们,这么快就轻轻松松过关了。老师真是佩服你们的聪明。师:其实在我们的生活中处处都有分数,比如:一周有7天,1天就是一周的1/7,你能联系生活实际,用几分之几说一句话吗?与同桌说一说。

四、课堂总结:

师:这节课你学会了什么?有什么收获?

课后评析:

分数的知识是学生第一次接触,是在整数认识的基础上进行的,是数的概念的一次扩展,学生理解分数的意义有一定的困难。对于小学生来说,数学学习往往是他们自己生活经验中对数学现象的一种“解读”.在教学中,如果能密切联系学生的生活实际,利用他们喜闻乐见的素材唤起其原有的经验,那么学起来必然亲切、有趣、易懂了。在本节课的教学中,主要让学生通过折一折、说一说、涂一涂等一系列的活动中认识分数。始终给学生充足的时间和空间进行操作,让他们在动手分图形中,感悟分数、理解分数、比较分数。从而培养学生勇于探索的精神。同时通过动手折,动脑想,动口说等活动,让学生亲身经历数学知识的形成过程,提高他们自主探究的热情。

一、在探索中发现

现代教学论认为,在课堂教学中,学生的学习是两个转化过程,一是由教材的知识结构向学生的认知结构转化;二是由学生的认知结构向智能转化。这种转化过程只有以学生装为主体,在教师的积极引导下才能实现。没有学习主体的积极参与是没有办法学会数学的。因此,数学的教学应力求体现知识发展的阶段性,让学生经历尝试、假设、操作、探究和分析等一系列活动,调动学生积极学习的心向,使学习数学成为学生真正意义上的内在需求和追求。在这个教学案例中,学生有“1/2”这个分数的认识经历了一个不断完善、修正、充实的过程。

第一层次,从自然数引入,以生活中的两个实际事例使学生感受到分数“1/2”产生的必要。在这个阶段,“1/2”这个分数在学生的认知结构中是模糊的。因此,一学生用剪刀估摸着把圆形纸片剪成大小差不多的两半的直观操作,使绝大多数的学生感受到剪下的其中一份就是这个“月饼”的1/2。

第二层次,另一学生的质疑并“把圆形纸片对折,在用剪刀沿折痕剪成两半”的演示中,学生对“1/2”这个分数的认识又加深了一层,感受到只有把一个月饼平均分成2份,其中的一份才是1/2。

第三层次,通过老师的演示和质疑:“这一份是这个月饼(出示一个更大的圆形纸片)的1/2吗?”使学生进一步感受到,把一个月饼平均分成两份,其中的一份是这个月饼(特指原先用来平均分的那个月饼)而不能是另外的月饼的1/2。至此,对于一个月饼的1/2,学生有了较清晰的感知。但此时学生对“1/2”的认识仅停留在直观的一个月饼的1/2,认知结构还不能转化为智能。

第四层次,1/2还可以表示什么呢?一石激起千层浪,顿时学生茅塞顿开,纷纷举例。对“1/2”这个分数的认识又向前迈了一大步,为以后分数意义的学习奠定了扎实的基础。学生感悟分数1/2的过程,是思维不断深入、不断发展的过程;是主动建构自己知识结构的过程。

历经四个层次,学生享受到数学探索活动的乐趣,对分数产生了浓厚的兴趣。

二、在发现中体验

数学教学只有通过学生的探索发现,在发现中体验,认知、情感、技能、态度才能协同发展,这才是真正有效的数学学习。这个教学案例中,学生在认识1/2后,教师以一句“认识了1/2后,你有什么想法或问题吗?”为学生创设了自主选择的空间,并根据学生的需求自然引入认识分数“1/4”。通过学生的操作实践去体验分数1/4,3/4,4/4的意义以及它们之间的关系。在这过程中,激发了学生的表现力和创造力,学生还学到了很多书本上不曾涉及到的知识。如“2/4就是1/2”,“4/4就是整一张纸”等。这里,教师为学生创设了选择的空间,让学生体味自主选择的轻松和快乐。整个学习过程,每个学生都有自己的想法、自己的发现,在发现中加深了对分数的感受、体验。

三、在体验中发展

数学教学的目的是多元化的,除了应该掌握的知识、技能外,还要求学生在学习中全面提高自身的素质,发展情感,磨炼意志品质,培养创新精神,完善个性人格等。案例中,在教学的总结阶段,一学生提出了学习中碰到的疑问“怎样才能在圆形纸上表示出1/3?”至此,学生对“把一个物体平均分成三份,其中的一份就是这个物体的1/3。”已经建立了清晰的认识结构,对折出一张圆形纸片的1/

2、3/4等有了实践体验。但对于一张圆形纸片如何折出它的1/3,即在实际运用中出现了困难。学生通过尝试操作、探索研究这一环节,顺利解决了这一实际问题。这是一个生动活泼的、主动的、富有个性的学习过程,学生自己发现问题,又通过操作探索解决了问题。师生自发的热烈鼓掌既是对问题解决的评价,更让学生学会自我欣赏和互相欣赏,有利于自信心的培养。

总之,本案例中,学生对分数的认识,经历了从探索中发现,从发现中体验,从体验中发展的全过程。教师只是起到组织者、点拨者的作用,从而真正做到了关注学生的学习过程和感受。在这样的学习过程中,学生一次又一次的“发现”新分数,认识新分数,他们感到分数就在身边,并获得一次次成功的体验,学得兴趣盎然。

“分数的初步认识”一课是小学阶段一堂必不可少的概念课,他为我们以后学习的小数认识、性质及分数的意义等内容教学奠定基础。下面我想就这节课当时设计时的一些想法以及教学后的反馈情况,谈谈自己的体会与思考。以供大家交流,希望在交流中使自己得到提高。

一、找准学生的真实起点,有效组织教学

在教材的编排中,是第一次编排有关分数的内容,第一次正规的学习分数,但在现实的生活中,学生在成长过程中或多或少感知过分数。在这节课的导入部分,我并没有过多的去创设所谓的生活情景,而是直接开门见山,从一句:“你们听说过分数吗?”导入课文,从学生的回答中,我们可以大概了解学生对分数的认知的情况,从而掌握学生的学习起点,让学生直接进入新知识的学习,更有效地组织学生去探究新知。

二、面向全体,提高学生学习的参与度

法国教育家第斯多惠说过:“教学的艺术不在于传授知识,而在于激励、唤醒、和鼓舞。”课堂上,教师讲得再好,教学环节设计的再恰当,如果没有调动学生的参与热情,那也只是一厢情愿,没有做到面向全体学生,不能实现“让不同的学生得到不同的发展”。我在学生认识了1/2时,先让学生折一折,让学生全体参与体会,分数是在平均分的基础上形成的。然后再认识几分之几时,让学生选择例举的分数用图形折出来或者自己把一个图形折一折创造出一个分数,并互相说说创造出来的分数表示什么意思。这些环节的设计,让学生通过折一折,涂一涂,写一写、说一说等一系列活动,让学生个个动手操作,积极动脑探索,从而初步理解分数所表示的意义。学生参与的主动性被调动起来了,隐性的心理参与和情感投入也加大了。当然在学生全体参与的同时,我们忽视老师的引导者的身份,在学生反馈的情况和动态生成中我们老师要根据课堂的教学内容予以适当的调整。

三、设计层次性的练习,进一步拓展学生的思维。

在练习设计时,先利用看到法国国旗你想到了那些分数,拓展学生的想象能力,通过判断能否直接用分数表示,进一步巩固分数产生的基础是必须平均分。利用色块图,培养学生的转化思想、利用验证1/8,让学生学会学习的方法,在猜想以后要验证,并让学生明白,虽然只分成了两份,但平均分后照样可以用分数表示,进一步完善分数的意义,体现极限思想。我想通过一系列的练习的设计和安排,既可以巩固所学的新知,又能让不同层次的学生得到发展。

四、注重完善知识本身的完整性和科学性

在教学1/2时,从三个问题入手:(1)涂色部分能用什么分数表示、(2)所有空白部分能用什么分数表示、(3)观察这些图形的涂色部分,都由1/2表示,他们所表示的面积都一样大吗?通过这些问题为我们今后学习分率和找对应的量打下伏笔。从而不断地完善数学知识本身的完整性和科学性,

第五篇:Java程序设计实验2

学 生 实 验 报 告 册

课程名称:

学生学号:

所属院部:

(理工类)

专业班级:

学生姓名:

指导教师: ——20 学年 第 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 面向对象编程实验

一、实验目的和要求

(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、JDK环境配置

2、面向对象的封装性

范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){

this.setName(n);

this.setAge(a);

this.setEnglish(e);

this.setComputer(c);

this.setMath(m);} public float sum(){

return english + computer + math;} public float avg(){

return this.sum()/ 3;} public float max(){

float max = computer>math?computer:math;

max = max>english?max:english;

return max;} public float min(){

float min = computer

min = min

return min;

金陵科技学院实验报告

} public String getInfo(){

return “学生信息: n” +

“t|-姓名:” + this.getName()+ “n” +

“t|-年龄:” + this.getAge()+ “n” +

“t|-数学成绩:” + this.getMath()+ “n” +

“t|-英语成绩:” + this.getEnglish()+ “n” +

“t|-计算机成绩:” + this.getComputer();} public void setName(String n){

name = n;} public void setAge(int a){

age = a;} public void setEnglish(float e){

english = e;} public void setComputer(float c){

computer = c;} public void setMath(float m){

math = m;} public String getName(){

return name;} public int getAge(){

return age;} public float getEnglish(){

return english;} public float getComputer(){

return computer;} public float getMath(){

return math;} } public class ExecDemo{ public static void main(String args[]){

Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

System.out.println(“总分:” + stu.sum());

金陵科技学院实验报告

}

} System.out.println(“平均分:” + stu.avg());System.out.println(“最高分:” + stu.max());System.out.println(“最低分:” + stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。

可以从此地址类中得到一个完整的地址信息。

(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”,它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置员工姓名”、“设置员工号码”、“设置员工基本薪水”、所有员工信息的输出getInfo。(3)、定义一个圆形类,可以返回圆的面积与周长。

class Circle{

成员变量 半径 r

构造方法

成员函数 设置和获取 半径

计算周长

计算面积

所有信息输出 } 定义一个矩形类,返回矩形的面积与周长(4)、思考设计:一个人有一本书,一本书属于一个人。//一个人有一本书,一本书属于一个人 //类 新的类别、类型 定义新的数据类型 //两个类的关系 独立的两个类 使用 class Person{ private String name;private int age;private Book book;//一个人有一本书 public Person(){

} public Person(String name,int age){ this.name=name;this.age=age;} public void setBook(Book book){ this.book=book;} public Book getBook(){ return this.book;

金陵科技学院实验报告

} } class Book{ private String name;private float price;private Person person;//一本书属于一个人 public Book(){ } public Book(String name,float price){ this.name=name;this.price=price;} public void setPerson(Person person){ this.person=person;} public Person getPerson(){ return this.person;} } public class TestBP{ public static void main(String args[]){ Person per=new Person(“zhangsan”,20);Book bok=new Book(“Java program”,20.0f);per.setBook(bok);//一个人有一本书

bok.setPerson(per);//一本书属于一个人

per.getBook().getPrice();bok.getPerson().getName();} }

3、面向对象的继承性

范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

反转类:可以将数组的内容反转排列

排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

private int foot = 0;// 用于保存下一个的记录点

public Array(int len){

if(len>0){

this.temp = new int[len];// 此时大小由外部决定

}else{

this.temp = new int[1];// 至少开辟一个空间

} }

金陵科技学院实验报告

public boolean add(int i){ // 加入数据操作

if(this.foot

this.temp[this.foot] = i;// 加入内容

this.foot++;// 改变长度

return true;// 加入成功返回true

}else{

return false;// 加入失败

} } public int[] getArray(){ // 返回全部的数组

return this.temp;} } class SortArray extends Array{ public SortArray(int len){

super(len);} public int[] getArray(){

java.util.Arrays.sort(super.getArray());// 排序操作

return super.getArray();// 返回的是排序后的内容

} } class ReverseArray extends Array{ public ReverseArray(int len){

super(len);} public int[] getArray(){

int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

int count = rt.length-1;

for(int x=0;x

rt[count] = super.getArray()[x];

count--;

}

return rt;} } public class ArrayDemo{ public static void main(String args[]){

ReverseArray arr = new ReverseArray(6);

System.out.println(arr.add(3));

System.out.println(arr.add(23));

System.out.println(arr.add(1));

System.out.println(arr.add(5));

金陵科技学院实验报告

System.out.println(arr.add(6));

System.out.println(arr.add(8));

System.out.println(arr.add(11));

System.out.println(arr.add(16));

print(arr.getArray());} public static void print(int i[]){

for(int x=0;x

System.out.print(i[x] + “、”);

} } } 对照范例写出如下题目:

(1).创建GrandFather类,其中包括

a)属性:姓名(name),年龄(age)

b)方法getGrandFather():显示爷爷的信息

c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

c)方法getFather(): 显示父亲的相关信息

(3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

3、面向对象多态性

范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

/** * 半径

*/ private double radius;

@Override public double calculatorArea(){

return Math.PI * radius * radius;} public double getRadius(){

金陵科技学院实验报告

return radius;} public void setRadius(double radius){

this.radius = radius;} public CircleBottom(double radius){

super();

this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底

private double sideA;

private double sideB;public double getSideA(){

return sideA;} public void setSideA(double sideA){

this.sideA = sideA;} public double getSideB(){

return sideB;} public void setSideB(double sideB){

this.sideB = sideB;} @Override public double calculatorArea(){

return sideA * sideB;} public SquareBottom(double sideA, double sideB){

super();

this.sideA = sideA;

this.sideB = sideB;} } class ZhuTi { //柱体类,完成形状的拼装

/** * 底

*/ private Bottom bottom;/** * 高

*/

金陵科技学院实验报告

private double height;/** * 计算体积

* @return */ public double calculatorVolumn(){

return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){

super();

this.bottom = bottom;

this.height = height;} public Bottom getBottom(){

return bottom;} public void setBottom(Bottom bottom){

this.bottom = bottom;} public double getHeight(){

return height;} public void setHeight(double height){

this.height = height;} public void changeBottom(Bottom bottom){

this.bottom = bottom;} } public class VolumnTest { //测试类

public static void main(String[] args){

Bottom bottom = new CircleBottom(1.0);

double height = 1.0;

ZhuTi zhuTi = new ZhuTi(bottom,height);

double result = zhuTi.calculatorVolumn();

System.out.println(“圆柱体的体积是:” + result);

bottom = new SquareBottom(1.0,1.0);

zhuTi.changeBottom(bottom);

result = zhuTi.calculatorVolumn();

System.out.println(“立方体的体积是:” + result);} } 范例:接口和多态的应用,例如:电脑上实现了USB接口,U盘,打印机等等也都实现了此标准。

金陵科技学院实验报告

interface USB{ public void start();// 开始工作

public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

usb.start();

usb.stop();} };class Flash implements USB{ public void start(){

System.out.println(“U盘开始工作。”);} public void stop(){

System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

System.out.println(“打印机开始工作。”);} public void stop(){

System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

Computer.plugin(new Flash());

Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: 类集

实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验2 类集

一、实验目的和要求(1)理解类集概念

(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList类、HashSet类和TreeSet类(4)理解TreeMap、HashMap

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、类集应用

范例:实现一个超市管理系统,要求可以添加货物,删除货物和查询货物:

。代码如下:

public interface Goods { public String getName();// 得到商品名称

public int getCount();// 得到商品数量

public float getPrice();// 得到商品价格 }

public class Book implements Goods {

private String name;private int count;private float price;

public Book(){ }

public Book(String name, int count, float price){

this.name = name;

this.count = count;

this.price = price;}

public String getName(){

return name;}

public void setName(String name){

this.name = name;

金陵科技学院实验报告

}

public int getCount(){

return count;}

public void setCount(int count){

this.count = count;}

public float getPrice(){

return price;}

public void setPrice(float price){

this.price = price;}

public boolean equals(Object obj){

if(this == obj){

return true;

}

if(!(obj instanceof Book)){

return false;

}

Book b =(Book)obj;

if(b.name.equals(this.name)&& b.count == this.count

&& b.price == this.price){

return true;

} else {

return false;

} }

public int hashCode(){

return this.name.hashCode()+ new Integer(this.count).hashCode()

+ new Float(this.price).hashCode();}

public String toString(){

return “书名:” + this.name + “;书的价格:” + this.price + “;书的数量:”

+ this.count;}

金陵科技学院实验报告

}

import java.util.ArrayList;import java.util.Iterator;import java.util.List;

public class SuperMarket { private List allGoods;

public SuperMarket(){

this.allGoods = new ArrayList();}

public void add(Goods goods){

this.allGoods.add(goods);}

public void remove(Goods goods){

this.allGoods.remove(goods);}

public List search(String keyWord){

List temp = new ArrayList();

Iterator iter = this.allGoods.iterator();

while(iter.hasNext()){

Goods g = iter.next();

if(g.getName().indexOf(keyWord)!=-1){

temp.add(g);

}

}

return temp;}

public List getAllGoods(){

return this.allGoods;} }

import java.util.Iterator;import java.util.List;

public class Test {

金陵科技学院实验报告

public static void main(String[] args){

SuperMarket mak = new SuperMarket();

mak.add(new Book(“Java”, 2, 30.9f));

mak.add(new Book(“C++”, 3, 10.9f));

mak.add(new Book(“JSP”, 5, 80.9f));

print(mak.search(“J”));

mak.remove(new Book(“Java”, 2, 30.9f));

print(mak.search(“J”));}

public static void print(List all){

Iterator iter = all.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

} } } 对照范例写出如下题目:

(1)宠物商店,要求可以添加、删除和查找宠物(2)实现以下两个关系

A、一个学校可以有多个学生,所有学生属于一个学校

B、一门课程可以有多个学生选,一个学生可以选多门课程

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: Java IO操作

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 Java IO操作

一、实验目的和要求

(1)理解输入输出流概念(2)掌握文件输入输出流

(3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、编写类模拟命令Copy

范例:实现文件的复制代码。参考代码如下:

File file1 = new File(“d:”+File.seperator +”demo.txt”);

// 找到第一个文件的File对象

File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

while((temp = input.read())!=-1){ // 表示还有内容可以继续读

output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

2、通过键盘的输入,实现简单的选项操作。

*********XXXX管理系统***********

[1]添加

[2]删除

[3]修改

[4]查询

[5]退出

3、编写一个简单管理系统,实现真实的操作。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: JDBC

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 JDBC

一、实验目的和要求(1)理解JDBC分类

(2)掌握JDBC数据库连接步骤

(3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、安装MySQL数据库,配置好数据库

创建一个数据库表,按要求给出详细的字段设计

pid name age birthday salary

主要操作:

2、创建Eclipse项目,配置驱动包

每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

主要操作:

3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

按照标准的步骤完成对MySQL数据库的操作

主要代码:(添加、修改、删除和查询)

金陵科技学院实验报告

4、试着连接其他类型数据库。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

下载程序设计初步教案2word格式文档
下载程序设计初步教案2.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    C语言程序设计2

    二、顺序结构 1、C语言语句的分类: 表达式语句、控制语句、函数调用语句、空语句和复合语句。 表达式语句:如a=3;c=a+b;等 控制语句:如:if(a>b) c=a;for语句和while语句和switch......

    语言程序设计练习题 2

    汇编语言程序设计练习题 一、单项选择题:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.CPU要访问的某一......

    Java程序设计教案

    Java程序设计 第一讲 绪论 一、安装netbean系统 二、hello world 典型程序结构中各部分的说明: /* * To change this template, choose Tools | Templates * and open the......

    java程序设计教案

    《Java程序设计》 授 课 人:授课班级:电子商务专业 授课教案 第一章Java语言简介 教学目的要求  了解Java的基本特点和用途  掌握如何下载Java SDK软件包  了解设置Java程序......

    java程序设计教案(★)

    课程教案 (理论教学) 课程名称: Java程序设计 课程类型:( 2 )1、必修;2、选修;3、其它 授课对象: 专业(本科) 级 班 授课时间: 至 学年第 学期 计划学时: 学时(其中:理论 ,实验: ) 任课教师......

    初识程序设计教案

    我的《最强大脑》 ——初识程序设计 一、教材分析 本节课的教学内容是初中8年级信息技术教材第9章《程序设计》第1节的内容。本节课所涉及的内容都是程序设计语言中的基本要......

    面向对象程序设计-实验报告2★

    GDOU-B-11-112 广东海洋大学学生实验报告书 实验名称 实验2:构造函数和析构函数 课程名称 面向对象程序设计 学院(系) 学生姓名 成绩信息学院学号 专业 计算机科学与技术实验地......

    初步合作协议 2

    初步合作协议 甲方: 乙方: 甲乙双方依照《中华人民共和国合同法》本着友好合作,平等、诚信、自愿、互惠、双赢的原则,就合作开采《_______________范围稀土》项目协商一致,签立本......