Luận văn Chương trình dạy học pascal

Theo xu hứng thế phát triển của thời đại hiện nay, công nghệ thông tin đóngvai trò rất quan trọng trong mọi lĩnh vực kinh tế, chính trị, xã hội, nó đã ăn sâu vào mọi lĩnh vực và tầm quan trọng của công nghệ thông tin trong thời đại hiện nay là một điều không thể phủ nhận. Chiếc máy tính đã trở nên thông dụng, ta có thể thấy nó ở mọi nơi trong mọi lĩnh vực, từ văn phòng công sở của các công ty đến máy tính trong mỗi gia đình. Hiện nay ở nước ta việc sử dụng rộng rãi máy tính không còn chỉ bó hẹp trong viện nghiên cứu , các trường đại học , các trung tâm máy tính mà cònmở rộng ra mọi cơ quan ,xí nghiệp Ngày nay tin học đã thâm nhập vào tất cả mọi hoạt động của toàn xã hội loài người và máy tính điện tử trở thành công cụ đắc lực không chỉ giảm nhẹ lao đông (kể cả lao động trí óc) mà còn giúp thêm con người những năng lực mới .

pdf61 trang | Chia sẻ: lvbuiluyen | Lượt xem: 3211 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Chương trình dạy học pascal, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang1 Luận văn Chương trình dạy học pascal Trang2 PHẦN A: KHÁI QUÁT VỀ CHƯƠNG TRÌNH I. GIỚI THIỆU VỀ ĐỀ TÀI Theo xu hứng thế phát triển của thời đại hiện nay, công nghệ thông tin đóngvai trò rất quan trọng trong mọi lĩnh vực kinh tế, chính trị, xã hội, nó đã ăn sâu vào mọi lĩnh vực và tầm quan trọng của công nghệ thông tin trong thời đại hiện nay là một điều không thể phủ nhận. Chiếc máy tính đã trở nên thông dụng, ta có thể thấy nó ở mọi nơi trong mọi lĩnh vực, từ văn phòng công sở của các công ty đến máy tính trong mỗi gia đình. Hiện nay ở nước ta việc sử dụng rộng rãi máy tính không còn chỉ bó hẹp trong viện nghiên cứu , các trường đại học , các trung tâm máy tính mà cònmở rộng ra mọi cơ quan ,xí nghiệp Ngày nay tin học đã thâm nhập vào tất cả mọi hoạt động của toàn xã hội loài người và máy tính điện tử trở thành công cụ đắc lực không chỉ giảm nhẹ lao đông (kể cả lao động trí óc) mà còn giúp thêm con người những năng lực mới . Việt Nam hiện nay máy tính, đặc biệt máy vi tính trong những năm gần đây đã quen thuộc với mọi người. Bước đầu tin học đã được đưa vào các trường trung học ,đại học nhằm đi tới phổ cập tin học cho mọi người . Số lượng máy tính ngày một nhiều , do vậy việc giảng dạy tin học trong các trường đại học, trung học và một bước trong các trường phổ thông cũng đang được đẩy mạnh đi đôi với việc tăng cường trang bị máy vi tính., và để khai thác hết công suất của máy tính. Ngôn ngữ lập trình Pascal do giáo sư N.Wirth sáng tác năm 1970 , là một ngôn ngữ thuật giải , có tính cấu trúc chặt chẽ ,sáng sủa và với mục đích làm công cụ giảng dạy cho sinh viên.Song hiện nay Pascal đã trở thành một trong các ngôn ngữ phổ biến nhất , thích hợp với nhiều ứng dụng khoa học, kỹ thuật, quản lý và được coi là ngôn ngữ thích hợp nhất cho tất cả các đối tượng nhập môn tin học như cán bộ , học sinh phổ thông , sinh viên Học Pascal các bạn học sinh ,sinh viên còn học được lối tư duy rõ ràng, mạch lạc. Trang3 Do vậy để đáp ứng nhu cầu về việc học tin học cũng như học các môn lập trình, chung tôi xin trân trọng mang tới cho các ban học sinh, sinh viên ,ban dọc chương trình “chương trỡnh dạy học pascal”. Chương trình có thể là một trong những tài liệu tốt để mọi người có thể học và tự học Pascal. Chương trình gồm đầy đủ về lí thuyết và một số dạng bài ví dụ cụ thể. II. MỤC LỤC CỦA CHƯƠNG TRÌNH 1. Chương I a. Dữ liệu và kiểu dữ liệu b. Logic và integer c. Kiểu thực và Character d. Kiểu dữ liệu đếm được và không đếm được e. Ví dụ minh họa 2. Chương II a. Khai báo hằng b. Các kiểu dữ liệu mới và biểu thức c. Các câu lệnh Instruction d. Ví dụ minh họa 3. Chương III a. Thủ tục Write b. Thủ tục Read c. Câu lệnh If.. then.. d. Câu lệnh Case .. of.. e. Ví dụ minh họa 4. Chương IV a. Vòng lặp Repeat b. Lệnh điều khiển Goto c. Vòng lặp For d. Ví dụ minh họa Trang4 5. Chương V a. Khái niệm về chương trình con b. Thủ tục Function c. Đơn vị chu trình Unit d. Vi dụ minh họa 6. Chương VI a. Khái niệm mảng b. Khái niệm cấu trúc mảng c. Mảng một chiều và hai chiều d. Ví dụ minh họa 7. Chương VII a. Khái niệm bản ghi b. Bản ghi có cấu trúc c. Mô tả và sử dụng Record d. Câu lệnh With 8. Chương VIII a. Cấu trúc phân loại b. Mở và đóng các File c. Đọc file đã có trên đĩa d. Text file 9. Chương IX a. Định nghĩa xâu kí tự b. Thao tác xâu kí tự c. Ví dụ minh họa 10. Chương X a. Khái niệm về đồ họa b. Các câu lệnh đồ họa c. Ví dụ minh họa Trang5 PHẦN B: KHÁI QUÁT VÀ THIẾT KẾ HỆ THỐNG CHƯƠNG TRÌNH CHƯƠNG I : KHÁI QUÁT VỀ CHƯƠNG TRÌNH I.I. GIỚI THIỆU SƠ LƯỢC VỀ CHƯƠNG TRÌNH Như đã giới thiệu với bạn đọc ở chương I, ngôn ngữ Pascal là ngôn ngữ thuật giải có các cấu trúc chặt chẽ. Do vậy thông qua lưu đồ thuật giải của chương trình, người quản lý có thể xây dựng cũng như cập nhật dữ liệu, phát triển phần mềm một cách có hiệu quả nhất. Để hiểu rõ vấn đề ta vào xem xét một số vấn đề cũng như thiết kế sau. 1. Tìm hiểu Triển khai đề tài áp dụng từ trung tâm học sinh chúng em đã tìm tòi nghiên cứu áp dụng một sách về lập trình Pascal hiện nay như : ngôn ngữ lập trình Pascal, tự học lập trình Pascal, 100 bài toán lập trình Pascal... Để đưa ra những Menu giới thiệu tới bạn đọc cách học ngôn ngữ lập trình Pascal, một cách nhanh nhất và hiệu quả nhất. 2. Phân tích Dựa trên những ý tưởng và tham khảo một số sách trên, em đã phân tích và triển khai áp dụng vào đề tài thực tập. Tuy có chút ít thay đổi nhưng em vẫn luôn tôn trọng tác giả sách cũng như ý kiến của người dụng. Phân tích thiết kế những yêu cầu trọng yếu của phần mềm, triển khai những yêu cầu quan trọng trước như lý thuyết còn những phần quan trọng khác thực hiện sau đầy đủ hơn như phần bài tập áp dụng.... Quá trình phân tích(thuật giải) bao gồm các bước sau: Xáđịnh yêu cầu của đề bài, tìm kiếm và bổ xung dữ liệu, thiết kế giao diện chương trình. Trang6 I.II. THIẾT KẾ SƠ LƯỢC MENU HỆ THỐNG - Thiết kế xây dựng giao diện giới thiệu đề tài tốt nghiệp bằng ngôn ngữ TorboPascal. - Thiết kế Munnu chương trình và màn hình đồ họa bằng ngôn ngữ TorboPascal. - Để thể hiện mô hình của toàn bộ hệ thống ta xem các sơ đồ đặc tả chức năng sau. 1. Sơ đồ chức năng Sơ đồ chức năng Menu chính Menu chương trình CHƯƠNG MỘT CHƯƠNG HAI CHƯƠNG BA CHƯƠNG BỐN CHƯƠNG NĂM CHƯƠNG MƯỜI CHƯƠNG CHÍN CHƯƠNG TÁM CHƯƠNG SÁU CHƯƠNG BẨY Trang7 2. Sơ đồ menu chương một 3. Sơ đồ Menu chương hai 4. Mô hình sơ đồ Menu chương ba CHƯƠNG MỘT Dữ liệu và kiểu dữ liệu Logic và Interger Kiểu character Dữ liệu không đếm được và đếm được Ví dụ minh họa Trở về menu chính Chương ba Thủ tục write Thủ tục read Câu lênh if..then.. Vi dụ minh họa Trở về Menu chính Chương hai Khai báo hằng Kiểu dữ liệu mới và biểu Câu lệnh Intruction Vi dụ minh họa Trở về menu chính Trang8 5. Mô hình Menu chương bốn 6. Mô hình Menu chương năm 7. Mô hình Menu chương sáu Chương năm đơn vị chu trình unit Thủ tục funcion Khái niệm về chương trình con Trở về Menu chính Chương sáu Câu lệnh If ... then... Mảng một chiều ,hai chiều Khái niệm cấu trúc mảng Khái niệm mảng Vi dụ minh họa Chương bốn Vòng lặp repeat Lệnh Goto Vòng lặp for Ví dụ minh họa Trở về menu chính Trang9 8. Mô hình Menu chương bảy 9. Sơ đồ Menu chương tám 10. Sơ đồ Menu chương chín Chương bảy Mô tả và sử dụng record Khái niệm bản ghi Bản ghi có cấu trúc Câu lệnh with Trở về Menu chính Chương tám Cấu trúc phân loại Mở và đóng tệp đọc file trên đĩa Text file Trở về Menu chính Chương chín định nghĩa xâu kí tự Thao tác xâu kí tự Ví dụ minh họa Trở về Menu chính Trang10 11. Sơ đồ Menu chương mười Chương mười Khái niệm về đồ họa Các câu lệnh đồ họa Ví dụ minh họa Trở về Menu chính Trang11 CHƯƠNG II: MÔ TẢ CHƯƠNG TRÌNH I. CHƯƠNG TRÌNH MỤC LỤC Chương trình chính được liệt kê ra mucluc , cho phép người sử dụng bao quát toàn bộ các Menu và quản lý chương trình tốt nhất . Để vẽ ra được một cái Menu chính thì có nhiều cách làm khác nhau. Bạn có thể dùng hàm GoToxy(i, j). Ngoài ra có thể dùng mảng để khai báo rồi cho mảng đó chay từ 1..n . Ten_Menu: Array[1..n] of String; Mảng có thể là Integer hoặc String. Trong Menu này thì được khai báo thuộc String. Mảng thì được khai báo trong hàm Var. Chương trình chính được khai báo trước dùng hàm thủ tục Procedure. Cách thực hiện: Procedure MENU_MUCLUC (option: integer); Var C,H,RONG,CAO,i: integer; CHUONG MOT CHUONG HAI CHUONG BA CHUONG BON CHUONG NAM CHUONG SAU CHUONG BAY CHUONG TAM CHUONG CHIN CHUONG MUOI Trang12 Ten_Muc:Array[1..10] of string; { dung luu cac dong menu } begin Ten_Muc[1]:=' CHUONG MOT '; Ten_Muc[2]:=' CHUONG HAI '; Ten_Muc[3]:=' CHUONG BA '; Ten_Muc[4]:=' CHUONG BON '; Ten_Muc[5]:=' CHUONG NAM '; Ten_Muc[6]:=' CHUONG SAU'; Ten_Muc[7]:=' CHUONG BAY '; Ten_Muc[8]:=' CHUONG TAM'; Ten_Muc[9]:=' CHUONG CHIN'; Ten_Muc[10]:=' CHUONG MUOI '; RONG:=280;CAO:=33;C:=(600 -rong) div 2; H:=105; for i:=1 to 10 do begin if i= option then Begin cua_so(c,h+(i-1)*cao,c+rong,h+i*cao,2,0,0,2); setcolor(15); End else Begin cua_so(c,h+(i-1)*cao,c+rong,h+i*cao,2,0,0,3); setcolor(0); End; textbackground(0); sttextstyle(1,horizdir,1); outtextxy(c+4,h+(i-1)*cao+4,Ten_Muc[i]); end; end; Trang13 II. CHƯƠNG TRÌNH MENUCON 1 Để tạo một Menucon thì cũng không khác gì so với Menu Chính của chương trình. Menucon được tạo ra từ khai báo mảng . Mục_lục1[1..6] of String; Vị trí đặt của mảng là không cố định, ta có thể thu nhỏ mảng lại, phần đó được khai báo sau. Trong các MucLuc này được đánh tên nhãn một cách đầy đủ, chương trình Menucon1 khai báo trước , dùng hàm thủ tục. Menu con1: Được gán với nhãn “ CAC KIEU DU LIEU DU LIEU CO SO & DON GIAN CHUAN ” Các câu lệnh thực hiện: Procedure MENU_C1(option : integer); Var C1,H1,RONG1,CAO1,i:integer; Muc_luc1:Array[1..6] of string; Begin Muc_luc1[1]:=' DU LIEU va KIEU DU LIEU'; Muc_luc1[2]:=' LOGIC Boolean va Integer '; Muc_luc1[3]:=' KIEU Real va CHARACTER'; Muc_luc1[4]:=' DEM DUOC va KHONG DEM DUOC'; Muc_luc1[5]:=' THI DU MINH HOA'; Muc_luc1[6]:=' TRO VE'; end; DU LIEU & KIEU DU KIEU LOGIC & INTEGER KIEU REAL & CHARACTER DEM DUOC &KHONG DEM DUOC THI DU MINH HOA TRO VE Trang14 Ở trên có một số biến khai báo về kích thức độ rộng, độ cao của MucLuc1. Trong pascal nó cho phép xác định các tỷ lệ độ dài theo màn hình từ trên xuống, từ dưới lên, từ trái sang phải, từ phải sang trái. Tất cả các cái đó đều được qui định rõ trong Pascal. Menucon1 được liên kết với các File dữ liệu . III. MENUCON 2 Menucon2 được khai báo hoàn toàn giống như các Menu trên đều được xây dựng từ các hàm có sẵn trong Pascal. Menu con2 khai báo mảng gồm 5 mục mỗi mục là một kiểu dữ liệu khác nhau. Mỗi kiểu dữ liệu đề được mang một thông tin nhất định. Menucon2 chúa các thông tin về “CAC KIEU KHAI BAO HANG & BIEM” Procedure MENU_C2(option: integer); Var C1,H1,RONG1,CAO1,i:integer; Muc_luc2:Array[1..5] of string; Begin Muc_luc2[1]:=' KHAI BAO HANG $ BIEN'; Muc_luc2[2]:=' KIEU DU KIEU MOI & BIEU THUC '; Muc_luc2[3]:='CAU LENH INSTRUCTION,STATEMENT'; Muc_luc2[4]:=' THI DU MINH HOA'; Muc_luc2[5]:=' TRO VE'; End; KHAI BAO HANG & BIEN KIEU DU LIEU MOI & BIEU THUC CAC CAU LENH INSTUCION THI DU MINH HOA TRO VE Trang15 Trong chương trình Menucon 2 khi khai báo cũng phải dùng mảng để liệt kê các mucluc nhỏ cho phép người sử dụng bao quát hết các menu nhỏ. Chương trình cũng được khai báo trước bằng thủ tục Procedure , để sau chạy chương trình hàm thủ tục sẽ được gọi đến, giúp cho người lập trình kiểm soát được một cách tối đa. Hàm GetMaxX GetMaxy qui đinh điểm đầu và điểm cuối nó được khai báo là số nguyên Integer. IV. MENU CON3 Mục lục của chương trình menucon3 tổ chức tương tự như các menu trên. Mục lục này chứa rất nhiều các thông tin, đó là những thông tin rất cần thiết không thể thiếu được mọi ngôn ngữ lập trình. Nguyên tắc làm cũng dựa trên cơ sở khai báo mảng một chiều, tạo ra một cách tuần tự từ a đến z . Thủ tục được khai báo trước và đặt tại một vị trí nào đó trong chương trình chính. Khi chạy thì gọi hàm đó ra là xong. “ THU TUC RA VAO DU LIEU REALN, READ, WRITELN,WRITE” Procedure MENU_C3 (OPTION: integer); Var C1,H1,RONG1,CAO1,i:integer; Muc_luc3:Array[1..6] of string; Begin Muc_luc3[1]:=' THU TUC VIET DU LIEU Write va Writeln'; Muc_luc3[2]:='THU TUC VAO DU LIEU Read va Readln'; THU TUC VIET WRITELN & READ THU TUC WRITE & READLN DIEU KIEN IF.. THEN.. CAU LENH CASE ..OF.. THI DU MINH HOA TRO VE Trang16 Muc_luc3[3]:=' CAU LENH DIEU KIEN If..Then..Else..'; Muc_luc3[4]:=' CAU LENH LUA CHON Case..Of..'; Muc_luc3[5]:=' THI DU MINH HOA'; Muc_luc3[6]:=' TRO VE'; V. MENUCON11 Hoàn toàn dựa theo các menu trước được gọi đến. Thực hiện : PROCEDURE MENU_C10 (OPTION: INTEGER); VAR C1,H1,RONG1,CAO1,I:INTEGER; MUC_LUC10:ARRAY[1..4] OF STRING;{ DUNG LUU CAC DONG MENU } BEGIN MUC_LUC10[1]:=' KHAI NIEM VE DO HOA'; MUC_LUC10[2]:=' CAC CAU LENH DUNG DO HOA '; MUC_LUC10[3]:=' THI DU MINH HOA'; MUC_LUC10[4]:=' TRO VE'; END; KHAI NIEM VE DO HOA CAC CAU LENH DO HOA THI DU MINH HOA TRO VE Trang17 CHƯƠNG III: MỐI QUAN HỆ GIỮA CÁC MENU 1. MỐI QUAN HỆ CỦA MENUMUCLUC VƠÍ MENUCON MenuMucLuc bao gồm toàn bộ các mục từ mục một cho đến mục mười. Trong mỗi mục nhỏ này thì lại liên kết một mục khác hay còn gọi là menucon. Các menucon nối với các menucon khác thành các mục nhỏ hơn.Từ các mục nhỏ này được liên kết đến các dữ liêu cần thiết . Chương trình menumucluc liên kết được với các menucon nhờ vào các câu lệnh Case..of. Ngôn ngữ Pascal viết khá rõ về câu lệnh này, tiêu biểu như ở trong “ Chương trình dậy hoc pascal trên máy tính ”. Câu lệnh được viết dưới dạng sau: Case bt of Tập hằng 1: Câu lệnh thuộc khối lệnh 1; Tập hằng 2: Câu lệnh thuộc khối lệnh2; .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. Tập hằng n: Câu lệnh thuộc khối lệnh n; Else câu lênh (n+1) hoặc khối lệnh (n+1) End. Sau khi kiểm tra chương trình nếu nhận đúng câu lệnh 1 thì thực hiện theo cách tuần tự. Nếu Tập hằng 2 : Câu lệnh thuộc khối lệnh 2; thì máy thực hiện ,trong trường hợp khác gặp Else máy sẽ thự hiện đằng sau Else. Khi đó tên hằng 1 của khối lệnh 1 hoặc khối lệnh 2 sẽ có giá trị là False . Sau khi hoàn tất của câu lệnh Case of thì chương trình bắt đầu được chọn dưới mục Begin,thực hiện câu lệnh từ a -> z . Menu MucLuc Menucon Trang18 Sau khi thực hiện câu lệnh hoàn tất các biến đưa ra màn hình. Để quay lại menumucluc ta sử dụng bằng câu lệnh If , khi đó chương trình quay lại và bắt đầu thực hiện từ câu lệnh 1. Cách thực hiện : Procedure CALLMENU; Var Sott1, k :integer; Begin Sott1:=1; Cleardevice; Cuasonen; MENU_MUCLUC (Sott1); While true do Begin key:=readkey; case key of #0: begin key:=readkey; if key = #72 then Begin Sott1:=Sott1-1; st; td; if Sott1< 1 then Sott1:= 10; End; 2. MỐI QUAN HỆ CỦA MENUCON VÀ FILE DỮ LIỆU Menucon File dữ liệu Trang19 While true do Begin key:=readkey; case key of #27:exit; #13: If Sott1 = 4 then EXIT else case Sott1 of 1: begin Restorecrtmode; Textcolor(7); Ten9:='d:\ tp \ bin \ 91.pas'; ReadData(ten9); SetGraphMode(GetGraphMode); Cuasonen9; end; 2:begin Restorecrtmode; Textcolor(7); Ten9:='d:\tp\bin\92.pas'; ReadData(ten9); SetGraphMode(GetGraphMode); Cuasonen9; end; 3:begin Restorecrtmode; Textcolor(7); Ten9:='d:\tp\bin\93.pas'; ReadData(ten8); SetGraphMode(GetGraphMode); Trang20 Cuasonen9; end; End; #0: begin key:= readkey; if key= #72 then Begin Sott1:= Sott1 - 1; st; if Sott1 < 1 then Sott1:= 4; End; if key= #80 then Begin Sott1:= Sott1 + 1; st; if Sott1 > 4 then Sott1:= 1; End; end; end; { of case key } Sau khi menucon được gọi , các menucon được gắn với cac File dữ liệu , các File dữ liệu được khai báo trước đó và hoàn toàn độc lập . Chương trình cho phép đọc các File dữ liệu từ các menucon thông qua chương trình đọc dữ liệu đã được thiết kế sẵn . Để đọc các dữ liệu đó ta cũng phải khai báo các câu lệnh điều kiện If .. then.. else , sau khi chọn các File dữ liệu được load lên màn hình thông qua các hàm : Assign(biến_tệp, ten_tep); Reset(bien_tep); Procedure ReadData(ch:string); var f1:text; var dd:string; Trang21 x, y, i: Integer; begin assign(f1,ch); reset(f1); while not eof(f1) do begin x := wherex; y := wherey; readln(f1,dd); writeln(dd); if wherey-y>1 then gotoxy(wherex,wherey-1); if (wherey = 25) and (not eof(f1)) then readkey; end; readln; close(f1); end; 3. MỐI QUAN HỆ CHUNG TỪ MENUMUCLUC ĐẾN CÁC MENU KHÁC Sau khi đã xây dựng xong chương trình một cách khái quát về các menu chính và các menucon. Từ menuchinh đi đến các menucon và cuối cùng đến các file dữ liệu. Các câu lệnh trong chương trình được sắp xếp theo một trật tự nhất định. Nếu sau mỗi lựa chọn thì dữ liệu được linh với menucon khác, đều thực hiện theo các câu lệnh như nhau, và được bắt đầu từ một vị trí nào đó trong chương trình. Tuy nhiên các phần liên kết dữ liệu được mô tả hoàn toàn giống Menu con File dữ liệu Menumụclục Trang22 nhau. Câu lệnh trong menumucluc được viết dưới dạng gọi một chương trình con, chương trình con này viết bằng hàm thủ tục, nó hoàn toàn là một chương trình hoàn chỉnh. Chương trình này chỉ chạy khi một chương trình con khác gọi đến. Sau khi được gọi ra menumucluc sẽ là TRURE tức là nếu đúng thì thực hiện còn sai thi bỏ qua và bắt đầu thực hiện các câu lệnh khá dưới Else. Menucon được gọi ra màn hình mang rất nhiều mục hay được gọi là các menucon của menucon.Các menucon có thể liên kết với các File dữ liệu. Tức nhiên các file dữ liệu này đã có sẵn trong pascal hoặc có thê do người lập chương trình làm ra. Để load được các file đó ta cũng phải khai báo các biến, sử dụng các câu lệnh If .. then .. else hoặc các câu lệnh Case .. of . File được đọc ra, trong ngôn ngữ pascal được xây dựng một công thức chung cho mọi trương hợp khi load file text xong có thể Enter để quay về chương trình. Khi trở về menucon và từ menucon trở về menumucluc. Sau đây là câu lệnh được dùng trong chương trình ‘ dạy học trên máy bằng ngôn ngữ pascal’ : MENU_MUCLUC (Sott1); While true do Begin key:=readkey; case key of #0: begin key:=readkey; Sott1:=Sott1-1; st; td; if Sott1<1 then Sott1:=10; End; if key = #80 then Begin Sott1:=Sott1+1; st;td; if Sott1>10 then Sott1:=1; if Sott1>10 then Sott1:=1; Trang23 End; end; #27: exit; #13: begin procedures[Sott1]; Cuasonen; end; else begin for k:=1 to 10 do begin if upcase(muclucindex[k]) = upcase(key) then begin procedures[k]; Cuasonen; end; end; end; end; { of case key } MENU_MUCLUC(Sott1); end;{ of While } End; Bạn có thể quan sát ở trên các câu lệnh liên kết một cách chặt chẽ, sau mỗi từ khóa là Begin được chọn chạy chương trình. Như trên toán tử lựa chọn câu lệnh đúng Case key of khi chạy nó khiểm tra key đó thì cho phép thực hiên. Hàm if dùng để liên kết các menucon, menumucluc, vị trí của cái được chọn từ 1 đến bao nhiêu gì đó thì nó sẽ thực hiện. Sott1:=1; Cleardevice; Cuasonen10; MENU_C10 (Sott1); Begin key:=readkey; Trang24 case key of #27:exit; #13: If Sott1=4 then EXIT else case Sott1 of 1: begin Restorecrtmode; Textcolor(7); Ten10:='d:\ tp\ bin\ 10.pas'; ReadData(ten10); SetGraphMode(GetGraphMode); Cuasonen10; end; 2:begin Restorecrtmode; Textcolor(7); Ten10:='d:\ tp\ bin\ 10.pas'; ReadData(ten10); SetGraphMode(GetGraphMode); Cuasonen10; end; 3:begin Restorecrtmode; Textcolor(7); Ten10:='d:\ tp\ bin\ 10.pas'; ReadData(ten10); SetGraphMode(GetGraphMode); Cuasonen10; end; 4:begin Restorecrtmode; Trang25 Textcolor(7); Ten10:='d:\ tp\ bin\ 11.pas'; ReadData(ten10); SetGraphMode(GetGraphMode); Cuasonen10; end; End; #0:begin key:= readkey; if key= #72 then Begin Sott1:= Sott1 - 1; st; if Sott1 < 1 then Sott1:= 4 End; if key= #80 then Begin Sott1:= Sott1 + 1; st; if Sott1 > 4 then Sott1:= 1; End; end; end; { of case key } MENU