版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1.1.2 程序框圖與算法的基本邏輯結(jié)構(gòu) 主講教師 申東課前復(fù)習(xí)課前復(fù)習(xí)課前復(fù)習(xí)課前復(fù)習(xí)算法算法課前復(fù)習(xí)課前復(fù)習(xí)算法算法在數(shù)學(xué)中,按照一定規(guī)則解決某一類問題的明確和有限的步驟稱為算法. 課前復(fù)習(xí)課前復(fù)習(xí)算法算法在數(shù)學(xué)中,按照一定規(guī)則解決某一類問題的明確和有限的步驟稱為算法. 我們可以用自然語言表述一個算法,但往往過程復(fù)雜,缺乏簡潔性,因此,我們有必要探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法,可以通過程序框圖來實(shí)現(xiàn).知識探究(一):算法的程序框圖知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。
2、第一步,給定一個大于2的整數(shù)n;知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。第一步,給定一個大于2的整數(shù)n;第二步,令i=2;知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。第一步,給定一個大于2的整數(shù)n;第二步,令i=2;第三步,用i除n,得到余數(shù)r;知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。第一步,給定一個大于2的整數(shù)n;第二步,令i=2;第三步,用i除n,得到余數(shù)r;第四步,判斷“r=0”是否成立.若是,則n不是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加1,仍用i表示;知識探究(一):算法的程序框
3、圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。第一步,給定一個大于2的整數(shù)n;第二步,令i=2;第三步,用i除n,得到余數(shù)r;第四步,判斷“r=0”是否成立.若是,則n不是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加1,仍用i表示;第五步,判斷“i(n-1)”是否成立,若是,則n是質(zhì)數(shù),結(jié)束算法;否則,返回第三步2. 我們將上述算法如下表示:2. 我們將上述算法如下表示:開始開始開始開始2. 我們將上述算法如下表示:開始開始開始開始輸入輸入n輸入輸入n輸入輸入n2. 我們將上述算法如下表示:開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=22. 我們將上述算法如下表示:開始開始開始開始
4、輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)2. 我們將上述算法如下表示:開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示2. 我們將上述算法如下表示:開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以
5、i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?2. 我們將上述算法如下表示:是是開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或
6、或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?2. 我們將上述算法如下表示:是是開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出
7、輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”是是2. 我們將上述算法如下表示:是是是是開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束2. 我們將上述算法如下表示:是
8、是是是開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”否否否否結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束2. 我們將上述算法如下表示:是是是是否否開始開始開始開始輸入輸入n輸入輸入n輸入輸入
9、ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”否否否否結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束2. 我們將上述算法如下表示:是是是是否否開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)求
10、求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束2. 我們將上述算法如下表示:是是是是否否開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余數(shù)
11、求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束圖形符號圖形符號名名 稱稱功功 能能終端框終端框(起止框)(起止框)輸入、輸出框輸入、輸出框處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框判
12、斷框流程線流程線表示一個算法的起始和結(jié)束表示一個算法的起始和結(jié)束表示一個算法輸入和輸出的表示一個算法輸入和輸出的信息信息賦值、計(jì)算賦值、計(jì)算判斷某一條件是否成立,成立判斷某一條件是否成立,成立時在出口處標(biāo)明時在出口處標(biāo)明“是是”或或“Y”;不成立時標(biāo)明不成立時標(biāo)明“否否”或或“N”連接程序框,表示算法步驟的連接程序框,表示算法步驟的執(zhí)行順序執(zhí)行順序圖形符號圖形符號名名 稱稱功功 能能圖形符號圖形符號名名 稱稱功功 能能終端框終端框(起止框)(起止框)輸入、輸出框輸入、輸出框處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框判斷框流程線流程線表示一個算法的起始和結(jié)束表示一個算法的起始和結(jié)束表示一個算法輸入和
13、輸出的表示一個算法輸入和輸出的信息信息賦值、計(jì)算賦值、計(jì)算判斷某一條件是否成立,成立判斷某一條件是否成立,成立時在出口處標(biāo)明時在出口處標(biāo)明“是是”或或“Y”;不成立時標(biāo)明不成立時標(biāo)明“否否”或或“N”連接程序框,表示算法步驟的連接程序框,表示算法步驟的執(zhí)行順序執(zhí)行順序算法的基本邏輯結(jié)構(gòu):算法的基本邏輯結(jié)構(gòu):開始開始r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”順序結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)開始開始r=0?輸出
14、輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”開始開始開始開始r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i=2i=2i=2輸入輸入n輸入輸入n輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i
15、in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?是是是是是是是是結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束否否否否否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”順序結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)知識探究(二):算法的順序結(jié)構(gòu)知識探究(二):算法的順序結(jié)構(gòu)1: 任何一個算法各步驟之間都有明確的順序性,在算法的程序框圖中,由若干個依次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為順序結(jié)構(gòu),用程序框圖可以表示為:步驟步驟n步驟步驟n+1步驟步驟n步驟步驟n+1()()()Sp papb pc=-例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形
16、的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc()()()Sp papb pc=-第一步,輸入三角形三條邊的邊長第一步,輸入三角形三條邊的邊長a,b,c. 例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面
17、積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc()()()Sp papb pc=-第一步,輸入三角形三條邊的邊長第一步,輸入三角形三條邊的邊長a,b,c. 第二步,計(jì)算第二步,計(jì)算 . . 2abcp+=例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc()()()Sp papb pc=-第一
18、步,輸入三角形三條邊的邊長第一步,輸入三角形三條邊的邊長a,b,c. 第二步,計(jì)算第二步,計(jì)算 . . 2abcp+=第三步,計(jì)算第三步,計(jì)算 . .()()()Sp pa pb pc=-例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc()()()Sp papb pc=-第一步,輸入三角形三條邊的邊長第一步,輸入三角形三條
19、邊的邊長a,b,c. 第二步,計(jì)算第二步,計(jì)算 . . 2abcp+=第三步,計(jì)算第三步,計(jì)算 . .()()()Sp pa pb pc=-第四步,輸出第四步,輸出S S. . 例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計(jì)一個計(jì)算三角形面積的算法步驟()()()Sp papb pc3. 將上述算法的用程序框圖表示3. 將上述算法的用程序框圖表示開始開始開始開始3. 將上述算法的
20、用程序框圖表示開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c3. 將上述算法的用程序框圖表示2abcp+=開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c3. 將上述算法的用程序框圖表示2abcp+=()()()Sp pa pb pc=-開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c3. 將上述算法的用程序框圖表示2abcp+=()()()Sp pa pb pc=-開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c輸出輸出S輸出輸出S3. 將上述算法的用程序框圖表示2abcp+=()()()Sp pa pb pc=-結(jié)束結(jié)束結(jié)束結(jié)束開始開始開始開始輸入輸入a,b,c輸入輸入a
21、,b,c輸出輸出S輸出輸出S4.練習(xí):已知下圖是“求一個正奇數(shù)的平方加5的值”的程序框圖,若輸出的數(shù)是30,求輸入的數(shù)n的值.開始開始結(jié)束結(jié)束輸入正整數(shù)輸入正整數(shù)n輸出輸出yy=x2+5x=2n- -1開始開始結(jié)束結(jié)束輸入正整數(shù)輸入正整數(shù)n輸出輸出yy=x2+5x=2n- -1知識探究(三):算法的條件結(jié)構(gòu)知識探究(三):算法的條件結(jié)構(gòu)1.在某些問題的算法中,有些步驟只有在一定條件下才會被執(zhí)行,算法的流程因條件是否成立而變化.在算法的程序框圖中,由若干個在一定條件下才會被執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為條件結(jié)構(gòu),用程序框圖可以表示為下面兩種形式:滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿
22、足條件?滿足條件?步驟步驟A是是否否滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A是是否否滿足條件?滿足條件?步驟步驟A是是否否2例2: 判斷“以任意給定的3個正實(shí)數(shù)為三條邊邊長的三角形是否存在”的算法步驟如何設(shè)計(jì)?2例2: 判斷“以任意給定的3個正實(shí)數(shù)為三條邊邊長的三角形是否存在”的算法步驟如何設(shè)計(jì)?第一步,輸入三個正實(shí)數(shù)第一步,輸入三個正實(shí)數(shù)a,b,c.2例2: 判斷“以任意給定的3個正實(shí)數(shù)為三條邊邊長的三角形是否存在”的算法步驟如何設(shè)計(jì)?第二步,判斷第二步,判斷a+bc,b+ca,c+ab是是否同時成立否同時
23、成立. 若是,則存在這樣的三角若是,則存在這樣的三角形;否則,不存在這樣的三角形形;否則,不存在這樣的三角形.第一步,輸入三個正實(shí)數(shù)第一步,輸入三個正實(shí)數(shù)a,b,c.3請畫出這個算法的程序框圖。 2例2: 判斷“以任意給定的3個正實(shí)數(shù)為三條邊邊長的三角形是否存在”的算法步驟如何設(shè)計(jì)?第二步,判斷第二步,判斷a+bc,b+ca,c+ab是是否同時成立否同時成立. 若是,則存在這樣的三角若是,則存在這樣的三角形;否則,不存在這樣的三角形形;否則,不存在這樣的三角形.第一步,輸入三個正實(shí)數(shù)第一步,輸入三個正實(shí)數(shù)a,b,c.開始開始開始開始開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c開始開始開
24、始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+ca,c+ab是否同時成立?是否同時成立?開始開始開始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+ca,c+ab是否同時成立?是否同時成立?是是存在這樣的三角形存在這樣的三角形是是存在這樣的三角形存在這樣的三角形開始開始開始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+ca,c+ab是否同時成立?是否同時成立?是是存在這樣的三角形存在這樣的三角形是是存在這
25、樣的三角形存在這樣的三角形結(jié)束結(jié)束結(jié)束結(jié)束開始開始開始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+ca,c+ab是否同時成立?是否同時成立?是是存在這樣的三角形存在這樣的三角形是是存在這樣的三角形存在這樣的三角形結(jié)束結(jié)束結(jié)束結(jié)束否否不存在這樣的三角不存在這樣的三角形形否否不存在這樣的三角不存在這樣的三角形形開始開始開始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+ca,c+ab是否同時成立?是否同時成立?是是存在這樣的三角形存在這樣的三角形是是存在這樣的三角形存在這
26、樣的三角形結(jié)束結(jié)束結(jié)束結(jié)束否否不存在這樣的三角不存在這樣的三角形形否否不存在這樣的三角不存在這樣的三角形形3.練習(xí)題(0)(0)xxyxx 畫畫出出求求函函數(shù)數(shù)的的函函數(shù)數(shù)值值的的程程序序框框圖圖. .理論遷移理論遷移理論遷移理論遷移例3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 理論遷移理論遷移算法分析算法分析:例3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 理論遷移理論遷移算法分析算法分析:第一步,輸入三個系數(shù)a,b,c.例3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 理論遷移理論遷移算法分析算
27、法分析:第一步,輸入三個系數(shù)a,b,c.第二步,計(jì)算=b24ac.例3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 理論遷移理論遷移算法分析算法分析:第一步,輸入三個系數(shù)a,b,c.第二步,計(jì)算=b24ac.例3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 第三步,判斷0是否成立.若是,則計(jì)算;否則,輸出“方程沒有實(shí)數(shù)根”,結(jié)束算法.,22bpqaa第三步,判斷0是否成立.若是,則計(jì)算;否則,輸出“方程沒有實(shí)數(shù)根”,結(jié)束算法.,22bpqaa理論遷移理論遷移算法分析算法分析:第一步,輸入三個系數(shù)a,b,c.第二步,計(jì)算=b24ac.例
28、3 設(shè)計(jì)一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 第三步,判斷0是否成立.若是,則計(jì)算;否則,輸出“方程沒有實(shí)數(shù)根”,結(jié)束算法.,22bpqaa第三步,判斷0是否成立.若是,則計(jì)算;否則,輸出“方程沒有實(shí)數(shù)根”,結(jié)束算法.,22bpqaa第四步,判斷=0是否成立.若是,則輸出x1=x2=p,否則,計(jì)算x1=p+q,x2=pq,并輸出x1、x2程序框圖程序框圖:程序框圖程序框圖:開始開始程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac程序框圖程序框圖:開
29、始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c=
30、b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+q程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q輸出輸出x1,
31、x2輸出輸出x1,x2程序框圖程序框圖:開始開始輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q輸出輸出x1,x2輸出輸出x1,x2結(jié)束結(jié)束結(jié)束結(jié)束程序框圖程序框圖:開始開始是是輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q輸出輸出x1,x2輸出輸出x1,x2輸出輸出x1=x2=p輸出輸出
32、x1=x2=p結(jié)束結(jié)束結(jié)束結(jié)束程序框圖程序框圖:開始開始否否是是輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q輸出輸出x1,x2輸出輸出x1,x2輸出輸出x1=x2=p輸出輸出x1=x2=p輸出輸出“方程沒有方程沒有實(shí)數(shù)根實(shí)數(shù)根”輸出輸出“方程沒有方程沒有實(shí)數(shù)根實(shí)數(shù)根”結(jié)束結(jié)束結(jié)束結(jié)束練習(xí)題0 (0)1(01)(1)xyxxx 畫畫出出求求函函數(shù)數(shù)的的函函數(shù)數(shù)值值的的程程序序框框圖圖. .知識探究(四):算法的循環(huán)結(jié)構(gòu)知識探究(四):算法的
33、循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟稱為循環(huán)體,那么循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)
34、構(gòu)稱為直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?在執(zhí)行了一次循環(huán)體后,對條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時終止循環(huán).思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu),你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否在每次執(zhí)行循
35、環(huán)體前,對條件進(jìn)行判斷,如果條件滿足,就執(zhí)行循環(huán)體,否則終止循環(huán).這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu),你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.第100步,4950+100=5050. 思考4:計(jì)算1+2+3+100的值可按如下過程進(jìn)行:第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.第100步,4950+100=5050. 思考4:計(jì)算1+2+3+100的值可按如下過程進(jìn)行:我們用一個累加變量我們用一個累加變量S表示每一步的計(jì)算結(jié)果,表示每一步的計(jì)算結(jié)果,即把即把S+i的結(jié)果仍記為的結(jié)果仍記為S
36、,從而把第,從而把第i步表示為步表示為S=S+i,其中其中S的初始值為的初始值為0,i依次取依次取1,2,100,通過重復(fù)操,通過重復(fù)操作,上述問題的算法如何設(shè)計(jì)?作,上述問題的算法如何設(shè)計(jì)?第一步,令第一步,令i=1,S=0.第一步,令第一步,令i=1,S=0.第二步,計(jì)算第二步,計(jì)算S+i,仍用,仍用S表示表示.第一步,令第一步,令i=1,S=0.第二步,計(jì)算第二步,計(jì)算S+i,仍用,仍用S表示表示.第三步,計(jì)算第三步,計(jì)算i+1,仍用,仍用i表示表示.第一步,令第一步,令i=1,S=0.第二步,計(jì)算第二步,計(jì)算S+i,仍用,仍用S表示表示.第三步,計(jì)算第三步,計(jì)算i+1,仍用,仍用i表示
37、表示.第四步,判斷第四步,判斷i100是否成立是否成立.若是,則輸若是,則輸出出S,結(jié)束算法;否則,返回第二步結(jié)束算法;否則,返回第二步.思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1S=0思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1S=0S=S+i思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1S=0 i=i+1S=S+i思考5:用直到
38、型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1i100?S=0 i=i+1S=S+i思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1i100?是是輸出輸出SS=0 i=i+1S=S+i思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0 i=i+1S=S+i思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示? 開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0 i=i+1S=S+i否否思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始
39、i=1思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1S=0思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1S=0i100?思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1輸出輸出S否否S=0i100?思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1結(jié)束結(jié)束輸出輸出S否否S=0i100?思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=
40、i+1思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計(jì)一個程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份算法分析算法分析:例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計(jì)一個程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份第一步,第一步, 輸入輸入2005年的年生產(chǎn)總值年的年生產(chǎn)總值.算法分析算法分析:例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計(jì)一個程
41、序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份第一步,第一步, 輸入輸入2005年的年生產(chǎn)總值年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值第二步,計(jì)算下一年的年生產(chǎn)總值.算法分析算法分析:例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計(jì)一個程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份第一步,第一步, 輸入輸入2005年的年生產(chǎn)總值年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值第二步,計(jì)算下一年的年生產(chǎn)總值.算法分析算法分析:例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計(jì)一個程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份第三步,判斷所得的結(jié)果是否大于第三步,判斷所得的結(jié)果是否大于300. 若是,則若是,則輸出該年的年份;否則,返回第二步輸出該年的年份;否則,返回第二步.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):(1)循環(huán)體:設(shè))循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,為某年
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國啞光防眩光玻璃行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國暖通行業(yè)CRM軟件行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年度土地租賃權(quán)抵押貸款合同范本3篇
- 2025至2030年中國木炭成型機(jī)數(shù)據(jù)監(jiān)測研究報告
- 2025年度軌道交通工程承包管理合同協(xié)議書范本4篇
- 2025年度柴油進(jìn)口關(guān)稅減免合同示例4篇
- 2025年度荒山生態(tài)修復(fù)與承包服務(wù)協(xié)議4篇
- 水庫漁業(yè)捕撈二零二五年度作業(yè)權(quán)承包合同
- 二零二四年度智能化冷庫搭建與設(shè)備銷售安裝合同
- 2025年度農(nóng)業(yè)綜合開發(fā)項(xiàng)目投資合作協(xié)議4篇
- 書籍小兵張嘎課件
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機(jī)會分析與策略研究報告
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2023年十天突破公務(wù)員面試
- 《瘋狂動物城》中英文對照(全本臺詞)
評論
0/150
提交評論