版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
歡迎你加入“聰明人的游戲”全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽,期待你的挑戰(zhàn)!!歡迎你加入“聰明人的游戲”全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽,期待學(xué)習(xí)第一天信息學(xué)奧賽介紹語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言基本語(yǔ)句學(xué)習(xí)第一天信息學(xué)奧賽介紹語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言基本信息學(xué)奧林匹克競(jìng)賽面向全國(guó)中學(xué)生的一種競(jìng)賽活動(dòng)旨在激發(fā)中學(xué)生在計(jì)算機(jī)科學(xué)方面的興趣培養(yǎng)他們邏輯思維的能力給那些有才華的學(xué)生提供相互交流和學(xué)習(xí)的機(jī)會(huì)通過(guò)競(jìng)賽和相關(guān)的活動(dòng)培養(yǎng)和選拔優(yōu)秀的計(jì)算機(jī)后備人才。信息學(xué)奧林匹克競(jìng)賽面向全國(guó)中學(xué)生的一種競(jìng)賽活動(dòng)
信息學(xué)奧林匹克競(jìng)賽屬于智力與應(yīng)用計(jì)算機(jī)解題能力的比賽,題目有相當(dāng)?shù)碾y度,解好這類題目,需要具備很強(qiáng)的綜合能力.1.觀察和分析問(wèn)題的能力;2.將實(shí)際問(wèn)題轉(zhuǎn)化為數(shù)學(xué)模型的能力;3.靈活地運(yùn)用各種算法的能力;4.熟練編寫程序并將其調(diào)試通過(guò)的能力;5.根據(jù)題目的要求,自己設(shè)計(jì)測(cè)試數(shù)據(jù),檢查自己的解法是否正確、是否完備的能力.
綜合能力的體現(xiàn)信息學(xué)奧林匹克競(jìng)賽屬于智力與應(yīng)用計(jì)算機(jī)解題能力的比學(xué)習(xí)內(nèi)容:掌握一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言
(Pascal/C/C++)數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)內(nèi)容:掌握一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言信息學(xué)奧林匹克競(jìng)賽賽事:1.NOIP(全國(guó)信息學(xué)奧林匹克分區(qū)聯(lián)賽)
NationalOlympiadinInformaticsinProvinces
2.NOI(全國(guó)信息學(xué)奧林匹克競(jìng)賽)
NationalOlympiadinInformatics3.IOI(國(guó)際信息學(xué)奧林匹克競(jìng)賽)
InternationalOlympiadinInformatics
信息學(xué)奧林匹克競(jìng)賽賽事:1.NOIP(全國(guó)信息學(xué)奧林匹克分區(qū)語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言一、語(yǔ)言的安裝二、界面簡(jiǎn)介三、典例分析語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言一、語(yǔ)言的安裝二、界面簡(jiǎn)介三安裝程序
注意如果安裝后出現(xiàn)亂碼,我們可以在FP窗口最上面的標(biāo)題欄上右擊,在彈出的快捷菜單中選擇“默認(rèn)值”,接著會(huì)彈出的控制臺(tái)窗口屬性框,在最下面的“默認(rèn)代碼頁(yè)”的下拉菜單中選擇“437(OEM-美國(guó))”。安裝程序注意如果安裝后出現(xiàn)亂碼,我們可以在F界面介紹標(biāo)題欄、菜單欄、中間部分為編輯窗口、最底部一行為提示欄(顯示系統(tǒng)中常用命令的快捷鍵,如將當(dāng)前正在編輯的文件存盤的命令快捷鍵為F2)1、新建程序:File—New(默認(rèn)文件名為:Noname01.pas)2、程序運(yùn)行:Run—Run(或按快捷鍵:Ctrl+F9)3、查看運(yùn)行結(jié)果:Dubug—Userscreen(或按快捷鍵:Alt+F5)4、程序的保存:File—Save(或按F2)。第一次保存文件時(shí)屏幕上會(huì)出現(xiàn)一個(gè)對(duì)話框要求輸入文件名。注意文件保存的目錄(默認(rèn)工作目錄可以在FP的快捷方式的屬性框中的“起始位置”欄中設(shè)置。)5、程序的打開:File—Open(或按F3)界面介紹標(biāo)題欄、菜單欄、中間部分為編輯窗口、最底部一行為提示多動(dòng)手、模仿是捷徑勤思考、實(shí)踐是王道多動(dòng)手、模仿是捷徑Programex1_1;Beginwrite(’Hello!’);End.大小寫無(wú)所謂,但是你可以改變一下單引號(hào)內(nèi)的單詞大小寫,看看有什么變化?Programex1_1;大小寫無(wú)所謂,但是你可以改變一下計(jì)算123+56的值Programex1_2;Vara,b:integer;Begina:=10;b:=5;writeln(‘a(chǎn)+b=‘,a+b);End.計(jì)算123+56的值Programex1_2;已知長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的周長(zhǎng)和面積。Programex1_3;Vara,b,c,s:integer;Beginreadln(a,b);c:=2*(a+b);s:=a*b;writeln(’c=’,c,’s=’,s);End.已知長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的周長(zhǎng)和面積。Programe求圓的面積Programex1_4;ConstPi=3.1415926;varr:integer;s:real;beginread(r);s:=pi*r*r;writeln(s:0:2);end.求圓的面積Programex1_4;模仿一下:
已知小雄的書包放了3本書,5本作業(yè)本和2支筆,你能編程序讓計(jì)算機(jī)算算小雄的書包中一共有多少件學(xué)習(xí)用品嗎?模仿一下:已知小雄的書包放了3本書,5本作業(yè)本和2支典例分析程序由三部分組成:(一)程序首部:Program程序名。由保留字Program開頭,后跟一個(gè)程序名,程序名的第一個(gè)字符必須是英文字母,其后的字符只能是字母或數(shù)字和下劃線組成。——標(biāo)識(shí)符)(二)說(shuō)明部分:程序中所用的常量、變量等必須先定義后使用。常量:在程序執(zhí)行過(guò)程中其值不能被改變的數(shù)據(jù)。
變量:在程序執(zhí)行過(guò)程中可以改變值的數(shù)據(jù)。數(shù)據(jù)類型:簡(jiǎn)單類型(分標(biāo)準(zhǔn)類型和用戶自定義型)、構(gòu)造類型、指針類型
(三)語(yǔ)句部分由保留字begin至end.
語(yǔ)句未尾以分號(hào);結(jié)束。程序結(jié)束語(yǔ)句end未尾必須用句號(hào)。整型、實(shí)型、字符型、布爾型枚舉型、子界型數(shù)組類型、記錄類型、集合類型、文件類型program程序名;
var變量說(shuō)明;
begin
語(yǔ)句;
語(yǔ)句;
……
語(yǔ)句;
end.典例分析程序由三部分組成:整型、實(shí)型、枚舉型、子界型數(shù)組類型保留字Pascal語(yǔ)言中一些有特殊含義的英文單詞(這些單詞保留給Pascal本身使用)。你已學(xué)會(huì)了幾個(gè)保留字:返回保留字Pascal語(yǔ)言中一些有特殊含義的英文單詞(這些單詞保在程序中用到的所有變量必須事先定義。格式:Var<變量表>
:
<變量類型>;┆
<變量表>
:
<變量類型>;如:輸入3個(gè)整數(shù),求這3個(gè)數(shù)的平均值。Vara,b,c:integer;aver:real;變量的定義說(shuō)明:返回變量就相當(dāng)于一個(gè)書包,不過(guò)這個(gè)“書包”中存放的“書”只是一個(gè)數(shù)據(jù)而已。變量的名稱叫做變量名。它可以由字母、數(shù)字或下劃線構(gòu)成,但第一個(gè)必須是字母。在程序中用到的所有變量必須事先定義。如:輸入3個(gè)整數(shù),求這3標(biāo)準(zhǔn)數(shù)據(jù)類型整數(shù)類型:包括正整數(shù)、負(fù)整數(shù)和零。Vara,b,c:integer;Beginreadln(a);readln(b);c:=a+b;writeln(c);End.12020010000200002000030000測(cè)試以下3組數(shù)據(jù):輸入整數(shù)a和b,輸出a+b的值。標(biāo)準(zhǔn)數(shù)據(jù)類型整數(shù)類型:包括正整數(shù)、負(fù)整數(shù)和零。Var120Integer:取值范圍:-32768——32767(maxint)
類型
數(shù)值范圍
占字節(jié)數(shù)
Byte0..2551Word0..655352Shortint-128..1271
Integer-32768..32767;2
Longint-2147483648..21474836474Longword0..42949672954Int64-9223372036854775808..
92233720368547758078QWord0..184467440737095516158Integer:取值范圍:-32768——32767(max整數(shù)的運(yùn)算符有:+、—、*、DIV(整除)、mod(取余)。15Div6=2
(-15)div6=-2
15Div(-6)=-2
(-15)div(-6)=215mod6=3
(-15)mod6=-3
15mod(-6)=3
(-15)mod(-6)=-3整數(shù)的運(yùn)算符有:+、—、*、DIV(整除)、mod(取余)。
類型范圍有效位數(shù)占用字節(jié)
Real2.9e-39..1.7e38
11..126
Single1.5E-45..3.4E387-84Double5.0E-324..1.7E30815-168Extended1.9E-4951..1.1E493219-2010Comp-2E64+1..2E63-119-208實(shí)數(shù)類型Real類型運(yùn)算符有:+、-、*、/類型范圍Varbeginread(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例:輸入:兩個(gè)正整數(shù)a、b(<=3000),輸出它們的乘積c,商d。實(shí)數(shù)的定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)T=63.123write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300如果要求小數(shù)點(diǎn)后精確2位小數(shù).Writeln(x:0:2);a,b:integer;C:longint;d:real;Writeln(d:0:2);Var?例:實(shí)數(shù)的定點(diǎn)型格式輸出:a,b:integer;W除法運(yùn)算1、整除運(yùn)算:運(yùn)算符為“div”
結(jié)果為兩個(gè)整型數(shù)除法的整數(shù)商。例如:10Div4=22、求余數(shù)運(yùn)算:運(yùn)算符為“mod”
結(jié)果為兩個(gè)整型數(shù)除法的余數(shù)。例如:10mod3=13、普通除法:運(yùn)算符為“/”
結(jié)果為兩個(gè)任意數(shù)值相除的商(含小數(shù))。例如:10/4=2.5除法運(yùn)算1、整除運(yùn)算:運(yùn)算符為“div”結(jié)果為兩個(gè)整字符類型Char類型用單引號(hào)括起來(lái)一個(gè)單個(gè)字符。字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否則就是字符串。Vars:char;s:=’B’字符類型Char類型字母作為字符型時(shí),大小寫是不等價(jià)的,并且布爾類型Boolean類型一個(gè)布爾型數(shù)據(jù)用來(lái)存放邏輯值(布爾值)。
只有兩個(gè)真和假,分別用標(biāo)準(zhǔn)常量true和False來(lái)表示。布爾類型的運(yùn)算符有:not(非)、and(與)、or(或)vara,b:boolean;A:=4>3;b:=2>3;布爾類型Boolean類型vara,b:boolean基本語(yǔ)句一、賦值語(yǔ)句二、read語(yǔ)句三、write語(yǔ)句基本語(yǔ)句一、賦值語(yǔ)句二、read語(yǔ)句三、write語(yǔ)句1、賦值語(yǔ)句
賦值語(yǔ)句是最簡(jiǎn)單的語(yǔ)句.
1)、賦值語(yǔ)句的格式變量名:=表達(dá)式;其中“:=”稱為賦值號(hào)。
2)、執(zhí)行過(guò)程計(jì)算機(jī)先計(jì)算賦值號(hào)右邊表達(dá)式的值,然后將表達(dá)式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1);
A:=A+1
1、賦值語(yǔ)句
賦值語(yǔ)句是最簡(jiǎn)單的語(yǔ)句.
1)、賦值語(yǔ)句的2、輸入語(yǔ)句read和readln功能:從鍵盤讀入數(shù)據(jù)項(xiàng),并把它存到變量中去,使該數(shù)據(jù)能在以后的計(jì)算中使用。輸入語(yǔ)句的一般形式為:
read(v1,v2,…,vn);
readln(v1,v2,…,vn);從鍵盤逐次讀入數(shù)據(jù),分別賦給變量v1,v2,…,vn,一行輸入多個(gè)變量值時(shí),要求數(shù)據(jù)之間用空格分隔,readln語(yǔ)句要求輸入數(shù)據(jù)后必須回車,使得后繼操作從下一行的頭上開始。2、輸入語(yǔ)句read和readln及時(shí)充電(輸入語(yǔ)句)格式作用Read(變量表)接受鍵盤輸入數(shù)據(jù)存入對(duì)應(yīng)變量Readln(變量表)接受鍵盤輸入數(shù)據(jù)存入對(duì)應(yīng)變量,然后光標(biāo)換行Readln不接受數(shù)據(jù),光標(biāo)換行輸入數(shù)據(jù)時(shí),數(shù)值數(shù)據(jù)之間可用空格分開,也可以每輸入一個(gè)數(shù)按一次回車;如果是輸入字符或者字符串,兩者之間不能用空格分開,只能每輸入一個(gè)按一次回車。及時(shí)充電(輸入語(yǔ)句)格式作用Read(變量表)接受鍵盤輸入數(shù)read語(yǔ)句與readln語(yǔ)句區(qū)別是:
1)read語(yǔ)句是一個(gè)接一個(gè)地讀數(shù)據(jù),在執(zhí)行完本Read語(yǔ)句(讀完本語(yǔ)句中變量所需的數(shù)據(jù))后,下一個(gè)讀語(yǔ)句接著從該數(shù)據(jù)輸入行中繼續(xù)讀數(shù)據(jù),也就是說(shuō),不換行。如:
read(a,b);read(c,d);read(e);
如果輸入數(shù)據(jù)行如下:1□2□3←┘4□5□6□←┘則a,b,c,d,e的值分別為1,2,3,4,5,如果后面無(wú)讀語(yǔ)句則數(shù)據(jù)6是多余的,這是允許的。
read語(yǔ)句與readln語(yǔ)句區(qū)別是:
Readln則不同,在讀完本Readln語(yǔ)句中變量所需的數(shù)據(jù)后,該數(shù)據(jù)行中剩余的數(shù)據(jù)多余無(wú)用,或者說(shuō),在讀完本Readln語(yǔ)句中變量所需數(shù)據(jù)后,一定要讀到一個(gè)回車,否則多余的數(shù)據(jù)無(wú)用。設(shè)有下列語(yǔ)句:read(a,b,c);readln(d,e);readln;readln(f,g);其中,所有變量均為整型。設(shè)輸入的數(shù)據(jù)如下:
1□2←┘3□4□5□6□7□8←┘9□10←┘11□12□13←┘
Vara,b,c,d,e,f,g:integer;beginread(a,b,c);readln(d,e);readln;readln(f,g);writeln(a,'',b,'',c,'',d,'',e,'',f,'',g);end.Readln則不同,在讀完本Readln語(yǔ)句中變2)readln語(yǔ)句與read語(yǔ)句的第二個(gè)區(qū)別是:read后一定要有參數(shù)表,readln可以不帶參數(shù)表,即可以沒(méi)有任何輸入項(xiàng),只是等待讀入一個(gè)換行符(回車)。經(jīng)常用于暫停程序的運(yùn)行,直到輸入一個(gè)回車2)readln語(yǔ)句與read語(yǔ)句的第二個(gè)區(qū)別是:3輸出語(yǔ)句write和writeln功能:把程序計(jì)算的結(jié)果,按適當(dāng)?shù)男问捷敵龅狡聊弧?)、write語(yǔ)句格式Write(表達(dá)式1,表達(dá)式2,……);如:write(x,5,a+b);write(‘MynameisLiping’);2)、writeln語(yǔ)句格式:Writeln(表達(dá)式1,表達(dá)式2,……)或writeln3輸出語(yǔ)句write和writelnWrite語(yǔ)句與writeln語(yǔ)句格式上都相似,但它們?cè)诠δ苌嫌兴煌?,兩個(gè)語(yǔ)句的區(qū)別在于:write語(yǔ)句將其后括號(hào)中的表達(dá)式一個(gè)接一個(gè)輸出后,沒(méi)有換行。而writeln語(yǔ)句則在輸出各個(gè)表達(dá)式的值后換行。例如以下兩個(gè)程序段的輸出分別為:write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:123456Write語(yǔ)句與writeln語(yǔ)句格式上都相似,但它們?cè)诠δ埽磳?shí)數(shù)的輸出格式實(shí)數(shù)(real)以浮點(diǎn)型格式輸出。例如805.67對(duì)應(yīng)的浮點(diǎn)數(shù)為8.056700000000E+02。這種實(shí)數(shù)表達(dá)方式很不方便。我們可以通過(guò)下述形式強(qiáng)迫實(shí)數(shù)以定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)例如,t的值設(shè)為63.123。下面三條輸出語(yǔ)句分別有它們右邊所示的輸出格式:
write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300write(t:0:0);4實(shí)數(shù)的輸出格式var
a,b,t:char;
begin
read(a,b);
t:=a;
a:=b;
b:=t;
writeln('a=',a,'b=',b)
end.例:輸入兩個(gè)整數(shù)a,b,交換他們的值,并輸出.如:輸入:3034
輸出:3430var
a,b,t:char;
begin
read(算術(shù)運(yùn)算符和算術(shù)表達(dá)式
1.算術(shù)運(yùn)算符
運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型
+加整型、實(shí)型只要有一個(gè)運(yùn)算對(duì)象是實(shí)型,結(jié)果就
-減整型、實(shí)型是實(shí)型,如果全部的運(yùn)算對(duì)象都是整
*乘整型、實(shí)型型并且運(yùn)算不是除法,則結(jié)果為整型
/除整型、實(shí)型若運(yùn)算是除法,則結(jié)果是實(shí)型。
div整除整型整型
mod取余整型整型Programex1_5;Consta=128;Varb,d:integer;c:real;Beginb:=adiv16;c:=a/b;d:=a;
write(a:4,b:4,c:4:0,d:4);end.Programex1_6;Vara:integer;Beginread(a);writeln(amod10);writeln(adiv10mod10);wrteln(adiv100);End.輸入任意一個(gè)百位數(shù)算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.算術(shù)運(yùn)算符
運(yùn)算符運(yùn)算是通過(guò)運(yùn)算符把常量、變量、函數(shù)調(diào)用結(jié)合起來(lái)組成的。
3+x1+bPASCAL表達(dá)式有以下計(jì)算優(yōu)先順序規(guī)則:
1.括號(hào)內(nèi)的表達(dá)式首先計(jì)算;
2.運(yùn)算符的優(yōu)先級(jí)有四級(jí),按其優(yōu)先順序從高到低排列為:
not;*,/,div,mod,and;
+,-,or;
=,<>,>,<,<=,>=,IN;不同優(yōu)先級(jí)的兩運(yùn)算符之間的操作數(shù)先與具有較高優(yōu)先級(jí)的運(yùn)算符進(jìn)行運(yùn)算;
3.同級(jí)的運(yùn)算從左到右進(jìn)行;另外,有一點(diǎn)需要指出的是,因?yàn)殛P(guān)系運(yùn)算符的優(yōu)先級(jí)最低,當(dāng)用關(guān)系式構(gòu)造復(fù)雜的布爾表達(dá)式時(shí),這些關(guān)系式作為初等條件必須放在括號(hào)里。如:(x<y)and(z=y)or(x=0)若不加括號(hào),就是一個(gè)錯(cuò)誤的表達(dá)式。表達(dá)式是通過(guò)運(yùn)算符把常量、變量、函數(shù)調(diào)用結(jié)合起來(lái)組成的。表達(dá)式輸入一個(gè)3位的正整數(shù),輸出他們的各位數(shù)字之和與乘積。如:輸入:436輸出:1372varn,a,b,c,x,y:integer;beginreadln(n);a:=ndiv100;b:=(ndiv10)mod10;c:=nmod10;x:=a+b+c;y:=a*b*c;writeln(x);writeln(y);end.上機(jī)練習(xí)題目:輸入一個(gè)3位的正整數(shù),輸出他們的各位數(shù)字之和與乘積。var上展示實(shí)力1、寫出下列表達(dá)式的值。
12*3+6/4= 45div4= 98mod10=2、寫出下列程序段的運(yùn)行結(jié)果。
Varmy:real;Beginmy:=18/4-3;Writeln(my:10:2)End.Varn,v:integer;Beginread(n);v:=nmod5;writeln(’VP=’,v)End.{運(yùn)行時(shí)輸入34}Varw1,w2:integer;Beginwriteln(’Enter’);Read(w1,w2);W1:=0;W1:=w1+w2;Writeln(w1)End.{運(yùn)行時(shí)輸入15,36}Vark1,k2,fn:integer;BeginRead(k1,k2);fn:=k1+2*k2;Iffn<7thenwriteln(fn)End.{運(yùn)行時(shí)輸入1,2,3}展示實(shí)力1、寫出下列表達(dá)式的值。Varmy:real;Va展示實(shí)力3、從鍵盤輸入一個(gè)字符,然后顯示一個(gè)由該字符組成的圖案。輸入樣例 輸出樣例K k kkk kkkkk4、輸入兩個(gè)整數(shù),讓計(jì)算機(jī)來(lái)求它們的和、差、積、商、整數(shù)商和余數(shù)。輸入樣例 輸出樣例5 18+5=23 18-5=13 18*5=90 18/5=3.60 18div5=3 18mod5=3展示實(shí)力3、從鍵盤輸入一個(gè)字符,然后顯示一個(gè)由該字符組成的圖標(biāo)準(zhǔn)函數(shù)+│a-b│標(biāo)準(zhǔn)函數(shù)+│a-b│算術(shù)函數(shù)
函數(shù)標(biāo)識(shí)符意義x類型結(jié)果類型
abs(x)絕對(duì)值整型、實(shí)型同自變量
sqrt(x)平方根整型、實(shí)型實(shí)型
int(x)取整數(shù)部分整型、實(shí)型實(shí)型
exp(x)
:ex指數(shù)整型、實(shí)型實(shí)型
ln(x)
:logex自然對(duì)數(shù)整型、實(shí)型實(shí)型
e=2.718…..轉(zhuǎn)換函數(shù)截尾函數(shù)trunc(x),舍去實(shí)數(shù)x的小數(shù)部分,并轉(zhuǎn)換為整型。舍入函數(shù)round(x),對(duì)實(shí)數(shù)x作四舍五入,并轉(zhuǎn)換為整型。Trunc(5.5)=5trunc(-5.5)=-5Round(5.5)=6round(-5.5)=-6Ronnd(5.4)=5round(-5.4)=-5算術(shù)函數(shù)
函數(shù)標(biāo)識(shí)符意義abs(-4)=4
abs(-7.49)=7.49
int(3.71)=3.0
sqrt(4)=2.0abs(-4)=4正確的書寫表達(dá)式:1)、2)、正確的書寫表達(dá)式:1、輸入三角形的三條邊a,b,c,輸出三角形的面積。(a,b,c是正整數(shù)<100,滿足三角形條件)上機(jī)練習(xí)上機(jī)練習(xí)Vara,b,c:integer;p,s:real;Beginreadln(a,b,c);p:=(a+b+c)/2;S:=sqrt(p*(p-a)*(p-b)*(p-c));writeln(s:0:2);End.Var快捷鍵:保存F2;編譯F9;運(yùn)行ctrl+F9;看結(jié)果Alt+F5.程序的書寫格式:縮2個(gè)格
beginend的配對(duì)工作目錄的設(shè)置快捷鍵:歡迎你加入“聰明人的游戲”全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽,期待你的挑戰(zhàn)??!歡迎你加入“聰明人的游戲”全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽,期待學(xué)習(xí)第一天信息學(xué)奧賽介紹語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言基本語(yǔ)句學(xué)習(xí)第一天信息學(xué)奧賽介紹語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言基本信息學(xué)奧林匹克競(jìng)賽面向全國(guó)中學(xué)生的一種競(jìng)賽活動(dòng)旨在激發(fā)中學(xué)生在計(jì)算機(jī)科學(xué)方面的興趣培養(yǎng)他們邏輯思維的能力給那些有才華的學(xué)生提供相互交流和學(xué)習(xí)的機(jī)會(huì)通過(guò)競(jìng)賽和相關(guān)的活動(dòng)培養(yǎng)和選拔優(yōu)秀的計(jì)算機(jī)后備人才。信息學(xué)奧林匹克競(jìng)賽面向全國(guó)中學(xué)生的一種競(jìng)賽活動(dòng)
信息學(xué)奧林匹克競(jìng)賽屬于智力與應(yīng)用計(jì)算機(jī)解題能力的比賽,題目有相當(dāng)?shù)碾y度,解好這類題目,需要具備很強(qiáng)的綜合能力.1.觀察和分析問(wèn)題的能力;2.將實(shí)際問(wèn)題轉(zhuǎn)化為數(shù)學(xué)模型的能力;3.靈活地運(yùn)用各種算法的能力;4.熟練編寫程序并將其調(diào)試通過(guò)的能力;5.根據(jù)題目的要求,自己設(shè)計(jì)測(cè)試數(shù)據(jù),檢查自己的解法是否正確、是否完備的能力.
綜合能力的體現(xiàn)信息學(xué)奧林匹克競(jìng)賽屬于智力與應(yīng)用計(jì)算機(jī)解題能力的比學(xué)習(xí)內(nèi)容:掌握一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言
(Pascal/C/C++)數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)內(nèi)容:掌握一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言信息學(xué)奧林匹克競(jìng)賽賽事:1.NOIP(全國(guó)信息學(xué)奧林匹克分區(qū)聯(lián)賽)
NationalOlympiadinInformaticsinProvinces
2.NOI(全國(guó)信息學(xué)奧林匹克競(jìng)賽)
NationalOlympiadinInformatics3.IOI(國(guó)際信息學(xué)奧林匹克競(jìng)賽)
InternationalOlympiadinInformatics
信息學(xué)奧林匹克競(jìng)賽賽事:1.NOIP(全國(guó)信息學(xué)奧林匹克分區(qū)語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言一、語(yǔ)言的安裝二、界面簡(jiǎn)介三、典例分析語(yǔ)言學(xué)習(xí)開始——Pascal語(yǔ)言一、語(yǔ)言的安裝二、界面簡(jiǎn)介三安裝程序
注意如果安裝后出現(xiàn)亂碼,我們可以在FP窗口最上面的標(biāo)題欄上右擊,在彈出的快捷菜單中選擇“默認(rèn)值”,接著會(huì)彈出的控制臺(tái)窗口屬性框,在最下面的“默認(rèn)代碼頁(yè)”的下拉菜單中選擇“437(OEM-美國(guó))”。安裝程序注意如果安裝后出現(xiàn)亂碼,我們可以在F界面介紹標(biāo)題欄、菜單欄、中間部分為編輯窗口、最底部一行為提示欄(顯示系統(tǒng)中常用命令的快捷鍵,如將當(dāng)前正在編輯的文件存盤的命令快捷鍵為F2)1、新建程序:File—New(默認(rèn)文件名為:Noname01.pas)2、程序運(yùn)行:Run—Run(或按快捷鍵:Ctrl+F9)3、查看運(yùn)行結(jié)果:Dubug—Userscreen(或按快捷鍵:Alt+F5)4、程序的保存:File—Save(或按F2)。第一次保存文件時(shí)屏幕上會(huì)出現(xiàn)一個(gè)對(duì)話框要求輸入文件名。注意文件保存的目錄(默認(rèn)工作目錄可以在FP的快捷方式的屬性框中的“起始位置”欄中設(shè)置。)5、程序的打開:File—Open(或按F3)界面介紹標(biāo)題欄、菜單欄、中間部分為編輯窗口、最底部一行為提示多動(dòng)手、模仿是捷徑勤思考、實(shí)踐是王道多動(dòng)手、模仿是捷徑Programex1_1;Beginwrite(’Hello!’);End.大小寫無(wú)所謂,但是你可以改變一下單引號(hào)內(nèi)的單詞大小寫,看看有什么變化?Programex1_1;大小寫無(wú)所謂,但是你可以改變一下計(jì)算123+56的值Programex1_2;Vara,b:integer;Begina:=10;b:=5;writeln(‘a(chǎn)+b=‘,a+b);End.計(jì)算123+56的值Programex1_2;已知長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的周長(zhǎng)和面積。Programex1_3;Vara,b,c,s:integer;Beginreadln(a,b);c:=2*(a+b);s:=a*b;writeln(’c=’,c,’s=’,s);End.已知長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的周長(zhǎng)和面積。Programe求圓的面積Programex1_4;ConstPi=3.1415926;varr:integer;s:real;beginread(r);s:=pi*r*r;writeln(s:0:2);end.求圓的面積Programex1_4;模仿一下:
已知小雄的書包放了3本書,5本作業(yè)本和2支筆,你能編程序讓計(jì)算機(jī)算算小雄的書包中一共有多少件學(xué)習(xí)用品嗎?模仿一下:已知小雄的書包放了3本書,5本作業(yè)本和2支典例分析程序由三部分組成:(一)程序首部:Program程序名。由保留字Program開頭,后跟一個(gè)程序名,程序名的第一個(gè)字符必須是英文字母,其后的字符只能是字母或數(shù)字和下劃線組成?!獦?biāo)識(shí)符)(二)說(shuō)明部分:程序中所用的常量、變量等必須先定義后使用。常量:在程序執(zhí)行過(guò)程中其值不能被改變的數(shù)據(jù)。
變量:在程序執(zhí)行過(guò)程中可以改變值的數(shù)據(jù)。數(shù)據(jù)類型:簡(jiǎn)單類型(分標(biāo)準(zhǔn)類型和用戶自定義型)、構(gòu)造類型、指針類型
(三)語(yǔ)句部分由保留字begin至end.
語(yǔ)句未尾以分號(hào);結(jié)束。程序結(jié)束語(yǔ)句end未尾必須用句號(hào)。整型、實(shí)型、字符型、布爾型枚舉型、子界型數(shù)組類型、記錄類型、集合類型、文件類型program程序名;
var變量說(shuō)明;
begin
語(yǔ)句;
語(yǔ)句;
……
語(yǔ)句;
end.典例分析程序由三部分組成:整型、實(shí)型、枚舉型、子界型數(shù)組類型保留字Pascal語(yǔ)言中一些有特殊含義的英文單詞(這些單詞保留給Pascal本身使用)。你已學(xué)會(huì)了幾個(gè)保留字:返回保留字Pascal語(yǔ)言中一些有特殊含義的英文單詞(這些單詞保在程序中用到的所有變量必須事先定義。格式:Var<變量表>
:
<變量類型>;┆
<變量表>
:
<變量類型>;如:輸入3個(gè)整數(shù),求這3個(gè)數(shù)的平均值。Vara,b,c:integer;aver:real;變量的定義說(shuō)明:返回變量就相當(dāng)于一個(gè)書包,不過(guò)這個(gè)“書包”中存放的“書”只是一個(gè)數(shù)據(jù)而已。變量的名稱叫做變量名。它可以由字母、數(shù)字或下劃線構(gòu)成,但第一個(gè)必須是字母。在程序中用到的所有變量必須事先定義。如:輸入3個(gè)整數(shù),求這3標(biāo)準(zhǔn)數(shù)據(jù)類型整數(shù)類型:包括正整數(shù)、負(fù)整數(shù)和零。Vara,b,c:integer;Beginreadln(a);readln(b);c:=a+b;writeln(c);End.12020010000200002000030000測(cè)試以下3組數(shù)據(jù):輸入整數(shù)a和b,輸出a+b的值。標(biāo)準(zhǔn)數(shù)據(jù)類型整數(shù)類型:包括正整數(shù)、負(fù)整數(shù)和零。Var120Integer:取值范圍:-32768——32767(maxint)
類型
數(shù)值范圍
占字節(jié)數(shù)
Byte0..2551Word0..655352Shortint-128..1271
Integer-32768..32767;2
Longint-2147483648..21474836474Longword0..42949672954Int64-9223372036854775808..
92233720368547758078QWord0..184467440737095516158Integer:取值范圍:-32768——32767(max整數(shù)的運(yùn)算符有:+、—、*、DIV(整除)、mod(取余)。15Div6=2
(-15)div6=-2
15Div(-6)=-2
(-15)div(-6)=215mod6=3
(-15)mod6=-3
15mod(-6)=3
(-15)mod(-6)=-3整數(shù)的運(yùn)算符有:+、—、*、DIV(整除)、mod(取余)。
類型范圍有效位數(shù)占用字節(jié)
Real2.9e-39..1.7e38
11..126
Single1.5E-45..3.4E387-84Double5.0E-324..1.7E30815-168Extended1.9E-4951..1.1E493219-2010Comp-2E64+1..2E63-119-208實(shí)數(shù)類型Real類型運(yùn)算符有:+、-、*、/類型范圍Varbeginread(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例:輸入:兩個(gè)正整數(shù)a、b(<=3000),輸出它們的乘積c,商d。實(shí)數(shù)的定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)T=63.123write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300如果要求小數(shù)點(diǎn)后精確2位小數(shù).Writeln(x:0:2);a,b:integer;C:longint;d:real;Writeln(d:0:2);Var?例:實(shí)數(shù)的定點(diǎn)型格式輸出:a,b:integer;W除法運(yùn)算1、整除運(yùn)算:運(yùn)算符為“div”
結(jié)果為兩個(gè)整型數(shù)除法的整數(shù)商。例如:10Div4=22、求余數(shù)運(yùn)算:運(yùn)算符為“mod”
結(jié)果為兩個(gè)整型數(shù)除法的余數(shù)。例如:10mod3=13、普通除法:運(yùn)算符為“/”
結(jié)果為兩個(gè)任意數(shù)值相除的商(含小數(shù))。例如:10/4=2.5除法運(yùn)算1、整除運(yùn)算:運(yùn)算符為“div”結(jié)果為兩個(gè)整字符類型Char類型用單引號(hào)括起來(lái)一個(gè)單個(gè)字符。字母作為字符型時(shí),大小寫是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否則就是字符串。Vars:char;s:=’B’字符類型Char類型字母作為字符型時(shí),大小寫是不等價(jià)的,并且布爾類型Boolean類型一個(gè)布爾型數(shù)據(jù)用來(lái)存放邏輯值(布爾值)。
只有兩個(gè)真和假,分別用標(biāo)準(zhǔn)常量true和False來(lái)表示。布爾類型的運(yùn)算符有:not(非)、and(與)、or(或)vara,b:boolean;A:=4>3;b:=2>3;布爾類型Boolean類型vara,b:boolean基本語(yǔ)句一、賦值語(yǔ)句二、read語(yǔ)句三、write語(yǔ)句基本語(yǔ)句一、賦值語(yǔ)句二、read語(yǔ)句三、write語(yǔ)句1、賦值語(yǔ)句
賦值語(yǔ)句是最簡(jiǎn)單的語(yǔ)句.
1)、賦值語(yǔ)句的格式變量名:=表達(dá)式;其中“:=”稱為賦值號(hào)。
2)、執(zhí)行過(guò)程計(jì)算機(jī)先計(jì)算賦值號(hào)右邊表達(dá)式的值,然后將表達(dá)式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1);
A:=A+1
1、賦值語(yǔ)句
賦值語(yǔ)句是最簡(jiǎn)單的語(yǔ)句.
1)、賦值語(yǔ)句的2、輸入語(yǔ)句read和readln功能:從鍵盤讀入數(shù)據(jù)項(xiàng),并把它存到變量中去,使該數(shù)據(jù)能在以后的計(jì)算中使用。輸入語(yǔ)句的一般形式為:
read(v1,v2,…,vn);
readln(v1,v2,…,vn);從鍵盤逐次讀入數(shù)據(jù),分別賦給變量v1,v2,…,vn,一行輸入多個(gè)變量值時(shí),要求數(shù)據(jù)之間用空格分隔,readln語(yǔ)句要求輸入數(shù)據(jù)后必須回車,使得后繼操作從下一行的頭上開始。2、輸入語(yǔ)句read和readln及時(shí)充電(輸入語(yǔ)句)格式作用Read(變量表)接受鍵盤輸入數(shù)據(jù)存入對(duì)應(yīng)變量Readln(變量表)接受鍵盤輸入數(shù)據(jù)存入對(duì)應(yīng)變量,然后光標(biāo)換行Readln不接受數(shù)據(jù),光標(biāo)換行輸入數(shù)據(jù)時(shí),數(shù)值數(shù)據(jù)之間可用空格分開,也可以每輸入一個(gè)數(shù)按一次回車;如果是輸入字符或者字符串,兩者之間不能用空格分開,只能每輸入一個(gè)按一次回車。及時(shí)充電(輸入語(yǔ)句)格式作用Read(變量表)接受鍵盤輸入數(shù)read語(yǔ)句與readln語(yǔ)句區(qū)別是:
1)read語(yǔ)句是一個(gè)接一個(gè)地讀數(shù)據(jù),在執(zhí)行完本Read語(yǔ)句(讀完本語(yǔ)句中變量所需的數(shù)據(jù))后,下一個(gè)讀語(yǔ)句接著從該數(shù)據(jù)輸入行中繼續(xù)讀數(shù)據(jù),也就是說(shuō),不換行。如:
read(a,b);read(c,d);read(e);
如果輸入數(shù)據(jù)行如下:1□2□3←┘4□5□6□←┘則a,b,c,d,e的值分別為1,2,3,4,5,如果后面無(wú)讀語(yǔ)句則數(shù)據(jù)6是多余的,這是允許的。
read語(yǔ)句與readln語(yǔ)句區(qū)別是:
Readln則不同,在讀完本Readln語(yǔ)句中變量所需的數(shù)據(jù)后,該數(shù)據(jù)行中剩余的數(shù)據(jù)多余無(wú)用,或者說(shuō),在讀完本Readln語(yǔ)句中變量所需數(shù)據(jù)后,一定要讀到一個(gè)回車,否則多余的數(shù)據(jù)無(wú)用。設(shè)有下列語(yǔ)句:read(a,b,c);readln(d,e);readln;readln(f,g);其中,所有變量均為整型。設(shè)輸入的數(shù)據(jù)如下:
1□2←┘3□4□5□6□7□8←┘9□10←┘11□12□13←┘
Vara,b,c,d,e,f,g:integer;beginread(a,b,c);readln(d,e);readln;readln(f,g);writeln(a,'',b,'',c,'',d,'',e,'',f,'',g);end.Readln則不同,在讀完本Readln語(yǔ)句中變2)readln語(yǔ)句與read語(yǔ)句的第二個(gè)區(qū)別是:read后一定要有參數(shù)表,readln可以不帶參數(shù)表,即可以沒(méi)有任何輸入項(xiàng),只是等待讀入一個(gè)換行符(回車)。經(jīng)常用于暫停程序的運(yùn)行,直到輸入一個(gè)回車2)readln語(yǔ)句與read語(yǔ)句的第二個(gè)區(qū)別是:3輸出語(yǔ)句write和writeln功能:把程序計(jì)算的結(jié)果,按適當(dāng)?shù)男问捷敵龅狡聊弧?)、write語(yǔ)句格式Write(表達(dá)式1,表達(dá)式2,……);如:write(x,5,a+b);write(‘MynameisLiping’);2)、writeln語(yǔ)句格式:Writeln(表達(dá)式1,表達(dá)式2,……)或writeln3輸出語(yǔ)句write和writelnWrite語(yǔ)句與writeln語(yǔ)句格式上都相似,但它們?cè)诠δ苌嫌兴煌?,兩個(gè)語(yǔ)句的區(qū)別在于:write語(yǔ)句將其后括號(hào)中的表達(dá)式一個(gè)接一個(gè)輸出后,沒(méi)有換行。而writeln語(yǔ)句則在輸出各個(gè)表達(dá)式的值后換行。例如以下兩個(gè)程序段的輸出分別為:write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:123456Write語(yǔ)句與writeln語(yǔ)句格式上都相似,但它們?cè)诠δ埽磳?shí)數(shù)的輸出格式實(shí)數(shù)(real)以浮點(diǎn)型格式輸出。例如805.67對(duì)應(yīng)的浮點(diǎn)數(shù)為8.056700000000E+02。這種實(shí)數(shù)表達(dá)方式很不方便。我們可以通過(guò)下述形式強(qiáng)迫實(shí)數(shù)以定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)例如,t的值設(shè)為63.123。下面三條輸出語(yǔ)句分別有它們右邊所示的輸出格式:
write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300write(t:0:0);4實(shí)數(shù)的輸出格式var
a,b,t:char;
begin
read(a,b);
t:=a;
a:=b;
b:=t;
writeln('a=',a,'b=',b)
end.例:輸入兩個(gè)整數(shù)a,b,交換他們的值,并輸出.如:輸入:3034
輸出:3430var
a,b,t:char;
begin
read(算術(shù)運(yùn)算符和算術(shù)表達(dá)式
1.算術(shù)運(yùn)算符
運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型
+加整型、實(shí)型只要有一個(gè)運(yùn)算對(duì)象是實(shí)型,結(jié)果就
-減整型、實(shí)型是實(shí)型,如果全部的運(yùn)算對(duì)象都是整
*乘整型、實(shí)型型并且運(yùn)算不是除法,則結(jié)果為整型
/除整型、實(shí)型若運(yùn)算是除法,則結(jié)果是實(shí)型。
div整除整型整型
mod取余整型整型Programex1_5;Consta=128;Varb,d:integer;c:real;Beginb:=adiv16;c:=a/b;d:=a;
write(a:4,b:4,c:4:0,d:4);end.Programex1_6;Vara:integer;Beginread(a);writeln(amod10);writeln(adiv10mod10);wrteln(adiv100);End.輸入任意一個(gè)百位數(shù)算術(shù)運(yùn)算符和算術(shù)表達(dá)式1.算術(shù)運(yùn)算符
運(yùn)算符運(yùn)算是通過(guò)運(yùn)算符把常量、變量、函數(shù)調(diào)用結(jié)合起來(lái)組成的。
3+x1+bPASCAL表達(dá)式有以下計(jì)算優(yōu)先順序規(guī)則:
1.括號(hào)內(nèi)的表達(dá)式首先計(jì)算;
2.運(yùn)算符的優(yōu)先級(jí)有四級(jí),按其優(yōu)先順序從高到低排列為:
not;*
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版電商平臺(tái)客戶數(shù)據(jù)保密及隱私保護(hù)合同3篇
- 二零二五版農(nóng)業(yè)產(chǎn)業(yè)化合同管理與農(nóng)產(chǎn)品質(zhì)量安全協(xié)議3篇
- 二零二五版智能廣告終端設(shè)備投放與維護(hù)合同3篇
- 二零二五年綠色環(huán)保抵押貸款合同范本分享3篇
- 二零二五版一期臨床試驗(yàn)統(tǒng)計(jì)分析合同3篇
- 二零二五年度辣椒種植與冷鏈物流運(yùn)輸合同3篇
- 二零二五版餐廳智能點(diǎn)餐系統(tǒng)維護(hù)與升級(jí)合同3篇
- 二零二五年度餐飲企業(yè)承包經(jīng)營(yíng)與品牌升級(jí)合同3篇
- 二零二五版智能簽約二手房購(gòu)房合同范本2篇
- 二零二五版新能源汽車電池購(gòu)銷合同樣本3篇
- 冬春季呼吸道傳染病防控
- 中介費(fèi)合同范本(2025年)
- 《kdigo專家共識(shí):補(bǔ)體系統(tǒng)在腎臟疾病的作用》解讀
- 生產(chǎn)調(diào)度員崗位面試題及答案(經(jīng)典版)
- 【物 理】2024-2025學(xué)年八年級(jí)上冊(cè)物理寒假作業(yè)人教版
- 交通運(yùn)輸安全生產(chǎn)管理規(guī)范
- 電力行業(yè) 電力施工組織設(shè)計(jì)(施工方案)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 查對(duì)制度 課件
- 2024-2030年中國(guó)豬肉市場(chǎng)銷售規(guī)模及競(jìng)爭(zhēng)前景預(yù)測(cè)報(bào)告~
評(píng)論
0/150
提交評(píng)論