算法與程序設計ma_第1頁
算法與程序設計ma_第2頁
算法與程序設計ma_第3頁
算法與程序設計ma_第4頁
算法與程序設計ma_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《算法與程序設計》

教材培訓講稿南京市梅園中學曹書成2006-8-18主要培訓內容新課標與實驗教材JAVA

VS

VB

計算機語言的發(fā)展江蘇省高中會考(海南省準高考試題)

相關知識和要求課時安排建議(選修)JAVA編程基礎(上)

(下)

勘誤表教學案例—1.如何解決問題

2.解決問題的

討論教學評價——方法與平臺

視頻案例1、2End新課標與實驗教材新課標要求:本模塊的學習目的是使學生在原有基礎上進一步體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用;能從簡單問題出發(fā),設計解決問題的算法,并能初步使用一種程序設計語言編制程序實現(xiàn)算法解決問題。五套教材:教育科學出版社中國地圖出版社上??萍冀逃霭嫔鐝V東教育出版社浙江教育出版新課標與實驗教材算法與程序設計模塊的選擇與把握

——北大附中李冬梅

程序設計就是通過分析問題、確定算法、編程求解等步驟來解決問題的過程,其中,算法具有重要的作用,它能夠提供一種思考問題的方向和方法。因此,從信息素養(yǎng)同時也是科學素養(yǎng)培養(yǎng)的角度,學習程序設計可以鍛煉學生的邏輯思維能力,使學生思考問題時更加科學嚴密和細致全面。程序設計以算法為思想基礎,對于算法,學生在數(shù)學課程中學習之后,具備一定的基礎,可以在程序設計中進一步體驗算法的思想。高中信息技術課程的目的是提升學生的信息素養(yǎng),提高學生的問題解決能力。人的問題解決同計算機的問題解決一樣,需要遵循一定的思想,按照一系列的步驟進行。選擇“算法與程序設計”這一模塊,就是希望學生借此鍛煉和提高思維能力,向著有利于問題解決的方向發(fā)展。

新課標與實驗教材算法與程序設計的軟件工程方法與思想

——北大附中李冬梅

軟件工程的內容不屬于高中學生的學習范圍,但軟件工程中強調了系統(tǒng)的思想和方法。學習算法與程序設計就是要了解并掌握如何使用計算機解決問題,尤其是要理解問題解決過程中采用的思想和方法,這是學習本模塊的關鍵,也是具有普遍遷移價值的內容,因此,對系統(tǒng)思想和方法的關注成為教學的必然。標準中沒有提及軟件工程的思想,因為標準一旦明文出現(xiàn),在不能正確理解的情況下,很容易導致現(xiàn)實教學中內容難度的加深。對于這些必需的方法和思想,可以在教材編寫和教學中酌情把握,在教學中進行體現(xiàn),引發(fā)學生對系統(tǒng)方法和思想的思考,并在利用計算機解決問題中有效應用。新課標與實驗教材教科版(六章)如何用計算機解決問題?程序設計ABC算法的程序實現(xiàn)程序設計思想和方法軟件是如何開發(fā)的?綜合實踐中圖版(四單元)走進編程程序設計基礎算法與問題解決嘗試軟件開發(fā)JAVA

VS

VBSUN與JAVA微軟.NETFramework與VB、C#、J#C#與傳奇人物AndersHejlsberg通用中間語言CIL(CommonIntermediateLanguage)Mono(開源平臺的.NET)與MigueldeIcaza江蘇省高中會考

(海南省準高考試題)江蘇省會考綱要和考題

(江蘇省考試院編考試指導)海南省準高考試題如何解決等級考試與教學的關系江蘇省中小學信息技術等級考試綱要(高級)選修模塊一:算法與程序設計單元知識與技能要點試題類型一、算法1.計算機解決問題的過程A2.算法的描述方法A二、程序設計基礎3.程序設計語言A4.數(shù)據及運算ABC5.程序設計的順序結構ABC6.程序設計的分支(選擇)結構ABC7.程序設計的循環(huán)結構ABC8.結構化程序設計思想A9.面向對象程序設計思想A三、算法與問題解決10.解析法ABC11.窮舉法ABC12.遞歸法ABC13.排序與查找數(shù)據ABC四、應用程序設計14.程序設計的一般步驟AB15.簡單程序設計ABC江蘇省新版2006考試指導上表中題型:A為單選題,B為綜合分析題,C為操作題

算法與程序設計相關知識要求課時安排建議教學內容建議課時第一單元第一節(jié)解決問題的一般方法1第一單元第二節(jié)解決問題的算法設計2第一單元第三節(jié)算法的程序實現(xiàn)1第一單元第四節(jié)程序設計語言簡介1第二單元第一節(jié)數(shù)據及其運算2第二單元第二節(jié)順序結構2第二單元第三節(jié)分支結構2第二單元第四節(jié)循環(huán)結構3第二單元第五節(jié)方法與模塊化程序設計3第二單元第六節(jié)面向對象程序設計初步2第二單元第七節(jié)圖形用戶界面的程序設計3第三單元算法與問題解決5第四單元嘗試軟件開發(fā)6機動3共36

課時第一單元走進編程第二單元程序設計基礎

(有關后續(xù)培訓內容)第一單元走進編程一、算法與算法設計

二、算法的程序實現(xiàn)

一、算法與算法設計(1)算法的概念

(2)算法設計的一般過程

(3)算法的表示

(4)程序設計語言(1)算法的概念

●“算法就是解決問題的步驟序列?!薄窀咧袛?shù)學課程標準實驗教材A第三冊第一章一、算法與算法設計數(shù)學

中的算法(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

循環(huán)指令:while(條件表達式)

{循環(huán)體}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等等。二、算法的程序實現(xiàn)(1)程序設計的一般流程(2)Java開發(fā)系統(tǒng) (JDK)(3)Java集成開發(fā)環(huán)境與可視化集成開發(fā)環(huán)境

(1)程序設計的一般流程二、算法的程序實現(xiàn)編輯程序

編譯程序運行程序

通常情況下,一項任務可以由多種編程語言實現(xiàn)。選擇一種什么樣的程序設計語言來解決問題并不是最重要的,關鍵是把握算法與程序設計的思想。(1)程序設計的一般流程計算機解決問題的過程(2)Java開發(fā)系統(tǒng)(JDK)二、算法的程序實現(xiàn)1.安裝JDK

JDK包括Java環(huán)境、Java語言、JavaAPI應用程序接口和Java類庫。

1)安裝

2)設置系統(tǒng)環(huán)境

2.使用JDK安裝JDK下載的JDK程序名為:j2sdk1.4.2.exe

運行j2sdkj2sdk1.4.2.exe則自動將Java的開發(fā)系統(tǒng)安裝在目錄c:\j2sdk1.4.2_03下。Java編譯程序javac.exe等可執(zhí)行文件就位于c:\j2sdk1.4.2_03\bin目錄內。

設置系統(tǒng)環(huán)境

●設置路徑path為c:\j2sdk1.4.2_03\bin,●設置類路徑classpath為Java系統(tǒng)的類文件所在目錄c:\j2sdk1.4.2_03\lib。

安裝JDK目錄2.使用JDK●編輯程序:使用純文本編輯器(記事本)編寫程序代碼●

編譯程序:使用Java命令javac.exe

編譯程序●

運行程序

:使用Java命令java.exe

運行Application程序

使用Java命令appletviewr.exe

運行Applet程序●調試程序

:使用編輯器修改程序代碼1)建立用戶文件夾;2)進入命令行方式實例(3)Java集成開發(fā)環(huán)境與可視化集成開發(fā)環(huán)境

1.Java集成開發(fā)環(huán)境集成開發(fā)環(huán)境工具的軟件(簡稱IDE)集程序的編輯、編譯、調試、運行于一體。TextPad、JCreator、JPadPro、FreeJava、BlueJ等。

2.Java可視化集成開發(fā)環(huán)境在集成開發(fā)環(huán)境的基礎上增加了“所見即所得”可視化設計的功能。

SymantecVisualCafé

、BorlandJbuilder

SunForteforJava

、MicrosoftVisualJ++

NetBeans3.TextPad的使用二、算法的程序實現(xiàn)SymantecVisualCafé

BorlandJbuilderMicrosoftVisualJ++BlueJJPadTextPad

的使用1.安裝TextPad2.設置開發(fā)環(huán)境

在Tools項目下CompileJava、RunJavaApplication和RunJavaApplet三項快捷功能分別調用JDK的javac.exe或java.exe以及appletviewer.exe。3.應用實例第二單元程序設計基礎一、Java基礎

二、結構化程序設計

三、模塊化程序設計

四、面向對象程序設計

五、圖形用戶界面的程序設計一、Java基礎(1)Java程序的結構(2)數(shù)據及其運算(3)輸入與輸出(1)Java程序的結構一、Java基礎1.注釋部分2.程序的主類

3.主方法(程序執(zhí)行的起點)●Java小程序(Applet)●Java應用程序(Application)(2)數(shù)據及其運算

一、Java基礎1.數(shù)據類型

2.常量與變量

3.運算符

4.表達式與賦值注意與數(shù)學中相關概念的區(qū)別1.數(shù)據類型一、Java基礎----數(shù)據及其運算

Java四種基本數(shù)據類型:整數(shù)型、浮點型、字符型、邏輯型。整數(shù)型:byte、short、int、long

浮點型:float、double

字符型:char

邏輯型:booleanJava復合數(shù)據類型:數(shù)組、類、接口。

數(shù)組:Array

類:class

接口:interface在Java中,使用String來聲明字符串。String不是基本數(shù)據類型,而是一個類(Class),它被用來表示字符序列。2.常量與變量一、Java基礎----數(shù)據及其運算

●常量

常量在程序運行過程中其值不能改變。所有的常數(shù)都是常量。例如:7、0.25F、true、’a’。

●變量

變量是命名的內存中存放數(shù)據的存儲單元,存放的數(shù)據叫變量的值。變量在使用前必須聲明類型。

3.運算符一、Java基礎----數(shù)據及其運算

常用運算符

●算術運算符:+、-、*、/、%、++、--●連接運算符:+●關系運算符:=、!=、>、>=、<、<=●邏輯運算符:&、|4.表達式與賦值一、Java基礎----數(shù)據及其運算

●表達式運算順序(優(yōu)先原則)

表達式就是按語法規(guī)則由運算符將常量、變量或能實現(xiàn)某種功能的方法連接而成的有意義的式子。一個表達式的所有字符必須寫在同一行內?!褓x值運算

賦值運算是將賦值運算符“=”右邊表達式的值賦給賦值運算符左邊的變量。

擴展賦值運算符

●類型轉換

自動轉換:低級數(shù)據類型→高級數(shù)據類型

強制轉換:低級數(shù)據類型→使用操作符()

→高級數(shù)據類型

(3)輸入與輸出

一、結構化程序設計1.輸入●

通過賦值運算輸入數(shù)據

通過命令行方式輸入數(shù)據

從文本數(shù)據流讀取數(shù)據

2.輸出:

System.out.print()方法

例:計算兩個整數(shù)的和。二、結構化程序設計(1)順序結構的程序設計(2)分支結構的程序設計(3)循環(huán)結構的程序設計加強編程訓練(1)順序結構的程序設計

一、結構化程序設計Math類常用數(shù)學函數(shù)都封裝在Math類(java.lang包)中。java.lang包會自動導入,不需使用import導入。Math類的常用方法

(P39)。(2)分支結構的程序設計

一、結構化程序設計1.分支結構

2.多分支結構

(3)循環(huán)結構的程序設計

一、結構化程序設計1.for循環(huán)

2.while循環(huán)

3.循環(huán)嵌套與流程控制

從數(shù)學教材找題三、模塊化程序設計(1)方法的定義與調用(2)自頂向下、逐步求精(1)方法的定義與調用三、模塊化程序設計1.方法的定義

2.方法的調用

----參數(shù)傳遞3.方法的重載

例:求較大值(2)自頂而下、逐步求精三、模塊化程序設計例:為校園歌手打分。(P69)四、面向對象程序設計(1)面向對象程序設計的一般過程(2)面向對象程序設計的三大基本特征

(3)使用的Java類庫(包)

(1)面向對象程序設計的一般過程四、面向對象程序設計1.

定義類

2.

創(chuàng)建類的對象

3.訪問類的成員和方法

例:計算半徑為r的圓面積

。(2)面向對象程序設計的基本特征四、面向對象程序設計1.封裝2.繼承3.多態(tài)

(3)使用Java類庫(包)四、面向對象程序設計Java用包(packages)的形式組織管理類庫。包是對類的一種封裝,包含了數(shù)據和方法。除了java.lang包會自動導入外,其他各種包需使用import導入。Import語句必須放置在java程序開始處。

1.JDK標準類庫(/docs/api)

2.第三方類庫(javabook

、galapagos)

3.創(chuàng)建與使用自己的類庫例:計算半徑為

r的圓面積(1)

1.定義類第一步:聲明類第二步:聲明類成員

第三步:定義類方法

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

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

}例:計算半徑為

r的圓面積(2)

2.調用類方法

第一步:定義主方法第二步:創(chuàng)建類的對象第三步:調用類方法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);}}創(chuàng)建與使用自己的類庫例:計算半徑為

r的圓面積(4)第一步:創(chuàng)建自己的包

1、編譯Circle.java2、創(chuàng)建文件夾“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標準類庫編寫程序并實現(xiàn)輸入與輸出。

2.利用教材配套光盤提供的javabook包,修改代碼,實現(xiàn)圖形界面的輸入與輸出。

第二單元程序設計基礎

第四單元嘗試軟件開發(fā)第七節(jié)圖形用戶界面的程序設計第三單元算法與問題解決(有關后續(xù)培訓內容)一、圖形與圖像的處理(1)利用Java繪制圖形的基本知識(2)利用Frame或JFrame類繪制圖形(3)利用Applet或JApplet類繪制圖形二、事件與線程三、多媒體處理(1)顯示圖片(2)播放音樂(3)實現(xiàn)動畫四、Applet特效第七節(jié)圖形用戶界面的程序設計教學評價—方法與平臺教學評價概述過程性評價與平臺作品上傳與共享方式教育博客Blog網絡教學平臺MoodleMoodle(ModularObject-OrientedDynamicLearningEnvironment模塊化面向對象的動態(tài)學習環(huán)境)Moodle是一個用來建設基于Web的網絡教學平臺的軟件包,也可以說是一個課程管理系統(tǒng)(CMS)。是在Linux系統(tǒng)下基于Apache+MySQL+PHP環(huán)境開發(fā)完成的(簡稱LAMP平臺),是一個開源網絡教學平臺。網絡教學平臺Moodle主要功能(11個模塊)網站管理模塊、用戶管理模塊、課程管理模塊、作業(yè)模塊、聊天模塊、投票模塊、論壇模塊、測驗模塊、資源模塊、問卷調查模塊、專題討論模塊試驗平臺演示http://mycao/moodle/index.php?lang=zh_cn視頻案例

1.北京一中于憶—循環(huán)結構

評價

2.山東青島平度市第六中學李妮—獲取 網絡信息的策略與技巧

評價純屬個人觀點,僅供討論。高中教學實踐中存在的問題問題1:課程標準理論性較強(但太不具體),實驗教材系統(tǒng)性和可操作性差,導致教學實施太亂。問題2:完全脫離教材,編造幾個漂亮的教學案例還是比較容易的,因為不需要考慮教學實際情況(課時教學內容等),也不要考慮學生的實際水平。(表演和做秀的成份太濃)問題3:教材是要解決共性的問題,完全脫離教材的教學案例是沒有指導意義的。問題4:興趣只是學習的開端,在興趣引導下開展的思考、研究和實踐活動才是教師應關注的核心。高中教學實踐中存在的問題問題5:技術本來就是實踐經驗的總結,為解決實際問題面產生的。講技術就是講解決問題的方法,就技術講技術有什么不對?問題6:技術課有其本身的特點和特色需要我們很好地繼承,養(yǎng)成學生良好的技術素養(yǎng),徹底改變我國基礎技術落后的局面——匹夫有責!問題7:沒有技術就沒有素養(yǎng)可言!純屬個人觀點,僅供討論。還技術本來的面目創(chuàng)設情景只是激發(fā)學生興趣的手段之一,既非唯一手段,更非目標任務的針對性和挑戰(zhàn)性是關鍵,盡量結合學生生活和學習經驗,鼓勵學生自己發(fā)現(xiàn)和形成問題任務要求要明確,沒有明確的要求就沒有目標明確的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論