【正文】
程序的第一行為程序首部,每個PASCAL程序都必須以PROGRAM 開頭;circle是本程序的名字,每個程序的名字可以不同;圓括號里的內(nèi)容稱為程序的參數(shù),程序參數(shù)指明程序與外部聯(lián)系的文件名,input是標(biāo)準(zhǔn)輸入文件,例如鍵盤打字機(jī),output是標(biāo)準(zhǔn)輸出文件,指屏幕顯示器或打印機(jī),為了讀入數(shù)據(jù)和輸出結(jié)果,必須寫上文件參數(shù)input和output。此例包括以CONST開始的常量說明和以VAR開始的變量說明,常量說明必須以CONST開始,變量說明必須以VAR開始。PROGRAM circle(input,output)。l:=2*PI*r。被小括號及星號(* *)括起來的內(nèi)容也是注釋。寫出程序。在PASCAL,實數(shù)有兩種表示方法:小數(shù)表示法和指數(shù)表示法(或稱科學(xué)表示法)。在整數(shù)中不得包括不數(shù)點(diǎn)(.)。如‘0’對應(yīng)48,‘1’對應(yīng)49,‘A’對應(yīng)65,‘B’對應(yīng)66。 A1:=(15)。 writeln(A1 AND A1)。 writeln(A1 or A1)。標(biāo)識符的長度一般不要超過8個字符。下面是幾個PASCAL表達(dá)式的例子:例L0_003數(shù)學(xué)表達(dá)式PASCAL表達(dá)式b24acb*b4*a*c(a+b)/(c+d)(a+b)/c+da*b/(c*d)或a*b/c/da2+bx+c常用的函數(shù)詞匯功能abs絕對值sqr平方sqrt開方ord取序號參數(shù)為字符型變量,結(jié)果為該字符的序號(整型)chr取字符參數(shù)為整型變量,結(jié)果為以參數(shù)為序號的字符pred前導(dǎo)字符succ后繼字符odd奇函數(shù),判斷是否為奇數(shù)參數(shù)為整型變量,結(jié)果為布爾型trunc去掉小數(shù)部分,取其整數(shù)round四舍五入,取其整數(shù)exp以e為底的指數(shù)ln以e為底的自然對數(shù)函數(shù)的格式例:開方函數(shù),在PASCAL中可表示為sqrt(2)語句賦值語句(:=)讀語句(read,readln)當(dāng)實型數(shù)據(jù)和字符型數(shù)據(jù)一起讀入時,要先讀字符型數(shù)據(jù)。它的一般形式是write(輸出表)其中輸出表是一些由逗號分開的輸出項。它的作用是在印出輸出表的最后一個輸出項后,結(jié)束當(dāng)前輸出行,使得下一個write(或writeln)語句從下一個新行的開頭(左端)輸出。在這里,場寬是指輸出值的位數(shù)。 設(shè)三角形的兩邊及夾角分別為a,b,α,第三邊為c,面積為s。 VAR a,b,alfa,c,s:real。 s:=1/2*a*b*sin(alfa)。 VAR ch,pch,sch:char。 write(39。 write(39。,succ(ch),39。圓環(huán)如圖所示。 VAR x,y:real。x=?39。y=?39。 write(bool)。XT1_4 已知勻加速運(yùn)動的初速度為10m/s,加速度為2m/s2,求20s以后的速度,20s內(nèi)走過的路程及平均速度,寫出程序。y4 (2)sin2(x+)+3cos(2x+4)+tan1x (3)u0(1+)(4) (5) (6)(7) (8)|3exln(1+x)| (9) (10)XT2_4 寫一程序讀入三角形的三個邊a,b,c,計算并打印三角形的面積S。其中r,h1,h2的值由鍵盤讀入。XT2_10 輸入一個三位整數(shù),將它們反向輸出。例如王平輸出如圖所示。我們稱這種程序結(jié)構(gòu)為選擇結(jié)構(gòu)(或稱判定結(jié)構(gòu))??梢岳昧鞒虉D來描述選擇結(jié)構(gòu)。若超過50kg。weight和pay均為實型。輸出pay。即算法步驟22和23不是同時執(zhí)行的,需根據(jù)情況選擇其一執(zhí)行。weight=39。 writeln(39。在條件為假時,不執(zhí)行THEN后的語句,在兩種情況下的后繼語句都是IF語句的下一個語句。 BEGIN write(39。 write(39。 write(39。 IF ab THEN a:=b。,a) END. 復(fù)合語句在IF語句中,跟在THEN或ELSE后的語句可能不止一個,這時要用到復(fù)合語句的概念。例L3_3 讀兩個數(shù),將大數(shù)存于x,小數(shù)存于y。x=?39。y=?39。 x:=y。,x:8:2,39。條件1語句1假真條件2假真語句2語句3例如語句IF(條件1) THEN(語句1) ELSE IF(條件2) THEN(語句2) ELSE(語句3)就是一個復(fù)合IF語句,在它的ELSE后又是一個IF語句。例如語句:IF (條件1) THEN IF (條件2) THEN (語句1) ELSE (語句2)我們可以認(rèn)為ELSE與后一個THEN配對,其流程圖如圖3_8(1)所示。如果要求按第二種理解執(zhí)行流程圖,可以通過在IF語句中加BEGIN、END的辦法來實現(xiàn)。值表是一些由逗號分開的常數(shù)。討論:每年的12月,每月有31天;11月,每月有30天;2月閏年有29天,平年有28天。閏年的條件可以寫成如下的布爾表達(dá)式:(year MOD 4 = 0) AND (year MOD 100 0) OR (year MOD 400 = 0)PROGRAM L3_5。 write(‘month=?’)。 2:IF(year MOD 4 = 0) AND (year MOD 100 0) OR (year MOD 400 = 0) THEN days:=29 ELSE days:=28 END?,F(xiàn)在假定運(yùn)算符只可能是+、*、/,將oper說明為字符型。 CONST PI=。)。 writeln(39。,y:6:2,39。XT3_3 輸入某學(xué)生成績,若成績在85分以上,輸出very good,若成績在60分到85分之間,輸出good,若成績低于60分,輸出no good。程序應(yīng)考慮實根和復(fù)根兩種情形。XT3_8 輸入x、y及象限,計算z。班號919293949596人數(shù)303230303225閱讀學(xué)習(xí)《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》(信息學(xué)奧林匹克科學(xué)委員會主編,清華大學(xué)出版社)及網(wǎng)上教案,閱讀要求見下表:閱讀內(nèi)容頁 碼要求 Pascal程序的一般結(jié)構(gòu)和輸入輸出語句《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P94全看 順序結(jié)構(gòu)《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P100全看 選擇結(jié)構(gòu)《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P101看條件選擇結(jié)構(gòu)P101至P104 運(yùn)算對象的顯式定義《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P116全看 表達(dá)式《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P120全看 Pascal的簡單類型《全國信息奧林匹克聯(lián)賽培訓(xùn)教程(一)》P121看整型;布爾類型;字符類型;實數(shù)類型CHH信息學(xué)奧賽培訓(xùn)教案(20071127)全看閱讀后完成下面題目Pascal程序可以分為三個部分,請將這三個部分的名稱填入下面括號中PROGRAM circle(input,output)。l:=2*PI*r。有六個關(guān)系運(yùn)算符,它們是________________________________________。28real57。6] (2)a(md)4247。有時是難以完成的。一、FOR語句FOR x:=初值 TO 終值 DO 語句FOR X:= 1 TO 10 DOFOR X:=10 DOWNTO 1 DOFOR X:= ‘A’ TO ‘Z’ DOFOR X:=’Z’ DOWNTO ‘A’ DOs=0當(dāng)n=1 s=s+n=0+1=1。 FOR n:=1 TO 10 DO s:=s+n。 FOR n:=1 TO 10 DO BEGIN read(a)。 VAR n,i,sum:integer。 writeln(39。 VAR s,n:integer。s=39。 BEGIN sum:=0。 ave:=sum/10。 VAR s,n,a:integer。 END。 VAR i:integer。 FOR i:=122 DOWNTO 97 DO write(chr(i)) END.PROGRAM T75_016。 IF maximaln THEN maximal:=n。,maximal) END.PROGRAM T75_017。 Ling:=0。{FOR} writeln(39。,Fu,39。WHILE語句的一般形式:WHILE 布爾表達(dá)式 DO循環(huán)體T75_002 輸入一串字符,以‘?’結(jié)束,輸出其中字母個數(shù)與數(shù)字個數(shù)。當(dāng)一開始布爾表達(dá)式就為假時,循環(huán)體根本不執(zhí)行。sin(x)本來可以利用系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)直接寫出?!璻ead(ch)。因此解題的前兩個任務(wù):一是定義在計算機(jī)存儲器中表示的數(shù)據(jù);二是描述算法——列出處理這些數(shù)據(jù)的步驟。如果數(shù)據(jù)定義有錯,描述算法是困難的,甚至是不可能的。當(dāng)標(biāo)識與問題有關(guān)的數(shù)據(jù)項時,要為每一項賦一個助憶名。算法可以自頂向下、由粗到細(xì),逐步求精。多重循環(huán)的嵌套次數(shù)可以是任意的。T75_007 求1~100之間的素數(shù)(質(zhì)數(shù)).素數(shù)是大于1,且除了1和它本身外,不能被其它任何整數(shù)所整除的整數(shù)。若被其中一個數(shù)除盡了,則i不是素數(shù),否則(全都除不盡)i是素數(shù)。用……去除,如果都除不盡,則i是素數(shù)。一級算法:FOR i:=2 TO 100 DO BEGIN 用2到去除i,看看能否除盡 IF 除不盡 THEN 輸出素數(shù)i END算法需進(jìn)一步求精。PROGRAM T75_007。 FOR i:=2 TO 100 DO BEGIN n:=1。 END。)。將4~2*s(s≤1000)中的所有偶數(shù)分別用兩個素數(shù)之和表示。在陳景潤以前的數(shù)學(xué)家只證明出:對任一充分大的偶數(shù)even,可以找到4個素數(shù)p、q、r、s。使得even=p+q即1+1問題。p從2開始(每次加1),q=evenp。 END。PROGRAM T75_008。)。 pyn:=1。 END。 END。+39。You must input a even!39。每一行的第一個值應(yīng)往左移3格,最大數(shù)是3位整數(shù),每個數(shù)之間留3個空格,因此輸出值的場寬可以定義為6。標(biāo)識符的長度是沒有限制的。(3)Pascal程序可以分為三個部分,請將這三個部分的名稱填入下面括號中(3)PROGRAM circle(input,output)。l:=2*PI*r。有六個關(guān)系運(yùn)算符,它們是__、=、=、=、__。b+3y=A2 (2)(p*q*sqr(r+1))/(sqr(r+1)1)a(md)*4/b+3*y=A2abs(3exp(x)*ln(1+x))(8816)/(4715)4*a(3) (4)|3exln(1+x)|二、程序找錯(每個程序有4處錯誤,請你找出來)PROGRAM T55_002。 readln(a) write(“San Jiao Xing Gao:”)。 BEGIN write(39。Sunday39。Monday39。)。 4:writeln(39。Friday39。)。 BEGIN ZiMu:=0。?39。 END。 writeln(39。Qi Ta Fu Hao Ge Shu: 39。T85_001 輸入x值,計算y。 BEGIN sh:=(exp(t)exp(t))/2 END。在函數(shù)首部的后面是函數(shù)分程序。函數(shù)體對形式參數(shù)進(jìn)行處理,處理結(jié)果賦給函數(shù)名,作為函數(shù)結(jié)果傳給調(diào)用它的程序。函數(shù)說明的一般形式如下:FUNCTION 函數(shù)名 (參數(shù)表):函數(shù)類型;說明部分;BEGIN函數(shù)體END;為了調(diào)用非標(biāo)準(zhǔn)函數(shù),必須預(yù)先將函數(shù)定義(或稱函數(shù)說明)寫在程序的說明部分(處于變量說明之后)。 VAR x,y:real。 BEGIN read(x)。 y:=sh(1+sh(x))/(sh(2*x)+sh(3*x))。邊長l1l7由鍵盤讀入。och:=ord(ch)