版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Pascal程序設(shè)計(jì)基礎(chǔ),,信息學(xué)奧林匹克競賽,信息學(xué)奧林匹克競賽是一項(xiàng)益智性的競賽活動(dòng),核心是考查選手的智力和使用計(jì)算機(jī)解題的能力。選手首先應(yīng)針對競賽中題目的要求構(gòu)建數(shù)學(xué)模型,進(jìn)而構(gòu)造出計(jì)算機(jī)可以接受的算法,之后要寫出高級語言程序,上機(jī)調(diào)試通過。程序設(shè)計(jì)是信息學(xué)奧林匹克競賽的基本功,在青少年朋友參與競賽活動(dòng)的第一步必須掌握一門高級語言及其程序設(shè)計(jì)方法。,兩個(gè)誤區(qū),誤區(qū)1信息學(xué)競賽 = “計(jì)算機(jī)”競賽誤區(qū)2信息學(xué)競賽 = “編程
2、”競賽,信息學(xué)奧林匹克競賽,考查選手以編程語言為工具來解決從具體問題中抽象出來的數(shù)學(xué)模型的能力幾個(gè)重要概念編程語言(工具)數(shù)據(jù)結(jié)構(gòu)(理論性工具)算法(理論),,,,,,比爾·蓋茨自小酷愛數(shù)學(xué)和計(jì)算機(jī),在中學(xué)時(shí)就已成為有名的“電腦迷”。1975年1月,他與好朋友艾倫在哈佛大學(xué)的阿肯計(jì)算機(jī)中心沒日沒夜地干了8周,為世界上最早的微型計(jì)算機(jī)Altair配上Basic語言。隨后還創(chuàng)立了微軟公司。蓋茨領(lǐng)導(dǎo)設(shè)計(jì)了多種功能強(qiáng)大的軟件
3、,成為計(jì)算機(jī)軟件的全球霸主,使他最終成為全球首富。學(xué)好信息學(xué)競賽|_____ 專業(yè)素養(yǎng)(數(shù)學(xué)、計(jì)算機(jī)、英語……)|_____ 非智力因素(毅力、細(xì)心、創(chuàng)新……),第一講:初識Pascal語言,計(jì)算機(jī)解題能力建構(gòu)數(shù)學(xué)模型——設(shè)計(jì)算法——寫出程序——上機(jī)調(diào)試。,課程目標(biāo):熟記Pascal語言的基本概念 熟悉Pascal的上機(jī)操作環(huán)境 會(huì)讀、會(huì)編、會(huì)調(diào)試Pascal程序,課程要求:多上機(jī)實(shí)踐,P
4、ascal語言概述,自然語言 信息交流(地位平等) 有思維、推理能力 語法規(guī)則、句法規(guī)則靈活 (可省略、顛倒) 表達(dá)方式多樣,Pascal語言 人機(jī)對話(命令方式) 有計(jì)算、邏輯判斷的能力 語法句法固定 (按部就班) 算法多樣,學(xué)習(xí)要點(diǎn):學(xué)會(huì)Pascal的語法、句法; 學(xué)會(huì)算法分析與算法設(shè)計(jì);,Pascal語言的特點(diǎn),結(jié)構(gòu)化豐富的數(shù)據(jù)類型能適應(yīng)與數(shù)值運(yùn)算和非
5、數(shù)值運(yùn)算Pascal的程序書寫比較自由……因此我們選擇Pascal作為程序設(shè)計(jì)課程的教學(xué)語言。,什么是算法?,解決問題的方法怎么描述算法?我們可以用自然語言或者是用流程圖,用自然語言描述算法:,例1 交換A和B的值。,(1)給A和B賦初值;,(2)將A的值給X;,(3)將B的值給A;,(4)將X的值給B;,(5)輸出A和B的值。,例2 將A和B中較大的值給MAX。,(1)給A和B賦初值;,(2)將A的值給MAX;,(3)比較
6、:B>MAX嗎?如果條件成立,則將B的值給MAX;,(4)輸出MAX的值。,Pascal的運(yùn)行環(huán)境,如何啟動(dòng)窗口介紹新建程序窗口程序的輸入、編輯、運(yùn)行程序的保存與打開,Free Pascal語言系統(tǒng)的使用,目前,常用的最新版Pascal語言系統(tǒng)有Turbo PASCAL 7.0 與Free Pascal1.0.10( Lazarus0.9包含F(xiàn)reepass 1.0.10)及Borland Pascal ,下面我們就來學(xué)習(xí)
7、Free Pascal 1.0.10系統(tǒng)的使用。1. 系統(tǒng)的啟動(dòng) 在運(yùn)行系統(tǒng)目錄下的bin目錄下,啟動(dòng)程序FP.EXE,即可啟動(dòng)系統(tǒng)。屏幕上出現(xiàn)如圖1所示的集成環(huán)境。2. Free Pascal系統(tǒng)集成環(huán)境簡介 最頂上一行為主菜單。中間藍(lán)色框內(nèi)為編輯窗口,在它個(gè)編輯窗口內(nèi)可以進(jìn)行程序的編輯。最底下一行為提示行,顯示出系統(tǒng)中常用命令的快捷鍵,如將當(dāng)前編輯窗口中文件存盤的命令快捷鍵為F2,獲得系統(tǒng)幫助的快捷鍵為F1,等等。,
8、,,3. 新建程序窗口 按F10進(jìn)行主菜單,選擇FILE菜單,執(zhí)行其中New命令。就可建立一個(gè)新的程序窗口(默認(rèn)文件名為Noname00.pas或Noname01.pas等)。4. 程序的輸入、編輯與運(yùn)行 在當(dāng)前程序窗口中,一行一行的輸入程序。事實(shí)上,程序窗口是一個(gè)全屏幕編輯器。所以對程序的編輯與其它編輯器的編輯方法類似,這里不再重復(fù)?! ‘?dāng)程序輸入完畢之后,一般要先按Alt+F9(或執(zhí)行compile菜單中compi
9、le命令)對程序進(jìn)行編譯。如果程序有語法錯(cuò)誤,則會(huì)在程序窗口的第一行處顯示第一個(gè)紅色錯(cuò)誤信息。若無語法錯(cuò)誤,則窗口正中央會(huì)出現(xiàn)一個(gè)對話框,提示編譯成功。接下來,我們可以運(yùn)行程序了。程序的運(yùn)行可以通過按ALT+R打開RUN菜單中的RUN命令,或直接按快捷鍵CTRL+F9。則可以在用戶窗口中輸出運(yùn)行結(jié)果。通常在程序運(yùn)行結(jié)束后系統(tǒng)回到Pascal系統(tǒng)的集成環(huán)境,因此要查看運(yùn)行結(jié)果,要按ALT+F5將屏幕切換到用戶屏幕。,,5.程序的保存與打
10、開 當(dāng)我們想把程序窗口中的程序存入磁盤時(shí),可以通過按F2鍵(或執(zhí)行File菜單中的save命令)來保存程序。第一次保存文件時(shí)屏幕上會(huì)出現(xiàn)一個(gè)對話框要求輸入文件名(默認(rèn)擴(kuò)展名為.pas)?! ‘?dāng)我們要將磁盤上的程序文件中的PASCAL程序裝入窗口時(shí),可按F3(或執(zhí)行File菜單中的Open命令)來裝入程序,此時(shí)系統(tǒng)也會(huì)彈出一個(gè)對話框要求輸入要打開的文件名,或直接在文件對話框列表中選擇所要的文件,然后回到打開文件。,程序運(yùn)行步驟,
11、FILE?NEW 新建一個(gè)PASCAL文件;輸入,編輯源程序;F2 保存源程序,并命名;ALT+F9 編譯源程序,看有無錯(cuò)誤;如有修改,保存再編譯;CTRL+F9則可以在用戶窗口中輸出運(yùn)行結(jié)果。 要查看運(yùn)行結(jié)果,要按ALT+F5將屏幕切換到用戶屏幕。,一個(gè)簡單的pascal例子,Program exam1; {程序的首部} var r,c,s:integer; {程序的說明部分}Begin readln(
12、r); {讀入圓的半徑r} c:=3*2*r; {求圓的周長c} s:=3*r*r; {求圓的面積s} writeln(c,s); {輸出圓的周長與面積}End.,求兩個(gè)數(shù)的和,Program qiuhe;Var a,b,c:integer; Begin a:=3; b:=4; c:=a+b; Write(c); end.,Program qiuhe
13、;Var a,b,c:integer;BeginReadln(a,b)C:=a+b;Write(c);End.,在屏幕上顯示3這個(gè)數(shù),Program xianshiBegin write(3);End.,Program xianshi;Begin write(3);End.,,Program bill;Begin write(‘Bill Gages’); write(500)End.,,在屏幕上顯
14、示3這個(gè)數(shù),在屏幕上顯示比爾·蓋茨的基本信息;,在程序的主體部分有什么共同的語言?,Program 程序名; …… Var…… …… Begin write(3); End.,,,,說明部分,執(zhí)行部分,程序體,,程序首部,1、Pascal程序的基本結(jié)構(gòu):,你能找出第一個(gè)程序的首部與程序體嗎?,2、 常量、變量、數(shù)據(jù)類型、運(yùn)算符,(一)常量(1)在程序運(yùn)行過程中,其值不能被改變的量稱為常量。(2)
15、常量定義出現(xiàn)在說明部分 定義符號常量的一般格式:CONST = 說明:常量說明部分以關(guān)鍵字const開頭, 后面的標(biāo)識符為常量標(biāo)識符,其中"="號后的常量為整數(shù)、實(shí)數(shù)、字符、 字符串(字符、字符串常量在后面章節(jié)中將作介紹)。而且,在常量說明部分可以將幾個(gè)常量說明成符號常量,共用一個(gè)關(guān)鍵字"const"。例如:,(2)變量:在程序運(yùn)行過程中,其值可以改變的量變量說明:
16、變量說明出現(xiàn)在說明部分 VAR[,]:; 其中VAR是pascal保留字,表示開始一個(gè)變量說明段, 每個(gè)變量標(biāo)識符或由逗號隔開的多個(gè)變量標(biāo)識, 必須在它的冒號后面說明成同一類型。 例如:varage,day:integer; year:integer;amount,average:real; 注意:1、有效變量名稱不能大于8個(gè)字符;2、變量名稱必須以字母開頭,其中,Integer(整型)、Real
17、(實(shí)型)是標(biāo)準(zhǔn)標(biāo)識符, 如age和 day 被定義為整型變量,amount和average被定義為實(shí)型變量。,(二)數(shù)據(jù)類型,Pascal語言提供了豐富的類型,可分為以下三大類簡單類型:分標(biāo)準(zhǔn)類型(整型、實(shí)型、字符型、布爾型)和用戶自定義型(枚舉型、子界型)構(gòu)造類型:數(shù)組類型、記錄類型、集合類型、文件類型指針類型整型、字符型、布爾型、枚舉型和子界型又稱為順序類型。,整數(shù)型,整數(shù)型包括:正整數(shù)、負(fù)整數(shù)和零。類型表式符號:inte
18、ger 整數(shù)只能由正負(fù)號和數(shù)字組成,不允許出現(xiàn)其他字符,“+”號可以省略。例:123,0,-256,+234非法:0.1,1A,12.2-32768(minint)~32767(maxint)Free pascal的整數(shù)類型:Longint:-2147483648~2147483648此外還有 shortint,byte,word等等,整數(shù)型,Pascal規(guī)定了兩個(gè)預(yù)定義整型常量表識符maxint和maxlonint,
19、他們各表示確定的常數(shù)值,maxint為32767, longint為2147483647,他們的類型分別是integer 和longint。,實(shí)數(shù)類型,實(shí)數(shù)類型包括正實(shí)數(shù)、負(fù)實(shí)數(shù)和零。類型標(biāo)識符為real;兩種方法表式實(shí)數(shù):十進(jìn)制表示:0,0.125,-5.4科學(xué)計(jì)數(shù)法:3.4E3表示3.4*103即3400 3.4E-3表示3.4*10-3即0.0034注意:指數(shù)部分不能為小數(shù) 整數(shù)部分不能省略,字符類型,
20、目前廣泛使用的ascii碼字符集滿足pascal對字符集的要求。字符類型標(biāo)識符為char;字符類型的數(shù)據(jù)就是括在兩個(gè)單引號之間的Pascal字符集。例如:‘A’,‘1’,‘:’分別表示字符A,數(shù)字字符1以及冒號。,布爾類型,布爾類型的數(shù)據(jù)只有兩個(gè):真和假,分別用標(biāo)準(zhǔn)常量true(真)和false(假)。字符類型標(biāo)識符為boolean;它是序列的,并且false<true。,(三)算術(shù)表達(dá)式,⑴定義:是由符合pascal語法規(guī)定
21、的運(yùn)算對象(包括常量、變量、函數(shù))、算術(shù)運(yùn)算符、圓括號組成的有意義的式子。如:A+3.14159*5/8.4-Abs(-1123)⑵常用的有以下6個(gè)算術(shù)運(yùn)算符:①?。?(加) ② - (減) ③?。?(乘)④ / (實(shí)數(shù)除)得到結(jié)果為實(shí)型 如5.0/2.0=2.5, 5/2= 2. 5,4/2=2.0而不等于2。⑤ DIV (整除) DIV它要求除數(shù)和被除數(shù)均為整型, 結(jié)果也為整型。如10 DIV 2=5,10
22、DIV 3=3, 5 DIV 10=0. -15 DIV 4= -3。DIV運(yùn)算只取商的整數(shù)部分,參與DIV運(yùn)算的兩個(gè)對象不能為實(shí)型。⑥ mod (求余),也只能用于整數(shù)運(yùn)算,結(jié)果為整數(shù)。例如:10 mod 4=2 , -17 mod 4= -1 , 4 mod (-3)=1, - 4 mod 3= -1,即 a mod b=a-(a div b)*b。,,,三、賦值語句,變量既然代表一個(gè)存儲(chǔ)單元,其值是可變的,那么其中的值是怎么提供
23、的,又是怎么改變的呢?可以通過賦值語句來進(jìn)行。1、 賦值語句的格式變量名:=表達(dá)式;其中":="稱為賦值號。2、 執(zhí)行過程計(jì)算機(jī)先計(jì)算賦值號右邊表達(dá)式的值,然后將表達(dá)式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1); A:=A+1,四、輸入語句,輸入語句的作用是將鍵盤中的數(shù)據(jù)輸入到程序中(一)輸入語句的兩種格式1、 read語句格式read(變量1,變量2,……);如:wri
24、te(a,b,c);2、 readln語句格式:readln(變量1,變量2,……); (二)輸出語句的功能 計(jì)算機(jī)執(zhí)行到某一輸入語句時(shí),將鍵盤中輸入的變量數(shù)值一個(gè)接一個(gè)地賦給變量?! ead語句與readln語句格式上都相似,但它們在功能上有所不同,兩個(gè)語句的區(qū)別在于,執(zhí)行readln后多余的數(shù)據(jù)將被忽略,執(zhí)行READ語句后的數(shù)據(jù)要么被忽略,要么被下一個(gè)read或readln語句所讀入,Read(a,b,c);Re
25、ad(I,j,k,l);Read(m,n);輸入數(shù)據(jù)為:1 2 3 4 5 6 7 8 9 010 20,,,,,格式1:write(輸出項(xiàng)1,輸出項(xiàng)2……); {作用:在同一行輸出各項(xiàng),最后光標(biāo)不換行}格式2: writeln(輸出項(xiàng)1,輸出項(xiàng)2……); {作用:在同一行輸出后,光標(biāo)換到下一行}格式3: writeln {作用:無輸出內(nèi)容,僅將光
26、標(biāo)換到下一行}注意: write語句至少有一個(gè)輸出項(xiàng)。,輸出語句的三種格式,五、輸出語句,輸出語句的作用是將程序運(yùn)算的結(jié)果輸出到屏幕或打印機(jī)等輸出設(shè)備。這里通常是指輸出到屏幕。(一)輸出語句的兩種格式1、 write語句格式Write(表達(dá)式1,表達(dá)式2,……);如:write(1,2,3,4); write(1.2,3.4,5); write(‘My name is Liping’);2、 writeln
27、語句格式:Write(表達(dá)式1,表達(dá)式2,……)格式3: writeln {作用:無輸出內(nèi)容,僅將光標(biāo)換到下一行}注意: write語句至少有一個(gè)輸出項(xiàng)。(二)輸出語句的功能 計(jì)算機(jī)執(zhí)行到某一輸出語句時(shí),先計(jì)算出輸出語句中的每個(gè)表達(dá)式的值,并將每一個(gè)表達(dá)式的值一個(gè)接一個(gè)地輸出到屏幕上。 Write語句與writeln語句格式上都相似,但它們在功能上有所不同,兩個(gè)語句的區(qū)別在于,writ
28、e語句將其后括號中的表達(dá)式一個(gè)接一個(gè)輸出后,沒有換行。而writeln語句則在輸出各個(gè)表達(dá)式的值后換行。,write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:123456四、應(yīng)用例,writeln語句,如果要輸出的是固定的字符(如Bill Gates),則要用單引號引??;如果要輸出的是數(shù)值(如500)或式子的值,就不要引住它。例:wr
29、iteln(‘America’) writeln(314),請思考:writeln(‘I am ‘, 9,’ years old’)的顯示結(jié)果.,I am 9 years old,二、輸出語句的說明:,1.所有的輸出內(nèi)容都放在圓括號內(nèi),多個(gè)輸出項(xiàng)時(shí),兩項(xiàng)間用逗號分隔;2.輸出項(xiàng)是一個(gè)數(shù)值或用單引號引著的一串字符時(shí),會(huì)把內(nèi)容原樣輸出;當(dāng)輸出項(xiàng)是一個(gè)式子時(shí),則會(huì)先計(jì)算式子的值再輸出;3.每個(gè)輸出項(xiàng)可設(shè)場寬,場寬表示輸出的
30、內(nèi)容要用多少個(gè)字符位顯示。,試一試,例:寫出語句的運(yùn)行結(jié)果 writeln(‘1+2+3+4=’:12,1+2+3+4),writeln(‘TS=‘,39,’+’,15,’=‘,15+39),1+2+3+4=10,TS=39+15=54,程序分析,程序1:Begin writeln(‘Time:’7,’ years’:6); writeln(‘Money:’,100:4,’million’:8)End.程序2:
31、Begin write(‘Time:’,7); writeln(‘ years’:6); Write(‘‘Money:’,100:4,’million’:8); WritelnEnd.,運(yùn)行并分析兩個(gè)程序的輸出格式,例3 P10 已知小雄的書包中放了3本書、5本作業(yè)本和2支筆,你能編程序讓計(jì)算機(jī)算算小雄的書包中有多少件學(xué)習(xí)用品嗎?請按以下格式輸出結(jié)果: shu zuoye bi zon
32、gshu 3 5 2 10 (學(xué)習(xí)用品總數(shù)要計(jì)算后輸出,設(shè)定寬度為5位),提示: Writeln(‘ shu zuoye bi zongshu’) Writeln(3:2,5:5,2:5,3+5+2:5),請完善并編寫調(diào)試此程序,展示實(shí)力P11,1.嚴(yán)格按輸出格式寫出以下兩段程序的運(yùn)行結(jié)果(1) begi
33、n write(‘I am’); write(9:3, ‘ years old’) end.Begin write(‘7*9=‘); write(7*9:5); writeln; writeln(8*9:10) end.,程序拓展
34、練習(xí),例1:查看程序運(yùn)行結(jié)果Program p3-1(input,output);Const a=1; b=2;Begin writeln(6); writeln(a); writeln(sqr(3)); writeln(a+b); writeln(‘a(chǎn)+b=‘,a+b); write(‘pi=‘); writeln(3.14);End.,6 1 9 3 a+b=3 Pi=3.14,例2:輸出兩個(gè)
35、自然數(shù)相除的商和余數(shù),例2:編程計(jì)算5×7,并輸出算式,program chenshi(input,output); const a=5; b=7; var c:integer; begin c:=a*b; write(a,’*’,b,’=’,c); end.,,,下面請同學(xué)們在PASCAL集成環(huán)境
36、中編輯并運(yùn)行下列程序:會(huì)提示輸入一個(gè)圓的半徑,然后計(jì)算出輸出圓的周長和面積。program ex1;ConstPi=3.14159;varR,c,s:real;beginwrite('r=');readln(r);C:=2*pi*r;S:=pi*r*r;writeln('c=',c);writeln('s=',s);end. 請輸入上面的程序,并練習(xí)將其存盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息學(xué)奧賽-算法教程-pascal
- 信息學(xué)奧賽__算法入門教程
- 信息學(xué)奧賽——算法入門教程
- 小學(xué)信息學(xué)奧賽教程
- 信息學(xué)奧賽noip初賽復(fù)習(xí)
- 信息學(xué)奧賽培訓(xùn)學(xué)習(xí)感受
- 提高信息學(xué)奧賽的一些方法
- 信息學(xué)奧賽問題求解帶答案
- 信息學(xué)奧賽基礎(chǔ)知識習(xí)題
- 信息學(xué)奧賽問題求解(帶答案)
- 信息學(xué)奧賽教程c++版
- 信息學(xué)奧賽基礎(chǔ)知識講義
- 小學(xué)信息學(xué)奧賽基礎(chǔ)知識
- 高一信息學(xué)奧賽班組隊(duì)選拔試題
- 第一講信息及其獲取
- 2011信息學(xué)奧賽初賽模擬題
- 信息學(xué)奧賽培訓(xùn)教程c++版
- 信息學(xué)奧賽培訓(xùn)教程c++版
- 第一講 信息披露及其解讀
- 小升初奧數(shù)專題-第一講行程問題
評論
0/150
提交評論