Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
1,31 MB
Nội dung
LẬP TRÌNH PASCAL CĂN BẢN (P.05) Mục đích của giáo trình: 1. Hỗ trợ thêm kiến thức và kỹ năng cho học phần Tin Học Đại Cương 2. Biết cách chuyển từ việc giải quyết bài toán thông thường thành việc giải bài toán trên máy tính 3. Rèn luyện tư duy về thuật toán 4. Làm quen với các khái niệm cơ bản về lập trình cho máy tính thông qua ngôn ngữ lập trình Pascal Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 2 Bài 1: VẤN ĐỀ - BÀI TOÁN I./ T H Ế N À O LÀ VẤN ĐỀ – BÀI TOÁN ? - Vấn đề được hiểu một cách đơn giản là những vướng mắc, khó khăn trong cuộc sống mà chúng ta cần giải quyết. - Trong cuộc sống, con người hầu như lúc nào cũng phải giải quyết vấn đề như : giải một bài toán đố, trả lời các câu hỏi trắc nghiệm, giải quyết các khó khăn trong cuộc sống, trong gia đình cho đến giải quyết các vấn đề liên quan đến kin tế, xã hội v v. - Dưới góc nhìn khoa học, vấn đề thường được thể hiện dưới dạng bài toán. Bài toán là một loại vấn đề mà để giải quyết nó, chúng ta phải ít nhất cần đến tính toán như các bài toán trong toán học, vật lý học, hoá học, xây dựng, kinh tế v v. Ví dụ : 1. Chứng minh hằng đẳng thức : (a+b) 2 = a 2 + 2ab+ b 2 . 2. Chứng minh rằng gia tốc của chuyển động tròn đều là gia tốc hướng tâm. 3. Chỉ ra các bước dựng một tam giác với chiều dài các cạnh là a, b, c cho trước. 4. Với số vốn 1,3 tỉ đồng, cần đầu tư vào lãnh vực sản xuất nào để có tiền lời cao nhất ? - Việc giải quyết vấn đề – bài toán có thể diễn đạt bằng sơ đồ chung như sau : GV: Phan Việt Hòa Cần Thơ A B Trong đó : A là giả thiết hoặc điều kiện ban đầu B là kết luận hoặc mục tiêu cần đạt là suy luận, giải pháp cần xác định - Để có thể diễn đạt được giải pháp, cần có một tập các quy ước cơ bản. Tập quy ước này thay đổi tuỳ theo vấn đề – bài toán. Ví dụ : 1. Đối với vấn đề chứng minh biểu thức toán học, tập quy ước chính là các ký hiệu toán học, các phép suy luận toán học, tập các tiên đề hoặc định lý đã được chứng minh. 2. Đối với việc chứng minh một định lý trong Vật lý, tập quy ước này chính là những định luật trong Vật lý. II./ M Á Y T Í NH VÀ VIỆC GIẢI QUYẾT VẤN ĐỀ – BÀI TOÁN : - Trên thực tế, có nhiều vấn đề – bài toán tuy giải quyết đơn giản nhưng khi thực hiện lại đòi hỏi một quá trình tính toán lặp đi lặp lại rất nhiều lần. Điều này làm cho người giải quyết bài toán mau mệt mỏi, từ đó mất tập trung và gây ra sai sót. - Từ chiếc máy tính cơ học đầu tiên của Pascal, hàng loạt những phát minh và cải tiến khác đã ra đời. Một dấu mốc đáng ghi nhớ là sự ra đời của chiếc máy tính điện tử đầu tiên(ENIAC) vào khoảng thời gian 1943-1946 (do hai kỹ sư người Mỹ J.W Mauchly và J.P.Eckert ở Đại học Pensylvania thiết kế). Ngày nay, máy tính điện tử đã trở thành một công cụ đa năng trong việc giải quyết vấn đề – bài toán. (Dùng máy tính điện tử, con người đã tính được số Pi đến hàng tỉ số lẻ, 1,1 tỉ số lẻ vào năm 1989. Với sự trợ giúp của máy tính điện tử, vào năm 1986 con người đã tìm ra được số nguyên tố lớn nhất thời bấy giờ là 2 216091 – 1, số này có đến 65050 vị trí). Ngoài công dụng tính toán, máy tính điện tử còn là công cụ trong quản lý, tư vấn, giải trí, thương mại, giáo dục v v và rất nhiều hoạt động khác. - Máy tính có một khả năng tuyệt vời là có thể tính toán một khối lượng khổng lồ phép tính với độ chính xác tuyệt đối, tốc độ cực nhanh. - Cho tới thời điểm hiện nay, bản thân máy tính không thể tìm được cách giải quyết vấn đề mà phải nhờ con người chuẩn bị và đưa vào cách giải, nó chỉ biết tuân theo và thi hành những gì con người yêu cầu. Ngoài ra máy tính vốn không hiểu ngôn ngữ tự nhiên của con người, nó chỉ hiểu những yêu cầu dưới dạng những con số nhị phân, chỉ gồm các chữ số 0, 1, hay còn gọi là ngôn ngữ máy (machine code). GV: Phan Việt Hòa Cần Thơ Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 3 - Do việc ra lệnh cho máy tính bằng ngôn ngữ máy quá tốn công (vì khó hiểu, khó nhớ) nên con người đã phát minh ra một loaị ngôn ngữ bậc cao hơi giống tiếng Anh. Muốn máy tính hiểu được chúng ta muốn gì, cần làm gì, chúng ta phải tiến hành một số thao tác để chuyển từ ngôn ngữ tự nhiên (ngôn ngữ mà ta đang sử dụng) sang ngôn ngữ bậc cao (high - level language). Thao tác này gọi là lập trình (programming) và ngôn ngữ bậc cao dùng để ra lệnh cho máy tính cũng được gọi là ngôn ngữ lập trình bậc cao (high – level programming language). Trên thế giới hiện nay, có rất nhiều ngôn ngữ lập trình bậc cao nhưng thông dụng nhất là Basic(J.D.Kemeny và T.E.Kurtz phát minh vào năm 1965 tại Đại học Dartmouth), C (Dennis Ritchie thiết kế. Ra đời vào năm 1972 tại phòng thí nghiệm Bell Telephone của hãng AT & T), Pascal(Niklaus Wirth phát minh. Ra đời vào 1970), Java(do hãng SUN phát triển, ra đời vào giữa thập niên 1990). M ột số ngôn ngữ lập trình b ậc cao : ADA : theo tên của nữ bá tước Ada Lovelace (1815-1837), người lập trình đầu tiên trong lịch sử. Thiết kế bởi J.D.Ichbiah năm 1980 trong một cuộc vận động thiết kế lập trình của Bộ Quốc Phòng Mỹ. ALGOL – 60 (Algorithmic Language) : ra đời vào năm 1958 do một ủy ban phối hợp giữa Hiệp hội Máy tính ACM và Hội Toán học và cơ học ứng dụng Đức GAMM. Được hiện thực vào năm 1960. APL(A Programming Language) : do Kenneth Iverson của hãng IBM thiết kế vào khoảng năm 1960, ban đầu chạy trên IBM 360. COBOL(Common Business Oriented Language) : ra đời vào năm 1960, lần lượt có các chuẩn COBOL – 68, COBOL – 74 , COBOL – 85. Chủ yếu áp dụng trong thương mại. FORTRAN (Formula Translation) : do một nhóm của IBM đứng đầu là Backus thiết kế, ra đời vào năm 1956. LISP (List Processing) : phát minh bởi J.Mc Carthy, giảng dạy ở MIT (Massachusettes Institude of Technology). Ra đời vào năm 1958. Phục vụ lập trình cho trí tuệ nhân tạo. PROLOG (Programmation en logique) : ra đời vào năm 1972, là kết quả của những nghiên cứu và chứng minh tự động của J.Robinson, R.Kowalski, D.Kuehner, A.Colmerauer. Phục vụ lập trình cho trí tuệ nhân tạo. III./ MỘT SỐ P H Ư Ơ NG P H ÁP GIẢI QUYẾT VẤN ĐỀ – BÀI TOÁN BẰ NG MÁY TÍNH : + Phương pháp trực t i ế p : áp dụng trong trường hợp vấn đề – bài toán đã có lời giải chính xác. Việc giải bằng máy tính chỉ là thao tác lập trình. Ví dụ : Bài toán tính tổng của n số nguyên dương đầu tiên. Nhà toán học Đức Gauss đã đưa ra công thức tổng quát để giải bài toán này. Như vậy việc giải bài toán này trên máy tính chỉ còn là biểu diễn công thức giải theo cú pháp của một ngôn ngữ lập trình nào đó. + Phương pháp gián t i ếp h o ặ c tìm k iế m lờ i gi ả i : áp dụng trong trường hợp khi chưa tìm ra lời giải chính xác của vấn đề – bài toán . Ví dụ : Tìm tất cả số nguyên a, b, c thỏa a 3 +b 3 + c 3 = a + b + c Bài 2: THUẬT TOÁN – THUẬT GIẢI I./ TH UẬT TOÁN : - Thuật toán là một khái niệm cơ sở của Toán học và Tin học. - Thuật toán là một tập hợp các hướng dẫn nhằm thực hiện một công việc nào đó. Đối việc giải quyết vấn đề – bài toán , thuật toán được hiểu là một tập hữu hạn các hướng dẫn rõ ràng để người giải bài toán có thể theo đó mà giải quyết được bài toán. Như vậy, thuật toán là một phương pháp thể hiện lời giải của vấn đề, bài toán. - Việc nghiên cứu các thuật toán có vai trò rất quan trọng trong khoa học máy tính vì máy tính chỉ giải quyết vấn đề được khi đã có hướng dẫn giải rõ ràng và đúng. - Trong khoa học máy tính, thu ậ t toán được định nghĩa là một dãy hữu h ạ n các bước không m ậ p m ờ và có thể thực thi được, quá trình hành động theo các bước này phải dừng và cho được kết quả như m o ng muốn . Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 4 - Các tính c hất cơ b ản của thu ật toán : Xác định : tính không mập mờ và tính có thể thực thi được. Hữu hạn : số bước là hữu hạn và tính chất dừng. Đúng - Các đặc trưng của th u ật toán : Đầu vào và đầu ra (Input/Output) : mọi thuật toán đều nhận dữ liệu đầu vào, xử lý nó và cho ra kết quả cuối cùng. Tính hiệu quả (Effectiveness) : dựa trên khối lượng tính toán, không gian và thời gian khi thuật toán được thi hành. Là yếu tố quyết định để đánh giá, chọn lựa cách giải quyết vấn đề – bài toán trên thực tế. Tính tổng quát (Generalliness): áp dụng được cho mọi trường hợp của bài toán. Ví dụ : Thuật toán giải phương trình bậc nhất ax + b =0 1. Yêu cầu cho biết giá trị của a và b 2. Nếu a = 0 thì 2.1 Nếu b = 0 thì phương trình vô định. Kết thúc thuật toán. 2.2 Nếu b ≠ 0 thì phương trình vô nghiệm. Kết thúc thuật toán. 3. Nếu a ≠ 0 thì phương trình có một nghiệm duy nhất là x = - b/a. Kết thúc thuật toán. II./ TH U ẬT GI ẢI : - Đặt v ấn đề : Có nhiều bài toán cho đến nay vẫn chưa tìm ra được một cách giải theo kiểu thuật toán và cũng không biết có thuật toán hay không ? (Bài toán tìm số nguyên tố lớn nhất) Có nhiều bài toán đã có thuật toán để giải nhưng không chấp nhận được vì thời gian giải theo thuật toán đó là quá lớn (Bài toán tháp Hà Nội) Có những bài toán được giải theo những cách giải vi phạm thuật toán nhưng vẫn chấp nhận được. - Mở r ộng hai tiêu chu ẩn của th u ật toán : tính xác định và tính đúng để chấp nhận các cách giải cho kết quả tốt, gần đúng nhưng ít phức tạp và hiệu quả. - Các cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy đủ các tiêu chuẩn của thuật toán thường được gọi là các thu ật giải. Một trong những thuật giải thường được đề cập đến trong khoa học trí tuệ nhân tạo là các cách giải theo kiểu Heuristic. Ví dụ 1 : Thuật giải nấu cơm { Gạo, củi} Nấu cơm : - Vo gạo - Chuẩn bị lửa - Nấu, canh giờ - Kết thúc { Nồi cơm chín} Ví dụ 2 : Bài toán đổ nước Có hai bình đựng nước là B5 có dung tích 5lít , B8 có dung tích 8lít. Hãy chỉ ra cách đong để có được hai lít nước. Các thao tác có thể thực hiện được là : 1. Hứng đầy nước vào bình B5 hoặc B8. 2. Đổ hết nước trong một bình. 3. Đổ nước từ bình này sang bình khác cho đến lúc bình kia đầy. Thuật giải : - Đổ đầy nước vào bình B5 (B5=5) . - Đổ hết nước từ bình B5 sang bình B8 (B5=0, B8=5). - Đổ đầy nước bình B5 (B5=5, B8=5). - Đổ nước từ bình B5 cho đến khi B8 đầy (B5=2, B8=8). Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 5 Bài 3: CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN Có 3 phương pháp biểu diễn thuật toán : 1. Dùng ngôn ngữ tự nhiên 2. Dùng lưu đồ, sơ đồ khối (Flowchart) 3. Dùng mã giả (pseudo code) I./ NGÔN NGỮ TỰ NHIÊN : - Sử dụng ngôn ngữ thường ngày để liệt kê các bước của thuật toán. - Không có một quy tắc cố định nào trong việc thể hiện thuật toán bằng ngôn ngữ tự nhiên. Do đó cách biểu diễn này thường dài dòng, không thể hiện rõ cấu trúc của thuật toán, đôi lúc gây khó hiểu cho người đọc. Ví dụ : Thuật toán giải phương trình bậc nhất ax + b = 0 II./ L ƯU ĐỒ – SƠ ĐỒ KHỐI : - Lưu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuật toán. - Biểu diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi được sự phân cấp các trường hợp và quá trình xử lý của thuật toán. - Phương pháp lưu đồ thường được dùng trong những thuật toán có tính rắc rối, khó theo dõi được quá trình xử lý . - Các ký hiệu : Thứ tự thực hiện Dữ liệu nhập/xuất S Điều kiện chọn lựa Thao tác xử lý Đ Ví dụ : a,b a = 0 b = 0 Ptvđ x = -b/a x Ptvn Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 6 III./ MÃ GIẢ : - Vay mượn các cú pháp của một ngôn ngữ lập trình nào đó để thể hiện thuật toán. - Dùng mã giả vừa vận dụng được các khái niệm trong ngôn ngữ lập trình, vừa giúp người cài đặt dễ dàng nắm bắt được nội dung thuật toán, tuy nhiên là trong mã giả vẫn dùng một phần ngôn ngữ tự nhiên. Ví dụ : - Nhập a, b - If a = 0 thì : If b = 0 thì : xuất kết quả ‘Pt vô định’ Else xuất kết quả ‘Pt vô nghiệm’ Else xuất kết quả x =-b/a BÀI T ẬP 1. Viết thuật toán tính diện tích, chu vi của hình chữ nhật, hình tròn. 2. Viết thuật toán tính số phiếu của mỗi UCV, biết rằng số phiếu của UCV B gấp đôi số phiếu của UCV A, UCV C hơn UCV B 100 phiếu, biết rằng tổng số phiếu là 900. 3. Viết thuật toán giải phương trình bậc hai ax 2 + bx + c = 0 4. Viết thuật toán đổi sang giờ, phút, giây khi nhập một số giây là S. 5. Viết thuật toán tìm số lớn nhất trong hai số nguyên nhập vào từ bàn phím. 6. Viết thuật toán tìm số lớn nhất trong bốn số nguyên nhập vào từ bàn phím. 7. Viết thuật toán nhập vào một số nguyên, xuất thông báo số đó là số chẵn hay số lẻ. 8. Viết thuật toán nhập vào một tháng, xuất kết quả tháng đó có bao nhiêu ngày. 9. Viết thuật toán nhập vào hai số nguyên, tìm ước số chung lớn nhất của hai số đó. Hướng d ẫn : Nếu số 1 > số 2 thì số 1 = số 1 – số 2 Nếu số 2 > số 1 thì số 2 = số 2 – số 1 Thực hiện tiếp cho đến khi nào số 1 = số 2 thì dừng. Đó chính là USCLN của 2 số. 10. Viết thuật toán nhập vào một số nguyên N, xét xem số đó có là số nguyên tố hay không ? Số nguyên tố là số nguyên dương >=2 , chỉ chia hết cho 1 và cho chính nó. 11. Viết thuật toán giải phương trình trùng phương : ax 4 + bx 2 + c = 0 Bài 4: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH PASCAL I./ NG UỒN GỐC : - Pascal là một trong các ngôn ngữ lập trình bậc cao được giáo sư Niklaus Wirth (Trường Đại Học Zurich, Thuỵ Sĩ) thiết kế và công bố vào năm 1971. Ông đặt tên cho ngôn ngữ này là PASCAL để tưởng nhớ đến Blaise Pascal (nhà Toán học- Vật lý học người Pháp ở thế kỷ 17), người đã sáng chế ra máy tính cơ khí đầu tiên của nhân loại. - Ngôn ngữ Pascal chuẩn nhằm phục vụ giảng dạy phương pháp lập trình đặc biệt là “ phuơng pháp lập trình có cấu trúc”. - Ngày nay, Pascal được sử dụng để giải quyết gần như bất cứ nhiệm vụ nào trên các loại máy tính và được xem như là một trong các ngôn ngữ lập trình bậc cao ưu việt nhất trong lãnh vực giảng dạy và lập trình chuyên nghiệp. II./ T Í NH CHẤT CƠ BẢN : 1./ Pascal là m ột ngôn ngữ lập tr ì nh có định kiểu rõ ràng : Mọi biến và hằng của kiểu dữ liệu nào chỉ được gán các giá trị của đúng kiểu dữ liệu đó, không được tự do đem gán cho các giá trị của kiểu dữ liệu khác. Việc định kiểu một cách chặt chẽ khiến người lập trình luôn luôn phải có các kiến thức với nhau về kiểu dữ liệu. Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 7 2./ Pascal là m ột ngôn ngữ lập tr ì nh thể hiện tư duy l ập trình có c ấu trúc : - Dữ liệu được cấu trúc hoá : từ dữ liệu đơn giản hoặc có cấu trúc đơn giản, người lập trình có thể xây dựng các dữ liệu có cấu trúc phức tạp hơn. - Mệnh lệnh được cấu trúc hoá : từ các lệnh chuẩn đã có, người lập trình có thể nhóm chúng lại với nhau và đặt giữa hai từ khoá Begin và End khiến chúng trở thành một câu lệnh phức tạp hơn gọi là lệnh hợp hay lệnh ghép. - Chương trình được cấu trúc hóa : một chương trình có thể chia thành các chương trình con tổ chức theo hình cây phân cấp. III./ CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH PASCAL : 1./ Bộ ký tự : - Các chữ cái : A-Z, a-z - Ký tự gạch nối – - Các chữ số : 0-9 - Các ký hiệu toán học : + - * / = < > ( ) {} 2./ Từ khoá : Các tên riêng của Pascal có ngữ nghĩa đã được xác định. Không được dùng từ khoá vào việc khác hoặc đặt tên trùng với từ khoá. Ví dụ : -Từ khóa chung : PROGRAM, BEGIN, END, PROCEDURE, FUNCTION -Từ khóa để khai báo: CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE OF, LABEL -Từ khóa của lệnh lựa chọn : IF THEN IF THEN ELSE CASE OF -Từ khóa của lệnh lặp : FOR TO DO FOR DOWNTO DO WHILE DO REPEAT UNTIL -Từ khóa điều khiển: WITH, GOTO, EXIT -Từ khóa toán tử: AND, OR, NOT, IN, DIV, MOD 3./ Tên chu ẩn : Tên được định nghĩa sẵn trong Pascal (có thể định nghĩa lại nếu muốn). Các tên chuẩn như : Boolean, Char, Integer, Word, Byte, Real, False, True, Abs, Cos, Sin, Exp, Ln, Odd, Ord, Round, Trunc, Sqr, Sqrt, Pred, Succ, Read, Readln, Write, Writeln, 4./ Danh h i ệu tự đ ặ t : - Danh hiệu tự đặt dùng để đặt tên cho các biến, hằng, kiểu, chương trình con. - Bắt đầu là chữ cái, sau đó là các chữ cái, chữ số hay dấu nối. Ví dụ : x, bien_dem Lư u ý : Ngôn ngữ Pascal không phân biệt chữ hoa hay chữ thường trong một danh hiệu. Bài 5: CẤU TRÚC TỔNG QUÁT CỦA 1 CHƯƠNG TRÌNH PASCAL I./ C ẤU TRÚC TỔNG QUÁT : 1. Phần tiêu đề của một chương trình. 2. Phần khai báo dữ liệu, mô tả dữ liệu, khai báo chương trình con. 3. Phần thân chương trình chứa các lệnh để máy thực hiện Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 8 Cấu trúc một chương trình Pascal nếu đầy đủ sẽ có ba phần sau: PROGRAM TEN_CHƯƠNG _TRINH ; { Phần tiêu đề} USES CRT, PRINTER ; { Phần khai báo } LABEL … CONST … TYPE … VAR … PROCEDURE … {phần mô tả chương trình con} FUNCTION … BEGIN … {Các câu lệnh } { Phần thân chương trình } END . {kết thúc chương trình} II./ VÍ DỤ MINH H ỌA : Program Phuong_trinh_bac_nhat ; Uses Crt; Var a, b :real; Procedure Nhap; Begin Write(‘Nhap he so a :’); Readln(a); Write(‘Nhap he so b :’); Readln(b); End; Begin Clrscr; {Xoá màn hình} Nhap; {Thực hiện thủ tục con Nhap} If a = 0 then If b= 0 then writeln(‘Phuong trinh vo dinh’) else {b <> 0} writeln(‘Phuong trinh vo nghiem’) else {a <> 0 } writeln(‘Phuong trinh co nghiem la :’, -b/a :8:2); Writeln(‘Bam phim <Enter> de tro ve cua so soan thao’); Readln; End. {End of Main} III./ GIẢI THÍCH SƠ LƯỢC TỪNG PHẦN CỦA CHƯƠNG TRÌNH : 1./ P h ần tiêu đề : Cho biết tên của chương trình. Phần này luôn được bắt đầu bằng từ khóa Program và chấm dứt bằng dấu ; Phần này có thể không có cũng được. 2./ P h ần khai báo dữ liệu : Trước khi sử dụng biến nào, phải khai báo biến đó. Khai báo một biến là xác định rõ xem biến đó thuộc kiểu dữ liệu nào. Một chương trình Pascal thông thường có các khai báo dữ liệu sau : CONST {khai báo hằng} TYPE {khai báo kiểu dữ liệu mới} VAR {khai báo các biến} Phần khai báo có thể có hoặc không tùy theo nhu cầu. Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 9 3./ Ph ần khai báo chương trình con : Phần này mô tả một nhóm lệnh được đặt một tên chung là một chương trình con để khi trong phần thân chương trình chính có lệnh gọi đến thì cả nhóm lệnh đó được thực hiện. Phần này có thể có hoặc không tuỳ theo nhu cầu. 4./ P h ần thân chương trình : Phần này luôn nằm giữa hai từ khoá BEGIN và END. Ở giữa là các câu lệnh mà chương trình chính cần thực hiện. Sau từ khóa END là dấu chấm để báo hiệu kết thúc chương trình. Phần này bắt buộc phải có đối với mọi chương trình. 5./ D ấu ch ấm phẩy : Dấu chấm phẩy ; được dùng để ngăn cách các câu lệnh của Pascal và không thể thiếu được. 6./ Lời gi ải thích : Các lời giải thích có thể đưa vào bất cứ chỗ nào của chương trình, chúng được đặt giữa các ký hiệu { } hoặc (* *). Khi viết chương trình nên có nhiều lời giải thích để chương trình trở nên dễ hiểu, dễ đọc. Bài 6: CÁC KIỂU DỮ LIỆU ĐƠN GIẢN I./ C Á C K I ỂU DỮ LIỆU (DATA TYPE) CỦA PASCAL : Khái niệm chung : - Dữ liệu là tất cả những loại thông tin mà máy tính xử lý. - Theo Niklaus Wirth : CHƯƠNG TRÌNH = GIẢI THUẬT + DỮ LIỆU - Một kiểu dữ liệu là một là sự quy định về hình dạng, cấu trúc và giá trị của dữ liệu cũng như cách biểu diễn và xử lý dữ liệu. - Trong Pascal, các kiểu dữ liệu nhìn chung được chia thành bốn loại chính : 1. Kiểu đơn giản (vô hướng) : gồm hai kiểu sau : Ki ểu cơ sở (kiểu ch u ẩn ) : có bốn kiểu Kiểu logic (Boolean) Kiểu số nguyên (Integer) Kiểu số thực (Real) Kiểu ký tự (Char) Ki ểu v ô hướng tự đ ị n h ng h ĩa : có hai kiểu Kiểu miền con (Sub-range) Kiểu liệt kê (Enumerated) 2. Kiểu dữ liệu có cấu trúc : gồm bốn kiểu sau : Kiểu mảng (Array) Kiểu tập hợp (Set) Kiểu bản ghi ( Record) Kiểu tập tin (File) 3. Kiểu xâu ký tự (String) 4. Kiểu con trỏ (Pointer) II./ K IỂU SỐ NGUYÊN (INTEGER) : 1./ Kiểu số nguyên đ ư ợc định ngh ĩ a v ới các từ khóa sau : TỪ KHÓA PHẠM VI INTEGER -32628 đến 32627 BYTE 0 đến 255 WORD 0 đến 65535 SHORTINT -128 đến 127 LONGINT -2147483648 đến 2147483647 Tin H ọc Đại C ư ơ ng - Lập trình Pascal ( c ăn bản) 10 2./ Các phép toán số h ọc đ ố i v ới số nguyên : KÝ HIỆU Ý NGHĨA KIỂU KẾT QUẢ DIV Chia lấy phần nguyên Số nguyên MOD Chia lấy phần dư Số nguyên + Cộng Số nguyên - Trừ Số nguyên * Nhân Số nguyên / Chia Số thực III./ KIỂU SỐ T HỰC (REAL) : 1./ Kiểu số thực được định ngh ĩ a v ới từ khóa REAL: TỪ KHÓA PHẠM VI REAL 2.9 x 10 -39 đến 1.7x10 38 2./ Các phép toán số h ọc đ ố i v ới số thực : KÝ HIỆU Ý NGHĨA KIỂU KẾT QUẢ + Cộng Số thực - Trừ Số thực * Nhân Số thực / Chia Số thực 3./ Các h à m số h ọc dùng cho số nguy ê n và số thực : TÊN HÀM KIỂU TÁC ĐỘNG KIỂU KẾT QUẢ Ý NGHĨA ABS(x) REAL/NGUYÊN REAL Lấy giá trị tuyệt đối của x ARCTAN(x) REAL/NGUYÊN REAL Cho giá trị Arctan của x COS(x) REAL/NGUYÊN REAL Cho giá trị cosin của x (tính bằ ng radian) SIN(x) REAL/NGUYÊN REAL Cho giá trị sin của x (tính b ằng radian) EXP(x) REAL/NGUYÊN REAL Cho giá trị e x PI REAL/NGUYÊN REAL Cho hằng 3.14159 SQR(x) REAL/NGUYÊN REAL/NGUYÊN Lấy bình phương của x SQRT(x) REAL/NGUYÊN REAL Lấy căn bậc hai của x LN(x) REAL/NGUYÊN REAL Cho giá trị lnx ROUND(x) REAL/NGUYÊN LONGINT Làm tròn x TRUNC(x) REAL LONGINT Lấy phần nguyên của x INT(x) REAL REAL Lấy phần nguyên của x FRAC(x) REAL REAL Lấy phần lẻ (phần thập phân ) của x PRED(n) NGUYÊN NGUYÊN Cho ra số nguyên n+1 SUCC(n) NGUYÊN NGUYÊN Cho ra số nguyên n-1 ODD(n) NGUYÊN BOOLEAN Cho kết quả TRUE nếu n là số lẻ, FALSE nếu n là số chẵn IV./ K IỂU LOGIC (BOOLEAN): 1./ Định nghĩa : Một dữ liệu thuộc kiểu Boolean là một đại lượng chỉ có thể nhận một trong hai giá trị logic TRUE hoặc FALSE. 2./ Các phép toán logic : Trong kiểu dữ liệu Boolean, có thể sử dụng các phép toán logic sau và cho kết quả là kiểu Boolean :