第一篇:高中程序設(shè)計(jì)循環(huán)教案解析
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教案 學(xué)科:計(jì)算機(jī)
課題:循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 課型:理論課 授課對(duì)象:高二、二班 課時(shí):一課時(shí) 授課教師:陳平
一、教學(xué)目標(biāo):
1、知識(shí)目標(biāo)
理解循環(huán)結(jié)構(gòu)的基本思想,通過FOR語句的學(xué)習(xí),寫出簡(jiǎn)單的循環(huán)程序。
2、能力目標(biāo)
培養(yǎng)和提高學(xué)生邏輯思維能力以及分析問題、解決問題的能力。
3、情感目標(biāo)
激發(fā)學(xué)生學(xué)習(xí)熱情,培養(yǎng)學(xué)生學(xué)習(xí)的積極性。
重點(diǎn):掌握FOR---ENDFOR循環(huán)語句的格式、功能和執(zhí)行過程 難點(diǎn):FOR---ENDFOR循環(huán)語句的具體應(yīng)用方法 關(guān)鍵點(diǎn):解決問題的方法和思路,確定循環(huán)變量和循環(huán)體 教學(xué)手段:多媒體 教法:講授法、討論法
學(xué)法:聽課法、練習(xí)法
二、教學(xué)過程: A.復(fù)習(xí)提問
1、程序設(shè)計(jì)中三種最基本的邏輯控制結(jié)構(gòu)是什么?
2、分支結(jié)構(gòu)有幾種形式? B.導(dǎo)入新課
首先請(qǐng)同學(xué)們看一個(gè)圖形(5個(gè)豎行排列的“*”,想想用以前學(xué)過的知識(shí)能否實(shí)現(xiàn)? 然后再提出問題:如果想畫10行、100行、1000行“*”怎樣實(shí)現(xiàn)?由此引出我們今天要學(xué)習(xí)的內(nèi)容——FOR循環(huán)語句。
C.講授新課(一循環(huán)結(jié)構(gòu)的概念
循環(huán)結(jié)構(gòu)是在給定的條件下反復(fù)執(zhí)行某些相同的操作。被反復(fù)執(zhí)行的操作稱為循環(huán)體。
(二循環(huán)結(jié)構(gòu)的實(shí)現(xiàn)方法
Visual FoxPro提供了三種循環(huán)語句: FOR…ENDFOR DO WHILE…ENDDO SCAN…ENDSCAN
我們今天講授的是FOR…ENDFOR語句。
(三FOR…ENDFOR循環(huán)
1、語句格式
FOR I=A TO B [STEP C] < 語句序列> [ LOOP ] [ EXIT ] ENDFOR
2、語句功能
根據(jù)設(shè)定的循環(huán)次數(shù),重復(fù)執(zhí)行語句序列。
3、語句執(zhí)行過程
執(zhí)行FOR語句時(shí),系統(tǒng)先把初值賦給循環(huán)控制變量,然后,判斷循環(huán)控制變量是否“超過”終值,若超過則結(jié)束循環(huán),執(zhí)行ENDFOR后面的語句;若沒超過,則執(zhí)行循環(huán)體內(nèi)的語句序列。執(zhí)行到ENDFOR時(shí),控制變量按步長(zhǎng)增值,根據(jù)循環(huán)控制變量和終值的大小,決定是否繼續(xù)執(zhí)行循環(huán)體。
語句執(zhí)行過程流程圖:(略
★在這里插入學(xué)生活動(dòng),巧妙設(shè)置陷阱,強(qiáng)調(diào)語句格式: ①打印1-5這5個(gè)數(shù) FOR N=1 TO 5 STEP-1 ? N ENDFOR
[步長(zhǎng)應(yīng)為1] ②打印5-1這5個(gè)數(shù) FOR N=5 TO 1 ? N ENDFOR [步長(zhǎng)應(yīng)為-1,不能省略] ③打印1-5這5個(gè)數(shù) FOR N=1 TO 5 ? “N” ENDFOR [N加上引號(hào),就是字符串,應(yīng)把引號(hào)去掉] ④打印1-5這5個(gè)數(shù) FOR 1 TO 5 ? N ENDFOR [循環(huán)變量N必須賦值] ⑤打印1-5這5個(gè)數(shù) FOR N=1 TO5 ? N
[FOR與ENDFOR必須成對(duì)出現(xiàn),缺一不可]
4、應(yīng)用實(shí)例
例1 求1—100之間的奇數(shù)和。SET TALK OFF CLEAR S=0 FOR N=1 TO 100 STEP 2 S=S+N ENDFOR ? S SET TALK ON 例2 打印一個(gè)數(shù)據(jù)表中的全部字段名。SET TALK OFF CLEAR USE 成績(jī) M=FCOUNT(FOR N=1 TO M ? FIELDS(N ENDFOR
USE SET TALK ON D.課堂小結(jié)(先由學(xué)生總結(jié),再由教師補(bǔ)充
1、循環(huán)的概念
2、實(shí)現(xiàn)循環(huán)的三種語句
3、FOR…ENDFOR循環(huán)(重點(diǎn)是語句格式
4、FOR循環(huán)的應(yīng)用 E、拓展創(chuàng)新(作業(yè)
教師提出問題:今天我們學(xué)習(xí)了FOR循環(huán),像這樣的問題如何解決?(由此引出循環(huán)的嵌套
請(qǐng)打印一張九九表,格式如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 9*1=9 9*2=18 9*3=27 9*4=36 ?????? 9*9=81 要求:
1、自學(xué)有關(guān)循環(huán)嵌套的知識(shí)
2、寫出實(shí)現(xiàn)上述問題的程序
四、板書設(shè)計(jì): §10-2 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)——FOR循環(huán)(略
第二篇:循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教案
教學(xué)內(nèi)容:循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 教學(xué)課時(shí):2課時(shí) 【教學(xué)目的】
1、循環(huán)的基本思想
2、while、do-while和for
3、三種語句特點(diǎn)
4、孰能生巧 【教學(xué)重點(diǎn)】 三種循環(huán)語句的使用。【教學(xué)難點(diǎn)】 三種循環(huán)語句區(qū)別。【教學(xué)方法】 講解、演示、練習(xí)
第一課時(shí)
一、循環(huán)的基本思想
1、循環(huán)就是找規(guī)律,學(xué)習(xí)分析問題和解決問題的能力
2、講解案例灰太狼抓羊問題
3、分析抓羊規(guī)律,引出循環(huán)概念
二、while、do-while和for
1、分析灰太狼抓羊問題,提出解題思路
(一)設(shè)灰太狼每次抓羊i只
(二)設(shè)灰太狼一共抓到羊sum只
(三)設(shè)灰太狼每天抓羊后籠子里有羊sum + i只 其中:i為循環(huán)變量,sum + i為循環(huán)體
2、介紹while循環(huán)的一般形式
3、一邊分析一邊編程
(一)主函數(shù)
(二)定義變量
(三)運(yùn)算過程
(四)輸出結(jié)果
4、編寫循環(huán)程序必須注意的幾個(gè)問題
(一)循環(huán)控制變量必須有正確的初值
(二)在循環(huán)體內(nèi)應(yīng)有改變其值的語句
(三)其值的改變應(yīng)使得表達(dá)式的值最終趨向于零(循環(huán)結(jié)束條件),否則將形成死循環(huán)
5、引出do-while循環(huán)
6、介紹do-while循環(huán)的一般形式
7、使用do-while循環(huán)解決灰太狼抓羊問題
8、說明:while與do-while相似點(diǎn)
9、引出for循環(huán)
10、介紹for循環(huán)的一般形式
11、使用for循環(huán)解決灰太狼抓羊問題
12、說明:for循環(huán)中三個(gè)表達(dá)式使用方法
第二課時(shí) 一、三種語句特點(diǎn)
1、while與do-while的區(qū)別
2、兩語句與for的區(qū)別
二、孰能生巧
1、提出問題姜太公釣魚
2、分析題目中可用循環(huán)解決的規(guī)律問題
3、分析姜太公釣魚問題,提出解題思路
(一)設(shè)太公每次釣魚數(shù)量n = n + 2條
(二)設(shè)一共釣到魚的數(shù)量sum條
(三)設(shè)每天釣魚后魚的數(shù)量sum + n條
4、一邊分析一邊編程
(一)主函數(shù)
(二)定義變量
(三)運(yùn)算過程
(四)輸出結(jié)果
5、課程小結(jié)
課后練習(xí)
1、概述三種循環(huán)語句while、do-while和for之間的區(qū)別與聯(lián)系。
2、計(jì)算無理數(shù)e的值,直到1/n!<10-5(P44,第4題)。
3、輸入任意字符串,把字符串中小寫字母轉(zhuǎn)換成大寫字母,并輸出結(jié)果(P44, 第3題)。
4、輸入5個(gè)整數(shù),計(jì)算其中正數(shù)的和(P47,1)
5、編程顯示100以內(nèi)所有能被3和7整除的整數(shù)(P47,6、輸出用戶輸入的兩個(gè)整數(shù)之間的所有偶數(shù)。
7、編程求1!+2!+3!+…+n!的和。
2)。
第三篇:C程序設(shè)計(jì)教案解析
C程序設(shè)計(jì)教案
講課提要
3.例:任意輸入三個(gè)數(shù),利用前例中的swap函數(shù)排序后輸出。4.分析下面程序中的swap函數(shù)能否成功交換兩個(gè)變量的值。void main({ int a,b;int *pa,*pb;void swap(int *,int *;scanf(“%d,%d”,&a,&b;void swap(int *p1,int *p2{ int *p;p=p1;
實(shí)例:輸出數(shù)組全部元素 下標(biāo)法
地址法:通過數(shù)組名找出各數(shù)組元素地址 指針法 幾點(diǎn)說明
對(duì)于int a[10],*p=a;是指針變量,指向數(shù)組首元素,可以進(jìn)行p++操作,使指針移向下一個(gè)元素。*p進(jìn)行數(shù)組元素引用。
是數(shù)組的首地址,相當(dāng)于指針常量,不能進(jìn)行a++操作。可以進(jìn)行
分析 地址和指針的概念 指針變量及其運(yùn)算 數(shù)組的三種遍歷方法 用數(shù)組名作為函數(shù)的實(shí)參。數(shù)組名作為實(shí)參時(shí),表示數(shù)據(jù)元素的首地址。與 思 考 題,擴(kuò)充 學(xué)生知識(shí) 面。目的: 1. 通過實(shí)驗(yàn)進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量; 2. 能正確使用數(shù)組的指針和指向數(shù)組的指針變量; 3. 能初步使用字符串的指針和指向字符串的指針變量 題目:(請(qǐng)參考教學(xué)網(wǎng)站中的實(shí)驗(yàn)十二 1. 給出的圖片中的程序,能夠?qū)崿F(xiàn)輸入 3 個(gè)整數(shù),按由小到大的順序輸 出。請(qǐng)仔細(xì)閱讀,輸入,運(yùn)行并觀察結(jié)果。體會(huì)指針變量的用法。完 成后將文件 c12_1.c 上交到“交作業(yè)空間”。2. 將第一題的程序改為:輸入 5 個(gè)浮點(diǎn)數(shù),按由大到小順序輸出。運(yùn)行 并觀察結(jié)果,并將文件命名為 c12_2.c 上交到“交作業(yè)空間”。3. 有 n 個(gè)整數(shù),使其前面各數(shù)順序向后移 m 個(gè)位置,最后 m 個(gè)數(shù)變成最 前面 m 個(gè)數(shù),如圖所示。完成后運(yùn)行并驗(yàn)證結(jié)果,最后將文件 c12_3.c 上交到“交作業(yè)空間”。要求學(xué)生 獨(dú) 立 完 成,實(shí)現(xiàn) 本講教學(xué) 目標(biāo) 實(shí)驗(yàn) 題目 6
第四篇:C語言程序設(shè)計(jì)教案 第六章 循環(huán)程序設(shè)計(jì)
第六章 循環(huán)程序設(shè)計(jì)
課題:
教學(xué)目的: 教學(xué)重點(diǎn): 教學(xué)難點(diǎn): 第五章 選擇結(jié)構(gòu)程序設(shè)計(jì)
1、掌握三種循環(huán)語句的語法結(jié)構(gòu)
2、靈活運(yùn)用循環(huán)語句
三種循環(huán)語句while、do-while、for 三種循環(huán)語句的區(qū)別
步驟一 引入新課
? 問題1:假如全班41人,欲從鍵盤上輸入每人的數(shù)學(xué)成績(jī),然后計(jì)算出平均成績(jī); ? 問題2: 編程計(jì)算n!。
? 重復(fù)執(zhí)行一組語句是程序設(shè)計(jì)要求的基本功能之一。在C語言中可以用以下語句來實(shí)現(xiàn)循環(huán):(1)if 和 goto
(2)while
(3)do-while
(4)for
步驟二 講授新課
一、goto語句及用goto構(gòu)成循環(huán) ? 語法:goto label;? 其中:label是語句標(biāo)號(hào),它命名的規(guī)則同變量名; ? 語義:使程序無條件地轉(zhuǎn)向標(biāo)號(hào)為label的語句去執(zhí)行; ? 如:用if語句構(gòu)成循環(huán),求sum=1+2+…+100
main()
{ int i=1,sum=0;
loop:
if(i<=100)
{sum+=i;i++;goto loop;}
printf(“%d”, sum);
} 說明:
1)標(biāo)號(hào)不必進(jìn)行類型說明;
2)程序中的任何一個(gè)語句均可帶上標(biāo)號(hào),但標(biāo)號(hào)必須以冒號(hào)結(jié)束; 3)不提倡使用goto語句。
二、while語句
? 語法:while(exp)
循環(huán)體語句;
? 語義:當(dāng)exp為真時(shí),執(zhí)行循環(huán)體;為假時(shí),執(zhí)行循環(huán)語句的后續(xù)語句; ? 如:用while語句構(gòu)成循環(huán),求sum=1+2+…+100
程序如下:main(){ int i=1, sum=0;
while(i<=100)
{ sum+=i;
i++;}
printf(“%d”,sum);} 說明:
1)循環(huán)體可以用復(fù)合語句;
2)在while語句前應(yīng)有為測(cè)試表達(dá)式(exp)中的循環(huán)控制變量賦初值的語句,以確保循環(huán)的正常開始;
3)循環(huán)體內(nèi)應(yīng)有改變循環(huán)控制變量的語句,以確保循環(huán)進(jìn)行有限次后正常結(jié)束;
如:i=1;
while(i<=100)
sum=sum+1;(死循環(huán))
4)while 循環(huán)的特點(diǎn)是先判斷后執(zhí)行,故循環(huán)有可能一次都不被執(zhí)行;
如:
i=3;
while(i<3)
printf(“i=%dn”, i);
三、do-while語句 語法:do
循環(huán)體語句;
while(exp);語義:當(dāng)exp為真時(shí),執(zhí)行循環(huán)體;為假時(shí),執(zhí)行循環(huán)語句的后續(xù)語句; 如:用do-while語句構(gòu)成循環(huán),求 sum=1+2+…+100 程序如下:main(){ int i=1,sum=0;
do
{ sum+=i;
i++;}
while(i<=100);
printf(“%d”,sum);}
說明:
1)循環(huán)體可以用復(fù)合語句;
2)循環(huán)控制變量在執(zhí)行do前必須賦初值;循環(huán)體內(nèi)應(yīng)有改變循環(huán)控制變量的語句; 3)do-while 循環(huán)的特點(diǎn)是先執(zhí)行后判斷,故循環(huán)至少被執(zhí)行一次;
如:i=3;
do
{ sum+= i;
i++;
} while(i>10);例1:用公式求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于10-6為止。π/4≈1-1/3+1/5-1/7+……
# include
while((fabs(t))>1e-6)
{ pi=pi+t;n+=2;
s=-s;t=s/n;
}
pi=pi*4;
printf(“pi=%10.6fn”,pi);}
例2:求整數(shù)a和b的最小公倍數(shù)。#include
i=0;while(1)
{ i++;
if(i%a= =0)
if(i%b= =0){printf(“%dn”, i);break;}
} }
思考:有一張足夠大的紙,厚0.09毫米,問將它對(duì)折多少次后可以達(dá)到珠穆朗瑪峰的高度(8848米)?
四、for 語句
語法:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)體語句; 語義:
1、先求表達(dá)式1;
2、求解表達(dá)式2,若其值為真,則執(zhí)行第三步;若為假,則結(jié)束循環(huán);
3、執(zhí)行循環(huán)體中的語句;
4、求解表達(dá)式3;
5、轉(zhuǎn)回第二步繼續(xù)執(zhí)行 ? 如: for(i=1;i<=100;i++)sum=sum+i;可看成:
for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語句;
說明:
(1)顯然for循環(huán)更簡(jiǎn)潔,更靈活;(2)循環(huán)體可以是復(fù)合語句;(3)for語句中的三個(gè)表達(dá)式均可以是逗號(hào)表達(dá)式,故可同時(shí)對(duì)多個(gè)變量賦初值及修改。如:for(i=0, j=1;j (4)for語句中三個(gè)表達(dá)式可?。?/p> ? 省exp1;如:i=1;for(;i<5;i++) printf(“%dn”,i); 等價(jià)于for(i=1;i<5;i++)printf(“%dn”,i);? 省exp2;如: for(i=1;;i++) { printf(“%dn”, i); if(i>5)break; } ? 省exp3;如:for(i=1;i<5;) { printf(“%dn”,i); i++;} 等價(jià)于 for(i=1;i<5;i++) printf(“%dn”,i); ? 表達(dá)式 1、表達(dá)式3可省略 i=1;sum=0;for(;i<=100;){ sum+=i;i++;} ? 三個(gè)表達(dá)式全省時(shí),如: for(;;)語句; 等價(jià)于while(1)語句; 三個(gè)表達(dá)式可包含與循環(huán)變量無關(guān)的語句 for(;(c=getchar())!=?n?;printf(“%c”,c)); (5)for語句中的循環(huán)體可以是空語句;如: int n=0;for(;n++ <=2;);printf(“%d”,n); ? 該程序段的輸出結(jié)果為:4 步驟三 課堂小結(jié) 1、while、do-while、for語句的語法結(jié)構(gòu),特別是for語句中三個(gè)表達(dá)式的作用 2、whie與do-while區(qū)別 3、注意循環(huán)控制的范圍 步驟四 布置作業(yè) 上機(jī)練習(xí):(第六章課后練習(xí))6.2 書面練習(xí):(第六章課后練習(xí))6.3、6.5 上機(jī)作業(yè) 31.2.3. 4.5. 6.7. 用3種循環(huán)計(jì)算自然數(shù)1~10之和。用3種循環(huán)計(jì)算1*2*3*。。。*10。用3種循環(huán)計(jì)算10000以內(nèi)能被3整除的數(shù)之和。用3種循環(huán)計(jì)算 1+1/2+1/3+1/4+。。。+1/100。輸入一個(gè)整數(shù),求出它的所有因子。求任意二個(gè)數(shù)的最大公約數(shù)。由鍵盤任意輸入10個(gè)數(shù)據(jù),分別統(tǒng)計(jì)其中的正數(shù)個(gè)數(shù)、正數(shù)之和、負(fù)數(shù)個(gè)數(shù)、負(fù)數(shù)之和。 8. 輸入一個(gè)整數(shù),將各位數(shù)字反轉(zhuǎn)后輸出。如:輸入365,則輸出顯示為563。 注意: 1. 編程風(fēng)格。 2. 建立本人學(xué)號(hào)為名稱的文件夾,將調(diào)試通過的程序文件存入此文件夾,上傳到: 上傳作業(yè)于紅光作業(yè)×本人的班級(jí)名。 如:上傳作業(yè)于紅光作業(yè)一測(cè)繪1。第五篇:3、循環(huán)程序設(shè)計(jì)作業(yè)