Java語言編程基礎(chǔ) 教案_第1頁
Java語言編程基礎(chǔ) 教案_第2頁
Java語言編程基礎(chǔ) 教案_第3頁
Java語言編程基礎(chǔ) 教案_第4頁
Java語言編程基礎(chǔ) 教案_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Java程序設(shè)計基礎(chǔ)

課程教案

系部:計算機(jī)科學(xué)與技術(shù)系

課程代碼:XXXXX

課程名稱:Java程序設(shè)計基礎(chǔ)

課程小組成員:XXXXX

第一講

教學(xué)周第5周節(jié)次第1、2節(jié)

章節(jié)內(nèi)容建立編程環(huán)境

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

1.課程的總體介紹

2.計算機(jī)程序演示

3.安裝和設(shè)置編程環(huán)境

重點:

安裝和設(shè)置編程環(huán)境

難點:

設(shè)置Path與Classpath路徑。

課堂教學(xué)組織:

1.課程的總體介紹

2.計算機(jī)程序演示

3.安裝1.6JDK

4.設(shè)置Path與Classpath路徑

5.測試編程環(huán)境是否設(shè)置成功

擬提問題:

設(shè)置編程環(huán)境需要設(shè)置那些環(huán)境變量?

課后作業(yè):

重設(shè)編程環(huán)境

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第二講

教學(xué)周第5周節(jié)次第3、4節(jié)

章節(jié)內(nèi)容Java語言的概述

授課方式理論課(J)討論課()實驗課(習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

1.計算機(jī)程序與程序語言

2.Java語言的發(fā)展

3.Java語言程序剖析

4.編寫Java語言程序的過程

重點:

1.Java語言特點

難點:

1.編程第“個Java程序

課堂教學(xué)組織:

1、程序設(shè)計語言的分類

機(jī)器語言、匯編語言、高級語言

2、Java語言發(fā)展概況的介紹

Java語言是由Sun公司開發(fā)的一門開源語言,是當(dāng)今的一門主流開發(fā)語言。

3、Java語言與其它編程語言的比較

Java語言是一種跨平臺,安全性較高的語言,易于學(xué)習(xí)。

4、編寫第一個HelloWorld程序

帶學(xué)生用記事本寫出第一個Java小程序,在控制臺上輸出“HelloWorld

擬提問題:

Java語言的特點

課后作業(yè):

編寫程序:在控制臺輸出''*****HelloJava******"字樣!

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第三講

教學(xué)周第6周節(jié)次第5、6節(jié)

章節(jié)內(nèi)容Java基本數(shù)據(jù)類型

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

整型常量

整型變量

重點:

整型變量的定義

難點:

各種整型變量的使用場景

課堂教學(xué)組織:

1、整型常量

三種形式:十進(jìn)制、八進(jìn)制、十六進(jìn)制

2、整型變量

分四種:byte、short、int、long

上述各種整型所占內(nèi)存單元數(shù)及取值范圍不同,

程序舉例1:整型變量的定義和使用

求兩個整數(shù)的和。

3、整型數(shù)據(jù)的溢出。

擬提問題:

為什么要定義不同類型的整變量?

通常我們是怎么根據(jù)實際情況定義不同的整型變量?

課后作業(yè):

設(shè)計一個類型,里面包含有常量及四種整型變量。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第四講

教學(xué)周第6周節(jié)次第7、8節(jié)

章節(jié)內(nèi)容Java基本數(shù)據(jù)類型

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

實型常量和變量

字符型常量和變量

字符串常量

變量賦初值

各種數(shù)據(jù)類型的混合計算

重點:

實型變量的定義

字符型變量的定義

變量賦初值

難點:

自動類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換

課堂教學(xué)組織:

1、實型常量

兩種表示形式:十進(jìn)制、指數(shù)

2、實型變量

也稱為浮點數(shù),分兩種:單精度、雙精度。

分別對應(yīng)關(guān)鍵字:floatdouble

單精度占4字節(jié)內(nèi)存單元;雙精度占8字節(jié)內(nèi)存單元.

程序舉例1:浮點型數(shù)據(jù)的舍入誤差

思考:用程序計算(1.0/3.0*3)的結(jié)果是多少?

3、字符常量

4、字符變量

5、字符串常量

6、變量賦初值

7、各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算

Java語言允許雙精度、單精度、整型及字符數(shù)據(jù)之間混合運(yùn)算

但有一個規(guī)則:先轉(zhuǎn)換成同一類型,再計算。

自動類型轉(zhuǎn)換:低,高型數(shù)據(jù)運(yùn)算時,均先轉(zhuǎn)換為高型。

擬提問題:

單個字符的字符串能賦給字符變量嗎?

課后作業(yè):

逐一運(yùn)行PPT講稿上的每個例子程序。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第五講

教學(xué)周第7周節(jié)次第9、10節(jié)

章節(jié)內(nèi)容Java語言的基本數(shù)據(jù)類型

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

算術(shù)運(yùn)算符和算術(shù)表達(dá)式

賦值運(yùn)算符和賦值表示式

重點:

賦值運(yùn)算符和賦值表示式

難點:

算術(shù)運(yùn)算符和算術(shù)表達(dá)式

課堂教學(xué)組織:

算術(shù)運(yùn)算符和算術(shù)表達(dá)式

1)基本的算術(shù)運(yùn)算符

2)

賦值運(yùn)算符和賦值表示式

1、實型常量

表示形式:十進(jìn)制

整型數(shù)據(jù)在內(nèi)存中的存放形式

2、實型變量

也稱為浮點數(shù),分兩種:單精度、雙精度。

分別對應(yīng)關(guān)鍵字:floatdouble

一般地:單精度占4字節(jié)內(nèi)存單元;雙精度占8字節(jié)內(nèi)存單元.

程序舉例1:浮點型數(shù)據(jù)的舍入誤差

思考:用程序計算(1.0/3.0*3)的結(jié)果是多少?

3、字符常量

4、字符變量

5、字符串常量

6、變量賦初值

7、各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算

Java語言允許雙精度、單精度、整型及字符數(shù)據(jù)之間混合運(yùn)算

但有一個規(guī)則:先轉(zhuǎn)換成同一類型,再計算。

自動類型轉(zhuǎn)換:低,高型數(shù)據(jù)運(yùn)算時,均先轉(zhuǎn)換為高型。

擬提問題:

不同類型之間數(shù)值數(shù)據(jù)混合運(yùn)算時,如何數(shù)據(jù)類型轉(zhuǎn)換?

課后作業(yè):

逐一運(yùn)行PPT講稿上的每個例子程序。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第六講

教學(xué)周第7周節(jié)次第11、12節(jié)

章節(jié)內(nèi)容階段性Java小程序練習(xí)

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

通過練習(xí)強(qiáng)化Java語言的基本知識,熟悉代碼。

重點:

基本數(shù)據(jù)類型

常量與變量

難點:

變量的理解

課堂教學(xué)組織:

1.引導(dǎo)學(xué)生,演示程序如何接收輸入?yún)?shù);

2.帶學(xué)生完成輸入數(shù)字并顯示數(shù)字例子,強(qiáng)化此接收參數(shù)方法;

3.講解人機(jī)互相游戲,并指導(dǎo)學(xué)生完成此程序開發(fā),及時處理學(xué)生開發(fā)過

程中的疑問。

擬提問題:

計算機(jī)程序怎樣與我們對話互動?

課后作業(yè):

擴(kuò)允進(jìn)一步完善人機(jī)互動程序。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第七講

教學(xué)周第8周節(jié)次第25、26節(jié)

章節(jié)內(nèi)容程序的執(zhí)行順序及循環(huán)語句

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

for循環(huán)

重點:

for循環(huán)的執(zhí)行過程

難點:

for循環(huán)的設(shè)計

課堂教學(xué)組織:

1.形式:

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

循環(huán)體;

2.執(zhí)行過程:

舉例:

inti,sum=O;

for(i=I;i<=100;i++)

sum+=i;

3、for循環(huán)的其它形式

說明1:可以省略循環(huán)起始條件(表達(dá)式I),但須保留分號;這時在for之前就得賦值

給循環(huán)變量;

2、表達(dá)式2一般不可省略,否則為無限循環(huán)

3、表達(dá)式3(條件變化制約)亦可省略,但在循環(huán)體中須有語句修改循環(huán)變量;以使循環(huán)條

件在某一時刻為假而結(jié)束循環(huán)。

4、若同時省略表達(dá)式1(循環(huán)起始條件),表達(dá)式3(條件變化制約),則相當(dāng)于while(條

件表達(dá)式)語句。

5、三個表達(dá)式均省略即for(;;)語句則相當(dāng)于while(l)語句.

6、士表達(dá)式1、表達(dá)式3可以是逗號表達(dá)式,以使循環(huán)變量值在修改時可以對其它變量

賦值。

7、"循環(huán)條件可以是關(guān)系表達(dá)式,也可以是數(shù)值表達(dá)式或字符表達(dá)式。只要值即執(zhí)

行循環(huán)體.

8、for用while代替的流程

擬提問題:

把ppt上例子在自己的機(jī)器上調(diào)試成功。

課后作業(yè):

用for循環(huán)打印九九乘法表。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第八講

教學(xué)周第8周節(jié)次第15、16節(jié)

章節(jié)內(nèi)容For循環(huán)語句實驗

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

強(qiáng)化代碼練習(xí)

熟悉for循環(huán)結(jié)構(gòu)

重點:

for循環(huán)結(jié)構(gòu)應(yīng)用

難點:

for循環(huán)語句控制

課堂教學(xué)組織:

1.求解1+2+3+.........+100

intsum=0;

for(inti=l;i<=100;i++){

sum+=i;

)

2.實現(xiàn)冒泡排序

int[]a={al,a2,......,an);

inti,j,temp;

for(i=l,i<a.length;i++){

〃一趟排序

for(j=l;j<=a.length-i;j++){

〃相鄰數(shù)比較,不符合順序則交換

if(a[jj<a[j-lj){

temp=a[j-1];

a|j-l]=a[j];

a[j]=temp;

)

擬提問題:

for循環(huán)可以為我們做那些事情?

課后作業(yè):

打印楊輝三角

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第九講

教學(xué)周第9周節(jié)次第17、18節(jié)

章節(jié)內(nèi)容條件語句與關(guān)系運(yùn)算

授課方式理論課(J)討論課()實驗課(V)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

if語句

switch語句

重點:

if語句

switch語句

難點:

if語句的嵌套

課堂教學(xué)組織:

1.if的三種形式

形式1if(表達(dá)式)語句A

功能:當(dāng)表達(dá)式值為true時,執(zhí)行語句凡否則不執(zhí)行語句A.

形式2if(表達(dá)式)語句Aelse語句B

功能:表達(dá)式為true時執(zhí)行語句A

否則表達(dá)式,執(zhí)行語句B

形式3if(表達(dá)式1)語句1

elseif(表達(dá)式2)語句2

elseif(表達(dá)式3)語句3

elseif(表達(dá)式n)語句n

else語句n+1

例1輸入兩個實數(shù),按代數(shù)值由小到大次序輸出這兩個數(shù)。

2、switch語句——開關(guān)語句

switch(表達(dá)式)

{case常量表達(dá)式1:語句序列1;break;

case常量表達(dá)式2:語句序列2;break;

case常量表達(dá)式n:語句序列n;break;

default:語句序列n

例:根據(jù)成績等級打印百分?jǐn)?shù)段.

擬提問題:

有一函數(shù),編一程序,輸入一個x值,輸出y值

switch(x<0)

{

case?:y—l;break;

case?switch(x==O)

(

case?:y=O;break;

case?:y=l;break;

課后作業(yè):

編寫程序,由鍵盤輸入星期編號,輸出相應(yīng)的英文單詞,寫到作業(yè)本上。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十講

教學(xué)周第9周節(jié)次第19、20節(jié)

章節(jié)內(nèi)容循環(huán)控制

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

while循環(huán)

重點:

循環(huán)應(yīng)用

難點:

循環(huán)控制

課堂教學(xué)組織:

1.與if構(gòu)成循環(huán).

例1:求1到100的和

2、while語句

形式:while(表達(dá)式)語句

執(zhí)行過程:先判斷表達(dá)式的值。若則執(zhí)行其后面的語句,否則while執(zhí)行完畢。

while(i<=100)

{sum+=i;

i++;

擬提問題:

1、設(shè)有程序段:

intk=0;

while(k!=5)

k++;

試問while循環(huán)執(zhí)行幾次?

2、設(shè)有程序段:

intk=10;

while(k=O)

k--;

則下面描述中正確的是()

(A)while循環(huán)執(zhí)行10次

(B)循環(huán)是無限循環(huán)

(C)循環(huán)體語句一次也不執(zhí)行

(D)循環(huán)體語句執(zhí)行一次

課后作業(yè):

開發(fā)出一個程序來計算5個職員的總薪水。公司為每個雇員的前40個小時支付正規(guī)

工作時間的工資,對于超出40小時之外的所有時間支付“一倍半”的工資。您所開發(fā)的

程序應(yīng)該輸入每個職員的工作時數(shù)和時薪,然后確定并顯示出該職員的薪水。(用循環(huán)

語句來實現(xiàn))

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十一講

教學(xué)周第10周節(jié)次第21、22節(jié)

章節(jié)內(nèi)容習(xí)題課—選擇結(jié)構(gòu)和while循環(huán)

授課方式理論課()討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

單分支if語句

雙分支if語句

多分支if語句

switch語句

while循環(huán)

重點:

全部

難點:

switch

while

課堂教學(xué)組織:

1.算法

解決問題的過程

確定兩件事:執(zhí)行的動作、動作執(zhí)行的順序

舉例:清晨上班準(zhǔn)備算法

起床

脫去睡衣

淋浴

穿衣

吃早餐

乘車上班

練習(xí)1單分支if

若a的值為:58,則以下程序輸出的結(jié)果是()

inta;

if(a>50)

System.out.println(a+”大于50");

if(a>40)

System.out.println(a+”大于40");

if(a>30)

System.out.println(a+“大于30");

練習(xí)2雙分支if

if,(a>50)

System.out.println(a+“大于50");

else

System.out.println(a+“小于50”);

練習(xí)3多分支if

if(a>50)

System.out.println(a+“大于50”);

elseif(a>40)

System.out.println(a+“大于40小于50");

else

System.out.println(a+“小于40");

練習(xí)4switch

計算學(xué)生們在一次考試中每個不同的字母級成績的數(shù)目。

練習(xí)5while

計算5個學(xué)生在一次考試中每個不同的字母級成績的數(shù)目o

擬提問題:

將練習(xí)4改寫成多分支if實現(xiàn)

形如:

if(?)

elseif(?)

ekeif(?)

else

課后作業(yè):

逐一運(yùn)行PPT講稿上的每個例子程序。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十二講

教學(xué)周第10周節(jié)次第23、24節(jié)

dowhile循環(huán)

章節(jié)內(nèi)容

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

dowhile循環(huán)

重點:

dowhile循環(huán)的執(zhí)行過程

難點:

dowhile循環(huán)和while循環(huán)的比較

課堂教學(xué)組織:

1.形式:do

{

循環(huán)體(語句序列)

}while(條件表達(dá)式);

2.執(zhí)行過程:先執(zhí)行語句,再判表達(dá)式的值,若再執(zhí)行語句,否則結(jié)束循環(huán)

例求1到100的和

inti,sum=0;

i=l;

do

{sum=sum+i;

i++;

while(i<=100);

System.out.println(ltsum="+sum);

擬提問題:

1、以下描述正確的是()

A)由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所有循環(huán)體

內(nèi)不能使用復(fù)合語句;

B)do-while循環(huán)由do開始,用while結(jié)束,在while表達(dá)式后不能寫分號;

C)在do-while循環(huán)體中,一定要有能使while后面的表達(dá)式的值變?yōu)榧?/p>

的操作;

D)do-while循環(huán)中,根據(jù)情況可以省略while。

2、一個班有10個學(xué)生,這10個學(xué)生參加了一次測驗,您可以找到這些學(xué)

生在這次測驗中的分?jǐn)?shù)(0-100范圍內(nèi)的整數(shù))。請確定這次測驗的班級平

均分。

課后作業(yè):

逐一運(yùn)行PPT講稿上的每個例子程序

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十三講

教學(xué)周第11周節(jié)次第25、26節(jié)

章節(jié)內(nèi)容習(xí)題課

授課方式理論課()討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

復(fù)習(xí)分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)

重點:

ifelse語句

switch語句

三種循環(huán)語句

難點:

循環(huán)中止條件的判斷

課堂教學(xué)組織:

1.填空題

1)中止當(dāng)前一輪循環(huán),從循環(huán)體中跳轉(zhuǎn)到循環(huán)體開頭并執(zhí)行新一輪循環(huán)的語句

是_____________________O

2)設(shè)有inta=5,b=10;則表達(dá)式a>b?1:0的值為_____________。

3)表達(dá)式(a=10)>15的值為__________o

4)請寫出從標(biāo)準(zhǔn)輸入設(shè)備輸入一個整數(shù)值并將它存放在變量a中的語

句:_______________________________________________________________O

2.指出下面每個語句中的錯誤,并改正這些錯誤。

1)intc=l,product=l;

while(c<=5){

product*=c;

++c;

2)if(gender==1)

System.out.println("Woman");

eke;

System,out.println(44Man^^);

3)intz=100;

while(z>0)

sum+=z;

3.讀程序,寫結(jié)果

1)代碼:運(yùn)行結(jié)果:

intx=1,total=0,y;

while(x<=5){

y=2*x+1;

total+=y;

++x;

)

System.out.printlnC'total^+total);

擬提問題:

課后作業(yè):

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十四講

教學(xué)周第11周節(jié)次第27、28節(jié)

章節(jié)內(nèi)容不同的循環(huán)語句

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

continue語句

break語句

循環(huán)的嵌套

重點:

continue語句

break語句

難點:

循環(huán)的嵌套

課堂教學(xué)組織:

1.break語句

功能:在循環(huán)語句和switch語句中,終止并跳出循環(huán)體或開關(guān)體

說明:

break只能終止并跳出最近一層的結(jié)構(gòu)

break不能用于循環(huán)語句和switch語句之外的任何其它語句之中

舉例:問題:計算圓的面積m2,半徑取1,2,3,4…,當(dāng)面積>100時結(jié)束。

finaldoublePI=3.14159;

intr;doublearea;

for(r=l;r<=10;r++)

{area=PI*r*r;if(area>100)break;}

System.out.println(4tarea=,,+area);

2、continue語句

功能:結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循

環(huán)的判定。

舉例:問題:編寫程序,打印100?200中不能被3整除的數(shù)。

intn;

for(n=100;n<=200;n++)

if(n%3!=0)

System.out.println(n);

3、循環(huán)的嵌套

三種循環(huán)可互相嵌套,層數(shù)不限

外層循環(huán)可包含兩個以上內(nèi)循環(huán),但不能相互交叉

嵌套循環(huán)的執(zhí)行流程

擬提問題:

1、打印*號圖形

o

**

。*

。京。中

***常卓

2、輸出一張乘法口訣表

課后作業(yè):

如何編程輸出下側(cè)圖形?

I

塞本

**?

總東W本

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十五講

教學(xué)周第12周節(jié)次第29、30節(jié)

章節(jié)內(nèi)容循環(huán)結(jié)構(gòu)舉例

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

熟悉循環(huán)結(jié)構(gòu)

重點:

循環(huán)的應(yīng)用

難點:

循環(huán)的控制

課堂教學(xué)組織:

1、打印菱形圖形。

*

***

***

*

2、打印出1000內(nèi)的所有完全立方數(shù)()

publicstaticvoidmain(Stringargs[]){

intn=1;

//如果該數(shù)字沒有超過1000,執(zhí)行循環(huán)體

while(n*n*n<=1000){

System.out.println(n*n*n);

n++;

)

System.out.println(441000內(nèi)的立方數(shù)有"+(n-1)+“個");

)

3打印空心菱形圖形

*

**

**

**

**

**

*

擬提問題:

求1000內(nèi)的所有完全立方數(shù),要求用循環(huán)實現(xiàn)。

課后作業(yè):

運(yùn)行ppt上每個實例。

第十六講

教學(xué)周第12周節(jié)次第31、32節(jié)

章節(jié)內(nèi)容結(jié)構(gòu)化程序設(shè)計

授課方式理論課(J)討論課()實驗課()習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

結(jié)構(gòu)化程序設(shè)計思想

重點:

結(jié)構(gòu)化程序設(shè)計思想

難點:

理清以模塊化設(shè)計為中心

課堂教學(xué)組織:

1.什么是結(jié)構(gòu)化程序設(shè)計,為什么要使用結(jié)構(gòu)化程序設(shè)計

結(jié)構(gòu)化程序的概念:

1).首先是從以往編程過程中無限制地使用轉(zhuǎn)移語句而提出的。

2).轉(zhuǎn)移語句可以使程序的控制流程強(qiáng)制性的轉(zhuǎn)向程序的任一處,一個程序

中多處出現(xiàn)這種轉(zhuǎn)移情況,將會導(dǎo)致程序流程無序可尋,程序結(jié)構(gòu)雜亂無

章,容易出錯。

3).是在實際軟件產(chǎn)品的開發(fā)中,更多的追求軟件的可讀性和可修改性,象

這種結(jié)構(gòu)和風(fēng)格的程序是不允許出現(xiàn)的。

2.結(jié)構(gòu)化程序設(shè)計方法

1.自頂向下

2.逐步細(xì)化

3.模塊化設(shè)計

4.結(jié)構(gòu)化編碼

1).結(jié)構(gòu)化程序設(shè)計是以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分

為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變單純而明確,

為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。

2).由于模塊相互獨立,因此在設(shè)計其中一個模塊時,不會受到其它模

塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計。

3).按照結(jié)構(gòu)化程序設(shè)計的觀點,任何算法功能都可以通過由程序模塊

組成的三種基本程序結(jié)構(gòu)的組合:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來實現(xiàn)。

4).結(jié)構(gòu)化程序設(shè)計的基本思想是采用"自頂向下,逐步求精”的程序設(shè)

計方法和"單入口單出口”的控制結(jié)構(gòu)。

擬提問題:

什么是結(jié)構(gòu)化程序設(shè)計?它包括那些語言?

課后作業(yè):

談?wù)勛约簩Y(jié)構(gòu)化程序設(shè)計的理解?

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十七講

教學(xué)周第13周節(jié)次第33、34節(jié)

章節(jié)內(nèi)容程序流程圖

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

程序順序結(jié)構(gòu)流程圖

程序選擇結(jié)構(gòu)流程圖

重點:

選擇結(jié)構(gòu)流程圖

難點:

從流程圖看程序流程

課堂教學(xué)組織:

1.常用的流程圖符號:

£Z7輸入

處理

<>判斷

起止符

—流程線

2、順序結(jié)構(gòu):

3、選擇結(jié)構(gòu)

結(jié)束

擬提問題:

程序的流程有那幾種?

課后作業(yè):

畫出順序結(jié)構(gòu)與選擇結(jié)構(gòu)流程圖

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十八講

教學(xué)周第13周節(jié)次第35、36節(jié)

章節(jié)內(nèi)容程序條件流程結(jié)構(gòu)

授課方式理論課(J)討論課()實驗課(V)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

if語句

switch語句

重點:

if語句

switch語句

難點:

if語句的嵌套

課堂教學(xué)組織:

1.if的三種形式

形式1if(表達(dá)式)語句A

功能:當(dāng)表達(dá)式值非0時,執(zhí)行語句人否則不執(zhí)行語句A.

形式2if(表達(dá)式)語句Aelse語句B

功能:表達(dá)式為非0,執(zhí)行語句A

表達(dá)式為0,執(zhí)行語句B

形式3if(表達(dá)式1)語句1

elseif(表達(dá)式2)語句2

elseif(表達(dá)式3)語句3

elseif(表達(dá)式n)語句n

else語句n+1

例1輸入兩個實數(shù),按代數(shù)值由小到大次序輸出這兩個數(shù)。

2、if語句的嵌套

例:main()

intx,y;

if(x<0)y=-l;

elseif(x==0)y=0;

elsey=l;

System.out.println("x="+x+"尸”+y);

3、switch語句---開關(guān)語句

switch(表達(dá)式)

{case常量表達(dá)式1:語句序列1;break;

case常量表達(dá)式2:語句序列2;break;

case常量表達(dá)式n:語句序列n;break;

default:語句序列n+1;

例:根據(jù)成績等級打印百分?jǐn)?shù)段.

擬提問題:

有一方法,編一程序,輸入一個x值,輸出y值

switch(x<0)

(

case?:y=-1;break;

case?switch(x==0)

(

case?:y=0;break;

case?:y=l;break;

課后作業(yè):

編寫程序,由鍵盤輸入星期編號,輸出相應(yīng)的英文單詞,寫到作業(yè)本上。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第十九講

教學(xué)周第14周節(jié)次第37、38節(jié)

章節(jié)內(nèi)容數(shù)組

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

一維數(shù)組的定義

一維數(shù)組元素

一維數(shù)組初始化

數(shù)組基本應(yīng)用

重點:

一維數(shù)組的定義

一維數(shù)組元素

難點:

數(shù)組的應(yīng)用

課堂教學(xué)組織:

1、一維數(shù)組定義

一組相關(guān)的內(nèi)存位置,具有相同的名稱和類型。

一維數(shù)組定義的一般格式:

類型名數(shù)組名[常量表達(dá)式];

2、一維數(shù)組元素

數(shù)組分量又稱數(shù)組元素,其表示的一般格式:

數(shù)組名[整型表達(dá)式]

數(shù)組元素又稱下標(biāo)變量,同簡單變量一樣具有地址和值屬性。數(shù)組元素地址的一般表

示:

&數(shù)組名[整型表達(dá)式]

A3、數(shù)組初始化

格式:類型名數(shù)組名[常量表達(dá)式]={值,值…值};

注意事項:

(1)只能給元素逐個賦值,不能給數(shù)組整體賦值;

(2)如給全部元素賦值,可以不給出數(shù)組元素的個數(shù);

(3)如給部分?jǐn)?shù)組元素賦值,當(dāng){}中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦

值,其它元素默認(rèn)為零。

例1.數(shù)組定義

定義一個名為a的單精度實型一維數(shù)組,長度為4。

例2.數(shù)組定義

定義一個名為a的單精度實型一維數(shù)組,長度為4,并將所有元素的初值設(shè)置為零。

例3.數(shù)組元素

設(shè)有下列數(shù)據(jù)定義語句,則數(shù)組元素x[i]的值是(?)。

inti=3,x[4]={1,2,3);

xf3]=0

例4.定義一個數(shù)組,并使用循環(huán)來賦值數(shù)組元素

擬提問題:

輸入10個學(xué)生的成績,要求用數(shù)組實現(xiàn)。

課后作業(yè):

輸入10個學(xué)生的成績,求最高分、最低分、總分和平均分。

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第二十講

教學(xué)周第14周節(jié)次第39、40節(jié)

章節(jié)內(nèi)容數(shù)組習(xí)題課

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

數(shù)組的基本概念和簡單應(yīng)用

重點:

數(shù)組的引用

難點:

數(shù)組下標(biāo)越界

課堂教學(xué)組織:

1、若有以下a數(shù)組,數(shù)組元素a[0卜a[9]中的值為:9,4,12,8,2,10,7,5,1,3。

(1)對該數(shù)組進(jìn)行定義并賦以上初值的語句是?

(2)該數(shù)組中可用的最小下標(biāo)值是?最大下標(biāo)值是?

(3)該數(shù)組中下標(biāo)最小的元素名字是?它的值是?

(4)該數(shù)組中下標(biāo)最大的元素的名字是?它的值是?

(5)該數(shù)組的元素中,數(shù)值最小的元素的下標(biāo)值是?數(shù)值最大的元素的下標(biāo)值是?

2、編程

有一個數(shù)組A[10],現(xiàn)查詢一個數(shù),如果數(shù)組中有該數(shù),則輸出其位置序號,否則輸

出提示“沒有該數(shù)

分析:

依次取出數(shù)組的每個元素,逐一比較。

3、編程

將一個數(shù)組的值按逆序重新存放,例如,原來的順序為:8、6、5、4,要求改為4、5、

6、8。

分析:

下標(biāo)為。的元素與下標(biāo)為n-1的元素交換位置,下標(biāo)為i的元素與下標(biāo)為n-i-l的元素

交換位置。循環(huán)控制變量并非從0變化到n,這樣每個元素交換兩次后,數(shù)組又將恢

復(fù)到原來的順序。所以,循環(huán)控制變量應(yīng)從0變化到n/2。

4、用選擇法對10個整數(shù)按升序排序

intij,min,temp;

staticinta[N]={5,4,3,2,1,9,8,7,6,0};

System.out.printC'VnThearrayis:\n");/*輸出數(shù)組元素*/

for(i=0;i<N;i++)

System.out.println(a[i]);

for(i=0;i<N-l;i++)/*排序操作*/

{min=[0];

for(j=i+l;j<N;j++)

if(a[min]>a[j])min=j;

[{temp=a[minj;alminj=a|jj;a[jj=temp}];/*數(shù)據(jù)交換*/

)

System.out.print("\nThesortednumbers:\nn);/*輸出排序結(jié)果*/

for(i=0;i<N;i++)System.out.print(a[i]);

System.out.print(n\n");

擬提問題:

課后作業(yè):

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第二十一講

教學(xué)周第15周節(jié)次第41、42節(jié)

章節(jié)內(nèi)容給數(shù)組元素排序

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

初步了解程序的算法

重點:

冒泡排序法

難點:

排序算法

課堂教學(xué)組織:

1、選擇排序

publicstaticvoidmain(String[]args){

inta[]={7,4,0,6,2,5,1);

inti,j,k,temp;

System.out.println("排序前數(shù)組元素:”);

for(i=0;i<a.lenglh;i++){

System.out.println(a[i]+,,5');

)

for(i=0,i<a.length;i++){

k=i;

〃找到最小的下標(biāo),記入K中

for(j=i+1;j<a.length;j++){

if(a[j]<a[kj)

k=j;

)

〃將最小的數(shù)和第i個數(shù)交換

temp=a[i];

a[i]=a[k];

a[k]=temp;

)

System.out.println("排序后數(shù)組元素:");

for(i=0;i<a.length;i++)

System.out.println(a[i]+"");

2、冒泡排序

int[]a={al,a2,........,an};

inti,j,temp;

for(i=l,i<a.length;i++){

//一趟排序

for(j=l;j<=a.length-i;j++){

〃相鄰數(shù)比較,不符合順序則交換

if(aUJ<a[j-lJ){

temp=a[j-l];

a[j-l]=a[j];

a[j]=temp;

)

}

)

3.插入排序:

voidinsertSort(Datatypea,intn){

for(i=2;i<n;i++){

a[0]=a[i];

j=i-l;

while(){

a[j+l]=a|j];

j=j-1;

a[j+l]=a[O];

擬提問題:

你所知道有那些排序方法

課后作業(yè):

調(diào)試運(yùn)行ppt上每個例子

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第二十二講

教學(xué)周第15周節(jié)次第43、44節(jié)

在數(shù)組中查找給定的元素

章節(jié)內(nèi)容

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

熟悉數(shù)組中值的查找方法

重點:

順序查找

難點:

二分查找

課堂教學(xué)組織:

1、順序查找:

顧名思義,順序查找就是從一端起查找,直到找到所查的元素為止,不要求原來

的原來的數(shù)值有序。

如果是用數(shù)組存儲數(shù)值,則從數(shù)組的第一個元素開始依次比較是否是要查找的數(shù),

若找到,則記錄下標(biāo),若到末尾仍然沒有,則為沒有找到。

2.二分查找:

在數(shù)據(jù)是有效的情況下,二分查找是一個效率很高的查找方法。

二分查找采用的是分治法。二分查找要求數(shù)據(jù)有序,每次選擇的數(shù)組中間的那個

數(shù)與要查找的數(shù)比較。

publicintsearch(intlow,inthigh,inta,intx)

{intmid;

while(k)w<=high)

{mid=low+high/2;

if(a[mid]==x)returnmid+1;

if(a[mid]>x)high=mid-l;

elsek>w=mid+l;

}

return0;

publicvoidmakeSearch()

inta[10]={1,2,3,4,5,6,7,8,9,10);

intx=8;/*x是欲查找的數(shù)*/

x=search(0,9,a,x);

if(x>0&&x<ll)

System.out.printlnC'thenumis:"+x);

elseprintf("notfound\nn);

getch();

擬提問題:

怎樣在數(shù)組中查找某一特定值

課后作業(yè):

調(diào)試運(yùn)行ppt上每個例子

注:每兩節(jié)課(80分鐘)為一講,每講必須填寫此表。

第二十三講

教學(xué)周第16周節(jié)次第45、46節(jié)

章節(jié)內(nèi)容方法的參數(shù)及從方法中返回參數(shù)

授課方式理論課(J)討論課()實驗課(J)習(xí)題課()其他()

主要內(nèi)容與教學(xué)目的:

方法的參數(shù)及從方法中返回參數(shù)值

方法調(diào)用

重點:

方法調(diào)用

難點:

值傳遞

課堂教學(xué)組織:

1、形式參數(shù)和實際參數(shù)

方法參數(shù):用于方法間數(shù)據(jù)的傳遞

形式參數(shù):定義方法時使用的參數(shù)

實際參數(shù):引用方法時使用的參數(shù)

publicintadd(intx,inty)

(

returnx+y;

)

publicvoidsum()

(

inta=4,b=8,c;

c=add(a,b);

System.out.println("a="+a+"b="+b+"c="+c);

}

2,函數(shù)的返回值

方法的返回值也就是函數(shù)值,是一個確定的值。

(1)如果一個方法有返回值,就必須使用return語句。

(2)一個方法中可以有一個以上的return語句,但不論執(zhí)行到哪個return都將結(jié)束函

數(shù)的調(diào)用返回主調(diào)函數(shù)。

publicintmax(intx,inty)

(

if(x>y)returnx;

elsereturny;

)

publicvoidchooseMax()

(

inta,b,c;

c=max(a,b);

System.out.println("c="+c);

)

(1)

溫馨提示

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

最新文檔

評論

0/150

提交評論