大學(xué)計算機基礎(chǔ)03_第1頁
大學(xué)計算機基礎(chǔ)03_第2頁
大學(xué)計算機基礎(chǔ)03_第3頁
大學(xué)計算機基礎(chǔ)03_第4頁
大學(xué)計算機基礎(chǔ)03_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

安微工處大學(xué)....

AnhutUniversityofTechnology.g

基礎(chǔ)篇

本章拓展知識

3.1概述

'^\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz

?計算機語言

?程序

?算法

①計算機語言

計算機語言就是計算機能讀懂的語言,早期

的計算機語言叫機器語言。

②程序計算機程序,就是指揮計算機按一定的

動作步驟完成指定任務(wù)的一系列命令。

例3.1打印一個由符號“"組成的倒三角圖形的程序。

*******voidmain()

*****;Jintj,k;定義整型變量[和k

*****

---------'\for(j=0;j<8;j++)控制輸出的行數(shù)

*****

****C語言表示》{for(k=0;k<j;k++)prin廿("")每行輸出的空格

***---------1/for(k=8-j;k>0;k--)prin廿(”*");每行輸出的*

**'printfC'Xn");每行輸出結(jié)束時換行

*

③算法

算法可以理解為是完成一項工

作的步驟集合。

例32烹飪菜譜。例3.3操作說明。

櫻桃肉1,將食物放入爐內(nèi)

主料:牛里脊肉.雞蛋

配料:淀粉.蔥.姜?蒜.白糖?醬油.番茄醬

-3.輸入烹調(diào)/再加熱

時間

2.選擇微波火力

做法:例如.12分30秒

技微波火力%

1.里脊肉切塊,用蛋清淀粉攪勻.?操10?U?10?

1次高火100%

2.油溫五成熱時放入肉塊滑熟備用作,'I

按1次投2次按3次

3.用醬油.白糖.醋.水淀粉.高湯調(diào)汁.2次中高火80%

步(最大設(shè)定時間為99分90秒.

3次中火60%

4.起鍋下蔥.姜.蒜末炮鍋后放番茄醬,高火為29分90秒或30分

再放肉,最后倒汁.?驟4次中低火40%

5次低火20%一4按

顯示窗上將倒數(shù)計時.

計算機語言、算法和程序

>算法在描述上一般使用半形式化的語言,而程

序是用形式化的計算機語言描述的;

>算法對問題求解過程的描述可以比程序粗略,

算法經(jīng)過細(xì)化以后可以得到計算機程序。

>一個計算機程序是一個算法的計算機語言表

述,而執(zhí)行一個程序就是執(zhí)行一個用計算機語

言表述的算法。

3.2算法

kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz

?算法的基本概念

?算法的表示

?算法應(yīng)用示例

①算法的基本概念

>算法定義

>算法特性

>算法評價

>算法與計算機程序

算法定義

▲算法是一組明確的、有序的、可以執(zhí)行

的步驟集合。

▲算法的概念要求步驟集是有序的,這就

要求算法中的各個步驟必須擁有定義完好

的、順序執(zhí)行的結(jié)構(gòu)。

算法特性一個算法必須保證執(zhí)行有限步之后結(jié)束

算法評價

算法的正確性

一個算法在計算機上運行所花費的時間

在存儲器上所占用的存儲空間(主要考慮在

算法運行過程中臨時占用的存儲空間的大小)

算法的易讀性

算法與計算機程序

算法是行為的說明,是一組邏輯步驟。

計算機程序是算法的一種表示,是使用一些特

殊編程語言表達(dá)的某些算法??赡苡袔追N不同

的計算機程序,每一種用不同的編程語言實

現(xiàn),但遵循的邏輯步驟是相同的。它們都表達(dá)

同樣的算法,但是它們不是同樣的程序。

②算法的表示

用自然語言表示

用流程圖表示

用N-S流程圖表示

用偽代碼表示

用計算機語言表示

流程圖

流程圖是通過箭頭相互連接的幾何圖

形來表達(dá)的方法。

[■起止框

ANSI規(guī)定]■1^r輸入輸出框

的一些常

用流直圖匚,J

判斷框

符號。/\

■處理框

流程線

N-S流程圖

一種流程圖形式,在這種流程圖中完全去掉了

流程線,全部算法寫在一個矩形框內(nèi).

順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)

WhileP1

YesNo

UntilP2

偽代碼

-偽代碼是一種描述語言。

-它只是一種描述程序執(zhí)行過程的工

具,是面向讀者的,不能直接用于計算

機,實際使用時還需轉(zhuǎn)換成某種計算機

語言來表示。

例如:計算1+2+3+....+9+10

Sum=0

n=l

While(n<=l2偽碼是一種在程序

設(shè)計過程中表達(dá)想

Begin

sum=sum+n法的非正式的符號

n=n+l?系統(tǒng)

end

printSum

描述計算1+2+3+….+9+10算法的偽代碼

描述計算1+2+3+.…+9+10算法的流程圖

例3.4由函數(shù)式v=x2-2x+3計算

當(dāng)x=0,1,234,5所對應(yīng)的y值

?用自然語言描述

?用流程圖表示

■用N-S圖表示

?用C語言表示

?用自然語言描述y=x2-2x+3

當(dāng)X=0515253,4,5計算對應(yīng)的y值

1.置x的下界為Q

2.置x的上界為n=5;

3.當(dāng)xWc時,重復(fù)執(zhí)行如下3步,

否則算法停止。

用公式計算y值

輸出一組/口y的值

x值增加1

?用流程圖描述

開始

0nx

5nn

x<n?

y=x2-2x+3結(jié)束

俞出:x與y的《

x=x+l

?用N-S圖描述

直至Ux>n

?用C語言描述

main()

{intx,y5n;

x=0;n=5;

while(x<=n)

{y=x*x-2*x+3;

printf("x=%d,y=%cT,x,y);

x=x+1;

)

③算法應(yīng)用示例

基本算法

順序查找

曹二分查找

排序

基本算法結(jié)構(gòu)

順序結(jié)構(gòu)I選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)

衛(wèi)豈竺一直到型循環(huán)

算法的三種主要結(jié)構(gòu)

【例題3-5】磁帶A中錄有音樂,磁帶B中錄有外語。

請將兩盤磁帶中的內(nèi)容交換。

算法分析:

要交換磁帶A與磁帶B的內(nèi)容必須借

助第三盤磁帶。過程如下:

步驟一:準(zhǔn)備空白磁帶Temp;

步驟二:將A盤磁帶中的音樂轉(zhuǎn)錄

至“Temp;

步驟三:將B盤磁帶中的英語錄入A

中.

步驟加:將Temp盤中的音樂錄入B

盤中。

【例題3-61從鍵盤輸入兩個數(shù),輸出最大的一個數(shù)。

算法分析:

要完成題目的任務(wù),分別用于保存兩個整數(shù)的符號名稱a和b,

稱為變量。用于存放兩個數(shù)中最大一個的符號名稱max稱為中

間變量。過程如下:

步驟一:輸入兩個整數(shù)到a,b;

步驟二:比較a和b;

步驟三:如果a>b,則將a中的數(shù)據(jù)保存到max中;

步驟四:如果avb,則將b中的數(shù)據(jù)保存到max中;

步驟五:打印max。

從鍵盤輸入兩個數(shù),輸出其中最大數(shù)的流程圖

【例題3-7】口令檢查。當(dāng)用戶輸入口令正確時,打印“你

是合法用戶!'當(dāng)口令不正確時,提示用戶重新輸入,當(dāng)

輸入口令次數(shù)超過三次,而且不正確時結(jié)束程序。

算法分析

步驟一:提示用戶輸入一個口令;

步驟二:如果口令正確,貝!J打“你是合法用戶!

步驟三:如果口令不正確,貝!]打E|1"你的口令不正確!咒

步驟四:如果輸入口令次數(shù)超過三次,輸出“你是非法用戶”,結(jié)

束程序;否則返回步驟一。

查找

直找就是根據(jù)給定的值,在一組數(shù)據(jù)中確定一個

其數(shù)值等于給定值的數(shù)據(jù)元素,若存在這樣的數(shù)據(jù)

元素說明查找是成功的,否則查找是不成功的。

查找的方法:一般分為順序查找、折半查找和樹表

查找。

順序查找的基本思想:在n個元素的集合中,從第一個元素

開始,逐個把元素的關(guān)鍵字值同給定值比較,若某個元素的關(guān)鍵字

值和給定值相等,則查找成功;否則,若直至第n個值都不相等,

說明不存在滿足條件的元素,查找失敗。順序查找法的平均查找長

度是n/2。

二分查找的基本思想:首先排序表中的數(shù)據(jù)元素,然

后與列表“中間位置”的元素比較,若相等則查找成功;若

給定值大于“中間位置”的元素值,則在后半部繼續(xù)進(jìn)行折

半查找;否則在前半部進(jìn)行折半查找。

【例題3-8】已知一個人員名字列表{Marry,Ann,Kelly,

Black,Carol,David,John,Hanrry,Fred,Elaine,Oliver,

George,Irene,Larry,Nancy}o橫用順序查找法,找出

John0

算法分析

步驟一從列表的第一項開始。

步驟二要查找的值John與列表中關(guān)鍵字的值進(jìn)行比較是否相同

a)如果不相同且該項是列表中的最后一項,執(zhí)行步驟四(結(jié)束);

b)如果不相同且該項不是列表中的最后一項,則順序比蚊下一項,

執(zhí)行步驟二;

c)如果相同,則執(zhí)行步驟三;

步驟三打印查找到的John

步驟四結(jié)束

找出John需要順序比較這個人員名字列表中的元素7次。查

找Marry僅需要比較1次,而查找Nancy確需要比較15次。

平均查找長度為7。

上講回顧

,算法

1、定義:

一組明確、有序、可以執(zhí)行的處理問題步驟集合。

2、算法特性:

有窮性

確切性

20個輸入

21個輸出

有效性(可行性)

上講回顧

3、算法評價指標(biāo):

正確性

時間復(fù)雜度

空間復(fù)雜度

易讀性

4、算法的常用表達(dá)工具:

自然語言

流程圖

N-S流程圖

偽代碼

計算機語言

5、基本算法結(jié)構(gòu)

順序

選擇(分支)

循環(huán)

6、查找的類型:

樹表查找

散列查找

順序查找

二分查找

二分查找的前提條件(被查找的一組數(shù)據(jù)已經(jīng)有序)

我E序

基本排序算法有?.選擇排序、交換排序和插入排序

直接選擇排序的基本思想:

掃描整個序列,從中選出最小的元素,將它交換到序列

的最前面;然后對剩下的序列采用同樣的方法,直到未

排序序列空為止。對于長度為n的序列,選擇排序需要掃

描n-1遍,每一遍掃描均從剩下的子序列中選出最小的元

素,然后將該最小的元素與子序列中的第一個元素進(jìn)行

交換。

原序列8921564885161947

第1遍選擇8921564885161947

第2遍選擇1621564885891947

第3遍選擇1619564885892147

第4遍選擇1619214885895647

第5遍選擇1619214785895648

第6遍選擇1619214748895685

第7遍選擇1619214748568985

1619214748568589

3.2編程語言

'JkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz

?計算機語言

?解釋與編譯

①計算機語言

機器語言

FORTRAN

BASIC

COBOL

PASCAL

C/C++

c#

JAVA

計算機語言的發(fā)展

計算機語言分類

L機器語言

由0、1代碼組成,能被計算機直接識別和執(zhí)行的指令集合。

特點:占用空間小、執(zhí)行速度快,不易學(xué)習(xí)和修改

不同類型機器的指令系統(tǒng)(機器語言)不同,通用性差

2.匯編語言(符號語言)

用助記符代替機器語言中的指令和數(shù)據(jù)

特點:易修改,保持了速度快,占用空間小的特點

不同類型機器的匯編語言不同

3.高級語言

由貼近自然語言的“詞”和“數(shù)學(xué)公式”組成

特點,易學(xué)、易讀,易修改,通用性好,不依賴于機器

?具有很強的通用性和可移植性

4.面向?qū)ο蟮恼Z言---面向?qū)ο蟮恼Z言應(yīng)該是高級

語言一個分支.是最活躍的高級語言,它的應(yīng)用價值

非常高。

特點:點繼承了面向過程的高級語言的合理部分:結(jié)

構(gòu)化程序設(shè)計、模塊化、并行處理等,克服了數(shù)據(jù)

與對數(shù)據(jù)的處理(代碼)分離的弊端,代表了新穎

的程序設(shè)計思維方法。

典型的面向?qū)ο蟮恼Z言有:C++、C#、PB、

VB、VC、Delphi、Java、.Net等等。

主要計算機語言

?C語言M

1972年至1973間由AT&T公司Bell實驗室的D.M.Ritchie

在BCPL語言基礎(chǔ)上設(shè)計而成的,著名的UNIX操作系統(tǒng)就是用

C語言編寫的。

?特點:

語言與運行支撐環(huán)境分離、可移植性好、語言規(guī)模小因而

相對簡單、具有指針類型等,C語言本身簡潔、高度靈活、程

序運行效率高。此外,在C語言中,有不少操作直接對應(yīng)實際

機器所執(zhí)行的動作,并在許多場合可以代替匯編語言。

主要計算機語言

」C++語言

以C語言為基礎(chǔ)發(fā)展起來的通用程序設(shè)計語言。C++內(nèi)

置面向?qū)ο蟮臋C制,支持?jǐn)?shù)據(jù)抽象。最先由Bell實驗室的

B.stroustrup在1980年代設(shè)計并實現(xiàn),至今仍在不斷發(fā)展。

」C++語言是對C語言的擴充,擴充的內(nèi)容絕大部分來自其他

著名語言(如Simula、ALG0L68、Ada等)的最佳特性。由

于C++語言既有數(shù)據(jù)抽象和面向?qū)ο竽芰Γ\行性能高,

又能與C語言相兼容,使得數(shù)量巨大的C語言程序能方便地

在C++語言環(huán)境中重用。

②解釋與編譯

解釋方式依賴于名為解釋器的程序,利用它解釋和執(zhí)行

高級語言程序中的語句。解釋器一次讀一條語句,然后

立即翻譯并執(zhí)行每一條語句。

編譯方式依賴于名為編譯器的程序,當(dāng)用戶將高級語

言編寫的源程序輸入計算機后,編譯器便把源程序整

個地翻譯成用機器語言表示的與之等價的機器語言程

序,然后再由計算機執(zhí)行該機器語言程序。

編譯器和解釋器是兩種語言處理程序,編譯程序與解

釋程序最大的區(qū)別之一在于前者生成目標(biāo)代碼,而后

者不生成。

解釋編譯方式。這種系統(tǒng)既有編譯器也有解釋器。如C#,Java

語言。這種系統(tǒng)的特點是:首先由編譯器把源程序翻譯成一種

稱之為中間語言代碼(也稱之為跨平臺語言代碼),以后由負(fù)責(zé)

執(zhí)行這種中間語言代碼的解釋器來執(zhí)行它。

編譯一個a+求和程序

安微工處大學(xué)

③解釋與編譯

解釋編譯型。這種系統(tǒng)既有編譯器也有解釋器。如C#,Java語

言。這種系統(tǒng)的特點是:首先由編譯器把源程序翻譯成一種稱

之為中間語言代碼(也稱之為跨平臺語言代碼),以后由負(fù)責(zé)執(zhí)

行這種中間語言代碼的解釋器來執(zhí)行它。

3.4程序設(shè)計基礎(chǔ)

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>

?簡單程序設(shè)計

?程序中的數(shù)據(jù)描述

?程序設(shè)計方法

?程序測試

①簡單程序設(shè)計

程序的組成:

說明部分

程序體

數(shù)據(jù)

定義常量

#include<stdio.h>

#defineinchesPerFoot12

明#definecentimetersPerlnch2.54J

部、定義變量

intfeet,inches,lengthlnlnches;

floatcentimeters;卜,

輸出提示

main()

{printf(Hlnputvaluesintofeet&inchesindividually");

scanf(M%d%dM,\&feet&inches)j_[輸入

scanf(%d%d5&feet5&inches)5m

lengthininches=inchesPerFoot*feet+inches;

centimeters=centimetersPerlnch*lengthlnlnches;

printf(*Thelengthincentimetersis%f\n1,centimeters);

)

輸出數(shù)據(jù)

②程序中的數(shù)據(jù)描述

高級語言程序中的數(shù)據(jù)類型:

在程序運行中W曹^為

在程序運行中發(fā)生■稱為

擴展的數(shù)據(jù)類型:數(shù)組、指針、結(jié)構(gòu)體

高級語言程序中數(shù)據(jù)的處理方式:

,在源程序代碼中直接賦值或輸入輸出語句

通過文件系統(tǒng)實現(xiàn)

C語言程序的編輯、編譯、鏈接和執(zhí)行過程

程序設(shè)計步驟

明確要解決的問題,確定

編程目標(biāo);定義想得到

/的輸入/輸出數(shù)據(jù)等。

程序說明

使用程序設(shè)計方法設(shè)tl

個問題或任務(wù)的執(zhí)行方案

程序設(shè)計

使用計算機語言

書寫源程序

程序編碼

調(diào)試源程序,消除程

序的語法和邏輯錯誤。

測試程序?程序代碼文件

?程序說明文件

最終程序文件?用戶操作手冊

流程圖

N-S流程圖

偽代碼

④程序測試

書寫檢查

手工調(diào)試

編譯調(diào)試

采樣數(shù)據(jù)測試

用戶測試

本章拓展知識

?選擇法排序

?冒泡法排序

選擇法排序涌翠/也蹈*

包)x2x3x4x5x6x7x8x9xlO

比較一輪后記錄最小數(shù)所在下標(biāo)pj.

外循環(huán)進(jìn)行排列:i=0?n-2

內(nèi)循環(huán)找出本次最小數(shù)位置:j=i+l?nT

判斷條件:iWp{t=a[i];a[i]=a[p];a[p]=t;}

輸入:n個數(shù)

輸出:n個數(shù)(排序結(jié)果)

變量:a[10]tijp,n

((

+曰

+T(

d?

(〔

+H

+ca+

vd--

二lmM

〔p

I二pV5

—-

U+vuU

Had1)

VH

nO-J

IEpS0w

吊DJ

0ldlUPy

jI)H

H){d

do二O

9j

、J

O}

J

EQ堵

+x-l/W

:+「

■?歸

T比

i利

rC前

i£

o--

0-岫

o

n一P'

025

pN-融

)

J品OJX

U和

.ES曲

UJ?

ISe?

冒泡法排序題思路

將相鄰的兩個易赤

按要求將這兩個數(shù)排好序■

然后再兩兩進(jìn)行比較…依此類推■

直到最后兩個數(shù)比較并處理完成■

此時最大的數(shù)已換到最后一個位置

每進(jìn)行一輪,把剩下的數(shù)中最大的一個

移到最后的位置,共進(jìn)行nT輪。

算法的整體思路是讓大的數(shù)不斷往下沉,

小的數(shù)不斷地往上冒(冒泡排序法)。

inta[5]n=5

a[0]a[1]a[2]a[3]a[4]

第一輪13219032-1

13219032-1

13219032-1

13213290-1

第二輪132132-1

132132-1

132132-1

1321-1

第三輪<32)-13290

13<jJ)3290

第四輪疸二3)213290

-113213290

外循環(huán)進(jìn)行排列:n個數(shù),須n-1次

內(nèi)循環(huán):找出本次最大數(shù)j二1?n

冒泡排序的C程序_______________

「r定義變量和數(shù)組

main()

從鍵盤輸入10個數(shù)

inta[10],i,j,t,n=10給數(shù)組a[0]?a[9]

for(i=0;i<10;++i)

scanf("%cF,&a[i]);需要進(jìn)行n?1輪的比較排序

for(i=0;i<n-1;i++>—

{for(j=0;j<n-i-1;j++)一輪中,從頭開始對那座

if(a[j]>a[j+1])未排序的數(shù)據(jù)進(jìn)行相鄰的倆

{t=a[j];a[j]=a[j+1];a[j+1]=t;}個數(shù)比較,若前面的數(shù)大于

}.I其后的數(shù),就交換。

for(i=0;i<10;++i)i

n

printf(%d;\a[i]);(「輸出排序的結(jié)果數(shù)據(jù)

本講回顧

1、排序:

選擇排序、交換排序和插入排序

2、計算機語言分類:

機器語言、符號(匯編)語言、高級語言(面向過程)、面向?qū)ο笳Z言

3、計算機程序的執(zhí)行方式:

解釋型、編譯型、編譯解釋型

本講回顧

4、程序設(shè)計步驟

?程序說明

明確要解決的問題確定編程目標(biāo);定義想得到的輸入/輸出數(shù)據(jù)等。

?程序設(shè)計

使用程序設(shè)計方法設(shè)計一個問題或任務(wù)的執(zhí)行方案

?程序編碼

使用計算機語言書寫源程序

A測試程序

調(diào)試源程序,消除程序的語法和邏輯錯誤。

?最終程序文件

程序代碼文件

程序說明文件

用戶操作手冊

本講回顧

5、程序設(shè)計方法:

?程序結(jié)構(gòu)

順序繇、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

?程序設(shè)計的原則

自頂向下、逐步細(xì)化、模塊化設(shè)計

?程序流程圖

自然語言、流程圖、N-S流程圖、偽代碼

6、程序測試:

書寫檢查、手工調(diào)試、編譯調(diào)試、采樣數(shù)據(jù)測試、用戶測試

海一

AnhuiUniversityofTechnoto^y.(

本章作業(yè)

一、選擇題

1.算法可以沒有O

A)輸入B)輸出C)輸入和輸出D)結(jié)束

2.現(xiàn)代程序設(shè)計目標(biāo)主要是o

A)追求程序運行速度快B)追求程序行數(shù)少

C)既追求運行速度,又追求節(jié)省存儲空間

D)追求結(jié)構(gòu)清晰、可讀性強、易于分工合作編寫和調(diào)試

3.算法流程圖符號圓圈代表。

A)一個加工B)一個判斷C)程序開始D)連接點

4.下面不是高級語言。

A)匯編語言B)JAVA語言C)ARGOL語言D)PROLOG語言

5.面向?qū)ο蟪绦蛟O(shè)計中的類將數(shù)據(jù)和封裝在一起。

A)文件B)方法C)控制結(jié)構(gòu)D)程序

二、判斷題(正確打J錯誤打義)

1.結(jié)構(gòu)化程序設(shè)計的目標(biāo)是提高程序的運行效率。()

2.在三種基本結(jié)構(gòu)中,順序結(jié)構(gòu)是最基本的結(jié)構(gòu)。()

3.解釋性語言程序在運行后會保留一個機器代碼文件。()

4.C語言編譯系統(tǒng)屬于應(yīng)用軟件。()

5.面向?qū)ο蟪绦蚩珊唵蔚孛枋鰹椋撼绦?對象+消息。()

透小

本章作業(yè)

三、填空題

1.算法可以用、、等方法描述。

2.高級語言可分為型語言和型語言。

3.程序的基本控制結(jié)構(gòu)有、和。

4.算法的特性有:、、和。

5.評價算法的兩個指標(biāo)是:.

四、應(yīng)用題

1、使用流程圖表示求方程式ax2+bx+c=O的根,分別考慮d=b2-4ac大于0、

等于0和小于0三種情況。

2、根據(jù)列表:Alice、Byron、Carol、Duane、Elaine、Floyd、Gene、

Henry>Iris,回答下面問題:

a)哪種搜索方法(折半法或順序法)查找Gene更快?

b)哪種搜索方法(折半法或順序法)查找Alice更快?

c)如果用順序查找法查找日aine,會進(jìn)行多少次比較?如果用折半法查找呢?

五、上機實驗

1、利用講稿中的選擇法和冒泡排序程序,在TurboC或Visual

Basic開發(fā)工具中實際驗證。(2010年11月1日)

2、實際編寫程序輸出三個數(shù)市最大和最小兩個數(shù)。(2009年11月15日)

AnhuiUniversityofTechnoto4y.(

本章作業(yè)

五、上機實驗

3、用流程圖表達(dá)輸出下列圖形的算法,并編寫程序上機實際運行。

(2009年11月15日)

#

###

#####

#######

#########

###########

#############

B安徽工注大*_

Anhu?UniversityofTechnoto^y?,

TurboC上機操作具體步驟

單擊C:\tc目錄下的tcwxe或者單擊tcwxe的快捷方式既可打開tc

集成環(huán)境

AC語言程序的開發(fā)和運行

編輯——>編譯A連接---->運行

建立生成生成

執(zhí)行文件

源文件目標(biāo)文件執(zhí)行文件

file[.exe]

file?cfile.objfile.exe

安微工處大號

AnhutUntversttyofTechc

開發(fā)和運行c程序的步驟

1.啟動TC

2.編輯、建立源文件

3.編譯源程序

4.運行源程序

Anhu?UniversityofTechnoto4y.1

TurboC2.0環(huán)境介紹

Fl-HelpF5-ZoomF6-SwitchF7-TraceF8-StepF9-MakeF10-MICAPSNUM

Fl-HelF5-ZoomF6-SwitchF7-TraceF8-StepF9-MakeFlO-MenuNUM

繼續(xù)

MSTC-回兇

自動可口他博|畫A]因

繼續(xù)

安微工處大學(xué)

AnKuiUniversity編輯、建立源文件

文件菜單(File)

Load命令,裝入文件。

New命令,建立新文件。

Save命令,保存文件。

Writeto命令,寫文件(另存文件)。

Quit命令,退出TCo

文件擴展名默認(rèn)為.C。

繼續(xù)

MSTC

「靛一3口他|闿囹IA]因

繼續(xù)

安微工處大號

AnhvuLlntversttyofTechn編譯源程序

編譯菜單(Compile)

方式一:

Compileto.OBJ命令,將源文件編譯成目標(biāo)文件

(,obj)o

Link.EXEfile命令,連接庫文件(函數(shù))后,生

成可執(zhí)行文件(.exe)o

方式二:

Make.EXEfile命令,一次完成編譯、連接,直接

生成可執(zhí)行文件(.exe)o

繼續(xù)

自動可口他博|畫A]因

FileEditRunCompileProjectOptionsDebugBreak/watch

Edit=

Line8col5InsertIndentTabFillUnindentA:LI1-1.C

^include"math,h"

main()

{floata,b,c;

a=3.5;

b=-2.5;Compiling—

c=a+fabs(b);

printf("a+|b|Mainfile:A:\LI1-1.C

}Compiling:EDITOR?Lll-l.c

F

Total111

Linescompiled:116o16

Warnings:0o

Errors:0

Availablememory:281K

Success:Press

Message

Fl-HelpF5-ZoomF6-Sw1tchF7-TraceF8-StepF9-MakeFlO-Menu

繼續(xù)

繼續(xù)

x

四回囹|囹回A|漢I

EditRunComectOptionsDebuBreak/watch

=Edit=

Line8Col5InsertIndentTabFillUnindentA:LI1-1.C

^include"math.h"

main()

{floata,b,

a=3.5;

b=-2.5;Linking

c=a+fabs(b);

printf("a+|b|=EXEfile:LI1-1.EXE

}Linking:LIB\CS.LIB

TotalLink

Linescompiled:0PASS2

Warnings:00

Errors:00

Availablememory:281K

SuccessPressanykey

Message

?CompilingA:\LI1-1.C:

Fl-HelpF5-ZoomF6-Sw1tchF7-TraceF8-StepF9-MakeFlO-Menu

繼續(xù)

安童工處大辱

Anhu*UniversityofTechnology

...13,—=aa-、-

1aMM10MMM1M運行源程序

運行菜單(Run)

Run命令,運行程序。

UserScreen命令,查看程序結(jié)果。

MSTC-g|x|

自動可口他博|畫A]因

FileEditRunCompileProject_OptionsDebugBreak/watch

Line8RunCtrl-F9bFillUnindentA:Lll-l.c

^include"matProgramresetCtrl-F2

main()GotocursorF4

{floata,bTraceintoF7

a=3.5;stepoverF8

b=-2.5;UserscreenAlt-F5

c=a+fabs(b)|E

printf("a+|b|=%f\n",c);

}

運行程序

Message

?LinkingC:\TC\LI1-1.EXE:

Fl-HelF5-ZoomF6-SwitchF7-TraceF8-SteF9-MakeFlO-Menu

溫馨提示

  • 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

提交評論