程序邏輯與思維(C語言)課件 羅勇 第6、7章 C語言程序中的算法應用、C 語言程序中的函數(shù)及結構體應用_第1頁
程序邏輯與思維(C語言)課件 羅勇 第6、7章 C語言程序中的算法應用、C 語言程序中的函數(shù)及結構體應用_第2頁
程序邏輯與思維(C語言)課件 羅勇 第6、7章 C語言程序中的算法應用、C 語言程序中的函數(shù)及結構體應用_第3頁
程序邏輯與思維(C語言)課件 羅勇 第6、7章 C語言程序中的算法應用、C 語言程序中的函數(shù)及結構體應用_第4頁
程序邏輯與思維(C語言)課件 羅勇 第6、7章 C語言程序中的算法應用、C 語言程序中的函數(shù)及結構體應用_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序邏輯與思維(c語言)C語言程序中的算法應用第六章產(chǎn)教融合協(xié)同育人項目成果01使用程序求解我國古代的“百錢百雞”問題編寫程序?qū)崿F(xiàn)編寫C語言程序,求解我國古代的“百錢百雞”的問題。技術層面掌握窮舉法。課程思政學習中國的傳統(tǒng)文化。家國情懷。善思。目標描述任務確認編寫C語言程序,實現(xiàn)“百錢百雞”問題。(1)程序最終能正確展示求解結果;(2)掌握C語言代碼的使用,(變量取名及注釋說明);(3)程序能正確運行,并具有可擴展性。確認簽字學習活動1——接領任務編寫C語言程序,實現(xiàn)“百錢百雞”問題。(1)認識“百錢百雞”問題。即公雞5元/只,母雞3元/只,小雞1元/3只。用100元買100只雞,求公雞、母雞、小雞各買幾只?如圖6.4所示。學習活動2——分析任務學習活動2——分析任務知識學習:窮舉法窮舉法:(1)窮舉法的基本思想是,根據(jù)題目的部分條件確定答案的大致范圍;(2)并在此范圍內(nèi)對所有可能的情況逐一驗證,直到全部情況驗證完畢;(3)若某個情況驗證符合題目的全部條件,則為本問題的一個解;(4)若全部情況驗證后都不符合題目的全部條件,則本題無解。學習活動3——制定方案實現(xiàn)思路(1)定義分別代表公雞、母雞、小雞的變量a,b,c;(2)第一層for循環(huán)從0~100來窮舉公雞數(shù);(3)第二層for循環(huán)從0~100來窮舉母雞數(shù);(4)第三層for循環(huán)從0~100來窮舉小雞數(shù);(5)在第三層for循環(huán)中判斷條件。如果條件成立,則輸出結果。實現(xiàn)步驟(1)在CodeBlocks軟件中創(chuàng)建一個新項目,項目名稱為bqbj。(2)分別在項目的main()中按實現(xiàn)思路編寫代碼。學習活動4——實施實現(xiàn)實現(xiàn)代碼(1)打開CodeBlocks軟件,創(chuàng)建一個新的控制臺項目,項目名稱輸入為bqbj。(2)打開項目中的main.c文件,進入編輯界面。(3)在main()中按實現(xiàn)思路完成任務,其代碼如下:實現(xiàn)效果編寫C語言程序,實現(xiàn)“百錢百雞”問題。按制定方案進行任務實現(xiàn),在正確的情況下,任務實現(xiàn)的效果如圖6.6所示。學習活動5——測試驗收驗收結果驗收評價學習活動5——測試驗收實現(xiàn)效果利用窮舉法的思路,求解了我國古代的“百錢百雞”問題。(1)傳統(tǒng)求解;(2)優(yōu)化求解。技術層面分析問題找出對應的條件,利用之前所學知識進行實現(xiàn)。學習活動6——總結拓展學習活動6——總結拓展課程思政(1)學習中國的傳統(tǒng)文化。如原文“雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?”是典型的文言文寫法,希望同學們能感受到我國古漢語的魅力。(2)懂得感恩。從文中對雞翁、雞母、雞雛的描述,讓我們聯(lián)想到家、親人的愛,正是這份愛成就了你的今天,所以大家要學會感恩,感謝家人給予的愛。任務小結(請在此記錄你在本任務中對所學知識的理解與實現(xiàn)本任務的感悟等)02使用程序求解“四葉玫瑰數(shù)”問題目標描述編寫程序?qū)崿F(xiàn)編寫程序求解“四葉玫瑰數(shù)”問題。技術層面掌握自冪數(shù)的定義。掌握“四葉玫瑰數(shù)”的計算方法。課程思政自信與幽默。學習活動1——接領任務任務確認編寫C語言程序,求解“四葉玫瑰數(shù)”。(1)程序最終能正確展示求解結果;(2)掌握C語言代碼的使用規(guī)范(變量取名及注釋說明);(3)程序能正確運行,并具有可擴展性。確認簽字學習活動2——分析任務編寫C語言程序,求解“四葉玫瑰數(shù)”問題。那么什么是“四葉玫瑰數(shù)”問題呢?知識學習:自冪數(shù)1.自冪數(shù)“四葉玫瑰數(shù)”是自冪數(shù)的一種。自冪數(shù)指每個位數(shù)字的n次冪之和等于它本身。學習活動2——分析任務2.“四葉玫瑰數(shù)”求解說明“四葉玫瑰數(shù)”是一個4位數(shù)的整數(shù),關鍵在于先把這個4位數(shù)的個位十位、百位、千位取出來,再進行4次冪之和判斷是不是等于本身。獲取四位數(shù)的個位、十位、百位、千位。千位=數(shù)/1000;//獲取千位百位=數(shù)/100%10;

//獲取百位 十位=數(shù)/10%10;//獲取十位個位=數(shù)%10;//獲取個位 學習活動3——制定方案實現(xiàn)思路(1)定義分別保存?zhèn)€位、十位、百位、千位的變量;(2)使用for循環(huán)實現(xiàn)所有4位數(shù)的列舉;(3)獲取4位數(shù)的個位、十位、百位、于位;(4)對4次冪之和判斷是不是等于本身,如果是則輸出。實現(xiàn)步驟(1)在CodeBlocks軟件中創(chuàng)建一個新項目,項目名稱為rose。(2)在main.c文件中按實現(xiàn)思路編寫代碼。學習活動4——實施實現(xiàn)實現(xiàn)代碼(1)打開CodeBlocks軟件,創(chuàng)建一個新的控制臺項目,項目名稱輸入為rose.(2)打開項目中的main.c文件,進入編輯界面。(3)在main()中按實現(xiàn)思路完成任務,參考代碼如下。(4)運行程序。學習活動5——測試驗收實現(xiàn)效果編寫C語言程序,實現(xiàn)對“四葉玫瑰數(shù)”這種自冪數(shù)的求解。按制定的方案進行任務實現(xiàn),在正確的情況下,任務實現(xiàn)的效果如圖6.7所示。學習活動5——測試驗收驗收結果驗收評價學習活動6——總結拓展實現(xiàn)效果實現(xiàn)對“四葉玫瑰數(shù)”這種自冪數(shù)的求解。技術層面對問題進行分析,設計出對應的求解算法。課程思政通過本任務實現(xiàn)的學習,同學們除了好好訓練,還應該充滿自信與幽默。學習活動6——總結拓展如“我現(xiàn)在的主要任務是好好學習,雖然我還沒能力送你999朵玫瑰,但我可以用程序?qū)懗觥娜~玫瑰數(shù)’送你呀!”,哈哈。這樣既充分體現(xiàn)了自信的自己,也表現(xiàn)出了程序員的幽默。教學拓展同學們可以試著求解“北斗七星數(shù)”。任務小結(請在此記錄你在本任務中對所學知識的理解與實現(xiàn)本任務的感悟等)03使用程序求解“兔子繁殖”問題目標描述編寫程序?qū)崿F(xiàn)求解“兔子繁殖”問題。即求解一年后兔子繁殖了多少對?技術層面掌握遞推算法的含義及應用。掌握遞歸算法的含義及應用。課程思政探索與思考。學習活動1——接領任務任務確認編寫C語言程序,求解“兔子繁殖”問題,即求解1年后兔子繁殖了多少對?具體要求如下:(1)程序最終能正確展示求解結果;(2)掌握C語言代碼的使用規(guī)范(變量取名及注釋說明);(3)程序能正確運行,并應具有可擴展性。確認簽字學習活動2——分析任務知識學習:遞推/遞歸算法1.遞推算法遞推算法是設計中最常用的重要方法之一,有時也稱為迭代,雖然對求解的問題不能歸納出簡單的關系式,但在其前、后項之間能夠找出某種普遍適用的關系。利用這種關系,便可從已知項的值遞推出未知項的值。遞推算法的方向既可以由前向后,也可以由后向前。廣義地說,凡在某一算式的基礎上從已知的值推出未知的值,都可以視為遞推算法。學習活動2——分析任務2.遞歸算法遞歸算法是一個非常有趣且實用的設計方法。遞推算法:從已知遞推出未知項的值。遞歸算法:先從未知項的值遞推出已知項的值,再從已知項的值推出未知項的值。3.遞歸算法舉例遞歸算法是構造的一種基本方法,如果一個過程直接或間接地調(diào)用其自身,則稱該過程是遞歸算法。如在數(shù)學中求n的階乘的遞歸函數(shù):學習活動3——制定方案實現(xiàn)思路通過對本任務的分析及相關知識學習,制定方案如下:(1)遞推算法從已知遞推出未知的過程。本任務實現(xiàn)求1年后共生多少對小兔子。這是一個著名的“兔子數(shù)列”,即斐波那契數(shù)列。那么這里的1年,其實就是12個月后,也就是第12個斐波那契數(shù),如圖6.8所示。學習活動3——制定方案(2)遞歸算法從未知遞推已知的過程。那么這里的1年,其實就是12個月后,也就是第12個斐波那契數(shù)。實現(xiàn)思路:實現(xiàn)步驟(1)在CodeBlocks軟件中創(chuàng)建一個新項目,項目名稱為fib。(2)在項目的main.c文件中按實現(xiàn)思路編寫代碼。學習活動4——實施實現(xiàn)實現(xiàn)代碼(1)遞推算法代碼通過已知的第1個月和第2個月都為1開始,從第3個月開始由前兩個月的和相加推到未知的第12個月,求得最終結果。學習活動4——實施實現(xiàn)(2)遞歸算法代碼定義一個fib2函數(shù)實現(xiàn)求解兔子繁殖的過程。首先在main函數(shù)中,調(diào)用fib2(12),也就是直接從要求解的值(未知)開始;然后在fib20中不斷地遞歸調(diào)用自己,最終實現(xiàn)從未知開始遞歸到已知,程序結束,最終求得結果。學習活動5——測試驗收實現(xiàn)效果利用“遞推算法”“遞歸算法”來求解1年后兔子繁殖多少對的問題。按制定方案進行任務實現(xiàn),在正確的情況下,任務實現(xiàn)的效果如圖6.9所示(以遞歸算法為例)。學習活動5——測試驗收驗收結果驗收評價學習活動6——總結拓展實現(xiàn)效果利用“遞推算法”“遞歸算法”來求解1年后兔子繁殖多少對的問題。技術層面“遞推算法”和“遞歸算法”。學習活動6——總結拓展課程思政通過本任務的學習,同學們掌握了“斐波那契數(shù)列”求解的相關知識,以及遞推算法和遞歸算法的含義及應用。同時,希望同學們養(yǎng)成透過表面發(fā)現(xiàn)本質(zhì)的習慣,努力把自己培養(yǎng)成一個有好奇心,并勤于思考的人。任務小結(請在此記錄你在本任務中對所學知識的理解與實現(xiàn)本任務的感悟等)感謝觀看,再見!程序邏輯與思維(c語言)產(chǎn)教融合協(xié)同育人項目成果程序邏輯與思維(c語言)C語言程序中的函數(shù)及結構體應用第七章產(chǎn)教融合協(xié)同育人項目成果01由四大名著引出的思考編寫程序?qū)崿F(xiàn)展示我國四大名著的信息,包含(本任務):書名、作者、單價。技術層面掌握結構體的含義及應用。課程思政善于思考。目標描述任務確認編寫C語言程序,實現(xiàn)展示我國四大名著的信息。(1)程序最終能正確展示書本的信息(書名、作者、單價);(2)掌握C語言代碼的使用規(guī)范(變量取名及注釋說明);(3)程序能正確運行,并具有可擴展性。確認簽字學習活動1——接領任務學習活動2——分析任務編寫C語言程序,實現(xiàn)展示我國四大名著(見圖7.5)的信息。每本書包含如下3個信息(本任務),例如,知識學習:C語言的結構體1.結構體的定義結構體只有先定義好,才可使用。結構體定義的語法:2.結構體定義舉例

學習活動2——分析任務學習活動2——分析任務3.結構體的使用定義好結構體后,相當于創(chuàng)建了一種新的數(shù)據(jù)類型,就可以像int之類的數(shù)據(jù)類型一樣,創(chuàng)建結構體變量,從而實現(xiàn)對結構體的應用,struct

book

book1;

//定義一個book結構體變量book1定義好結構體變量后,就可以通過結構體變量訪問成員了,如book1.value=65.7;學習活動2——分析任務4.結構體數(shù)組的使用定義好結構體后,相當于創(chuàng)建了一種新的數(shù)據(jù)類型,也可以結構體來定義一個結構體數(shù)組。結構體數(shù)組的定義:說明:(1)結構體數(shù)組的定義和傳統(tǒng)的數(shù)組定義完全一樣;(2)只是在定義結構體數(shù)組時,必須加上struct。學習活動2——分析任務5.結構體數(shù)組舉例如以定義好的book結構體為例,來定義結構體數(shù)組,如structbookbookList[4]://可以存放4本書的結構體數(shù)組structbookbookList/300://可以存放300本書的結構體數(shù)組定義好結構體數(shù)組就可以通過數(shù)組元素來訪問結構體的成員了,如strcpy(bookList2].title,"水滸傳");strcpy(bookList[2].author,施耐庵“);bookList2].value=33.6;實現(xiàn)思路通過對本任務的分析及相關知識學習,制定方案如下:方法一:采用結構體變量實現(xiàn)(1)定義一個結構體,包含書名、作者和定價;(2)在程序中定義結構體變量;(3)分別給結構體變量成員賦上書本的3個信息值;(4)顯示輸出結構體變量值,以實現(xiàn)本任務要求。學習活動3——制定方案學習活動3——制定方案方法二:采用結構體數(shù)組實現(xiàn)(1)定義一個結構體,包含書名、作者和定價;(2)在程序中定義結構體數(shù)組;(3)給結構體數(shù)組成員賦上書本的3個信息值;(4)循環(huán)顯示輸出結構體數(shù)組元素的值,以實現(xiàn)本任務要求。實現(xiàn)步驟(1)在CodeBlocks軟件中創(chuàng)建一個新項目,項目名稱為showbookinfo。(2)分別在項目的main()中按實現(xiàn)思路編寫代碼。學習活動4——實施實現(xiàn)實現(xiàn)代碼采用兩種方式實現(xiàn)任務。方法一:使用結構體變量方式實現(xiàn)參考代碼學習活動4——實施實現(xiàn)方法二:使用結構體數(shù)組方式實現(xiàn)參考代碼。實現(xiàn)效果編寫C語言程序,使用兩種方法實現(xiàn)展示我國四大名著的信息,包括(本任務)書名,作者、定價。按制定的方案進行任務實現(xiàn),在正確的情況下,方法一實現(xiàn)的效果如圖7.6所示。學習活動5——測試驗收方法二實現(xiàn)的效果如圖7.7所示。學習活動5——測試驗收驗收結果驗收評價學習活動5——測試驗收學習活動6——總結拓展實現(xiàn)效果編寫C語言程序,展示我國四大名著的信息,包含(本任務)書名、作者、定價。技術層面結構體的定義、結構體變量的應用、結構體數(shù)組的應用。課程思政通過本任務的學習,同學們掌握了C語言結構體的相關知識,同時也希望同學們能有更多的思考。教學拓展同學們掌握了結構體的應用,試著對本任務進行優(yōu)化,完成書本的詳細信息顯示。書本信息包括書名、作者、出版社、ISBN、定價。任務小結(請在此記錄你在本任務中對所學知識的理解與實現(xiàn)本任務的感悟等)學習活動6——總結拓展02信息的反饋目標描述編寫程序?qū)崿F(xiàn)編寫程序?qū)⒔Y構體中的數(shù)據(jù)保存到文件中,并對操作進行反饋(保存結果是成功或失敗)。技術層面掌握函數(shù)的定義與應用。掌握函數(shù)的返回、傳參和調(diào)用。課程思政培養(yǎng)職業(yè)素質(zhì),形成反饋機制。學習活動1——接領任務任務確認編寫C語言程序,使用其自定函數(shù)的方式,實現(xiàn)將結構體中的數(shù)據(jù)保存到文件中,并反饋保存結果(成功或失敗)。(1)程序能正確將結構體中的數(shù)據(jù)寫到文件中;(2)寫數(shù)據(jù)到文件的功能,單獨以自定義函數(shù)實現(xiàn);(3)寫數(shù)據(jù)成功與否要有良好的反饋信息;(4)掌握C語言代碼的使用規(guī)范(變量取名及注釋說明);(5)程序能正確運行,并具有可擴展性。確認簽字學習活動2——分析任務使用C語言自定函數(shù)的方式,實現(xiàn)將結構體中的數(shù)據(jù)保存到文件中,并反饋保存的結果。要完成本任務,首先要了解函數(shù)及自定義函數(shù)的含義。知識學習:C語言的函數(shù)1.函數(shù)的定義

2.函數(shù)定義舉例學習活動2——分析任務3.函數(shù)的調(diào)用函數(shù)定義好后,只有調(diào)用時,函數(shù)才會被執(zhí)行。根據(jù)函數(shù)的定義進行調(diào)用,代碼如下: 學習活動3——制定方案實現(xiàn)思路通過對本任務的分析及相關知識學習,制定方案如下:(1)定義一個描述書本信息的結構體;(2)在main()之前(上方)創(chuàng)建一個新的函數(shù)saveData。接收參數(shù)為書本信息結構體。函數(shù)功能:將接收參數(shù)傳進來的結構體中的書本信息保存到文件中;學習活動3——制定方案函數(shù)返回:返回一個整型數(shù)據(jù)(1為成功,0為失敗)。(3)在main()中實現(xiàn)對書本結構體數(shù)據(jù)的賦值,并調(diào)用saveData()完成本任務。實現(xiàn)步驟(1)在CodeBlocks軟件中創(chuàng)建一個新項目,項目名稱為FunDemo。(2)在main.c文件中按實現(xiàn)思路編寫代碼。學習活動4——實施實現(xiàn)實現(xiàn)代碼(1)打開CodeBlocks軟件,創(chuàng)建一個新的控制臺項目,項目名稱輸入為FunDemo。(2)打開項目中的main.c文件,進入編輯界面。(3)在main()之前創(chuàng)建描述書本信息的結構體代碼,其代碼如下。學習活動4——實施實現(xiàn)(4)編寫saveData()。在定義好的結構體下方創(chuàng)建該函數(shù)。接收參數(shù)為書本信息結構體;函數(shù)功能:將接收參數(shù)傳進來的結構體中的書本信息保存到文件中;函數(shù)返回:返回一個整型數(shù)據(jù)(1為成功,0為失敗),參考代碼如下:學習活動4——實施實現(xiàn)(5)編寫main()實現(xiàn)調(diào)用。在完成以上操作后,編寫main()中的代碼,實現(xiàn)對自定義函數(shù)saveData()的調(diào)用,以完成本任務。學習活動5——測試驗

溫馨提示

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

評論

0/150

提交評論