Giáo trình Pascal

144 249 0
Giáo trình Pascal

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI MỞ ĐẦU Theo khung chương trình Bộ Giáo Dục Đào Tạo, Ngôn ngữ Lập trình Pascal phần quan trọng học phần Tin học Đại cương thuộc khối ngành Khoa học Tự nhiên, đặc biệt ngành Công nghệ Thông tin Nhằm đáp ứng yêu cầu học tập học sinh, sinh viên bước đầu làm quen với công việc lập trình, biên soạn Giáo Trình Bài tập Pascal nhằm giúp cho sinh viên có tài liệu học tập, rèn luyện tốt khả lập trình, tạo tảng vững cho môn học chương trình đào tạo Cử nhân Công nghệ Thông tin Giáo trình bai gồm nhiều tập từ đơn giản đến phức tạp Các tập biên soạn dựa khung chương trình giảng dạy môn Tin học Đại cương Bên cạch đó, bổ sung số tập dựa sở số thuật toán chuẩn với cấu trúc liệu mở rộng nhằm nâng cao kỹ năng, phương pháp lập trình cho sinh viên Nội dung giáo trình chia thành 10 chương Trong chương có phần tóm tắt lý thuyết, phần tập mẫu cuối phần tập tự giải để bạn đọc tự kiểm tra kiến thức kinh nghiệm học Trong phần tập mẫu, tập khó có thuật toán phức tạp, thường nêu ý tưởng giải thuật trước viết chương trình cài đặt Xin chân thành cảm ơn đồng nghiệp Khoa Công nghệ Thông tin Trường Đại học Khoa học Huế giúp đỡ, đóng góp ý kiến để hoàn chỉnh nội dung giáo trình Chúng hy vọng sớm nhận ý kiến đóng góp, phê bình bạn đọc nội dung, chất lượng hình thức trình bày để giáo trình ngày hoàn thiện Huế, Tháng 07 Năm 2004 CÁC TÁC GIẢ Giáo trình tập Pascal Chương CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH PASCAL Pascal ngôn ngữ lập trình bậc cao Niklaus Wirth, giáo sư điện toán trường Đại học kỹ thuật Zurich (Thụy Sĩ) đề xuất năm 1970 Ông lấy tên Pascal để kỷ niệm nhà toán học nhà triết học người Pháp tiếng Blaise Pascal Các tập tin cần thiết lập trình với Turbo Pascal Để lập trình với Turbo Pascal, tối thiểu cần file sau: • TURBO.EXE: Dùng để soạn thảo dịch chương trình • TURBO.TPL: Thư viện chứa đơn vị chuẩn để chạy với TURBO.EXE Ngoài ra, muốn lập trình đồ hoạ phải cần thêm tập tin: • GRAPH.TPU: Thư viện đồ hoạ • *.BGI: Các file điều khiển loại hình tương ứng dùng đồ hoạ • *.CHR: Các file chứa font chữ đồ họa Các bước lập chương trình Pascal Bước 1: Soạn thảo chương trình Bước 2: Dịch chương trình (nhấn phím F9), có lỗi phải sửa lỗi Bước 3: Chạy chương trình (nhấn phím Ctrl-F9) Cấu trúc chung chương trình Pascal { Phần tiêu đề } PROGRAM Tên_chương_trình; { Phần khai báo } USES ; CONST .; TYPE .; VAR ; PROCEDURE ; FUNCTION ; { Phần thân chương trình } BEGIN END Ví dụ 1: Chương trình Pascal đơn giản BEGIN Giáo trình tập Pascal Write(‘Hello World!’); END Ví dụ 2: Program Vidu2; Const PI=3.14; Var R,S:Real; Begin R:=10; {Bán kính đường tròn} S:=R*R*PI; {Diện tích hình tròn} Writeln(‘Dien tich hinh tron = ‘, S:0:2); { In hình } Readln; End Một số phím chức thường dùng • F2: Lưu chương trình soạn thảo vào đĩa • F3: Mở file file tồn đĩa để soạn thảo • Alt-F3: Đóng file soạn thảo • Alt-F5: Xem kết chạy chương trình • F8: Chạy câu lệnh chương trình • Alt-X: Thoát khỏi Turbo Pascal • Alt-: Dịch chuyển qua lại file mở • F10: Vào hệ thống Menu Pascal Các thao tác soạn thảo chương trình 5.1 Các phím thông dụng • Insert: Chuyển qua lại chế độ đè chế độ chèn • Home: Đưa trỏ đầu dòng • End: Đưa trỏ cuối dòng • Page Up: Đưa trỏ lên trang hình • Page Down: Đưa trỏ xuống trang hình • Del: Xoá ký tự vị trí trỏ • Back Space (): Xóa ký tự bên trái trỏ • Ctrl-PgUp: Đưa trỏ đầu văn • Ctrl-PgDn: Đưa trỏ cuối văn • Ctrl-Y: Xóa dòng vị trí trỏ 5.2 Các thao tác khối văn Giáo trình tập Pascal • • • • Chọn khối văn bản: Shift + Ctrl-KY: Xoá khối văn chọn Ctrl-Insert: Đưa khối văn chọn vào Clipboard Shift-Insert: Dán khối văn từ Clipboard xuống vị trí trỏ Các thành phần ngôn ngữ Pascal 6.1 Từ khóa Từ khoá từ mà Pascal dành riêng để phục vụ cho mục đích (Chẳng hạn như: BEGIN, END, IF, WHILE, ) Chú ý: Với Turbo Pascal 7.0 trở lên, từ khoá chương trình hiển thị khác màu với từ khác 6.2 Tên (định danh) Định danh dãy ký tự dùng để đặt tên cho hằng, biến, kiểu, tên chương trình Khi đặt tên, ta phải ý số điểm sau: • Không đặt trùng tên với từ khoá • Ký tự tên không bắt đầu ký tự đặc biệt chữ số • Không đặt tên với ký tự space,các phép toán Ví dụ: Các tên viết sau sai 1XYZ Sai bắt đầu chữ số #LONG Sai bắt đầu ký tự đặc biệt FOR Sai trùng với từ khoá KY TU Sai có khoảng trắng (space) LAP-TRINH Sai dấu trừ (-) phép toán 6.3 Dấu chấm phẩy (;) Dấu chấm phẩy dùng để ngăn cách câu lệnh Không nên hiểu dấu chấm phẩy dấu kết thúc câu lệnh Ví dụ: FOR i:=1 TO 10 DO Write(i); Trong câu lệnh trên, lệnh Write(i) thực 10 lần Nếu hiểu dấu chấm phẩy kết thúc câu lệnh lệnh Write(i) thực lần 6.4 Lời giải thích Các lời bàn luận, lời thích đưa vào chỗ chương trình người đọc dể hiểu mà không làm ảnh hưởng đến phần khác chương trình Lời giải thích đặt hai dấu ngoạc { } cụm dấu (* *) Ví dụ: Giáo trình tập Pascal Var a,b,c:Rea; {Khai báo biến} Delta := b*b – 4*a*c; (* Tính delta để giải phương trình bậc *) BÀI TẬP THỰC HÀNH Khởi động Turbo Pascal Nhập vào đoạn chương trình sau: Uses Crt; Begin Writeln(‘***********************************************************’); Writeln(‘* CHUONG TRINH PASCAL DAU TIEN CUA TOI *’); Writeln(‘* Oi! Tuyet voi! *); Writeln(‘***********************************************************’); Readln; End Dịch chạy chương trình Lưu chương trình vào đĩa với tên BAI1.PAS Thoát khỏi Pascal Khởi động lại Turbo Pascal Mở file BAI1.PAS Chèn thêm vào dòng: CLRSCR; vào sau dòng BEGIN Dịch chạy thử chương trình 10 Lưu chương trình vào đĩa 11 Thoát khỏi Pascal 12 Viết chương trình in hình hình sau: * ******** ******* *** ** ** ** ** ** ** ** ** ** ** ** ******** ** ********* ** ** ** ** ** ** ** ** ** ** ** ******** ******** Giáo trình tập Pascal Chương CÁC KIỂU DỮ LIỆU CƠ BẢN KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC VÀ CÂU LỆNH I CÁC KIỂU DỮ LIỆU CƠ BẢN Kiểu logic - Từ khóa: BOOLEAN - miền giá trị: (TRUE, FALSE) - Các phép toán: phép so sánh (=, ) phép toán logic: AND, OR, XOR, NOT Trong Pascal, so sánh giá trị boolean ta tuân theo qui tắc: FALSE < TRUE Giả sử A B hai giá trị kiểu Boolean Kết phép toán thể qua bảng đây: A TRUE TRUE FALSE FALSE B TRUE FALSE TRUE FALSE A AND B TRUE FALSE FALSE FALSE A OR B TRUE TRUE TRUE FALSE A XOR B FALSE TRUE TRUE FALSE NOT A FALSE FALSE TRUE TRUE Kiểu số nguyên 2.1 Các kiểu số nguyên Tên kiểu Shortint Byte Integer Word LongInt Phạm vi -128 → 127 → 255 -32768 → 32767 → 65535 -2147483648 → 2147483647 Dung lượng byte byte byte byte byte 2.2 Các phép toán kiểu số nguyên 2.2.1 Các phép toán số học: +, -, *, / (phép chia cho kết số thực) Phép chia lấy phần nguyên: DIV (Ví dụ : 34 DIV = 6) Phép chia lấy số dư: MOD (Ví dụ: 34 MOD = 4) 2.2.2 Các phép toán xử lý bit: Trên kiểu ShortInt, Integer, Byte, Word có phép toán: • NOT, AND, OR, XOR Giáo trình tập Pascal A B A AND B A OR B A XOR B 1 1 0 1 1 0 0 n • SHL (phép dịch trái): a SHL n ⇔ a × • SHR (phép dịch phải): a SHR n ⇔ a DIV 2n Kiểu số thực 3.1 Các kiểu số thực : Tên kiểu Single Real Double Extended Phạm vi 1.5×10-45 → 3.4×10+38 2.9×10-39 → 1.7×10+38 5.0×10-324 → 1.7×10+308 3.4×10-4932 → 1.1×10+4932 NOT A 0 1 Dung lượng byte byte byte 10 byte Chú ý: Các kiểu số thực Single, Double Extended yêu cầu phải sử dụng chung với đồng xử lý số phải biên dich chương trình với thị {$N+} để liên kết giả lập số 3.2 Các phép toán kiểu số thực: +, -, *, / Chú ý: Trên kiểu số thực không tồn phép toán DIV MOD 3.3 Các hàm số học sử dụng cho kiểu số nguyên số thực: SQR(x): Trả x2 SQRT(x): Trả bậc hai x (x≥0) ABS(x): Trả |x| SIN(x): Trả sin(x) theo radian COS(x): Trả cos(x) theo radian ARCTAN(x): Trả arctang(x) theo radian LN(x): Trả ln(x) EXP(x): Trả ex TRUNC(x): Trả số nguyên gần với x bé x INT(x): Trả phần nguyên x FRAC(x): Trả phần thập phân x ROUND(x): Làm tròn số nguyên x PRED(n): Trả giá trị đứng trước n SUCC(n): Trả giá trị đứng sau n ODD(n): Cho giá trị TRUE n số lẻ INC(n): Tăng n thêm đơn vị (n:=n+1) DEC(n): Giảm n đơn vị (n:=n-1) Kiểu ký tự Giáo trình tập Pascal - Từ khoá: CHAR - Kích thước: byte - Để biểu diễn ký tự, ta sử dụng số cách sau đây: • Đặt ký tự cặp dấu nháy đơn Ví dụ 'A', '0' • Dùng hàm CHR(n) (trong n mã ASCII ký tự cần biểu diễn) Ví dụ CHR(65) biễu diễn ký tự 'A' • Dùng ký hiệu #n (trong n mã ASCII ký tự cần biểu diễn) Ví dụ #65 - Các phép toán: =, >, >=, [...]... to’); End; Readln; End 23 Giáo trình bài tập Pascal BÀI TẬP TỰ GIẢI Bài tập 3.12: Viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0, a≠0 Gợi ý: - Tính Delta=b*b-4*a*c - Biện luận: Delta0: Phương trình có 2 nghiệm phân biệt: x1,2 = (-b±SQRT(Delta))/(2*a) Bài tập 3.13: Viết chương trình nhập vào từ bàn phím:... Viết chương trình in ra các số nguyên từ 1 đến N 2 theo hình xoắn ốc với N được nhập vào từ bàn phím Ví dụ, với N=5 ta có: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 26 Giáo trình bài tập Pascal Chương 4 CHƯƠNG TRÌNH CON: THỦ TỤC VÀ HÀM I KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay một chức năng nào đó Trong Turbo Pascal, có... viết chương trình giải bài toán này như sau: Program Sinhvien1; 13 Giáo trình bài tập Pascal Var a,b:Word; s: LongInt; Begin a:=640; b:=480; s:=a; s:=s*b; s:=s DIV 10; writeln(s); readln; End Program Sinhvien2; Var a,b:Word; s: LongInt; Begin a:=640; b:=480; s:=a*b DIV 10; writeln(s); readln; End Hãy cho biết 2 chương trình trên cho kết quả đúng hay sai? Tại sao? 14 Giáo trình bài tập Pascal Chương... 3.16: Viết chương trình in ra màn hình các giá trị của bảng mã ASCII từ 0→255 Gợi ý: Cho biến i chạy từ 0 → 255 In ra màn hình i và CHR(i) Bài tập 3.17: Viết chương trình in ra màn hình các số nguyên từ 1 đến 100 sao cho cứ 10 số thì xuống dòng 24 Giáo trình bài tập Pascal Gợi ý: Cho biến i chạy từ 1 → 100 In ra màn hình i và kiểm tra: nếu i MOD 10=0 thì WRITELN Bài tập 3.18: Viết chương trình in ra màn... Viết chương trình nhập vào các số nguyên: a, b, x, y, sau đó in ra màn hình kết quả của các biểu thức sau: x+ y ( a + 4)( b − 2c + 3) | a + sin 2 ( x) − x| y r a/ 2 + x b/ c/ x , x>0 d/ e − 9( a − 1) y 2h Bài tập 2.5: Viết chương trình tính siện tích tam giác theo công thức sau: 12 Giáo trình bài tập Pascal S= p ( p − a )( p − b )( p − c ) với p = 1 (a+b+c) 2 Bài tập 2.6: Viết chương trình tính khoảng... ',Dientich:0:2); Readln; End Bài tập 2.2: Viết chương trình tính Ý tưởng: Ta có: 1 n 1 x = xn = en n x , x>0 ln x Program Tinh_can_bac_n_cua_x; Var x,S: Real; n: Word; Begin Write('Nhap vao n= '); Readln(n); Write('Nhap vao x= '); Readln(x); 11 Giáo trình bài tập Pascal S:=EXP(1/n*LN(x)); Writeln('S = ',S:0:2); Readln; End Bài tập 2.3: Viết chương trình nhập vào 2 số a, b Sau đó hoán đổi giá trị của... Begin Write('Nhap vao mot so nguyen : '); Readln(x); If x MOD 2=0 Then Writeln('So vua nhap vao la so chan') Else Writeln('So vua nhap vao la so le'); Readln; End 17 Giáo trình bài tập Pascal Bài tập 3.2: Viết chương trình giải phương trình bậc nhất ax+b=0 Uses Crt; Var a,b,x : real; Begin Write('a = '); Readln(a); Write('b = '); Readln(b); If a = 0 Then { Nếu a bằng 0 } If b = 0 Then { Trường hợp... nghé? Bài tập 3.22: Viết chương trình nhập vào các số nguyên từ bàn phím cho đến khi nào gặp số nguyên tố thì kết thúc nhập Tính tổng các số chẵn và trung bình cọng các số lẻ Gợi ý: Dùng vòng lặp REPEAT UNTIL NTo; để nhập Trong đó, NTo là biến kiểu Boolean để kiểm tra số được nhập vào có phải là số nguyên tố hay không 25 Giáo trình bài tập Pascal Bài tập 3.23: Viết chương trình nhập vào một số nguyên... Readln; End Bài tập 3.8: Viết chương trình nhập vào số nguyên N In ra màn hình tất cả các ước số của N Ý tưởng: Cho biến i chạy từ 1 tới N Nếu N MOD i=0 thì viết i ra màn hình 21 Giáo trình bài tập Pascal Uses Crt; Var N,i : Integer; Begin Clrscr; Write('Nhap so nguyen N= '); Readln(N); For i:=1 To N Do If N MOD i=0 Then Write(i:5); Readln; End Bài tập 3.9: Viết chương trình tìm USCLN và BSCNN của 2 số... cục: là các biến được khai báo trong chương trình chính Các biến này có tác dụng ở mọi nơi trong toàn bộ chương trình • Biến địa phương: là các biến được khai báo trong các CTC Các biến này chỉ có tác dụng trong phạm vi CTC đó mà thôi Chú ý: Trong một CTC, nếu biến toàn cục trùng tên với biến địa phương thì biến địa phương được ưu tiên hơn 28 Giáo trình bài tập Pascal Ví dụ: Program KhaoSatBien; Var a,b: .. .Giáo trình tập Pascal Chương CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH PASCAL Pascal ngôn ngữ lập trình bậc cao Niklaus Wirth, giáo sư điện toán trường Đại học... chương trình Pascal Bước 1: Soạn thảo chương trình Bước 2: Dịch chương trình (nhấn phím F9), có lỗi phải sửa lỗi Bước 3: Chạy chương trình (nhấn phím Ctrl-F9) Cấu trúc chung chương trình Pascal. .. Tên_chương _trình; { Phần khai báo } USES ; CONST .; TYPE .; VAR ; PROCEDURE ; FUNCTION ; { Phần thân chương trình } BEGIN END Ví dụ 1: Chương trình Pascal đơn giản BEGIN Giáo trình tập Pascal

Ngày đăng: 09/11/2015, 06:03

Mục lục

  • BÀI TẬP TỰ GIẢI

    • CÁC CÂU LỆNH CÓ CẤU TRÚC

    • II. CẤU TRÚC CHUNG CỦA MỘT CHƯƠNG TRÌNH CÓ SỬ DỤNG CTC

      • Dùng hàm

      • III. BIẾN TOÀN CỤC VÀ BIẾN ĐỊA PHƯƠNG

      • I. KHAI BÁO KIỂU STRING

      • II. TRUY XUẤT DỮ LIỆU KIỂU STRING

      • III. CÁC PHÉP TOÁN TRÊN XÂU KÝ TỰ

      • IV. CÁC THỦ TỤC VÀ HÀM VẾ XÂU KÝ TỰ

        • Chương 7

        • I. KHAI BÁO DŨ LIỆU KIỂU RECORD

        • Chú ý:

          • Ghi dữ liệu vào file

          • Chú ý:

            • Yêu cầu:

            • Yêu cầu:

              • II. LÀM VIỆC VỚI BIẾN ĐỘNG

              • III. TỌA ĐỘ VÀ CON TRỎ TRÊN MÀN HÌNH ĐỒ HỌA

              • IV. ĐẶT MÀU TRÊN MÀN HÌNH ĐỒ HỌA

              • V. CỬA SỔ TRONG CHẾ ĐỘ ĐỒ HỌA

              • VI. VIẾT CHỮ TRONG CHẾ ĐỘ ĐỒ HỌA

              • VII. VẼ CÁC HÌNH CƠ BẢN

              • XIII. TÔ MÀU CÁC HÌNH

              • IX. CÁC KỸ THUẬT TẠO HÌNH CHUYỂN ĐỘNG

              • BÀI TẬP TỰ GIẢI

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan