版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《C語言程序設(shè)計及工程案例分析》教案(BOPPPS教學模式)第第頁教案設(shè)計單授課教師XXX授課順序7授課時長2學時(90分鐘)課題內(nèi)容第5章函數(shù)(二)學情分析遞歸方面,學生易混淆“自我調(diào)用”與普通函數(shù)調(diào)用,對終止條件的必要性、遞歸層次的展開與回溯過程理解模糊,常因邏輯嵌套過深導致思維混亂。變量作用域與生命周期方面,學生對“局部/全局變量”的有效范圍、“靜態(tài)變量”的存活機制理解片面,易忽略函數(shù)調(diào)用時變量的創(chuàng)建與釋放過程,常出現(xiàn)“跨作用域訪問”“變量重名沖突”等問題。學生抽象思維和代碼追蹤能力較弱,易因概念抽象產(chǎn)生畏難情緒。教學需結(jié)合可視化執(zhí)行流程(如遞歸樹、變量生命周期圖示),通過對比案例強化理解。學習目標了解函數(shù)的遞歸調(diào)用理解變量的作用范圍與生存期和變量的存儲類別教學環(huán)境教學用具多媒體教學設(shè)備、手機、黑板或白板、便利貼、大幅白紙、彩色粉筆或白板筆板書設(shè)計遞歸調(diào)用過程示意圖課前預(yù)習清單預(yù)習教材第5章遞歸調(diào)用,變量的作用范圍與生存期和變量的存儲類別。課后復習清單復習本章教材及PPT知識點。消化、理解、運行、改寫老師在課堂上演示的代碼。完成本章作業(yè)和實驗。
教學流程時長教學內(nèi)容及教學活動導入Bridge-in2同學們,咱們來想個生活場景:你想知道今天是星期幾,問了同學A,A說他也不清楚,去問了B,B又去問了C……直到有人問到老師,老師說“今天周六”,這個答案再一層層傳回來,你才知道結(jié)果。這個過程里,每個人做的事其實一樣——“問別人今天星期幾”,直到問到知道答案的人。再來看個生活場景:你站在兩面相對的鏡子中間,會看到什么?沒錯,鏡子里有鏡子,鏡子里還有鏡子……形成無窮無盡的“鏡像嵌套”這種“自己包含自己”的現(xiàn)象。比如計算5的階乘(5!),按定義是5×4×3×2×1。但換個角度想:5!其實等于5×4!,而4!又等于4×3!……直到1!等于1。發(fā)現(xiàn)沒?求n的階乘時,我們把問題變成了“n乘以(n-1)的階乘”——這就是“自己調(diào)用自己”。在編程里,函數(shù)直接或間接調(diào)用自身,就是遞歸。它能把復雜問題層層拆解,像剝洋蔥一樣,直到最核心的簡單情況。今天我們就來學這種神奇的編程技巧。學習目標Objective1讓學生明晰本次課學習目標:了解函數(shù)的遞歸調(diào)用理解變量的作用范圍與生存期和變量的存儲類別前測Pre-assessment2【雨課堂前測/單選題】以下程序運行后屏幕輸出為()。#include<stdio.h>intf(intx,inty){return(x+y);}main(){inta=2,b=3,c;c=f(a,b);printf("%d+%d=%d\n",a,b,c);}參與式學習ParticipatoryLearning參與式學習ParticipatoryLearning參與式學習ParticipatoryLearning參與式學習ParticipatoryLearning參與式學習ParticipatoryLearning參與式學習ParticipatoryLearning405.2.5函數(shù)的遞歸調(diào)用所謂“遞歸”,從程序代碼的角度看就是“函數(shù)直接或間接調(diào)用函數(shù)自己”的現(xiàn)象。使用遞歸必須封裝函數(shù)。函數(shù)的遞歸調(diào)用過程是在系統(tǒng)的控制下自動一層一層深入進行的(或展開的),直到滿足遞歸調(diào)用結(jié)束的條件,然后再逐層返回,或者由于進程的??臻g被使用完畢,整個進程都被操作系統(tǒng)終止。遞歸每深入一層,則屬于這個遞歸函數(shù)的局部變量就會由系統(tǒng)產(chǎn)生一份全新的副本(彼此有不同的內(nèi)存空間),盡管這些變量的名字是相同的。C程序設(shè)計語言中函數(shù)遞歸調(diào)用分為直接遞歸和間接遞歸。使用遞歸方法來解決問題,必須符合以下3個條件:第一,可以把要解決的問題轉(zhuǎn)化為一個新問題,而這個新的問題的解決方法仍與原來的解決方法相同,只是所處理的對象有規(guī)律地遞增或遞減。這里解決問題的方法相同指的是,調(diào)用函數(shù)的參數(shù)每次不同(有規(guī)律的遞增或遞減),如果沒有規(guī)律也就不能適用遞歸調(diào)用。第二,使用遞歸的方法可以很好地解決問題,或者說使問題能夠較為簡單地解決,相比之下使用其它的辦法比較麻煩。第三,必定要有一個明確的結(jié)束遞歸的條件,即一定要能夠在適當?shù)臈l件下結(jié)束遞歸調(diào)用,否則可能導致系統(tǒng)崩潰?!居暾n堂階段測/單選題】一個遞歸算法必須包括()?!居暾n堂階段測/單選題】關(guān)于函數(shù)遞歸,下列說法不正確的是()?!居暾n堂階段測/單選題】遞歸函數(shù)最終會結(jié)束,那么這個函數(shù)一定()?!纠?.8】用遞歸的方法求解n!?!居暾n堂階段測/單選題】調(diào)用函數(shù)f(27)的輸出結(jié)果是()。voidf(intn){if(n<5)printf("%d",n);else{printf("%d",n%5);f(n/5);}}【例5.9】斐波那契數(shù)列中第n項值的計算過程?!纠?.10】漢諾塔問題的求解?!居暾n堂階段測/單選題】以下關(guān)于函數(shù)的敘述中,不正確的是()。【雨課堂階段測/單選題】下列敘述中正確的是()125.3變量的作用域與生命周期通常來說,一段程序代碼所用到的變量并不總是有效的、可用的,限定這個變量可用性的代碼范圍就是這個變量的作用域。變量的生命周期是指變量從創(chuàng)建到銷毀之間的一個時間段。這兩個概念,前一個是從空間的角度描述變量,后一個是從時間的角度描述變量。5.3.1全局變量和局部變量C語言變量根據(jù)起作用的范圍分為全局變量與局部變量。全局變量是指在函數(shù)之外聲明的變量,聲明全局變量的時候如果沒有給該變量賦初值,則其初值自動初始化為0,全局變量一旦聲明則在整個程序運行期間都有效,即從聲明位置開始直到整個源文件結(jié)尾都可以使用。局部變量就是聲明在函數(shù)內(nèi)部的變量,通常有3種形態(tài):(1)函數(shù)的形式參數(shù)(2)函數(shù)體內(nèi)部聲明的變量(3)函數(shù)體內(nèi)部復合語句中聲明的變量程序代碼執(zhí)行的過程中,當前范圍內(nèi)聲明的局部變量優(yōu)先,也就是說如果有外部的變量和當前范圍內(nèi)的某個變量同名,則此刻當前范圍內(nèi)的變量起作用。【例5.11】全局變量與局部變量的區(qū)別。155.3.2變量的存儲類別C語言中聲明一個變量的完整形式如下:變量的存儲類別常用的有:自動、靜態(tài)、外部與寄存器類型。表5.1C語言中自動類型和靜態(tài)類型變量的存儲期【例5.12】靜態(tài)類型變量的使用【雨課堂階段測/單選題】下列程序的輸出結(jié)果是()。外部(extern)變量某種意義上講就是全局變量。全局變量是從變量作用域的角度提出的;外部變量是從變量的存儲方式提出的,表示它的生存周期。因此,外部變量的定義就是全局變量的定義。若全局變量的定義在后,而使用在前;或者引用其他文件中的某些全局變量,這時都必須用extern對該變量進行外部說明。【例5.13】外部(extern)變量的使用【雨課堂階段測/單選題】在一個源文件中定義的全局變量,其作用域為()【雨課堂階段測/投票題】討論:全局變量比局部變量自由度大,更方便?【雨課堂階段測/單選題】以下關(guān)于局部變量和全局變量的敘述錯誤的是()。【雨課堂階段測/單選題】以下敘述中不正確的是()105.4綜合應(yīng)用實例——使用格雷戈里公式求圓周率輸入精度值p,使用格雷戈里公式求圓周率常數(shù)的近似值,當求和序列中的最后一項的絕對值小于精度值p時求和結(jié)束。要求定義和調(diào)用函數(shù)計算完成圓周率常數(shù)近似值的求解。要定義和調(diào)用函數(shù)來計算圓周率常數(shù),且序列求和的過程中通項的精度值是可變的因此設(shè)計的函數(shù)有1個參數(shù)用于接收實際調(diào)用該函數(shù)時傳遞進來的精度值,函數(shù)調(diào)用結(jié)束后的返回值即是最后的圓周率常數(shù)值。綜合應(yīng)用實例——求100到1000之間的全部素數(shù)設(shè)計和利用函數(shù)求100到1000之間的全部素數(shù),每輸出8個素數(shù)換1行,每個素數(shù)占6個字符寬度的位置。設(shè)計函數(shù)isPrime(intn)用于判斷傳入的整數(shù)是否為素數(shù)?!獜乃財?shù)定義出發(fā)完成的函數(shù)體【雨課堂階段測/單選題】要調(diào)用數(shù)學處理函數(shù)時,在#include命令行中應(yīng)包含()。55.5工程案例分析——5ms時間調(diào)度機【案例1】動力系統(tǒng)控制中,程序設(shè)計常常是按照時間間隔來調(diào)用的,所以在程序運行的最外層,會設(shè)計很多鬧鐘,例如1ms,5ms,直到1s以上的,不同的子功能模塊根據(jù)實際情況放入對應(yīng)的鬧鐘之下進行調(diào)用?;跁r間的調(diào)度在控制上經(jīng)常使用,程序按一個固定周期執(zhí)行數(shù)據(jù)更新對于PID等功能來說是很重要的?!景咐?】發(fā)動機內(nèi)部調(diào)用各種函數(shù)來對加速過程進行控制的部分程序后測Post-assessment1【雨課堂后測/單選題】以下對C語言函數(shù)的描述中,正確的是()。程序由一個或一個以上的函數(shù)組成函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C程序中調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中總結(jié)Summary2小結(jié)本節(jié)課核心要點函數(shù)是C程序的最小單元;C程序是由一個主函數(shù)以及若干個函數(shù)構(gòu)成;主函數(shù)可以調(diào)用其它函數(shù),其它函數(shù)可以相互調(diào)用;必須有且只能有一個名為main的主函數(shù);C程序的執(zhí)行總是從main函數(shù)開始,在main中結(jié)束。注意區(qū)別函數(shù)的聲明、定義和調(diào)用。調(diào)用函數(shù)時實參的個數(shù)必須和形參保持一致,實參的類型必須向形參保持一致(至少是賦值兼容的);函數(shù)調(diào)用時參數(shù)傳值的規(guī)則可簡單地概括為“由實參到形參的單
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年宜賓職業(yè)技術(shù)學院單招職業(yè)傾向性考試題庫含答案詳解
- 2026年廣州民航職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及參考答案詳解
- 2026年江西楓林涉外經(jīng)貿(mào)職業(yè)學院單招職業(yè)技能考試題庫帶答案詳解
- 2026年泰州職業(yè)技術(shù)學院單招綜合素質(zhì)考試題庫帶答案詳解
- 2026年洛陽商業(yè)職業(yè)學院單招職業(yè)適應(yīng)性考試題庫帶答案詳解
- 2026年青海省果洛藏族自治州單招職業(yè)傾向性考試題庫含答案詳解
- 2026年漳州衛(wèi)生職業(yè)學院單招綜合素質(zhì)考試題庫附答案詳解
- 2026年陜西省銅川市單招職業(yè)適應(yīng)性考試題庫及答案詳解1套
- 2026年山西省運城市單招職業(yè)適應(yīng)性考試題庫帶答案詳解
- 2026年遼寧軌道交通職業(yè)學院單招職業(yè)適應(yīng)性測試題庫及參考答案詳解
- 糧油保管員(高級)職業(yè)技能鑒定參考試題(附答案)
- 等腰三角形復習課教案
- 2025年中國大唐集團有限公司校園招聘筆試參考題庫附帶答案詳解
- 常用統(tǒng)計軟件應(yīng)用知到智慧樹章節(jié)測試課后答案2024年秋揚州大學
- 汽車配件供貨協(xié)議書(2篇)
- 江西省吉安市泰和縣2024-2025學年數(shù)學六年級第一學期期末統(tǒng)考試題含解析
- 《光伏發(fā)電工程安全驗收評價規(guī)程》(NB-T 32038-2017)
- 水質(zhì)分析儀安裝調(diào)試報告
- GB/T 2881-2023工業(yè)硅
- 教科版四年級上冊科學期末測試卷(含答案)
- 醫(yī)院診斷證明書word模板
評論
0/150
提交評論