
一人帶著一只狼、一只羊和一箱蔬菜要過河,但只有一條小船.乘船時(shí),每次只能帶狼、羊和蔬菜中的一種.當(dāng)有人在場時(shí),狼、羊、蔬菜都相安無事.一旦人不在,狼會(huì)吃羊,羊會(huì)吃菜.請(qǐng)?jiān)O(shè)計(jì)一個(gè)方案,安全地將狼、羊和蔬菜帶過河.
1.1.1 算法的概念
一般地,對(duì)于一類問題的機(jī)械式地、統(tǒng)一地、按部就班地求解過程稱為算法(algrithm)它是解決某一問題的程序或步驟.
按照這樣的理解,我們可以設(shè)計(jì)出很多具體數(shù)學(xué)問題的算法.下面看幾個(gè)例子:
所謂 “算法”就是解題方法的精確描述.從更廣義的角度來看,并不是只有“計(jì)算”的問題才有算法,日常生活中處處都有.如樂譜是樂隊(duì)演奏的算法,菜譜是做菜肴的算法,珠算口訣是使用算盤的算法.
第三步, ② -① ×2得 5y=3; ④
你能寫出解一般的二元一次方程組的步 驟嗎?
---------------------------------------------------
事實(shí)上,我們可以將一般的二元一次方程組的解法轉(zhuǎn)化成計(jì)算機(jī)語言,做成一個(gè)求解二元一次方程組的程序.
這兒已經(jīng)做好了,試一試吧!
練習(xí)1. 給出求1+2+3+4+5+6的一個(gè)算法.
解法1.按照逐一相加的程序進(jìn)行.
第一步:計(jì)算1+2,得3;
第二步:將第一步中的運(yùn)算結(jié)果3與3相加得6;
第三步:將第二步中的運(yùn)算結(jié)果6與4相加得10;
第四步:將第三步中的運(yùn)算結(jié)果10與5相加得15;
第五步:將第四步中的運(yùn)算結(jié)果15與6相加得21.
解法2.可以運(yùn)用下面公式直接計(jì)算.
第一步,取 n =6;
第二步,計(jì)算 ;
第三步,輸出計(jì)算結(jié)果.
點(diǎn)評(píng):解法1繁瑣,步驟較多; 解法2簡單,步驟較少. 找出好的算法是我們的追求目標(biāo).
現(xiàn)在你對(duì)算法有了新的認(rèn)識(shí)了嗎?
在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問題的明確和有限的步驟.現(xiàn)在,算法通常可以編成計(jì)算機(jī)程序,讓計(jì)算機(jī)執(zhí)行并解決問題.
(1)寫出的算法,必須能解決一類問題(例如解任意一個(gè)二元一次方程組),并且能重復(fù)使用;
(2) 算法過程要能一步一步執(zhí)行,每一步執(zhí)行的操作,必須確切,不能含混不清,而且在有限步之內(nèi)完成后能得出結(jié)果.
明確性:算法對(duì)每一個(gè)步驟都有確切的、非二義性的規(guī)定,即每一步對(duì)于利用算法解決問題的人或計(jì)算機(jī)來說都是可讀的、可執(zhí)行的,而不需要計(jì)算者臨時(shí)動(dòng)腦筋.
有效性:算法的每一個(gè)步驟都能夠通過基本運(yùn)算有效地進(jìn)行,并得到確定的結(jié)果;對(duì)于相同的輸入,無論誰執(zhí)行算法,都能夠得到相同的最終結(jié)果.
有限性:算法應(yīng)由有限步組成,至少對(duì)某些輸入,算法應(yīng)在有限多步內(nèi)結(jié)束,并給出計(jì)算結(jié)果.
信息輸出:一個(gè)算法至少要有一個(gè)有效的信息輸出,這就是問題求解的結(jié)果.
不唯一性:求解某一個(gè)題的解法不一定是唯一的, 對(duì)于一個(gè)問題可以有不同的算法.
描述算法可以有不同的方式,常用的有自然語言、程序框圖、程序設(shè)計(jì)語言、偽代碼等.
數(shù)據(jù)輸入:算法一定要根據(jù)輸入的初始數(shù)據(jù)或給定的初值才能正確執(zhí)行它的每一步驟.
自然語言就是人們?nèi)粘J褂玫恼Z言,可以是漢語、英語或數(shù)學(xué)語言等.用自然語言描述算法的優(yōu)點(diǎn)是通俗易懂,當(dāng)算法中的操作步驟都是順序執(zhí)行時(shí)比較容易理解.缺點(diǎn)是如果算法中包含判斷和轉(zhuǎn)向,并且操作步驟較多時(shí),就不那么直觀清晰了.
1.1.2程序框圖中講解
1.2基本算法語句中講解
例1.(1)設(shè)計(jì)一個(gè)算法判斷7是否為質(zhì)數(shù).
第一步, 用2除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0, 所以2不能整除7.
第二步, 用3除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0, 所以3不能整除7.
第三步, 用4除7,得到余數(shù)3.因?yàn)橛鄶?shù)不為0, 所以4不能整除7.
第四步, 用5除7,得到余數(shù)2.因?yàn)橛鄶?shù)不為0, 所以5不能整除7.
第五步, 用6除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0, 所以6不能整除7.因此,7是質(zhì)數(shù).
例1.(2)設(shè)計(jì)一個(gè)算法判斷35是否為質(zhì)數(shù).
第一步, 用2除35,得到余數(shù)1.因?yàn)橛鄶?shù)不為0, 所以2不能整除35.
第二步, 用3除35,得到余數(shù)2.因?yàn)橛鄶?shù)不為0, 所以3不能整除35.
第三步, 用4除35,得到余數(shù)3.因?yàn)橛鄶?shù)不為0, 所以4不能整除35.
第四步, 用5除35,得到余數(shù)0.因?yàn)橛鄶?shù)為0, 所以5能整除35.因此,35不是質(zhì)數(shù).
變式1: “判斷53是否質(zhì)數(shù)”的算法如下:第1步,用2除53得余數(shù)為1,余數(shù)不為0,所以2不能整除53;第2步,用3除53得余數(shù)為2,余數(shù)不為0,所以3不能整除53;……第52步,用52除53得余數(shù)為1,余數(shù)不為0,故52不能整除53;所以53是質(zhì)數(shù).
上述算法正確嗎?請(qǐng)說明理由.
②算法要“面面俱到”,不能省略任何一個(gè)細(xì)小的步驟,只有這樣,才能在人設(shè)計(jì)出算法后,把具體的執(zhí)行過程交給計(jì)算機(jī)完成.
①設(shè)計(jì)一個(gè)具體問題的算法時(shí),與過去熟悉地解數(shù)學(xué)題的過程有直接的聯(lián)系,但這個(gè)過程必須被分解成若干個(gè)明確的步驟,而且這些步驟必須是有效的.
變式2:任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)做出判定.
分析:回顧這個(gè)問題的解題過程.
第一步:判斷n是否等于2.
若n=2,則n是質(zhì)數(shù);
若n>2,則執(zhí)行第二步.
第二步:依次檢驗(yàn)2~(n-1)這些整數(shù)是不是n的約數(shù),即是不是整除n的數(shù).若有這樣的數(shù),則n不是質(zhì)數(shù);若沒有這樣的數(shù),則n是質(zhì)數(shù).
對(duì)于區(qū)間[a,b ]上連續(xù)不斷、且f(a)f(b)
這是一份人教版新課標(biāo)A必修31.1.1算法的概念課文配套課件ppt,共18頁。PPT課件主要包含了一算法的基本概念等內(nèi)容,歡迎下載使用。
這是一份人教版新課標(biāo)A必修31.1.1算法的概念教課ppt課件,共28頁。PPT課件主要包含了課堂互動(dòng)講練,知能優(yōu)化訓(xùn)練,11算法的概念,課前自主學(xué)案,表達(dá)式,算術(shù)運(yùn)算,某一類問題,計(jì)算機(jī)程序等內(nèi)容,歡迎下載使用。
這是一份高中數(shù)學(xué)人教版新課標(biāo)A必修31.1.1算法的概念課文配套ppt課件,共36頁。PPT課件主要包含了算法的概念,教材分析,教材背景,教學(xué)內(nèi)容,地位作用,地位和作用,知識(shí)基礎(chǔ),認(rèn)知水平與能力,任教班級(jí)學(xué)生特點(diǎn),知識(shí)技能等內(nèi)容,歡迎下載使用。
微信掃碼,快速注冊(cè)
注冊(cè)成功