《算法初步課件》PPT課件
《《算法初步課件》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《算法初步課件》PPT課件(100頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 先 去 括 號(hào)再 乘 除后 加 減6 5 (4 2) 1、什 么 是 算 法 呢 ? 要 把 大 象 裝 冰 箱 , 分 幾 步 ?答 : 分 三 步 :第 一 步 : 打 開 冰 箱 門第 二 步 : 把 大 象 裝 冰 箱第 三 步 : 關(guān) 上 冰 箱 門問 :2問 題 簡(jiǎn) 單 地 說 , 算 法 就 是 解 決問 題 的 程 序 或 步 驟 。什 么 是 算 法 呢 ? 第 一 步 ,第 二 步 ,第 三 步 ,( 消 元 )( 解 一 元 一 次 方 程 ) + 2, 得 7 11x 解 得 117x ( 代 入 求 解 )117x 將 代 入 ,得 67y 寫 一 寫解 方 程 組
2、 3 2 32 4x yx y 寫 出 的 步 驟 寫 出 解 第 二 個(gè) 方 程 組 的 算 法 :第 一 步 ,第 二 步 ,第 三 步 , 2 1 1 2 2 1 1 2( )a b a b y a c a c 解 , 得 2 1 1 22 1 1 2a c a cy a b a b 將 代 入 得 2a 1a 得3 2 32 4x yx y 1 2 2 12 1 1 2bc b cx a b a b 變 一 變 1 1 12 2 2a x b y ca x b y c 1 2 2 1( 0)a b a b 在 數(shù) 學(xué) 上 , 通 常 是 按 照 一 定 規(guī) 則解 決 某 一 類 問 題
3、 的 明 確 有 限 的 步 驟 。算 法 的 定 義 : 例 1 (1)設(shè) 計(jì) 一 個(gè) 算 法 ,判 斷 7是否 為 質(zhì) 數(shù) ;(1)第 一 步 , 用 2除 7,得 到 余 數(shù) 1.因 為 余 數(shù) 不 為 0,所 以 2不 能 整 除 7.第 二 步 , 用 3除 7,得 到 余 數(shù) 1.因 為 余 數(shù) 不 為 0,所 以 3不 能 整 除 7.第 三 步 , 用 4除 7,得 到 余 數(shù) 3.因 為 余 數(shù) 不 為 0,所 以 4不 能 整 除 7.第 四 步 , 用 5除 7,得 到 余 數(shù) 2.因 為 余 數(shù) 不 為 0,所 以 5不 能 整 除 7.第 五 步 , 用 6除 7,得
4、 到 余 數(shù) 1.因 為 余 數(shù) 不 為 0,所 以 6不 能 整 除 7.因 此 ,7是 質(zhì) 數(shù) . (2)設(shè) 計(jì) 一 個(gè) 算 法 ,判 斷 35是 否 為 質(zhì) 數(shù) .算 法 : 第 一 步 , 用 2除 35,得 到 余 數(shù) 1.因 為 余 數(shù) 不 為 0,所 以 2不 能 整 除 35.第 二 步 , 用 3除 35,得 到 余 數(shù) 2.因 為 余 數(shù) 不 為 0,所 以 3不 能 整 除 35.第 三 步 , 用 4除 35,得 到 余 數(shù) 3.因 為 余 數(shù) 不 為 0,所 以 4不 能 整 除 35.第 四 步 , 用 5除 35,得 到 余 數(shù) 0.因 為 余 數(shù) 為 0,所 以
5、 5能 整 除 35.因 此 ,35不 是 質(zhì) 數(shù) . 探 究 你 能 寫 出 ” 判 斷 整 數(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é) 束 算 法 ;否 則 ,返 回 第 三 步 . 算 法
6、 的 基 本 特 點(diǎn)1、 有 窮 性一 個(gè) 算 法 應(yīng) 包 括 有 限 的 操 作 步 驟 , 能 在 執(zhí) 行 有 窮的 操 作 步 驟 之 后 結(jié) 束 。2、 確 定性 算 法 的 計(jì) 算 規(guī) 則 及 相 應(yīng) 的 計(jì) 算 步 驟 必 須 是 唯 一 確定 的 , 既 不 能 含 糊 其 詞 , 也 不 能 有 二 義 性 。3、 邏 輯 性算 法 中 從 開 始 的 “ 第 一 步 ” 到 “ 最 后 一 步 ” 之 間做 到環(huán) 環(huán) 相 扣 , 分 工 明 確 , “ 前 一 步 ” 是 “ 后 一 步 ”的 前 提 , “ 后 一 步 ” 是 “ 前 一 步 ” 的 繼 續(xù) 。 算 法 1
7、: 第 二 步 : 計(jì) 算 101 50;第 三 步 : 寫 出 運(yùn) 算 結(jié) 果算 法 2: 第 一 步 : 取 n=100;第 二 步 : 計(jì) 算 ( 1)2n n第 三 步 : 寫 出 運(yùn) 算 結(jié) 果寫 出 求 1+2+3+ +100的 一 個(gè) 算 法(1+100)+(2+99)+ +(50+51);第 一 步 : 將 原 式 變 形 為你 會(huì) 了 嗎 ? 2.任 意 給 定 一 個(gè) 正 實(shí) 數(shù) ,設(shè) 計(jì) 一 個(gè) 算 法 求 以 這 個(gè)數(shù) 為 半 徑 的 圓 的 面 積 .第 一 步 :輸 入 任 意 一 個(gè) 正 實(shí) 數(shù) r0;第 二 步 :計(jì) 算 圓 的 面 積 : S=r2;第 三 步
8、 :輸 出 圓 的 面 積 S. 程 序 框 圖程 序 框 圖 又 稱 流 程 圖 , 是 一 種 用 程序 框 、 流 程 線 及 文 字 說 明 來 表 示 算 法的 圖 形 。 在 程 序 框 圖 中 , 一 個(gè) 或 幾 個(gè) 程 序 框 的 組 合 表 示 算法 中 的 一 個(gè) 步 驟 ; 帶 有 方 向 箭 頭 的 流 程 線 將 程 序 框連 接 起 來 , 表 示 算 法 步 驟 的 執(zhí) 行 順 序 。 圖 形 符 號(hào) 名 稱 功 能終 端 框 ( 起 止框 ) 表 示 一 個(gè) 算 法 的 起 始 和 結(jié) 束 輸 入 、 輸 出 框 表 示 一 個(gè) 算 法 輸 入 和 輸 出 的
9、信 息 處 理 框 賦 值 、 計(jì) 算判 斷 框 判 斷 某 一 條 件 是 否 成 立 , 成 立 時(shí) 在出 口 處 標(biāo) 明 “是 ”或 “Y”; 不 成 立 時(shí)標(biāo) 明 “否 ”或 “N”。 流 程 線 連 接 程 序 框 連 接 點(diǎn) 連 接 程 序 框 圖 的 兩 部 分 例 用 程 序 框 圖 表 示 “ 判斷 整 數(shù) n( n2) 是 否 為 質(zhì)數(shù) ” 的 算 法 開 始輸 入 ni=2求 n除 以 i的 余 數(shù) ri的 值 增 加 1仍 用 i表 示in-1或 r=0? 輸 出 “ n不 是 質(zhì) 數(shù) ”結(jié) 束是 否是 輸 出 “ n是 質(zhì) 數(shù) ”否r=0? 設(shè) n是 一 個(gè) 大于 2
10、的 整 數(shù) .一 般 用 i=i+1表 示 . i=i+1說 明 :i表 示 從 2(n-1)的 所 有 正 整 數(shù) ,用 以判 斷 例 1步 驟 2是 否 終止 ,i是 一 個(gè) 計(jì) 數(shù) 變 量 ,有 了 這 個(gè) 變 量 ,算 法才 能 依 次 執(zhí) 行 .逐 步考 察 從 2(n-1)的 所有 正 整 數(shù) 中 是 否 有 n的 因 數(shù) 存 在 . ( 1) 使 用 標(biāo) 準(zhǔn) 的 圖 形 符 號(hào) 。( 2) 框 圖 一 般 按 從 上 到 下 , 從 左 到 右 的 方 向 畫 。 ( 3) 除 判 斷 框 外 , 大 多 數(shù) 流 程 圖 符 號(hào) 只 有 一 個(gè)進(jìn) 入 點(diǎn) 和 一 個(gè) 退 出 點(diǎn)
11、。 判 斷 框 具 有 超 過 一 個(gè) 退 出點(diǎn) 的 唯 一 符 號(hào) 。 ( 4) 判 斷 框 分 兩 大 類 , 一 類 判 斷 框 “ 是 ” 與 “ 否 ”兩 分 支 的 判 斷 , 而 且 又 且 僅 有 兩 個(gè) 結(jié) 果 ; 另 一 類 是多 分 支 判 斷 , 有 幾 種 不 同 的 結(jié) 果 。 ( 5) 在 圖 形 符 號(hào) 內(nèi) 描 述 的 語(yǔ) 言 要 非 常 簡(jiǎn) 練 清 楚 。 開 始輸 入 ni=2求 n除 以 i的 余 數(shù) ri=i+1in或 r=0?n不 是 質(zhì) 數(shù) 結(jié) 束是 否是 n是 質(zhì) 數(shù)否r=0? 順 序 結(jié) 構(gòu) 用 程 序 框 圖 來 表 示 算 法 , 有三 種
12、不 同 的 基 本 邏 輯 結(jié) 構(gòu) :條 件 結(jié) 構(gòu)循 環(huán) 結(jié) 構(gòu) 三 種 基 本 結(jié) 構(gòu) ( 表 示 一 個(gè) 良 好 算 法 的 基 本 單 元 ) 順 序 結(jié) 構(gòu) 條 件 結(jié) 構(gòu) ( 選 擇 結(jié) 構(gòu) ) 循 環(huán) 結(jié) 構(gòu)AB PA B成 立 不 成 立 成 立 AP 不 成 立AP 成 立不 成 立While( 當(dāng) 型 ) 循 環(huán) Until( 直 到 型 ) 循 環(huán) 順 序 結(jié) 構(gòu) 順 序 結(jié) 構(gòu) 是 由 若 干 個(gè) 依 次 執(zhí) 行 的 步 驟 組成 的 。 這 是 任 何 一 個(gè) 算 法 都 離 不 開 的 基 本 結(jié)構(gòu) AB 例 1 已 知 一 個(gè) 三 角 形 的 三 邊 邊 長(zhǎng) 分
13、別 為 a、 b、 c, 利 用海 倫 -秦 九 韶 公 式 設(shè) 計(jì) 一 個(gè) 算 法 , 求 出 它 的 面 積 , 畫 出它 的 程 序 框 圖 .第 一 步 : 輸 入 三 角 形 三 條 邊 的 邊 長(zhǎng) a, b, c;第 二 步 : 計(jì) 算 ;第 三 步 : 計(jì) 算 ;第 四 步 : 輸 出 s。 ( )/2p a b c ( )( )( )S p p a p b p c 算 法 分 析 : 開 始輸 入 a, b, c輸 出 S 結(jié) 束( ) / 2p a b c ( )( )( )S p p a p b p c 程 序 框 圖 習(xí) 題 1 設(shè) 計(jì) 一 算 法 : 輸 入 圓 的 半
14、 徑 ,輸 出 圓 的 面 積 , 并 畫 出 流 程 圖算 法 分 析 :第 一 步 : 輸 入 圓 的 半 徑第 二 步 : 利 用 公 式 “ 圓 的 面積 =圓 周 率 ( 半 徑 的 平 方 ) ”計(jì) 算 圓 的 面 積 ;第 三 步 : 輸 出 圓 的 面 積 。 開 始 結(jié) 束輸 入 半 徑 R計(jì) 算 S=Pi*R*R輸 出 面 積 S定 義 Pi=3.14思 考 : 整 個(gè) 程 序 框 圖 有 什 么 特 點(diǎn) ? 條 件 結(jié) 構(gòu) ( 選 擇 結(jié) 構(gòu) ) 算 法 的 流 程 根 據(jù) 條 件 是 否 成 立 有 不 同 的流 向 。 條 件 結(jié) 構(gòu) 就 是 處 理 這 種 過 程
15、的 結(jié) 構(gòu) 。PA B成 立 不 成 立 PA 不 成 立成 立 例 2 任 意 給 定 3個(gè) 正 實(shí) 數(shù) , 設(shè) 計(jì) 一 個(gè) 算 法 , 判 斷 分 別 以 這3個(gè) 數(shù) 為 三 邊 邊 長(zhǎng) 的 三 角 形 是 否 存 在 .畫 出 這 個(gè) 算 法 的 程 序框 圖 . 開 始輸 入 a、 b、 ca+bc,a+cb,b+ca是 否 同 時(shí) 成 立存 在 這 樣 的 三 角 形結(jié) 束 否是 不 存 在 這 樣 的 三 角 形 解 : 算 法 如 下 。n S1 輸 入 xn S2 若 x為 奇 數(shù) , 則輸 出 A=3x+2; 否 則輸 出 A=5x n S3 算 法 結(jié) 束 。習(xí) 題 2 設(shè)
16、 x為 一 個(gè) 正 整 數(shù) , 規(guī) 定 如 下 運(yùn) 算 : 若 x為 奇 數(shù) , 則求 3x+2; 若 x為 偶 數(shù) , 則 為 5x, 寫 出 算 法 , 并 畫 出 程 序 框 圖 。 x為 奇 數(shù) ?開 始輸 入 xA=3x+2結(jié) 束 否是 A=5x 循 環(huán) 結(jié) 構(gòu) AP 成 立不 成 立While( 當(dāng) 型 ) 循 環(huán) 成 立 AP 不 成 立Until( 直 到 型 ) 循 環(huán) 在 一 些 算 法 中 , 從 否 處 開 始 , 按 照 一 定 條 件 , 反 復(fù) 執(zhí) 行某 一 處 理 步 驟 的 情 況 , 這 就 是 循 環(huán) 結(jié) 構(gòu) 。 反 復(fù) 執(zhí) 行 的 處理 步 驟 稱 為
17、循 環(huán) 體 。在 循 環(huán) 結(jié) 構(gòu) 中 , 通 常 都 有 一 個(gè) 起 到 循 環(huán) 計(jì) 數(shù) 作 用 的 變 量 ,這 個(gè) 變 量 的 取 值 一 般 都 含 在 執(zhí) 行 或 中 止 循 環(huán) 體 的 條 件 中 。 例 3 設(shè) 計(jì) 一 個(gè) 計(jì) 算 1+2+3+100的 值 的 算 法 , 并 畫 出 程 序 框 圖 。算 法 分 析 :需 要 一 個(gè) 累 加 變 量 和 一 個(gè) 計(jì) 數(shù) 變 量 , 將 累 加 變 量 的 初 始 值設(shè) 為 0, 計(jì) 數(shù) 變 量 的 值 可 以 從 1到 100.i=100?i=1開 始輸 出 sum 結(jié) 束否 是sum =0 i=i+1sum =sum +1 1.
18、2 基 本 算 法 語(yǔ) 句第 一 章 算 法 初 步 【 探 究 新 知 】我 們 知 道 , 順 序 結(jié) 構(gòu) 是 任 何 一 個(gè) 算 法 都 離 不 開的 基 本 結(jié) 構(gòu) 。 語(yǔ) 句 n+1語(yǔ) 句 n 輸 入 、 輸 出 語(yǔ) 句 和 賦 值 語(yǔ) 句 基 本 上 對(duì) 應(yīng)于 算 法 中 的 順 序 結(jié) 構(gòu) .計(jì) 算 機(jī) 從 上 而 下 按 照 語(yǔ) 句 排 列的 順 序 執(zhí) 行 這 些 語(yǔ) 句 .輸 入 語(yǔ) 句 和 輸 出 語(yǔ) 句 分 別 用 來實(shí) 現(xiàn) 算 法 的 輸 入 信 息 ,輸 出 結(jié) 果 的 功能 . (如 右 圖 ) 輸 入 語(yǔ) 句 和 輸 出 語(yǔ) 句 分 別 用 來 實(shí) 現(xiàn) 算 法
19、的輸 入 信 息 , 輸 出 結(jié) 果 的 功 能 。 例 1 用 描 點(diǎn) 法 作 函 數(shù) y x3 3x2 24x 30的 圖 象 時(shí) ,需 要求 出 自 變 量 和 函 數(shù) 的 一 組 對(duì) 應(yīng) 值 .編 寫 程 序 ,分 別 計(jì) 算 當(dāng) x 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5時(shí) 的 函 數(shù) 值 . INPUT “x=”;x y=x3+3*x2-24*x+30PRINT xPRINT yEND程 序 : -輸 入 語(yǔ) 句 -賦 值 語(yǔ) 句-打 印 語(yǔ) 句-打 印 語(yǔ) 句-表 示 結(jié) 束輸 出 語(yǔ) 句輸 出 語(yǔ) 句 一 .輸 入 語(yǔ) 句 INPUT “ 提 示 內(nèi) 容
20、 ” ; 變 量輸 入 語(yǔ) 句 的 一 般 格 式 說 明 :(1)輸 入 語(yǔ) 句 的 作 用 是 實(shí) 現(xiàn) 算 法 的 輸 入 信 息 功 能 ;(2)“ 提 示 內(nèi) 容 ” 提 示 用 戶 輸 入 什 么 樣 的 信 息 ,變 量 是 指 程 序 在 運(yùn) 行 時(shí) 其 值 是 可 以 變 化 的 量 ;(3)輸 入 語(yǔ) 句 要 求 輸 入 的 值 只 能 是 具 體 的 常 數(shù) ,不 能 是 函 數(shù) 、 變 量 或 表 達(dá) 式 ;(4)提 示 內(nèi) 容 與 變 量 之 間 用 分 號(hào) “ ; ” 隔 開 ,若 輸 入 多 個(gè) 變 量 , 變 量 與 變 量 之 間 用 逗 號(hào) “ , ” 隔 開
21、 . 例 如 ,輸 入 一 個(gè) 學(xué) 生 數(shù) 學(xué) ,語(yǔ) 文 ,英 語(yǔ) 三 門 課 的 成 績(jī) ,可 以 寫 成 :INPUT “數(shù) 學(xué) , 語(yǔ) 文 , 英 語(yǔ) ” ; a, b, c注 意 :INPUT語(yǔ) 句 不 但 可 以 給 單 個(gè) 變 量 賦 值 ,還 可 以給 多 個(gè) 變 量 賦 值 ,其 格 式 為 :INPUT “ 提 示 內(nèi) 容 1, 提 示 內(nèi) 容 2, 提 示 內(nèi) 容 3, ” ; 變 量 1, 變 量 2, 變 量 3, 練 一 練 :請(qǐng) 你 用 輸 入 語(yǔ) 句 表 達(dá) 課 本 P5和 P9頁(yè) 程 序 框 圖 中 輸 入 框 中 的 內(nèi) 容 .P7頁(yè) : INPUT “n=”
22、; n P9頁(yè) : INPUT a, b, c 二 .輸 出 語(yǔ) 句 PRINT “提 示 內(nèi) 容 ” ; 表 達(dá) 式說 明 :(1)“ 提 示 內(nèi) 容 ” 提 示 用 戶 輸 出 什 么 樣 的 信 息 ,表達(dá) 式 是 指 程 序 要 輸 出 的 數(shù) 據(jù) ; 輸 出 常 量 , 變 量 的 值 和 字 符 串 等 系 統(tǒng) 信 息 。 輸 出 數(shù) 值 計(jì) 算 的 結(jié) 果 。(2)輸 出 語(yǔ) 句 的 用 途 : 輸 出 語(yǔ) 句 的 一 般 格 式 (3)同 輸 入 語(yǔ) 句 一 樣 , 表 達(dá) 式 前 也 可 以 有 “ 提 示 內(nèi)容 ” . 思 考 :在 課 本 P7頁(yè) 圖 1.1-2程 序 框
23、 圖 中 的 輸出 框 的 內(nèi) 容 怎 樣 用 輸 出 語(yǔ) 句 來 表 達(dá) ? 參 考 答 案 :輸 出 框 : PRINT “ n is a prime number .” PRINT “ n is not a prime number.”如 P9頁(yè) 的 輸 出 框 可 以 轉(zhuǎn) 化 為 輸 出 語(yǔ) 句 :輸 出 SPRINT “S=”; S 三 .賦 值 語(yǔ) 句(1)賦 值 語(yǔ) 句 的 一 般 格 式 : 變 量 表 達(dá) 式(2)賦 值 語(yǔ) 句 的 作 用 是 :先 計(jì) 算 出 賦 值 號(hào) 右 邊 表 達(dá)式 的 值 ,然 后 把 這 個(gè) 值 賦 給 左 邊 的 變 量 ,使 該 變 量 的值
24、 等 于 表 達(dá) 式 的 值 。(3)賦 值 語(yǔ) 句 中 的 “ ” 稱 作 賦 值 號(hào) ,與 數(shù) 學(xué) 中 的 等號(hào) 的 意 義 是 不 同 的 .賦 值 號(hào) 的 左 右 兩 邊 不 能 對(duì) 換 .(4)賦 值 語(yǔ) 句 左 邊 只 能 是 變 量 名 字 而 不 是 表 達(dá) 式 ,如 :2=x是 錯(cuò) 誤 的 ;右 邊 表 達(dá) 式 可 以 是 一 個(gè) 數(shù) 據(jù) 、常 量 或 算 式 ; 不 能 利 用 賦 值 語(yǔ) 句 進(jìn) 行 代 數(shù) 式 的演 算 。 ( 如 化 簡(jiǎn) 、 因 式 分 解 、 解 方 程 等 ) ( 5) 對(duì) 于 一 個(gè) 變 量 可 以 多 次 賦 值 。 【 例 題 解 析 】 例
25、 2 : 編 寫 程 序 , 計(jì) 算 一 個(gè) 學(xué) 生 數(shù) 學(xué) 、 語(yǔ) 文 、英 語(yǔ) 三 門 課 的 平 均 成 績(jī) 。分 析 : 先 寫 出 算 法 , 畫 出 程 序 框 圖 , 再 進(jìn) 行 編 程 。 結(jié) 束開 始輸 入 a,b,c輸 出 y3a b cy 程 序 框 圖 INPUT “Maths,Chinese,English”; a,b,cy=(a+b+c)/3PRINT “y=”; y END程 序 : 例 3 : 給 一 個(gè) 變 量 重 復(fù) 賦 值 。程 序 : A=10A=A+15PRINT AEND A的 輸 出值 是 多 少 ?分 析 :此 程 序 給 變 量 A賦 了 兩
26、次 值 .A的 初 值 為 10,第 二 次 賦 值 后 ,初 值 被 “ 覆蓋 ” ,A的 值 變 為 25,因 此 輸 出 值 是 25. 變 式 引 申 :在 此 程 序 的 基 礎(chǔ) 上 , 設(shè) 計(jì) 一 個(gè) 程 序 ,要 求 最 后 A的 輸 出 值 是 30. A=10A=A+15PRINT AA=A+5PRINT AEND程 序 : 例 3 : 給 一 個(gè) 變 量 重 復(fù) 賦 值 。程 序 : A=10A=A+15PRINT AEND 例 4 交 換 兩 個(gè) 變 量 A和 B的 值 ,并 輸 出 交 換 前 后 的 值 。分 析 : 引 入 一 個(gè) 中 間 變 量 X,將 A的 值
27、賦 予 X,又 將 B的 值 賦 予 A, 再 將 X的 值 賦 予 B, 從 而 達(dá) 到 交 換 A,B的 值 .( 比 如 交 換 裝 滿 水 的 兩 個(gè) 水 桶 里 的 水 需 要再 找 一 個(gè) 空 桶 ) INPUT AINPUT BPRINT A, BX=AA=BB=XPRINT A, BEND程 序 :問 題 :能 否 用 下 列 賦 值語(yǔ) 句 交 換 A,B的 值 ?A=BB=A不 能 ! 練 習(xí) 1 :編 寫 一 個(gè) 程 序 ,要 求 輸 入 一 個(gè) 圓 的 半 徑 ,便 能 輸 出 該 圓 的 周 長(zhǎng) 和 面 積 .( 取 3.14)分 析 :設(shè) 圓 的 半 徑 為 R,則
28、圓 的 周 長(zhǎng) C=2 R,面 積S= R2,可 以 利 用 順 序 結(jié) 構(gòu) 中 的 INPUT語(yǔ) 句 ,PRINT語(yǔ) 句 和 賦 值 語(yǔ) 句 設(shè) 計(jì) 程 序 。INPUT “R=”; RC=2*3.14*RS=3.14*R2PRINT “ C=” ; CPRINT “ S=” ; S END 算 法 中 的 條 件 結(jié) 構(gòu) 是 由 條 件 語(yǔ) 句 來 表 達(dá) 的 ,條 件 語(yǔ) 句 是 處 理 條 件 分 支 邏 輯 結(jié) 構(gòu) 的 算 法 語(yǔ) 句 .條 件 語(yǔ) 句 的 一 般 格 式 滿 足 條 件 ? 語(yǔ) 句是否只 含 一 個(gè) “ 分 支 ” 的 條 件 結(jié) 構(gòu) 寫 成 條 件 語(yǔ) 句 為IF
29、 條 件 THEN 語(yǔ) 句 體END IF當(dāng) 計(jì) 算 機(jī) 執(zhí) 行 這 種 形 式 的 條 件 語(yǔ) 句 時(shí) , 首 先 對(duì)IF后 的 條 件 進(jìn) 行 判 斷 , 如 果 條 件 符 合 , 就 執(zhí) 行THEN后 的 語(yǔ) 句 體 , 否 則 執(zhí) 行 END IF之 后 的 語(yǔ) 句 . 滿 足 條 件 ?語(yǔ) 句 1 語(yǔ) 句 2是 否含 兩 個(gè) “ 分 支 ” 的 條 件 結(jié) 構(gòu) 寫 成 條 件 語(yǔ) 句 為IF 條 件 THEN 語(yǔ) 句 體 1ELSE 語(yǔ) 句 體 2END IF當(dāng) 計(jì) 算 機(jī) 執(zhí) 行 上 述 語(yǔ) 句 時(shí) , 首 先 對(duì) IF后 的條 件 進(jìn) 行 判 斷 , 如 果 條 件 符 合 ,
30、 就 執(zhí) 行 THEN后的 語(yǔ) 句 體 1, 否 則 執(zhí) 行 ELSE后 的 語(yǔ) 句 體 2. 條 件 語(yǔ) 句 的 作 用 在 程 序 執(zhí) 行 過 程 中 , 根 據(jù) 判 斷是 否 滿 足 約 定 的 條 件 而 決 定 是 否 需要 轉(zhuǎn) 換 到 何 處 去 。 需 要 計(jì) 算 機(jī) 按 條件 進(jìn) 行 分 析 、 比 較 、 判 斷 , 并 按 判斷 后 的 不 同 情 況 進(jìn) 行 不 同 的 處 理 。 1、 編 寫 一 個(gè) 程 序 , 求 任 意 實(shí) 數(shù) 的 絕 對(duì) 值 。INPUT “x=”; xIF x0 THEN y=-xELSEy=xEND IFPRINT “ x =”; yEND程
31、 序 如 下 :程 序 框 圖 : 開 始輸 入 xy=-xy=x 輸 出 y結(jié) 束x0時(shí) ,一 元 二 次 方 程 有 兩 個(gè) 不 等 的 實(shí) 數(shù) 根 .(2)當(dāng) =0時(shí) ,一 元 二 次 方 程 有 兩 個(gè) 相 等 的 實(shí) 數(shù) 根 . 1 2 2bx x a (3)當(dāng) =0 THEN p=-b/(2*a) q=SQR(d)/(2*a)IF d=0 THEN PRINT “One real root:”; pELSE x1=p+q x2=p-q PRINT “Two real roots:“; x1,x2 END IFELSE PRINT “No real root!”END IFEND 例
32、 7 : 編 寫 程 序 , 使 得 任 意 輸 入 的 3個(gè) 整數(shù) 按 從 大 到 小 的 順 序 輸 出 。算 法 分 析 : 用 a, b, c表 示 輸 入 的 3個(gè) 整 數(shù) ; 為了 節(jié) 約 變 量 , 把 它 們 重 新 排 列 后 , 仍 用 a, b, c表示 , 并 使 a b c.具 體 操 作 步 驟 如 下 。第 一 步 : 輸 入 3個(gè) 整 數(shù) a, b, c.第 二 步 : 將 a與 b比 較 , 并 把 小 者 賦 給 b, 大 者賦 給 a.第 三 步 : 將 a與 c比 較 . 并 把 小 者 賦 給 c, 大 者賦 給 a, 此 時(shí) a已 是 三 者 中 最
33、 大 的 。第 四 步 : 將 b與 c比 較 , 并 把 小 者 賦 給 c, 大 者賦 給 b, 此 時(shí) a, b, c已 按 從 大 到 小 的 順 序 排 列 好 。第 五 步 : 按 順 序 輸 出 a, b, c. 【 程 序 】INPUT “a, b, c =”;a, b, cIF ba THEN t=a a=b b=tEND IFIF ca THEN t=a a=c c=tEND IF IF cb THEN t=b b=c c=tEND IF PRINT a, b, cEND 算 法 中 的 循 環(huán) 結(jié) 構(gòu) 是 由 循 環(huán) 語(yǔ) 句 來 實(shí) 現(xiàn) 的 .循 環(huán) 結(jié) 構(gòu) 有 兩 種
34、-當(dāng) 型 與 直 到 型 .滿 足 條 件 ? 循 環(huán) 體是否當(dāng) 型 循 環(huán) 結(jié) 構(gòu) (當(dāng) 條 件 滿足 時(shí) 反 復(fù) 執(zhí) 行 循 環(huán) 體 ) 直 到 型 循 環(huán) 結(jié) 構(gòu) (反 復(fù) 執(zhí)行 循 環(huán) 體 直 到 條 件 滿 足 )循 環(huán) 體是 否滿 足 條 件 ?對(duì) 應(yīng) 于 程 序 框 圖 中 的 兩 種 循 環(huán) 結(jié) 構(gòu) , 一 般程 序 設(shè) 計(jì) 語(yǔ) 言 中 也 有 當(dāng) 型 ( WHILE型 ) 和 直 到 型( UNTIL型 ) 兩 種 語(yǔ) 句 結(jié) 構(gòu) 。 即 WHILE語(yǔ) 句 和 UNTIL語(yǔ) 句 。 (1)WHILE語(yǔ) 句 的 一 般 格 式 是 :WHILE 條 件 循 環(huán) 體WEND其 中
35、 循 環(huán) 體 是 由 計(jì) 算 機(jī) 反 復(fù) 執(zhí) 行 的 一 組 語(yǔ) 句構(gòu) 成 的 。 WHLIE后 面 的 “ 條 件 ” 是 用 于 控 制 計(jì) 算 機(jī)執(zhí) 行 循 環(huán) 體 或 跳 出 循 環(huán) 體 的 。WHILE 當(dāng) 時(shí) 候WEND 朝 方 向 行 走 (1)WHILE語(yǔ) 句 的 一 般 格 式 是 WHILE 條 件 循 環(huán) 體WEND 當(dāng) 計(jì) 算 機(jī) 遇 到 WHILE語(yǔ) 句 時(shí) ,先 判 斷 條 件 的 真 假 ,如 果 條 件符 合 ,就 執(zhí) 行 WHILE與 WEND之 間的 循 環(huán) 體 ;然 后 再 檢 查 上 述 條件 ,如 果 條 件 仍 符 合 ,再 次 執(zhí) 行循 環(huán) 體 ,
36、這 個(gè) 過 程 反 復(fù) 進(jìn) 行 ,直到 某 一 次 條 件 不 符 合 為 止 .這時(shí) ,計(jì) 算 機(jī) 將 不 執(zhí) 行 循 環(huán) 體 ,直接 跳 到 WEND語(yǔ) 句 后 ,接 著 執(zhí) 行WEND之 后 的 語(yǔ) 句 . 滿 足 條 件 ? 循 環(huán) 體是 否當(dāng) 型 循 環(huán) 結(jié) 構(gòu) (2)UNTIL語(yǔ) 句 的 一 般 格 式 是 :DO 循 環(huán) 體LOOP UNTIL 條 件 循 環(huán) 體是 否滿 足 條 件 ?直 到 型 循 環(huán) 結(jié) 構(gòu)DO 做 什 么LOOP UNTIL 繞 環(huán) 回 線 走 ,直 到 達(dá) 到 某 種 條 件 為 止思 考 :參 照 其 直 到 型 循 環(huán) 結(jié) 構(gòu) 對(duì) 應(yīng) 的 程 序 框
37、 圖 ,說 說計(jì) 算 機(jī) 是 按 怎 樣 的 順 序 執(zhí) 行 UNTIL語(yǔ) 句 的 ? (2)UNTIL語(yǔ) 句 的 一 般 格 式 是 :DO 循 環(huán) 體LOOP UNTIL 條 件 循 環(huán) 體是 否滿 足 條 件 ?直 到 型 循 環(huán) 結(jié) 構(gòu)從 UNTIL型 循 環(huán) 結(jié) 構(gòu) 分 析 ,計(jì) 算 機(jī) 執(zhí) 行 該 語(yǔ) 句 時(shí) ,先執(zhí) 行 一 次 循 環(huán) 體 ,然 后 進(jìn) 行 條 件 的 判 斷 ,如 果 條 件 不滿 足 ,繼 續(xù) 返 回 執(zhí) 行 循 環(huán) 體 ,然 后 再 進(jìn) 行 條 件 的 判 斷 ,這 個(gè) 過 程 反 復(fù) 進(jìn) 行 ,直 到 某 一 次 條 件 滿 足 時(shí) ,不 再 執(zhí)行 循 環(huán)
38、 體 ,跳 到 LOOP UNTIL語(yǔ) 句 后 執(zhí) 行 其 他 語(yǔ) 句 ,是 先 執(zhí) 行 循 環(huán) 體 后 進(jìn) 行 條 件 判 斷 的 循 環(huán) 語(yǔ) 句 . 提 問 :通 過 對(duì) 照 ,大 家 覺 得 WHILE型 語(yǔ) 句 與 UNTIL型語(yǔ) 句 之 間 有 什 么 區(qū) 別 呢 ? 區(qū) 別 : 在 WHILE語(yǔ) 句 中 ,是 當(dāng) 條 件 滿 足 時(shí) 執(zhí) 行 循 環(huán)體 ,而 在 UNTIL語(yǔ) 句 中 ,是 當(dāng) 條 件 不 滿 足 時(shí) 執(zhí) 行 循 環(huán)體 。WHILE語(yǔ) 句 的 一 般 格 式WHILE 條 件 循 環(huán) 體WEND UNTIL語(yǔ) 句 的 一 般 格 式DO 循 環(huán) 體LOOP UNTIL
39、 條 件 例 1.編 寫 程 序 ,計(jì) 算 自 然 數(shù) 1+2+3+ +99+100的 和 .分 析 :這 是 一 個(gè) 累 加 問 題 .我 們 可以 用 WHILE型 語(yǔ) 句 ,也 可 以 用 UNTIL型 語(yǔ)句 。 WHILE語(yǔ) 句開 始 結(jié) 束i=1S=0 i=i+1S=S+i輸 出 Si100? 是否 當(dāng) 型 循 環(huán) 結(jié) 構(gòu) i=1S=0WHLIE i100? 否是 直 到 型 i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SEND 開 始i=1S=0i100? 是 S=S+ii=i+1否輸 出 S結(jié) 束 當(dāng) 型 循 環(huán)結(jié) 構(gòu)變 式 訓(xùn) 練 (1):編
40、寫 程 序 求 :n!=1 2 3 4 5 n的 值 .如 何 修 改 ?輸 入 n WHILE語(yǔ) 句i=1S=0WHLIE i100PRINT SEND1 101 i2是開 始 結(jié) 束i=1S=0i=i+1S=S+i輸 出 Si100? 否直 到 型 1S=S i i i 2i1 1 算 法 案 例1.3 輾 轉(zhuǎn) 相 除 法更 相 減 損 術(shù)1.1.1 1、 求 兩 個(gè) 正 整 數(shù) 的 最 大 公 約 數(shù)( 1) 求 25和 35的 最 大 公 約 數(shù)( 2) 求 225和 135的 最 大 公 約 數(shù)2、 求 8251和 6105的 最 大 公 約 數(shù) 25( 1) 5 5 357所 以
41、, 25和 35的 最 大 公 約 數(shù) 為 5所 以 , 225和 135的 最 大 公 約 數(shù) 為 5 3 3=45課 前 復(fù) 習(xí) 225( 2) 5 45 135273 15 9 知 識(shí) 回 顧 : 先 用兩 個(gè) 數(shù) 公 有 的 質(zhì)因 數(shù) 連 續(xù) 去 除 ,一 直 除 到 所 得 的商 是 互 質(zhì) 數(shù) 為 止 ,然 后 把 所 有 的 除數(shù) 連 乘 起 來3 35 輾 轉(zhuǎn) 相 除 法 ( 歐 幾 里 得 算 法 )觀 察 用 輾 轉(zhuǎn) 相 除 法 求 8251和 6105的 最 大 公 約 數(shù) 的 過 程 第 一 步 用 兩 數(shù) 中 較 大 的 數(shù) 除 以 較 小 的 數(shù) , 求 得 商 和
42、 余 數(shù)8251=6105 1+2146結(jié) 論 : 8251和 6105的 公 約 數(shù) 就 是 6105和 2146的 公 約 數(shù) , 求8251和 6105的 最 大 公 約 數(shù) , 只 要 求 出 6105和 2146的 公 約 數(shù)就 可 以 了 。第 二 步 對(duì) 6105和 2146重 復(fù) 第 一 步 的 做 法6105=2146 2+1813同 理 6105和 2146的 最 大 公 約 數(shù) 也 是 2146和 1813的 最 大公 約 數(shù) 。 完 整 的 過 程8251=6105 1+2146 6105=2146 2+1813 2146=1813 1+3331813=333 5+14
43、8333=148 2+37148=37 4+0 例 2 用 輾 轉(zhuǎn) 相 除 法 求 225和 135的 最 大 公 約 數(shù)225=135 1+90135=90 1+4590=45 2 顯 然 37是 148和 37的 最 大 公 約數(shù) , 也 就 是 8251和 6105的 最大 公 約 數(shù) 顯 然 45是 90和 45的 最 大 公 約 數(shù) , 也 就 是225和 135的 最 大 公 約 數(shù) 思 考 1: 從 上 面 的 兩 個(gè) 例 子 可 以 看 出 計(jì)算 的 規(guī) 律 是 什 么 ? S1: 用 大 數(shù) 除 以 小 數(shù)S2: 除 數(shù) 變 成 被 除 數(shù) , 余 數(shù) 變 成 除 數(shù)S3:
44、重 復(fù) S1, 直 到 余 數(shù) 為 0 第 一 步 ,給 定 兩 個(gè) 正 數(shù) m、 n 第 二 步 ,計(jì) 算 m除 以 n所 得 到 余 數(shù) r 第 三 步 ,m=n; n=r 第 四 步 ,若 r=0,則 m、 n的 最 大 公 約 數(shù) 等 于 m; 否 則 返 回 第 二 步輾 轉(zhuǎn) 相 除 法 求 最 大 公 約 數(shù) 算 法 : 輾 轉(zhuǎn) 相 除 法 是 一 個(gè) 反 復(fù) 執(zhí) 行 直 到 余 數(shù) 等 于 0停 止的 步 驟 , 這 實(shí) 際 上 是 一 個(gè) 循 環(huán) 結(jié) 構(gòu) 。 否 開 始 輸 入 兩 個(gè) 正 數(shù) m,nmn?r=m MOD nr0?輸 出 n結(jié) 束 m=xm=nn=r否 是是IN
45、PUT m,nIF mn THEN x=n n=m m=xEND IFr=m MOD nWHILE r0 m=nn=rr=m MOD n WENDPRINT nEND x=nn=m 更 相 減 損 術(shù)算 理 : 可 半 者 半 之 , 不 可 半 者 , 副 置 分 母 、 子 之 數(shù) , 以 少減 多 , 更 相 減 損 , 求 其 等 也 , 以 等 數(shù) 約 之 。第 一 步 : 任 意 給 定 兩 個(gè) 正 整 數(shù) ; 判 斷 他 們 是 否 都 是偶 數(shù) 。 若 是 , 則 用 2約 簡(jiǎn) ; 若 不 是 , 則 執(zhí) 行 第 二 步 。第 二 步 : 以 較 大 的 數(shù) 減 較 小 的 數(shù)
46、 , 接 著 把 所 得 的 差 與較 小 的 數(shù) 比 較 , 并 以 大 數(shù) 減 小 數(shù) 。 繼 續(xù) 這 個(gè) 操 作 , 直到 所 得 的 減 數(shù) 和 差 相 等 為 止 , 則 這 個(gè) 等 數(shù) 或 這 個(gè) 等 數(shù)與 約 簡(jiǎn) 的 數(shù) 的 乘 積 就 是 所 求 的 最 大 公 約 數(shù) 。 例 1、 用 更 相 減 損 術(shù) 求 98與 63的 最 大 公 約 數(shù) .解 : 由 于 63不 是 偶 數(shù) , 把 98和 63以 大 數(shù)減 小 數(shù) , 并 輾 轉(zhuǎn) 相 減 , 即 : 98 63 35; 63 35 28; 35 28 7; 28 7 21; 21 7 14; 14 7 7.所 以 ,
47、 98與 63的 最 大 公 約 數(shù) 是 7。 二 者 算 理 相 似 , 有 異 曲 同 工 之 妙1、 都 是 求 最 大 公 約 數(shù) 的 方 法 , 計(jì) 算 上 輾 轉(zhuǎn) 相 除法 以 除 法 為 主 , 更 相 減 損 術(shù) 以 減 法 為 主 , 計(jì) 算次 數(shù) 上 輾 轉(zhuǎn) 相 除 法 計(jì) 算 次 數(shù) 相 對(duì) 較 少 , 特 別 當(dāng)兩 個(gè) 數(shù) 字 大 小 區(qū) 別 較 大 時(shí) 計(jì) 算 次 數(shù) 的 區(qū) 別 較 明顯 。2、 從 結(jié) 果 體 現(xiàn) 形 式 來 看 , 輾 轉(zhuǎn) 相 除 法 體 現(xiàn) 結(jié) 果是 以 相 除 余 數(shù) 為 0則 得 到 , 而 更 相 減 損 術(shù) 則 以 減數(shù) 與 差 相 等
48、 而 得 到 ( 差 為 0)輾 轉(zhuǎn) 相 除 法 與 更 相 減 損 術(shù) 的 區(qū) 別 秦 九 韶 算 法1.3.2 問 題 1設(shè) 計(jì) 求 多 項(xiàng) 式 f(x)=2x5-5x4-4x3+3x2-6x+7當(dāng) x=5時(shí) 的 值 的 算 法 ,并 寫 出 程 序 .x=5f=2*x5-5*x4-4*x3+3*x2-6*x+7PRINT fEND程 序點(diǎn) 評(píng) :上 述 算 法 一 共 做 了 15次 乘 法 運(yùn) 算 ,5次 加 法 運(yùn) 算 .優(yōu)點(diǎn) 是 簡(jiǎn) 單 ,易 懂 ;缺 點(diǎn) 是 不 通 用 ,不 能 解 決 任 意 多 項(xiàng) 多 求值 問 題 ,而 且 計(jì) 算 效 率 不 高 . 這 析 計(jì) 算 上
49、述 多 項(xiàng) 式 的 值 ,一 共 需 要 9次 乘法 運(yùn) 算 ,5次 加 法 運(yùn) 算 .問 題 2有 沒 有 更 高 效 的 算 法 ?分 析 :計(jì) 算 x的 冪 時(shí) ,可 以 利 用 前 面 的 計(jì) 算 結(jié)果 ,以 減 少 計(jì) 算 量 ,即 先 計(jì) 算 x2,然 后 依 次 計(jì) 算2 2 2,( ) ,( ) )x x x x x x x x x 的 值 .第 二 種 做 法 與 第 一 種 做 法 相 比 ,乘 法 的 運(yùn) 算 次 數(shù)減 少 了 ,因 而 能 提 高 運(yùn) 算 效 率 .而 且 對(duì) 于 計(jì) 算 機(jī) 來 說 ,做一 次 乘 法 所 需 的 運(yùn) 算 時(shí) 間 比 做 一 次 加 法
50、 要 長(zhǎng) 得 多 ,因此 第 二 種 做 法 能 更 快 地 得 到 結(jié) 果 . 問 題 3能 否 探 索 更 好 的 算 法 ,來 解 決 任 意 多項(xiàng) 式 的 求 值 問 題 ?f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=(2x3-5x2-4x+3)x-6)x+7=(2x2-5x-4)x+3)x-6)x+7=(2x-5)x-4)x+3)x-6)x+7v0=2v1=v0 x-5=2 5-5=5v2=v1x-4=5 5-4=21v3=v2x+3=21 5+3=108v4=v3x-6=108 5-6=534v 5=v4x+7=534 5+7=2
51、677這 種 求 多 項(xiàng) 式 值 的 方 法 就 叫 秦 九 韶 算 法 . f(x)=anxn+an-1xn-1+an-2xn-2+a1x+a0.我 們 可 以 改 寫 成 如 下 形 式 :求 多 項(xiàng) 式 的 值 時(shí) ,首 先 計(jì) 算 最 內(nèi) 層 括 號(hào) 內(nèi) 一次 多 項(xiàng) 式 的 值 ,即 v1=anx+an-1,然 后 由 內(nèi) 向 外 逐 層 計(jì) 算 一 次 多 項(xiàng) 式 的 值 ,即一 般 地 ,對(duì) 于 一 個(gè) n次 多 項(xiàng) 式v2=v1x+an-2, v3=v2x+an-3, , vn=vn-1x+a0.這 樣 ,求 n次 多 項(xiàng) 式 f(x)的 值 就 轉(zhuǎn) 化 為 求 n個(gè)一 次 多
52、 項(xiàng) 式 的 值 .這 種 算 法 稱 為 秦 九 韶 算 法 .f(x)=(anx+an-1)x+an-2)x+a1)x+a0.秦 九 韶 算 法 點(diǎn) 評(píng) :秦 九 韶 算 法 是 求 一 元 多 項(xiàng) 式 的值 的 一 種 方 法 .它 的 特 點(diǎn) 是 :把 求 一 個(gè) n次 多 項(xiàng) 式 的 值轉(zhuǎn) 化 為 求 n個(gè) 一 次 多 項(xiàng) 式 的 值 ,通 過 這 種 轉(zhuǎn)化 ,把 運(yùn) 算 的 次 數(shù) 由 至 多 n(n+1)/2次 乘 法運(yùn) 算 和 n次 加 法 運(yùn) 算 ,減 少 為 n次 乘 法 運(yùn) 算和 n次 加 法 運(yùn) 算 ,大 大 提 高 了 運(yùn) 算 效 率 . v1=anx+an-1, v
53、2=v1x+an-2,v3=v2x+an-3, , vn=vn-1x+a0.觀 察 上 述 秦 九 韶 算 法 中 的 n個(gè) 一 次 式 ,可 見vk的 計(jì) 算 要 用 到 vk-1的 值 . 若 令 v0=an,得v0=an,vK=vK-1x+an-k(k=1,2,n)這 是 一 個(gè) 在 秦 九 韶 算 法 中 反 復(fù) 執(zhí) 行 的 步驟 ,因 此 可 用 循 環(huán) 結(jié) 構(gòu) 來 實(shí) 現(xiàn) . 問 題 畫 出 程 序 框 圖 ,表 示 用 秦 九 韶 算 法 求 5次 多 項(xiàng)式 f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0當(dāng) x=x0 (x0是任 意 實(shí) 數(shù) )時(shí) 的 值 的 過
54、程 ,然 后 寫 出 程 序 .算 法 步 驟 如 下 :第 一 步 , 輸 入 多 項(xiàng) 式 次 數(shù) n、 最 高 次 項(xiàng) 的 系 數(shù) an和 x的 值 .第 二 步 , 將 v的 值 初 始 化 為 an, 將 i的 值 初 始 化 為 n-1.第 三 步 , 輸 入 i次 項(xiàng) 的 系 數(shù) ai.第 四 步 , v=vx+ai, i=i-1.第 五 步 , 判 斷 i是 否 大 于 或 等 于 0, 若 是 , 則 返 回 第 三 步 ;否 則 , 輸 出 多 項(xiàng) 式 的 值 v. 否程 序 框 圖 開 始輸 入 n,an,x的 值i0?i=n-1v=an v=vx+aii=i-1輸 出 v
55、結(jié) 束 是INPUT “n=”; nINPUT “an=”; aINPUT “x=”; xv=ai=n-1WHILE i=0 PRINT “i=”; IINPUT “ai=”; a v=v*x+a i=i-1WENDPRINT vEND 輸 入 ai 進(jìn) 位 制1.3.3 問 題 1我 們 常 見 的 數(shù) 字 都 是 十 進(jìn) 制 的 ,但 是 并 不 是 生活 中 的 每 一 種 數(shù) 字 都 是 十 進(jìn) 制 的 .比 如 時(shí) 間 和 角 度 的單 位 用 六 十 進(jìn) 位 制 ,電 子 計(jì) 算 機(jī) 用 的 是 二 進(jìn) 制 .那 么 什么 是 進(jìn) 位 制 ?不 同 的 進(jìn) 位 制 之 間 又 有
56、什 么 聯(lián) 系 呢 ?進(jìn) 位 制 是 人 們 為 了 計(jì) 數(shù) 和 運(yùn) 算 的 方 便 而 約 定 的 一 種記 數(shù) 系 統(tǒng) , 約 定 滿 二 進(jìn) 一 ,就 是 二 進(jìn) 制 ;滿 十 進(jìn) 一 ,就是 十 進(jìn) 制 ;滿 十 六 進(jìn) 一 ,就 是 十 六 進(jìn) 制 ;等 等 . “ 滿 幾 進(jìn) 一 ” ,就 是 幾 進(jìn) 制 ,幾 進(jìn) 制 的 基 數(shù) 就 是 幾 .可 使 用 數(shù) 字 符 號(hào) 的 個(gè) 數(shù) 稱 為 基 數(shù) .基 數(shù)都 是 大 于 1的 整 數(shù) . 例 如 : 二 進(jìn) 制 可 使 用 的 數(shù) 字 有 0和 1,基 數(shù) 是 2; 十 進(jìn) 制 可 使 用 的 數(shù) 字 有 0,1,2,8,9等
57、十 個(gè) 數(shù) 字 ,基數(shù) 是 10; 十 六 進(jìn) 制 可 使 用 的 數(shù) 字 或 符 號(hào) 有 09等 10個(gè) 數(shù) 字以 及 AF等 6個(gè) 字 母 (規(guī) 定 字 母 AF對(duì) 應(yīng) 1015),十 六 進(jìn)制 的 基 數(shù) 是 16.注 意 :為 了 區(qū) 分 不 同 的 進(jìn) 位 制 ,常 在 數(shù) 字 的 右 下腳 標(biāo) 明 基 數(shù) ,. 如 111001 (2)表 示 二 進(jìn) 制 數(shù) ,34(5)表 示 5進(jìn) 制 數(shù) .十 進(jìn) 制 數(shù) 一 般 不 標(biāo) 注 基 數(shù) . 問 題 2十 進(jìn) 制 數(shù) 3721中 的 3表 示 3個(gè) 千 ,7表 示 7個(gè) 百 ,2表 示 2個(gè) 十 ,1表 示 1個(gè) 一 ,從 而 它
58、可 以 寫 成 下 面 的 形 式 :3721=3 103+7 102+2 101+1 100.想 一 想 二 進(jìn) 制 數(shù) 1011(2)可 以 類 似 的 寫 成 什 么 形 式 ?1011(2)=1 23+0 22+1 21+1 20.同 理 :3421(5)=3 53+4 52+2 51+1 50.C7A16 (16)=12 164+7 163+10 162 +1 161+6 160. 一 般 地 ,若 k是 一 個(gè) 大 于 1的 整 數(shù) ,那 么 以 k為 基 數(shù) 的k進(jìn) 制 數(shù) 可 以 表 示 為 一 串 數(shù) 字 連 寫 在 一 起 的 形 式anan-1a1a0(k) (0ank,
59、0an-1,a1,a0n?輸 出 b結(jié) 束 否是 INPUT a,k,ni=1b=0t=a MOD 10DO b=b+t*k(i-1) a=a10 t=a MOD 10 i=i+1LOOP UNTIL inPRINT bEND程 序 :程 序 框 圖 :輸 入 例 2:把 89化 為 二 進(jìn) 制 的 數(shù) .分 析 :把 89化 為 二 進(jìn) 制 的 數(shù) ,需 將 89先 寫 成 如 下 形 式89=an 2n+an-1 2n-1+a1 21+a0 20 .89=64+16+8+1=1 26+0 25+1 24 +1 23+0 22+0 21+1 20 =1011001(2).但 如 果 數(shù) 太
60、大 ,我 們 是 無 法 這 樣 湊 出 來 的 ,怎 么 辦 ?89=44 2+1, 44=22 2+0, 22=11 2+0, 11=5 2+1, 5=2 2+1, 2=1 2+0, 1=0 2+1, 89=44 2+1, 44=22 2+0, 22=11 2+0, 11=5 2+1, 5=2 2+1, 89=44 2+1, =(22 2+0) 2+1 =(11 2+0) 2+0) 2+1 =(5 2+1) 2+0) 2+0) 2+1 =(2 2+1) 2+1) 2+0) 2+0) 2+1 =(1 2)+0) 2+1) 2+1) 2+0) 2+0) 2+1=1 2 6+0 25+1 24
61、+1 23+0 22+0 21+1 20=1011001(2).可 以 用 2連 續(xù) 去 除 89或 所得 商 (一 直 到 商 為 0為 止 ),然 后 取 余 數(shù)-除 2取 余 法 . 2=1 2+0, 1=0 2+1, 44 1例 2:把 89化 為 二 進(jìn) 制 的 數(shù) .我 們 可 以 用 下 面 的 除 法 算 式 表 示 除 2取 余 法 :2 89 余 數(shù)2 22 02 11 02 5 12 2 12 1 02 0 1 把 算 式 中 各 步 所 得 的 余 數(shù)從 下 到 上 排 列 ,得 到89=1011001(2).這 種 方 法 也 可 以 推 廣 為 把十 進(jìn) 制 數(shù) 化
62、 為 k進(jìn) 制 數(shù) 的算 法 ,稱 為 除 k取 余 法 . 解 :以 5作 為 除 數(shù) ,相 應(yīng) 的 除 法 算 式 為 :17 45 89 余 數(shù)5 3 25 0 3 89=324(5).例 3:把 89化 為 五 進(jìn) 制 的 數(shù) . 問 題 5你 會(huì) 把 三 進(jìn) 制 數(shù) 10221(3)化 為 二 進(jìn) 制 數(shù) 嗎 ?解 :第 一 步 :先 把 三 進(jìn) 制 數(shù) 化 為 十 進(jìn) 制 數(shù) :10221(3)=1 34+0 33+2 32+2 31+1 30 =81+18+6+1=106. 第 二 步 :再 把 十 進(jìn) 制 數(shù) 化 為 二 進(jìn) 制 數(shù) : 106=1101010(2). 1022
63、1(3)=106= 1101010(2). 例 設(shè) 計(jì) 一 個(gè) 程 序 , 實(shí) 現(xiàn) “ 除 k取 余 法 ” ( k N,2 k 9) 第 一 步 : 給 定 的 十 進(jìn) 制 正 整 數(shù) a和 轉(zhuǎn) 化 后 的 數(shù) 的 基 數(shù) k 第 二 步 : 求 出 a除 以 k所 得 的 商 q, 余 數(shù) r. 第 三 步 : 把 得 到 的 余 數(shù) 依 次 從 右 到 左 排 列 . 第 四 步 : 若 q 0, 則 a=q, 返 回 第 二 步 ; 否 則 , 輸 出 全部 余 數(shù) r排 列 得 到 的 k進(jìn) 制 數(shù) . 程 序 框 圖 :開 始輸 入 a,k求 a除 以 k的 商 q求 a除 以 k的 余 數(shù) r a=qq=0?輸 出 全 部 余 數(shù) r排 列 得 到 的 k進(jìn) 制 數(shù)結(jié) 束 把 得 到 的 余 數(shù) 依 次 從右 到 左 排 列 是 否 INPUT “a,k=”;a,kb=0i=0DO q=ak r=a MOD k b=b+r*10i i=i+1 a=qLOOP UNTIL q=0PRINT bEND程 序 :例 設(shè) 計(jì) 一 個(gè) 程 序 ,實(shí) 現(xiàn) “ 除 k取 余 法 ” .
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會(huì)知識(shí)問答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)管理人員模擬考試題庫(kù)試卷附答案
- 加壓過濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識(shí)總結(jié)
- XXXXX現(xiàn)場(chǎng)安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級(jí))職業(yè)技能理論知識(shí)考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫(kù)試卷含答案
- 工段(班組)級(jí)安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫(kù)試卷含答案-4
- 建筑起重司索信號(hào)工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見的30個(gè)問問答題含解析