《C語言程序設(shè)計》教案_第1頁
《C語言程序設(shè)計》教案_第2頁
《C語言程序設(shè)計》教案_第3頁
《C語言程序設(shè)計》教案_第4頁
《C語言程序設(shè)計》教案_第5頁
已閱讀5頁,還剩184頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《C程序設(shè)計項目教程》

教案

課時分配表

章序課程內(nèi)容課時備注

1C程序概述2

2算法4

3C語法基礎(chǔ)4

4分支語句4

5循環(huán)語句6

6數(shù)組8

7函數(shù)6

8指針6

9構(gòu)造數(shù)據(jù)類型4

10文件4

合計48

課題熟悉C程序開發(fā)環(huán)境

課時2課時(90min)

知識技能目標:

(1)了解C程序的開發(fā)步驟,熟悉C程序的開發(fā)環(huán)境,熟悉C程序的結(jié)構(gòu)及格式

特點。

(2)能在VisualC++2010中創(chuàng)建、運行C程序,給出的常見錯誤信息,分析并修

教學(xué)目標

改程序。

素質(zhì)目標:

(I)養(yǎng)成腳踏實地、開拓進取的工作作風。

(2)發(fā)揚服務(wù)集體、團結(jié)協(xié)作的團隊精神。

教學(xué)重點:熟悉C程序的開發(fā)步驟,熟悉C程序的開發(fā)環(huán)境

教學(xué)重難點

教學(xué)難點:熟悉VisualC++2010開發(fā)環(huán)境

教學(xué)方法案例分析法、問答法、討論法、講授法

教學(xué)用具電腦、投影儀、多媒體課件、教材

課前任務(wù)一考勤(2min)-新i顆5熱(10min)一問題導(dǎo)入(5min)一?傳授新知(28min)

教學(xué)設(shè)計一任務(wù)實施(15min)一>效果展示(lOmin)一■實操練習(15min)一課堂小結(jié)(3min)

一作業(yè)布置(2min)

教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計意圖

■【教師】布置課前任務(wù),和學(xué)生負責人取得聯(lián)系,讓其提醒同

學(xué)通過APP或其他學(xué)習軟件,完成課前任務(wù)

通過課前任務(wù),

請大家了解C語言程序設(shè)計的特點,應(yīng)用領(lǐng)域。使學(xué)生了解所學(xué)

課前任務(wù)讓學(xué)生了解二級C語言程序設(shè)計考試大綱課程的重要性,增

如何下載并安裝VisualC++2010軟件加學(xué)生的學(xué)習興

■【學(xué)生】完成課前任務(wù)

■【教師】清點上課人數(shù),記錄好考勤培養(yǎng)學(xué)生的組

考勤

織紀律性,掌握學(xué)

(2min)

■【學(xué)生】班干部報請假人員及原因生的出勤情況

■【教師】自我介紹,與學(xué)生簡單互動,介紹課程內(nèi)容.考核標通過老師自我

準等介紹,與學(xué)生相互

新課預(yù)熱

熟悉,并讓學(xué)生了

(10min)簡單介紹二級C語言程序設(shè)計考試大綱

解這門課的大致

■【學(xué)生】聆聽、互動要求

■【教師】講一些涉及C語言的應(yīng)用領(lǐng)域解釋學(xué)習該軟件的作用

C語言是目前世界上使用最廣泛的高級程序設(shè)計語言之

一。它具有很強的數(shù)據(jù)處理能力,運行效率高,故廣泛應(yīng)用

于操作系統(tǒng)、嵌入式系統(tǒng)等底層應(yīng)用的開發(fā)。同時,它也是

學(xué)習C#、C++、Java等面向?qū)ο蟪绦蛟O(shè)計語言的基礎(chǔ)。

■【學(xué)生】聆聽、記錄、理解

■【教師】提出以下問題:

按照發(fā)展進程分類,計算機編程語言有幾種?C語言屬

于哪種?通過問題導(dǎo)入

問題導(dǎo)入的方法,引導(dǎo)學(xué)生

C程序的開發(fā)分為哪些步驟?

(5min)主動思考,激發(fā)學(xué)

生的學(xué)習興趣

■【學(xué)生】思考、舉手回答

■【教師】通過學(xué)生的回答引入要講的知識

一、C程序的開發(fā)步驟

■【教師】通過PPT講解c語言程序開發(fā)步驟

1.需求分析

需求分析就是對要解決的問題進行詳細的分析,弄清楚

問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,得

到這個結(jié)果需要什么條件等。這個過程好比是考試時候的審

題,一定要領(lǐng)會題目的要求,否則解題過程再漂亮也無濟于通過教師的講

事。解和演示,使學(xué)

傳授新知

生C程序的開

(28min)2.算法設(shè)計

發(fā)環(huán)境

算法設(shè)計就是設(shè)計出解決問題的方法和具體步驟。例如,

要求解一個1到100的累加問題,首先要選擇用什么方法求

解(直接累加計算、用速算公式計算還是用等差數(shù)列的求和

公式計算),然后把求解的每個步驟清晰地描述出來。

3.編寫程序

編寫程序就是把算法設(shè)計的結(jié)果變成一行行代碼,輸入

到程序編輯器中,然后將此程序(即源程序)以文件形式保

存到指定的文件夾中。

4.編譯程序

編譯程序就是利用編譯器把輸入的源程序翻譯成機器語

言,即編譯器對源程序進行語法檢查并將符合語法規(guī)則的源

程序翻譯成計算機能識別的語言。如果經(jīng)編譯器檢查,發(fā)現(xiàn)

有語法錯誤,則必須修改源程序中的語法錯誤,然后再編譯,

直至沒有語法錯誤。此時會在源程序所在目錄中自動生成一

個目標文件。

■學(xué)【生】聆聽、記錄,理解

二、C程序的開發(fā)環(huán)境

■教【師】通過案例講解C程序的開發(fā)環(huán)境及步驟

一、新建項目

步驟1在VisualC++2010主窗口中選擇“文件”-“新

建”一“項目”菜單項(詳見教材)

步驟2在打開的“新建項目”對話框中,選擇“Win32

控制臺應(yīng)用程序”選項,并在“名稱”編輯框中輸入項目的

名稱,單擊“位置”右側(cè)的“瀏覽”按鈕,選擇項目保存路

徑(也可在“位置”編輯框中輸入路徑),然后單擊“確定”

按鈕(詳見教材)

■教【師】提出問題:名稱與項目名相同,如不同如何解決?

解決方案名稱一般與項目名相同,如果要在一個方案中

包含幾個項目,則可使解決方案名稱與項目名不同。勾選右

側(cè)的“為解決方案創(chuàng)建目錄”復(fù)選框,便會在指定位置的目

錄下創(chuàng)建一個解決方案文件夾。

步驟3打開“Win32應(yīng)用程序向?qū)А睂υ捒?,在歡迎界

面中單擊“下一步”按鈕(詳見教材)

步驟4打開“應(yīng)用程序設(shè)置”界面,在“附加選項”

組中勾選“空項目”復(fù)選框后,單擊“完成”按鈕(詳見教

材)

步驟5返回主窗口,新建項目完成

■【教師】重點強調(diào)如下問題

主窗口的左側(cè)為“解決方案資源管理器”窗格,若此窗

格關(guān)閉,可選擇“窗口”一“重置窗口布局”菜單項將其恢

復(fù)。(詳見教材)

二、新建源程序

創(chuàng)建好項目后,就可以新建源程序文件了。

步驟1右擊項目名稱“1口”,在打開的快捷菜單中選

擇“添加”一“新建項”菜單項

步躲2在打開的''添加新項”對話框中,選擇“C++文

件(.cpp)”選項,在“名稱”編輯框中輸入“l(fā)-l.c”,然后

單擊“添加”按鈕,

步驟3進入編程界面,在源程序編寫區(qū)域輸

入C程序代碼(詳見教材)

三、編譯和連接程序

源程序編寫完成后,選擇“生成”一“生成解決方案”

菜單項即可對程序進行編譯,編譯結(jié)果將顯示在“輸出”窗

口。(詳見教材)

四、運行程序

編譯成功后,選擇“調(diào)試”一“開始執(zhí)行(不調(diào)試)”

菜單項此時會彈出運行結(jié)果窗口顯示程序運行結(jié)果。該窗口

下,可按任意鍵結(jié)束程序運行并關(guān)閉窗口。(詳見教材)

■【教師】重點強調(diào)如下問題

初次安裝VisualC++2010學(xué)習版后,在默認情況下,菜

單可能是簡化的。例如,“調(diào)試”菜單下沒有“開始執(zhí)行(不

調(diào)試)”等菜單項,此時可通過選擇“工具”一“設(shè)置”一

“專家設(shè)置”菜單項將菜單設(shè)置為專家模式(詳見教材)

■【學(xué)生】聆聽、記錄、理解

+【教師】提出任務(wù)

仿照老師的操作步驟,完成任務(wù)實訓(xùn)中教材P15中程序

〉【學(xué)生】聆聽要求、進行操作

■教【師】巡堂輔導(dǎo),幫助學(xué)生解決問題

■教【師】通過創(chuàng)建教材P18例子了解C語言結(jié)構(gòu)

一、C程序的基本結(jié)構(gòu)

任務(wù)一帶領(lǐng)大家在VisualC++2010中輸入了一個簡單

的C程序。

#include<stdio.h>/*引用庫文件*/

intmain()/*定義主函數(shù)*/

(

printf("WelcometoCProgramWorld!\n");/*輸出要顯示

的字符串*/

return0;/*函數(shù)返回值0*/

}

此程序是一個由預(yù)處理命令和主函數(shù)組成的簡單C程

序,下面分別解釋各行代碼的意義。

第1行:預(yù)處理命令。

#include<stdio.h>

■教【師】重點強調(diào)如下問題

程序中為什么有#include<stdio.h>

include稱為文件包含命令,后面尖括號中的內(nèi)容稱為頭

文件。stdio.h是C程序的系統(tǒng)文件,stdio是“standardinput

&output(標準輸入輸出)”的縮寫,.h是文件的擴展名。由

于程序的第4行使用了庫函數(shù)printf(),編譯系統(tǒng)要求程序提

供有關(guān)此函數(shù)的信息(如對這些輸入輸出函數(shù)的聲明和宏的

定義、全局變量的定義等),所以此處需要這條命令。

第2行:函數(shù)頭。

intmain()

其中,main是函數(shù)的名字,表示“主函數(shù)",main前面

的int表示函數(shù)的返回值是int類型(整型)。

?【教師】重點強調(diào)如下問題

每個C程序都必須有一個main。函數(shù)。

第3行到第6行:函數(shù)體。

printff'WelcometoCProgramWorld!\n");/*輸出要顯示

的字符串*/

return0;/*函數(shù)返回值0*/

函數(shù)體必須用大括號{}括起來,函數(shù)體中每條語句后都要

加分號,表示語句結(jié)束。在該函數(shù)體中,printf()是C編譯系

統(tǒng)提供的函數(shù)庫中的輸出函數(shù),用于在屏幕輸出內(nèi)容,輸出

語句中雙引號中間可以是字母、符號及中文字符等(其中,

“\n”表示換行)。“return0;”的作用是當main。函數(shù)執(zhí)

行結(jié)束時將整數(shù)0作為函數(shù)值返回到調(diào)用函數(shù)處。

在程序各行的右側(cè)可以看到關(guān)于這行代碼的文字描述

(用/*和*/括起來),稱為代碼注釋。其作用是對代碼進行解

釋說明,以增加程序的可讀性。

■【教師】教師與學(xué)生互動總結(jié)C語言的特點

C程序的結(jié)構(gòu)主要有以下特點。

(1)一個C程序由一個或多個源程序文件組成。一個規(guī)

模較小的程序,往往只包括一個源程序文件(本書中的例子

都是基于一個源程序文件的)。

(2)C程序是由函數(shù)構(gòu)成的,函數(shù)是C程序的基本單位。

任何一個C程序必須包含且僅包含一個main。函數(shù),可以包

含零個或多個其他函數(shù)。

(3)一個函數(shù)由兩部分組成:函數(shù)頭和函數(shù)體。函數(shù)頭

用于定義函數(shù)名和返回值類型,如intmain。;函數(shù)體為函數(shù)

頭下面大括號。內(nèi)的部分,用于實現(xiàn)函數(shù)的具體功能。

(4)C程序總是從main。函數(shù)開始執(zhí)行,到main()函數(shù)

結(jié)束,與main()函數(shù)所處的位置無關(guān)。

(5)C程序中每條語句和數(shù)據(jù)定義的最后必須有一個分

號。分號是C語句的必要組成部分,必不可少。

(6)一個好的、有使用價值的C程序都應(yīng)當加上必要的

注釋,以增加程序的可讀性?!?詳見教材)

■【學(xué)生】自行掃碼觀看配套微課,按照要求進行操作,如遇問

題可詢問老師

■【教師】巡堂輔導(dǎo),及時解決學(xué)生遇到的問題

通過模仿,讓學(xué)

任務(wù)實施■【學(xué)生】仿照案例實施的內(nèi)容完成任務(wù)工單中的任務(wù)實施

生加深本次任務(wù)

(20min)完成教材P22程序

的理解

使用任務(wù)驅(qū)動

■【學(xué)生】每組派一名代表展示效果法教學(xué),通過展示

效果展示

任務(wù)實施效果,使

(10min)

■【教師】點評并打分學(xué)生帶著問題進

行學(xué)習

【教師】通過實訓(xùn)中的案例對常見錯誤分析

1.語句后少分號

分號是C程序語句的重要組成部分,每條語句及數(shù)據(jù)定通過實操練習

義末尾必須有分號。很多初學(xué)者在編寫程序時很容易漏使學(xué)生鞏固所學(xué)

寫。......(詳見教材)知識,并以學(xué)生為

主體,針對學(xué)生接

實操練習2.語句中出現(xiàn)中文字符

受能力的差異性,

(15min)

C程序的語句只識別英文字符(提示信息和注釋信息除

讓優(yōu)秀學(xué)生帶動

外),中文字符無法編譯。

其他學(xué)生掌握知

3.大括號不成對出現(xiàn)識

C程序的函數(shù)體中,左右大括號要成對使用。初學(xué)者在

編寫程序時很容易忘掉右邊的大括號。

4.程序連接出錯

一般情況下,程序編譯完成后如果沒有錯誤,在連接程

序時就很少發(fā)生錯誤了,除非是調(diào)用函數(shù)出了問題。

■【學(xué)生】按照上面老師要求,故意在程序中出現(xiàn)上面錯誤,看

結(jié)果并修正。

■【教師】安排每組做得最快、最好的學(xué)生輔勒他學(xué)生進行操

作,并解答其遇到的問題

■【學(xué)生】對比自己的操作,對比操作方法,提升操作技巧

■【教師】簡要總結(jié)本節(jié)課的要點

總結(jié)知識點,鞏

簡要說明C語言的結(jié)構(gòu)。學(xué)會查看編譯器給出的錯誤信

課堂小結(jié)固學(xué)生對C語言

息,分析并修改程序

(3min)創(chuàng)建程序的步驟

及特點

■【學(xué)生】總結(jié)回顧知識點

■【教師】布置課后作業(yè)通過課后作業(yè)

作業(yè)布置請根據(jù)課堂知識,自己新建教材P25編程題復(fù)習鞏固學(xué)到的

(2min)知識才是高實際操

作能力

■【學(xué)生】完成課后任務(wù)

本次課是學(xué)生的第一節(jié)C語言編程課,通過第一節(jié)課的介紹,學(xué)生對這門課程有了

基礎(chǔ)的印象,了解了該課程的教學(xué)內(nèi)容,以及本課程的定位和作用。提高了學(xué)生對本課

教學(xué)反思程的學(xué)習興趣。此外,對C語言環(huán)境和基本結(jié)構(gòu)進行了介紹,學(xué)生對本課程的學(xué)習性質(zhì)

都很高,取得了不錯的教學(xué)效果,但由于是第一次接觸C語言,學(xué)生理解不深刻,須課

下進一步鞏固練習.

課題解析漢諾塔游戲

課時2課時(90min)

知識技能目標:

(1)了解算法的概念和特點.

(2)能分析具體問題,并能給出解決問題的方法和步驟。

教學(xué)目標

素質(zhì)目標:

(1)學(xué)會多角度看待問題,轉(zhuǎn)換角度解決問題。

(2)養(yǎng)成事前規(guī)劃、事后總結(jié)的習慣。

教學(xué)重點:算法的概念和特點

教學(xué)重難點

教學(xué)難點:能分析具體問題,并能給出解決問題的方法和步驟。

教學(xué)方法案例分析法、問答法、討論法、講授法

教學(xué)用具電腦、投影儀、多媒體課件、教材、漢諾塔游戲模型

課前任務(wù)一考勤(2min)一新?顆?熱(1()min)一問題導(dǎo)入(5min)一傳授新知(30min)

教學(xué)設(shè)計

一任務(wù)實施(15min)—>效果展示(15min)—?課堂小結(jié)(lOmin)—?作業(yè)布置(3min)

教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計意圖

■【教師】布置課前任務(wù),提醒同學(xué)通過APP或其他學(xué)習軟件,

完成課前任務(wù)

通過課前假,

(1)制作一個3個圓盤的漢諾塔游戲模型,模擬漢諾塔游戲的

使學(xué)生了解所學(xué)

步驟,請記錄移動圓盤的步驟并比一比誰完成得最快。

課前任務(wù)課程的重要性,增

(2)了解華羅庚先生在《統(tǒng)籌方法》這篇文章中介紹不同的泡

加學(xué)生的學(xué)習興

茶步驟.

■【學(xué)生】完成課前任務(wù)

■【教師】清點上課人數(shù),記錄好考勤培養(yǎng)學(xué)生的組

考勤

織紀律性,掌握學(xué)

(2min)

■【學(xué)生】班干部報請假人員及原因,交假條生的出勤情況

■教【師】與學(xué)生簡單互動,介紹本節(jié)課的內(nèi)容等與學(xué)生相互熟

新課預(yù)熱悉,并讓學(xué)生了解

(10min)■學(xué)【生】每組推舉一名同學(xué)分享課前任務(wù)(1)和(2)這門課的大致要

■教【師】老師點評求

問題導(dǎo)入通過問題導(dǎo)入

■【教師】以上同學(xué)分享的步驟,就是完成工作的工程,即算法,

(5min)的方法,引導(dǎo)學(xué)生

10

引出算法的概念,并提出以下問題:主動思考,激發(fā)學(xué)

生的學(xué)習興趣

算法有什么特點?

■【學(xué)生】分組討論并推舉一名同學(xué)回答問題

■【教師】通過學(xué)生的回答引入要講的知識

■【教師】通過PPT講解算法的概念

算法是為解決某一問題而提出的準確而完整的方案,是

解決問題的方法和步驟。

【舉例】乘坐火車通??煞譃橐韵聨撞剑嘿徺I車票一

進站一刷證件一上車f到達目的地f下車。這些步驟是按一

定順序進行的,缺一不可。

在計算機領(lǐng)域,算法是對計算機中執(zhí)行的運算過程的具

體描述,包括數(shù)值運算算法和非數(shù)值運算算法。數(shù)值運算的

目的是求數(shù)值解,如求三角形面積、方程求解等。非數(shù)值運

算涉及面比較廣,如人事信息管理、成績管理、圖書管理等。

對于同一個問題,不同的人往往會有不同的解題方法和

步驟。

通過教師的講

傳授新知廨口演示,使學(xué)

(30min)■【教師提問】提出問題生能很好掌握

請同學(xué)們分析求解S=l+2+3+…+99+100的方法和步驟。算法的概念

■【學(xué)生】分組討論,每組推舉一名同學(xué)分享

■【教師】通過總結(jié)學(xué)生的方法和步驟引出如下結(jié)論

對于同一個問題的解題方法也有優(yōu)劣之分,為了有效地進

行解題,不僅需要保證算法的正確性,還需要考慮算法的質(zhì)量。

■【學(xué)生】聆聽、記錄、理解

?【教師】通過案例講解算法的概念

將漢諾塔游戲抽象為數(shù)學(xué)問題。如圖所示,從左到右有A、

B、C三根柱子,其中,A柱有從小疊到大的"個圓盤?,F(xiàn)要求

將A柱的圓盤移到C柱,期間應(yīng)遵守一個規(guī)則:一次只能移動

一個圓盤,且大圓盤只能在小圓盤下面,求移動的步驟和移動

11

的次數(shù)。

4I

ABC

漢諾塔游戲框圖

■教【師】進行算法分析

根據(jù)漢諾塔游戲的規(guī)則,要想將n個圓盤從A柱移到C

柱,須先將上面的n-1個圓盤移到B柱,然后就可以將第。個

圓盤直接從A柱移到C柱,最后將移走的n-1個圓盤從B柱移

到C柱。因此,該問題轉(zhuǎn)換成了移動個圓盤的問題。

要將n-1個圓盤從A柱移到B柱,須先將上面的“-2個

圓盤移到C柱,然后將第n-1個圓盤從A柱移到B柱,最后

將移走的n-2個圓盤從C柱移到B柱??梢?,該問題轉(zhuǎn)換成

了移動n-2個圓盤的問題。

依次類推,最終轉(zhuǎn)換成移動最上面1個圓盤的問題。

為了便于理解,先來分析將3個圓盤從A柱移到C柱的過

程。

■【教師】結(jié)合實物模型或動畫展示3個圓盤的移動步驟

■【學(xué)生】觀察并記錄移動步驟

移動前的情況如圖2-1-3(a)所示。

移動步驟如下:

(1)將上面的2個圓盤從A柱移到B柱(借助C柱),

如圖2-1-3(b)所示;

(2)將第3個圓盤從A柱移到C柱,如圖2-1-3(c)所

示;

(3)將2個圓盤移到C柱(借助A柱),如圖2-1-3(d)

所示。

12

AJL

ARC

czZ]i

ARC

<A)移動前(B)第一步

iczZ]

ARC

L,

ABC

(C)第二步(D)第三步

圖2-1-33個圓盤的移動過程

其中笫(2)步可直接實現(xiàn),第(1)步和第(3)步又可

分解為3步。

第(1)步可分解為:①將第1個圓盤從A柱移到C柱:

②將第2個圓盤從A柱移到B柱;③將第1個圓盤從C柱

移到B柱。

第(3)步可分解為:①將B柱上1個圓盤移到A柱;

②將B柱上剩下的圓盤移到C柱;③將A柱上圓盤移到C

柱。

將以上步驟綜合起來,將3個圓盤從A柱移到C柱共經(jīng)

歷7(BP23-1)步,即A-?C、A-B,C-B、A-C、B-A、B

-C、A—C。

將4個圓盤從A柱移到C柱共經(jīng)歷15(即24-1)步,即

將上面的3個圓盤從A柱移到B柱(7步),然后移動第4

個圓盤(1步),再將上面的3個圓盤從B柱移到C柱(7步)。

由上面的分析可以推斷,將n個圓盤從A柱移到C柱需

經(jīng)歷2"-1步。這些步驟又可以概括為以下3步。

(1)將上面的n-1個圓盤從A柱移到B柱(借助C柱);

(2)將第n個圓盤從A柱移到C柱;

(3)將B柱上個圓盤移到C柱(借助A柱)。

13

■【教師】進行算法描述

從算法分析可以看出,第(1)步和第(3)步都是把“1

個圓盤從一個柱移到另一個柱,采取的方法是一樣的,只是

柱子的名稱不同而已。將3個柱子分別用變量a、b和c表示,

設(shè)n個圓盤借助b柱從。柱移到c柱的函數(shù)為Hanoi(n,a,b,c),

則算法可用以下文字描述。

S1:如果n=l,輸出“Qfc",結(jié)束;否則,執(zhí)行S2。

S2:將n-1個圓盤從a移動到b(借助c),即Hanoi

(n-l,a,c,fa)。

S3:將第"個圓盤從。移到c,即“a-c”。

S4:將n-1個圓盤從b移動到c(借助a),即Hanoi

(n-l,b,o,c)o

這種使用SI、S2等序號代表執(zhí)行順序?qū)λ惴ㄟM行描述的

方法稱為自然語言表示。用自然語言表示算法的優(yōu)點是通俗

易懂,缺點是文字冗長,不嚴謹,表示復(fù)雜算法時不方便。

■教【師】提出任務(wù)

韓信點兵又稱中國剩余定理,相傳漢高祖劉邦問大將軍

韓信統(tǒng)御兵士多少,韓信答說,每3人一列余1人、每5人

一列余2人、每7人一列余4人、每13人一列余6人。劉邦

茫然而不知其數(shù)。

設(shè)韓信統(tǒng)御兵士人數(shù)介于5萬?6萬,你能幫他算出有

多少人嗎?寫出求解步驟

通過模仿,讓學(xué)

任務(wù)實施

生加深本次任務(wù)

(15min)■學(xué)【生】聆聽要求、進行練習

的理解

■教【師】巡堂輔導(dǎo),幫助學(xué)生解決問題

■教【師】重點提示

設(shè)兵士人數(shù)為X,則x要同時滿足以下4個條件:①x

除以3余1;②x除以5余2;③x除以7余4;④x除以

13余6。

使用任務(wù)驅(qū)動

效果展示

■【學(xué)生】每組派一名代表展示效果法教學(xué),通過展示

(15min)

任務(wù)實施效果,使

14

學(xué)生帶著問題進

■【教師】點評并打分

行學(xué)習

■【教師】總結(jié)算法的特點

一般來講,一個有效的算法應(yīng)具有以下5個特點。

(1)有窮性。一個算法必須在執(zhí)行有限個操作步驟后終

止,且每一個步驟都須在有限的時間內(nèi)完成。例如,等差數(shù)

列求和時,這個數(shù)列必須是有限的,如果沒有這個限制,計

算機將一直累加下去而無法停止。

(2)確定性。算法中每步操作的含義都必須是明確的,

即為要執(zhí)行的每步操作做出清晰而嚴格的規(guī)定。例如,在溫

度控制程序中,不能出現(xiàn)諸如“溫差較大時,系統(tǒng)迅速升溫

或降溫”等模糊詞語。

(3)有效性,也稱可行性。即算法中的每步操作都應(yīng)該

能有效執(zhí)行,一個不可執(zhí)行的操作是無效的。例如,一個數(shù)

除以0就是一個無效操作,應(yīng)當避免這種操作。

(4)有零個或多個輸入。這里的輸入是指在算法開始之

前所需要的初始數(shù)據(jù)。輸入的多少取決于特定的問題。例如,

總結(jié)知識點,鞏

課堂小結(jié)和練求等差數(shù)列1+2+3+…+n的累加時,需要輸入n的值;再如,

項目一中的任務(wù)只有輸出而沒有輸入。固學(xué)生對算法概

念的理解,能總結(jié)

(10min)

(5)有一個或多個輸出。在一個完整的算法中至少會有算法的特點

一個輸出。編寫程序的目的就是要得到一個結(jié)果,如果程序

運行完沒有任何結(jié)果輸出,那編寫程序也就失去了意義。

?【學(xué)生】總結(jié)回顧知識點

■【教師】布置課程練習

(1)一個算法應(yīng)該具有"確定性"等5個特性,下面對另外4

個特性的描述中錯誤的是()。

A.有零個或多個輸入

B.有零個或多個輸出

C.有窮性

D.可行性

參考答案:B

(2)算法具有五個特點,以下選項中不屬于算法特點的是

()0

A.簡潔性B.有窮性

15

C.確定性D.可行性

參考答案:A

(3)算法的有窮性是指()。

A.算法程序的運行時間是有限的

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長度是有限的

D.算法只能被有限的用戶使用

參考答案:B

(4)以下敘述中正確的是()。

A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作

B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要輸入

C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出

D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

參考答案:C

(5)以下敘述中錯誤的是()。

A.算法正確的程序最終一定會結(jié)束

B.算法正確的程序可以有零個輸出

C.算法正確的程序可以有零個輸入

D.算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果

參考答案:B

■【學(xué)生】獨立做課堂練習

■【教師】隨機抽取學(xué)生的結(jié)果檢查

■【教師】布置課后作業(yè)

(1)有3個同樣大小的瓶子,一個裝可樂,一個裝雪碧,通過課后作業(yè)

還有一個空瓶,將可樂和雪碧互換瓶子盛放。設(shè)計算法。

作業(yè)布置復(fù)習鞏固學(xué)到的

(3min)知識,提高實際操

(2)求兩個數(shù)a和b的最大公約數(shù)。設(shè)計該算法。

作能力

■【學(xué)生】完成課后任務(wù)

本次課是讓學(xué)生熟悉算法的概念和特點。通過實際案例?!陮W(xué)生能分析具體

問題,并能給出解決問題的方法和步驟。學(xué)生參與興趣較高,但語言表達和歸

教學(xué)反思

納總結(jié)能力個體差異性大,需強化學(xué)生的語言表達能力和歸納總結(jié)能力。

16

課題判定是否是閨年算法的表示

課時2課時(90min)

知識技能目標:

(1)掌握流程圖和N-S修成圖表示算法的方法。

(2)了解C程序的三種基本結(jié)構(gòu)。

教學(xué)目標

素質(zhì)目標:

(1)學(xué)會多角度看待問題,轉(zhuǎn)換角度解決問題。

(2)養(yǎng)成事前規(guī)劃、事后總結(jié)的習慣。

教學(xué)重點:掌握流程圖和N-S流程圖的繪制方法.

教學(xué)重難點

教學(xué)難點:能分析具體問題,并能夠用流程圖和N-S流程圖表示算法

教學(xué)方法案例分析法、問答法、討論法、講授法

教學(xué)用具電腦、投影儀、多媒體課件、教材

課前任務(wù)—考勤(2min)一新課預(yù)熱(10min)一問題導(dǎo)入(5min)一傳授新知(38

教學(xué)設(shè)計min)一案例實施(10min)一任務(wù)實施(10min)一效果展示(10min)一課堂小結(jié)

(3min)作業(yè)布置(2min)

教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計意圖

■【教師】布置課前任務(wù),提醒同學(xué)通過APP或其他學(xué)習軟件,

完成課前任務(wù)通過課前任務(wù),

(1)常用的流程圖符號有哪些?使學(xué)生了解所學(xué)

課前任務(wù)課程的重要性,增

(2)討論判定某年為閏年的條件。

加學(xué)生的學(xué)習興

■【學(xué)生】完成課前任務(wù)

■【教師】清點上課人數(shù),記錄好考勤培養(yǎng)學(xué)生的組

考勤

織紀律性,掌握學(xué)

(2min)■【學(xué)生】班干部報請假人員及原因,交請假條

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論