




免費(fèi)預(yù)覽已結(jié)束,剩余71頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
惠陽中山中學(xué)奧賽培訓(xùn)講義目錄01- 算法和流程圖102- PASCAL簡介 403- TP70的使用 804-順序結(jié)構(gòu)1905-順序結(jié)構(gòu)21106-選擇結(jié)構(gòu)11307-選擇結(jié)構(gòu)21608-循環(huán)結(jié)構(gòu)11909-循環(huán)結(jié)構(gòu)22210-循環(huán)結(jié)構(gòu)32411-循環(huán)綜合練習(xí)2812-字符類型數(shù)據(jù)處理3013-枚舉類型3414-子界類型3815-一維數(shù)組的建立、輸入輸出、計(jì)算4116-一維數(shù)組的移動、插入、刪除4417-一維數(shù)組的查找、排序4718-二維數(shù)組的建立、輸入輸出、計(jì)算5019-二維數(shù)組的應(yīng)用、矩陣5320-字符數(shù)組與字符串類型5621-函數(shù)5922-過程6323-遞歸6724-集合7025-記錄72算法和流程圖一、學(xué)習(xí)目的和學(xué)習(xí)內(nèi)容 學(xué)習(xí)各種軟件的使用讓計(jì)算機(jī)按照我們的意圖去完成一件事編程序(軟件)給別人用;國際信息學(xué)(計(jì)算機(jī))奧林匹克競賽全國中學(xué)生信息學(xué)奧賽廣東省中學(xué)生信息學(xué)奧賽;比賽的內(nèi)容就是編程比賽;這也是我們的學(xué)習(xí)目的和內(nèi)容;計(jì)算機(jī)程序設(shè)計(jì)語言:人類語言用程序設(shè)計(jì)語言(如Pascal語言)表示再翻譯成機(jī)器語言;二、 計(jì)算機(jī)解決問題的步驟 做任何一件事都要有一定的的步驟,如求1+2+3+4+5+6+7+8+9+10;計(jì)算機(jī)解題步驟:分析問題 確定解決問題的方法和步驟(即算法) 選擇一種計(jì)算機(jī)語言,根據(jù)算法編寫計(jì)算機(jī)程序 讓計(jì)算機(jī)執(zhí)行這個(gè)程序獲得結(jié)果三、 算法的概念 1、為解決某一個(gè)問題而采取的方法和步驟,稱為算法?;蛘哒f算法是解決一個(gè)問題的方法的精確描述。 如: 已知半徑,計(jì)算圓的面積的算法。 算法 讀入半徑R的值計(jì)算圓的面積S=*R*R輸出圓的面積S。 注意:算法不一定唯一,如求1+2+3+4+5+6+7+8+9+10的算法。2、算法的特點(diǎn): 有窮性:必須在執(zhí)行了有窮個(gè)計(jì)算步驟后終止; 確定性:每一個(gè)步驟必須是精確的、無二義性的; 可行性:可以用計(jì)算機(jī)解決、能在有限步、有限時(shí)間內(nèi)完成; 有輸入: 有輸出:四、 算法舉例例一:交換兩個(gè)大小相同的杯子中的液體(A水、B酒)。算法1:1、再找一個(gè)大小與A相同的空杯子C;2、AC;3、BA;4、CB;結(jié)束。或(BC、AB、CA)算法2:1、再找兩個(gè)空杯子C和D;2、AC、BD;3、CB、DA;結(jié)束。注意:一個(gè)算法往往具有代表性,能解決一類問題,如例一可以引申為:交換兩個(gè)變量的值。例二:輸入1個(gè)數(shù)給計(jì)算機(jī),若為正數(shù)則打印出來。算法:輸入1個(gè)數(shù)X; 判斷X0 ?; 若X0,則打印X;結(jié)束。例三:分別輸入10個(gè)數(shù),打印出其中的正數(shù)。算法:設(shè)T為計(jì)數(shù)器。 輸入第一個(gè)數(shù)X,1T; 判斷X0 ? ; 若X0,則打印輸出;判斷T10 ?若T10,則表示10個(gè)數(shù)已經(jīng)處理完,結(jié)束。 否則,再輸入下一個(gè)數(shù)X,且T+1T,然后轉(zhuǎn)繼續(xù)執(zhí)行。例四:從10個(gè)數(shù)中挑選出最大的一個(gè)數(shù),打印輸出。誘導(dǎo):以從10個(gè)人中挑出最高的人為例,讓學(xué)生發(fā)揮想象。算法1:“打擂臺”或“比武招親”,設(shè)MAX為大力士,T為計(jì)數(shù)器。 先輸入1個(gè)數(shù)MAX,1T; (擂主) 再輸入下一個(gè)數(shù)X,T+1T; (上一個(gè)挑戰(zhàn)者) 比較XMAX ?; (比武)若XMAX成立,XMAX; (打敗擂主,即新的大力士產(chǎn)生) 否則,MAX仍然是最厲害,即值不變;(敗下陣來)判斷T=10 ?; (看看還有沒有挑戰(zhàn)者)若T=10成立,則說明10個(gè)數(shù)已比較玩,最大的數(shù)在MAX中,輸出MAX即可; (頒獎) 否則,轉(zhuǎn)繼續(xù)找下一個(gè)挑戰(zhàn)者比武。 (下一個(gè))算法2:兩個(gè)兩個(gè)打(淘汰賽)。23457611098例五:計(jì)算1*2*3*4*5*6*7*8*9*10。描述:階乘10!算法1:找兩個(gè)容器T和I;T為累乘器,初值為1;I為計(jì)數(shù)器,初值為1。 1T,1I; T*IT; I+1I; 判斷I10 ? 成立,則輸出T,結(jié)束。 否則,轉(zhuǎn)繼續(xù)乘。提問:1、T的初值可不可以為0?不能 2、I的初值可不可以放0?不能 3、I的初值可不可以放2?可以 4、I可不可以放10?可以,怎么改算法?讓學(xué)生完成。 5、可不可以先判斷后執(zhí)行? 6、現(xiàn)在要求1+2+3+4+5+6+7+8+9+10,如何辦?讓學(xué)生完成。五、 算法的表示形式1、 文字描述:二義性,如:甲叫乙把他的書拿來;小明連王剛都不認(rèn)識;2、 偽代碼:用符號,不直觀;3、 流程圖:簡潔、直觀、無二義性。有很多種,我們學(xué)N-S流程圖。六、 結(jié)構(gòu)化程序設(shè)計(jì)和N-S流程圖經(jīng)過證明:任何一個(gè)算法都可以用以下3種基本結(jié)構(gòu)表示:1、順序結(jié)構(gòu):例一;2、分支結(jié)構(gòu):例二、例三中的、例四中的;3、循環(huán)結(jié)構(gòu):例三中的、例四中的、例五; 兩種循環(huán):直到型和當(dāng)型。相應(yīng)的N-S圖: 條件成立 不成立 A B當(dāng)條件成立時(shí)做A直到條件成立時(shí)為止AABC注意:一個(gè)算法往往需要幾個(gè)簡單結(jié)構(gòu)復(fù)合在一起才能表示,即復(fù)合結(jié)構(gòu)。練習(xí):用N-S圖畫出以上5個(gè)例子的流程圖,舉例讓學(xué)生模仿。將第一個(gè)數(shù)MAX,將1T將下一個(gè)數(shù)X,T+1T直到T=10為止輸出MAX1T,1I直到I10為止輸出TT*ITT+1T X MAXY NX MAX 當(dāng)型循環(huán) 例五 例四(算法一)輸入第一個(gè)數(shù)X,1 T當(dāng)T 0Y N打印X輸入下一個(gè)數(shù)XT+1T輸入1個(gè)數(shù)XX0 Y N打印X找一個(gè)CACBACB 例一(算法1) 例二 例三讓學(xué)生將直到型循環(huán)和當(dāng)型循環(huán)相互轉(zhuǎn)換:關(guān)鍵是條件的取反。七、 課后作業(yè)1、 求1+1/2+1/3+1/4+1/10。2、 求兩個(gè)自然數(shù)的最大公約數(shù)。要求:寫出算法,畫出相應(yīng)的N-S流程圖。0S ,1T當(dāng)T ST + 1 T輸入M,N當(dāng)N0 時(shí)做輸出MM除以N的余數(shù)RNMRN 第1題 第2題Pascal程序設(shè)計(jì)語言簡介Pascal語言是學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)首選的語言,它的數(shù)據(jù)類型豐富、程序結(jié)構(gòu)清晰,對培訓(xùn)邏輯思維能力和結(jié)構(gòu)化程序設(shè)計(jì)思想很有益。是國際、國內(nèi)比賽的首選語言,也是大學(xué)計(jì)算機(jī)專業(yè)的必修課程。 Pascal種類、版本較多。我們學(xué)習(xí)的是Turbo Pascal 7.0,即TP7.0。計(jì)算機(jī)程序是什么:程序是一些計(jì)算機(jī)能夠讀懂的命令或指令的有序集合,它的作用是按照編寫者的意圖完成一定的功能,編寫這樣的程序叫程序設(shè)計(jì)。如:下面是一個(gè)最簡單的Pascal程序,它的作用是在屏幕上顯示“HOW DO YOU DO !”PROGRAM EX1 (INPUT,OUTPUT); BEGIN WRITELN(HOW DO YOU DO !); END下面我們就開始講解Pascal程序設(shè)計(jì)的基礎(chǔ)知識。一、 一個(gè)完整的PASCAL程序的組成 再看一個(gè)簡單的例子:PROGRAM EX1 (INPUT,OUTPUT); const p = 3.1415926; var r:integer; s:real; BEGIN Readln(r);S:= p * r * r ; Write (s); END從上面兩個(gè)簡單例子,我們歸納出: PROGRAM表示一個(gè)程序 的開始 空格 不能省,但可以有多個(gè) 程序首部 程序名 任意,但一般要有意義 (可以省略) (INPUT,OUTPUT) 參數(shù),表示需要從鍵盤輸入數(shù)據(jù),在顯示器上顯示結(jié)果 ; 不能省,表示一個(gè)語句結(jié)束 說明部分:說明程序中用到的標(biāo)識符(如符號常量、變量)。 標(biāo)識符必須以字母開頭,后跟字母或數(shù)字,不許有空格。 PASCAL程序組成 如:B,TWO,X1,MY_1是正確的; 3X,MY FUNCTION,ABC.123是錯(cuò)誤的。 用const說明常量;如: const p = 3.1415926;用var 說明變量;如: var r:integer; BEGIN 語句;一個(gè)語句一般表示一個(gè)動作,語句之間要用“;”分割 程序體 END 句號“.” 表示一個(gè)程序的結(jié)束,不能省。例二、已知梯形的上底、下底和高,求梯形的面積。PROGRAM AREA(INPUT,OUTPUT);說明:1、標(biāo)識符要先定義后使用,并且先說明常量再說明變量;2、數(shù)據(jù)類型:相同類型可以一起定義,用逗號割開;3、賦值號:不是等于號,是“:=”4、乘號:“*” ,不能省略,如AB一定要寫成A*B5、除引號里面的字符外,程序中的字母不分大小寫;6、按造格式寫,注意對齊。VAR R1,R2,H,S :REAL;BEGINR1:= 4.5;R2:= 8.1; H:= 6; S:=(R1+R2)*H / 2;WRITEIN(S);END.二、 關(guān)鍵字又稱保留字,是指PASCAL中具有固定意義的一批英文單詞或其縮寫,有專門的用途,用在固定的位置,不能作為它用。1、 程序的起始符號:PROGRAM、FUNCTION、PROCEDURE2、 說明部分的專用符號:CONST、VAR、ARRAY、FILE、LABEL、TYPE、SET、RECORD、PACKED3、 專用語句:CASE、DO、DOWNTO、ELSE、FOR、GOTO、IF、OF、REPEAT、THEN、TO、UNTIL、WHILE、WITH4、 運(yùn)算符號:AND、DIV、IN、MOD、NOT、OR5、 分隔符:BEGIN、END6、 空指針變量:NIL注意:單詞不要寫錯(cuò),不分大小寫。三、 標(biāo)識符用來標(biāo)識(表示)程序、符號常量、變量、過程、函數(shù)等的名字的符號。分為兩類:1、 標(biāo)準(zhǔn)標(biāo)識符:PASCAL已經(jīng)預(yù)先定義好的,有特定含義。 常量名:FALSE,TRUE,MAXINT(系統(tǒng)中的最大整數(shù),32767), 類型名:BOOLEAN,CHAR,INTEGER,REAL,TEXT 文件名:INPUT,OUTPUT 函數(shù)名:ABS,ARCTAN,CHR,COS,EOF,ELON,EXP,LN,ODD, ORD,PRED,ROUND,SIN,SQR,SQRT,SUCC,TRUNC 過程名:DISPOSE,GET,NEW,PACK,PAGE,PUT,READ,READLN, RESET,REWRITE,UNPACK,WRITE,WRITELN注意:注意:單詞不要寫錯(cuò),不分大小寫。2、 自定義標(biāo)識符:在程序中需要,由用戶自己定義的,要注意以下幾個(gè)問題: 禁止使用關(guān)鍵字、標(biāo)準(zhǔn)標(biāo)識符作標(biāo)識符; 盡量做到“見名知義”; 標(biāo)識符要先說明后使用。四、 數(shù)據(jù)類型1、 計(jì)算機(jī)處理的對象就是數(shù)據(jù),數(shù)據(jù)的一個(gè)重要特征就是它的類型,類型決定了它可以進(jìn)行的運(yùn)算、它可能取值的范圍、它需要占用的計(jì)算機(jī)空間。2、 四種簡單的標(biāo)準(zhǔn)數(shù)據(jù)類型: INTEGER:整形,3276832767;占用2個(gè)字節(jié); REAL:實(shí)形,10-38 1038,-1038 -10-38 ;關(guān)于“溢出”; 占用4個(gè)字節(jié); CHAR:字符型,能顯示和打印輸出的字符,如“A”,“=”,“a”; 占用1個(gè)字節(jié); BOOLEAN:布爾型(邏輯型),TRUE(真)、FALSE(假);占用1個(gè)字節(jié);五、 常量在程序運(yùn)行過程中,其值不能被改變的量,稱為“常量”。 如:MAXINT(32767),PI=3.1415926,“A”,TRUE,F(xiàn)ALSE。1、 整形常量:MAXINT MAXINT12、 實(shí)形常量: 表示方法:十進(jìn)制表示法,如123456.789,7.55,0.012 科學(xué)計(jì)數(shù)法,如120000000,即1.2*108 ,應(yīng)寫成1.2E+8 0.000000012,即1.2*108,應(yīng)寫成1.2E83、 字符常量:ASCII碼字符集,256個(gè),記住幾個(gè)關(guān)鍵的。4、 布爾常量:FALSET 的含義。七、 標(biāo)準(zhǔn)函數(shù)PASCAL預(yù)先寫好的一些有用的小程序,供用戶直接調(diào)用,稱為標(biāo)準(zhǔn)函數(shù)。函數(shù)的作用:得到一個(gè)值;調(diào)用方法:函數(shù)名(參數(shù));函數(shù)的兩個(gè)注意問題:自變量的類型,函數(shù)值的類型;1、 算術(shù)函數(shù):8個(gè) ABS(X):X可以為INTEGER 或 REAL,作用求X的絕對值; SQR(X):X可以為INTEGER 或 REAL,作用求X的平方值; SQRT(X):X可以為非負(fù)整數(shù) 或非負(fù)實(shí)數(shù),作用求X的絕對值; SIN(X):正弦; COS(X):余弦; ARCTAN(X):反正切; EXP(X):指數(shù),X可以為INTEGER 或 REAL,作用求e的X次方; e=2.71828 LN(X):自然對數(shù),X為正整數(shù)或正實(shí)數(shù),作用求X的自然對數(shù);2、 轉(zhuǎn)換函數(shù):4個(gè) TRUNC(X):截尾,X為REAL,作用去掉X的小數(shù)部分; ROUND(X):舍入,X為REAL,作用為小數(shù)部分四舍五入; ORD(X):序號,X為INTEGER、CHAR、BOOLEAN,作用求X的序號; CHR(X):字符,X為INTEGER,作用求以X為序號的字符,是ORD函數(shù)的反函數(shù);ASCII碼:見表將字符轉(zhuǎn)換為數(shù)字:ORD(X)ORD(0);記住“A”、“a”、“0”的ASCII碼便行,其它可計(jì)算出。3、 順序函數(shù):2個(gè)PRED(X):前驅(qū),X為INTEGER、CHAR、BOOLEAN,作用取X的前一個(gè)數(shù)據(jù)。 SUCC(X):后繼,X為INTEGER、CHAR、BOOLEAN,作用取X的后一個(gè)數(shù)據(jù)。注意:第一個(gè)數(shù)沒有前驅(qū),最后一個(gè)數(shù)沒有后繼。4、 邏輯判斷函數(shù):3個(gè)ODD(X):奇函數(shù),X為INTEGER,判斷X是奇數(shù)還是偶數(shù), 若X為奇數(shù)則值為TRUE(1),否則值為FALSE(0);OLN(X):行結(jié)束函數(shù),判斷一換是否結(jié)束; EOF(X):文件結(jié)束函數(shù),判斷文件是否結(jié)束;八、 算術(shù)運(yùn)算符加(+)減(-)乘(*)除(/):運(yùn)算數(shù)都可以是INTEGER或REAL; 結(jié)果為INTERGER或REAL(“/”的結(jié)果必為REAL)整數(shù)除DIV:運(yùn)算數(shù)都是INTEGER,結(jié)果也是INTEGER; 如:16 DIV 3 = 5 ;-21 DIV 2 = -10;求 余MOD:運(yùn)算數(shù)都是INTEGER,結(jié)果也是INTEGER; 如:16 MOD 3 = 1 ;-21 MOD 2 = -1;九、 表達(dá)式1、 數(shù)學(xué)表達(dá)式: 運(yùn)算順序:圓括號()函數(shù)*、/、DIV、MOD+、;內(nèi)層括號優(yōu)先。(X+2*Y)/(3*X5*Y) X+2Y 3X-5Y(COS(X)+4)/(X*X*X)COSX+4 X3A*X*X+B*X+CAX2+BX+CSQRT(P*(P-A)*(P-B)*(P-C)P(P-A)(P-B)(P-C)ABS(XY)/3) X-Y 32、 關(guān)系表達(dá)式:兩個(gè)數(shù)據(jù)的比較運(yùn)算,其結(jié)果為布爾值(真或假)關(guān)系運(yùn)算符:大于()、等于(=)、小于(=)、 小于等于(=)、不等于()如: 156 結(jié)果為真(TRUE); 7.68.9結(jié)果為假(FALSE); AB結(jié)果為假; TRUEFALSE 結(jié)果為真; 注意:3.1415926=3.1415927 ?不一定,因?yàn)閷?shí)數(shù)在計(jì)算機(jī)內(nèi)是按照近似值存放的,所以是否相等取決于題目(你)的要求。一般要比較兩個(gè)實(shí)數(shù)X,Y是否相等,可假設(shè)一個(gè)很小的數(shù)MIN(根據(jù)題目(自己)的要求定),如果ABS(X-Y)0; NOT (A0):取反; (X0) AND (Y0):而且; (X0) OR (Y0):或者;舉例:已知X=4,Y=5,Z=6,B1=TRUE,B2=FALSE,B3=TRUE, 求下列表達(dá)式的值。 X+3*Y-6*Z :TRUE; (X6) OR (Y3) AND B1 :FALSE; (B1=B2) AND NOT (B2 OR B3 ):FALSE; NOT B2 AND NOT ( XY) :FALSE;TURBO PASCAL 7.0 的使用1、TP7.0的安裝:雙擊tp7.0一直按“Y”+ 回車就會出現(xiàn)Tp目錄找到Tp目錄“右鍵單擊”Turbo.exe圖標(biāo)選擇“屬性” 再單擊“程序”標(biāo)簽單擊“高級”按扭選擇“必要時(shí)建議MS-DOS方式” 還可以修改“屏幕”的大小全部改好后按“確定”就可以用TP了。注意其它一些選項(xiàng)不要修改。2、啟動和退出:雙擊C:雙擊TP子目錄雙擊快捷方式圖標(biāo)TURBO進(jìn)入TP;也可以在桌面上建立一個(gè)TURBO快捷方式;退出時(shí)單擊“FILE”“EXIT”關(guān)閉TP窗口;3、TP的使用:輸入源程序;存盤:單擊“FILE”選擇“SAVE”C:文件名(或A:)回車(單擊OK); 或按“F2”鍵。編譯:檢查程序有無語法和邏輯上的錯(cuò)誤。單擊“COMPILE”“COMPILE”出現(xiàn)錯(cuò)誤提示就修改光標(biāo)附近的錯(cuò)誤,直至出現(xiàn)“success”的窗口,表示你的程序在語法和邏輯上完全正確,再次保存;但是否滿足題目的要求,即功能上是否正確還不知道?;虬础癆LT”+“F6”。運(yùn)行:單擊“RUN”“RUN”輸入數(shù)據(jù)后回車確認(rèn); 或按“CTRL”+“F9”。看結(jié)果:單擊“DEBUG”“USER SCREEN”,看結(jié)果是否正確按任意鍵返回TP窗口(有錯(cuò)誤,則修改源程序再編譯、運(yùn)行、保存,直至結(jié)果正確); 注意:一個(gè)輸入數(shù)據(jù)得到的結(jié)果正確并不能說明你的程序?qū)θ魏屋斎氲臄?shù)據(jù)都對,所以要多用一些數(shù)據(jù)去測試程序的正確性。再編一個(gè)新程序:一定要單擊“FILE”“NEW”;千萬不能把幾個(gè)程序保存在一個(gè)文件中,一個(gè)程序就對應(yīng)著一個(gè)文件?;蛳汝P(guān)閉前程序(WINDOWCLOSE);打開已有程序:單擊“FILE”“OPEN”文件名(路徑結(jié)合OPEN按鈕);“CTRL”+“C”或“CTRL”+“BREAK”終止程序的運(yùn)行(因?yàn)檫壿嬪e(cuò)誤出現(xiàn)黑屏或死循環(huán)),退到編輯狀態(tài)。增加觀察窗口:“DEBUG”“WATCH”;增加輸出屏幕窗口:“DEBUGOUTPUT”;改變各個(gè)窗口的大小和位置:拖動鼠標(biāo)(右下角、上端等);增加跟蹤變量:先激活觀察窗口(WATCH窗口):按“INSERT”鍵輸入變量名或數(shù)組名等單步跟蹤(用F7或F8鍵,區(qū)別是F7連子程序也一起跟蹤,而F8只跟蹤主程序,把子程序當(dāng)一個(gè)語句調(diào)用執(zhí)行。)出現(xiàn)錯(cuò)誤,按F9鍵回到編輯窗口修改保存后再跟蹤。順序結(jié)構(gòu)(一)一、程序:是由若干條語句組成的。一條語句完成一個(gè)動作或功能,若干條語句組合在一起便可以完成一個(gè)任務(wù),實(shí)現(xiàn)用戶的意圖。因此,能否正確利用語句的功能來達(dá)到預(yù)定的要求,是程序設(shè)計(jì)的關(guān)鍵。二、程序的三種基本結(jié)構(gòu)1、 順序結(jié)構(gòu):按照語句的書寫順序,依次執(zhí)行。2、 選擇結(jié)構(gòu)(分支結(jié)構(gòu)):根據(jù)給定的條件,判斷成立與否,成立做一件事, 不成立做另外一件事。兩件事必須做一件且只能做一件。3、 循環(huán)結(jié)構(gòu)(重復(fù)結(jié)構(gòu)):重復(fù)做某件事。3種: 計(jì)數(shù)循環(huán):重復(fù)執(zhí)行的次數(shù)確定; 當(dāng)型循環(huán):當(dāng)條件成立時(shí),反復(fù)做某件事; 直到型循環(huán):反復(fù)做某件事,直到條件成立時(shí)為止。三、補(bǔ)充介紹TP70系統(tǒng)的使用:以用WRITELN語句打印OK圖形為例,也可以讓學(xué)生自由發(fā)揮,調(diào)動學(xué)生的積極性。* * * * * * * * * * * * * * * * * * * * * * * *四、輸出語句:寫語句1、命令: WRITE( 輸出項(xiàng) ); 或 WRITELN( 輸出項(xiàng) ); 2、說明:輸出項(xiàng)可以是字符串:用單引號引起來的一串字符,如WRTIE(*); 數(shù)值常量:如WRITE(8); 變量:輸出變量的值,注意變量必須要先定義再賦值,然后才可以輸出值,如WRITE(A); 表達(dá)式:輸出表達(dá)式的值,表達(dá)式必須正確,如WRITE(A+B); 可以有多個(gè)不同類型的輸出項(xiàng),之間用逗號隔開。 如WRITE(A=,A);WRITE(X,X+2,Y,Z);3、 兩者區(qū)別:WRITE連續(xù)輸出;而WRITELN輸出完后會自動換行; :WRITE至少有1個(gè)輸出項(xiàng);而WRITELN可以無,表示換一行; :WRITE(X,Y)=WRITE(X);WRITE(Y); 而WRITELN(X,Y)= WRITE(X);WRITELN(Y); WRITELN(X);WRITELN(Y);五、賦值語句1、 語句格式:變量名 := 表達(dá)式 ;2、 語句作用:先計(jì)算右邊表達(dá)式的值,然后賦給左邊的變量;賦值號 :=3、 變量要遵循“先說明后使用”的原則;說明方法:VAR 變量名 : 類型名;注 意:說明必須在VAR之前,一個(gè)程序中只要1個(gè)VAR,相同類型的變量可以一起說明,多個(gè)變量之間用逗號隔開就行了;4、 右邊表達(dá)式必須有確定的值,且類型必須與左邊的變量一致;例:已知梯形的上底、下底和高,編程求梯形的面積。PROGRAM TIXINGMIANJI(INPUT,OUTPUT); VAR A,B,H,S:REAL;BEGIN A:=5; B:=8; H:=9; S:=(A+B)*H/2; WRITELN(TI XING MIAN JI WEI :,S);END.屏幕顯示為:TI XING MIAN JI WEI :5.8500000000E+01 為什么結(jié)果不是58.5呢?因?yàn)橛?jì)算機(jī)內(nèi)部以科學(xué)計(jì)數(shù)法表示實(shí)數(shù),要想以小數(shù)形式表示,需要用到場寬。場寬:數(shù)據(jù)輸出時(shí)所占據(jù)的列數(shù),稱為場寬;單場寬:對于INTEGER、CHAR、BOOLEAN、字符串,一般用一個(gè)數(shù)值限定數(shù)據(jù)輸出的場寬,如WRITELN(X:N);N要不小于數(shù)據(jù)的長度。N大時(shí)左邊補(bǔ)空格;雙場寬:用來控制REAL數(shù)據(jù)的輸出格式,如WRITELN(X:N1:N2);N1表示輸出X的總列數(shù)(包括符號位、整數(shù)部分、小數(shù)點(diǎn)、小數(shù)部分),N2表示小數(shù)部分的列數(shù)。輸出時(shí),先把小數(shù)位數(shù)右邊補(bǔ)0,再在整個(gè)數(shù)的左邊補(bǔ)空格。例:寫出下面程序的運(yùn)行結(jié)果VAR A:INTEGER;B:REAL;C:CHAR;D:BOOLEAN;BEGIN A:=1357; B:=1234.5678; C:= % ; D:=TRUE; WRITELN(A,A:5,A:3); WRITELN(B,B:12:5,B:10:2); WRITELN(C,C:5); WRITELN(D,D:5,D:2); WRITELN( END. );END.屏幕顯示為:135713571357 1.2345678000E+031234.56780%TRUETRUETRUEEND.作業(yè):1、已知一個(gè)學(xué)生的語文成績?yōu)?9,數(shù)學(xué)成績?yōu)?6,外語成績?yōu)?9,編程求他的總分和平均成績。 2、已知直角三角形的兩個(gè)直角邊分別為10、15,編程計(jì)算它的面積。順序結(jié)構(gòu)(二)一、 輸入語句:讀語句 引出:在程序中為了變量獲得一個(gè)確切的值,可以用賦值語句。但有時(shí)候,程序中需要賦值的變量很多或變量的值經(jīng)常變化。這時(shí),我們往往要修改源程序,這樣的程序通用性就不好。一個(gè)好的程序應(yīng)該是在程序運(yùn)行需要的時(shí)候,提示用戶從鍵盤輸入原始數(shù)據(jù),然后程序繼續(xù)運(yùn)行求得結(jié)果,而不需要修改源程序。1、 語句格式: READ(輸入項(xiàng));或READLN(輸入項(xiàng)); 如:READ(A); READ(A,B,C); READLN(A);2、 語義:程序執(zhí)行到這個(gè)語句時(shí),就等待用戶從鍵盤輸入數(shù)據(jù),并依次賦給相應(yīng)的變量。 3、 說明:輸入的數(shù)據(jù)個(gè)數(shù)要與需要的一致;(整型和實(shí)型數(shù)據(jù)之間用空格或回車鍵隔開, 最后要用回車表示數(shù)據(jù)輸入完畢,讓程序繼續(xù)運(yùn)行) 輸入的數(shù)據(jù)類型要與需要的相對應(yīng);(整數(shù)可以給實(shí)數(shù)) READ和READLN的區(qū)別:幾個(gè)READ語句連續(xù)讀,中間不換行,只有當(dāng)一行數(shù)據(jù)個(gè)數(shù)不夠時(shí)才換到下一行繼續(xù)讀;而每個(gè)READLN語句讀完后都自動換行。而且READ語句一定要有輸入,而READLN可以沒有輸入,表示讀入一個(gè)回車換行符(換行)。 所以,建議用READLN,輸入時(shí)一行對應(yīng)一個(gè)READLN語句。并且在READ或READLN語句前最好加上個(gè)WRITE或WRITELN提示用戶輸入數(shù)據(jù)的名稱、個(gè)數(shù)、類型。4、 舉例:例:設(shè)程序中有兩個(gè)語句(ERAD(A,B,C);READ(D,E,F(xiàn),G);),當(dāng)從鍵盤分別輸入以下兩批數(shù)據(jù)時(shí),各變量的值分別為多少? 678910 5432 67 8910 54321若語句改為READLN(A,B,C);READLN(D,E,F(xiàn),G);呢?例:設(shè)有下列語句:READ(A,B,C); READLN(D,E); READLN; READLN(F,G); 其中變量都是INTEGER,輸入數(shù)據(jù)如下: 12 345678 910 11 1213 問:各變量值為多少?將上一節(jié)課的例題全部用讀入語句改寫:1、已知梯形的上底、下底和高,編程求梯形的面積。2、已知一個(gè)學(xué)生的語文成績89,數(shù)學(xué)成績96,外語成績99,編程求他的總分和平均成績。注意:一定要強(qiáng)調(diào)分析題目,找出已知什么,輸出什么,如何做,用什么語句,按什么程序。例:讀入一個(gè)四位數(shù),分別求它的個(gè)位、十位、百位、千位。 VAR A,G,S,B,Q:INTEGER;BEGIN WRITELN(PLEASE INPUT A SI WEI INTEGER:); READLN(A); G:=A MOD 10; S:=(A G)DIV 10) MOD 10; Q:=A DIV 1000; B:=(A 1000*Q) DIV 100; WRITELN(G:,G,S:,S,B:,B,Q:,Q);END. (或者:在G,Q,B后面加上S:=(A-G-B*100-Q*1000)DIV 10;也行)例:輸入一個(gè)三位自然數(shù),把這個(gè)數(shù)的百位數(shù)與個(gè)位數(shù)對調(diào),輸出對調(diào)后的數(shù)。分析:設(shè)輸入的數(shù)為M,對調(diào)后的數(shù)為N,則: A:=M DIV 100;(百位) B:=(M DIV 10 )MOD 10;(十位) C:=M MOD 10;(個(gè)位) N:=C*100+B*10+A;作業(yè):完成程序。選擇結(jié)構(gòu)的程序設(shè)計(jì)(一)引言:在日常生活中,我們經(jīng)常遇到根據(jù)具體情況的不同而去做具體的事,比如:若星期天下雨,我就在家看書,否則我就去踢足球。我們可以畫出這個(gè)語句的N-S圖(見圖1):A0星期天下雨YNYN打印A打印A踢足球在家看書 圖1 圖2在我們的程序設(shè)計(jì)過程中,我們也會經(jīng)常遇到這種情況,即判斷某一個(gè)條件是否成立
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62087-5:2015 RU Audio,video,and related equipment - Determination of power consumption - Part 5: Set-top-boxes
- 【正版授權(quán)】 IEC 60287-2-2:1995 FR-D Electric cables - Calculation of the current rating - Part 2: Thermal resistance - Section 2: A method for calculating reduction factors for groups o
- 【正版授權(quán)】 IEC 60245-3:1994/AMD1:1997 FR-D Amendment 1 - Rubber insulated cables - Rated voltages up to and including 450/750 V - Part 3: Heat resistant silicone insulated cables
- 娛樂產(chǎn)業(yè)消費(fèi)者行為研究數(shù)據(jù)表
- 財(cái)務(wù)狀況月度報(bào)表
- 醫(yī)藥領(lǐng)域黨建考試試題及答案
- 六一售后活動方案
- 六一小班美食節(jié)活動方案
- 醫(yī)學(xué)技能考試試題及答案
- 六一活動劇透活動方案
- 《基于核心素養(yǎng)的中學(xué)數(shù)學(xué)探究式教學(xué)研究》2300字(論文)
- 四川省成都市2023-2024學(xué)年六年級上學(xué)期語文期末試卷(含答案)
- 2024精神堡壘制作安裝合同
- 江蘇省蘇州市2023-2024學(xué)年高二年級下學(xué)期學(xué)業(yè)質(zhì)量陽光指標(biāo)調(diào)研卷暨6月期末考試+地理試卷
- 化工公司安全知識競賽題庫(共1000題)
- 首都經(jīng)濟(jì)貿(mào)易大學(xué)管理信息系統(tǒng)期末考試試卷
- 有機(jī)化學(xué)(下)(華東理工大學(xué))智慧樹知到答案2024年華東理工大學(xué)
- DLT 572-2021 電力變壓器運(yùn)行規(guī)程
- DL∕T 1430-2015 變電設(shè)備在線監(jiān)測系統(tǒng)技術(shù)導(dǎo)則
- 光伏項(xiàng)目系統(tǒng)調(diào)試方案
- AQ/T 1089-2020 煤礦加固煤巖體用高分子材料(正式版)
評論
0/150
提交評論