算法与程序设计ma_第1页
算法与程序设计ma_第2页
算法与程序设计ma_第3页
算法与程序设计ma_第4页
算法与程序设计ma_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《算法与程序设计》

教材培训讲稿南京市梅园中学曹书成2006-8-18主要培训内容新课标与实验教材JAVA

VS

VB

计算机语言的发展江苏省高中会考(海南省准高考试题)

相关知识和要求课时安排建议(选修)JAVA编程基础(上)

(下)

勘误表教学案例—1.如何解决问题

2.解决问题的

讨论教学评价——方法与平台

视频案例1、2End新课标与实验教材新课标要求:本模块的学习目的是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。五套教材:教育科学出版社中国地图出版社上海科技教育出版社广东教育出版社浙江教育出版新课标与实验教材算法与程序设计模块的选择与把握

——北大附中李冬梅

程序设计就是通过分析问题、确定算法、编程求解等步骤来解决问题的过程,其中,算法具有重要的作用,它能够提供一种思考问题的方向和方法。因此,从信息素养同时也是科学素养培养的角度,学习程序设计可以锻炼学生的逻辑思维能力,使学生思考问题时更加科学严密和细致全面。程序设计以算法为思想基础,对于算法,学生在数学课程中学习之后,具备一定的基础,可以在程序设计中进一步体验算法的思想。高中信息技术课程的目的是提升学生的信息素养,提高学生的问题解决能力。人的问题解决同计算机的问题解决一样,需要遵循一定的思想,按照一系列的步骤进行。选择“算法与程序设计”这一模块,就是希望学生借此锻炼和提高思维能力,向着有利于问题解决的方向发展。

新课标与实验教材算法与程序设计的软件工程方法与思想

——北大附中李冬梅

软件工程的内容不属于高中学生的学习范围,但软件工程中强调了系统的思想和方法。学习算法与程序设计就是要了解并掌握如何使用计算机解决问题,尤其是要理解问题解决过程中采用的思想和方法,这是学习本模块的关键,也是具有普遍迁移价值的内容,因此,对系统思想和方法的关注成为教学的必然。标准中没有提及软件工程的思想,因为标准一旦明文出现,在不能正确理解的情况下,很容易导致现实教学中内容难度的加深。对于这些必需的方法和思想,可以在教材编写和教学中酌情把握,在教学中进行体现,引发学生对系统方法和思想的思考,并在利用计算机解决问题中有效应用。新课标与实验教材教科版(六章)如何用计算机解决问题?程序设计ABC算法的程序实现程序设计思想和方法软件是如何开发的?综合实践中图版(四单元)走进编程程序设计基础算法与问题解决尝试软件开发JAVA

VS

VBSUN与JAVA微软.NETFramework与VB、C#、J#C#与传奇人物AndersHejlsberg通用中间语言CIL(CommonIntermediateLanguage)Mono(开源平台的.NET)与MigueldeIcaza江苏省高中会考

(海南省准高考试题)江苏省会考纲要和考题

(江苏省考试院编考试指导)海南省准高考试题如何解决等级考试与教学的关系江苏省中小学信息技术等级考试纲要(高级)选修模块一:算法与程序设计单元知识与技能要点试题类型一、算法1.计算机解决问题的过程A2.算法的描述方法A二、程序设计基础3.程序设计语言A4.数据及运算ABC5.程序设计的顺序结构ABC6.程序设计的分支(选择)结构ABC7.程序设计的循环结构ABC8.结构化程序设计思想A9.面向对象程序设计思想A三、算法与问题解决10.解析法ABC11.穷举法ABC12.递归法ABC13.排序与查找数据ABC四、应用程序设计14.程序设计的一般步骤AB15.简单程序设计ABC江苏省新版2006考试指导上表中题型:A为单选题,B为综合分析题,C为操作题

算法与程序设计相关知识要求课时安排建议教学内容建议课时第一单元第一节解决问题的一般方法1第一单元第二节解决问题的算法设计2第一单元第三节算法的程序实现1第一单元第四节程序设计语言简介1第二单元第一节数据及其运算2第二单元第二节顺序结构2第二单元第三节分支结构2第二单元第四节循环结构3第二单元第五节方法与模块化程序设计3第二单元第六节面向对象程序设计初步2第二单元第七节图形用户界面的程序设计3第三单元算法与问题解决5第四单元尝试软件开发6机动3共36

课时第一单元走进编程第二单元程序设计基础

(有关后续培训内容)第一单元走进编程一、算法与算法设计

二、算法的程序实现

一、算法与算法设计(1)算法的概念

(2)算法设计的一般过程

(3)算法的表示

(4)程序设计语言(1)算法的概念

●“算法就是解决问题的步骤序列。”●高中数学课程标准实验教材A第三册第一章一、算法与算法设计数学

中的算法(2)算法设计的一般过程1.分析问题

·

明确解决问题所需要的所有的已知条件

·

明确要解决什么问题2.设计算法

使用一种简单易行的表达方式设计出解决问题的步骤。

一、算法与算法设计(3)算法的表示1.自然语言

2.流程图

3.伪代码

4.程序设计语言

一、算法与算法设计一题多解,做中学问题:“某班同学身高的最高值是多少?”算法的描述(1)1.用自然语言描述问题:“某班同学身高的最高值是多少?”

步骤1:输入第一个同学的身高值步骤2:输入下一个同学的身高值步骤3:比较两个同学的身高值步骤4:选出较大值步骤5:再输入下一个同学的身高值步骤6:再用这个同学的身高值和较大值进行比较步骤7:再选出较大值重复第(5)至(7),直到输入最后一个同学的身高,比较后选出较大值步骤8:该较大值即为全班同学的最高身高2.用流程图描述算法的描述(2)问题:“某班同学身高的最高值是多少?”

3.用伪代码描述4.用算法语言描述

伪代码是采用一种类似于程序设计语言的代码来描述算法。基本指令:l

赋值指令:助记符←表达式;l

输出指令:输出(表达式);l

循环指令:while(条件表达式)

{循环体}l

条件指令:if(条件表达式){指令序列1}else{指令序列2}算法的描述(3)4.用算法语言描述问题:“某班同学身高的最高值是多少?”

importjava.io.*;//导入所需要的公共类publicclassTestMax{publicstaticvoidmain(String[]args)throwsIOException{doublem=Input();doublex=Input();while(x>0){if(x>m)m=x;elsex=Input();}System.out.println("最大值="+m);//输出比较结果

}staticdoubleInput()throwsIOException{ InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderinput=newBufferedReader(reader);System.out.print("输入身高值:");Strings=input.readLine(); doublen=Double.parseDouble(s);returnn;}} 算法练习一、算法与算法设计(4)程序设计语言

程序设计是用计算机能够理解的语言(程序设计语言)来设计算法的。

·机器语言

·汇编语言

·高级语言(算法语言)一、算法与算法设计算法语言使用较普遍的高级语言有:FORTRAN、BASIC、Pascal、C、C++、Java、VB、C#、Prolog、Lisp等等。二、算法的程序实现(1)程序设计的一般流程(2)Java开发系统 (JDK)(3)Java集成开发环境与可视化集成开发环境

(1)程序设计的一般流程二、算法的程序实现编辑程序

编译程序运行程序

通常情况下,一项任务可以由多种编程语言实现。选择一种什么样的程序设计语言来解决问题并不是最重要的,关键是把握算法与程序设计的思想。(1)程序设计的一般流程计算机解决问题的过程(2)Java开发系统(JDK)二、算法的程序实现1.安装JDK

JDK包括Java环境、Java语言、JavaAPI应用程序接口和Java类库。

1)安装

2)设置系统环境

2.使用JDK安装JDK下载的JDK程序名为:j2sdk1.4.2.exe

运行j2sdkj2sdk1.4.2.exe则自动将Java的开发系统安装在目录c:\j2sdk1.4.2_03下。Java编译程序javac.exe等可执行文件就位于c:\j2sdk1.4.2_03\bin目录内。

设置系统环境

●设置路径path为c:\j2sdk1.4.2_03\bin,●设置类路径classpath为Java系统的类文件所在目录c:\j2sdk1.4.2_03\lib。

安装JDK目录2.使用JDK●编辑程序:使用纯文本编辑器(记事本)编写程序代码●

编译程序:使用Java命令javac.exe

编译程序●

运行程序

:使用Java命令java.exe

运行Application程序

使用Java命令appletviewr.exe

运行Applet程序●调试程序

:使用编辑器修改程序代码1)建立用户文件夹;2)进入命令行方式实例(3)Java集成开发环境与可视化集成开发环境

1.Java集成开发环境集成开发环境工具的软件(简称IDE)集程序的编辑、编译、调试、运行于一体。TextPad、JCreator、JPadPro、FreeJava、BlueJ等。

2.Java可视化集成开发环境在集成开发环境的基础上增加了“所见即所得”可视化设计的功能。

SymantecVisualCafé

、BorlandJbuilder

SunForteforJava

、MicrosoftVisualJ++

NetBeans3.TextPad的使用二、算法的程序实现SymantecVisualCafé

BorlandJbuilderMicrosoftVisualJ++BlueJJPadTextPad

的使用1.安装TextPad2.设置开发环境

在Tools项目下CompileJava、RunJavaApplication和RunJavaApplet三项快捷功能分别调用JDK的javac.exe或java.exe以及appletviewer.exe。3.应用实例第二单元程序设计基础一、Java基础

二、结构化程序设计

三、模块化程序设计

四、面向对象程序设计

五、图形用户界面的程序设计一、Java基础(1)Java程序的结构(2)数据及其运算(3)输入与输出(1)Java程序的结构一、Java基础1.注释部分2.程序的主类

3.主方法(程序执行的起点)●Java小程序(Applet)●Java应用程序(Application)(2)数据及其运算

一、Java基础1.数据类型

2.常量与变量

3.运算符

4.表达式与赋值注意与数学中相关概念的区别1.数据类型一、Java基础----数据及其运算

Java四种基本数据类型:整数型、浮点型、字符型、逻辑型。整数型:byte、short、int、long

浮点型:float、double

字符型:char

逻辑型:booleanJava复合数据类型:数组、类、接口。

数组:Array

类:class

接口:interface在Java中,使用String来声明字符串。String不是基本数据类型,而是一个类(Class),它被用来表示字符序列。2.常量与变量一、Java基础----数据及其运算

●常量

常量在程序运行过程中其值不能改变。所有的常数都是常量。例如:7、0.25F、true、’a’。

●变量

变量是命名的内存中存放数据的存储单元,存放的数据叫变量的值。变量在使用前必须声明类型。

3.运算符一、Java基础----数据及其运算

常用运算符

●算术运算符:+、-、*、/、%、++、--●连接运算符:+●关系运算符:=、!=、>、>=、<、<=●逻辑运算符:&、|4.表达式与赋值一、Java基础----数据及其运算

●表达式运算顺序(优先原则)

表达式就是按语法规则由运算符将常量、变量或能实现某种功能的方法连接而成的有意义的式子。一个表达式的所有字符必须写在同一行内。●赋值运算

赋值运算是将赋值运算符“=”右边表达式的值赋给赋值运算符左边的变量。

扩展赋值运算符

●类型转换

自动转换:低级数据类型→高级数据类型

强制转换:低级数据类型→使用操作符()

→高级数据类型

(3)输入与输出

一、结构化程序设计1.输入●

通过赋值运算输入数据

通过命令行方式输入数据

从文本数据流读取数据

2.输出:

System.out.print()方法

例:计算两个整数的和。二、结构化程序设计(1)顺序结构的程序设计(2)分支结构的程序设计(3)循环结构的程序设计加强编程训练(1)顺序结构的程序设计

一、结构化程序设计Math类常用数学函数都封装在Math类(java.lang包)中。java.lang包会自动导入,不需使用import导入。Math类的常用方法

(P39)。(2)分支结构的程序设计

一、结构化程序设计1.分支结构

2.多分支结构

(3)循环结构的程序设计

一、结构化程序设计1.for循环

2.while循环

3.循环嵌套与流程控制

从数学教材找题三、模块化程序设计(1)方法的定义与调用(2)自顶向下、逐步求精(1)方法的定义与调用三、模块化程序设计1.方法的定义

2.方法的调用

----参数传递3.方法的重载

例:求较大值(2)自顶而下、逐步求精三、模块化程序设计例:为校园歌手打分。(P69)四、面向对象程序设计(1)面向对象程序设计的一般过程(2)面向对象程序设计的三大基本特征

(3)使用的Java类库(包)

(1)面向对象程序设计的一般过程四、面向对象程序设计1.

定义类

2.

创建类的对象

3.访问类的成员和方法

例:计算半径为r的圆面积

。(2)面向对象程序设计的基本特征四、面向对象程序设计1.封装2.继承3.多态

(3)使用Java类库(包)四、面向对象程序设计Java用包(packages)的形式组织管理类库。包是对类的一种封装,包含了数据和方法。除了java.lang包会自动导入外,其他各种包需使用import导入。Import语句必须放置在java程序开始处。

1.JDK标准类库(/docs/api)

2.第三方类库(javabook

、galapagos)

3.创建与使用自己的类库例:计算半径为

r的圆面积(1)

1.定义类第一步:声明类第二步:声明类成员

第三步:定义类方法

classCircle{}classCircle{publicstaticfinaldoublePI=3.14;publicstaticdoubler;}classCircle{publicstaticfinaldoublePI=3.14;publicstaticdoubler;

publicstaticdoublecArea(doubler){ returnPI*r*r;}

}例:计算半径为

r的圆面积(2)

2.调用类方法

第一步:定义主方法第二步:创建类的对象第三步:调用类方法classCircle{publicstaticfinaldoublePI=3.14;publicstaticdoubler;publicstaticdoublecArea(doubler){ returnPI*r*r;}publicstaticvoidmain(String[]args){

Circlec=newCircle();doubles;doubler=10;s=c.cArea(r);System.out.println("s="+s);}

}例:计算半径为

r的圆面积(3)

2.调用类方法之二

第一步:单独封装类第二步:定义主类第三步:定义主方法第四步:调用类方法classCircle{publicstaticfinaldoublePI=3.14;publicstaticdoubler;publicstaticdoublecArea(doubler){ returnPI*r*r;}}

publicclassTestCircle{publicstaticvoidmain(String[]args){Circlec=newCircle();doubles;doubler=10;s=c.cArea(r);System.out.println("s="+s);}}创建与使用自己的类库例:计算半径为

r的圆面积(4)第一步:创建自己的包

1、编译Circle.java2、创建文件夹“FClass”3、将Circle.class放入FClass第二步:编写主类:TestCircle

导入包:importFclass;packagFclass;classCircle{publicstaticfinaldoublePI=3.14;publicstaticdoubler;publicstaticdoublecArea(doubler){ returnPI*r*r;}}

importFclass.*;publicclassTestCircle{publicstaticvoidmain(String[]args){Circlec=newCircle();doubles;doubler=10;s=c.cArea(r);System.out.println("s="+s);}}文件:Circle.java文件:TestCircle.java综合实践-面向对象程序设计实例

任务:

编制一个计算年平均降雨量的程序。要求输入一年12个月的降雨量,计算年平均降雨量,以及每月降雨量与年平均降雨量之偏差,并且输出结果。

1.利用Java标准类库编写程序并实现输入与输出。

2.利用教材配套光盘提供的javabook包,修改代码,实现图形界面的输入与输出。

第二单元程序设计基础

第四单元尝试软件开发第七节图形用户界面的程序设计第三单元算法与问题解决(有关后续培训内容)一、图形与图像的处理(1)利用Java绘制图形的基本知识(2)利用Frame或JFrame类绘制图形(3)利用Applet或JApplet类绘制图形二、事件与线程三、多媒体处理(1)显示图片(2)播放音乐(3)实现动画四、Applet特效第七节图形用户界面的程序设计教学评价—方法与平台教学评价概述过程性评价与平台作品上传与共享方式教育博客Blog网络教学平台MoodleMoodle(ModularObject-OrientedDynamicLearningEnvironment模块化面向对象的动态学习环境)Moodle是一个用来建设基于Web的网络教学平台的软件包,也可以说是一个课程管理系统(CMS)。是在Linux系统下基于Apache+MySQL+PHP环境开发完成的(简称LAMP平台),是一个开源网络教学平台。网络教学平台Moodle主要功能(11个模块)网站管理模块、用户管理模块、课程管理模块、作业模块、聊天模块、投票模块、论坛模块、测验模块、资源模块、问卷调查模块、专题讨论模块试验平台演示http://mycao/moodle/index.php?lang=zh_cn视频案例

1.北京一中于忆—循环结构

评价

2.山东青岛平度市第六中学李妮—获取 网络信息的策略与技巧

评价纯属个人观点,仅供讨论。高中教学实践中存在的问题问题1:课程标准理论性较强(但太不具体),实验教材系统性和可操作性差,导致教学实施太乱。问题2:完全脱离教材,编造几个漂亮的教学案例还是比较容易的,因为不需要考虑教学实际情况(课时教学内容等),也不要考虑学生的实际水平。(表演和做秀的成份太浓)问题3:教材是要解决共性的问题,完全脱离教材的教学案例是没有指导意义的。问题4:兴趣只是学习的开端,在兴趣引导下开展的思考、研究和实践活动才是教师应关注的核心。高中教学实践中存在的问题问题5:技术本来就是实践经验的总结,为解决实际问题面产生的。讲技术就是讲解决问题的方法,就技术讲技术有什么不对?问题6:技术课有其本身的特点和特色需要我们很好地继承,养成学生良好的技术素养,彻底改变我国基础技术落后的局面——匹夫有责!问题7:没有技术就没有素养可言!纯属个人观点,仅供讨论。还技术本来的面目创设情景只是激发学生兴趣的手段之一,既非唯一手段,更非目标任务的针对性和挑战性是关键,尽量结合学生生活和学习经验,鼓励学生自己发现和形成问题任务要求要明确,没有明确的要求就没有目标明确的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论