PASCAL語言介紹(1)_第1頁
PASCAL語言介紹(1)_第2頁
PASCAL語言介紹(1)_第3頁
PASCAL語言介紹(1)_第4頁
PASCAL語言介紹(1)_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、全國青少年信息學(xué)奧林匹克聯(lián)賽(National Olympiad in Informatics in Provinces, 簡稱NOIP) 比賽中使用的程序設(shè)計語言是:PASCAL或C/C+10月份舉行初賽初賽全部為筆試,滿分100分。試題由四部分組成:1、選擇題:共20題,每題1.5分,共計30分。每題有5個備選答案,前10個題為單選題(即每題有且只有一個正確答案,選對得分),后10題為不定項選擇題(即每題有1至5個正確答案,只有全部選對才得分)。普及組20個都是單選題。2、問題求解題:共2題,每題5分,共計10分。試題給出一個敘述較為簡單的問題,要求學(xué)生對問題進行分析,找到一個合適的算法,

2、并推算出問題的解??忌o出的答案與標(biāo)準(zhǔn)答案相同,則得分;否則不得分。3、程序閱讀理解題:共4題,每題8分,共計32分。題目給出一段程序(不一定有關(guān)于程序功能的說明),考生通過閱讀理解該段程序給出程序的輸出。輸出與標(biāo)準(zhǔn)答案一致,則得分;否則不得分。4、程序完善題:共2題,每題14分,共計28分。題目給出一段關(guān)于程序功能的文字說明,然后給出一段程序代碼,在代碼中略去了若干個語句或語句的一部分并在這些位置給出空格,要求考生根據(jù)程序的功能說明和代碼的上下文,填出被略去的語句。填對則得分;否則不得分。 復(fù)賽 復(fù)賽的題型全部為上機編程題。題目包括4道題,每題100分,共計400分。每一試題包括:題目、問題

3、描述、輸入輸出要求、樣例描述及相關(guān)說明。測試時,測試程序為每道題提供了5-10組測試數(shù)據(jù),考生程序每答對一組得1020分,累計分即為該道題的得分。l計算機基礎(chǔ)知識計算機基礎(chǔ)知識1 計算機的產(chǎn)生與發(fā)展計算機的產(chǎn)生與發(fā)展2 計算機系統(tǒng)組成及工作原理計算機系統(tǒng)組成及工作原理3 計算機中有關(guān)數(shù)及編碼的知識計算機中有關(guān)數(shù)及編碼的知識l操作系統(tǒng)簡介操作系統(tǒng)簡介1 文件和目錄文件和目錄2 命令命令奧賽大綱l計算機網(wǎng)絡(luò)常識計算機網(wǎng)絡(luò)常識1 網(wǎng)絡(luò)基礎(chǔ)知識網(wǎng)絡(luò)基礎(chǔ)知識2 Internet簡介簡介l計算機信息安全基礎(chǔ)知識計算機信息安全基礎(chǔ)知識1 計算機的網(wǎng)絡(luò)安全計算機的網(wǎng)絡(luò)安全2 計算機病毒計算機病毒事實上,即使有

4、了匯編語言(ASM語言),如果要它在屏幕上輸出“你好”兩個漢字,你也許需要讓它發(fā)送無數(shù)個指令給屏幕讓屏幕畫很多很多點。于是就誕生了更加高級的語言,比如Pascal語言。program hello_world;begin writeln(Hello World!);end.編譯器Compilerexe文件機器語言是一種只有計算機才讀得懂的語言,也是計算機唯一能夠直接讀懂的語言。這種語言只有兩個字母:0和1。Pascal是一種計算機通用的高級程序設(shè)計語言。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計并創(chuàng)立。以法國數(shù)學(xué)家命名的Pascal語言現(xiàn)已成為使用最廣泛的基于DOS的語言之一,其主要

5、特點有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運行效率高;查錯能力強。正因為Pascal語言可以被方便地用于描述各種算法與數(shù)據(jù)結(jié)構(gòu)。尤其是對于程序設(shè)計的初學(xué)者,Pascal語言有益于培養(yǎng)良好的程序設(shè)計風(fēng)格和習(xí)慣。IOI(國際奧林匹克信息學(xué)競賽)把Pascal語言作為三種程序設(shè)計語言之一, NOI(全國奧林匹克信息學(xué)競賽)把Pascal語言定為唯一提倡的程序設(shè)計語言,在大學(xué)中Pascal語言也常常被用作學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的教學(xué)語言。FPascal4NOI-2KXP文件 編輯查找運行 編譯調(diào)試工具選項窗口幫助菜單欄Free Pascal 程序首部程序首部說明部分說明部分執(zhí)行部分執(zhí)行部分程序體程序體

6、plus_b_1.pasplus_b_2.pasTurbo Pascal中的整型數(shù)中的整型數(shù)Turbo Pascal中的實型數(shù)中的實型數(shù)2.4 2.4 常量常量常量:在某個程序的整個過程中其值不變的量。常量:在某個程序的整個過程中其值不變的量。整型常量整型常量 整型常量采用我們平常使用的十進制整數(shù)表示。如整型常量采用我們平常使用的十進制整數(shù)表示。如 138,0,-512 等都是整型常量,而等都是整型常量,而18.0 都不是整型常量。都不是整型常量。 Pascal定義了:定義了:(1)整數(shù)常量:)整數(shù)常量:Maxint = 32767;(2)長整數(shù)常量:)長整數(shù)常量:MaxLongInt = 2

7、147483647;5.5.符號常量符號常量用一個標(biāo)識符來代表一個常量,稱為用一個標(biāo)識符來代表一個常量,稱為“符號常量符號常量” 。 定義符號常量的一般格式定義符號常量的一般格式: CONST = 常量說明部分既定義了常量說明部分既定義了常量名常量名及其及其值值,又隱含定義了常量的,又隱含定義了常量的類型類型。Const pi=3.14159; max=500;注意:注意: 符號常量一經(jīng)定義,在程序的符號常量一經(jīng)定義,在程序的執(zhí)行部分執(zhí)行部分就只能使就只能使用該常量標(biāo)識符,而不能修改其值。用該常量標(biāo)識符,而不能修改其值。 使用符號常量比直接用數(shù)值更能體現(xiàn)使用符號常量比直接用數(shù)值更能體現(xiàn)“見名知

8、義見名知義”的原則,也便于修改參數(shù),故一個較好的程序中,的原則,也便于修改參數(shù),故一個較好的程序中,應(yīng)盡量使用符號常量,在執(zhí)行部分基本上不出現(xiàn)直應(yīng)盡量使用符號常量,在執(zhí)行部分基本上不出現(xiàn)直接常量。接常量。2.5 2.5 變量變量(1)變量:變量:變量代表了一個變量代表了一個存儲單元存儲單元,其中的值是可變的,故,其中的值是可變的,故稱為變量。稱為變量。(2)變量三要素:變量名、變量類型、變量值。變量三要素:變量名、變量類型、變量值。例如:例如:vara,b,c:integer;m,n:real;ch:char; 2.62.6運算符和表達(dá)式運算符和表達(dá)式 (1)(1)運算符運算符a.a.算術(shù)運算

9、符算術(shù)運算符運算符運算符 運算運算對象結(jié)果類型運算運算對象結(jié)果類型+加整型、實型加整型、實型只要有一個運算對象是實型,結(jié)果就只要有一個運算對象是實型,結(jié)果就-減整型、實型減整型、實型是實型,如果全部的運算對象都是整是實型,如果全部的運算對象都是整*乘整型、實型乘整型、實型型并且運算不是除法,則結(jié)果為整型,型并且運算不是除法,則結(jié)果為整型,/除整型、實型除整型、實型若運算是除法,則結(jié)果是實型。若運算是除法,則結(jié)果是實型。div 整除整除 整型整型 整型整型mod 取余取余 整型整型 整型整型program ceshi;var a,b:integer; c:real;begin a:=4; b:=

10、5; c:=6.7; writeln(a,+,b,=,a+b); writeln(a,+,c,=,a+c:10); writeln(b,+,c,=,b+c:10); readln;end.4+5=94+ 6.7000000000E+00= 1.070E+015+ 6.7000000000E+00= 1.170E+01b.邏輯運算符邏輯運算符運算符運算運算對象結(jié)果類型運算符運算運算對象結(jié)果類型not邏輯非布爾型布爾型邏輯非布爾型布爾型and邏輯與布爾型布爾型邏輯與布爾型布爾型or 邏輯或布爾型布爾型邏輯或布爾型布爾型xor邏輯異或布爾型布爾型邏輯異或布爾型布爾型c.關(guān)系運算符關(guān)系運算符運算符運算

11、運算對象結(jié)果類型運算符運算運算對象結(jié)果類型=等于簡單類型布爾型等于簡單類型布爾型 不等于簡單類型布爾型不等于簡單類型布爾型大于簡單類型布爾型大于簡單類型布爾型= 大于等于簡單類型布爾型大于等于簡單類型布爾型(2)優(yōu)先級優(yōu)先級運算符優(yōu)先級運算符優(yōu)先級not1(高高)*,/,div,mod,and 2xor,+,-,or 3in,=,=,=, 4(低低)2.2.表達(dá)式表達(dá)式(1)算術(shù)表達(dá)式:算術(shù)表達(dá)式是由算術(shù)算術(shù)表達(dá)式:算術(shù)表達(dá)式是由算術(shù)運算符連接常量、變量、函數(shù)的式子。運算符連接常量、變量、函數(shù)的式子。 A+BC+D(A+B)/(C+D)B2-4ACSQRT(B*B-4*A*C)X0且且X0(X

12、=0)AND(X=0)(2)(2)布爾表達(dá)式:布爾表達(dá)式:Turbo PascalTurbo Pascal提供給布爾表提供給布爾表達(dá)式以下基本操作:邏輯運算和關(guān)系運算。達(dá)式以下基本操作:邏輯運算和關(guān)系運算。 2.7 賦值語句賦值語句(1)格式)格式 變量標(biāo)識符變量標(biāo)識符 := 表達(dá)式表達(dá)式 (2)語義)語義 賦值語句的執(zhí)行是賦值語句的執(zhí)行是“先計算,后賦值先計算,后賦值” 。即先計算。即先計算表達(dá)式表達(dá)式的值,然后將的值,然后將值賦給變量標(biāo)識符,具有值賦給變量標(biāo)識符,具有計算和賦值的雙重功能計算和賦值的雙重功能。 program ceshi;program ceshi;varvar num:i

13、nteger; num:integer;beginbegin num:=789; num:=789; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10; num:=num div 10;end.end. 2.8 輸出語句(寫語句)輸出語句(寫語句) 輸出語句的作用是將程序運算的結(jié)果輸出到屏幕或打印輸出語句的作用是將程序運算的結(jié)果輸出到屏幕或打印機等機等輸出設(shè)備輸出設(shè)備。這里通常是指輸出到。這里通常是指輸出到屏幕屏幕。 (一)輸出語句的兩種格式(一)輸出語句的兩種格式 1、wri

14、te語句語句 格式格式Write(表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,); 如如:write(1 , 2 , 3 , 4); write(a, b, c, d); write(My name is Li Ping!); 2、writeln語句語句 格式格式: Writeln(表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2,)或或writeln (二二)輸出語句的輸出語句的功能功能 計算機執(zhí)行到某一輸出語句時,計算機執(zhí)行到某一輸出語句時,先計算先計算出輸出語句中的每個表出輸出語句中的每個表達(dá)式的值,然達(dá)式的值,然后輸出后輸出到屏幕上。到屏幕上。write(1,2,3,4);write(5,6); writeln

15、(1,2,3,4);write(5,6); Write 語句與語句與 writeln 語句語句區(qū)別區(qū)別:(1)write語句輸出后,不換行;語句輸出后,不換行;(2)writeln語句輸出后,換行;語句輸出后,換行;1234561234 56 Writeln; 輸出空行或換行輸出空行或換行Writeln(x , y);Write(x , y);Writeln;例例1:某倉庫:某倉庫 5月月 1 日有糧食日有糧食 100 噸,噸,5月月 2 日又日又調(diào)進調(diào)進20 噸,噸,5月月 3 日賣出庫存的日賣出庫存的3 分之二,分之二,5月月 4日日又調(diào)進庫存的又調(diào)進庫存的 3 倍糧食,問該倉庫從倍糧食,

16、問該倉庫從 5 月月 1 日到日到 5 月月 4 日期間每天的糧食分別是多少噸?日期間每天的糧食分別是多少噸?(輸出每天的輸出每天的庫存量庫存量)例例2:有三個小朋友甲乙丙。甲有:有三個小朋友甲乙丙。甲有50粒糖果,乙有粒糖果,乙有43粒糖果,丙有粒糖果,丙有13粒糖果。現(xiàn)在他們做一個游戲。粒糖果。現(xiàn)在他們做一個游戲。從甲開始,將自己的糖分三份,自己留一份,其余從甲開始,將自己的糖分三份,自己留一份,其余兩份分別給乙與丙,多余的糖果自己吃掉,然后乙兩份分別給乙與丙,多余的糖果自己吃掉,然后乙與丙也依次這樣做。問最后甲、乙、丙三人各有多與丙也依次這樣做。問最后甲、乙、丙三人各有多少粒糖果?少粒糖

17、果?Program ex1; Var n : integer; Begin n:=100;Writeln(5.1:,n); 100 n:=n+20;Writeln(5.2:,n); 120n:=n div 3;writeln(5.3:,n); 40n:=n *4;writeln(5.4:,n); 160Readln; End. program ex2; var A,B,C:integer; begin A:=50;B:=43;C:=13; 初始狀態(tài)初始狀態(tài) A:=A div 3; B:=B+A;C:=C+A; 甲小朋友分糖果甲小朋友分糖果 B:=B div 3; A:=A+B;C:=C+B;

18、乙小朋友分糖果乙小朋友分糖果 C:=C div 3; A:=A+C;B:=B+C; 丙小朋友分糖果丙小朋友分糖果 writeln(A=,A,B=,B,C=,C); 輸出結(jié)果輸出結(jié)果 51 35 16 readln; end. (三)輸出語句的輸出格式(三)輸出語句的輸出格式 整數(shù)默認(rèn)輸出格式為:十進制數(shù);整數(shù)默認(rèn)輸出格式為:十進制數(shù);實數(shù)默認(rèn)輸出格式為:科學(xué)記數(shù)法;實數(shù)默認(rèn)輸出格式為:科學(xué)記數(shù)法;(如想用小數(shù)形式輸出,要自己另行定義)。(如想用小數(shù)形式輸出,要自己另行定義)。 默認(rèn)的輸出格式默認(rèn)的輸出格式 pascal語言為整型量、實型量、布爾型量和字語言為整型量、實型量、布爾型量和字符串符串

19、( 用一對單引號括起來的字符序列用一對單引號括起來的字符序列)規(guī)定了規(guī)定了每種數(shù)據(jù)所占的每種數(shù)據(jù)所占的寬度寬度(即一個數(shù)據(jù)占幾列即一個數(shù)據(jù)占幾列) ,一,一個數(shù)據(jù)所占的寬度稱為個數(shù)據(jù)所占的寬度稱為“場寬場寬”或或“字段寬字段寬” 。系統(tǒng)給出的默認(rèn)場寬稱為系統(tǒng)給出的默認(rèn)場寬稱為標(biāo)準(zhǔn)場寬標(biāo)準(zhǔn)場寬?!靖奖怼俊靖奖怼繕?biāo)準(zhǔn)標(biāo)準(zhǔn)Pascal指定場寬指定場寬 指定單場寬指定單場寬. 格式:格式:write(表達(dá)式表達(dá)式:N)或或writeln(表達(dá)式表達(dá)式:N),其中其中N為為自然數(shù)自然數(shù);若數(shù)據(jù)實際長度小于指定場寬時,則若數(shù)據(jù)實際長度小于指定場寬時,則“向右靠向右靠齊,左留空格齊,左留空格”。如如: wr

20、ite(1234:8);write(abcdef:12); 輸出結(jié)果輸出結(jié)果: 1234abcdef對于標(biāo)準(zhǔn)實型數(shù)據(jù)指定單場寬時,如果指定的寬度對于標(biāo)準(zhǔn)實型數(shù)據(jù)指定單場寬時,如果指定的寬度小于小于8位,則數(shù)據(jù)按位,則數(shù)據(jù)按8位格式位格式“ *.*Enn”輸出。輸出。指定雙場寬指定雙場寬 如果希望以如果希望以小數(shù)形式小數(shù)形式輸出實數(shù)輸出實數(shù),可以用指定可以用指定雙場寬雙場寬方法輸出。方法輸出。 格式為:格式為:write(實型表達(dá)式實型表達(dá)式:m:n),m :總寬度總寬度,n:小數(shù)位寬度。小數(shù)位寬度。如如 : write(sqrt(75):9:4); 輸出輸出:8.6602 思考思考1: wri

21、te(sqrt(75):5:4); 輸出輸出:8.6602思考思考2: write(sqrt(75):3:1); 輸出輸出:8.7【綜合實例】【綜合實例】【例【例3】 寫出寫出ex3的輸出結(jié)果的輸出結(jié)果. program ex3; const s=abcd; var i:integer; r:real; c:char; b:boolean; begin i:=1234; r:=12.345; c:=#; b:=true; writeln(i, i:6, i:3); writeln(r, r:8:4, r:6:5); writeln(c, c:5); writeln(s, s:6, s:3);

22、writeln(b, b:5, b:3); end. 1234123412341.2345000000E+011.23451.23450#abcdabcdabcdTRUETRUETRUE 2.9 輸入語句輸入語句(讀語句讀語句)1.讀語句的一般格式:讀語句的一般格式: read(變量名表變量名表); readln(變量名表變量名表); 變量名表變量名表逗號隔開的若干個變量名;逗號隔開的若干個變量名; 功能:功能:從鍵盤讀入數(shù)據(jù)從鍵盤讀入數(shù)據(jù),依次賦給相應(yīng)的變量。依次賦給相應(yīng)的變量。 說明:說明:執(zhí)行到執(zhí)行到read或或readln語句時,系統(tǒng)處于等待狀態(tài),等語句時,系統(tǒng)處于等待狀態(tài),等待用戶從

23、鍵盤輸入數(shù)據(jù),系統(tǒng)根據(jù)變量的數(shù)據(jù)類型的語待用戶從鍵盤輸入數(shù)據(jù),系統(tǒng)根據(jù)變量的數(shù)據(jù)類型的語法要求判斷輸入的字符是否合法。法要求判斷輸入的字符是否合法。如如:執(zhí)行執(zhí)行 read(a)語句,語句,a 是整型變量,則輸入的字符為是整型變量,則輸入的字符為數(shù)字字符時是合法的,當(dāng)輸入結(jié)束時,則自動將剛接受數(shù)字字符時是合法的,當(dāng)輸入結(jié)束時,則自動將剛接受的一串?dāng)?shù)字字符轉(zhuǎn)換為整數(shù)賦給變量的一串?dāng)?shù)字字符轉(zhuǎn)換為整數(shù)賦給變量a。 在輸入數(shù)值型(整型或?qū)嵭停?shù)據(jù)時,數(shù)據(jù)在輸入數(shù)值型(整型或?qū)嵭停?shù)據(jù)時,數(shù)據(jù)間要用空格或回車分隔開各個數(shù)據(jù),輸入足夠間要用空格或回車分隔開各個數(shù)據(jù),輸入足夠個數(shù)的數(shù)據(jù),否則仍要繼續(xù)等待輸入,但最后個數(shù)的數(shù)據(jù),否則仍要繼續(xù)等待輸入,但最后一定要有回車,表示該輸入行結(jié)束,直到數(shù)據(jù)一定要有回車,表示該輸入行結(jié)束,直到數(shù)據(jù)足夠,該讀語句執(zhí)行結(jié)束,程序繼續(xù)運行。足夠,該讀語句執(zhí)行結(jié)束,程序繼續(xù)運行。【例【例4】 設(shè)設(shè) a、b、c 為整型變量,需將它們的值分別為整型變量,需將它們的值分別賦以賦以10,20,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論