Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,45 MB
Nội dung
Pascal dựa trên ngôn ngữ lập trình Algol và được đặt tên theo nhà toán học và triết học Blaise Pascal. Wirth đồng thời cũng xây dựng Modula-2 và Oberon, là những ngôn ngữ tương đồng với Pascal. Oberon cũng hỗ trợ kiểu lập trình hướng đối tượng Ban đầu, Pascal là một ngôn ngữ được hướng để dùng trong giảng dạy về lập trình có cấu trúc, và nhiều thế hệ sinh viên đã "vào đời" thông qua việc học Pascal như ngôn ngữ vỡ lòng trong các chương trình học đại cương. Nhiều biến thể của Pascal ngày nay vẫn còn được sử dụng khá phổ biến trong giảng dạy. Mặc dù vậy, nếu nghĩ rằng Pascal là ngộ ngữ chỉ dành để giảng dạy, thì sẽ sai lầm. Hãy nghe chính ý kiến của Wirrth vè vấn đề bày (1984)”Có người cho rằng Pascal được thiết kế như một ngôn ngữ để giảng dạy. Mặc dù điều này là đúng, nhưng việc sử dụng nó để giảng dạy không phải là mục đích duy nhất. Thực tế, tôi không tin vào sự thành công của việc áp dụng trong khi học các phương pháp và công cụ mà không thể sử dụng để giải quyết các bài toán thực tế. Theo tiêu chuẩn ngày pascal có những yếu điểm rỏ rằng khi lập trình các hệ thống lớn, nhưng 15 năm trước đó là thảo hiệp hợp lí giữa cái mong muốn và hiệu quả ” Pascal là một ngôn ngữ có định kiểu mạnh mẽ. Điều có nghĩa là mọi biến và hằng số của một kiểu dử liệu không thể tự đem trộn lẩn với các biến và hằng của một kiêủ dữ liệu khác. Việc định kiểu chặt chẽ như vậy buộc người lập trình luôn luôn phải có các biểu thức tương thích nhau về kiểu dữ liệu.Phần lớn hệ điều hành Macintosh được viết bằng Pascal. Hệ sắp chữ TEX phổ biến được viết bằng một 2 2 ngôn ngữ tên là Web là ngôn ngữ mà Donald Knuth đã vay mượn khá nhiều yếu tố từ Pascal. Ngôn ngữ Pascal được dùng hiện nay có nhiều điểm khác biệt với chuẩn Pascal nguyên thủy của Giáo sư Wirth. Tùy theo quốc gia hoặc công ty đã phát triển cho ra đời các chương trình biên dịch ngôn ngữ Pascal như: · ISO PASCAL (International Standards Organization) của Châu Âu · ANSI PASCAL (American National Standards Institute) của Mỹ · TURBO PASCAL của hãng BORLAND (Mỹ) · IBM PASCAL của hãng Microsoft (Mỹ) P P ascal có tiếp tục tồn tại?! ascal có tiếp tục tồn tại?! Để kết luận, xin trích dẫn lời của Dennis Ritch tác giả của ngôn ngữ C : “ Pascal là một ngôn ngữ thanh lịch. Nó vẫn tiếp tục tồn tại Nó đã khỡi nguồn cho không ít ngôn ngữ đàn em và có ảnh hưởng sâu sắc đến việc thiết kế các ngôn ngữ lập trình mới chung”. Ðến nay, ngôn ngữ Pascal đã phát triển đến phiên bản Turbo Pascal. Các diễn giải và ví dụ trong giáo trình này chủ yếu sử dụng chương trình Turbo Pascal 5.5 - 7.0, hiện đang được sử dụng rộng rãi ở Việt Nam vì các ưu điểm của nó : tốc độ dich nhanh, chương trình dịch pascal được viết rất gọn , các phần mở rộng của nó so với pascal chuẩn đã đáp ứng được nhiều yêu cầu của con người sử dụng như quan thiệp sâu vào mấy và không ngừng cải tiến , nâng cao. Vì vậy, Turbo Pascal sản phẩm nổi tiếng thế giới của hảng BORLAND (Mỹ) 3 3 MỘT SỐ VÍ DỤ VỀ PASCAL MỘT SỐ VÍ DỤ VỀ PASCAL Trình biên dịch P4 Trình biên dịch P4 là cơ sở cho rất nhiều trình biên dịch Pascal được viết bằng Pascal sau đó, bao gồm cả UCSD p-System 4 4 Free Pascal Free Pascal được viết bằng Pascal (sao cho nó có thể biên dịch được chính nó), đượcphát triển với mục tiêu là cung cấp một trình biên dịch mạnh mẽ vàthuận tiện, có khả năng biên dịch cả các ứng dụng cũ lẫn phát triển ứngdụng mới. Được phân phối miễn phí dưới giấy phép GNU. Có khả năng trộn lẫn cả mã của Turbo Pascal và mã Delphi, hỗ trợ nhiều nền tảng lẫn nhiều hệ điều hành. 5 5 Turbo Pascal Turbo Pascal là trình biên dịch Pascal thống trị cho PC vào thập niên 1980 và đầu thập niên 1990 .Nó phổ biến vì các mở rộng mạnh mẽ và đặc biệt là thời gian biên dịchcực kì ngắn. Trong thời điểm hiện tại, các phiên bản cũ của TurboPascal (tới 5.5) có thể tải xuống miễn phí tại trang web của Borland(tuy nhiên vẫn cần phải đăng ký). turbo_pascal_60 6 6 Chrome Chrome là thế hệ Object Pascal tiếp theo cho nền tảng .NET và nền tảng Mono, được RemObjects Software cung cấp chrome_on_white_small 7 7 GNU Pascal Compiler (GPC) GNU Pascal Compiler (GPC) là trình biên dịch Pascal của Bộ biên dịch GNU (GCC). Trình biên dịch này được viết bằng C, thư viện chạy hầu hết viết bằng Pascal. Được phân phối miễn phí dưới giấy phép GNU, có thể chạy trên rất nhiều nền tảng và hệ điều hành khác nhau. Nó còn hỗ trợ chuẩnngôn ngữ ANSI/ISO và tương thích với ngôn ngữ Borland/Turbo Pascal.Việc hỗ trợ cho Borland Delphi và 1 vài biến thể khác vẫn còn khá hạn chế. GNU Pascal Compiler 8 8 Delphi Delphi là sản phẩm RAD (Rapid Application Development - phát triển ứng dụng tức thời) của Borland. Nó sử dụng Delphi,tiền thân từ Pascal, để tạo các chương trình ứng dụng cho nền Windows.Phiên bản mới nhất còn hỗ trợ cả việc biên dịch cho nền Microsoft.net. Delphi 7 9 9 Kylix Kylix là một nhánh sản phẩm khác kế thừa từ Pascal của Borland, tiền thân từ Delphi, hỗ trợ hệ điều hành Linux và một thư viện đối tượng đã được bổ sung. Trình biên dịch và môi trường phát triển (IDE)có thể được cung cấp cho việc sử dụng phi lợi nhuận. Trình biên dịch(không bao gồm thư viện hay IDE) được cho là trở thành phần mềm Mã nguồn mở trong thời gian tới. KylixIDE 10 10 Virtual Pascal Virtual Pascal được Vitaly Miryanov sáng tạo như một trình biên dịch dành cho OS/2tương thích với cú pháp của Borland Pascal. Sau đó nó được fPrint pháttriển thành sản phẩm thương mại, hỗ trợ thêm Win32, và đến năm 2000 trởthành phần mềm miễn phí. Ngày nay nó có thể biên dịch cho Win32, OS/2và cả Linux, và gần như hoàn toàn tương thích với Borland Pascal và Delphi. 11 11 [...]... × 2n• SHR (phép dịch phải): a SHR n ⇔ a DIV 2n• Tất cả các kiểu dữ liệu trên đều là kiểu dữ liệu số nguyên, tức không thể dùng để chứa các giá trị có phần thập phân Tùy thuộc vào các yêu cầu, mà các bạn sử dụng kiểu dữ liệu thích hợp Chọn kiểu dử liệu nhỏ sẽ tiết kiệm bộ nhớ, nhưng nếu biến số chứa các giá trị vượt qua kiểu dữ liệu đó sẽ làm cho kết quả bài toán bị sai lệch! 22 Ví dụ: Đề yêu cầu... theo đúng qui cách của danh hiệu tự đặt ) Phần tiêu đề có hay không cũng được Phần khai báo dữ liệu: Trước khi sử dụng biến nào phải khai báo biến đó, nghĩa là xác định rõ xem biến đó thuộc kiểu dữ liệu nào Có thể có một số hoặc tất cả các khai báo dữ liệu sau: CONST : khai báo hằng TYPE : định nghĩa kiểu dữ liệu mới VAR : khai báo các biến Phần khai báo chương trình con: Phần này mô tả một nhóm lệnh... đề là tên của kiểu dữ liệu Super Pascal là một biến thể của Pascal, bổ sung nhãn không có số, trả lại biểu thức hay mệnh đề là tên của kiểu dữ liệu Super Pascal 128 16 II CẤU TRÚC CƠ BẢN CỦA CHƯƠNG TRÌNH PASCAL 1 Cấu trúc chung : Một chương trình máy tính là một dãy lệnh, một dãy chỉ thị hướng dẩn máy tính thực hiện một nhiệm vụ, một xữ lí nào đó trên một tập hợp các dữ liệu, số liệu Cấu trúc tổng quát... Mà ta sẽ dùng kiểu integer hoặc word (đều chiếm 2 bytes) Tất cả các kiểu dữ liệu trên đều là kiểu dữ liệu số nguyên, tức không thể dùng để chứa các giá trị có phần thập phân Tùy thuộc vào các yêu cầu, mà các bạn sử dụng KDL thích hợp Chọn kiểu dữ liệu nhỏ sẽ tiết kiệm bộ nhớ, nhưng nếu biến số chứa các giá trị vượt qua kiểu dữ liệu đó sẽ làm cho kết quả bài toán bị sai lệch! Ví dụ : +234, - 32767, -1,... ‘Today, we study PASCAL PROGRAMMING ‘); Readln; END 19 III CÁC KIỂU DỮ LIỆU ĐƠN GIẢN CHUẨN 1 Kiểu logic Bun ( Logic Boolean) - Từ khóa: BOOLEAN - Miền giá trị: (TRUE, FALSE) - Trong Pascal, khi so sánh các giá trị boolean các biến, hằng được khai báo kiểu dữ liệu đúng sai sẽ chỉ nhận 1 trong 2 giá trị True (đúng) và False (sai) Kiểu dữ liệu đúng sai có từ khóa để khai báo là Boolean Các phép toán : phép... vụ, một xữ lí nào đó trên một tập hợp các dữ liệu, số liệu Cấu trúc tổng quát một chương trình Pascal gồm ba phần : a Phần tiêu đề của chương trình (phần tên) b Phần khai báo dữ liệu hằng, biến (Const, Var), mô tả kiểu dữ liệu ( Type), khai báo chương trình con ( Procedure, Function) c Phần thân chương trình chứa các lệnh để máy tính thực hiện 2 Sơ đồ cấu trúc chương trình pascal PROGRAM Tên_Chương_Trình;... nhập hay xuất dữ liệu - và phải nhấn enter để thực hiện lệnh đó*) for biến:=1 to… do begin end; while do begin end; 28 repeat statement; until ; Sau mỗi câu lệnh, phải có dấu chấm phẩy - ';‘ Nếu muốn chú thích trong lúc lập trình để dễ dàng nhớ tới trong 1 lần đọc source, hãy để nó trong dấu '{' và '}' hay '(*' và '*)‘ Nếu muốn xuất dữ liệu cuối cùng ra... quả bài toán bị sai lệch! Ví dụ : +234, - 32767, -1, 23, 123 … MaxInt là têngiá trị cực đại cho phép của kiểu nguyên, tức là MaxInt = + 32767 23 3 Kiểu số thực (real) 3.1 Dạng thập phân Đây là kiểu dữ liệu có chứa các số thập phân, tức là các số có dạng xxx.yyyy a Single: Chứa các giá trị từ 1.5E -45 đến 3.4 E38 (1,5 x 10^-45 đến 3,4 x 10^38 ) (4 bytes) Trong Pascal, biểu diễn số thực mặc định dạng... readln để chờ bạn bấm enter mới thoát ra ngoài ; hay bấm Alt+F5 để xem tất cả những gì vừa hiện trên màn hình trong lần chạy chương trình gần nhất Nếu muốn xóa trắng màn hình trước khi nhập hay xuất dữ liệu, bạn gõ lệnh clrscr; {Clear Screen} với thư viện sử dụng là crt; {khai báo trong phần uses} Các trang trong thể loại “Lệnh Pascal” 14 trang sau nằm trong thể loại lệnh pascal, trên tổng số 14 trang . nhiều trình biên dịch Pascal được viết bằng Pascal sau đó, bao gồm cả UCSD p-System 4 4 Free Pascal Free Pascal được viết bằng Pascal (sao cho nó có thể. Borland Pascal và Delphi. 11 11 IP Pascal IP Pascal ban đầu là ngôn ngữ Pascal dành cho Z80/CP/M, rồi được chuyển sang vàviết lại cho Intel 80386/PC. IP Pascal