版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
安微工處大學(xué)....
AnhutUniversityofTechnology.g
基礎(chǔ)篇
本章拓展知識(shí)
3.1概述
'^\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz
?計(jì)算機(jī)語言
?程序
?算法
①計(jì)算機(jī)語言
計(jì)算機(jī)語言就是計(jì)算機(jī)能讀懂的語言,早期
的計(jì)算機(jī)語言叫機(jī)器語言。
②程序計(jì)算機(jī)程序,就是指揮計(jì)算機(jī)按一定的
動(dòng)作步驟完成指定任務(wù)的一系列命令。
例3.1打印一個(gè)由符號(hào)“"組成的倒三角圖形的程序。
*******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é)束時(shí)換行
*
③算法
算法可以理解為是完成一項(xiàng)工
作的步驟集合。
例32烹飪菜譜。例3.3操作說明。
櫻桃肉1,將食物放入爐內(nèi)
主料:牛里脊肉.雞蛋
配料:淀粉.蔥.姜?蒜.白糖?醬油.番茄醬
-3.輸入烹調(diào)/再加熱
時(shí)間
2.選擇微波火力
做法:例如.12分30秒
技微波火力%
1.里脊肉切塊,用蛋清淀粉攪勻.?操10?U?10?
1次高火100%
2.油溫五成熱時(shí)放入肉塊滑熟備用作,'I
按1次投2次按3次
3.用醬油.白糖.醋.水淀粉.高湯調(diào)汁.2次中高火80%
步(最大設(shè)定時(shí)間為99分90秒.
3次中火60%
4.起鍋下蔥.姜.蒜末炮鍋后放番茄醬,高火為29分90秒或30分
再放肉,最后倒汁.?驟4次中低火40%
5次低火20%一4按
顯示窗上將倒數(shù)計(jì)時(shí).
計(jì)算機(jī)語言、算法和程序
>算法在描述上一般使用半形式化的語言,而程
序是用形式化的計(jì)算機(jī)語言描述的;
>算法對(duì)問題求解過程的描述可以比程序粗略,
算法經(jīng)過細(xì)化以后可以得到計(jì)算機(jī)程序。
>一個(gè)計(jì)算機(jī)程序是一個(gè)算法的計(jì)算機(jī)語言表
述,而執(zhí)行一個(gè)程序就是執(zhí)行一個(gè)用計(jì)算機(jī)語
言表述的算法。
3.2算法
kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz
?算法的基本概念
?算法的表示
?算法應(yīng)用示例
①算法的基本概念
>算法定義
>算法特性
>算法評(píng)價(jià)
>算法與計(jì)算機(jī)程序
算法定義
▲算法是一組明確的、有序的、可以執(zhí)行
的步驟集合。
▲算法的概念要求步驟集是有序的,這就
要求算法中的各個(gè)步驟必須擁有定義完好
的、順序執(zhí)行的結(jié)構(gòu)。
算法特性一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束
算法評(píng)價(jià)
算法的正確性
一個(gè)算法在計(jì)算機(jī)上運(yùn)行所花費(fèi)的時(shí)間
在存儲(chǔ)器上所占用的存儲(chǔ)空間(主要考慮在
算法運(yùn)行過程中臨時(shí)占用的存儲(chǔ)空間的大?。?/p>
算法的易讀性
算法與計(jì)算機(jī)程序
算法是行為的說明,是一組邏輯步驟。
計(jì)算機(jī)程序是算法的一種表示,是使用一些特
殊編程語言表達(dá)的某些算法。可能有幾種不同
的計(jì)算機(jī)程序,每一種用不同的編程語言實(shí)
現(xiàn),但遵循的邏輯步驟是相同的。它們都表達(dá)
同樣的算法,但是它們不是同樣的程序。
②算法的表示
用自然語言表示
用流程圖表示
用N-S流程圖表示
用偽代碼表示
用計(jì)算機(jī)語言表示
流程圖
流程圖是通過箭頭相互連接的幾何圖
形來表達(dá)的方法。
[■起止框
ANSI規(guī)定]■1^r輸入輸出框
的一些常
用流直圖匚,J
判斷框
符號(hào)。/\
■處理框
流程線
N-S流程圖
一種流程圖形式,在這種流程圖中完全去掉了
流程線,全部算法寫在一個(gè)矩形框內(nèi).
順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)
WhileP1
YesNo
UntilP2
偽代碼
-偽代碼是一種描述語言。
-它只是一種描述程序執(zhí)行過程的工
具,是面向讀者的,不能直接用于計(jì)算
機(jī),實(shí)際使用時(shí)還需轉(zhuǎn)換成某種計(jì)算機(jī)
語言來表示。
例如:計(jì)算1+2+3+....+9+10
Sum=0
n=l
While(n<=l2偽碼是一種在程序
設(shè)計(jì)過程中表達(dá)想
Begin
sum=sum+n法的非正式的符號(hào)
n=n+l?系統(tǒng)
end
printSum
描述計(jì)算1+2+3+….+9+10算法的偽代碼
描述計(jì)算1+2+3+.…+9+10算法的流程圖
例3.4由函數(shù)式v=x2-2x+3計(jì)算
當(dāng)x=0,1,234,5所對(duì)應(yīng)的y值
?用自然語言描述
?用流程圖表示
■用N-S圖表示
?用C語言表示
?用自然語言描述y=x2-2x+3
當(dāng)X=0515253,4,5計(jì)算對(duì)應(yīng)的y值
1.置x的下界為Q
2.置x的上界為n=5;
3.當(dāng)xWc時(shí),重復(fù)執(zhí)行如下3步,
否則算法停止。
用公式計(jì)算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中錄有外語。
請(qǐng)將兩盤磁帶中的內(nèi)容交換。
算法分析:
要交換磁帶A與磁帶B的內(nèi)容必須借
助第三盤磁帶。過程如下:
步驟一:準(zhǔn)備空白磁帶Temp;
步驟二:將A盤磁帶中的音樂轉(zhuǎn)錄
至“Temp;
步驟三:將B盤磁帶中的英語錄入A
中.
步驟加:將Temp盤中的音樂錄入B
盤中。
【例題3-61從鍵盤輸入兩個(gè)數(shù),輸出最大的一個(gè)數(shù)。
算法分析:
要完成題目的任務(wù),分別用于保存兩個(gè)整數(shù)的符號(hào)名稱a和b,
稱為變量。用于存放兩個(gè)數(shù)中最大一個(gè)的符號(hào)名稱max稱為中
間變量。過程如下:
步驟一:輸入兩個(gè)整數(shù)到a,b;
步驟二:比較a和b;
步驟三:如果a>b,則將a中的數(shù)據(jù)保存到max中;
步驟四:如果avb,則將b中的數(shù)據(jù)保存到max中;
步驟五:打印max。
從鍵盤輸入兩個(gè)數(shù),輸出其中最大數(shù)的流程圖
【例題3-7】口令檢查。當(dāng)用戶輸入口令正確時(shí),打印“你
是合法用戶!'當(dāng)口令不正確時(shí),提示用戶重新輸入,當(dāng)
輸入口令次數(shù)超過三次,而且不正確時(shí)結(jié)束程序。
算法分析
步驟一:提示用戶輸入一個(gè)口令;
步驟二:如果口令正確,貝!J打“你是合法用戶!
步驟三:如果口令不正確,貝!]打E|1"你的口令不正確!咒
步驟四:如果輸入口令次數(shù)超過三次,輸出“你是非法用戶”,結(jié)
束程序;否則返回步驟一。
查找
直找就是根據(jù)給定的值,在一組數(shù)據(jù)中確定一個(gè)
其數(shù)值等于給定值的數(shù)據(jù)元素,若存在這樣的數(shù)據(jù)
元素說明查找是成功的,否則查找是不成功的。
查找的方法:一般分為順序查找、折半查找和樹表
查找。
順序查找的基本思想:在n個(gè)元素的集合中,從第一個(gè)元素
開始,逐個(gè)把元素的關(guān)鍵字值同給定值比較,若某個(gè)元素的關(guān)鍵字
值和給定值相等,則查找成功;否則,若直至第n個(gè)值都不相等,
說明不存在滿足條件的元素,查找失敗。順序查找法的平均查找長(zhǎng)
度是n/2。
二分查找的基本思想:首先排序表中的數(shù)據(jù)元素,然
后與列表“中間位置”的元素比較,若相等則查找成功;若
給定值大于“中間位置”的元素值,則在后半部繼續(xù)進(jìn)行折
半查找;否則在前半部進(jìn)行折半查找。
【例題3-8】已知一個(gè)人員名字列表{Marry,Ann,Kelly,
Black,Carol,David,John,Hanrry,Fred,Elaine,Oliver,
George,Irene,Larry,Nancy}o橫用順序查找法,找出
John0
算法分析
步驟一從列表的第一項(xiàng)開始。
步驟二要查找的值John與列表中關(guān)鍵字的值進(jìn)行比較是否相同
a)如果不相同且該項(xiàng)是列表中的最后一項(xiàng),執(zhí)行步驟四(結(jié)束);
b)如果不相同且該項(xiàng)不是列表中的最后一項(xiàng),則順序比蚊下一項(xiàng),
執(zhí)行步驟二;
c)如果相同,則執(zhí)行步驟三;
步驟三打印查找到的John
步驟四結(jié)束
找出John需要順序比較這個(gè)人員名字列表中的元素7次。查
找Marry僅需要比較1次,而查找Nancy確需要比較15次。
平均查找長(zhǎng)度為7。
上講回顧
,算法
1、定義:
一組明確、有序、可以執(zhí)行的處理問題步驟集合。
2、算法特性:
有窮性
確切性
20個(gè)輸入
21個(gè)輸出
有效性(可行性)
上講回顧
3、算法評(píng)價(jià)指標(biāo):
正確性
時(shí)間復(fù)雜度
空間復(fù)雜度
易讀性
4、算法的常用表達(dá)工具:
自然語言
流程圖
N-S流程圖
偽代碼
計(jì)算機(jī)語言
5、基本算法結(jié)構(gòu)
順序
選擇(分支)
循環(huán)
6、查找的類型:
樹表查找
散列查找
順序查找
二分查找
二分查找的前提條件(被查找的一組數(shù)據(jù)已經(jīng)有序)
我E序
基本排序算法有?.選擇排序、交換排序和插入排序
直接選擇排序的基本思想:
掃描整個(gè)序列,從中選出最小的元素,將它交換到序列
的最前面;然后對(duì)剩下的序列采用同樣的方法,直到未
排序序列空為止。對(duì)于長(zhǎng)度為n的序列,選擇排序需要掃
描n-1遍,每一遍掃描均從剩下的子序列中選出最小的元
素,然后將該最小的元素與子序列中的第一個(gè)元素進(jìn)行
交換。
原序列8921564885161947
第1遍選擇8921564885161947
第2遍選擇1621564885891947
第3遍選擇1619564885892147
第4遍選擇1619214885895647
第5遍選擇1619214785895648
第6遍選擇1619214748895685
第7遍選擇1619214748568985
1619214748568589
3.2編程語言
'JkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz
?計(jì)算機(jī)語言
?解釋與編譯
①計(jì)算機(jī)語言
機(jī)器語言
FORTRAN
BASIC
COBOL
PASCAL
C/C++
c#
JAVA
計(jì)算機(jī)語言的發(fā)展
計(jì)算機(jī)語言分類
L機(jī)器語言
由0、1代碼組成,能被計(jì)算機(jī)直接識(shí)別和執(zhí)行的指令集合。
特點(diǎn):占用空間小、執(zhí)行速度快,不易學(xué)習(xí)和修改
不同類型機(jī)器的指令系統(tǒng)(機(jī)器語言)不同,通用性差
2.匯編語言(符號(hào)語言)
用助記符代替機(jī)器語言中的指令和數(shù)據(jù)
特點(diǎn):易修改,保持了速度快,占用空間小的特點(diǎn)
不同類型機(jī)器的匯編語言不同
3.高級(jí)語言
由貼近自然語言的“詞”和“數(shù)學(xué)公式”組成
特點(diǎn),易學(xué)、易讀,易修改,通用性好,不依賴于機(jī)器
?具有很強(qiáng)的通用性和可移植性
4.面向?qū)ο蟮恼Z言---面向?qū)ο蟮恼Z言應(yīng)該是高級(jí)
語言一個(gè)分支.是最活躍的高級(jí)語言,它的應(yīng)用價(jià)值
非常高。
特點(diǎn):點(diǎn)繼承了面向過程的高級(jí)語言的合理部分:結(jié)
構(gòu)化程序設(shè)計(jì)、模塊化、并行處理等,克服了數(shù)據(jù)
與對(duì)數(shù)據(jù)的處理(代碼)分離的弊端,代表了新穎
的程序設(shè)計(jì)思維方法。
典型的面向?qū)ο蟮恼Z言有:C++、C#、PB、
VB、VC、Delphi、Java、.Net等等。
主要計(jì)算機(jī)語言
?C語言M
1972年至1973間由AT&T公司Bell實(shí)驗(yàn)室的D.M.Ritchie
在BCPL語言基礎(chǔ)上設(shè)計(jì)而成的,著名的UNIX操作系統(tǒng)就是用
C語言編寫的。
?特點(diǎn):
語言與運(yùn)行支撐環(huán)境分離、可移植性好、語言規(guī)模小因而
相對(duì)簡(jiǎn)單、具有指針類型等,C語言本身簡(jiǎn)潔、高度靈活、程
序運(yùn)行效率高。此外,在C語言中,有不少操作直接對(duì)應(yīng)實(shí)際
機(jī)器所執(zhí)行的動(dòng)作,并在許多場(chǎng)合可以代替匯編語言。
主要計(jì)算機(jī)語言
」C++語言
以C語言為基礎(chǔ)發(fā)展起來的通用程序設(shè)計(jì)語言。C++內(nèi)
置面向?qū)ο蟮臋C(jī)制,支持?jǐn)?shù)據(jù)抽象。最先由Bell實(shí)驗(yàn)室的
B.stroustrup在1980年代設(shè)計(jì)并實(shí)現(xiàn),至今仍在不斷發(fā)展。
」C++語言是對(duì)C語言的擴(kuò)充,擴(kuò)充的內(nèi)容絕大部分來自其他
著名語言(如Simula、ALG0L68、Ada等)的最佳特性。由
于C++語言既有數(shù)據(jù)抽象和面向?qū)ο竽芰Γ\(yùn)行性能高,
又能與C語言相兼容,使得數(shù)量巨大的C語言程序能方便地
在C++語言環(huán)境中重用。
②解釋與編譯
解釋方式依賴于名為解釋器的程序,利用它解釋和執(zhí)行
高級(jí)語言程序中的語句。解釋器一次讀一條語句,然后
立即翻譯并執(zhí)行每一條語句。
編譯方式依賴于名為編譯器的程序,當(dāng)用戶將高級(jí)語
言編寫的源程序輸入計(jì)算機(jī)后,編譯器便把源程序整
個(gè)地翻譯成用機(jī)器語言表示的與之等價(jià)的機(jī)器語言程
序,然后再由計(jì)算機(jī)執(zhí)行該機(jī)器語言程序。
編譯器和解釋器是兩種語言處理程序,編譯程序與解
釋程序最大的區(qū)別之一在于前者生成目標(biāo)代碼,而后
者不生成。
解釋編譯方式。這種系統(tǒng)既有編譯器也有解釋器。如C#,Java
語言。這種系統(tǒng)的特點(diǎn)是:首先由編譯器把源程序翻譯成一種
稱之為中間語言代碼(也稱之為跨平臺(tái)語言代碼),以后由負(fù)責(zé)
執(zhí)行這種中間語言代碼的解釋器來執(zhí)行它。
編譯一個(gè)a+求和程序
安微工處大學(xué)
③解釋與編譯
解釋編譯型。這種系統(tǒng)既有編譯器也有解釋器。如C#,Java語
言。這種系統(tǒng)的特點(diǎn)是:首先由編譯器把源程序翻譯成一種稱
之為中間語言代碼(也稱之為跨平臺(tái)語言代碼),以后由負(fù)責(zé)執(zhí)
行這種中間語言代碼的解釋器來執(zhí)行它。
3.4程序設(shè)計(jì)基礎(chǔ)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>
?簡(jiǎn)單程序設(shè)計(jì)
?程序中的數(shù)據(jù)描述
?程序設(shè)計(jì)方法
?程序測(cè)試
①簡(jiǎn)單程序設(shè)計(jì)
程序的組成:
說明部分
程序體
數(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ù)描述
高級(jí)語言程序中的數(shù)據(jù)類型:
在程序運(yùn)行中W曹^為
在程序運(yùn)行中發(fā)生■稱為
擴(kuò)展的數(shù)據(jù)類型:數(shù)組、指針、結(jié)構(gòu)體
高級(jí)語言程序中數(shù)據(jù)的處理方式:
,在源程序代碼中直接賦值或輸入輸出語句
通過文件系統(tǒng)實(shí)現(xiàn)
C語言程序的編輯、編譯、鏈接和執(zhí)行過程
程序設(shè)計(jì)步驟
明確要解決的問題,確定
編程目標(biāo);定義想得到
/的輸入/輸出數(shù)據(jù)等。
程序說明
使用程序設(shè)計(jì)方法設(shè)tl
個(gè)問題或任務(wù)的執(zhí)行方案
程序設(shè)計(jì)
使用計(jì)算機(jī)語言
書寫源程序
程序編碼
調(diào)試源程序,消除程
序的語法和邏輯錯(cuò)誤。
測(cè)試程序?程序代碼文件
?程序說明文件
最終程序文件?用戶操作手冊(cè)
流程圖
N-S流程圖
偽代碼
④程序測(cè)試
書寫檢查
手工調(diào)試
編譯調(diào)試
采樣數(shù)據(jù)測(cè)試
用戶測(cè)試
本章拓展知識(shí)
?選擇法排序
?冒泡法排序
選擇法排序涌翠/也蹈*
包)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個(gè)數(shù)
輸出:n個(gè)數(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?
冒泡法排序題思路
將相鄰的兩個(gè)易赤
按要求將這兩個(gè)數(shù)排好序■
然后再兩兩進(jìn)行比較…依此類推■
直到最后兩個(gè)數(shù)比較并處理完成■
此時(shí)最大的數(shù)已換到最后一個(gè)位置
每進(jìn)行一輪,把剩下的數(shù)中最大的一個(gè)
移到最后的位置,共進(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個(gè)數(shù),須n-1次
內(nèi)循環(huán):找出本次最大數(shù)j二1?n
冒泡排序的C程序_______________
「r定義變量和數(shù)組
main()
從鍵盤輸入10個(gè)數(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++)一輪中,從頭開始對(duì)那座
if(a[j]>a[j+1])未排序的數(shù)據(jù)進(jìn)行相鄰的倆
{t=a[j];a[j]=a[j+1];a[j+1]=t;}個(gè)數(shù)比較,若前面的數(shù)大于
}.I其后的數(shù),就交換。
for(i=0;i<10;++i)i
n
printf(%d;\a[i]);(「輸出排序的結(jié)果數(shù)據(jù)
本講回顧
1、排序:
選擇排序、交換排序和插入排序
2、計(jì)算機(jī)語言分類:
機(jī)器語言、符號(hào)(匯編)語言、高級(jí)語言(面向過程)、面向?qū)ο笳Z言
3、計(jì)算機(jī)程序的執(zhí)行方式:
解釋型、編譯型、編譯解釋型
本講回顧
4、程序設(shè)計(jì)步驟
?程序說明
明確要解決的問題確定編程目標(biāo);定義想得到的輸入/輸出數(shù)據(jù)等。
?程序設(shè)計(jì)
使用程序設(shè)計(jì)方法設(shè)計(jì)一個(gè)問題或任務(wù)的執(zhí)行方案
?程序編碼
使用計(jì)算機(jī)語言書寫源程序
A測(cè)試程序
調(diào)試源程序,消除程序的語法和邏輯錯(cuò)誤。
?最終程序文件
程序代碼文件
程序說明文件
用戶操作手冊(cè)
本講回顧
5、程序設(shè)計(jì)方法:
?程序結(jié)構(gòu)
順序繇、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
?程序設(shè)計(jì)的原則
自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)
?程序流程圖
自然語言、流程圖、N-S流程圖、偽代碼
6、程序測(cè)試:
書寫檢查、手工調(diào)試、編譯調(diào)試、采樣數(shù)據(jù)測(cè)試、用戶測(cè)試
海一
AnhuiUniversityofTechnoto^y.(
本章作業(yè)
一、選擇題
1.算法可以沒有O
A)輸入B)輸出C)輸入和輸出D)結(jié)束
2.現(xiàn)代程序設(shè)計(jì)目標(biāo)主要是o
A)追求程序運(yùn)行速度快B)追求程序行數(shù)少
C)既追求運(yùn)行速度,又追求節(jié)省存儲(chǔ)空間
D)追求結(jié)構(gòu)清晰、可讀性強(qiáng)、易于分工合作編寫和調(diào)試
3.算法流程圖符號(hào)圓圈代表。
A)一個(gè)加工B)一個(gè)判斷C)程序開始D)連接點(diǎn)
4.下面不是高級(jí)語言。
A)匯編語言B)JAVA語言C)ARGOL語言D)PROLOG語言
5.面向?qū)ο蟪绦蛟O(shè)計(jì)中的類將數(shù)據(jù)和封裝在一起。
A)文件B)方法C)控制結(jié)構(gòu)D)程序
二、判斷題(正確打J錯(cuò)誤打義)
1.結(jié)構(gòu)化程序設(shè)計(jì)的目標(biāo)是提高程序的運(yùn)行效率。()
2.在三種基本結(jié)構(gòu)中,順序結(jié)構(gòu)是最基本的結(jié)構(gòu)。()
3.解釋性語言程序在運(yùn)行后會(huì)保留一個(gè)機(jī)器代碼文件。()
4.C語言編譯系統(tǒng)屬于應(yīng)用軟件。()
5.面向?qū)ο蟪绦蚩珊?jiǎn)單地描述為:程序=對(duì)象+消息。()
透小
本章作業(yè)
三、填空題
1.算法可以用、、等方法描述。
2.高級(jí)語言可分為型語言和型語言。
3.程序的基本控制結(jié)構(gòu)有、和。
4.算法的特性有:、、和。
5.評(píng)價(jià)算法的兩個(gè)指標(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,會(huì)進(jìn)行多少次比較?如果用折半法查找呢?
五、上機(jī)實(shí)驗(yàn)
1、利用講稿中的選擇法和冒泡排序程序,在TurboC或Visual
Basic開發(fā)工具中實(shí)際驗(yàn)證。(2010年11月1日)
2、實(shí)際編寫程序輸出三個(gè)數(shù)市最大和最小兩個(gè)數(shù)。(2009年11月15日)
AnhuiUniversityofTechnoto4y.(
本章作業(yè)
五、上機(jī)實(shí)驗(yàn)
3、用流程圖表達(dá)輸出下列圖形的算法,并編寫程序上機(jī)實(shí)際運(yùn)行。
(2009年11月15日)
#
###
#####
#######
#########
###########
#############
B安徽工注大*_
Anhu?UniversityofTechnoto^y?,
TurboC上機(jī)操作具體步驟
單擊C:\tc目錄下的tcwxe或者單擊tcwxe的快捷方式既可打開tc
集成環(huán)境
AC語言程序的開發(fā)和運(yùn)行
編輯——>編譯A連接---->運(yùn)行
建立生成生成
執(zhí)行文件
源文件目標(biāo)文件執(zhí)行文件
file[.exe]
file?cfile.objfile.exe
安微工處大號(hào)
AnhutUntversttyofTechc
開發(fā)和運(yùn)行c程序的步驟
1.啟動(dòng)TC
2.編輯、建立源文件
3.編譯源程序
4.運(yùn)行源程序
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-回兇
自動(dòng)可口他博|畫A]因
繼續(xù)
繼
安微工處大學(xué)
AnKuiUniversity編輯、建立源文件
文件菜單(File)
Load命令,裝入文件。
New命令,建立新文件。
Save命令,保存文件。
Writeto命令,寫文件(另存文件)。
Quit命令,退出TCo
文件擴(kuò)展名默認(rèn)為.C。
繼續(xù)
MSTC
「靛一3口他|闿囹IA]因
繼續(xù)
安微工處大號(hào)
AnhvuLlntversttyofTechn編譯源程序
編譯菜單(Compile)
方式一:
Compileto.OBJ命令,將源文件編譯成目標(biāo)文件
(,obj)o
Link.EXEfile命令,連接庫文件(函數(shù))后,生
成可執(zhí)行文件(.exe)o
方式二:
Make.EXEfile命令,一次完成編譯、連接,直接
生成可執(zhí)行文件(.exe)o
繼續(xù)
自動(dòng)可口他博|畫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運(yùn)行源程序
運(yùn)行菜單(Run)
Run命令,運(yùn)行程序。
UserScreen命令,查看程序結(jié)果。
MSTC-g|x|
自動(dòng)可口他博|畫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);
}
運(yùn)行程序
Message
?LinkingC:\TC\LI1-1.EXE:
Fl-HelF5-ZoomF6-SwitchF7-TraceF8-SteF9-MakeFlO-Menu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)匯編十篇
- 單位管理制度展示匯編職工管理篇十篇
- 單位管理制度展示大全人員管理篇十篇
- 智慧農(nóng)貿(mào)冷鏈物流基地項(xiàng)目可行性研究報(bào)告模板立項(xiàng)審批
- 單位管理制度收錄大合集職員管理十篇
- 博物館對(duì)外文標(biāo)識(shí)統(tǒng)一規(guī)范自查報(bào)告
- 2022年甘肅省武威市中考模擬英語試題(解析版)
- 2019-2025年中國葡萄籽行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 巴彥淖爾精密塑料制品項(xiàng)目可行性研究報(bào)告
- 土木工程專業(yè)實(shí)習(xí)報(bào)告5000字范文
- 《中國大熊貓》課件大綱
- 大學(xué)生醫(yī)療創(chuàng)新創(chuàng)業(yè)
- 新課標(biāo)背景下的大單元教學(xué)研究:國內(nèi)外大單元教學(xué)發(fā)展與演進(jìn)綜述
- 危險(xiǎn)化學(xué)品無倉儲(chǔ)經(jīng)營單位生產(chǎn)安全事故應(yīng)急救援預(yù)案(新導(dǎo)則版)
- MOOC 企業(yè)內(nèi)部控制-山西省財(cái)政稅務(wù)??茖W(xué)校 中國大學(xué)慕課答案
- 質(zhì)量管理體系知識(shí)培訓(xùn)課件
- (正式版)HGT 4339-2024 機(jī)械設(shè)備用涂料
- 人機(jī)交互技術(shù)智慧樹知到期末考試答案2024年
- 2024年醫(yī)療器械銷售總結(jié)
- 基于物聯(lián)網(wǎng)的支護(hù)機(jī)械遠(yuǎn)程監(jiān)控系統(tǒng)
- GB/T 144-2024原木檢驗(yàn)
評(píng)論
0/150
提交評(píng)論