Tải bản đầy đủ (.doc) (6 trang)

Ngôn ngữ lập trình (Bài sưu tầm)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (535.67 KB, 6 trang )

Trường THPT Gia Định Họ tên học sinh: Trương Minh Trí
Môn: Tin học 10 Học sinh lớp : 10CH
BÀI 5: Ngôn ngữ lập trình
I) Ngôn ngữ máy:
_ Mỗi loại máy tính đều có ngôn ngữ máy của nó. Viết các chương trình bằng ngôn ngữ máy, con người khai
thác triệt để được đặc điểm phần cứng của máy. Từ một chương trình khác, muốn thực hiện trên máy tính thì
ta phải dùng chương trình dịch để dịch ra
Mô phỏng cách dịch từ ngôn ngữ cấp cao sang ngôn ngữ máy
_ Các lệnh viết bằng ngôn ngữ máy thường ở dạng hệ nhị phân hoặc hệ hexa.
_ Nhược điểm:
+ Không thuận lợi cho con người trong việc viết hoặc hiểu chương trình.
+ Nhớ một cách máy móc các dòng số không gợi ý nghĩa
+Dùng nhiều câu lệnh để diễn tả chi tiết thao tác của thuật toán
 Một số ngôn ngữ lập trình khác đã được phát triển
II) Hợp ngữ: (assembly language)
_ Hợp ngữ là một ngôn ngữ cấp thấp dùng để viết các chương trình máy tính.
• Qua bài 4, ta thấy rằng: Việc diễn tả thuật toán bằng cách liệt kê hoặc sơ đồ khối chưa cho
máy khả năng tự thực hiện thuật toán.
• Ta cần diễn tả thuật toán bằng ngôn ngữ mà máy tính hiểu được:
• Kết quả diễn tả thuật toán như vậy cho ta một chương trình , còn ngôn ngữ để viết chương
trình là ngôn ngữ lập trình.
Trong bài 5, ta sẽ đi tìm hiểu các loại ngôn ngữ lập trình cũng như độ phụ thuộc của chúng vào
kiến trúc và hoạt động của máy tính.
Hình ảnh ví dụ về hợp ngữ
_So với ngôn ngữ máy, hợp ngữ cho phép người lập trình sử dụng một số thuật ngữ tiếng Anh để thể hiện các
lệnh cần thực hiện.
_ Một chương trình được viết bằng hợp ngữ phải được dịch ra ngôn ngữ máy tính thông qua một chương trình
gọi là chương trình hợp dịch (Assembler).
“Thông thường, một trình hợp dịch hiện đại tạo ra mã nhị phân (object code) bằng cách phiên dịch các lệnh hợp
ngữ thành mã thực thi (opcodes) và phân tích các biểu danh (symbolic names) ứng với các vùng nhớ cùng các
thực thể khác. Việc dùng các biểu danh để tham chiếu là một tính năng then chốt của các trình hợp dịch, nó tiết


kiệm một khối lượng lớn công việc tính toán và sửa đổi thủ công sau mỗi lần cải tiến ứng dụng. Hầu hết các
trình hợp dịch đều hỗ trợ macro nhằm giúp cho việc thay thế một nhóm lệnh bằng một định danh ngắn gọn.
Trong quá trình dịch, nhóm lệnh tương ứng sẽ được chèn trực tiếp vào vị trí macro thay vì một lời gọi hàm
(subroutine). Các trình hợp dịch nói chung dễ tạo hơn so với các chương trình dịch cho ngôn ngữ cấp cao”
Ví dụ: * Ta cộng giá trị trong hai thanh AX và BX bằng một lệnh của hợp ngữ như sau:
ADD AX, BX
* Bộ vi xử lý x86/IA-32 có thể thực hiện được chỉ thị nhị phân sau:
10110000 01100001 (thập lục phân: 0xb061)
bằng một hợp ngữ dễ nhớ hơn: mov al, 061h
_Nhược điểm: thuận lợi hơn cho các nhà lập trình chuyên nghiệp nhưng chưa thật sự thích hợp với đông đảo
người lập trình
III)Ngôn ngữ bậc cao:
_Từ đầu những thập kỷ năm mươi của thế kỷ XX, người ta đã xây dựng những ngôn ngữ lập trình bậc cao
_Đặc điểm: câu lệnh được viết với ngôn ngữ tự nhiên hơn, có tính độc lập cao, ít phụ thuộc vào các loại máy
cụ thể.
_Giống như hợp ngữ, mỗi ngôn ngữ lập trình bậc cao đều cần một chương trình dịch để dịch những chương
trình viết bằng ngôn ngữ này sang ngôn ngữ này sang ngôn ngữ máy
Lịch sử phát triển các ngôn ngữ lập trình bậc cao:
• FORTRAN (FORmula TRANslator) (1954, bởi công ty IBM)
“Fortran (hay FORTRAN) là một ngôn ngữ
lập trình biên dịch, tĩnh, kiểu mệnh lệnh được
phát triển từ thập niên 1950 và vẫn được dùng
nhiều trong tính toán khoa học hay phương pháp
số cho đến hơn nửa thế kỷ sau đó. Tên gọi này
ghép lại từ tiếng Anh Formula
Translator/Translation nghĩa là dịch công thức.
Các phiên bản đầu có tên chính thức là
FORTRAN, nhưng chữ hoa được chuyển sang
chữ thường từ phiên bản Fortran 90. Tiêu chuẩn
quốc tế cho tên gọi này ngày nay là "Fortran”

_ Một số phiên bản tiêu biểu: Fortran IV,
Fortran 77, Fortran 90, Fortran 95, Fortran
2003.
_ Một số lệnh trong FORTRAN: lệnh gán,
lệnh gọi chương trình con (có các cấu trúc rẽ nhánh hoặc lặp)
Ví dụ: Chương trình “Chào thế giới”
• COBOL (Common Business-Oriented Language) (1959)
_COBOL là một ngôn ngữ lập trình thế hệ thứ ba và là một trong những ngôn ngữ lập trình lâu nhất còn được
sử dụng (từ thập niên 1960).
_Ưu điểm của ngôn ngữ lập trình COBOL:
• COBOL có rất nhiều chức năng để xử lý tập tin, nhất là theo cách xử lý hàng loạt (batch processing).
Không có ngôn ngữ nào có chức năng này ngoài COBOL
• COBOL rất dễ viết, dễ đọc lại để sửa hoặc viết thêm vào (rất quan trọng đối với thế giới chuyên
nghiệp vì người viết chương trình rất có thể đã rời công ty 20, 30 năm sau, mà chương trình vẫn tiếp
tục chạy)
_ Hiện tại Cobol là ngôn ngữ chạy nhiều nhất trên các máy vi tính Mainframe, hằng ngày, hàng triệu dòng
Cobol được viết trong những chương trình "Business".
_ Năm 2006, công ty nghiên cứu thị trường công nghệ thông tin, Gartner, ra thông báo rằng hiện tại 60% các
chương trình chuyên nghiệp được viết hằng ngày được viết bởi ngôn ngữ COBOL..
Ngôn ngữ lập trình FORTRAN
(FORmula TRANslator) của hãng
IBM vào năm 1954 với cha đẻ của
nó: Mr. John Backus
1. program chaothegioi
2.
3. print*,"Chao The Gioi!"
4.
5. end program chaothegioi
6.
Rear Admiral Grace Murray Hopper – người được coi là

mẹ đẻ của ngôn ngữ lập trình COBOL. Bà sinh ngày
9/9/1906 và mất ngày 1/1/1992 (thọ 82 tuổi)
• Algol 60 (ALGOrithmic Language 1960) và BASIC ( Beginner’s All-purpose Symbolic Instruction
Code) (1965)
Các câu lệnh trên được viết bằng chương trình Algol 60 Ngôn ngữ lập trình của chương trình BASIC
_ Đặc biệt, phần mềm OpenOffice , một bộ ứng dụng văn phòng cạnh tranh với MS Office cũng được viết
trên nền BASIC. Chúng ta biết ngôn ngữ BASIC qua những cái tên rất quen thuộc như VisualBasic, MSX
Basic.. ngôn ngữ BASIC được viết chủ yếu dựa trên nền FORTRAN II và một phần của Algol 60.

• PASCAL (9/1968)
_ 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.
procedure Absmax(a) Size:(n, m) Result:(y)
Subscripts:(i, k);
value n, m; array a; integer n, m, i, k;
real y;
comment The absolute greatest element of the
matrix a, of size n by m
is transferred to y, and the subscripts of
this element to i and k;
begin integer p, q;
y := 0; i := k := 1;
for p:=1 step 1 until n do
for q:=1 step 1 until m do
if abs(a[p, q]) > y then
begin y := abs(a[p, q]);
i := p; k := q
end
end Absmax
10 INPUT "What is your name: ", U$

20 PRINT "Hello "; U$
30 INPUT "How many stars do you
want: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars?
", A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN
GOTO 30
130 PRINT "Goodbye "; U$
140 END
Hai cha đẻ của ngôn ngữ
lập trình BASIC:
_ Mr. John Kemeny
_ Mr. Thomas Kurtz
_Mọi chương trình Pascal bắt đầu bằng từ khóa Program, cùng với một danh sách tùy chọn các phần mô tả
các tập tin ngoài và sau đó là một khối các dòng lệnh nằm giữa các từ khóa Begin và End.
_Pascal, nguyên thể đơn thuần là ngôn ngữ lập trình thủ tục với một loạt các từ khóa chuẩn if, while, for, và
các thành phần khác.
_Pascal có các kiểu đơn như integer (số nguyên), character (ký tự), boolean (logic), v.v. và enumerations (liệt
kê), là kiểu mới được đưa vào Pascal sau này.
• C++ và Java
_C++ là một loại ngôn ngữ lập trình. Đây là một dạng ngôn ngữ đa mẫu hình tự do có kiểu tĩnh và hỗ trợ lập
trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. Từ thập niên 1990, C++ đã
trở thành một trong những ngôn ngữ thương mại phổ biến nhất.

_Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình
thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết
kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime
environment) chạy. Bằng cách này, Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác
như Python, Perl, PHP,...
Nikalus Wirth – cha đẻ của
ngôn ngữ lập trình Pascal
1. program
ChaoThegioi(output);
2.
3.
4.
5. begin
6.
7. writeln('Chao The
gioi!');
8.
9. end.
10.
Một đoạn mã viết bằng ngôn
ngữ PASCAL
Hai nhà sáng lập ra C++ và
Java , hai loại ngôn ngữ lập
trình thông dụng nhất hiện
nay:
_ Mr. Bjarne Stroustrup
_ Mr. James Gosling

×