NOIP全國青少年信息學奧林匹克聯賽復習Pascal——數組PPT學習教案_第1頁
NOIP全國青少年信息學奧林匹克聯賽復習Pascal——數組PPT學習教案_第2頁
NOIP全國青少年信息學奧林匹克聯賽復習Pascal——數組PPT學習教案_第3頁
NOIP全國青少年信息學奧林匹克聯賽復習Pascal——數組PPT學習教案_第4頁
NOIP全國青少年信息學奧林匹克聯賽復習Pascal——數組PPT學習教案_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、會計學1NOIP全國青少年信息學奧林匹克聯賽復全國青少年信息學奧林匹克聯賽復習習Pascal數組數組想一想:下列數組這定義對不對,如不對,為什么?Var a:array1.n of char; b:array10.1 of integer; c:arrayinteger of boolean; d:array1.0.3.0 of real; e:array1.50000 of real;說明:說明:a數組中數組中n為變量;為變量; b數組中,下標的上下界應從小到大;數組中,下標的上下界應從小到大; c、e數組元素個數太多,空間分配不夠;數組元素個數太多,空間分配不夠; d數組下標為實型,不是有

2、序類型。數組下標為實型,不是有序類型。第1頁/共15頁第2頁/共15頁Program ex6-2(input,output); const n=10; var a:array1.n of integer; I:integer; temp:integer; begin for I:=1 to n do read(aI); temp:=a1; for I:=1 to n-1 do aI:=aI+1; an:=temp; for I:=1 to n do write(aI:3);End. 1 2 3 4 n-1 n2 3 4 n-1 n 1第3頁/共15頁第4頁/共15頁Program ex6-3(

3、input,output); const n=100; var a:array1.n+1 of integer; 如果如果x插入,數組插入,數組x將增加一個數據將增加一個數據 x:integer; I,j:integer; begin for I:=1 to n do read(aI); read(x); an+1:=x; 將將an+1設為設為x,可以作為后面比較的結束標志,可以作為后面比較的結束標志 I:=1 ; while aIx do I:=I+1; 循環結束時,循環結束時,I即為需要插入或刪除的位置即為需要插入或刪除的位置 if I=n+1 then write(Not found a

4、nd no place to insert.) x大于數組大于數組a中所有元素中所有元素,無需無需處理處理 else if aI=x then begin 找到找到x,刪除,刪除 writeln(found and deleted. Result:); for j:=I to n-1 do aj:=aj+1; 數據前移數據前移 for j:=1 to n-1 do write(aj:3); end else begin 沒找到沒找到x,插入,插入 writeln(not found and insert. Rusult:); for j:=n+1 downto I+1 do aj:=aj-1;

5、 數據后移數據后移 aI:=x; for j:=1 to n+1 do write(aj:3); end; writeln; end. 第5頁/共15頁第6頁/共15頁Program maopao_sort(input,output); const n=10; var a:array1.10 of integer; I,j,temp:integer; begin for I:=1 to n do read(aI); for I:=1 to n-1 do for j:=n-1 downto i do if aj+1ai+1 then begin temp:=ai; ai:=ai+1;ai+1:=

6、temp; t:=false; end until t ; writeln; for I:=1 to n do write(aI:4);End.第8頁/共15頁分析:在標準類型分析:在標準類型中,長整型范圍是中,長整型范圍是-2147483648-21474483647,而二而二進制數進制數 10000000000的十的十進制數為進制數為1024,因,因此如果直接來轉換此如果直接來轉換會出現數據溢出。會出現數據溢出。為了能更好存儲二為了能更好存儲二進制的各個位數,進制的各個位數,可以采用數組。假可以采用數組。假定輸入的數據是長定輸入的數據是長整型,則存儲二進整型,則存儲二進制數的數組長度為制數

7、的數組長度為32。十十二的方法是除以二的方法是除以2反向取余法。反向取余法。 Program ex6-5(input,output); var bin:array0.50 of 0.1; x:longint; k,I:integer; Begin read(x); for I:=0 to 50 do binI:=0; 將數組清將數組清0 k:=0; while x0 do begin bink:=x mod 2; x:=x div 2; k:=k+1; end; write(二進制為二進制為:) for I:=k-1 downto 0 do write(binI:1); end. 第9頁/共1

8、5頁1252011841661015219118137143179設和存放在設和存放在S S中,我們不妨先確定一個序,即確定第一中,我們不妨先確定一個序,即確定第一個數的位置和最后一個數的位置。假設圓盤上的個數的位置和最后一個數的位置。假設圓盤上的2020個數個數中中5 5為第一個數,為第一個數,1212為最后一個數。則可將這為最后一個數。則可將這2020個數放個數放在在a a數組中。數組的下標取數組中。數組的下標取0-190-19。0Imax then begin max:=s;smax:=I;end; if smin then begin min:=s; smin:=I; end; end

9、; write(max:,asmax:2);for I:=1 to 3 do write(+,asmax+I mod 20:2); write(=,max); writeln(start from,smax+1); write(min:,asmin:2);for I:=1 to 3 do write(+,asmin+I mod 20:2); write(=,min);writeln(start from ,smin+1); end. 第11頁/共15頁第12頁/共15頁Program ex6-7(input,output); var score:arrayA.D of integer; nam

10、e:array1.4 of char; I,j:integer; select,ch:char; begin read(select); for ch:=A to D do scorech:=0; 將將score數組清數組清0 for I:=1 to 4 do nameI:=chr(ord(A)+I-1); name數組初始化為數組初始化為A、B、C、D while select# do begin if select in A,B,C,D then 有效票有效票 scoreselect:=scoreselect+1; 對應候選人得票數加對應候選人得票數加1 read(select); end; for I:=1 to 3 do for j:=I+1 to 4 do if scorenameIscorenamej then根據票數確定名次根據票數確定名次 begin ch:=nameI; nameI:=namej;namej:=ch; e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論