第04章算法程序設(shè)計核心_第1頁
第04章算法程序設(shè)計核心_第2頁
第04章算法程序設(shè)計核心_第3頁
第04章算法程序設(shè)計核心_第4頁
第04章算法程序設(shè)計核心_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章算法-程序設(shè)計的核心程序設(shè)計與算法概述程序設(shè)計思想程序基本結(jié)構(gòu)算法特性與描述方法本章小結(jié)學(xué)習(xí)目標(biāo)掌握算法描述理解三種程序控制結(jié)構(gòu)的流程圖;學(xué)會簡單順序程序的設(shè)計;養(yǎng)成良好的程序設(shè)計習(xí)慣;算法-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章學(xué)習(xí)內(nèi)容4.1

程序設(shè)計與算法概述-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法算法:簡而言之,就是解決問題的方法與步驟。程序=數(shù)據(jù)結(jié)構(gòu)+算法。程序:算法的具體實現(xiàn)-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法一般處理框:條件判斷框:輸入/輸出框:1

、流程圖(FlowChat)開始結(jié)束框:

連接符框:流程線:注釋框:-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法2、算法的結(jié)構(gòu)化描述(1)

順序結(jié)構(gòu)ABCA條件ABTF(2)

分支結(jié)構(gòu)條件TF(3)

循環(huán)結(jié)構(gòu)AT條件FAT條件F基礎(chǔ)第四章算法-程序設(shè)計的核心C語言程序設(shè)計3、NS結(jié)構(gòu)化流程圖(1)

順序結(jié)構(gòu)模塊A模塊B(2)

選擇結(jié)構(gòu)模塊A模塊B條件成立不成立(3)

當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)條件成立時繼續(xù)模塊A(4)

直到型循環(huán)結(jié)構(gòu)模塊A直到條件成立才結(jié)束C語言程序設(shè)計基礎(chǔ)第四章算法-程序設(shè)計的核心【例1】輸入三角形三個邊的值,計算這個三角形的面積。1、寫出NS結(jié)構(gòu)化流程圖2、寫出流程圖-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法例1流程圖#include<stdio.h>#include<math.h>int

main(){int

a,b,c;float

s,area;scanf(“%d,%d,%d”,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){printf(“input

error!”);return

0;}else{s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%.2f”,area);}return

0;}例2

將求5!的算法用流程圖表示如果需要將最后結(jié)果打印出來,可在菱形框的下面加一個輸出框。例2

求5!算法用

N--S圖表示#include

<stdio.h>void

main(

){int

i,t;t=1;i=2;while(i<=5){t=t*I;i=i+1;}printf(“%d\n”,t);}例2將表示的算法(求5!)用C語言表示。分析:閏年的條件是:(1)能被4整除,但不能被100整除的年份都是閏年,如1996,2004年是閏年;(2)能被100整除,又能被400整除的年份是閏年。如1600,2000年是閏年。不符合這兩個條件的年份不是閏年。分析:閏年的條件是:能被4整除,但不能被100整除。能被4整除,又能被400整除例3

判定

2000~2500年中的每一年是否閏年,將結(jié)果輸出。判定閏年的算法用流程圖表示用流程圖表示算法要比用文字描述算法邏輯清晰、易于理解。用流程圖表示算法要比用文字描述算法邏輯清晰、易于理解。例3將判定閏年的算法用N--S圖表示【例4】輸入三個數(shù),然后輸出其中最大的數(shù)。算法寫成:(1)輸入A,B,C。C語言程序設(shè)計教程第四章基本

(2)

若A

>

B,則MAX

A;否則輸輸

MAX←B。入出和

(3)

若C

>

MAX,則MAX

C。順序程序設(shè)計(4)輸出MAX,MAX即為最大數(shù)-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法流程圖_____常見流程圖符號MAX

AMAX

←BA>

B開始輸入A,B,CMAX

←C輸出MAX結(jié)束【例4】的算法的流程圖C>MAX

T

T

F

FC

【例5】猴子吃桃問題:有一堆桃子課后作業(yè):用流程圖寫出算法和NS結(jié)構(gòu)流程圖語程

不知數(shù)目,猴子第一天吃掉一半,覺言序設(shè)

得不過癮,又多吃了一只,第二天照計程

此辦理,吃掉剩下桃子的一半另加一教四

個,天天如此,到第十天早上,猴子第章基

發(fā)現(xiàn)只剩一只桃子了,問這堆桃子原本輸

來有多少個?入和

?輸出順序程序設(shè)計-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法流程圖起止框

判斷框

輸入、輸出框

注釋框處理框

連接點

流程線_____常見流程圖符號開始i

=

9a1

=

1i

1i

=

i

-

1a0

=

2*(a1+1)a1

=

a0輸出a0結(jié)束【例5】的算法的流程圖T4.2程序設(shè)計思想-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法1、結(jié)構(gòu)化程序設(shè)計思想:自頂向下、逐步細(xì)化模塊化結(jié)構(gòu)化編碼2、面向?qū)ο蟮某绦蛟O(shè)計思想:類對象方法繼承性和重用性4.3程序基本結(jié)構(gòu)-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法1、順序結(jié)構(gòu)2、選擇結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)4.4順序程序設(shè)計舉例-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法【例1】任意從鍵盤輸入一個三位整數(shù),要求正確地分離出它的個位、十位和百位數(shù),并分別在屏幕上輸出。?課后作業(yè):用流程圖寫出算法和寫出NS結(jié)構(gòu)化流程圖-程序設(shè)計的核心C語言程序設(shè)計基礎(chǔ)第四章算法#include

<stdio.h>void

main

(

){int

x,

b0,

b1,

b2;//變量定義printf

("please

input

an

integer

x:");

//提示用戶輸入一個整數(shù)//輸入一個整數(shù)//用整除方法計算最高位//計算中間位//用求余數(shù)法計算最低位scanf

("%d",

&x);b2

=

x

/100;b1

=

(x

-

b2

*

100)

/

10;b0

=

x

%10;printf

("bit2

=

%d,

bit1

=

%d,bit0

=

%d\n",

b2,

b1,

b0);//輸出結(jié)果}具體程序如下:運行結(jié)果:please

input

an

integer

x:

456↙bit2=4,bit1=5,bit0=6語

本章小結(jié)C言程

本章的主要內(nèi)容包含如下幾個方面:序設(shè)

(1)

算法的基本概念。簡單地說,算法是求解某個問題的方法,程序是計

算法通過編程語言書寫出來的表現(xiàn)形式。算法是程序的靈魂,語言只是算基

法的實現(xiàn)工具。所以我們學(xué)習(xí)C語言不僅要學(xué)會C語言的語法特點,各種礎(chǔ)

函數(shù)的使用方法等,更重要的是掌握分析問題、解決問題的方法,就是鍛第

煉分析、分解,最終歸納整理出算法的能力。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論