Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
250 KB
Nội dung
BÀI TẬP LỚN TÊN NHÓM:NHÓM 5 TÊN ĐỀ TÀI: CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG CHƯƠNG TRÌNH PASCAL VÀ ỨNG DỤNG. Giáo viên hướng dẫn: Th.s: Lưu đức Chính. NHỮNG NGƯỜI THỰC HIỆN : 1. PHÙNG QUANG HÀ (Nhóm trưởng) 2. TRƯƠNG THỊ TRÂM 3. NGUYỄN THỊ THANH HOA PHẦN A: MỞ ĐẦU I. LÝ DO CHỌN ĐỀ TÀI Trong thời đại ngày nay, thời đại của công nghiệp hóa hiên đại hoá đất nước, hội nhập và phát triển do đó đòi hỏi con người cần phải có tri thức mà tri thức là khả năng sáng tạo tư duy của mỗi con người, là thước đo quan trọng cho nguồn nhân lực của đất nước, là khả năng biến đổi thông tin thành kiến thức, và từ kiến thức tạo ra giá trị. Với mục đích nâng cao chất lượng của cuộc sống giúp cho sinh viên có khả năng tư duy và sáng tạo củng cố và nâng cao kiến thức là một việc hết sức quan trọng. Môn môn tin học là một môn học mang tính thực tế, khó, đòi hỏi người học phải có khả năng tư duy, sáng tạo, và cần phải học tập nghiên cứu nhiều. Môn tin học là một môn học hết sức quan trọng đối với sinh viên ngành sư phạm toán-tin và ngành công nghệ thông tin. Với môn học này sinh viên sẽ được làm quen với một số kiến thức cơ bản, các ứng dụng trong thực tế như soạn thảo văn bản, lập trình pascal Tuy nhiên đối với môn học này yêu cầu đòi hỏi người học phải có tính tư duy trừu tượng kĩ năng lập luận logic. Do đó nó đã thôi thúc em cố gắng nghiên cứu học tập kĩ hơn nhiều hơn sâu hơn để có thể hiểu sâu hơn kiến thức trong chương trình của môn học này. Đặc biệt là “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. Với đề tài “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng” đây cũng là một phần trong môn tin học. Nó cũng sẽ giúp cho học sinh, sinh viên hiểu rõ hơn về kiến thức của môn.Từ đó có thể giúp cho học sinh, sinh viên đạt được nhiều kết quả như mong muốn:giải quyết bài toán một cách có hiệu quả hơn, nhanh hơn, với nhiều phương pháp giải khác nhau, giúp đi sâu hơn vào bài toán, bổ trợ kiến thức giúp ích rất lớn cho việc học môn tin học. Có thể các sinh viên khoá trước đã làm đề tài này, tuy nhiên kiến thức luôn là vô tận càng đi sâu, càng tìm hiểu kĩ và càng khám phá thì chúng ta lại tìm ra được nhiều điều hay, thú vị từ những kiến thức, tính chất, bài toán. Điều đó làm cho các dạng bài tập thêm phong phú hơn. Từ những lý do trên mà em đã chọn đề tài: “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng” từ đó đưa ra một số lí thuyết, bài tập mẫu cho sinh viên, một số phương pháp giải các dạng bài tập trong phần này. Có thể giúp học sinh, sinh viên nắm vững kiến thức và giải các bài tập một cách nhanh và chính xác hơn. II.MỤC ĐÍCH NGHIÊN CỨU. 1. Bước đầu xây dựng làm quen với việc nghiên cứu khoa học để hiểu sâu hơn cơ sở. 2. Xây dựng các phương pháp giải quyết các bài toán trong lập trình pascal, rèn luyện cho học sinh sinh viên kĩ năng kĩ xảo giải các dạng bài tập giúp cho học sinh hứng thú hơn trong việc giải các dạng bài tập liên quan đến “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. 3. Giúp hiểu rõ hơn các vẫn đề về cơ sở lý thuyết ,nôi dung của “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. Phục vụ tốt hơn trong việc học môn Tin học. 4. Rèn luyện thói quen làm việc độc lập sáng tao và tư duy tốt hơn. 5. Giúp học sinh, sinh viên tích luỹ kiến thức, kinh nghiệm, phục vụ cho việc học tập, rèn luyện,cũng như phục vụ cho công tác giảng dạy cho sinh viên sau này. III.ĐỐI TƯỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU. - Nghiên cứu giáo trình pascal. - Nghiên cứu về các vấn đề , nội dung liên quan đến “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng” - Nghiên cứu chương trình học phổ thông về chương trình pascal. - Nghiên cứu lí thuyết các câu lệnh gán, cấu trúc vòng lặp, cấu trúc rẽ nhánh. IV.GIẢ THUYẾT KHOA HỌC. Nếu đề tài được thực hiện thì có thể góp phần nâng cao chất lượng học tập môn tin học đặc biệt là phần “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. Với đề tài này nó có có thể làm tài liệu tham khảo cho học sinh, sinh viên các lớp Toán – tin, công nghệ thông tin, của Trường Cao Đẳng Sư Phạm Nghệ An. V.NHIỆM VỤ NGHIÊN CỨU. - Xây dựng cơ sở lí luận: Nghiên cứu về lí thuyết của đề tài “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. - Nghiên cứu tìm hiểu đặc điểm nội dung giáo trình môn pascal nói chung và đặc biệt là “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng” nói riêng. - Nghiên cứu, phân dạng các dạng bài tập liên quan đến “Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”. VI.PHƯƠNG PHÁP NGHIÊN CỨU. 1. Phương pháp nghiên cứu lý luận : + Tìm hiểu nghiên cứu tài liệu lý thuyết trong giáo trình môn lập trình pascal và các môn liên quan. + Các đề tài nghiên cứu khoa học có liên quan. 2. Phương pháp điều tra quan sát : + Từ cơ sở lý thuyết áp dụng vào bài tập. + Tham gia đầy đủ các giờ dạy của giảng viên môn lập trình pascal. + Thảo luận học nhóm với các sinh viên trong lớp k34 toán tin. 3. Sử dụng kết hợp nhiều phương pháp: so sánh, đối chiếu, phân tích tổng hợp. 4. Thu thập và xử lí thông tin. VII. ĐÓNG GÓP CỦA ĐỀ TÀI. Một số dạng bài tập đặc trưng và nâng cao của phần “ Các cấu trúc điều khiển trong chương trình passcal và ứng dụng”, hình thành nên một tài liệu tham khảo cho sinh viên ngành Toán – tin, công nghệ thông tin tham khảo và học tập. VIII. BỐ CỤC ĐỀ TÀI. Phần A: Mở đầu Phần B: Nội dung Phần C: Kết luận Phần D: Tài liệu tham khảo và nghiên cứu PHẦN B:NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT I. GIỚI THIỆU NGÔN NGỮ PASCAL. 1. Ngôn ngữ pascal Vào đầu những năm 1970 do nhu cầu học tập của sinh viên, giáo sư Niklaus Writh - Trường Đại Học Kỹ Thuật Zurich - Thụy Sĩ đã sáng tác một ngôn ngữ lập trình cấp cao cho công tác giảng dạy sinh viên. Ngôn ngữ được đặt tên là PASCAL để tưởng nhớ đến nhà toán học người Pháp Blaise Pascal. Pascal là một ngôn ngữ lập trình có cấu trúc thể hiện trên 3 phương diện. - Về mặt dữ liệu: Ngoài các kiểu dữ liệu đơn giản còn có các kiểu dữ liệu có cấu trúc. Ta có thể xây dựng các kiểu dữ liệu phức tạp từ các kiểu dữ liệu đã có. - Về mặt câu lệnh: Từ các câu lệnh đơn giản và lệnh có cấu trúc ta có thể xây dựng các câu lệnh hợp thành. - Về mặt chương trình: Một chương trình có thể chia làm nhiều chương trình con. 2. TURBO PASCAL Khi mới ra đời, Standart Pascal là một ngôn ngữ đơn giản, dùng để giảng dạy và học tập, dần dần các ưu điểm của nó được phát huy và trở thành một ngôn ngữ mạnh. Từ Pascal chuẩn ban đầu, đã được nhiều công ty phần mềm cải tiến với nhiều thêm bớt khác nhau. TURBO PASCAL là sản phẩm của hãng Borland được dùng rất phổ biến trên thế giới vì những ưu điểm của nó như: tốc độ nhanh, các cải tiến so với Pascal chuẩn phù hợp với yêu cầu người dùng. TURBO PASCAL 4.0 trở đi có cải tiến rất quan trọng là đưa khái niệm Unit để có thể dịch sẵn các Module trên đĩa, làm cho việc lập trình trở nên ngắn gọn, dễ dàng, chương trình viết dễ hiểu hơn. Từ phiên bản 5.5 (ra đời năm 1989) trở đi, Turbo Pascal có một kiểu dữ liệu hoàn toàn mới là kiểu Object cho phép đưa các mã lệnh xen kẽ với dữ liệu. Ngoài ra nó còn thư viện đồ hoạ rất phong phú với nhiều tính năng mạnh, ngôn ngữ lập trình cấp cao Delphi cũng sử dụng cú pháp tương tự như Turbo Pascal II. SỬ DỤNG PASCAL 7.0 1. Khởi Động Turbo Pascal Nếu máy tính chúng ta đã cài đặt Turbo Pascal trên đĩa, ta có thể khởi động chúng như sau (Nếu máy tính chưa có, chúng ta phải cài đặt Turbo Pascal sau đó mới thực thi được) - Từ MS-DOS: Đảm bảo rằng thư mục hiện hành đúng vị trí cài đặt (hoặc dùng lệnh PATH) Turbo Pascal. Ta đánh vào TURBO rồi Enter. - Từ Windows: Ta nên giả lập MS-DOS Mode cho tập tin TURBO.EXE hoặc Shortcut của nó, nếu không mỗi khi ta thực thi TURBO PASCAL chương trình sẽ thoát khỏi Windows, trở về MS-DOS. Sau khi thoát Turbo Pascal ta phải đánh lệnh EXIT để khởi động lại Windows. 2. Cấu trúc của một chương trình Pascal Một chương trình Pascal gồm 2 phần chính: Phần khai báo và phần thân chương trình. Khi thực thi, chương trình Pascal sẽ thực thi tuần tự từng lệnh một theo như thứ tự đã được viết, trừ khi gặp các cấu trúc điều khiển rẽ nhánh hoặc lặp, bắt đầu từ thân chương trình chính. a. Phần khai báo Phần khai báo có thể có các mục sau: · Tên chương trình PROGRAM <Tên chương trình>; · Khai báo sử dụng unit USES <Tên Unit>[,<Tên Unit>]; · Khai báo nhãn LABEL <Tên nhãn>[,<Tên nhãn>]; · Khai báo hằng CONST · Khai báo kiểu TYPE · Khai báo biến VAR · Khai báo chương trình con b. Phần thân chương trình Bắt đầu bằng từ khoá BEGIN và kết thúc bằng từ khoá END. (end và dấu chấm). Giữa BEGIN và END. là các câu lệnh. Ví dụ: PROGRAM MyFirstProg; VAR i: Integer; BEGIN {Các câu lệnh viết ở đây} END. III. TÌM HIỂU ĐỀ TÀI 1. Câu lệnh Trong chương trình pascal, sau phần mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo. • Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc. I.1 Câu lệnh đơn giản -) Vào dữ liệu: read, readln -) Ra dữ liệu: write,writeln -) lệnh gán: := -) Lời gọi chương trình con (gọi trực tiếp chương trình con) -) Xử lý tập tin: RESET, REWRITE, ASSIGN… I.2 Câu lệnh có cấu trúc: - Lệnh ghép: BEGIN END - Lệnh chọn: IF THEN ELSE CASE OF. - Lệnh lặp: FOR TO DO REPEAT UNTIL WHILE DO 1.3 Chú ý: Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy (;) và các câu lệnh có thể viết trên một dòng hay nhiều dòng. 2. Cấu trúc tuần tự 2.1 Lệnh gán (Assignment statement) Một trong các câu lệnh đơn giản và cơ bản nhất của pascal là lệnh gán. Mục đích của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với biến. Cách viết : <tên biến>:= <biểu thức> ; Ví dụ: Khi đã khai báo: VAR c: Char; i,j: Integer; x,y: Real; p,q: Boolean; Thì ta có thể có các phép gán sau: c:= A; c:= Chr(90); i:= (35+7)*2 mod 4; i:= i div 7; x:= 0.5; q:= not p; … Ý nghĩa: Biến các phát biểu gán là các khí niệm quan trọng của một họ các ngôn ngữ lập trình mà pascal là một đại diện tiêu biểu. Chúng phản ánh cách thức hoạt động của máy tính hiện nay, đó là: • Lưu trữ các giá trị khác nhau vào một ô nhớ tại những thời điểm khác nhau. • Một quá trình tính toán có thể coi như là một quá trình làm thay đổi giá trị của một (hay một số) ô nhớ nào đó, cho đến khi đạt được giá trị cần tìm. 2.2 Lệnh ghép (Compound statement) Một nhóm câu lệnh đơn được đặt giữa hai chữ BEGIN và END sẽ tạo ra thành một câu lệnh ghép. • Nó có dạng : BEGIN S1,S2,S3,….,Sn; END; Trong pascal ta có thể đặt các câu lệnh ghép con trong các lệnh ghép lớn hơn bao ngoài của nó và co thể hiểu tương tự như cấu trúc ngoặc đơn ( ) trong các biểu thức toán học. • Ta có sơ đồ cấu trúc BEGIN END; BEGIN Công việc 1; Công việc 2; … Công việc n; END; BEGIN Begin Begin End; End; END; Ở hình minh họa trên ta có thể dễ thấy các nhóm lệnh thành từng khối (block). Một kh;ối lệnh bắt đầu bằng BEGIN và chấm dứt ở END;. Trong một khối lệnh cũng có thể có các lệnh con nằm trong nó. Một khối chương trình thường được dùng để nhóm từ hai lệnh trở lên để tạo thành một <công việc> của các lệnh có cấu trúc. • Điều kiện này đúng, máy sẽ thực hiện công việc 1 (không thực hiện công việc 2) rồi đến lệnh tiếp theo. • Ngược lại, nếu điều kiện sai, máy sẽ thực hiện công việc 2 (không thực hiện công việc 1) rồi đến lệnh tiếp theo. Chú ý : - Điều kiện là một biểu thức boolean. - Nếu <Công viêc> sau THEN hoặc ELSE có nhiều hơn một lệnh thì ta phải gói lại trong BEGIN END; - Toàn bộ lệnh IF THEN ELSE xem như một lệnh đơn. Ví dụ : Trong toán học khi ta tính căn bậc 2 của một số thì điều kiện số đó phải lớn hơn 0 hoặc bằng 0. Cũng vậy để tính căn bậc 2 của một số bất kì nhập từ bàn phím, khi ta đã lập trình sẵn điều kiện số đó phải lớn hơn 0 hoặc bằng 0 mới có thể tính được căn bậc 2. Ta có chương trình tính căn bậc 2 của một số trong chương trình pascal như sau: Program Tinh_can_bac_2; Var A: real; Begin Write (‘nhap so a = ‘); readln(a); If a < 0 then Write (‘a: 10: 2, la so am nen khong lay can duoc!!!’) Else Writeln (‘ Can bac 2 cua , a : 2: 2, la, Sqrt(a): 10: 3’); Writeln (‘nhan Enter de thoat’); Readln; End. 3. Cấu trúc rẽ nhánh - Câu lệnh điều kiện : 2.3 Lệnh IF THEN Ta có lưu đồ diễn tả lệnh và ý nghĩa cách viết: Kiểu rẽ một nhánh: [...]... tài liệu về ngôn ngữ lập trình pascal, cùng với sự tận tình hướng dẫn của thầy th.s Lưu đức Chính Chúng tôi đã hoàn thành được bài tập lớn chủ đề của mình Trong quá trình thực hiện, chúng tôi đã tìm hiểu thêm được nhiều vấn đề liên quan đến ngôn ngữ pascal và càng thấy được sự tiện ích của ngôn ngữ bậc cao này trong việc viết các chương trình Tuy nhiên trong một khoảng thời gian có hạn và trình độ còn... Đ Câu lệnh S IF THEN; • Nếu điều kiện này đúng, thì máy sẽ thực hiện công việc rồi tiếp tục thực hiện công việc tiếp theo • Ngược lại, nếu điều kiện này sai, máy sẽ bỏ qua công việc và đi đến thực hiện công việc tiếp theo 2.4 Lệnh IF THEN ELSE IF Câu lệnh 2 S Điều kiện Đ Câu lệnh 1 IF THEN ELSE; 4 Cấu trúc lựa chọn: - Lệnh CASE OF Cấu trúc câu. .. REPEAT UNTIL dùng trong các trường hợp khi biến điều khiển không có kiểu rời rạc và đặc biệt trong các trường hợp số lần lặp không biết trước CÚ PHÁP : Công việc REPEAT UNTIL Điều kiện thoát ; Sơ đồ cú pháp REPEAT…UNTIL Lệnh; REPEAT ; UNTIL ; Sai Điều kiện Đúng Lưu đồ cấu trúc của REPEAT….UNTIL Ý nghĩa của câu lệnh: Nếu điều kiện lôgic là Sai (False) thì lặp lại lệnh cho đến... — — Điều kiện —— DO —— Công việc —— ; Sơ đồ cú pháp lệnh WHILE…DO Ghi chú: +) Điều kiện trong cấu trúc lặp WHILE DO là một biểu thức lôgic kiểu boolean chỉ có hai giá trị Đúng (True) hoặc Sai (false) +) Nếu điều kiện Đúng thì chương trình sẽ chạy trong cấu trúc WHILE DO +) Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện Tùy theo biểu thức lôgic của điều kiện là đúng hay sai thì chương trình. .. UNTIL Nếu có câu lệnh thì mỗi câu lệnh ngăn cách nhau bằng dấu chấm phẩy(;) Công việc của REPEAT và UNTIL không nhất thiết phải dùng lệnh ghép để nhóm từ 2 lệnh đơn trở lên thành công việc Ghi chú: So sánh hai cách viết WHILE DO và REPEAT UNTIL ta thấy có sự khác biệt: - Trong cấu trúc WHILE DO thì được kiểm tra trước, nếu thỏa thì mới thực hiện - Ngược lại, trong cấu... đó mới kiểm tra ,nếu không thỏa mãn thì tiếp tục thi hành cho đến khi là đúng Lệnh REPEAT UNTIL thường được sử dụng trong lập trình, nhất là lúc người sử dụng muốn tiếp tục bài toán ở trường hợp thay đổi biến mà không phải trở về chương trình và nhấn tổ hợp phím Ctrl+ f9 lại CHƯƠNG II: CÁC DẠNG BÀI TẬP Dạng 1: Dạng bài tập sử dụng câu lệnh đơn giản để giải... chuyển xuống dưới lệnh WHILE DO Ta có lưu đồ: Điều kiện Sai Công việc Đúng Lệnh tiếp theo Ý nghĩa của lưu đồ: Trong khi mà điều kiện còn đúng thì thực hiện công việc, rồi quay trở về kiểm tra lại điều kiện Vòng lặp được tiếp tục, đến khi điều kiện đặt ra không còn đúng nữa thì đi tới thực hiện lệnh tiếp theo Ví dụ: Viết chương trình tính trung bình của n số : x1 + x2 + x3 +….+ xn mà trong toán muốn tính... 3 không và nằm trong khoảng 20-70 Chương trình: Program kiem_tra; Var i: integer; Check: boolean; Begin Write(‘nhap gia tri nguyen i=’); Readln(i); Check:=(i mod 3=0) and (i>=20) and (i . mặt câu lệnh: Từ các câu lệnh đơn giản và lệnh có cấu trúc ta có thể xây dựng các câu lệnh hợp thành. - Về mặt chương trình: Một chương trình có thể chia làm nhiều chương trình con. 2. TURBO PASCAL Khi. i: Integer; BEGIN {Các câu lệnh viết ở đây} END. III. TÌM HIỂU ĐỀ TÀI 1. Câu lệnh Trong chương trình pascal, sau phần mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định. báo. • Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc. I.1 Câu lệnh đơn giản -) Vào dữ liệu: read, readln -) Ra dữ liệu: write,writeln -) lệnh gán: := -) Lời gọi chương trình