Trang nhất » Tin Tức » Phần mềm - Tiện ích

This is an example of a HTML caption with a link.
 

TURBO PASCAL 7.0

Thứ bảy - 24/05/2014 13:20
TURBO PASCAL 7.0

TURBO PASCAL 7.0

Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được Niklaus Wirth phát triển vào năm 1970 là ngôn ngữ đặc biệt thích hợp cho kiểu lập trình có cấu trúc. 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 nghề 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, cả trong giảng dạy lẫn trong công nghiệp phát triển phần mềm. 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 ngôn ngữ tên là World Wide Web, là ngôn ngữ mà Donald Knuth đã vay mượn khá nhiều yếu tố từ Pascal.
Turbo Pascal 7.0








iểu dữ liệu

Pascal gồm các kiểu đơn lẻ như integer, char, boolean, kiểu đoạn con,... Ngoài ra còn kiểu cấu trúc như array, string, record, object, class,... Cuối cùng là kiểu số thực: real.

Các kiểu số nguyên

Tên kiểu Khoảng cách Dung lượng theo bytes
Byte 0.. 255 1
Shortint -128.. 127 1
Smallint -32768.. 32767 2
Word 0.. 65535 2
Integer -32768.. 32767 2
Longint -2147483648.. 2147483647 4
Longword 0.. 4294967295 4
int64 -9223372036854775808.. 9223372036854775807 8
QWord 0.. 18446744073709551615 8
Cardinal Tương đương với longword  

Các kiểu số thực

Tên kiểu Khoảng cách Số chữ số có nghĩa Dung lượng theo bytes
Real 2,9x10^-38...1,7x10^38 Không rõ 6
Single 1,5*10−45.. 3,4*1038 7-8 4
Double 5,0*10−324.. 1,7*10308 15-16 8
Extended 1,9*10−4932.. 1,1*104932 19-20 10
Comp -2*1064+1.. 2*1063-1 19-20 8
Currency -922337203685477.5808.. 922337203685477.5807 19-20 8

Kiểu chữ

Tất cả các kiểu chữ đều có thể lưu được các kí tự trong bảng mã ASCII

Tên Số kí tự lưu được Dung lượng theo bytes
Char 1 1
Widechar  ? 2
String 255  ?
Shortstring Tương tự String (255)  ?
Ansistring Tùy thuộc vào bộ nhớ (càng nhiều bộ nhớ thì lưu được càng nhiều)  ?

Phương pháp khai báo biến

Đây là một số khai báo kiểu của Pascal:

  1. type (* Khai báo kiểu*)
  2. KieuSoNguyen = integer;
  3. KieuSoNguyenDuong = QWord;
  4. MangSoNguyen = array[1..239] of KieuSoNguyen;
  5.  
  6. DiaChi = record
  7.   xa, huyen, tinh: string;
  8.   SoNha: integer;
  9. end;
  10.  
  11. { hướng đối tượng }
  12. ConVat = object
  13.   Ten: string;
  14.   Lop: string;
  15. end;
  16.  
  17. ConGa = object(ConVat)
  18.   TiengGay: string;
  19. end;
  20.  
  21. { Kiểu đoạn con, kiểu tự định nghĩa }
  22. SoDem = (mot, hai, ba, bon, nam);
  23. SoNho = 0..10;
  24. SoDemNho = mot.. ba;

Từ đó, ta có thể khai báo các biến và sử dụng chúng:

  1. var
  2.   x: integer; y: KieuSonguyenduong;
  3.   A: mangsonguyen;
  4.   GaTrong: ConGa;
  5.   z: SoDemNho;
  6. Begin {thân chương trình }
  7.   x:= 5;
  8.   y:= x+10;
  9.   y:= y-1;
  10.   GaTrong.TiengGay:= 'O O O...';
  11.   writeln(GaTrong.TiengGay);
  12. End.

Các kiểu phức có thể được xây dựng từ các kiểu đơn:

  1. type
  2.     a = array [1..10] of integer;
  3.     b = record
  4.             a: integer;
  5.             b: char
  6.         end;
  7.     c = file of a;

Kiểu chuỗi kí tự (string) là kiểu dữ liệu rất mạnh.

Pascal cũng hỗ trợ dùng con trỏ:

  1. type
  2.      a = ^b;
  3.      b = record
  4.             a: integer;
  5.             b: char;
  6.             c: a
  7.          end;
  8. var
  9.      pb: a

Ở đây biến pb là một con trỏ đến kiểu dữ liệu b, là một record. Để tạo record mới và gán các giá trị 10A vào các trường ab trong record, có thể dùng các câu lệnh sau:

  1. new(pb);
  2. pb^.a:= 10;
  3. pb^.b:= 'A';
  4. pb^.c:= nil;
  5. ...

Danh sách liên kết cũng có thể được tạo ra bằng cách cho một trường kiểu con trỏ (c) vào trong record.

Thực tế sử dụng

Trình biên dịch Pascal đầu tiên được thiết kế tại Zurich cho dòng máy tính CDC 6000, được viết và xây dựng tại Đại học Illinois dưới sự chỉ đạo của Donald B. Gillies cho loại máy tính PDP-11 và ngay từ lúc này đã có thể sinh ra mã máy trực tiếp.

Để nhanh chóng phổ biến rộng rãi ngôn ngữ này, một bộ công cụ chuyển mã được viết tại Zurich bao gồm một trình biên dịch sang "mã máy ảo" (hay dễ hiểu hơn, mã trung gian giữa mã máy và mã nguồn), và bộ giả lập cho loại mã này. Bộ công cụ này sau đó trở thành hệ thống giả (P-system). Mặc dù hệ thống này được phát triển nhằm tạo ra các trình biên dịch sinh mã máy trên ít nhất một hệ thống, nhưng kết quả đáng kể nhất chỉ là t rình thông dịch  cho hệ thống giả UCSD. Các trình thông dịch này được ký hiệu P1-P4, với P1 là phiên bản đầu tiên còn P4 là phiên bản cuối cùng.

 I P Pascal  l à trình biên dịch của ngôn ngữ lập trình Pascal cho hệ điều hành Micropolis DOS nhưng ngay sau đó đã chuyển sang CP/M để chạy trên dòng máy   Z80  .

Đầu  t hập niên 1980  , UCSD Pascal đã có phiên bản dành cho các máy   Apple II    Apple III   để có các phiên bản tương ứng thay thế trình thông dịch  BASIC  đi kèm với các loại máy này trong thời gian trước đó.

Trong những năm 1980,   Anders Hejlsberg   đã viết trình biên dịch Blue Label Pascal dành cho dòng máy tính   Nascom-2 .  Sau đó ông chuyển sang làm việc cho hãng  Borland  và viết lại hoàn toàn trình biên dịch này để rồi trở thành Turbo Pascal cho máy tính  I BM-PC .  Trình biên dịch mới này bán với giá chỉ có $49.95, rẻ hơn nhiều so với giá Hejlsberg trước đây rao bán sản phẩm Blue Label Pascal.

Trình biên dịch giá rẻ của Borland đã gây ra ảnh hưởng lớn đến cộng đồng lập trình viên Pascal, họ hầu như tập trung hết vào lập trình cho máy IBM-PC trong những năm cuối thập niên 1980. Rất nhiều người cũng đã sử dụng sản phẩm này thay cho BASIC.

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.

Trong phiên bản 5.5, Borland đã bổ sung phần lập trình hướng đối tượng vào Turbo Pascal.

Tuy nhiên sau đó Borland đã quyết định cần phải có nhiều tính năng hướng đối tượng tinh vi và phức tạp hơn, và đã bắt đầu sản phẩm Delphi, sử dụng sơ đồ thiết kế của Object Pascal do Apple đưa ra làm cơ sở. (Sơ đồ của Apple vẫn chưa phải là chuẩn.) Borland cũng gọi đây là Object Pascal trong phiên bản Delphi đầu tiên nhưng đổi tên thành Delphi trong các phiên bản sau đó. Các bổ sung chính so với các phần mở rộng lập trình hướng đối tượng trước là mô hình đối tượng, các hàm dựng và hàm hủy ảo, các thuộc tính đều mang tính tham chiếu. Có một vài trình biên dịch khác cũng hỗ trợ các tính năng này. Xem thêm: Delphi

Turbo Pascal và các sản phẩm tương tự, bằng các khái niệm đơn vị (unit) hay mô-đun (module) hình thành nên các ngôn ngữ lập trình cấu trúc. Turbo Pascal lấy các khái niệm này từ chuẩn của Extended Pascal hay từ người kế vị Modula-2. Mặc dù vậy nó vẫn không cung cấp khái niệm các mô-đun lồng nhau hay các kí hiệu rõ ràng về hàm nhập và hàm xuất.

Chuẩn hóa

Ngôn ngữ này được chuẩn hóa vào năm 1983 trong chuẩn ISO/IEC 7185, một vài chuẩn quốc gia cụ thể cũng được đưa ra bao gồm cả chuẩn ANSI/IEEE770X3.97-1983 của Mỹ. Năm 1990 chuẩn Pascal mở rộng được đưa ra với tên gọi ISO/IEC 10206.

Chuẩn ISO 7185 được phát triển với mục đích là sự chọn lọc của ngôn ngữ 1974 của Writh, được đề cập chi tiết trong cuốn "Hướng dẫn sử dụng và Báo cáo của Jensen và Wirth", bổ sung đáng kể nhất là "Các tham số mảng phù hợp" được coi là mức 1 của tiêu chuẩn, mức 0 là Pascal không có mảng phù hợp.

Trên các máy tính lớn mà Pascal xuất phát (mainframe và minicomputer), các tiêu chuẩn này thường được tuân theo. Tuy vậy trên IBM-PC thì ngược lại. Trên các máy tính IBM-PC, chuẩn của Turbo Pascal và Delphi của của Borland có lượng người dùng nhiều nhất. Do vậy, biết liệu một phiên bản riêng biệt tương ứng với ngôn ngữ Pascal ban đầu, hay ngôn ngữ riêng của Borland là khá quan trọng.

Các trình biên dịch phổ biến

Có vài trình biên dịch Pascal được đưa ra cho sử dụng công khai:

  •  Trình biên dịch P4,  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 .
  •  
  • Free Pascal được viết bằng Pascal (sao cho nó có thể biên dịch được chính nó), được phá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 ứng dụ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.
  •  
  •  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 199 0. Nó phổ biến vì các mở rộng mạnh mẽ và đặc biệt là thời gian biên dịch cực kì ngắn. Trong thời điểm hiện tại, các phiên bản cũ của Turbo Pascal (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ý).
  •  

Những phê phán trước đây

Mặc dù rất phổ biến (những năm 1980 và 1990 còn phổ biến hơn cả thời điểm bài viết này được thực hiện), các phiên bản Pascal trước đây đã bị phê phán rộng rãi vì không phù hợp cho việc sử dụng trong thực tế, ngoài việc dạy học. Brian Kernighan, người truyền bá C, đã đưa ra những phê phán lớn nhất về Pascal trong đầu những năm 1980, bằng tác phẩm Why Pascal Is Not My Favorite Programming Language (Tại sao Pascal không phải là ngôn ngữ lập trình tôi ưa thích). Mặt khác, rất nhiều nỗ lực phát triển lớn trong những năm 1980 (như chuyển sang cho Apple LisaMacintosh) lại phụ thuộc rất nhiều vào Pascal (tới mức mà giao tiếp C dành cho Mac OS phải giải quyết cả các kiểu dữ liệu của Pascal). Trong những thập niên sau đó, Pascal tiếp tục phát triển, và những vấn đề mà Kernighan đã đưa ra không còn phù hợp cho các phiên bản hiện tại nữa. Thật đáng tiếc là, như những điều mà Kernighan dự đoán trong bài viết, hầu hết các sự mở rộng để giải quyết các vấn đề trên làm các trình biên dịch không tương thích với nhau. Mặc dù vậy, trong thập niên vừa qua các biến thể dường như đã tập trung lại thành hai loại, theo chuẩn ISO hay theo chuẩn Borland, đều đã dần dần đi ra ngoài dự đoán của Kernighan.

Dựa trên kinh nghiệm với Pascal, Niklaus Wirth đã phát triển thêm hai ngôn ngữ lập trình nữa, Modula-2Oberon. Hai ngôn ngữ này mặc dù đã có nhiều cải tiến nhưng không thể theo kịp thành công thương mại của Pascal.


Tác giả bài viết: Hồng Phượng

Nguồn tin: Trường THCS Bắc Lệnh - TP Lào Cai

Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết





Ý kiến bạn đọc
 

VIDEO



LIÊN KẾT

THỐNG KÊ TRUY CẬP

Đang truy cậpĐang truy cập : 4


Hôm nayHôm nay : 127

Tháng hiện tạiTháng hiện tại : 8180

Tổng lượt truy cậpTổng lượt truy cập : 644049

Click for Lao Cai, Viet Nam Forecast

GIỚI THIỆU

Lãnh đạo Trường THCS Bắc Lệnh

 Cô giáo: Hoàng Thị Quý Hiệu trưởng trường THCS Bắc Lệnh Sinh năm: 1983 DĐ: 0843848383 Cô giáo: ĐỖ THỊ THANH THỦY Phó hiệu trưởng trường THCS Bắc Lệnh Sinh năm: DĐ: 0329860979.  

THĂM DÒ Ý KIẾN

Để nâng cao chất lượng giáo dục cần phải làm gì?

Đổi mới phương pháp dạy học

Đổi mới nội dung

Thay đổi cách thức học tập

global html