




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、pascal練習(xí)題pascal練習(xí)題漢諾塔問題描述 有三根塔,第一根塔上從小到大擺有n片銅片,要求把這些銅片擺到第三根塔上.但大銅片不能壓在小銅片上面. 輸入:KEYBOARD 輸出:SCREEN 3 a-c a-b c-b a-c b-a b-c a-c 問題分析 這個(gè)問題可以發(fā)現(xiàn)一些規(guī)律,要把n移動(dòng)(a-c),即進(jìn)行以下操作:n-1(a-b);n(a-c);n-1(b-c).形成遞歸. program hanoitower; uses crt;var n:integer;procedure hanoi(x:integer;a,b,c:char);beginif x=1 then write
2、( ,a, - ,c, ) elsebeginhanoi(x-1,a,c,b);write( ,a, - ,c, );hanoi(x-1,b,a,c);end;end;beginclrscr;write(Hanoi tower,Please input n:);readln(n);hanoi(n,a,b,c);readln;end. 進(jìn)位制轉(zhuǎn)化 進(jìn)位制轉(zhuǎn)化 問題來源 無 問題描述 將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)化成二進(jìn)制. 輸入:KEYBOARD 輸出:SCREEN 255 FF 問題分析 模擬手算. program bin; constmax=20;vari,j:integer;str:array1.ma
3、x of byte;procedure print;var k,r:integer;begink:=max;repeatdec(k);until strk=1;for r:=k downto 1 do write(strr);writeln;end;beginwrite(Please input an integer between 1.32767:);readln(i);j:=0;repeatinc(j);strj:=i mod 2;i:=i div 2;until i=1;strj+1:=1;print;end. 約瑟夫環(huán)約瑟夫環(huán) 問題來源 名題 問題描述 猴子選大王:一群(M)猴子排成一
4、列,數(shù)到N的退出,直到剩下一個(gè). 輸入:KEYBOARD 輸出:SCREEN 5 3 2 問題分析 按照方法模擬即可. program JOSR;const mmax=100;var m,n,j:integer;rou:array1.mmax of boolean; procedure init;var i:integer;beginwrite(Please input M:);readln(m);write(Please input N:);readln(n);for i:=1 to m do roui:=true;j:=0;end;procedure check;var i,k:integ
5、er;begini:=0;k:=0;repeatinc(k);if km then k:=1;if rouk=true then begininc(i);if i mod n=0 then begin rouk:=false;inc(j);end;end;until j=m-1;end;procedure print;var i:integer;beginfor i:=1 to m do if roui=true then writeln(i);end;begininit;check;print;readln;end. 快速排序快速排序 問題來源 Borland Pascal Examples
6、 問題描述 快速排序是至今為止人們發(fā)現(xiàn)的最快的排序方法,它采用了類似折半查找的方法:把一組數(shù)據(jù)分為兩組,其中一組比某一數(shù)據(jù)大,另一組比該數(shù)據(jù)小.然后分別在進(jìn)行該步驟,直到每組都剩下一個(gè)數(shù)為止. 輸入:NONE 輸出:SCREEN * QuickSort Demo Copyright (c) 1985,90 by Borland International *program QSort;$R-,S-uses Crt; This program demonstrates the quicksort algorithm, which provides an extremely efficient m
7、ethod of sorting arrays in memory. The program generates a list of 1000 random numbers between 0 and 29999, and then sorts them using the QUICKSORT procedure. Finally, the sorted list is output on the screen. Note that stack and range checks are turned off (through the compiler directive above) to o
8、ptimize execution speed. constMax = 1000;typeList = array1.Max of Integer;varData: List;I: Integer; QUICKSORT sorts elements in the array A with indices between LO and HI (both inclusive). Note that the QUICKSORT proce- dure provides only an interface to the program. The actual processing takes plac
9、e in the SORT procedure, which executes itself recursively. procedure QuickSort(var A: List; Lo, Hi: Integer);procedure Sort(l, r: Integer);vari, j, x, y: integer;begini := l; j := r; x := a(l+r) DIV 2;repeatwhile ai x do i := i + 1;while x aj do j := j - 1;if i j;if l j then Sort(l, j);if i nummid
10、then search(x,mid,b);if xb) and (a=m) then begin knap:=false;exit;end;if knap(a+1,b-itema) then begin knap:=true;write(itema:8);exit;end;if not knap(a+1,b) then knap:=false;end;beginwriteln(Please input item weights:);for i:=1 to m do read(itemi);writeln(Total weight:);readln(w);writeln;if not knap(
11、1,w) then writeln(NO ANSWER!);readln;end. 高斯八皇后問題描述 八皇后問題:在一個(gè)8*8的國際象棋棋盤上放置八個(gè)皇后,使他們不互相攻擊,求解的數(shù)量. 輸入:NONE 輸出:SCREEN SOL01: 1 3.SOL92 :8 5. 問題分析 這是一個(gè)經(jīng)典問題,是一個(gè)遍歷的典型例子,本站給出一種比較易懂的方法,但效率不是最高. program queen; const qnum=8;var board:array1.qnum of integer;m,n:array2.2*qnum of boolean;y:array1.qnum of boolean;c
12、ount:integer;procedure init;var j:integer;begincount:=0;for j:=1 to qnum do yj:=true;for j:=2 to 2*qnum do begin mj:=true;nj:=true; end;end;procedure print;var j:integer;begininc(count);write(count:8);for j:=1 to qnum do write(boardj:4);writeln;end;procedure try(i:integer);var j:integer;beginfor j:=
13、1 to qnum doif yj and mi+j and ni-j+qnum+1 then beginboardi:=j;yj:=false;mi+j:=false;ni-j+qnum+1:=false;if i=qnum then print else try(i+1);yj:=true;mi+j:=true;ni-j+qnum+1:=true;end;end;begininit;try(1);writeln(Program end.);readln;end. 動(dòng)態(tài)規(guī)劃入門練習(xí)題2003-12-4大榕樹 一些動(dòng)態(tài)規(guī)劃的入門練習(xí)題,難度不大,適合初學(xué)者
14、練習(xí),以便掌握動(dòng)態(tài)規(guī)劃這個(gè)高效算法。歡迎您將以下各題的解答投稿至本站:,標(biāo)題中請(qǐng)包含“drs”字樣。 石子合并在一個(gè)圓形操場(chǎng)的四周擺放著N堆石子(N= 100),現(xiàn)要將石子有次序地合并成一堆.規(guī)定每次只能選取相鄰的兩堆合并成新的一堆,并將新的一堆的石子數(shù),記為該次合并的得分.編一程序,由文件讀入堆棧數(shù)N及每堆棧的石子數(shù)(=20).(!)選擇一種合并石子的方案,使用權(quán)得做N1次合并,得分的總和最小;(2)選擇一種合并石子的方案,使用權(quán)得做N1次合并,得分的總和最小;輸入數(shù)據(jù):第一行為石子堆數(shù)N;第二行為每堆的石子數(shù),每兩個(gè)數(shù)之間用一個(gè)空格分隔.輸出數(shù)據(jù):從第一至第N行為
15、得分最小的合并方案.第N+1行是空行.從第N+2行到第2N+1行是得分最大合并方案.每種合并方案用N行表示,其中第i行(1=i=N)表示第i次合并前各堆的石子數(shù)(依順時(shí)針次序輸出,哪一堆先輸出均可).要求將待合并的兩堆石子數(shù)以相應(yīng)的負(fù)數(shù)表示.輸入輸出范例:輸入:44 5 9 4輸出: 最小代價(jià)子母樹 設(shè)有一排數(shù),共個(gè),例如:22 14 7 13 26 15 11.任意2個(gè)相鄰的數(shù)可以進(jìn)行歸并,歸并的代價(jià)為該兩個(gè)數(shù)的和,經(jīng)過不斷的歸并,最后歸為一堆,而全部歸并代價(jià)的和稱為總代價(jià),給出一種歸并算法,使總代價(jià)為最小.輸入、輸出數(shù)據(jù)格式與“石子合并”相同。輸入樣例:412 5 16 4輸出樣例: 背包
16、問題 設(shè)有種物品,每種物品有一個(gè)重量及一個(gè)價(jià)值。但每種物品的數(shù)量是無限的,同時(shí)有一個(gè)背包,最大載重量為,今從種物品中選取若干件(同一種物品可以多次選?。蛊渲亓康暮托∮诘扔?,而價(jià)值的和為最大。輸入數(shù)據(jù):第一行兩個(gè)數(shù):物品總數(shù),背包載重量;兩個(gè)數(shù)用空格分隔;第二行N個(gè)數(shù),為種物品重量;兩個(gè)數(shù)用空格分隔;第三行N個(gè)數(shù),為N種物品價(jià)值; 兩個(gè)數(shù)用空格分隔;輸出數(shù)據(jù):第一行總價(jià)值;以下N行,每行兩個(gè)數(shù),分別為選取物品的編號(hào)及數(shù)量;輸入樣例:4 102 3 4 71 3 5 9輸出樣例:122 14 1 商店購物某商店中每種商品都有一個(gè)價(jià)格。例如,一朵花的價(jià)格是2 ICU(ICU 是信息學(xué)競(jìng)賽的貨幣的
17、單位);一個(gè)花瓶的價(jià)格是5 ICU。為了吸引更多的顧客,商店提供了特殊優(yōu)惠價(jià)。特殊優(yōu)惠商品是把一種或幾種商品分成一組。并降價(jià)銷售。例如:3朵花的價(jià)格不是6而是5 ICU ;2個(gè)花瓶加1朵花是10 ICU不是12 ICU。編一個(gè)程序,計(jì)算某個(gè)顧客所購商品應(yīng)付的費(fèi)用。 要充分利用優(yōu)惠價(jià)以使顧客付款最小。請(qǐng)注意,你不能變更顧客所購商品的種類及數(shù)量, 即使增加某些商品會(huì)使付款總數(shù)減小也不允許你作出任何變更。假定各種商品價(jià)格用優(yōu)惠價(jià)如上所述,并且某顧客購買物品為:3朵花和2個(gè)花瓶。那么顧客應(yīng)付款為14 ICU因?yàn)?1朵花加2個(gè)花瓶: 優(yōu)惠價(jià):10 ICU2朵花 正常價(jià): 4 ICU輸入數(shù)據(jù)用兩個(gè)文件表示
18、輸入數(shù)據(jù)。第一個(gè)文件INPUTTXT描述顧客所購物品(放在購物筐中);第二個(gè)文件描述商店提供的優(yōu)惠商品及價(jià)格(文件名為OFF ERTXT)。兩個(gè)文件中都只用整數(shù)。第一個(gè)文件INPUTTXT的格式為:第一行是一個(gè)數(shù)字B(0B5),表示所購商品種類數(shù)。下面共B行,每行中含3個(gè)數(shù)C,K,P。 C 代表商品的編碼(每種商品有一個(gè)唯一的編碼),1C999。K代表該種商品購買總數(shù),1K5。P 是該種商品的正常單價(jià)(每件商品的價(jià)格),1P999。請(qǐng)注意,購物筐中最多可放5*525件商品。第二個(gè)文件OFFERTXT的格式為:第一行是一個(gè)數(shù)字S(0S9 9),表示共有S 種優(yōu)惠。下面共S行,每一行描述一種優(yōu)惠商
19、品的組合中商品的種類。下面接著是幾個(gè)數(shù)字對(duì)(C,K),其中C代表商品編碼,1C9 99。K代表該種商品在此組合中的數(shù)量,1K5。本行最后一個(gè)數(shù)字P(1 P9999)代表此商品組合的優(yōu)惠價(jià)。當(dāng)然, 優(yōu)惠價(jià)要低于該組合中商品正常價(jià)之總和。輸出數(shù)據(jù)在輸出文件OUTPUTTXT中寫 一個(gè)數(shù)字(占一行), 該數(shù)字表示顧客所購商品(輸入文件指明所購商品)應(yīng)付的最低貨款。輸入/輸出數(shù)據(jù)舉例 INPUT OFFERTXT OUTPUTXT 2 2 14 1 7 3 5 2 7 1 8 2 10 簡析:算法: 動(dòng)態(tài)規(guī)劃數(shù)據(jù)結(jié)構(gòu): 字符串題型: II 型難度: 4 分編程時(shí)間: 4分鐘簡述: 本題競(jìng)賽時(shí)有一個(gè)很長
20、的文件測(cè)試數(shù)據(jù),用動(dòng)態(tài)規(guī)劃可較快的出答案。 旅游預(yù)算一個(gè)旅行社需要估算乘汽車從某城市到另一城市的最小費(fèi)用,沿路有若干加油站,每個(gè)加油站收費(fèi)不一定相同。旅游預(yù)算有如下規(guī)則:若油箱的油過半,不停車加油,除非油箱中的油不可支持到下一站;每次加油時(shí)都加滿;在一個(gè)加油站加油時(shí),司機(jī)要花費(fèi)2元買東西吃;司機(jī)不必為其他意外情況而準(zhǔn)備額外的油;汽車開出時(shí)在起點(diǎn)加滿油箱;計(jì)算精確到分(1元=100分)。編寫程序估計(jì)實(shí)際行駛在某路線所需的最小費(fèi)用。輸入格式:從當(dāng)前目錄下的文本文件“route.dat”讀入數(shù)據(jù)。按以下格式輸入若干旅行路線的情況:第一行為起點(diǎn)到終點(diǎn)的距離(實(shí)數(shù))第二行為三個(gè)實(shí)數(shù),后跟一個(gè)整數(shù),每兩個(gè)
21、數(shù)據(jù)間用一個(gè)空格隔開。其中第一個(gè)數(shù)為汽車油箱的容量(升),第二個(gè)數(shù)是每升汽油行駛的公里數(shù),第三個(gè)數(shù)是在起點(diǎn)加滿油箱的費(fèi)用,第四個(gè)數(shù)是加油站的數(shù)量。(=50)。接下去的每行包括兩個(gè)實(shí)數(shù),每個(gè)數(shù)據(jù)之間用一個(gè)空格分隔,其中第一個(gè)數(shù)是該加油站離起點(diǎn)的距離,第二個(gè)數(shù)是該加油站每升汽油的價(jià)格(元/升)。加油站按它們與起點(diǎn)的距離升序排列。所有的輸入都有一定有解。輸出格式:答案輸出到當(dāng)前目錄下的文本文件“route.out”中。該文件包括兩行。第一行為一個(gè)實(shí)數(shù)和一個(gè)整數(shù),實(shí)數(shù)為旅行的最小費(fèi)用,以元為單位,精確到分,整數(shù)表示途中加油的站的N。第二行是N個(gè)整數(shù),表示N個(gè)加油的站的編號(hào),按升序排列。數(shù)據(jù)間用一個(gè)空格
22、分隔,此外沒有多余的空格。輸入輸出舉例:輸入文件:(route.dat) 輸出文件(route.out)516.3 38.09 115.7 22.1 20.87 3 2 125.4 1.259 297.9 1.129 345.2 0.999 海上交通控制海上交通圖可以用一個(gè)有向圖來表示,頂點(diǎn)表示港口,邊表示兩個(gè)港口之間是否有航線可通。為保證海上交通安全和以盡量快的速度到達(dá)目的地,每艘船在出發(fā)前都將航行計(jì)劃(包括出發(fā)時(shí)間、速度、出發(fā)與到達(dá)港口)提交給海上交通控制局,由海上交通控制局為它們制定航線?,F(xiàn)給出一系列的船只航行計(jì)劃(包括出發(fā)時(shí)間、速度、出發(fā)與到達(dá)港口),請(qǐng)你根據(jù)以下原則編程為它們制定航線
23、:1、 每艘船在出發(fā)的一瞬間提交航行計(jì)劃(提交和出發(fā)的時(shí)間差可以忽略);2、 每艘船都嚴(yán)格按照出發(fā)時(shí)間出發(fā),不能提前,也不能延遲;3、 在任何時(shí)間一條航道(兩港口間的直達(dá)航線)上只能有一艘船,因此,一艘船在出發(fā)的瞬間發(fā)現(xiàn)某航道將在末來的某段時(shí)間內(nèi)會(huì)被在它之前出發(fā)的船占用,則它在那一段時(shí)間內(nèi)將不會(huì)使用該航道,當(dāng)然其余時(shí)間還是可以使用該航道;4、 每個(gè)港口均可被無限艘船同時(shí)使用;5、 在滿足上述條件后,要使本船航行的時(shí)間最短;6、 假如某船不能到達(dá)目標(biāo)港口,那么它將放棄這個(gè)航程;7、 船在任何時(shí)候都不能停下來,即從出發(fā)后,要一直航行到目的地,中途不得在航道或港口中停留。時(shí)間用4位數(shù)字表示如2345
24、表示23:45,速度單位用節(jié)(海里/小時(shí))表示。在計(jì)算時(shí)間時(shí),中間結(jié)果應(yīng)是精確的時(shí)間(即不要四舍五入到分鐘),而航行時(shí)間的計(jì)算是以總距離除以速度為準(zhǔn),最終到目標(biāo)地的時(shí)刻應(yīng)是航行時(shí)刻加上航行時(shí)間的四舍五入到分鐘的結(jié)果。輸入格式:從當(dāng)前目錄下的文本文件“LANE.DAT”讀入數(shù)據(jù)。輸入的數(shù)據(jù)一定有解,且不會(huì)出現(xiàn)跨越00:00的情況,例如,一艘船在23:55出發(fā),第二天0:15到達(dá)的情況是不會(huì)出現(xiàn)的。輸入文件開頭是港口定義:第一行是港口數(shù)N(=26);第二行是一個(gè)長度為N的大寫字母串,每個(gè)字母表示一個(gè)港口名字;第三行開始N行的N X N矩陣是一個(gè)鄰接矩陣,每行有N個(gè)整數(shù),其值為港口間距離(單位為海里
25、),整數(shù)間以空格分隔(若為0表示兩港口沒有直達(dá)航線相連);接著的一行是一個(gè)整數(shù)M(=50),表示共有M艘船提交航行計(jì)劃;接下去的每3行表示一艘船的航行計(jì)劃,其中第一行是船名,第二行是出發(fā)時(shí)間和航速,兩者均為整數(shù),以一個(gè)空格分隔,第三行是兩個(gè)大寫安母,之間沒有任何分隔,第一個(gè)表示出發(fā)的港口,第二個(gè)表示目的港口;輸出格式:答案輸出到當(dāng)前目錄下的文本文件“LANE.OUT”中。該文件的每3行表示一艘船的航線,其中第一行是船名,第二行是出發(fā)時(shí)間和到達(dá)時(shí)間,兩者均為整數(shù),以一個(gè)空格分隔,第三行是數(shù)個(gè)大寫字母,之間沒有任何分隔,表示該船經(jīng)過的港口(包括出發(fā)和目的港口)。如果這艘船放棄航程時(shí),到達(dá)時(shí)間用來表
26、示,并留空第三行。注意:在輸入和輸出中航行計(jì)劃和航線均按出發(fā)時(shí)間排序,時(shí)間精確到分鐘。輸入輸出舉例:輸入文件:LANE.DAT 輸出文件:LANE.OUT5 BlueskyABCDE 800 10000 10 0 50 10 CB10 0 20 70 0 Blackhorse0 20 0 20 0 900 110050 70 20 0 10 AB10 0 0 10 0 Greenforest4 1000 1130Bluesky DEAB0800 10 SilverboatCB 1200 1300Blackhorse DC0900 5 AB Greenforest 1000 20 DB Silv
27、erboat 1200 20 DC 防衛(wèi)導(dǎo)彈一種新型的防衛(wèi)導(dǎo)彈可截?fù)舳鄠€(gè)攻擊導(dǎo)彈。它可以向前飛行,也可以用很快的速度向下飛行,可以毫無損傷地截?fù)暨M(jìn)攻導(dǎo)彈,但不可以向后或向上飛行。但有一個(gè)缺點(diǎn),盡管它發(fā)射時(shí)可以達(dá)到任意高度,但它只能截?fù)舯人洗谓負(fù)魧?dǎo)彈時(shí)所處高度低或者高度相同的導(dǎo)彈?,F(xiàn)對(duì)這種新型防衛(wèi)導(dǎo)彈進(jìn)行測(cè)試,在每一次測(cè)試中,發(fā)射一系列的測(cè)試導(dǎo)彈(這些導(dǎo)彈發(fā)射的間隔時(shí)間固定,飛行速度相同),該防衛(wèi)導(dǎo)彈所能獲得的信息包括各進(jìn)攻導(dǎo)彈的高度,以及它們發(fā)射次序。現(xiàn)要求編一程序,求在每次測(cè)試中,該防衛(wèi)導(dǎo)彈最多能截?fù)舻倪M(jìn)攻導(dǎo)彈數(shù)量,一個(gè)導(dǎo)彈能被截?fù)魬?yīng)滿足下列兩個(gè)條件之一:1、 它是該次測(cè)試中第一個(gè)被防衛(wèi)導(dǎo)
28、彈截?fù)舻膶?dǎo)彈;2、 它是在上一次被截?fù)魧?dǎo)彈的發(fā)射后發(fā)射,且高度不大于上一次被截?fù)魧?dǎo)彈的高度的導(dǎo)彈。輸入格式:從當(dāng)前目錄下的文本文件“CATCHER.DAT”讀入數(shù)據(jù)。該文件的第一行是一個(gè)整數(shù)N(0=N=4000),表示本次測(cè)試中,發(fā)射的進(jìn)攻導(dǎo)彈數(shù),以下N行每行各有一個(gè)整數(shù)hi(0=hi=32767),表示第i個(gè)進(jìn)攻導(dǎo)彈的高度。文件中各行的行首、行末無多余空格,輸入文件中給出的導(dǎo)彈是按發(fā)射順序排列的。輸出格式:答案輸出到當(dāng)前目錄下的文本文件“CATCHER.OUT”中,該文件第一行是一個(gè)整數(shù)max,表示最多能截?fù)舻倪M(jìn)攻導(dǎo)彈數(shù),以下的max行每行各有一個(gè)整數(shù),表示各個(gè)被截?fù)舻倪M(jìn)攻導(dǎo)彈的編號(hào)(按被截
29、擊的先后順序排列)。輸出的答案可能不唯一,只要輸出其中任一解即可。輸入輸出舉例:輸入文件:CATCHER.DAT 輸出文件:CATCHER.OUT3 225 136 323 求函數(shù)最大值已知3個(gè)函數(shù)A,B,C值如下表示,自變量取值為0-10的整數(shù)。請(qǐng)用動(dòng)態(tài)規(guī)劃的方法求出一組x,y,z,使得A(x)+B(y)+C(z)為最大,并且滿足x2+y2+z20DOBEGINr:=xMODy;x:=y;y:=rEND;Gcd:=xEND;Gcd FUNCTIONLcm(x,y:Longint):Longint; BEGINLcm:=x*yDIVGcd(x,y)END;Lcm PROCEDUREYueFen
30、(VARzi,mu:Longint); VARGcdMuZi:Longint; BEGINGcdMuZi:=Gcd(mu,zi);mu:=muDIVGcdMuZi;zi:=ziDIVGcdMuZiEND;YueFen PROCEDUREHuaJian(VARx:MyNumber); BEGINYueFen(x.zi,x.mu)END;HuaJian PROCEDUREChangeIntegerToMyNumber(x:Longint;Varans:MyNumber); BEGINans.zi:=x;ans.mu:=1END;ChangeInteterToMynumber PROCEDUREMy
31、Jia(CONSTx,y:MyNumber;VARans:MyNumber); VARLcmMuXY,ForX,ForY:Longint; BEGINLcmMuXY:=Lcm(x.mu,y.mu);ForX:=LcmMuXYDIVx.mu;ForY:=LcmMuxyDIVy.mu;ans.mu:=LcmMuXy;ans.zi:=x.zi*ForX+y.zi*ForY;HuaJian(ans)END;MyJia PROCEDUREMyJian(x,y:MyNumber;VARans:MyNumber); BEGINy.zi:=-y.zi;MyJia(x,y,ans)END;MyJian PROC
32、EDUREMyCheng(x,y:MyNumber;VARans:MyNumber); BEGINYueFen(x.zi,y.mu);YueFen(y.zi,x.mu);ans.mu:=x.mu*y.mu;ans.zi:=x.zi*y.zi;HuaJian(ans)END;MyCheng PROCEDUREMyChu(x,y:MyNumber;VARans:MyNumber); BEGINGoSwap(y.zi,y.mu);MyCheng(x,y,ans)END;MyChu *FUNCTIONFindTheLable(thedata:String;x:LableType):Byte; VARi
33、,long,KuoHao:Byte;ok:Boolean; BEGINlong:=Length(thedata);i:=long;KuoHao:=0;ok:=False;WHILE(i=2)ANDNotokDOBEGINCASEthedataiOF(:Inc(KuoHao);):Dec(KuoHao)ELSEIF(KuoHao=0)AND(thedataiinx)THENok:=TrueEND;CASEIFNotokThenDec(i)END;WHILEIFokTHENFindTheLable:=iELSEFindTheLable:=0;END;FindTheLable *PROCEDUREG
34、etLeftAndRight(ConstTheData:String;Mid:Byte;VARleft_ans,right_ans:String);BEGINleft_ans:=Copy(TheData,1,Mid-1);right_ans:=Copy(TheData,Mid+1,Length(TheData)-1)END;GetLeftAndRight *PROCEDUREDeleteKuoHao(VARx:String); VARKuoHao,i,long:Byte;OkToExit:Boolean; BEGINlong:=Length(x);IFlong2THENExit;OkToExi
35、t:=False;KuoHao:=0;REPEATi:=0;REPEATInc(i);CASExiOF(:Inc(KuoHao);):Dec(KuoHao)ENDUNTIL(KuoHao=0); IFi=longTHENBEGINx:=Copy(x,2,long-2);dec(long,2)ENDELSEOkToExit:=true UNTIL(long0THENBEGINGetLeftAndRight(TheData,Mid,LeftData,RightData);MakeTheBiaoDaShi(LeftData,LeftOut);MakeTheBiaoDaShi(RightData,Ri
36、ghtOut);CASETheDataMidOF+:MyJia(LeftOut,RightOut,ans);-:MyJian(LeftOut,RightOut,ans);*:MyCheng(LeftOut,RightOut,ans);/:MyChu(LeftOut,RightOut,ans)ENDCASEENDIFELSEBEGINVal(TheData,k,i);ChangeIntegerToMyNumber(k,ans)ENDELSEEND;MakeTheBiaoDaShi PROCEDUREChangeToDaiFenShu(CONSTdata:MyNumber;VARx,y,z:Lon
37、gint); BEGINWITHdataDoBEGINx:=ziDIVmu;y:=ziMODmu;z:=muEND END;ChangeToDaiFenShu *PROCEDUREPrintMyNumber(x:MyNumber); VARi,j,k:Longint; BEGINwrite(=);IFx.zi=0THENWrite(0)ELSEBEGINChangeToDaiFenShu(x,i,j,k);IFi0THENBEGINWrite(i,);j:=Abs(j);IFk1THENWrite(&)END;IFIFk1THENWrite(j,/,k)END;WritelnEND;PrintMyNumber MainBEGINInputData;MakeTheBiaoDaShi(data,answer);PrintMyNumber(answer);ReadlnEND.Main Pascal中的常用數(shù)學(xué)函數(shù)2003-12-4大榕樹 求絕對(duì)值函數(shù)abs(x)定義:functionAbs(X):(Sametypeasparameter);說明:X可以是整型,也可以是實(shí)型;返回值和X的類型一致例子:varr:Real;i:Integer;beginr:=Abs(-2.3);2.3i
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 言葉之庭觀后感
- 課外興趣活動(dòng)總結(jié)
- 語文期中考試反思(集錦15篇)
- 小學(xué)三年級(jí)數(shù)學(xué)幾百幾十加減幾百幾十水平考核模擬題帶答案
- 資料保護(hù)環(huán)境的倡議書
- 道歉信英文版
- 課間休息安全教育
- 通道設(shè)置安全管理
- 人教遼寧 九年級(jí) 下冊(cè) 語文 第五單元《 任務(wù)三 演出與評(píng)議》習(xí)題課 課件
- 《休閑農(nóng)業(yè)》課件 項(xiàng)目五 休閑農(nóng)業(yè)項(xiàng)目規(guī)劃設(shè)計(jì)
- 學(xué)習(xí)貫徹全國兩會(huì)精神有感三
- 綜合與實(shí)踐 低碳生活 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版七年級(jí)數(shù)學(xué)下冊(cè)
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫審定版
- 2025年興安職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫新版
- 中國慢性阻塞性肺疾病基層診療指南(2024年)解讀
- GB/T 44736-2024野生動(dòng)物保護(hù)繁育象
- 中醫(yī)適宜技術(shù)-中藥熱奄包
- 2024年蘇州工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測(cè)試題庫完美版
- 2023年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 旋耕滅茬機(jī)總體結(jié)構(gòu)設(shè)計(jì)全套圖紙
- 行車檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論