freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

delphi課程設(shè)計(jì)-wenkub

2022-09-01 08:41:48 本頁(yè)面
 

【正文】 。所以,即使不是幾何學(xué)的問(wèn)題,如果我們能給出適當(dāng)?shù)膸缀螆D形表示,也會(huì)使問(wèn)題變得容易處理。使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語(yǔ)言(如 Delphi、 C、Java等)實(shí)現(xiàn)。Delphi程序設(shè)計(jì) 第 5章 算法與數(shù)據(jù)結(jié)構(gòu) 本章先概括性地介紹算法的基礎(chǔ)知識(shí),然后講解 Delphi中較復(fù)雜的數(shù)據(jù)類型,并結(jié)合數(shù)據(jù)類型剖析一些典型算法的程序?qū)崿F(xiàn)。因此,偽代碼必須結(jié)構(gòu)清晰,代碼簡(jiǎn)單,可讀性好,并且類似自然語(yǔ)言。程序設(shè)計(jì)中,能夠用來(lái)表示算法基本概念的圖主要有: PAD圖、 N\S盒圖、流程圖。 PAD使用二維樹(shù)型結(jié)構(gòu)圖描述程序的邏輯,它的控制構(gòu)造主要是基于 Pascal的。它使用框圖的形式掩蓋了算法所有的細(xì)節(jié)方面,它只顯示算法從開(kāi)始到結(jié)束的整個(gè)流程。 Delphi程序設(shè)計(jì) 常用算法 2. 排序算法 ? 排序算法根據(jù)數(shù)據(jù)的值對(duì)它們進(jìn)行排列。 Delphi程序設(shè)計(jì) 常用算法 3. 查找算法 ? 查找是一種在列表( list)中確定目標(biāo)所在位置的算法。 Delphi程序設(shè)計(jì) 常用算法 4. 迭代和遞歸算法 迭代和遞歸是用于編寫(xiě)解決問(wèn)題的算法的兩種途徑。 Delphi程序設(shè)計(jì) 算法復(fù)雜性分析 * 算法的復(fù)雜性是指:在執(zhí)行時(shí),算法所需要計(jì)算機(jī)資源的量。它是一種抽象的描述方式,并不是指與算法實(shí)現(xiàn)效率有關(guān)的算法執(zhí)行時(shí)間,而是指理論上與問(wèn)題規(guī)模、算法輸入及算法本身相關(guān)的某些操作次數(shù)的總和,通常記為 T(n)。下面介紹兩種求解方案:遞推和遞歸。 var F:array of integer。 F[2]:=1。 end。請(qǐng)輸入 Fibonacci數(shù)列的值: 39。 writeln(39。 end. Delphi程序設(shè)計(jì) 算法復(fù)雜性分析 * ( 2) 遞歸 遞歸在數(shù)學(xué)和計(jì)算機(jī)中經(jīng)常遇到。 function FIB(N:integer):integer。 outCome:integer。 readln(x)。, outCome)。集合類型的定義方法: set of BaseType Delphi程序設(shè)計(jì) 集合 例: type Tint=0..100。 Delphi程序設(shè)計(jì) 關(guān)系運(yùn)算 用 in運(yùn)算符來(lái)判斷一個(gè)給定的元素是否在一個(gè)集合中,下面的代碼判斷在前面所定義的集合 T1中是否有 80: if (80 in T1) then DoSomeThing //繼續(xù)運(yùn)行 下面的代碼判斷在 TDate中是否有集合元素 Mon: if not (Mon in TDate) then DoSomeThing //繼續(xù)運(yùn)行 Delphi程序設(shè)計(jì) 增刪元素 用+、 — 運(yùn)算符或 Include和 Exclude過(guò)程,可以對(duì)一個(gè)集合變量增刪元素,例如: Charset : TChar。 //在集合中增加 2 。 //在集合中刪除 39。//刪除 39。 Delphi程序設(shè)計(jì) 交集運(yùn)算 Delphi中用 *運(yùn)算符來(lái)計(jì)算兩個(gè)集合的交集,表達(dá)式Set1*Set2的運(yùn)算結(jié)果是產(chǎn)生出 Set1和 Set2這兩個(gè)集合中都存在的元素,下面的例子用來(lái)判斷在一個(gè)給定的集合中是否有 39。、 39。根據(jù)數(shù)組的分配方式可將數(shù)組分為:靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組。根據(jù)索引類型的個(gè)數(shù),又可以將數(shù)組分為一維數(shù)組和多維數(shù)組。 注:如果創(chuàng)建了一個(gè)靜態(tài)數(shù)組而未給其賦值,那么系統(tǒng)仍然會(huì)給未使用的元素分配內(nèi)存并且包含了隨機(jī)數(shù)據(jù)。 上述聲明等價(jià)于: Type TMyArray= array[1..10,1..10] of real。 Var array1,array2:TMyArray。 可以用 array1:=array2這條語(yǔ)句將 array2每個(gè)元素的值都賦給 array1。但是可以通過(guò)逐個(gè)元素的賦值使得數(shù)組類型一致,因?yàn)樗鼈? 的基類是賦值相容的。其語(yǔ)法如下: SetLength(數(shù)組名,數(shù)組元素個(gè)數(shù) ) Delphi程序設(shè)計(jì) 動(dòng)態(tài)數(shù)組 ? ( 1)一維動(dòng)態(tài)數(shù)組 Type TmyArray= array of Real。 它要求系統(tǒng)在內(nèi)存中分配一個(gè)擁有 50個(gè)實(shí)數(shù)類型元素的空間,此 數(shù)組的索引為 0~ 49。 A[0]:=1。 如果 A和 B是同一動(dòng)態(tài)數(shù)組類型的變量,那么 B:=A執(zhí)行的操作是 把 A指向與 B相同的數(shù)組(不需要在執(zhí)行操作之前為 B分配內(nèi)存)。 Var myArray: TmyArray 。 Delphi程序設(shè)計(jì) 排序 由于數(shù)組中存有同一數(shù)據(jù)類型的數(shù)據(jù),而有時(shí)為了更有效地使用數(shù)組,就需要對(duì)數(shù)組中的元素進(jìn)行排序,使其按一定的順序排列好,比如按關(guān)鍵字的值從小到大排序。這種方法的基本思想是,將待排序的元素看作是豎著排列的“ 氣泡 ” ,較小的元素比較輕,從而要往上浮。 //冒泡排序過(guò)程 ? var ? i,j,temp:integer。 ? end。 //a=(2,5,3,8,7,6,9,10,49,25)。 a[4]:=8。 a[8]:=10。 ? showmessage(39。+inttostr(a[2])+39。+inttostr(a[4]) ? +39。+inttostr(a[6])+39。+inttostr(a[8])+39。+inttostr(a[10]))。我們稱這種重新整理叫做劃分, u稱為劃分元素。 Delphi程序設(shè)計(jì) 查找 1. 順序查找 順序查找方法很簡(jiǎn)單,就是將要查找的數(shù)據(jù)的關(guān)鍵字按一定的順序挨個(gè)與數(shù)組中的數(shù)據(jù)進(jìn)行比較,相等時(shí)就找到了所要的數(shù)據(jù)。這人聽(tīng)后知道他們?cè)陂_(kāi)玩笑,全是假話。這人聽(tīng)后知道他們?cè)陂_(kāi)玩笑,全是假話。因此,在調(diào)用這個(gè)過(guò)程或函數(shù)時(shí),可以傳遞不同長(zhǎng)度的數(shù)組作為實(shí)參。要定義含有變體開(kāi)放數(shù)組參數(shù)的過(guò)程或函數(shù),需要參數(shù)類型指定為 array of const。用戶使用抽象數(shù)據(jù)類型時(shí)不需要知道數(shù)據(jù)結(jié)構(gòu)。對(duì)于基本數(shù)據(jù)類型,一般都內(nèi)建于高級(jí)程序設(shè)計(jì)語(yǔ)言中,無(wú)需另外聲明或定義。線性列表可以通過(guò)鏈表來(lái)實(shí)現(xiàn)。 Delphi程序設(shè)計(jì) 鏈表 2. 鏈表的應(yīng)用 鏈表在編程中的應(yīng)用主要在于管理大量的字符串、數(shù)值、對(duì)象等,就其操作的便利性而言往往可以取代動(dòng)態(tài)數(shù)組(數(shù)組不可取代的優(yōu)勢(shì)在于維數(shù)的擴(kuò)展)。 TList所存儲(chǔ)的是指針,并且函數(shù)的參數(shù)也聲明為 Pointer數(shù)據(jù)類型,因此 TList用于管理其他數(shù)據(jù)類型時(shí)需要轉(zhuǎn)換為指針。假設(shè)有一個(gè)棧 S=( a1,a2,...,an), a1先進(jìn)棧, an最后進(jìn)棧。棧的順序存儲(chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元依次存放自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)設(shè)指針 top指示棧頂元素的當(dāng)前位置。 ? 入棧( push) 入棧是在棧頂添加新的元素?;厮荩椿氐剑ɑ蚧謴?fù)到)前面的數(shù)據(jù),在計(jì)算機(jī)游戲、決策分析和專家系統(tǒng)等應(yīng)用程序中經(jīng)常見(jiàn)到。因此,通常把隊(duì)列叫做先進(jìn)先出( First In First Out,簡(jiǎn)稱 FIFO)線性表。 ? 偽代碼是一種算法描述語(yǔ)言。N/S圖是一種不需要有向線段,無(wú)需上下左右前后追蹤程序流程控制的程序流程圖,該圖非常適合描述結(jié)構(gòu)化程序或者算法的結(jié)構(gòu)化實(shí)現(xiàn),能夠較好地反映算法和
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1